量子机器学习框架
适用版本 · ArcQML 0.1.0
以 Rust 原生接口构建量子电路、模拟量子态并训练参数,通过 Python 接口使用常用能力。这里汇集框架说明、接口约定与完整任务教程。
本页目录
1.1 框架定位
ArcQML 是一个以 Rust 原生实现、同时提供 Rust 与 Python 接口的量子机器学习框架。用户可以通过统一接口构建固定或含参量子电路,使用状态向量模拟器执行单个或批量量子态的演化,并以 Pauli 算符及其线性组合定义待测量的可观测量。框架将电路输出组织为可微分 Tensor;期望值不仅可以直接读取,还可以继续参与损失函数、经典张量运算和其他可微计算,从而把量子计算与经典计算纳入同一条自动微分链路。
对于含参量子电路,ArcQML Runtime 负责状态演化、可观测量期望值和伴随梯度计算;公开接口层负责电路与参数管理、自动微分图、损失函数和优化器等。调用 backward 后,梯度可由经典损失沿计算图回传至电路参数,再由 Adam 或 SGD 等优化器进行更新。该能力组合适用于变分量子本征求解、量子神经网络、量子态分析和小规模酉矩阵综合等任务。由于 Rust 具备原生编译、内存安全和高效并行等特性,ArcQML 能够在保持接口可靠性的同时提供良好的计算性能。
1.2 当前支持的能力
| 能力域 | 当前实现 |
|---|---|
| 量子态 | 归一化 C64 稠密纯态状态向量 |
| 电路 | 固定门、参数化门、自定义酉门、参数共享与拼接 |
| 训练 | Tensor 自动微分与量子伴随法 |
| 可观测量 | PauliString 与实系数 SparsePauliOp |
| 分析 | 概率、边缘概率、保真度、Bloch 向量、末端抽样 |
| 损失与优化 | MSE/L1/交叉熵、SGD/Adam |
| 用户接口 | Rust 完整接口;Python 原生扩展提供常用电路、模拟、分析与训练接口 |
1.3 当前限制
当前后端仅支持 CPU 上的 C64 稠密纯态状态向量模拟,暂未包含 CUDA、稀疏态、噪声模型、密度矩阵、量子信道、中途测量或经典条件控制等。BatchStateVectorSimulator 表示多条独立初态共享同一电路和参数,当前暂未提供批量抽样接口。权重检查点只保存电路参数,暂未保存电路拓扑、优化器状态、训练数据位置或随机数状态。Python API 暴露的是常用功能子集;需要完整能力时,应使用 Rust 原生接口。