UnitaryLab 算法用户手册
概述
本手册面向希望使用 UnitaryLab 算法库(unitarylab_algorithms/)运行量子算法的开发者和研究人员。所有算法均基于 BaseAlgorithm 统一接口,提供一致的执行、日志记录和结果导出流程。
使用算法库,你可以:
- 通过一次
.run()调用运行 Shor、Grover、QFT、HHL、VQE、QAOA 等知名量子算法 - 自动保存量子线路图(SVG)和结果文本文件
- 使用预配置的
.test()示例函数快速探索算法行为 - 基于提供的模板实现自定义算法
阅读路径
| 场景 | 建议阅读 |
|---|---|
| 第一次使用,快速上手 | 快速开始 |
| 了解模块全貌与 API 入口 | API 使用总览 |
| Shor、Simon、离散对数算法 | 密码学算法 |
| Grover、QPE、振幅放大/估计、Hadamard | 基础量子算法 |
| Trotter、QDrift、Taylor、QSP、Cartan | 哈密顿量模拟 |
| QFT、HHL、LCU、QSP、QSVT、VQLS | 线性代数算法 |
| VQE、VQC、QAOA、QCBM、CVQNN | 量子机器学习 |
| 热方程、对流方程求解器 | 薛定谔化方法 |
| 编写新算法 | 算法模板指南 |
模块结构概览
unitarylab_algorithms/
├── algo_base.py # BaseAlgorithm 共享基类
├── template.py # 最小化算法模板
├── cryptology/
│ ├── discrete_log/algorithm.py # 离散对数算法
│ ├── shor/algorithm.py # Shor 质因数分解算法
│ └── simon/algorithm.py # Simon 算法
├── fundamental_algorithm/
│ ├── amplitude_amplification/ # 振幅放大
│ ├── amplitude_estimation/ # 量子振幅估计
│ ├── grover/ # Grover 搜索算法
│ ├── hadamard_test/ # Hadamard 测试
│ ├── hadamard_transform/ # n 比特 Hadamard 变换
│ └── qpe/ # 量子相位估计
├── hamiltonian_simulation/
│ ├── cartan/ # Cartan 分解
│ ├── qdrift/ # QDrift 随机乘积公式
│ ├── qsp/ # 基于 QSP 的哈密顿量模拟
│ ├── taylor/ # Taylor 级数展开
│ └── trotter/ # Trotter 分解
├── linear_algebra/
│ ├── hhl/ # HHL 线性方程组求解器
│ ├── lcu/ # 酉算符线性组合
│ ├── qft/ # 量子傅里叶变换
│ ├── qsp/ # QSP 多项式变换
│ ├── qsvt_qlsa/ # 基于 QSVT 的线性求解器
│ └── vqls/ # 变分量子线性求解器
├── quantum_machine_learning/
│ ├── cvqnn/ # 连续变量量子神经网络
│ ├── qaoa/ # 量子近似优化算法
│ ├── qcbm/ # 量子线路 Born 机
│ ├── vqc/ # 变分量子分类器
│ └── vqe/ # 变分量子本征求解器
└── schrodingerization/
├── base.py # 偏微分方程算法基类
├── equation_advection/ # 一维对流方程
├── equation_heat/ # 一维热方程
└── equation_heat2d/ # 二维热方程统一返回格式
每个算法的 .run() 方法都返回 Dict[str, Any],包含至少以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
status | str | 成功时为 'ok',否则为错误信息 |
circuit_path | str | 保存的量子线路 SVG 图的本地路径 |
plot | list[dict] | 结果文件信息,包含 {'format': 'txt', 'filename': '...'} |
部分算法还会返回额外的算法专有字段(如 factors、phase、fidelity 等)。
最后更新于