Skip to Content

API 使用总览

概述

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

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

BaseAlgorithm——共享基类

所有算法类均继承自 unitarylab_algorithms.algo_base.BaseAlgorithm,每个算法实例都具备以下方法:

方法说明
.run(*args, **kwargs)执行算法,返回 Dict[str, Any]
.log(message)打印消息并追加到内部日志
.update_input(input_dict)将条目合并到输入参数字典
.update_output(output_dict)将条目合并到输出信息字典
.save_circuit(circuit, name)将线路持久化到磁盘,返回文件路径
.save_txt()将格式化结果写入纯文本文件
.format_result_ascii()以 ASCII 字符串形式返回最近一次结果

按类别的算法索引

密码学

导入路径关键参数
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

线性代数

导入路径关键参数
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.algorithmn_qubitscoefficientsmax_iterationstolerance

量子机器学习

导入路径关键参数
CVQNNAlgorithmunitarylab_algorithms.quantum_machine_learning.cvqnn.algorithmx_trainy_trainn_layerscutoffepochslr
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_iterseedhamiltonian

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

导入路径说明
对流方程unitarylab_algorithms.schrodingerization.equation_advection.algorithm一维线性对流
热方程(一维)unitarylab_algorithms.schrodingerization.equation_heat.algorithm一维热扩散
热方程(二维)unitarylab_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)

常见使用模式

传入 Circuit 对象

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

from unitarylab.core import Circuit from unitarylab_algorithms.fundamental_algorithm.qpe.algorithm 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.hamiltonian_simulation.trotter.algorithm 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)
最后更新于