Qpp
Modern C++ quantum computing library
Install / Use
/learn @softwareQinc/QppREADME
Quantum++
Version 7.0.3 - 25 March 2026
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 <a href="INSTALL.md">installation guide</a> 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 <a href="pyqpp/README.md"><b>pyqpp</b> documentation</a>.
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
