We're celebrating World Quantum Day 2022! Join us

Experiments using quantum circuits

This is a collection of algorithms and experiments written in and using Cirq. Some are hosted in Cirq, and some are hosted in ReCirq, a repository for research performed with Cirq.

Algorithms in Cirq

Algorithms and experiments executable with only default Cirq code.
A workshop notebook with examples that covers algorithms commonly shown in quantum textbooks.
The famous integer factorization algorithm by Peter Shor.
Compute the ground state of a Hamiltonian using the variational principle.
The quantum analog of a random walk algorithm.
Demonstrate the separation between quantum and classical computers.
Show quantum separation with a constant depth solution.

ReCirq Experiments

Research experiments that use additional library code reside in the external ReCirq repository.

ReCirq Guide

How to use and contribute to ReCirq.
How ReCirq experiments are structured.
How ReCirq experiments collect data.
How ReCirq experiments analyze data.
Additional advice on writing ReCirq experiments.


Tutorials and examples with the Quantum Approximate Optimization Algorithm.
Introductory QAOA problems.
QAOA experiment Task object.
QAOA analysis with precomputed optimal angles.
QAOA analysis with a hardware landscape.
QAOA analysis with an optimization path.
QAOA on grid-shaped hardware.
Use t|ket> to map QAOA to a generic device.

Quantum Chess

A chess variant that uses and teaches superposition, entanglement, interference and more.
Necessary concepts to play quantum chess on hardware.
A server for playing Quantum Chess.
A client to play with the Quantum Chess REST server.

Hartree-Fock VQE

How to run the Hartree-Fock Variational Quantum Eigensolver experiment.
A short tutorial to show HFVQE in action.
How to make molecule files for use with HFVQE.


Simulating spin and charge dynamics with a Fermi-Hubbard model.
End-to-end with a single instance of the Fermi-Hubbard experiment.
Experimental data collected and analyzed.

Quantum Scrambling

Use out-of-time-order (OTOC) correlators to demonstrate quantum scrambling.

Toric Code

Explore the toric code model of interacting qubits.
Create a toric code ground state.