[package]
edition = "2024"
rust-version = "1.95"
name = "burn_quantum"
version = "0.4.0"
build = false
include = [
"src/**",
"examples/**",
"tests/**",
"support/**",
"Cargo.toml",
"Cargo.lock",
"README.md",
"LICENSE-*",
"!**/__pycache__/**",
"!**/*.pyc",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Differentiable qubit and qudit simulation with Burn's native tensor and module APIs"
readme = "README.md"
keywords = [
"quantum",
"qudit",
"machine-learning",
"burn",
"autodiff",
]
categories = [
"science",
"simulation",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/mosure/burn_quantum"
[features]
autodiff = ["burn/autodiff"]
cuda = ["burn/cuda"]
default = [
"flex",
"autodiff",
]
flex = ["burn/flex"]
fusion = ["burn/fusion"]
wgpu = ["burn/wgpu"]
[lib]
name = "burn_quantum"
path = "src/lib.rs"
[[example]]
name = "bell"
path = "examples/bell.rs"
required-features = ["flex"]
[[example]]
name = "hybrid"
path = "examples/hybrid.rs"
required-features = [
"flex",
"autodiff",
]
[[example]]
name = "profile"
path = "examples/profile.rs"
required-features = ["flex"]
[[example]]
name = "qudit"
path = "examples/qudit.rs"
required-features = ["flex"]
[[example]]
name = "train"
path = "examples/train.rs"
required-features = [
"flex",
"autodiff",
]
[[example]]
name = "wgpu_smoke"
path = "examples/wgpu_smoke.rs"
required-features = [
"wgpu",
"autodiff",
]
[[test]]
name = "async_jobs"
path = "tests/async_jobs.rs"
[[test]]
name = "backend_parity"
path = "tests/backend_parity.rs"
[[test]]
name = "calibrated_physical"
path = "tests/calibrated_physical.rs"
[[test]]
name = "channels"
path = "tests/channels.rs"
[[test]]
name = "contracts"
path = "tests/contracts.rs"
[[test]]
name = "cubical_record_decoder"
path = "tests/cubical_record_decoder.rs"
[[test]]
name = "encoded_fusion"
path = "tests/encoded_fusion.rs"
[[test]]
name = "event_runtime"
path = "tests/event_runtime.rs"
[[test]]
name = "factory_bank"
path = "tests/factory_bank.rs"
[[test]]
name = "fusion_program_scale"
path = "tests/fusion_program_scale.rs"
[[test]]
name = "fusion_surgery"
path = "tests/fusion_surgery.rs"
[[test]]
name = "gate_synthesis"
path = "tests/gate_synthesis.rs"
[[test]]
name = "gradients"
path = "tests/gradients.rs"
[[test]]
name = "network_runtime"
path = "tests/network_runtime.rs"
[[test]]
name = "open_fbqc"
path = "tests/open_fbqc.rs"
[[test]]
name = "optical_calibration"
path = "tests/optical_calibration.rs"
[[test]]
name = "optical_erasure"
path = "tests/optical_erasure.rs"
[[test]]
name = "optical_learning"
path = "tests/optical_learning.rs"
[[test]]
name = "optical_noise"
path = "tests/optical_noise.rs"
[[test]]
name = "optical_tomography"
path = "tests/optical_tomography.rs"
[[test]]
name = "optics"
path = "tests/optics.rs"
[[test]]
name = "output_relations"
path = "tests/output_relations.rs"
[[test]]
name = "parity_retry"
path = "tests/parity_retry.rs"
[[test]]
name = "photonic"
path = "tests/photonic.rs"
[[test]]
name = "photonic_compiler"
path = "tests/photonic_compiler.rs"
[[test]]
name = "photonic_magic"
path = "tests/photonic_magic.rs"
[[test]]
name = "photonic_qec_network"
path = "tests/photonic_qec_network.rs"
[[test]]
name = "photonic_runtime"
path = "tests/photonic_runtime.rs"
[[test]]
name = "physical_compiler"
path = "tests/physical_compiler.rs"
[[test]]
name = "planar_code"
path = "tests/planar_code.rs"
[[test]]
name = "planar_surgery"
path = "tests/planar_surgery.rs"
[[test]]
name = "precision_fusion"
path = "tests/precision_fusion.rs"
[[test]]
name = "psiqdk_interop"
path = "tests/psiqdk_interop.rs"
[[test]]
name = "qec"
path = "tests/qec.rs"
[[test]]
name = "qml"
path = "tests/qml.rs"
[[test]]
name = "qnspsa"
path = "tests/qnspsa.rs"
[[test]]
name = "rail_routing"
path = "tests/rail_routing.rs"
[[test]]
name = "reference_sampler"
path = "tests/reference_sampler.rs"
[[test]]
name = "sat"
path = "tests/sat.rs"
[[test]]
name = "simulation"
path = "tests/simulation.rs"
[[test]]
name = "six_ring"
path = "tests/six_ring.rs"
[[test]]
name = "six_ring_boundary"
path = "tests/six_ring_boundary.rs"
[[test]]
name = "six_ring_record_decoder"
path = "tests/six_ring_record_decoder.rs"
[[test]]
name = "six_ring_surface"
path = "tests/six_ring_surface.rs"
[[test]]
name = "stabilizer"
path = "tests/stabilizer.rs"
[[test]]
name = "surgery_detectors"
path = "tests/surgery_detectors.rs"
[[test]]
name = "surgery_threshold"
path = "tests/surgery_threshold.rs"
[[test]]
name = "tensor_network"
path = "tests/tensor_network.rs"
[[test]]
name = "threshold_decoder"
path = "tests/threshold_decoder.rs"
[[test]]
name = "threshold_distance"
path = "tests/threshold_distance.rs"
[[test]]
name = "threshold_pheno"
path = "tests/threshold_pheno.rs"
[[test]]
name = "threshold_statistics"
path = "tests/threshold_statistics.rs"
[dependencies.burn]
version = "~0.22.1"
features = ["std"]
default-features = false
[dependencies.nalgebra]
version = "0.34.2"
features = ["std"]
default-features = false
[dependencies.num-complex]
version = "0.4.6"
features = ["serde"]
[dependencies.rand]
version = "0.9"
[dependencies.rand_chacha]
version = "0.9"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2.0"
[dev-dependencies.burn]
version = "~0.22.1"
features = [
"std",
"flex",
"autodiff",
"optim",
]
default-features = false
[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"