Skip to content

Simulators

qpp

Maintained by softwareqinc

**Quantum++** is a modern C++ general purpose quantum computing library, composed solely of template header files.

C++MITv7.0.3
qpp illustration

Resource snapshot

Category

Simulators

Stars

661

Last pushed

May 14, 2026Updated 3mo ago

Open issues

2

What it is

qpp is maintained by softwareqinc and sits in the Simulators lane of the open-source quantum map.

**Quantum++** is a modern C++ general purpose quantum computing library, composed solely of template header files.

Last verified by Qtangl generator on May 27, 2026

Who it's for

Developers and researchers who need to test ideas locally before running on hardware or who want to compare simulation strategies.

What you can build or learn

  • Benchmark how different simulation methods trade accuracy for runtime.
  • Inspect circuit behavior, noise assumptions, or state evolution offline.
  • Choose the right simulator for a debugging, teaching, or research workflow.

License

MIT

SPDX identifier detected from the repository metadata or license files.

Repository README

Preview from the project README.

Rendered as Markdown inside a scrollable preview. Long READMEs stay contained; expand or open on GitHub for the full document.

~471 words · about 2 min readOpen on GitHub

Quantum++

Version 7.0.3 - 25 March 2026

GitHub actions


About

Quantum++ is a modern C++ general purpose quantum computing library, composed solely of template header files. Quantum++ is written in standard C++17 and has very low external dependencies, using only the Eigen linear algebra header-only template library and, if available, the OpenMP multiprocessing library.

Quantum++ is not restricted to qubit systems or specific quantum information processing tasks, being capable of simulating arbitrary quantum processes. The main design factors taken in consideration were the ease of use, high portability, and high performance. The library's simulation capabilities are only restricted by the amount of available physical memory.

Explore the examples for a comprehensive look at Quantum++ in action. You can also find community-contributed examples in antoine-bussy's GitHub repository.

To report any bugs or ask for additional features/enhancements, please submit an issue with an appropriate label.

If you are interested in contributing to this project, feel free to contact us. Alternatively, fork the repository, create a custom branch, add your contribution, then finally create a pull request. If we accept the pull request, we will merge your custom branch with the latest main/development branch. The latter will eventually be merged into a future release version. To contribute, it is preferable to have a solid knowledge of modern C++ (preferably C++17 or later), including templates and the standard library, a basic knowledge of quantum computing and linear algebra, and working experience with Eigen.

For more information on Eigen, please refer to the official documentation. A concise ASCII quick reference with MATLAB comparisons is also available.

Copyright (c) 2017 - 2026 softwareQ Inc. All rights reserved.


License

Quantum++ is distributed under the MIT License.


Installation instructions and further documentation

Please see the installation guide and the comprehensive Wiki for further documentation and detailed examples.

To generate the full official API documentation in both LaTeX and HTML formats run doxygen on the Doxyfile file. The tool dot from the Graphviz package must be installed (sudo apt-get install graphviz on Ubuntu/Debian Linux, or brew install graphviz on macOS). Running doxygen will generate the documentation directory doc containing both the HTML and LaTeX documentation.

The HTML documentation file will be accessible by opening doc/html/index.html with the browser of your choice. To generate a PDF file of the documentation, run

latexmk -pdf refman.tex

from the doc/latex directory or compile the file doc/latex/refman.tex with your LaTeX compiler. This will create the doc/latex/refman.pdf documentation file. Consult your favourite LaTeX manual for how to compile/build LaTeX files under your specific operating system.


Python 3 wrapper

pyqpp is a Python 3 wrapper for Quantum++. pyqpp requires the same dependencies as Quantum++, and can be installed using pip

pip install git+https://github.com/softwareQinc/qpp

For more details, please see the pyqpp documentation.

Read on GitHub

Activity

Latest release

—

Watchers

30

Python support

>=3.9

Key dependencies

numpy

Learn digest

Get monthly updates when library entries change.

Monthly digest: new library entries, updated flagships, and one editorial pick.

Related resources

Keep exploring nearby tools.

qosf

os_quantum_software

Curated list of open-source quantum software projects.

CC0-1.0

2,105 stars · Updated 4mo ago

BBN-Q

PySimulator

Python with C++ Backend Simulator for Superconducting Circuits QIP

PythonApache-2.0

8 stars · Updated 12y ago

QISKit

qiskit-tutorial

A collection of Jupyter notebooks showing how to use the Qiskit SDK

Jupyter NotebookApache-2.0Archive

2,522 stars · Updated 3y ago

0tt3r

QuaC

Time Dependent Open Quantum Systems Solver written by Matthew Otten (mjotten@wisc.edu)

CMIT

30 stars · Updated 2y ago

aniabrown

QuEST

A multithreaded, distributed, GPU-accelerated simulator of quantum computers

C++MITArchive

473 stars · Updated 3mo ago

adamisntdead

QuSimPy

A Multi-Qubit Ideal Quantum Computer Simulator

PythonAGPL-3.0

724 stars · Updated 5y ago