ProjectQ is an open source effort for quantum computing.
The first version (v0.1) features a compilation framework capable of targeting various types of hardware, a high-performance quantum computer simulator with emulation capabilities, and various compiler plug-ins. This allows users to
- run quantum programs on the IBM Quantum Experience chip
- simulate quantum programs on classical computers
- emulate quantum programs at a higher level of abstraction (e.g., mimicking the action of large oracles instead of compiling them to low-level gates)
- export quantum programs as circuits (using TikZ)
- get resource estimates
To start using ProjectQ, simply run
python -m pip install --user projectq
Details regarding the installation on different operating systems can be found in the documentation (getting started). Alternatively, you can clone or download this repository and run
python setup.py install --user
or
python -m pip install --user .
Should something go wrong when compiling the C++ simulator extension in one of the above installation procedures,
you can turn off this feature using the --without-cppsimulator
parameter (note: this only works if one of the above installation methods has been tried and hence
all requirements are now installed), i.e.,
python setup.py --without-cppsimulator install --user
If you are using pip, then this parameter can be supplied as follows
python -m pip install --global-option=--without-cppsimulator --user .
Then, please visit the ProjectQ website, where you will find tutorials, code examples, and the documentation.
For information on how to contribute, please visit the ProjectQ website or send an e-mail to [email protected].
When using ProjectQ for research projects, please cite
- Damian S. Steiger, Thomas Häner, and Matthias Troyer "ProjectQ: An Open Source Software Framework for Quantum Computing" [arxiv:1612.08091]
- Thomas Häner, Damian S. Steiger, Krysta M. Svore, and Matthias Troyer "A Software Methodology for Compiling Quantum Programs" [arxiv:1604.01401]
The first release of ProjectQ (v0.1) was developed by Thomas Häner and Damian S. Steiger in the group of Prof. Dr. Matthias Troyer at ETH Zurich.
ProjectQ is released under the Apache 2 license.