Spinoza is a fast and flexible quantum simulator written exclusively in Rust, with bindings available for Python users. Spinoza simulates the evolution of a quantum system’s state by applying quantum gates, with the core design principle being that a single-qubit gate applied to a target qubit preserves the probability of pairs of amplitudes corresponding to measurement outcomes that differ only in the target qubit. Spinoza is intended to enable the development of quantum computing solutions by offering researchers and quantum developers a simple, flexible, and fast tool for classical simulation. For more information, please see the accompanying paper.
pip install git+https://github.com/QuState/spinoza#subdirectory=spynoza
rustup toolchain install nightly
rustup default nightly
Note
before building on macOS, please see the install guide.
cargo build --release
examples can be run using:
cargo run --release --example <example-name> -- -q <num-qubits> -t <num-threads>
Everyone is welcomed to contribute to Spinoza! Please see the contributing guideline for more information. If you encounter any issues, please feel free to open a new issue.
@misc{yusufov2023designing,
title={Designing a Fast and Flexible Quantum State Simulator},
author={Saveliy Yusufov and Charlee Stefanski and Constantin Gonciulea},
year={2023},
eprint={2303.01493},
archivePrefix={arXiv},
primaryClass={quant-ph}
}