Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/QuState/spinoza
A High Performance Quantum State Simulator implemented in pure Rust
https://github.com/QuState/spinoza
high-performance quantum-computing rust simd simulation
Last synced: 17 days ago
JSON representation
A High Performance Quantum State Simulator implemented in pure Rust
- Host: GitHub
- URL: https://github.com/QuState/spinoza
- Owner: QuState
- License: apache-2.0
- Created: 2023-05-09T17:47:02.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-15T16:46:29.000Z (5 months ago)
- Last Synced: 2024-02-15T17:58:19.943Z (5 months ago)
- Topics: high-performance, quantum-computing, rust, simd, simulation
- Language: Rust
- Homepage:
- Size: 595 KB
- Stars: 32
- Watchers: 2
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Lists
- awesome-qiskit - Spinoza - Spinoza is a quantum state simulator (implemented in rust) that is one of the fastest open-source simulators. spinoza is implemented using a functional approach. additionally, spinoza has a quantumcircuit object-oriented interface, which partially matches qiskit's interface. spinoza is capable of running in a myriad of computing environments (e.g., small workstations), and on various architectures. at this juncture, spinoza only utilizes a single thread; however, it is designed to be easily extended into a parallel version, as well as a distributed version. the paper associated with spinoza is available at arxiv:2303.01493. (Community)
README
![]()
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](https://arxiv.org/pdf/2303.01493.pdf).## Quickstart with Python
```bash
pip install git+https://github.com/QuState/spinoza#subdirectory=spynoza
```## Getting Started
### Prerequisites
- [Rust](https://www.rust-lang.org/learn/get-started)- [nightly Rust](https://rust-lang.github.io/rustup/concepts/channels.html)
```bash
rustup toolchain install nightly
rustup default nightly
```
### Building on *nix
> [!NOTE]
> before building on macOS, please see the [install guide](INSTALL.md).#### Production
```bash
cargo build --release
```
### Try it out!
[examples](https://github.com/QuState/spinoza/tree/main/spinoza/examples) can be run using:
```bash
cargo run --release --example -- -q -t
```## Contributing
Everyone is welcomed to contribute to Spinoza! Please see the [contributing guideline](CONTRIBUTING.md) for
more information. If you encounter any issues, please feel free to open a [new issue](https://github.com/QuState/spinoza/issues/new).___
## References
```
@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}
}
```