Skip to content

Aaron-Robertson/orquestra-quantum

 
 

Repository files navigation

orquestra-quantum

What is it?

orquestra-quantum is a library with core functionalities for quantum computing developed by Zapata for our Orquestra platform.

orquestra-quantum provides:

  • core functionalities required to run experiments, such as the Circuit class.
  • interfaces for implementing other Orquestra modules, such as quantum backends.
  • basic data structures and functions for quantum computing.

Installation

Even though it's intended to be used with Orquestra, orquestra-quantum can be also used as a standalone Python module. To install it, you just need to run pip install . from the main directory.

Usage

Here's an example of how to use methods from orquestra-quantum to run a circuit locally. The program runs a circuit with a single Hadamard gate 100 times and returns the results:

from orquestra.quantum.circuits import H, Circuit
from orquestra.quantum.symbolic_simulator import SymbolicSimulator

def orquestra_quantum_example_function()
    circ = Circuit([H(0)])
    sim = SymbolicSimulator()
    nsamples = 100
    measurements = sim.run_circuit_and_measure(circ, nsamples)
    return measurements.get_counts()

Development and Contribution

To install the development version, run pip install -e '.[dev]' from the main directory. (if using MacOS, you will need single quotes around the []. If using windows, or Linux, you might not need the quotes).

We use Google-style docstring format. If you'd like to specify types please use PEP 484 type hints instead adding them to docstrings.

There are codestyle-related Github Actions running for PRs.

  • If you'd like to report a bug/issue please create a new issue in this repository.
  • If you'd like to contribute, please create a pull request to main.

Running tests

Unit tests for this project can be run using make coverage command from the main directory. Alternatively you can also run pytest ..

Style

We are using automatic tools for style and type checking. In order to make sure the code is compliant with them please run: make style from the main directory (this requires dev dependencies).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.7%
  • Makefile 0.3%