Aleks Kissinger
Topics in Quantum Informatics, 2025
ZX-calculus := a handy tool for working with quantum
computations using graph rewriting
![]() |
![]() |
![]() |
| Optimisation | Simulation & Verification | Error Correction |
| $:=$ | $\ \ |0...0\rangle\langle 0...0| + e^{i \alpha} |1...1\rangle\langle 1...1|$ | |
| $:=$ | $\ \ |{+}...{+}\rangle\langle {+}...{+}| + e^{i \alpha} |{-}...{-}\rangle\langle {-}...{-}|$ |
$\textit{CNOT} :=$
$\sqrt{X} :=$
$Z_\alpha :=$
A complete set of equations for qubit QC
Currently there are no persuasive theoretical arguments indicating that commercially viable applications will be found that do not use quantum error-correcting codes and fault-tolerant quantum computing.
- John Preskill, Q2B Keynote 2023
$|k\rangle\langle k| \propto$
...collapse the quantum state to a fixed one,
depending on the outcome $k \in \{0,1\}$:
$k = 0$
$\Rightarrow$
$+1$ eigenspace of $Z \otimes \ldots \otimes Z$
$k = 1$
$\Rightarrow$
$-1$ eigenspace of $Z \otimes \ldots \otimes Z$
$\propto$
Pauli errors are modelled by introducing X, Y, or Z
flips on edges in a ZX-diagram:
Detectable errors flip measurement outcomes:
...whereas undetectable errors pass right through:
...give us a simple dictionary between QEC codes and ZX-diagrams, e.g. the GHZ code can be fully represented as:
But codes are only half the story in FTQC. We also need to know how to implement operations fault-tolerantly.
Q: Is the LHS really equivalent to the RHS?
A: It depends on what "equivalent" means.
They both give the same linear map, i.e. the behave the same in the absence of errors.
But they behave differently in the presence of errors, e.g.
$D \ \hat{=}\ E$
$D\ \hat{=}\ E \implies D = E$
$D = E \ \ \not\!\!\!\implies D\ \hat{=}\ E$
Definition: Two circuits (or ZX-diagrams) $C, D$ are called fault-equivalent:
$C \ \hat{=}\ D$
"Every undetectable fault in $C$ has a corresponding fault
in $D$ that is $\approx$ as likely."
Idea: start with an idealised computation (i.e. specification) and refine it with fault-equivalent rewrites until it is implementable on hardware.
Specification/refinement has been used in formal methods for classical software dev since the 1970s. Why not for FTQC?




Image credit: Riverlane and Google Quantum AI
"Fault Tolerance by Construction". Rodatz, Poór, Kissinger
arXiv:2506.17181