快速开始
概述
本章将引导你在 5 分钟内完成 UnitaryLab 算法库的上手流程。完成后,你将能够:
- 导入算法类并调用
.run() - 查看返回的结果字典
- 使用
.test()进行零配置演示 - 定位保存的线路图和结果文件
安装
算法库随 UnitaryLab 一同发布。安装完整包:
pip install unitarylab
pip install unitarylab-algorithms运行第一个算法——Grover 搜索
Grover 算法在包含 个条目的无序数据库中以 次查询找到目标。以下示例在 3 量子比特寄存器中搜索状态 '101'。
from pathlib import Path
from unitarylab_algorithms.fundamental_algorithm.grover.algorithm import GroverAlgorithm
algo = GroverAlgorithm()
result = algo.run(n=3, target="101")
circuit_path = Path(result["circuit_path"])
txt_path = circuit_path.parent / result["plot"][0]["filename"]
print(result["status"]) # 'ok'
print(result["circuit_path"]) # SVG 线路图的路径
print(txt_path) # 文本结果文件的路径预期输出:
ok
/path/to/grover_circuit.svg
/path/to/grover_algorithm_result.txt使用 .test() 快速演示
每个算法都提供了一个 .test() 函数,使用内置的合理默认参数调用 .run()。这是验证安装并观察典型输出的最快方式。
from unitarylab_algorithms.fundamental_algorithm.grover.algorithm import test
test()test() 函数会将结构化结果直接输出到终端,并在本地保存线路图和结果文件。
读取结果字典
所有算法返回统一的字典结构:
result = algo.run(...)
# 执行状态
print(result['status']) # 成功时为 'ok'
# 线路 SVG 图路径
print(result['circuit_path'])
# 文本结果文件名
print(result["plot"][0]["filename"])部分算法包含额外字段。例如,Shor 算法会额外返回:
print(result.get('factors')) # 找到的质因数列表运行 Shor 算法
from unitarylab_algorithms.cryptology.shor.algorithm import ShorAlgorithm
algo = ShorAlgorithm()
result = algo.run(N=15)
print(result['status'])运行 HHL 线性方程求解器
import numpy as np
from unitarylab_algorithms.linear_algebra.hhl.algorithm import HHLAlgorithm
A = np.array([[0.8, 0], [0, 0.4]])
b = np.array([1, 2])
algo = HHLAlgorithm()
result = algo.run(A=A, b=b, d=11)
print(result['status'])运行变分量子本征求解器(VQE)
from unitarylab_algorithms.quantum_machine_learning.vqe.algorithm import VQEAlgorithm
algo = VQEAlgorithm()
result = algo.run(n=2, layers=2, max_iter=150)
print(result['status'])下一步
| 目标 | 前往 |
|---|---|
| 一览所有可用算法 | API 使用总览 |
| 密码学算法(Shor、Simon、离散对数) | 密码学算法 |
| 基础量子原语 | 基础量子算法 |
| 哈密顿量演化方法 | 哈密顿量模拟 |
| 量子硬件上的线性代数 | 线性代数算法 |
| 变分与生成模型 | 量子机器学习 |
| 偏微分方程求解器 | 薛定谔化方法 |
| 编写自定义算法 | 算法模板指南 |
最后更新于