/qoqo_examples

Examples for qoqo.

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

qoqo logo

Examples for qoqo

This repository contains the user documentation and a set of introductory examples for the qoqo/roqoqo quantum computing toolkit by HQS Quantum Simulations GmbH.

roqoqo is a Rust library to represent quantum circuits and qoqo is the python interface to roqoqo.

What roqoqo/qoqo is:

  • A toolkit to represent quantum programs including circuits and measurement information
  • A thin runtime to run quantum measurements
  • A way to serialize quantum circuits and measurement information
  • A set of optional interfaces to devices, simulators and toolkits (e.g. qoqo_quest, qoqo_mock, qoqo_qasm)

What roqoqo/qoqo is not:

  • A decomposer translating circuits to a specific set of gates
  • A quantum circuit optimizer
  • A collection of quantum algorithms

The examples in this repository are available in different versions. The versions using the qoqo Python interface are available in the qoqo folder as Ipython notebooks. The versions using the roqoqo Rust library directly can be found in the roqoqo folder. The examples using roqoqo are again available in two versions. One version in the form of a standalone rust program and one experimental version using Jupyter notebooks with the Rust evcxr Jupyter kernel.

Currently the available examples include:

  1. An introduction to qoqo/roqoqo (Python | Rust Program | Rust Jupyter)
  2. An example how to perform expectation value measurements with qoqo/roqoqo (Python | Rust Program | Rust Jupyter)
  3. A quantum teleportation example (Python | Rust Program | Rust Jupyter)
  4. A half adder example (Python | Rust Program)
  5. A Deutsch-Josza algorithm example (Python | Rust Program)
  6. A simple Variational Quantum Eigensolver (VQE) using the Variation Hamiltonian Ansatz (VHA) (Python)

General Notes

This project is partly supported by PlanQK.