# ZX-calculus

The ZX-calculus is a rigorous graphical language for reasoning about linear maps between qubits, which are represented as ZX-diagrams. A ZX-diagram consists of a set of generators called spiders that represent specific tensors. These are connected together to form a tensor network similar to Penrose graphical notation. Due to the symmetries of the spiders and the properties of the underlying category, topologically deforming a ZX-diagram (i.e. moving the generators without changing their connections) does not affect the linear map it represents. In addition to the equalities between ZX-diagrams that are generated by topological deformations, the ZX-calculus also has a set of graphical rewrite rules for transforming ZX-diagrams into one another. The ZX-calculus is universal in the sense that any linear map between qubits can be represented as a ZX-diagram, and different sets of graphical rewrite rules are complete for different families of linear maps. ZX-diagrams can be seen as a generalisation of quantum circuit notation.

## History

The ZX-calculus was first introduced by Bob Coecke and Ross Duncan in 2008 as an extension of the categorical quantum mechanics school of reasoning. They introduced the fundamental concepts of spiders, strong complementarity and most of the standard rewrite rules.[1][2]

In 2009 Duncan and Perdrix found the additional Euler decomposition rule for the Hadamard gate,[3] which was used by Backens in 2013 to establish the first completeness result for the ZX-calculus.[4] Namely that there exists a set of rewrite rules that suffice to prove all equalities between stabilizer ZX-diagrams, where phases are multiples of ${\displaystyle \pi /2}$, up to global scalars. This result was later refined to completeness including scalar factors.[5]

In 2017, a completion of the ZX-calculus for the approximately universal ${\displaystyle \pi /4}$ fragment was found,[6] in addition to two different completeness results for the universal ZX-calculus (where phases are allowed to take any real value).[7][8]

Also in 2017 the book Picturing Quantum Processes was released, that builds quantum theory from the ground up, using the ZX-calculus.[9] See also the 2019 book Categories for Quantum Theory.[10]

## Informal introduction

An example ZX-diagram. This one has two inputs (wires coming from the left), and three outputs (wires exiting to the right), and hence it represents a linear map from ${\displaystyle \mathbb {C} ^{2^{2}}}$to ${\displaystyle \mathbb {C} ^{2^{3}}}$.

ZX-diagrams consist of green and red nodes called spiders, which are connected by wires. Wires may curve and cross, arbitrarily many wires may connect to the same spider, and multiple wires can go between the same pair of nodes. There are also Hadamard nodes, usually denoted by a yellow box, which always connect to exactly two wires.

ZX-diagrams represent linear maps between qubits, similar to the way in which quantum circuits represent unitary maps between qubits. ZX-diagrams differ from quantum circuits in two main ways. The first is that ZX-diagrams do not have to conform to the rigid topological structure of circuits, and hence can be deformed arbitrarily. The second is that ZX-diagrams come equipped with a set of rewrite rules, collectively referred to as the ZX-calculus. Using these rules, calculations can be performed in the graphical language itself.

### Generators

The building blocks or generators of the ZX-calculus are graphical representations of specific states, unitary operators, linear isometries, and projections in the computational basis ${\displaystyle |0\rangle ,|1\rangle }$ and the Hadamard-transformed basis ${\displaystyle |+\rangle ={\frac {|0\rangle +|1\rangle }{\sqrt {2}}}}$ and ${\displaystyle |-\rangle ={\frac {|0\rangle -|1\rangle }{\sqrt {2}}}}$. The colour green (or sometimes white) is used to represent the computational basis and the colour red (or sometimes grey) is used to represent the Hadamard-transformed basis. Each of these generators can furthermore be labelled by a phase, which is a real number from the interval ${\displaystyle [0,2\pi )}$. If the phase is zero it is usually not written.

The generators are:

ZX-calculus generators, informally
Type Generator Corresponding linear map Remarks
state ${\displaystyle |0\rangle +e^{i\alpha }|1\rangle }$ For ${\displaystyle \alpha =0}$ and ${\displaystyle \alpha =\pi }$, this map corresponds to unnormalised versions of the Hadamard-transformed basis states ${\displaystyle \mid +\rangle }$ and ${\displaystyle \mid -\rangle }$, respectively. For ${\displaystyle \alpha ={\frac {\pi }{4}}}$, this is an unnormalised version of the T magic state[11] ${\displaystyle {\frac {|0\rangle +e^{i\pi /4}|1\rangle }{\sqrt {2}}}}$.
state ${\displaystyle |+\rangle +e^{i\alpha }|-\rangle }$ For ${\displaystyle \alpha =0}$ and ${\displaystyle \alpha =\pi }$, this map corresponds to unnormalised versions of the computational basis states ${\displaystyle \mid 0\rangle }$ and ${\displaystyle \mid 1\rangle }$, respectively.
unitary map ${\displaystyle |0\rangle \langle 0|+e^{i\alpha }|1\rangle \langle 1|}$ This map is a rotation about the Z-axis of the Bloch sphere by an angle ${\displaystyle \alpha }$. For ${\displaystyle \alpha =\pi }$, it is the Z Pauli matrix.
unitary map ${\displaystyle |+\rangle \langle +|+e^{i\alpha }|-\rangle \langle -|}$ This map is a rotation about the X-axis of the Bloch sphere by an angle ${\displaystyle \alpha }$. For ${\displaystyle \alpha =\pi }$, it is the X Pauli matrix.
unitary map
${\displaystyle |+\rangle \langle 0|+|-\rangle \langle 1|}$ This map is the Hadamard gate often used in quantum circuits.
isometry ${\displaystyle |00\rangle \langle 0|+e^{i\alpha }|11\rangle \langle 1|}$ For ${\displaystyle \alpha =0}$, this map represents a copy operation in the computational basis. For the same value of ${\displaystyle \alpha }$, it also corresponds to the smooth split operation of lattice surgery.[12]
isometry ${\displaystyle |++\rangle \langle +|+e^{i\alpha }|--\rangle \langle -|}$ For ${\displaystyle \alpha =0}$, this map represents a copy operation in the Hadamard-transformed basis. For the same value of ${\displaystyle \alpha }$, it also corresponds to the rough split operation of lattice surgery.[12]
partial isometry ${\displaystyle |0\rangle \langle 00|+e^{i\alpha }|1\rangle \langle 11|}$ For ${\displaystyle \alpha =0}$, this map represents a controlled-NOT operation followed by a destructive Z measurement on the target qubit post-selected to the state ${\displaystyle |0\rangle }$. For the same value of ${\displaystyle \alpha }$, it also corresponds to the smooth merge (without byproduct operators) of lattice surgery.[12]
partial isometry ${\displaystyle |+\rangle \langle ++|+e^{i\alpha }|-\rangle \langle --|}$ For ${\displaystyle \alpha =0}$, this map represents a controlled-NOT operation followed by a destructive X measurement on the control qubit post-selected to the state ${\displaystyle |+\rangle }$. For the same value of ${\displaystyle \alpha }$, it also corresponds to the rough merge (without byproduct operators) of lattice surgery.[12]
projection ${\displaystyle \langle 0|+e^{i\alpha }\langle 1|}$ For ${\displaystyle \alpha =0}$ or ${\displaystyle \alpha =\pi }$, this map corresponds to a destructive X measurement post-selected to the state ${\displaystyle \mid +\rangle }$ or ${\displaystyle \mid -\rangle }$, respectively.
projection ${\displaystyle \langle +|+e^{i\alpha }\langle -|}$ For ${\displaystyle \alpha =0}$ or ${\displaystyle \alpha =\pi }$, this map corresponds to a destructive Z measurement post-selected to the state ${\displaystyle \mid 0\rangle }$ or ${\displaystyle \mid 1\rangle }$, respectively.

### Composition

The generators can be composed in two ways:

• sequentially, by connecting the output wires of one generator to the input wires of another;
• in parallel, by stacking two generators vertically.

These laws correspond to the composition and tensor product of linear maps.

Any diagram written by composing generators in this way is called a ZX-diagram. ZX-diagrams are closed under both composition laws: connecting an output of one ZX-diagram to an input of another creates a valid ZX-diagram, and vertically stacking two ZX-diagrams creates a valid ZX-diagram.

### Only topology matters

Two diagrams represent the same linear operator if they consist of the same generators connected in the same ways. In other words, whenever two ZX-diagrams can be transformed into one another by topological deformation, then they represent the same linear map. Thus, the controlled-NOT gate can be represented as follows:

### Diagram rewriting

The following example of a quantum circuit constructs a GHZ-state. By translating it into a ZX-diagram, using the rules that "adjacent spiders of the same color merge", "Hadamard changes the color of spiders", and "arity-2 spiders are identities", it can be graphically reduced to a GHZ-state:

Any linear map between qubits can be represented as a ZX-diagram, i.e. ZX-diagrams are universal. A given ZX-diagram can be transformed into another ZX-diagram using the rewrite rules of the ZX-calculus if and only if the two diagrams represent the same linear map, i.e. the ZX-calculus is sound and complete.

## Formal definition

The category of ZX-diagrams is a dagger compact category, which means that it has symmetric monoidal structure (a tensor product), is compact closed (it has cups and caps) and comes equipped with a dagger, such that all these structures suitably interact. The objects of the category are the natural numbers, with the tensor product given by addition (the category is a PROP). The morphisms of this category are ZX-diagrams. Two ZX-diagrams compose by juxtaposing them horizontally and connecting the outputs of the left-hand diagram to the inputs of the right-hand diagram. The monoidal product of two diagrams is represented by placing one diagram above the other.

Indeed, all ZX-diagrams are built freely from a set of generators via composition and monoidal product, modulo the equalities induced by the compact structure and the rules of the ZX-calculus given below. For instance, the identity of the object ${\displaystyle n}$ is depicted as ${\displaystyle n}$ parallel wires from left to right, with the special case ${\displaystyle n=0}$ being the empty diagram.

The following table gives the generators together with their standard interpretations as linear maps, expressed in Dirac notation. The computational basis states are denoted by ${\displaystyle \mid 0\rangle ,\vert 1\rangle }$ and the Hadamard-transformed basis states are ${\displaystyle \mid \pm \rangle ={\frac {1}{\sqrt {2}}}(\vert 0\rangle \pm \vert 1\rangle )}$. The ${\displaystyle n}$-fold tensor-product of the vector ${\displaystyle \mid \psi \rangle }$ is denoted by ${\displaystyle \mid \psi \rangle ^{\otimes n}}$.

Generators of ZX-diagrams[13]
Name Diagram Type Linear map it represents
empty diagram
${\displaystyle 0\rightarrow 0}$ 1
wire/identity
${\displaystyle -}$
${\displaystyle 1\rightarrow 1}$ ${\displaystyle \mid 0\rangle \langle 0\!\mid +\mid \!1\rangle \langle 1\mid }$
Bell state
${\displaystyle 0\rightarrow 2}$ ${\displaystyle \mid 00\rangle +\vert 11\rangle }$
Bell effect
${\displaystyle 2\rightarrow 0}$ ${\displaystyle \langle 00\mid +\langle 11\mid }$
swap
${\displaystyle 2\rightarrow 2}$ ${\displaystyle \mid 00\rangle \langle 00\vert +\vert 01\rangle \langle 10\vert +\vert 10\rangle \langle 01\vert +\vert 11\rangle \langle 11\vert }$
Z spider
${\displaystyle n\rightarrow m}$ ${\displaystyle \mid 0\rangle ^{\otimes m}\langle 0\vert ^{\otimes n}+e^{i\alpha }\vert 1\rangle ^{\otimes m}\langle 1\vert ^{\otimes n}}$
X spider
${\displaystyle n\rightarrow m}$ ${\displaystyle \mid +\rangle ^{\otimes m}\langle +\vert ^{\otimes n}+e^{i\alpha }\vert -\rangle ^{\otimes m}\langle -\vert ^{\otimes n}}$
${\displaystyle 1\rightarrow 1}$ ${\displaystyle \mid +\rangle \langle 0\vert +\vert -\rangle \langle 1\mid }$

There are many different versions of the ZX-calculus, using different systems of rewrite rules as axioms. All share the meta rule "only the topology matters", which means that two diagrams are equal if they consist of the same generators connected in the same way, no matter how these generators are arranged in the diagram. The following are some of the core set of rewrite rules, here given "up to scalar factor": i.e. two diagrams are considered to be equal if their interpretations as linear maps differ by a non-zero complex factor.

Rules of the ZX-calculus[14]
Rule name Rule Description
Z-spider fusion Whenever two Z-spider touch, then can fuse together, and their phases add. This rule corresponds to the fact that the Z-spider represents an orthonormal basis - the computational basis.
X-spider fusion See Z-spider fusion.
Identity rule
A phaseless arity 2 Z- or X-spider is equal to the identity. This rule states that the Bell-state is the same whether expressed in the computational basis or the Hadamard-transformed basis. In category-theoretic terms it says that the compact structure induced by the Z- and X-spider coincide.
Color change
The Hadamard-gate changes the color of spiders. This expresses the property that the Hadamard gate maps between the computational basis and the Hadamard-transformed basis.
Copy rule
A Z-spider copies arity-1 X-spiders. This expresses the fact that an arity-1 X-spider is proportional to a computational basis state (in this case ${\displaystyle \vert 0\rangle }$).
Bialgebra rule A 2-cycle of Z- and X-spiders simplifies. This expresses the property that the computational basis and the Hadamard-transformed basis are strongly complementary.
${\displaystyle \pi }$-copy rule A NOT-gate (an arity-2 X-spider with a ${\displaystyle \pi }$ phase) copies trough a Z-spider, and flips the phase of this spider. This rule states two properties at once. First, that NOT is a function map of the computational basis (it maps basis states to basis states), and second that when a NOT is commuted through a Z-rotation gate, that this rotation flips.
Euler decomposition A Hadamard-gate can be expanded into three rotations around the Bloch sphere (corresponding to its Euler angles). Sometimes this rule is taken as the definition of the Hadamard generator, in which case the only generators of ZX-diagrams are the Z- and X-spider.

## Applications

The ZX-calculus has been used in a variety of quantum information and computation tasks.

## Tools

The rewrite rules of the ZX-calculus can be implemented formally as an instance of double-pushout rewriting. This has been used in the software Quantomatic to allow automated rewriting of ZX-diagrams (or more general string diagrams).[23] In order to formalise the usage of the "dots" to denote any number of wires, such as used in the spider fusion rule, this software uses bang-box notation[24] to implement rewrite rules where the spiders can have any number of inputs or outputs.

A more recent project to handle ZX-diagrams is PyZX, which is primarily focused on circuit optimisation.[14]

## Related graphical languages

The ZX-calculus is only one of several graphical languages for describing linear maps between qubits. The ZW-calculus was developed alongside the ZX-calculus, and can naturally describe the W-state and Fermionic quantum computing.[25][26] It was the first graphical language which had a complete rule-set for an approximately universal set of linear maps between qubits,[7] and the early completeness results of the ZX-calculus use a reduction to the ZW-calculus.

A more recent language is the ZH-calculus. This adds the H-box as a generator, that generalizes the Hadamard gate from the ZX-calculus. It can naturally describe quantum circuits involving Toffoli gates.[27]

## Related algebraic concepts

Phaseless spiders in the ZX calculus satisfy the axioms of a Hopf algebra with the trivial map as antipode. This can be checked by observing that it is isomorphic to the group algebra of ${\displaystyle Z_{2}}$.

## References

1. ^ Coecke, Bob; Duncan, Ross (2008), "Interacting Quantum Observables", Automata, Languages and Programming, Lecture Notes in Computer Science, 5126, Springer Berlin Heidelberg, pp. 298–310, CiteSeerX 10.1.1.381.2573, doi:10.1007/978-3-540-70583-3_25, ISBN 9783540705826
2. ^ Coecke, Bob; Duncan, Ross (2011-04-14). "Interacting quantum observables: categorical algebra and diagrammatics". New Journal of Physics. 13 (4): 043016. arXiv:0906.4725. Bibcode:2011NJPh...13d3016C. doi:10.1088/1367-2630/13/4/043016. ISSN 1367-2630. S2CID 14259278.
3. ^ a b Duncan, Ross; Perdrix, Simon (2009). "Graph States and the Necessity of Euler Decomposition". Mathematical Theory and Computational Practice. Lecture Notes in Computer Science. 5635. Springer Berlin Heidelberg. pp. 167–177. arXiv:0902.0500. doi:10.1007/978-3-642-03073-4_18. ISBN 9783642030727.
4. ^ Backens, Miriam (2014-09-17). "The ZX-calculus is complete for stabilizer quantum mechanics". New Journal of Physics. 16 (9): 093021. arXiv:1307.7025. Bibcode:2014NJPh...16i3021B. doi:10.1088/1367-2630/16/9/093021. ISSN 1367-2630. S2CID 27558474.
5. ^ Backens, Miriam (2015-11-04). "Making the stabilizer ZX-calculus complete for scalars". Electronic Proceedings in Theoretical Computer Science. 195: 17–32. arXiv:1507.03854. Bibcode:2015arXiv150703854B. doi:10.4204/eptcs.195.2. ISSN 2075-2180. S2CID 14084597.
6. ^ Jeandel, Emmanuel; Perdrix, Simon; Vilmart, Renaud (2018). "A Complete Axiomatisation of the ZX-Calculus for Clifford+T Quantum Mechanics". Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science - LICS '18. New York, New York, USA: ACM Press: 559–568. arXiv:1705.11151. doi:10.1145/3209108.3209131. ISBN 9781450355834. S2CID 42195704.
7. ^ a b Hadzihasanovic, Amar; Ng, Kang Feng; Wang, Quanlong (2018). "Two Complete Axiomatisations of Pure-state Qubit Quantum Computing". Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science. ACM: 502–511. doi:10.1145/3209108.3209128. ISBN 9781450355834. S2CID 195347007. Retrieved 21 May 2019.
8. ^ Jeandel, Emmanuel; Perdrix, Simon; Vilmart, Renaud (2018). "Diagrammatic Reasoning beyond Clifford+T Quantum Mechanics". Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science - LICS '18. New York, New York, USA: ACM Press: 569–578. arXiv:1801.10142. Bibcode:2018arXiv180110142J. doi:10.1145/3209108.3209139. ISBN 9781450355834. S2CID 118959228.
9. ^ Coecke, Bob; Kissinger, Aleks (2017). Picturing Quantum Processes. Cambridge: Cambridge University Press. doi:10.1017/9781316219317. ISBN 9781316219317.
10. ^ Heunen, Chris; Vicary, Jamie (2019). Categories for Quantum Theory. Oxford University Press. doi:10.1093/oso/9780198739623.001.0001. ISBN 9780198739616.
11. ^ Bravyi, Sergey; Haah, Jeongwan (2012-11-27). "Magic-state distillation with low overhead". Physical Review A. 86 (5): 052329. arXiv:1209.2426. Bibcode:2012PhRvA..86e2329B. doi:10.1103/physreva.86.052329. ISSN 1050-2947. S2CID 4399674.
12. ^ a b c d Horsman, Dominic; de Beaudrap, Niel (2017-04-27). "The ZX calculus is a language for surface code lattice surgery". arXiv:1704.08670v2 [quant-ph].
13. ^ Backens, Miriam; Perdrix, Simon; Wang, Quanlong (2017-01-01). "A Simplified Stabilizer ZX-calculus". Electronic Proceedings in Theoretical Computer Science. 236: 1–20. doi:10.4204/eptcs.236.1. ISSN 2075-2180.
14. ^ a b van de Wetering, John; Kissinger, Aleks (2019-04-09). "PyZX: Large Scale Automated Diagrammatic Reasoning". arXiv:1904.04735v1 [quant-ph].
15. ^ Duncan, Ross; Perdrix, Simon (2010), "Rewriting Measurement-Based Quantum Computations with Generalised Flow", Automata, Languages and Programming, Springer Berlin Heidelberg, pp. 285–296, CiteSeerX 10.1.1.708.1968, doi:10.1007/978-3-642-14162-1_24, ISBN 9783642141614, S2CID 34644953
16. ^ Kissinger, Aleks; van de Wetering, John (2019-04-26). "Universal MBQC with generalised parity-phase interactions and Pauli measurements". Quantum. 3: 134. doi:10.22331/q-2019-04-26-134. ISSN 2521-327X.
17. ^ Horsman, Dominic; de Beaudrap, Niel (2017-04-27). "The ZX calculus is a language for surface code lattice surgery". arXiv:1704.08670v1 [quant-ph].
18. ^ Perdrix, Simon; Horsman, Dominic; Duncan, Ross; de Beaudrap, Niel (2019-04-29). "Pauli Fusion: a computational model to realise quantum transformations from ZX terms". arXiv:1904.12817v1 [quant-ph].
19. ^ Horsman, Dominic; Zohren, Stefan; Roffe, Joschka; Kissinger, Aleks; Chancellor, Nicholas (2016-11-23). "Graphical Structures for Design and Verification of Quantum Error Correction". arXiv:1611.08012v3 [quant-ph].
20. ^ Duncan, Ross; Lucas, Maxime (2014-12-27). "Verifying the Steane code with Quantomatic". Electronic Proceedings in Theoretical Computer Science. 171: 33–49. doi:10.4204/eptcs.171.4. ISSN 2075-2180.
21. ^ Garvie, Liam; Duncan, Ross (2018-02-27). "Verifying the Smallest Interesting Colour Code with Quantomatic". Electronic Proceedings in Theoretical Computer Science. 266: 147–163. doi:10.4204/eptcs.266.10. ISSN 2075-2180.
22. ^ Fagan, Andrew; Duncan, Ross (2019-01-31). "Optimising Clifford Circuits with Quantomatic". Electronic Proceedings in Theoretical Computer Science. 287: 85–105. arXiv:1901.10114. Bibcode:2019arXiv190110114F. doi:10.4204/eptcs.287.5. ISSN 2075-2180. S2CID 53979936.
23. ^ Kissinger, Aleks; Zamdzhiev, Vladimir (2015), "Quantomatic: A Proof Assistant for Diagrammatic Reasoning", Automated Deduction - CADE-25, Springer International Publishing, pp. 326–336, arXiv:1503.01034, Bibcode:2015arXiv150301034K, doi:10.1007/978-3-319-21401-6_22, ISBN 9783319214009, S2CID 13292311
24. ^ Quick, David; Kissinger, Aleks (2015-05-02). "A first-order logic for string diagrams". arXiv:1505.00343v1 [math.CT].
25. ^ Coecke, Bob; Kissinger, Aleks (2010). "The Compositional Structure of Multipartite Quantum Entanglement". Automata, Languages and Programming. Lecture Notes in Computer Science. 6199. Springer Berlin Heidelberg. pp. 297–308. arXiv:1002.2540. Bibcode:2010arXiv1002.2540C. doi:10.1007/978-3-642-14162-1_25. ISBN 9783642141614. S2CID 18928433.
26. ^ Hadzihasanovic, Amar; Duncan, Ross (2015). "A Diagrammatic Axiomatisation for Qubit Entanglement". 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science. pp. 573–584. arXiv:1501.07082. doi:10.1109/lics.2015.59. ISBN 9781479988754. S2CID 14091451.
27. ^ Backens, Miriam; Kissinger, Aleks (2019-01-31). "ZH: A Complete Graphical Calculus for Quantum Computations Involving Classical Non-linearity". Electronic Proceedings in Theoretical Computer Science. 287: 23–42. doi:10.4204/eptcs.287.2. ISSN 2075-2180.