根目录 > examples
示例代码模块¶
DeepQuantum 框架的算法实现示例集合
最后更新: 2026-01-16
模块职责¶
提供 21 个完整的量子算法实现示例,涵盖:
- 核心量子算法 - QAOA、HHL、VQE、MBQC
- 量子机器学习 - 量子残差网络、函数拟合
- 光量子计算 - 高斯玻色采样及其应用
- 时域复用 - TDM 簇态制备
- 性能基准 - 与其他框架的对比测试
目录结构¶
examples/
├── qaoa.ipynb # QAOA 量子近似优化算法
├── hhl.ipynb # HHL 线性方程组求解
├── vqe_for_CRW.ipynb # VQE 求解 CRW 哈密顿量
├── qresnets.ipynb # 量子残差网络
├── quantum_state_transfer_1d.ipynb # 一维量子态传输
├── test_for_onchip_optimizer.ipynb # 片上优化器测试
├── basic_gate_MBQC.ipynb # MBQC 基本门操作
│
├── gbs/ # 高斯玻色采样系列 (12 个)
│ ├── boson_sampling/ # 基础玻色采样
│ ├── gaussian_boson_sampling/ # 高斯玻色采样
│ ├── gbs_clustering/ # GBS 聚类算法
│ ├── max_clique/ # 最大团问题
│ ├── dense_graph/ # 稠密子图
│ ├── similar_graph/ # 图相似性
│ ├── variational_gbs/ # 变分 GBS
│ ├── vibronic_spectra/ # 振动谱
│ ├── vibronic_excitations/ # 振动激发
│ ├── homodyne_tomography/ # 层析成像
│ └── vqe_ground_energy_for_H2_*/ # 水分子基态能量
│
├── tdm/ # 时域复用系列 (2 个)
│ ├── simple_cluster_state/ # 一维纠缠态制备
│ │ └── 一维纠缠态的制备.ipynb
│ └── advanced_cluster_state/ # 复杂纠缠态制备
│ └── 复杂纠缠态的制备.ipynb
│
├── bosonic/ # 玻色子态应用
│ └── breeding_cat/
│ └── bosonic_breeding.ipynb # 玻色子育猫态
│
└── benchmarks/ # 性能基准测试
└── benchmark_v420/
├── MBQC_simulate/ # MBQC 模拟性能
├── MBQC_transpile/ # MBQC 转换性能
├── gradient/ # 梯度计算对比
├── hessian/ # Hessian 计算对比
├── hafnian/ # Hafnian 函数对比
├── permanent/ # Permanent 函数对比
├── torontonian/ # Torontonian 函数对比
└── loop_torontonian/ # 循环 Torontonian
入口与启动¶
核心示例¶
1. QAOA - 量子近似优化算法¶
文件: qaoa.ipynb
功能: 求解最大割问题
import deepquantum as dq
import torch
# 创建 QAOA 电路
nqubits = 4
cir = dq.QubitCircuit(nqubits)
# 问题哈密顿量(最大割)
# ... 定义问题哈密顿量
# QAOA ansatz
for p in range(depth):
# 问题单元ary
cir.rxlayer()
# 混合单元ary
cir.cnot_ring()
# 优化参数
optimizer = torch.optim.Adam(cir.parameters(), lr=0.01)
2. HHL - 线性方程组求解¶
文件: hhl.ipynb
功能: 求解 Ax = b
核心算法: - 量子相位估计 (QPE) - 逆量子傅里叶变换 - 受控旋转
3. VQE - 变分量子本征求解器¶
文件: vqe_for_CRW.ipynb
功能: 求解 8×8 厄米矩阵本征值
特点: - Pauli 算符基分解(64 个测量基) - CMA-ES 进化策略优化
4. QResNet - 量子残差网络¶
文件: qresnets.ipynb
功能: 函数拟合
架构: - 变分量子电路层 - 残差连接 - 经典-量子混合模型
对外接口¶
GBS 应用系列¶
高斯玻色采样的多种应用场景:
| 应用 | 文件 | 功能 |
|---|---|---|
| 聚类 | gbs_clustering/GBS_clustering.ipynb |
无监督学习、图划分 |
| 最大团 | max_clique/GBS_max_clique.ipynb |
NP-hard 问题、组合优化 |
| 稠密子图 | dense_graph/GBS_dense_graph_problem.ipynb |
图论应用 |
| 图相似性 | similar_graph/similar_graph.ipynb |
图同构测试 |
| 变分 GBS | variational_gbs/variational_gbs.ipynb |
参数优化、量子机器学习 |
| 振动谱 | vibronic_spectra/vibronic_spectra.ipynb |
量子化学 |
| 振动激发 | vibronic_excitations/vibronic_excitations.ipynb |
分子动力学 |
| 层析成像 | homodyne_tomography/Homodyne_Tomography.ipynb |
量子态重构 |
TDM 时域复用¶
| 文件 | 功能 |
|---|---|
tdm/simple_cluster_state/一维纠缠态的制备.ipynb |
基础 TDM 簇态 |
tdm/advanced_cluster_state/复杂纠缠态的制备.ipynb |
高维 TDM 簇态 |
关键依赖与配置¶
依赖项¶
- deepquantum: 核心框架
- torch: 深度学习后端
- numpy: 数值计算
- matplotlib: 可视化
- scipy: 科学计算(基准测试)
可选依赖(基准测试)¶
- pennylane: 对比测试
- mindquantum: 对比测试
- piquasso: 光量子对比
- strawberryfields: 光量子对比
- graphix: MBQC 对比
数据模型¶
示例分类统计¶
| 类别 | 数量 | 说明 |
|---|---|---|
| 核心算法 | 7 | QAOA、HHL、VQE、MBQC、QResNet、态传输、优化器 |
| GBS 应用 | 12 | 聚类、最大团、图论、量子化学等 |
| TDM 系列 | 2 | 时域复用簇态制备 |
| 玻色子态 | 1 | 育猫态 |
| 基准测试 | 多个 | 性能对比 |
性能基准测试¶
梯度计算对比¶
- 框架: DeepQuantum vs PennyLane vs MindQuantum
- 后端: CPU / CUDA
- 电路: 随机量子电路
Hafnian 函数对比¶
- 框架: DeepQuantum vs Piquasso vs StrawberryFields
- 函数:
hafnian() - 输入: 随机矩阵
Torontonian 函数对比¶
- 框架: DeepQuantum vs Piquasso vs StrawberryFields
- 函数:
torontonian() - 输入: 随机矩阵
测试与质量¶
示例验证¶
- ✅ 所有示例 notebook 可运行
- ✅ 包含详细代码注释
- ✅ 提供数学推导
- ✅ 可视化结果
性能测试¶
位置: benchmarks/benchmark_v420/
- MBQC 模拟: 与 Graphix 对比
- 梯度计算: 与 PennyLane、MindQuantum 对比
- Hafnian: 与 Piquasso、StrawberryFields 对比
- Permanent: 与 Piquasso、StrawberryFields 对比
常见问题 (FAQ)¶
Q1: 如何运行这些示例?¶
# 安装 DeepQuantum
pip install deepquantum
# 启动 Jupyter
jupyter notebook
# 打开示例 notebook
# 例如: examples/qaoa.ipynb
Q2: 哪些示例适合初学者?¶
推荐顺序:
1. basic_gate_MBQC.ipynb - 基础门操作
2. qaoa.ipynb - 简单的优化算法
3. vqe_for_CRW.ipynb - VQE 基础
Q3: GBS 示例需要特殊依赖吗?¶
基础 GBS 不需要特殊依赖。但如果要与其他框架对比:
Q4: 如何理解 TDM 示例?¶
TDM(时分复用)是光量子计算的重要技术:
- simple_cluster_state/ - 一维 TDM,适合入门
- advanced_cluster_state/ - 复杂 TDM,适合深入研究
相关文件清单¶
核心示例文件¶
| 文件 | 算法 | 难度 |
|---|---|---|
qaoa.ipynb |
QAOA | ⭐⭐⭐ |
hhl.ipynb |
HHL | ⭐⭐⭐⭐ |
vqe_for_CRW.ipynb |
VQE | ⭐⭐⭐⭐ |
qresnets.ipynb |
QResNet | ⭐⭐⭐⭐ |
basic_gate_MBQC.ipynb |
MBQC | ⭐⭐ |
quantum_state_transfer_1d.ipynb |
态传输 | ⭐⭐ |
GBS 应用文件¶
| 文件 | 应用 | 难度 |
|---|---|---|
gbs/gaussian_boson_sampling/gaussian_boson_sampling.ipynb |
GBS 基础 | ⭐⭐⭐ |
gbs/max_clique/GBS_max_clique.ipynb |
最大团 | ⭐⭐⭐ |
gbs/gbs_clustering/GBS_clustering.ipynb |
聚类 | ⭐⭐⭐ |
gbs/variational_gbs/variational_gbs.ipynb |
变分 GBS | ⭐⭐⭐⭐ |
基准测试目录¶
| 目录 | 测试内容 |
|---|---|
benchmarks/benchmark_v420/gradient/ |
梯度计算对比 |
benchmarks/benchmark_v420/hafnian/ |
Hafnian 函数对比 |
benchmarks/benchmark_v420/permanent/ |
Permanent 函数对比 |
benchmarks/benchmark_v420/MBQC_simulate/ |
MBQC 模拟对比 |
变更记录¶
2026-01-16¶
- 创建示例模块文档
- 完成 21 个示例索引
- 记录 GBS 和 TDM 子目录
参考资源¶
项目内文档¶
- 教程总览: ../教程/README.md
- 算法总结: ../教程/DeepQuantum算法探索总结.md
- DeepQuantum 文档: ../deepquantum/CLAUDE.md
外部资源¶
- DeepQuantum API: https://dqapi.turingq.com/
- GitHub: https://github.com/TuringQ/deepquantum
本文档由 AI 生成,最后更新于 2026-01-16