All Projects → rigetti → Grove

rigetti / Grove

Licence: apache-2.0
Quantum algorithms built using pyQuil.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Grove

unitaryhack
Rules and information for the 2021 unitaryHACK event hosted by @unitaryfund
Stars: ✭ 16 (-95.18%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Quantum-Computing-Collection-Of-Resources
A Well Maintained Repository On Quantum Computing Resources [Code+Theory] Updated Regularly During My Time At IBM, Qubit x Qubit And The Coding School's Introduction To Quantum Computing Course '21
Stars: ✭ 183 (-44.88%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Quantum-Computer-Simulator-with-Algorithms
C++ simulator of quantum registers and quantum algorithms
Stars: ✭ 15 (-95.48%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
learn-qc-with-python-and-qsharp
Companion code for Learn Quantum Computing with Python and Q# Book by Dr. Sarah Kaiser and Dr. Chris Granade 💖
Stars: ✭ 62 (-81.33%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Qpanda 2
QPanda 2 is an open source quantum computing framework developed by OriginQC that can be used to build, run, and optimize quantum algorithms.
Stars: ✭ 128 (-61.45%)
Mutual labels:  quantum-algorithms, quantum-computing, quantum
qibo
A framework for quantum computing with hardware acceleration.
Stars: ✭ 120 (-63.86%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Quantum-Computing-Resources
This repository contains the best resources for learning practical quantum computing. This repository will be updated frequently.
Stars: ✭ 60 (-81.93%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Strawberryfields
Strawberry Fields is a full-stack Python library for designing, simulating, and optimizing continuous variable (CV) quantum optical circuits.
Stars: ✭ 505 (+52.11%)
Mutual labels:  quantum-algorithms, quantum-computing, quantum
Teach Me Quantum
⚛ 10 week Practical Course on Quantum Information Science and Quantum Computing - with Qiskit and IBMQX
Stars: ✭ 118 (-64.46%)
Mutual labels:  quantum-algorithms, quantum-computing, quantum
qcl
Quantum Computation Language port from http://tph.tuwien.ac.at/~oemer/qcl.html
Stars: ✭ 29 (-91.27%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Blueqat
Quantum Computer Library for Everyone
Stars: ✭ 298 (-10.24%)
Mutual labels:  quantum-algorithms, quantum-computing, quantum
Quantumlibraries
Q# libraries for the Quantum Development Kit
Stars: ✭ 316 (-4.82%)
Mutual labels:  quantum-computing, quantum
miniqubit
Quantum emulator of the IBM Quantum experience
Stars: ✭ 24 (-92.77%)
Mutual labels:  quantum, quantum-computing
Qiskit Terra
Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and algorithms.
Stars: ✭ 3,177 (+856.93%)
Mutual labels:  quantum-computing, quantum
quantumjava
Samples related to "Quantum Computing for Java Developers"
Stars: ✭ 86 (-74.1%)
Mutual labels:  quantum, quantum-computing
algorithm-zoo
Implementations of algorithms from http://quantumalgorithmzoo.org/
Stars: ✭ 17 (-94.88%)
Mutual labels:  quantum, quantum-algorithms
Qpp
A modern C++11 quantum computing library
Stars: ✭ 277 (-16.57%)
Mutual labels:  quantum-computing, quantum
Quantum-Computing-UK-Repository
This repository contains all of the code found in the quantum computing tutorials at : https://quantumcomputinguk.org.
Stars: ✭ 52 (-84.34%)
Mutual labels:  quantum-computing, quantum-algorithms
Cirq
A python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
Stars: ✭ 3,115 (+838.25%)
Mutual labels:  quantum-algorithms, quantum-computing
OpenFermion-PySCF
OpenFermion plugin to interface with the electronic structure package PySCF.
Stars: ✭ 76 (-77.11%)
Mutual labels:  quantum-computing, quantum-algorithms

Grove

A collection of quantum algorithms built using the Rigetti Forest platform. Grove is licensed under the Apache 2.0 license.

Build Status Documentation Status

Grove currently includes:

Features in the alpha package are considered experimental.

Documentation

Documentation is hosted at http://grove-docs.readthedocs.io/en/latest/

Installation

You can install Grove directly from the Python package manager pip using:

pip install quantum-grove

To instead install Grove from source, clone this repository, cd into it, and run:

pip install -e .

This will install Grove’s dependencies if you do not already have them. However, you will still need to install pyQuil and set up a connection to the Rigetti Forest (see below). To enable the tomography module, you will also have to install qutip and cvxpy, see below for more details.

Forest and pyQuil

Grove also requires the Python library for Quil, called pyQuil.

You can install pyQuil directly from the Python package manager pip using:

pip install pyquil

To instead install pyQuil from source, clone the pyQuil GitHub repository, cd into it, and run:

pip install -e .

You will need to make sure that your pyQuil installation is properly configured to run with a quantum virtual machine (QVM) or real quantum processor (QPU) hosted on the Rigetti Forest, which requires an API key. See the pyQuil docs for instructions on how to do this.

Installing the dependencies for Quantum Tomography

Quantum tomography relies on the external packages qutip and and cvxpy, which can be somewhat tricky to install.

You can first attempt to just run

pip install -r requirements.txt
pip install -r optional-requirements.txt
pip install quantum-grove

If the installation of the optional requirements fails, you can manually install the individual packages as

pip install cython==0.24.1 scs==1.2.6
pip install qutip==4.1 cvxpy==0.4.11

These are not the most recent versions but they are the only ones that have consistently worked for us across different platforms and python versions.

For Windows users: Both qutip and cvxpy are fairly tricky to install under windows and we therefore recommend using Anaconda's conda package manager to install these first and then pip to install quantum-grove.

Building the Docs

We use sphinx to build the documentation. To do this, navigate into Grove's top-level directory and run:

sphinx-build -b html docs/ docs/_build

To view the docs navigate to the newly-created docs/_build directory and open the index.html file in a browser. Note that we use the Read the Docs theme for our documentation, so this may need to be installed using pip install sphinx_rtd_theme.

Development and Testing

We use tox and pytest for testing. Tests can be executed from the top-level directory by simply running:

tox

The setup is currently testing Python 2.7 and Python 3.6.

How to cite Grove and Forest

If you use pyquil, grove or other parts of Forest in your research, please cite it as follows:

bibTeX:

@misc{1608.03355,
  title={A Practical Quantum Instruction Set Architecture},
  author={Smith, Robert S and Curtis, Michael J and Zeng, William J},
  journal={arXiv preprint arXiv:1608.03355},
  year={2016}
}

Text:

R. Smith, M. J. Curtis and W. J. Zeng, "A Practical Quantum Instruction Set Architecture," (2015), 
  arXiv:1608.03355 [quant-ph], https://arxiv.org/abs/1608.03355
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].