
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?

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

Pauliopt: Holistic circuit resynthesis using phase polynomials
A holistic approach to phase polynomial based circuit resynthesis

One-qubit Synthesis
Creates a circuit with three rotations gates from a unitary 2x2 matrix.

Loop Boundary Optimization
Optimizes redundant operations across loop iterations without unrolling.

Parity Table
The parity table is a representation for the phase polynomial.

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

RowCol Algorithm
Maps CNOT circuits to new optimized ones under constrained connectivity.

Two-qubit Synthesis
Creates a circuit with optimal CNOT gate count from a 4x4 unitary matrix U.

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

Diagonal unitary decomposition
Recursively decompose a diagonal unitary operator.

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

Lazy Select
Remove complementary control nodes of Select operators.

Partial Select
Remove redundant control nodes from a partial Select operator.

PCPhase decomposition
Decompose projector-controlled phase operators into phase shifts.

Control logic decompositions
Discover a collection of decompositions for control logic.

Parity Matrix Intermediate Representation
The parity matrix describes a circuit containing only CNOT gates.

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

Unary Iteration
Reduce the cost of Select operators via caching.

Pauli Product Rotations
Pauli product rotation representations of common static and parametrized gates and subroutines.