qiskit
IBM量子计算框架。当面向IBM Quantum硬件时使用;或在生产负载中使用Qiskit Runtime;或需要IBM优化工具时使用。最适合用于IBM硬件执行、量子误差缓解以及企业级量子计算。针对Google硬件使用cirq;进行基于梯度的量子机器学习使用pennylane;用于开放量子系统仿真使用qutip。
Qiskit - IBM 开源量子计算框架
技能概述
Qiskit 是世界上最流行的开源量子计算框架(下载量超过 1300 万次),提供从量子电路构建、硬件优化到模拟器或真实量子计算机执行的完整开发工具链,支持 IBM Quantum、IonQ、Amazon Braket 等多种后端,适用于从量子编程入门到企业级量子应用部署的全流程开发。
适用场景
1. IBM Quantum 硬件执行
当您的项目需要在 IBM Quantum 100+ 比特系统上运行量子算法时,Qiskit 提供了最成熟的硬件集成方案。通过 Qiskit Runtime primitives(Sampler 和 Estimator),您可以高效执行量子电路、计算期望值,并应用先进的错误缓解策略。支持 Session 模式用于迭代算法(如 VQE、QAOA),以及 Batch 模式用于并行作业处理,充分利用 IBM Quantum 的硬件资源。
2. 企业级量子应用开发
Qiskit Runtime 专为生产工作负载设计,提供 83x 更快的 transpilation 性能和 29% 更少的双量子比特门优化。框架内置全面的算法库(Qiskit Optimization、Qiskit Nature、Qiskit ML),支持量子优化、量子化学和量子机器学习等企业应用场景。backend-agnostic 架构让您可以在本地模拟器验证后无缝切换到云端硬件,加速开发迭代周期。
3. 量子算法研究与实现
针对科研人员和算法开发者,Qiskit 提供从基础量子门操作到高级量子算法的完整工具集。支持参数化电路用于变分量子算法(VQE、QAOA),提供量子化学哈密顿量构建、量子核方法、量子神经网络等前沿研究工具。内置可视化工具(Bloch sphere、state city)帮助分析和调试量子态,配套详细的教程和 API 文档降低学习曲线。
核心功能
1. 量子电路构建与优化
Qiskit 提供 QuantumCircuit API 用于构建量子电路,支持单量子比特门(H、X、Y、Z、旋转门、相位门)和多量子比特门(CNOT、SWAP、Toffoli)。通过 transpile() 函数和 6 个优化阶段,将高级电路转换为硬件原生指令,优化级别 0-3 可调。先进的优化特性包括虚拟排列消除、门取消等,在保持电路功能的同时显著减少门操作数量,提高硬件执行保真度。
2. 原语接口(Sampler 和 Estimator)
Qiskit V2 原语(StatevectorSampler、StatevectorEstimator)提供统一的量子程序执行接口。Sampler 用于获取比特串测量结果和概率分布(适用于优化算法),Estimator 用于计算可观测量的期望值(适用于化学和物理计算)。支持参数绑定、Session 模式和 Batch 模式,在本地模拟器和 IBM Quantum 硬件间保持一致的 API,简化代码迁移。
3. 多后端支持与可视化
Qiskit 支持 backend-agnostic 执行模型,可在本地模拟器(StatevectorSampler、Aer)和云端硬件(IBM Quantum、IonQ、Amazon Braket)之间无缝切换。内置丰富的可视化工具:电路图(text、matplotlib、LaTeX 格式)、结果直方图、量子态可视化(Bloch sphere、state city、QSphere),以及后端拓扑和错误映射图。支持自定义样式和保存出版级图形,便于论文发表和结果展示。
常见问题
Qiskit 是什么?适合谁使用?
Qiskit 是 IBM 开发的开源量子计算框架,适合量子编程初学者、科研人员和企业开发者。对于初学者,它提供详细的教程和本地模拟器,无需硬件即可学习量子编程。科研人员可以使用其算法库进行量子优化、量子化学和量子机器学习研究。企业开发者可以通过 Qiskit Runtime 在 IBM Quantum 硬件上部署生产级量子应用。
如何在 IBM Quantum 上运行 Qiskit 程序?
首先注册 IBM Quantum 账户并获取 API token,使用 QiskitRuntimeService 进行身份验证。通过 service.backend() 选择后端(如 "ibm_brisbane"),使用 transpile() 优化电路,然后用 SamplerV2 或 EstimatorV2 执行。支持 Session 模式(适合迭代算法)和 Batch 模式(适合并行作业),并提供作业队列管理和错误缓解策略。
Qiskit Runtime 和传统 Qiskit 有什么区别?
Qiskit Runtime 是云原子的执行环境,提供优化的 primitives(Sampler、Estimator)和预编译的量子程序,相比传统 Qiskit 实现 83x 更快的 transpilation 速度。Runtime 支持Sessions(保持量子上下文用于多次交互)和错误缓解功能(resilience_level),专为生产工作负载设计。传统 Qiskit 更适合学习和本地模拟,而 Qiskit Runtime 专注于硬件执行性能和企业级应用。
Qiskit 免费吗?如何开始使用?
Qiskit 是开源的 Apache-2.0 许可证项目,核心框架完全免费。通过 uv pip install qiskit 或 uv pip install "qiskit[visualization]" matplotlib 安装。本地模拟器功能无需注册即可使用,IBM Quantum 云端提供免费试用额度。建议从官方文档的 Quick Start 开始,使用 StatevectorSampler 在本地运行第一个 Bell 态电路,然后逐步学习电路构建、transpilation 和硬件执行。