ProjectQ: An open source software framework for quantum computing
Python C++
Latest commit 6eb3ff1 Jan 19, 2017 @thomashaener thomashaener committed on GitHub Updated the IBMBackend to work with the new API.
Updated the IBMBackend to work with the new API and added a get_probabilities function to the IBM back-end.

README.rst

ProjectQ - An open source software framework for quantum computing

https://travis-ci.org/ProjectQ-Framework/ProjectQ.svg?branch=master

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

Getting started

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.

How to contribute

For information on how to contribute, please visit the ProjectQ website or send an e-mail to info@projectq.ch.

Please cite

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]

Authors

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.

License

ProjectQ is released under the Apache 2 license.