# The ZX-calculus

The ZX-calculus is a graphical language that goes beyond circuit diagrams. It â€˜splits the atomâ€™ of well-known quantum logic gates to reveal the compositional structure inside. The calculus works by generalising the ideas of Z and X operations, allowing us to break out of the circuit model while maintaining soundness of reasoning. In doing so we can show properties of circuits, entanglement states, and protocols, in a visually succinct but logically complete manner.

The ZX-calculus is forging the next generation of quantum software. Using the calculus gives optimisation strategies that performs state-of-the-art T-count reduction (an important metric for fault-tolerant computing) and gate compilation. The generators of the calculus correspond closely to the basic operations of lattice surgery in the surface code, giving a visual design and verification language for these codes; and ZX has also been used to discover novel error correction procedures. It comes with a scalable notation capable of representing repeated structures at arbitrary qubit scales. The calculus also acts in the crucial role of an intermediate representation in a new commercial quantum compiler.

Want to learn more or ask some questions? Join us on Discord!

## Example derivation

This example starts with a circuit and ends with a circuit, but the intermediate steps are not always circuits:For a longer introduction to the ZX-calculus see the tutorial page.

## Selected publications

We show here a couple of papers that might serve as good introductions to the ZX-calculus. Please see the publications page for a full list of papers using the ZX-calculus.

- ZX-calculus for the working quantum computer scientist (2020). A review of the literature on the ZX-calculus together with an extended introduction.
- Graph-theoretic Simplification of Quantum Circuits with the ZX-calculus (2019). This paper demonstrates a use-case of the ZX-calculus: quantum circuit optimisation.
- A Near-Optimal Axiomatisation of ZX-Calculus for Pure Qubit Quantum Mechanics (2018). This paper established the simplest complete axiomatisation of the ZX-calculus.
- Picturing Quantum Processes: A First Course in Quantum Theory and Diagrammatic Reasoning (2017). This extensive book explains quantum theory using a diagrammatic method that ultimately leads one to the ZX-calculus.

## Tools

There are a number of tools that allow you to handle ZX-diagrams.

- PyZX is a Python library for automatically simplifying ZX-diagrams and quantum circuits. On this page you can find an in-browser demonstration of the T-count optimising procedure from PyZX presented in this paper.
- TikZiT is a GUI for making Tikz diagrams. Many papers that use ZX-diagrams use TikZiT to make the diagrams.