## Experiments using quantum circuits

This is a collection of algorithms and experiments written in and using Cirq. A couple of them use only base Cirq, but the rest use additional code stored in ReCirq, a GitHub repository for research code that uses and builds upon Cirq.

## Algorithms in base Cirq

Algorithms and experiments executable using 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 that resides 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.

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

## Kardar-Parisi-Zhang Physics

Probe the dynamics of transferred magnetization in the Heisenberg spin chain.

## Quantum-Classical Quantum Monte Carlo

How to run QCQMC for quantum chemistry applications.

### Code Layout

A short tutorial on the code structure.

### End-to-End Example

How to generate a shadow trial wavefunction for a molecular system

### Experimental Wavefunctions

Analyze published experimental wavefunctions.