Quantum++
Quantum++ provides a C++11 header-only, multi-threaded library for simulation and analysis of arbitrary quantum processes and classical reversible logic with measurable performance characteristics.
Key Features:
- Implementation: Composed entirely of header files and developed in C++11.
- Multi-threading: Employs a multi-threaded approach to leverage modern multi-core processors.
- Quantum process support: Supports simulation of arbitrary quantum processes not limited to specific qubit systems.
- State simulation capacity: Capable of simulating up to 25 qubits in pure states or 12 qubits in mixed states on typical hardware (e.g., Intel i5 with 8GB RAM).
- Memory constraints: Simulation scale is primarily constrained by available physical memory.
- Classical reversible logic: Simulates classical reversible logic on a massive scale (billions of bits) for circuits relying on Toffoli gates and arithmetic circuits.
- Modularity and extensibility: Designed for modularity and extensibility to adapt to specific research needs.
Scientific Applications:
- Theoretical research: Exploration of fundamental aspects of quantum mechanics through simulation of quantum processes.
- Quantum algorithm development: Development of new quantum algorithms using arbitrary-process simulation capabilities.
- Algorithm optimization: Optimization and analysis of existing quantum algorithms via high-fidelity simulation.
- Hybrid classical–quantum systems: Investigation of systems integrating classical reversible logic with quantum circuits, including Toffoli-based arithmetic circuits.
Methodology:
Implemented in C++11 as a header-only library and employing a multi-threaded approach; simulations are constrained primarily by available physical memory.
Topics
Details
- License:
- MIT
- Maturity:
- Mature
- Cost:
- Free of charge
- Tool Type:
- library
- Operating Systems:
- Linux, Windows, Mac
- Programming Languages:
- C++
- Added:
- 8/11/2019
- Last Updated:
- 6/16/2020
Operations
Publications
Gheorghiu V. Quantum++: A modern C++ quantum computing library. PLOS ONE. 2018;13(12):e0208073. doi:10.1371/journal.pone.0208073. PMID:30532140. PMCID:PMC6287823.
Documentation
Downloads
- Source codehttps://github.com/vsoftco/qpp/releases
Links
Issue tracker
https://github.com/vsoftco/qpp/issues