/qibo

A framework for quantum computing with hardware acceleration.

Primary LanguagePythonApache License 2.0Apache-2.0

Tests codecov Documentation Status DOI

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

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.models import Circuit
from qibo import gates

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

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

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

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

Citation policy

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

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.
  • 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.