Qiskit 2.x 高阶算法与应用包实战指南:VQE、QAOA、Grover、量子化学与 Addons 全解析

发布时间:2026/9/12 8:06:30
Qiskit 2.x 高阶算法与应用包实战指南:VQE、QAOA、Grover、量子化学与 Addons 全解析 Qiskit 2.x 高阶算法与应用包实战指南VQE、QAOA、Grover、量子化学与 Addons 全解析【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills导读本指南基于本仓库 Qiskit 技能包 的算法参考文档系统梳理 Qiskit 2.x 核心发行版与qiskit-algorithms、qiskit-nature、qiskit-machine-learning、qiskit-optimization及五大 Addon 应用包的边界、版本矩阵与安装方式。你将掌握在 Qiskit 2.5 环境中用 V2 Primitives 落地 VQE、QAOA、Grover、量子相位估计、量子核方法等算法的完整可运行代码学会判断手写电路与使用应用包的取舍并获得一套防止把模拟结果错当硬件结论的算法审查清单。一、生态全景核心发行版与应用包的分工Qiskit 2.x 的核心qiskit发行版只负责量子计算的基础设施电路circuits、算子operators、PrimitiveSampler / Estimator、合成synthesis、转译transpilation与量子信息工具quantum information。高阶算法与领域应用则全部托管在独立发行包中——这是本仓库 algorithms.md 反复强调的核心边界变分量子特征求解器VQE、QAOA、Grover、相位估计等通用算法→qiskit-algorithms电子结构、二次量子化、算符映射等化学/物理领域问题→qiskit-natureqiskit-nature-pyscf驱动量子核、量子神经网络、Torch 连接等机器学习→qiskit-machine-learning二次规划、组合优化包装器 →qiskit-optimization电路切割、量子对角化等模块化算法构件→ 五个qiskit-addon-*包这一点也可以从仓库配套脚本中得到印证scripts/check_environment.py 中维护了一张与本文档一致的VERIFIED_VERSIONS基线表并额外指出一个关键陷阱不要安装qiskit-terra——它已被qiskit发行版取代混装两者会造成命名空间污染脚本会将其视为不可恢复的错误。已验证包矩阵2026-07-23 校验下表来自 algorithms.md所有版本均在该日期基于 PyPI 与官方文档验证通过版本来源详见 sources.mdPackageVersionPrimary roleqiskit-algorithms0.4.0VQE, QAOA, Grover, phase estimation, eigensolvers, optimizersqiskit-nature0.8.0Electronic structure, second quantization, mappersqiskit-nature-pyscf0.4.0PySCF electronic-structure driver integrationqiskit-machine-learning0.9.0Kernels, QNNs, classifiers/regressors, Torch connectorqiskit-optimization0.7.0Quadratic programs, converters, quantum optimization wrappersqiskit-addon-cutting0.10.0Circuit and operator cuttingqiskit-addon-sqd0.12.1Sample-based quantum diagonalizationqiskit-addon-obp0.3.0Operator backpropagationqiskit-addon-mpf0.3.0Multi-product formulasqiskit-addon-aqc-tensor0.3.1Approximate quantum compilation with tensor networks精确锁定版本安装应用包与核心 Qiskit 的兼容窗口各不相同官方文档建议在全新环境中按需精确安装。核心算法 优化组合uv pip install \ qiskit2.5.0 \ qiskit-algorithms0.4.0 \ qiskit-optimization0.7.0化学计算组合uv pip install \ qiskit2.5.0 \ qiskit-algorithms0.4.0 \ qiskit-nature0.8.0 \ qiskit-nature-pyscf0.4.0要点各应用包需一并解析安装resolve together因为它们的 Qiskit 兼容窗口可能存在差异不要只锁核心包而放任应用包自行浮动。安装后可用仓库脚本核验环境python skills/qiskit/scripts/check_environment.py --json该脚本会逐一比对已安装版本与验证基线报告版本漂移、导入失败与核心 API 冒烟测试结果详见 check_environment.py。二、决策标准何时手写电路何时使用应用包在引入任何一个高层算法包之前先回答要不要引入依赖的问题。文档给出明确的分界手写电路manual circuit适用场景教学演示或检查一个小规模算法测试一种新的电路构造方式需要完全掌控每一个 Primitive PUB 与编译步骤希望避免引入应用包依赖。使用应用包适用场景应用包提供了经过测试的问题变换problem transformations其结果对象与领域相关的后处理domain post-processing有价值当前实现接受 V2 Primitive该版本的发布兼容你已安装的 Qiskit 版本。硬性警告不要直接照抄 1.0 之前的算法教程——先检查构造函数签名与 Primitive 要求。这条规则在仓库 migration.md 中有更系统的体现旧的quantum_instance构造参数、字符串形式的optimizerCOBYLA均已被移除或弃用必须替换为 V2 Primitive 对象与优化器实例。三、VQE with Qiskit Algorithms 0.4从本地验证到硬件执行变分量子特征求解器VQE是本仓库验证过的核心算法示例。它使用 V2 的StatevectorEstimator配合efficient_su2硬件高效 ansatz 与SLSQP优化器from qiskit.circuit.library import efficient_su2 from qiskit.primitives import StatevectorEstimator from qiskit.quantum_info import SparsePauliOp from qiskit_algorithms import VQE from qiskit_algorithms.optimizers import SLSQP hamiltonian SparsePauliOp.from_list( [ (ZI, 1.0), (IZ, 1.0), (XX, 0.2), ] ) ansatz efficient_su2( num_qubits2, reps1, entanglementlinear, ) vqe VQE( estimatorStatevectorEstimator(), ansatzansatz, optimizerSLSQP(maxiter100), initial_point[0.0] * ansatz.num_parameters, ) result vqe.compute_minimum_eigenvalue(hamiltonian) print(float(result.eigenvalue.real))从源码看这套代码为何成立SparsePauliOp.from_list的标签采用little-endian 约定标签最右侧字符作用于 qubit 0见 primitives.md因此ZI、IZ、XX天然适配 2 比特 ansatzefficient_su2(num_qubits, reps, entanglement)是函数式构造函数取代了旧的 blueprint 类文档与 migration.md 均提示函数构造函数在可变性mutability与构造时机上和旧 blueprint 类不同迁移后必须重测参数顺序V2VQE的estimator槽位接收的是明确实现的 Estimator本地StatevectorEstimator或 RuntimeEstimatorV2不再有隐式的QuantumInstance。仓库的 run_local_primitives.py 给出了一个可独立运行的同类验证流程它用ry(theta)cx构造参数化电路令StatevectorEstimator计算1.0*ZI 0.5*XX并与解析解cos(theta) 0.5*sin(theta)比对对应测试 tests/qiskit/test_scripts.py 断言了四种角度下期望值与解析解的绝对误差小于1e-9同时在thetapi/2时采样结果严格只有00/11Bell 态。这套先有解析基准、再上噪声/硬件的方法论正是本文第五、十节审查清单的工程化体现。上硬件时的四条纪律使用 RuntimeEstimatorV2提供转译器适配器transpiler adapter或显式管理参数化的 ISA 电路限制优化器迭代次数与请求精度precision保存每个 Job ID 与收敛记录。最重要的性能教训不要在每次代价函数调用中把新绑定的电路从头转译一遍。正确做法是参数化电路只编译一次之后在 PUB 里传参数数组。仓库 patterns.md 的 Pattern 4 展示了完整形态——先用generate_preset_pass_manager对efficient_su2ansatz 做一次编译得到isa_ansatz再用hamiltonian.apply_layout(isa_ansatz.layout)映射可观测量最后在Session或 job 模式中反复estimator.run([(isa_ansatz, isa_hamiltonian, [parameters])], precision0.03)。四、QAOA 与 Qiskit Optimization组合优化落地QAOA量子近似优化算法在 Qiskit 中通过qiskit-algorithms的QAOA类 qiskit-optimization的QuadraticProgram/MinimumEigenOptimizer组合使用。QAOA 的 V2 构造函数接收Sampler而不是 Estimatorfrom qiskit.primitives import StatevectorSampler from qiskit_algorithms import QAOA from qiskit_algorithms.optimizers import COBYLA from qiskit_optimization import QuadraticProgram from qiskit_optimization.algorithms import MinimumEigenOptimizer problem QuadraticProgram(binary_demo) problem.binary_var(x) problem.binary_var(y) problem.maximize( linear{x: 1, y: 1}, quadratic{(x, y): -2}, ) qaoa QAOA( samplerStatevectorSampler(seed5), optimizerCOBYLA(maxiter100), reps1, ) solver MinimumEigenOptimizer(qaoa) result solver.solve(problem) print(result.x, result.fval, result.status)参数纪律optimizer必须传优化器对象如COBYLA(maxiter100)不要用旧式的字符串参数optimizerCOBYLA除非具体包文档明确声明支持该写法。声明量子结果前的五项核查这是组合优化类工作的事故高发区对小规模实例与经典求解器结果对比核对变量到比特串bitstring的排序约定报告解的可行性feasibility与目标函数值区分优化器的随机性与量子采样的随机性量化总电路求值次数与 shot 开销。五、Grover 与量子相位估计Sampler 即插即用Qiskit Algorithms 0.4 的构造函数直接接受 V2 Sampler 实现Grover与PhaseEstimation用法一致from qiskit.primitives import StatevectorSampler from qiskit_algorithms import Grover, PhaseEstimation sampler StatevectorSampler(seed5) grover Grover(samplersampler) phase_estimation PhaseEstimation( num_evaluation_qubits4, samplersampler, )旧的quantum_instance参数已过时仓库 migration.md 的Migrate Qiskit Algorithms一节给出了同构的PhaseEstimation(num_evaluation_qubits4, samplerStatevectorSampler(seed41))迁移写法。在自定义相位估计电路中应使用门级实现QFTGate而非蓝图类QFTfrom qiskit import QuantumCircuit from qiskit.circuit.library import QFTGate inverse_qft QFTGate(4).inverse() circuit QuantumCircuit(4) circuit.append(inverse_qft, range(4))弃用提醒QFT蓝图类自 Qiskit 2.1 起弃用计划在Qiskit 3.0移除见 migration.md 的 blueprint 迁移章节当前推荐QFTGate(...)或synth_qft_full(...)。六、Qiskit Nature从分子哈密顿量到量子比特哈密顿量Qiskit Nature 的职责是把领域问题转换为二次量子化算子再映射为量子比特算子。下面的已验证示例演示完整链路PySCF 驱动 → 费米子哈密顿量 → Jordan-Wigner 映射 → 量子比特哈密顿量from qiskit_nature.second_q.drivers import PySCFDriver from qiskit_nature.second_q.mappers import JordanWignerMapper driver PySCFDriver( atomH 0 0 0; H 0 0 0.735, basissto3g, charge0, spin0, ) problem driver.run() fermionic_hamiltonian problem.hamiltonian.second_q_op() mapper JordanWignerMapper() qubit_hamiltonian mapper.map(fermionic_hamiltonian) print(problem.num_spatial_orbitals) print(problem.num_particles) print(qubit_hamiltonian.num_qubits)经典预处理的记录义务PySCF 计算属于经典预处理必须完整记录以支持复现几何构型与单位geometry and units基组basis set电荷与自旋charge and spin活性空间或冻结芯选择active-space or freeze-core choices映射器与对称性约减mapper and symmetry reductions核排斥能nuclear repulsion energy包版本package versions。两个易错点不要重复添加核排斥能项——优先使用 Qiskit Nature 的结果解释器result interpreters获得完整的能量报告QubitConverter已废弃直接使用 mapper 类如JordanWignerMapper()这是 migration.md 中明确给出的现行模式。七、Qiskit Machine Learning 0.9量子核方法实战Qiskit Machine Learning 提供量子核kernels、量子神经网络QNNs、可训练模型与 PyTorch 集成。下面的核方法示例使用了从qiskit_algorithms迁移到 Machine Learning 包的 APIimport numpy as np from qiskit.circuit.library import zz_feature_map from qiskit.primitives import StatevectorSampler from qiskit_machine_learning.kernels import FidelityQuantumKernel from qiskit_machine_learning.state_fidelities import ComputeUncompute feature_map zz_feature_map( feature_dimension2, reps1, entanglementfull, ) sampler StatevectorSampler(seed5) fidelity ComputeUncompute(samplersampler) kernel FidelityQuantumKernel( fidelityfidelity, feature_mapfeature_map, ) x np.array([[0.1, 0.2], [0.3, 0.4]]) kernel_matrix kernel.evaluate(x)导入路径迁移自 Qiskit Machine Learning 0.8 起相关的梯度gradients、优化器optimizers、态保真度state fidelities与工具函数已从qiskit_algorithms移入qiskit_machine_learning例如from qiskit_machine_learning.optimizers import COBYLA、from qiskit_machine_learning.utils import algorithm_globals见 migration.md。适配旧导入前务必查阅其 0.8 迁移指南。评估纪律使用留出测试集held-out test set与匹配的经典核/模型对比不要在作为证据展示的演示代码中用随机生成的标签计入核矩阵 (O(n^2)) 次求值开销严格区分模拟结果与硬件结果。八、Qiskit Addons按工作流阶段挑选算法构件Addons 是一组模块化算法构件对齐 Qiskit 工作流的各个阶段Map → Optimize → Execute → Analyze。它们独立发版、独立发布说明、各有独立的适用假设AddonTypical stageUseCircuit cuttingOptimize / execute / reconstructSplit large circuits or observables and reconstruct estimatesOperator backpropagation (OBP)OptimizeMove selected circuit operations into observablesMulti-product formulas (MPF)Map / optimizeApproximate time evolution using formula combinationsAQC-TensorMap / optimizeApproximate target circuits with tensor-network-assisted compilationSample-based quantum diagonalization (SQD)AnalyzeCombine QPU samples with classical subspace diagonalization安装示例uv pip install qiskit-addon-cutting0.10.0 uv pip install qiskit-addon-sqd0.12.1 uv pip install qiskit-addon-obp0.3.0 uv pip install qiskit-addon-mpf0.3.0 uv pip install qiskit-addon-aqc-tensor0.3.1使用规范每个 addon 都有独立的 release notes 与假设条件动手前先读其教程并在经典可计算的实例上验证validate against a classically tractable instance——这条原则与全文反复出现的可验证基线方法论一脉相承。九、直接用 quantum_info很多任务不需要算法包大量验证性任务完全不需要高层算法包直接使用量子信息工具即可from qiskit.quantum_info import DensityMatrix, Operator, Statevector state Statevector.from_instruction(circuit) operator Operator(circuit) density_matrix DensityMatrix(state)qiskit.quantum_info适用于理想态/算子分析ideal state/operator analysis保真度与距离度量fidelity and distance metrics部分迹与熵partial traces and entropiesPauli 与 Clifford 代数信道表示channel representations小系统验证small-system validation。资源警告稠密态矢与算子的内存随量子比特数指数增长构造前务必确认维度例如Statevector对 30 比特就需要 8 GiB 量级的内存。这也是 patterns.md 中先本地理想基线 → 再噪声模拟 → 最后硬件三阶梯评估的前提。十、算法审查清单发表结论前的十道关卡无论使用哪个算法包在把结果写进报告或论文前逐项过一遍 algorithms.md 给出的清单声称的加速是渐近的asymptotic、启发式的heuristic还是实验验证的empirically demonstrated态制备或读出state preparation / readout是否主导了声称的优势在测试规模下实例能否被经典验证classically verifiable包版本与 Primitive 版本是否兼容实现是否使用 V2 Primitive参数化电路是否为选定目标只编译一次可观测量布局与比特顺序observable layouts and bit order是否正确处理是否报告了优化器求值次数、精度、shots、缓解mitigation与总 QPU 用量每个结果是否明确标注为理想模拟、噪声模拟或硬件结果是否包含经典基线与不确定性这套清单与仓库中其他参考文档互为印证primitives.md 给出了每个结果必存 job ID、包版本、后端名、seed、precision/shots 与全部非默认 options的结果处理清单patterns.md 提供了完整的实验清单experiment manifest模板与付费执行前的 9 步预检。将三者组合使用即可在 SKILL.md 定义的 Map → Optimize → Execute → Analyze 四阶段工作流中产出可复现、可审计、结论可信的 Qiskit 2.x 算法实验。延伸阅读均为本仓库内的配套参考可按需取用V2 Primitive 与 PUB 完整规范Sampler/Estimator PUB 结构、precision 与 shots 语义、Runtime options旧版 API 迁移对照表quantum_instance、QFT、QubitConverter、字符串优化器等全部废弃模式的现行替代端到端工作流模式参数扫描单次编译、变分循环、批处理、缓解 A/B 测试环境检查脚本 与 本地 Primitive 脚本可直接运行验证配套测试以解析解与 Bell 态分布作为基准的自动化验证证据。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询