Advanced Rust quantum computer simulator.
Quantum is a quantum computer simulator written with the following design goals in mind:
1) Utility: we can simulate a 5-qubit register, enough to run interesting algorithms.
2) Efficiency: we implement all important operations from scratch using primitives
3) Educational Value: the documentation is a prose description of how to implement a quantum computer in Rust.
4) Correctness: it's entirely written in safe Rust with well-defined states.
A good place to start reading the theory behind this is the Wikipedia article, and you can follow the documentation for our implementations of gates, kets, common operations, and quantum registers.
```toml
[dependencies] quantum = "0.1.2" ```
```rust // main.rs
use computer::QuantumComputer; use gates;
// Let's do something simple of a 3-qubit system. let mut c1 = QuantumComputer::new(3); c1.initialize(5); c1.apply(gates::identity(3)); c1.collapse(); assert_eq!(5, c1.value());
// Now let's perform a Hadamard transform. let mut c2 = QuantumComputer::new(1); c2.initialize(0); c2.apply(gates::hadamard()); c2.collapse(); let result = if 1 == c2.value() { "heads" } else { "tails" }; println!("coin flip: {}", result); ```
rust test