wai-quantum 0.3.38

A deterministic quantum stack in pure Rust: byte-exact circuit simulation (statevector / stabilizer / tensor-network MPS / sparse-Pauli backends), sparse Pauli dynamics at utility scale (arbitrary angles, 1024 qubits), belief-propagation tensor networks on the hardware graph, error mitigation, qLDPC decoding, noise learning, circuit-equivalence proofs, a phasor interference-ML layer, information-theoretic limits, noisy channels and state tomography, and signed energy-accounted receipts. No QPU, no cloud, no system libraries — identical results native, in the browser, and as a WASI component at the edge.
Documentation
//! **wai-quantum** — a deterministic quantum stack in pure Rust.
//!
//! Byte-exact circuit simulation (statevector, stabilizer, tensor-network MPS and
//! sparse-Pauli backends), the operational layer around it (calibration, error
//! mitigation, qLDPC decoding, noise learning, circuit-equivalence proofs, atom
//! rearrangement), a phasor/interference ML layer, and signed energy-accounted
//! receipts binding every stage.
//!
//! No QPU, no cloud service, no vendor SDK, and **no system libraries** — pure
//! Rust, so the same source runs natively, in the browser via wasm, and as a
//! WASI component at the edge, producing **byte-identical** results and receipts
//! on all three.
//!
//! Everything is behind a feature; enable only what you use.

// Every receipt seals over a Merkle root; nothing else needs one.
#[cfg(feature = "_signing")]
mod merkle;

#[cfg(any(feature = "quantum_mps", feature = "quantum_bptn", feature = "quantum_tn", feature = "quantum_gbs", feature = "quantum_sv", feature = "quantum_dmrg"))]
mod linalg;

// Gates as matrices, shared by the state vector and the tensor networks.
#[cfg(any(feature = "quantum_tn", feature = "quantum_sv"))]
pub mod gates;

#[cfg(any(
    feature = "quantum_spd",
    feature = "quantum_pauli",
    feature = "quantum_mps",
    feature = "quantum_vml",
    feature = "quantum_phasor",
    feature = "quantum_kernel",
    feature = "quantum_resource",
    feature = "quantum_frame",
    feature = "quantum_tn",
    feature = "quantum_gbs",
    feature = "quantum_sv",
    feature = "quantum_arch",
    feature = "quantum_qio",
    feature = "quantum_dmrg",
    feature = "quantum_tdvp"
))]
mod repro;

/// Re-exported so consumers get a **version-matched** signing type: the receipt
/// sealing APIs take an `ed25519_dalek::SigningKey`, and a caller who depended on
/// their own copy could easily pick an incompatible version.
#[cfg(feature = "_signing")]
pub use ed25519_dalek;


#[cfg(feature = "quantum")]
pub mod quantum;

#[cfg(feature = "quantum_atom")]
pub mod quantum_atom;

#[cfg(feature = "quantum_cal")]
pub mod quantum_cal;

#[cfg(feature = "quantum_compile")]
pub mod quantum_compile;

#[cfg(feature = "quantum_control")]
pub mod quantum_control;

#[cfg(feature = "quantum_kernel")]
pub mod quantum_kernel;

#[cfg(feature = "quantum_mitigate")]
pub mod quantum_mitigate;

// The acquisition class of a receipt's joule figure, as an optional signed
// label. Additive: unlabelled receipts keep their exact bytes.
#[cfg(feature = "_signing")]
pub mod quantum_energy;

#[cfg(feature = "quantum_mps")]
pub mod quantum_mps;

#[cfg(feature = "quantum_noise")]
pub mod quantum_noise;

#[cfg(feature = "quantum_ops")]
pub mod quantum_ops;

#[cfg(feature = "quantum_pauli")]
pub mod quantum_pauli;

#[cfg(feature = "quantum_spd")]
pub mod quantum_spd;

#[cfg(feature = "quantum_spd_receipt")]
pub mod quantum_spd_receipt;

#[cfg(feature = "quantum_bptn")]
pub mod quantum_bptn;

#[cfg(feature = "quantum_resource")]
pub mod quantum_resource;

#[cfg(feature = "quantum_resource_receipt")]
pub mod quantum_resource_receipt;

#[cfg(feature = "quantum_arch")]
pub mod quantum_arch;

#[cfg(feature = "quantum_frame")]
pub mod quantum_frame;

#[cfg(feature = "quantum_ldpc")]
pub mod quantum_ldpc;

#[cfg(feature = "quantum_qio")]
pub mod quantum_qio;

#[cfg(feature = "quantum_uf")]
pub mod quantum_uf;

#[cfg(feature = "quantum_noisy")]
pub mod quantum_noisy;

#[cfg(feature = "quantum_dmrg")]
pub mod quantum_dmrg;

#[cfg(feature = "quantum_tdvp")]
pub mod quantum_tdvp;

#[cfg(feature = "quantum_chem")]
pub mod quantum_chem;

#[cfg(feature = "quantum_nqs")]
pub mod quantum_nqs;

#[cfg(feature = "quantum_frame")]
pub mod quantum_match;

#[cfg(feature = "quantum_tn")]
pub mod quantum_tn;

#[cfg(feature = "quantum_gbs")]
pub mod quantum_gbs;

#[cfg(feature = "quantum_sv")]
pub mod quantum_sv;

#[cfg(feature = "quantum_info")]
pub mod quantum_info;

#[cfg(feature = "quantum_qudit")]
pub mod quantum_qudit;

#[cfg(feature = "quantum_comm")]
pub mod quantum_comm;

#[cfg(feature = "quantum_source")]
pub mod quantum_source;

#[cfg(feature = "quantum_channel")]
pub mod quantum_channel;

#[cfg(feature = "quantum_qir")]
pub mod quantum_qir;

#[cfg(feature = "quantum_phasor")]
pub mod quantum_phasor;

#[cfg(feature = "quantum_phasor_meter")]
pub mod quantum_phasor_meter;

#[cfg(feature = "quantum_qbom")]
pub mod quantum_qbom;

#[cfg(feature = "quantum_qdata")]
pub mod quantum_qdata;

#[cfg(feature = "quantum_qec")]
pub mod quantum_qec;

#[cfg(feature = "quantum_qfhrr")]
pub mod quantum_qfhrr;

#[cfg(feature = "quantum_receipt")]
pub mod quantum_receipt;

#[cfg(feature = "quantum_stabilizer")]
pub mod quantum_stabilizer;

#[cfg(feature = "quantum_toolchain")]
pub mod quantum_toolchain;

#[cfg(feature = "quantum_vml")]
pub mod quantum_vml;

// Signed-byte pins: an unlabelled receipt keeps the exact bytes it had before
// the optional acquisition class existed. Test-only.
#[cfg(all(test, feature = "_signing"))]
mod receipt_pins;