ArcQML Rust-native quantum machine-learning framework

Repository

Applicable version · ArcQML 0.1.0

Build circuits, simulate quantum states, and train parameters with the Rust-native API, or use the common workflows through Python.

On this page

Framework overview

ArcQML is a quantum machine-learning framework implemented natively in Rust, with Rust and Python interfaces. A unified interface supports fixed and parameterized circuits, state-vector evolution of single or batched quantum states, and observables defined by Pauli operators and their linear combinations. Circuit outputs are differentiable Tensor objects: expectation values can be read directly or used in losses, classical tensor operations, and other differentiable computations, joining quantum and classical computation in one automatic differentiation chain.

For parameterized circuits, ArcQML Runtime provides native numerical gate application, gate derivatives, circuit-plan execution, and adjoint backpropagation. The public Rust layer handles circuits and parameters, observable compilation and expectation evaluation, outer batch scheduling, autograd graphs, losses, and optimizers. After backward, gradients flow from the classical loss through the graph to circuit parameters, which optimizers such as Adam or SGD update. These capabilities support variational quantum eigensolvers, quantum neural networks, quantum-state analysis, and small-scale unitary synthesis.

Supported capabilities

Area Current implementation
Quantum states Normalized dense C64 pure-state vectors
Circuits Fixed gates, parameterized gates, custom unitaries, parameter sharing, and concatenation
Training Tensor autograd and quantum adjoint differentiation
Observables PauliString and real-coefficient SparsePauliOp
Analysis Probabilities, marginals, fidelity, Bloch vectors, and terminal sampling
Losses and optimization Rust supports MSE/L1/cross entropy, custom losses composed from operators, and SGD/Adam
User interfaces Full Rust API; the Python native extension exposes common circuit, simulation, analysis, and training interfaces

Current limitations

The current backend supports only dense C64 pure-state vector simulation on CPUs. CUDA, sparse states, noise models, density matrices, quantum channels, mid-circuit measurement, and classical conditional control are not included. BatchStateVectorSimulator represents independent initial states sharing one circuit and its parameters; batch sampling is not currently available. Weight checkpoints save only circuit parameters, not circuit topology, optimizer state, training-data position, or random state. The Python API exposes a commonly used subset; use the native Rust API for full capabilities. Future support is defined by actual release notes.

Release status and license

ArcQML uses hybrid licensing. This is a source-available release, not an OSI-approved open-source release:

Maintainer: liuxl. Commercial licensing and license inquiries: quill@arclightquantum.com. See Release status and license in the ArcQML repository for complete details.

This is an experimental Windows preview using Rust 1.98.0 and CPython 3.11. Memory-safety issue S01, Linux acceptance, and formatting cleanup are deferred; see the Release notes and Security limitations. Use only the libraries and wheel supplied with this release; do not mix historical artifacts.