UnifiedQuantum
English | 中文版
UnifiedQuantum — 非商业性量子计算聚合框架。
UnifiedQuantum 是一个轻量级 Python 框架,为量子线路构建、模拟和云端执行提供统一接口,聚合 OriginQ、QuarkStudio、IBM Quantum、天衍(tianyan)、逻辑比特(logicalqubit)等多平台后端于一套一致的 API 下。
除了核心的线路构建和执行能力,UnifiedQuantum 还提供完整的本地芯片校准与量子错误缓解(QEM)工具链:
- XEB 交叉熵基准测试:
uniqc calibrate xeb测量每层门保真度,支持单比特、双比特和并行 2q 模式 - 读出误差校准 + M3 缓解:混淆矩阵标定与线性求逆修正
- 本地含噪模拟:通过
dummy:<platform>:<backend>复用真实芯片的拓扑和校准数据,先 compile/transpile,再在本地重现硬件噪声特性 - DSatur 并行调度:自动将 2q 门分配到最小并行轮次
所有校准结果写入 ~/.uniqc/calibration_cache/,QEM 模块读取并强制 TTL 新鲜度策略。
核心工作流
UnifiedQuantum 围绕一个简洁的工作流设计:任意方式构建线路 → uniqc CLI 统一执行。
1. 安装
# 推荐:通过 uv 安装 CLI 工具(全局可用,无需虚拟环境)
uv tool install unified-quantum
# 或从 PyPI 安装 Python 包(提供 Python API)
uv pip install unified-quantum
2. 构建线路(支持原生 API 或任意第三方工具)
from uniqc import Circuit
c = Circuit()
c.h(0)
c.cnot(0, 1)
c.measure(0)
c.measure(1)
# 输出 OriginIR 格式,可供 CLI 使用
open('circuit.ir', 'w').write(c.originir)
你也可以使用 Qiskit、Cirq 等工具构建线路,只需最终输出 OriginIR 或 OpenQASM 2.0 格式。
3. CLI 统一执行
# 本地模拟
uniqc simulate circuit.ir --shots 1000
# 提交到云端
uniqc submit circuit.ir --backend originq:WK_C180 --shots 1000
# dummy backend 编号规则
uniqc submit circuit.ir --backend dummy:local:simulator --shots 1000
uniqc submit circuit.ir --backend dummy:local:virtual-line-3 --shots 1000
uniqc submit circuit.ir --backend dummy:originq:WK_C180 --shots 1000
uniqc submit circuit.ir --backend dummy:virtual:<name> --shots 1000
# 查询任务结果
uniqc result <task_id>
dummy 表示无约束、无噪声本地虚拟机;dummy:local:virtual-line-N / dummy:local:virtual-grid-RxC 表示带虚拟拓扑约束的无噪声本地 backend;dummy:<platform>:<backend> 表示先按真实 backend compile/transpile,再用真实芯片标定数据在本地含噪执行;dummy:virtual:<name> 使用 ~/.uniqc/backend/virtual/<name>.yaml 中的自定义拓扑与噪声模型。
设计理念
UnifiedQuantum 是一个非商业性的开源项目,致力于打造 AI 时代原生的量子计算应用框架:
- AI 原生:专为 AI 工作流设计,无缝集成到现代开发与推理流程中
- CLI-first:开箱即用的命令行工具,一条命令完成线路构建、模拟、提交与结果分析
- 聚合:整合多种量子云平台(OriginQ、QuarkStudio、IBM Quantum、天衍、逻辑比特),提供统一接口
- 统一:一致的 API 设计,屏蔽各平台差异
- 透明:清晰的量子程序组装与执行方式,无隐藏行为
- 轻量:纯 Python 实现,安装简单,集成方便
配套 Skill:在 IAI-USTC-Quantum/quantum-computing.skill 中获取 Claude Code 集成指南与 AI 辅助量子编程工作流。
Features
- 多平台提交:一个
submit_task(或uniqc submit)即可将同一份线路发往 OriginQ、QuarkStudio、IBM Quantum、天衍、逻辑比特,或本地 dummy 模拟器。支持自动检测输入格式:Circuit对象、OriginIR 字符串、QASM 字符串、qiskit.QuantumCircuit。 - 格式互转:
Circuit.from_qasm()/Circuit.from_originir()导入,circuit.to_qasm()/circuit.to_originir()导出。 - 本地模拟:自带 OriginIR Simulator、QASM Simulator,支持 statevector / density matrix 两种后端,以及带噪声的变体。
- 算法组件:内置 HEA、UCCSD、QAOA 等常用 ansatz,可直接用于 VQE / QAOA 研究。
- PyTorch 集成:提供
QuantumLayer、参数偏移梯度、批处理执行,便于构建混合量子—经典模型。 - 可互操作:线路既可用原生 API 构建,也可来自 Qiskit、Cirq 等第三方工具,只要最终产出 OriginIR 或 OpenQASM 2.0。
- 异步提交:
submit_task立即返回task_id;poll_result()非阻塞查询状态,get_result()或wait_for_result()阻塞等待完成。 - 易扩展:门集、错误模型、平台适配器都按接口组织,添加新后端只需实现一个 adapter。
Installation
Supported Platforms
- Windows / Linux:已测试并发布预编译 wheels
- macOS 及其他平台:可从源码构建,按 best-effort 提供支持
Requirements
- Python 3.10 – 3.14
从 PyPI 安装(推荐)
# 安装 CLI 工具(全局可用,无需虚拟环境)
uv tool install unified-quantum
# 安装 Python 包(提供 Python API,可与 uv tool 安装共存)
uv pip install unified-quantum
中国大陆用户推荐配置清华源,可大幅提升下载速度:
# 临时使用(仅本次) uv pip install unified-quantum --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ # 永久生效 uv pip install --python-preference managed --index-url https://pypi.tuna.tsinghua.edu.cn/simple/
从源码构建
如果你需要开发新版或安装开发版本:
git clone https://github.com/IAI-USTC-Quantum/UnifiedQuantum.git
cd UnifiedQuantum
# Maintainer / 全量开发环境:安装 dev、docs 和全部可选后端依赖,并按当前包索引升级解析
uv sync --all-extras --group dev --group docs --upgrade
# 运行完整测试套件
uv run pytest uniqc/test
# 包含真实云平台量子线路执行测试
uv run pytest uniqc/test --real-cloud-test
维护者环境不应把 qiskit、QuTiP、Sphinx 等当前维护的可选或文档模块缺失视为正常跳过条件。pyproject.toml 不钉住第三方依赖版本,主分支也不提交 uv.lock;全量开发和 CI 应按当前包索引解析最新可用依赖,及时暴露上游兼容性问题。
所有云平台测试默认跳过,包括读取后端、验证 token、查询 status/API 和真实量子线路提交。只有显式传入
--real-cloud-test(并配置对应凭证)才会执行它们。
C++ 模拟器已拆分为独立包
uniqc-cppsimulator:pip install unified-quantum会自动将其作为依赖安装(import 名仍为uniqc_cpp),源码构建不再需要 CMake / C++ 工具链。只有需要修改 C++ 内核本身时才需要克隆该仓库。
pip 备选方案
pip 不支持
uv tool install的 CLI 全局安装方式(无需虚拟环境即可全局调用uniqc命令)。如无特殊需求,推荐使用上面的uv安装方式。
# 从 PyPI 安装
pip install unified-quantum
# 从源码安装
pip install .
pip install -e .
可选依赖
核心依赖(包括 scipy)在默认安装中已包含。以下为可选功能依赖:
| 功能 | 安装命令(uv) | pip 备选 |
|---|---|---|
| OriginQ 云平台 | uv pip install unified-quantum[originq] |
pip install unified-quantum[originq] |
| QuarkStudio / Quark 云平台 (Python ≥ 3.12) | uv pip install unified-quantum[quark] |
pip install unified-quantum[quark] |
| 天衍云平台 | uv pip install unified-quantum[tianyan] |
pip install unified-quantum[tianyan] |
| 逻辑比特云平台 | uv pip install unified-quantum[logicalqubit] |
pip install unified-quantum[logicalqubit] |
| 高级模拟 (QuTiP) | uv pip install unified-quantum[simulation] |
pip install unified-quantum[simulation] |
| 可视化 | uv pip install unified-quantum[visualization] |
pip install unified-quantum[visualization] |
| PyTorch 集成 | uv pip install unified-quantum[pytorch] |
pip install unified-quantum[pytorch] |
| 安装所有可选依赖 | uv pip install unified-quantum[all] |
pip install unified-quantum[all] |
Qiskit 已是核心依赖(随
unified-quantum默认安装),无需单独的[qiskit]extra。
[pytorch] 同时安装 torch 与 PyPI 上维护的 torchquantum-ng
(导入名仍为 torchquantum):
uv pip install unified-quantum[pytorch]
不安装 [pytorch] 不会影响核心功能、QuTiP 模拟或云平台适配器。
CLI Quick Reference
# 查看帮助
uniqc --help
# 安装 AI 技能(AI Agent)
npx skills add IAI-USTC-Quantum/quantum-computing.skill --agent codex --skill '*'
npx skills add IAI-USTC-Quantum/quantum-computing.skill --agent claude-code --skill '*'
# 本地模拟
uniqc simulate circuit.ir --shots 1000
# 提交到云端(支持 originq / quark / ibm / tianyan / logicalqubit / dummy)
uniqc submit circuit.ir --backend originq:WK_C180 --shots 1000
# 查询任务结果
uniqc result <task_id>
# 线路转换/检查、任务管理与环境诊断
uniqc circuit circuit.ir --info
uniqc task list
uniqc doctor
# 启动 Web UI 网关
uniqc gateway start
# 配置云平台 Token
uniqc config init
uniqc config set originq.token YOUR_TOKEN
uniqc config set tianyan.login_key YOUR_LOGIN_KEY
uniqc config set logicalqubit.api_key YOUR_API_KEY
# 校准与 QEM 数据准备
uniqc calibrate readout --backend dummy --qubits 0 1 --shots 1000
uniqc calibrate xeb --backend dummy --type 1q --qubits 0 1 --depths 5 10
后端信息查询
# 列出所有可用后端(默认隐藏 unavailable/deprecated)
uniqc backend list
# 显示所有后端(包括 unavailable/deprecated)
uniqc backend list --all
# 显示带保真度信息的表格
uniqc backend list --info
# 查看单个后端详情(含保真度、相干时间、拓扑)
uniqc backend show originq:WK_C180
# 强制刷新后端缓存(update 始终全量拉取最新数据)
uniqc backend update
Examples
📁 examples/ — Runnable demonstrations
Getting Started
| Example | Description |
|---|---|
| 本地模拟 | 使用 Simulator 进行本地模拟(pmeasure 与 shots) |
| Dummy Server | Submit tasks to the local dummy simulator |
| Result Post-Processing | Convert and analyze results |
Algorithms
| Example | Description |
|---|---|
| Grover Search | Unstructured search with quadratic speedup |
| Quantum Phase Estimation | Eigenvalue phase estimation |
Documentation
Release Notes
关于我们
UnifiedQuantum 由 IAI-USTC-Quantum 团队开发和维护。
- 机构:合肥综合性国家科学中心人工智能研究院 · 量子人工智能团队
- GitHub 组织:github.com/IAI-USTC-Quantum
- 文档站点:iai-ustc-quantum.github.io
- 联系我们:chenzhaoyun@iai.ustc.edu.cn
欢迎提交 Issues、Pull Request,或通过邮件联系我们。如果您对量子计算研究感兴趣,欢迎加入我们。
Status
🚧 Actively developing. API may change.
v0.0.15 起:所有在
0.0.x中通过DeprecationWarning标记的公共 API 将在0.1.0中移除。升级前请运行pytest -W error::DeprecationWarning清理所有弃用警告。详见 弃用政策。
Metadata
Release files for unified-quantum 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unified_quantum-0.1.1.tar.gz | 6.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unified_quantum-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.6 MB
Release files / unified_quantum-0.1.1.tar.gz
| Download URL | unified_quantum-0.1.1.tar.gz |
|---|---|
| Size | 6.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0573c9c6f63e3570b9005c74e362cd5071a46598dfbf3db56f8afc71c2b8b6d4
|
|
BLAKE2b-256 checksum How to use checksums |
c061df3977fe5242a77a253a14aee726db5aac1791ab75af89275cca98ec5414
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Release files / unified_quantum-0.1.1-py3-none-any.whl
| Download URL | unified_quantum-0.1.1-py3-none-any.whl |
|---|---|
| Size | 930.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df0ee045ba5d97971ae9f99d3f70022d0358a201c42995ec45ad76d6d8d26a41
|
|
BLAKE2b-256 checksum How to use checksums |
dd97d9bab1e417dca361ec2870b98b4bb525d2777e175a88fc626c1852775af7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|