搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

Qiskit/qiskit

机器学习

用于构建、转译和模拟量子线路的 Python/C SDK,面向量子计算研究与教学。

7,965
3,125
Python
Apache-2.0
创建于 9 年前

项目介绍

Qiskit 是量子计算的核心 SDK,工作对象是扩展量子线路、算符和原语。它提供构造量子线路、定义可观测量、运行 Sampler 或 Estimator 流程的基础组件;转译器可按目标设备的基门和量子比特连接关系重写线路;量子信息工具箱用于构造和操作更复杂的算符。主要接口是 Python API,C API 则把 Rust 内部数据模型暴露为共享库,或用于编写 Python 扩展模块。适合量子计算研究者、学生和开发者编写与模拟量子程序。

安装

Python 包可直接用 pip 安装:

pip install qiskit

pip 会自动处理依赖并安装最新版本。从源码安装可参考官方源码安装指南。独立 C 库目前只能从源码构建,需要 Rust 编译器和 GNU Make,执行 make c 后会在 dist/c 下生成共享库和头文件;具体见 C API 安装指南。

第一个线路与 Sampler、Estimator

先构造线路,加上测量,再用状态向量 Sampler 采样:

import numpy as np
from qiskit import QuantumCircuit

qc = QuantumCircuit(3)
qc.h(0)
qc.p(np.pi / 2, 0)
qc.cx(0, 1)
qc.cx(0, 2)

qc_measured = qc.measure_all(inplace=False)
from qiskit.primitives import StatevectorSampler
sampler = StatevectorSampler()
result = sampler.run([qc_measured], shots=1000).result()
print(result[0].data['meas'].get_counts())

若要估计期望值,则不要加测量,把 SparsePauliOp 传给 StatevectorEstimator:

from qiskit.quantum_info import SparsePauliOp
from qiskit.primitives import StatevectorEstimator
operator = SparsePauliOp.from_list([("XXY", 1), ("XYX", 1), ("YXX", 1), ("YYY", -1)])
estimator = StatevectorEstimator()
result = estimator.run([(qc, operator)], precision=1e-3).result()
print(result[0].data.evs)

状态向量原语是本地模拟器,适合小线路和测试,无法扩展到经典计算机难以模拟的规模。若要把线路映射到硬件,需要定义带基门和耦合图的 Target,再调用 transpile;README 中给出了映射到 ["cz", "sx", "rz"] 和线性链路的示例。

在真实硬件上运行

Qiskit 通过 BaseSamplerV2 和 BaseEstimatorV2 定义运行时接口。IBM 设备有 qiskit-ibm-runtime;其他厂商通过 BackendV2 提供后端,包括 IonQ、AQT、Braket、Quantinuum 和 Rigetti 等社区或厂商包。访问方式、凭据和预处理细节因供应商而异,需要查看各自文档。

使用约束与许可证

仅使用 Python 包时只需 pip 安装;C API 需要从源码构建并具备 Rust 工具链。基于模拟器的原语只适合经典可模拟的线路规模。使用真实硬件需要安装对应供应商包、拥有账号并具备后端访问权限。项目采用 Apache-2.0 许可证。每个 GitHub 版本会动态生成变更日志,详细发布说明另行发布。

HotRepo 点评

Qiskit 在 2026-11-12 的 Python 日榜上以第 15 名出现,当天新增 3 颗 Star;2025-11-26 的 Hacker News 讨论获得 43 分和少量评论。讨论中有人推荐用它探索量子思想实验和学习量子物理,也有人提到通过社区 provider 连接非 IBM 硬件,同时指出不同厂商的 provider 质量参差。该仓库是长期维护的核心 SDK,价值主要在量子线路层和供应商抽象层,而不只在本地模拟器。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

Hacker News 讨论

Qiskit open-source SDK for working with quantum computers
▲ 43 · 3 条评论 · 2025年11月26日