Giter Club home page Giter Club logo

projectq's Introduction

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 [email protected].

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.

projectq's People

Contributors

damiansteiger avatar francabrera avatar thomashaener avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.