Skip to Content

API 使用总览

概述

本页面是 unitarylab_algorithms/ 库的导航指南,汇总了所有可用算法的类名、导入路径、关键参数及 .test() 签名。

本页不是完整的自动生成 API 参考。其目的是帮助你快速定位所需算法并了解调用方式。

BaseAlgorithm——共享基类

cryptologyfundamental_algorithmhamiltonian_simulationlinear_algebraquantum_machine_learningstate_preparation 六个包的算法类均继承自 unitarylab_algorithms.algo_base.BaseAlgorithmschrodingerization 包使用独立的 schrodingerization.base.BaseAlgorithm,返回字典形状也不同,详见薛定谔化方法章节)。每个算法实例都具备以下方法:

方法说明
.run(*args, **kwargs)执行算法,返回 Dict[str, Any](基类本身抛出 NotImplementedError,由子类实现)
.log(message)打印消息并追加到内部日志;传入 dict 时会以 - key = value 格式逐条打印(不追加到 self.info
.update_input(input_dict)合并到 self.input,并打印 "Starting {name}" 与参数列表
.update_output(output_dict)合并到 self.output,并打印输出信息列表
.save_circuit(circuit, name=None)保存线路 SVG,返回完整文件路径(未指定 name 时用算法名生成文件名)
.save_txt()format_result_ascii() 的内容写入文本文件,返回仅文件名(不含目录,与 save_circuit 不同)
.format_result_ascii()text_mode'plain''legacy')格式化状态/输入/日志/输出/摘要为文本
._build_return_dict(success, circuit_path, filepath, circuit=None)内部使用:构造 {"status": "ok"/"failed", "circuit_path": ..., "plot": [...], "circuit": ...},并合并 self.outputplot 中每项的 "format" 字段是文件名最后 3 个字符(而非显式声明的扩展名)

按类别的算法索引

密码学

导入路径关键参数
DiscreteLogAlgorithmunitarylab_algorithms.cryptology.discrete_log.algorithmgyP
ShorAlgorithmunitarylab_algorithms.cryptology.shor.algorithmNmethodmax_retries
SimonAlgorithmunitarylab_algorithms.cryptology.simon.algorithms

基础量子算法

导入路径关键参数
AmplitudeAmplificationAlgorithmunitarylab_algorithms.fundamental_algorithm.amplitude_amplification.algorithmUgood_zero_qubitspreps
AmplitudeEstimationAlgorithmunitarylab_algorithms.fundamental_algorithm.amplitude_estimation.algorithmUgood_zero_qubitsd
GroverAlgorithmunitarylab_algorithms.fundamental_algorithm.grover.algorithmntarget
HadamardTestAlgorithmunitarylab_algorithms.fundamental_algorithm.hadamard_test.algorithmmodeUprepare_psiprepare_phiimagshots
HadamardTransformAlgorithmunitarylab_algorithms.fundamental_algorithm.hadamard_transform.algorithmnmode
QPEAlgorithmunitarylab_algorithms.fundamental_algorithm.qpe.algorithmUdprepare_target

哈密顿量模拟

导入路径关键参数
CartanDecompositionAlgorithmunitarylab_algorithms.hamiltonian_simulation.cartan.algorithmHterror
QDriftAlgorithmunitarylab_algorithms.hamiltonian_simulation.qdrift.algorithmHterrorsteps
QSPHSAlgorithmunitarylab_algorithms.hamiltonian_simulation.qsp.algorithmHterrordegreebeta
TaylorAlgorithmunitarylab_algorithms.hamiltonian_simulation.taylor.algorithmHterrordegree
TrotterAlgorithmunitarylab_algorithms.hamiltonian_simulation.trotter.algorithmHterrorordersteps

线性代数

导入路径关键参数
AQCAlgorithmunitarylab_algorithms.linear_algebra.aqc.algorithmnTpbackenddevicedtype(不接受用户自定义 A/b,内部固定用 np.random.seed(42) 生成,详见线性代数算法
HHLAlgorithmunitarylab_algorithms.linear_algebra.hhl.algorithmAbd
LCUAlgorithmunitarylab_algorithms.linear_algebra.lcu.algorithmalphasunitariesn_sysinitial_state
QFTAlgorithmunitarylab_algorithms.linear_algebra.qft.algorithmnstateinverse
QSPAlgorithmunitarylab_algorithms.linear_algebra.qsp.algorithmtdx
QSVTLinearSolverAlgorithmunitarylab_algorithms.linear_algebra.qsvt_qlsa.algorithmAbepsilon
VQLSAlgorithmunitarylab_algorithms.linear_algebra.vqls.algorithmAbcost_function='local_ht'n_layers=4maxiter=500tol=1e-6seed=42epsilon=Nonebackend/device/dtype

量子机器学习

导入路径关键参数
CVQNNAlgorithmunitarylab_algorithms.quantum_machine_learning.cvqnn.algorithmx_trainy_trainn_layerscutoffepochslr
FermiHubbardVQEAlgorithmunitarylab_algorithms.quantum_machine_learning.fermi_hubbard_vqe.algorithmparamsLtUBlayersmax_iterseedmeasure_shotsbackenddevicedtype
QAOAAlgorithmunitarylab_algorithms.quantum_machine_learning.qaoa.algorithmedgesnlayersmax_iter
QCBMAlgorithmunitarylab_algorithms.quantum_machine_learning.qcbm.algorithmnlayersepochslr
VQCAlgorithmunitarylab_algorithms.quantum_machine_learning.vqc.algorithmlayersepochslrbatch_size
VQEAlgorithmunitarylab_algorithms.quantum_machine_learning.vqe.algorithmnlayersmax_iterseedhamiltoniannormalize

态制备

导入路径关键参数
MottonenAlgorithmunitarylab_algorithms.state_preparation.mottonen.algorithmPsitarget_qubitstarget_error
MultiplexerAlgorithmunitarylab_algorithms.state_preparation.multiplexer.algorithmPsitarget_qubitstarget_error
MPSAlgorithmunitarylab_algorithms.state_preparation.mps.algorithmPsitarget_qubitstarget_errormpswork_wiresright_canonicalizemps_max_bond_dimrng_seed
PauliAlgorithmunitarylab_algorithms.state_preparation.pauli.algorithmPsitarget_qubitstarget_error
SuperpositionAlgorithmunitarylab_algorithms.state_preparation.Superposition.algorithmPsitarget_qubitstarget_error

详见态制备算法,其中包含 backend/device/dtype 参数、target_error 默认值与 parameters.json 不一致(MPS、Superposition)等 9 项包级差异说明。

薛定谔化(偏微分方程求解器)

导入路径说明
AdvectionEquationAlgorithmunitarylab_algorithms.schrodingerization.equation_advection.algorithm一维线性对流
HeatEquationAlgorithmunitarylab_algorithms.schrodingerization.equation_heat.algorithm一维热扩散
Heat2dEquationAlgorithmunitarylab_algorithms.schrodingerization.equation_heat2d.algorithm二维热扩散

.test() 快速参考

多数算法模块提供独立的 test() 函数,可用于快速运行默认示例或验证算法是否可用:

# 使用内置默认值运行——无需实例化类 from unitarylab_algorithms.fundamental_algorithm.grover.algorithm import test test() from unitarylab_algorithms.cryptology.shor.algorithm import test test(N=15, method='matrix', max_retries=15) from unitarylab_algorithms.linear_algebra.hhl.algorithm import test test(A=[[0.8, 0], [0, 0.4]], b=[1, 2], d=11) from unitarylab_algorithms.quantum_machine_learning.vqe.algorithm import test test(n=2, layers=2, max_iter=150) from unitarylab_algorithms.state_preparation.mottonen.algorithm import test test(Psi=[1, 0, 0, 1], target_qubits=2, target_error=1e-6)

常见使用模式

传入 Circuit 对象

QPE、LCU、振幅放大等算法接受来自 unitarylabCircuit 对象:

from unitarylab.core import Circuit from unitarylab_algorithms import QPEAlgorithm # 构造一个需要估计相位的酉线路 U = Circuit(1) U.t(0) # T 门的相位为 π/4 algo = QPEAlgorithm() result = algo.run(U=U, d=4)

传入哈密顿量矩阵

哈密顿量模拟算法接受 NumPy 数组或二维 Python 列表:

import numpy as np from unitarylab_algorithms import TrotterAlgorithm H = np.array([[2, 1], [1, 3]]) algo = TrotterAlgorithm() result = algo.run(H=H, t=1.0, error=1e-8, order=1, steps=1000)
最后更新于