Need help with qpp?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

338 Stars 93 Forks MIT License 3.0K Commits 2 Opened issues


A modern C++ quantum computing library

Services available


Need anything else?

Contributors list

No Data


Version 3.1 - 11 January 2022

Build status:

Build status - CircleCI Linux/macOS Build status


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 3 linear algebra header-only template library and, if available, the OpenMP multi-processing 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. On a typical machine (Intel i5 8Gb RAM) Quantum++ can successfully simulate the evolution of 25 qubits in a pure state or of 12 qubits in a mixed state reasonably fast.

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 3.

For additional Eigen 3 documentation see For a simple Eigen 3 quick ASCII reference see

Copyright (c) 2013 - 2022 softwareQ Inc. All rights reserved.


Quantum++ is distributed under the MIT license. Please see the

file for more details.

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

on the
file. The tool

from the
package must be installed (
sudo apt-get install graphviz
on Ubuntu/Debian Linux, or
brew install graphviz
on macOS). Running
will generate the documentation directory
containing both the HTML and LaTeX documentation.

The HTML documentation file will be accessible by opening

with the browser of your choice. To generate a PDF file of the documentation, run
latexmk -pdf refman.tex

from the

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

Python3 wrapper

pyqpp is a Python wrapper for Quantum++. pyqpp can be installed using

pip install git+
For more details, please see pyqpp/

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.