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

### Textbook Algorithms Workshop

A workshop notebook with examples that covers algorithms commonly shown in quantum textbooks.

### Shor's Algorithm

The famous integer factorization algorithm by Peter Shor.

### Variational Quantum Eigensolver

Compute the ground state of a Hamiltonian using the variational principle.

### Quantum Walks

The quantum analog of a random walk algorithm.

### Fourier Checking

Demonstrate the separation between quantum and classical computers.

### Hidden Linear Function problem

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.

### Research with ReCirq

How to use this code.

### ReCirq experiment structure

How ReCirq experiments are structured.

### Data collection

How ReCirq experiments collect data.

### Data analysis

How ReCirq experiments analyze data.

### Best practices

Additional advice on writing ReCirq experiments.

## QAOA

Tutorials and examples with the Quantum Approximate Optimization Algorithm.

### Example problems

Introductory QAOA problems.

### Tasks

QAOA experiment Task object.

### Precomputed analysis

QAOA analysis with precomputed optimal angles.

### Landscape analysis

QAOA analysis with a hardware landscape.

### Optimization analysis

QAOA analysis with an optimization path.

### Hardware grid circuits

QAOA on grid-shaped hardware.

### Routing with tket

Use t|ket> to map QAOA to a generic device.

## Quantum Chess

A chess variant that uses and teaches superposition, entanglement, interference and more.

### Concepts

Necessary concepts to play quantum chess on hardware.

### Quantum Chess REST API

A server for playing Quantum Chess.

### Quantum Chess client

A client to play with the Quantum Chess REST server.

## Hartree-Fock VQE

How to run the Hartree-Fock Variational Quantum Eigensolver experiment.

### Quickstart

A short tutorial to show HFVQE in action.

### Molecular data

How to make molecule files for use with HFVQE.

## Fermi-Hubbard

Simulating spin and charge dynamics with a Fermi-Hubbard model.

### Experiment example

End-to-end with a single instance of the Fermi-Hubbard experiment.

### Spin-charge separation results

Experimental data collected and analyzed.

## Quantum Scrambling

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

### Experiment example

Build, run and plot an OTOC circuit.

## Toric Code

Explore the toric code model of interacting qubits.

### Ground State

Create a toric code ground state.