Aleks Kissinger and John van de Wetering
ZX Calculus Seminar 2025
A new textbook introducing teaching core quantum software/compiling concepts using the language of ZX
![]() |
![]() |
![]() |
Circuit synthesis & optimisation | Classical simulation | QEC & Fault tolerance |
Quantum Software is the code that runs on a quantum computer
INIT 5 CNOT 1 0 H 2 Z 3 H 0 H 1 CNOT 4 2 ... |
↔ |
$\textit{CNOT} :=$
$\sqrt{X} :=$
$Z_\alpha :=$
...
$\textit{CNOT} :=$
$|\vec x\rangle \ \mapsto \ |A\vec x\rangle$
A complete set of equations for qubit Clifford QC
efficient synthesis, equality checking, & strong classical simulation
$\textit{CNOT} :=$
$H :=$
$S :=$
GSLC form | AP form |
$=$
ZX Circuit Optimisation has 2 phases. First simplify...
...and extract:
Circuit extraction from ZX diagrams is #P-hard in general, but it can be done in poly-time in the presence of generalised flow.
CCZ
$=$
$=$
$\ =\ \frac{1}{\delta^2}
\begin{pmatrix}
1 + \omega - \omega^3 & -1 - \omega - \omega^2 \\
1 + \omega + \omega^2 & \omega + \omega^2 + \omega^3
\end{pmatrix}$
$\Rightarrow$
$\quad = \quad$
Steane code | [[8, 3, 2]] colour code | Surface code |
$E \ \ =$
$=$
...and a couple more things to mention before we go:
If you find a bug, post an issue on GitHub. If you want to teach with this book, we have problem sheets, solutions, and syllubi, so get in touch!