ArcQML Rust原生量子机器学习框架

代码仓库

适用版本 · ArcQML 0.1.0

以 Rust 原生接口构建量子线路、模拟量子态并训练参数,通过 Python 接口使用常用能力。这里汇集框架说明、接口约定与完整任务教程。

本页目录

框架定位

ArcQML 是一个以 Rust 原生实现、同时提供 Rust 与 Python 接口的量子机器学习框架。用户可以通过统一接口构建固定或含参量子线路,使用状态向量模拟器执行单个或批量量子态的演化,并以 Pauli 算符及其线性组合定义待测量的可观测量。框架将电路输出组织为可微分 Tensor;期望值不仅可以直接读取,还可以继续参与损失函数、经典张量运算和其他可微计算,从而把量子计算与经典计算纳入同一条自动微分链路。

对于含参量子线路,ArcQML Runtime 提供门作用、门导数、电路计划执行和伴随反向的原生数值能力;公开 Rust 层负责电路与参数管理、可观测量编译及期望值计算、batch 外层调度、自动微分图、损失函数和优化器。调用 backward 后,梯度可由经典损失沿计算图回传至电路参数,再由 Adam 或 SGD 等优化器进行更新。该能力组合适用于变分量子本征求解、量子神经网络、量子态分析和小规模酉矩阵综合等任务。

当前支持的能力

能力域 当前实现
量子态 归一化 C64 稠密纯态状态向量
电路 固定门、参数化门、自定义酉门、参数共享与拼接
训练 Tensor 自动微分与量子伴随法
可观测量 PauliString 与实系数 SparsePauliOp
分析 概率、边缘概率、保真度、Bloch 向量、末端抽样
损失与优化 Rust 支持 MSE/L1/交叉熵、算子组合自定义损失与 SGD/Adam
用户接口 Rust 完整接口;Python 原生扩展提供常用电路、模拟、分析与训练接口

当前限制

当前后端仅支持 CPU 上的 C64 稠密纯态状态向量模拟,暂未包含 CUDA、稀疏态、噪声模型、密度矩阵、量子信道、中途测量或经典条件控制等。BatchStateVectorSimulator 表示多条独立初态共享同一电路和参数,当前暂未提供批量抽样接口。权重检查点只保存电路参数,暂未保存电路拓扑、优化器状态、训练数据位置或随机数状态。Python API 暴露的是常用功能子集;需要完整能力时,应使用 Rust 原生接口。后续能力以实际发行说明为准。

发行状态与许可证

ArcQML 采用混合许可,这是源码可用发行,不是 OSI 认可的开源许可:

维护人:liuxl;商业授权及许可联系:quill@arclightquantum.com。完整说明见 ArcQML 仓库的发行状态与许可证。

本次为 Windows 实验性预览版,使用 Rust 1.98.0 和 CPython 3.11。内存安全问题 S01、Linux 验收和格式整理暂缓,详见发行说明与安全限制。仅使用本次随附的库和 wheel,勿混用历史产物。