/qibo

A full-stack framework for quantum computing.

Primary LanguagePythonApache License 2.0Apache-2.0

Logo

codecov PyPI - Version PyPI - Python Version

Qibo is an open-source full stack API for quantum simulation and quantum hardware control.

Some of the key features of Qibo are:

  • Definition of a standard language for the construction and execution of quantum circuits with device agnostic approach to simulation and quantum hardware control based on plug and play backend drivers.
  • A continuously growing code-base of quantum algorithms applications presented with examples and tutorials.
  • Efficient simulation backends with GPU, multi-GPU and CPU with multi-threading support.
  • Simple mechanism for the implementation of new simulation and hardware backend drivers.

Documentation

docs

Qibo documentation is available here.

Minimum Working Examples

A simple Quantum Fourier Transform (QFT) example to test your installation:

from qibo.models import QFT

# Create a QFT circuit with 15 qubits
circuit = QFT(15)

# Simulate final state wavefunction default initial state is |00>
final_state = circuit()

Here another example with more gates and shots simulation:

import numpy as np
from qibo import Circuit, gates

circuit = Circuit(2)
circuit.add(gates.X(0))

# Add a measurement register on both qubits
circuit.add(gates.M(0, 1))

# Execute the circuit with the default initial state |00>.
result = circuit(nshots=100)

In both cases, the simulation will run in a single device CPU or GPU in double precision complex128.

Citation policy

arXiv DOI

If you use the package please refer to the documentation for citation instructions.

Contacts

To get in touch with the community and the developers, consider joining the Qibo workspace on Matrix:

Matrix

If you have a question about the project, please contact us with đź“«.

Supporters and collaborators

  • Quantum Research Center, Technology Innovation Institute (TII), United Arab Emirates
  • UniversitĂ  degli Studi di Milano (UNIMI), Italy.
  • Istituto Nazionale di Fisica Nucleare (INFN), Italy.
  • UniversitĂ  degli Studi di Milano-Bicocca (UNIMIB), Italy.
  • European Organization for Nuclear research (CERN), Switzerland.
  • Universitat de Barcelona (UB), Spain.
  • Barcelona Supercomputing Center (BSC), Spain.
  • Qilimanjaro Quantum Tech, Spain.
  • Centre for Quantum Technologies (CQT), Singapore.
  • Institute of High Performance Computing (IHPC), Singapore.
  • National Supercomputing Centre (NSCC), Singapore.
  • RIKEN Center for Computational Science (R-CCS), Japan.
  • NVIDIA (cuQuantum), USA.