Quantum Compilation

Drastically reduce the size of your circuits to allow them to run on next-generation quantum computing hardware. On this page, you will find explanations and implementations of important compilation passes and techniques.

What is Quantum Compilation?
A painting of a quantum circuit

(Clifford + T) Gate Set

This target gate set contains S, H, CNOT, and T gates for FTQC.

Pauli Product Measurement

Maps a (Clifford + T) circuit to Pauli product rotations and measurements.

Parity Table

The parity table is a representation for the phase polynomial.

One-qubit Synthesis

Creates a circuit with three rotations gates from a unitary 2x2 matrix.

Two-qubit Synthesis

Creates a circuit with optimal CNOT gate count from a 4x4 unitary matrix U.

Loop Boundary Optimization

Optimizes redundant operations across loop iterations without unrolling.

PermRowCol Algorithm

Maps CNOT circuits to new optimized ones under constrained connectivity and dynamic qubit allocation.

RowCol Algorithm

Maps CNOT circuits to new optimized ones under constrained connectivity.

Phase Polynomial Intermediate Representation

See a modern overview of phase polynomials and how they are utilized in various contexts in quantum compilation.

Parity Matrix Intermediate Representation

The parity matrix describes a circuit containing only CNOT gates.

Control logic decompositions

Discover a collection of decompositions for control logic.

ZX-Calculus Intermediate Representation

ZX-calculus is a graphical language that can represent quantum circuits.

Lazy Select

Remove complementary control nodes of Select operators.

Partial Select

Remove redundant control nodes from a partial Select operator.

Select-U(2) Decomposition

See how to decompose a Select-applied/multiplexed U(2) operator or Pauli rotation.

Diagonal unitary decomposition

Recursively decompose a diagonal unitary operator.

Pauliopt: Holistic circuit resynthesis using phase polynomials

A holistic approach to phase polynomial based circuit resynthesis

Start compiling with PennyLane