This book is a coding-driven introduction to ZX-Calculus, guiding readers to the advanced techniques of diagrammatic reasoning and circuit optimization.
The ZX-calculus is a graphical language for reasoning about ZX-diagrams, a type of tensor networks that can represent arbitrary linear maps between qubits. Using the ZX-calculus, we can intuitively reason about quantum theory, and optimise and validate quantum circuits. In this paper we introduce PyZX, an open source library for automated reasoning with large ZX-diagrams. We give a brief introduction to the ZX-calculus, then show how PyZX implements methods for circuit optimisation, equality validation, and visualisation and how it can be used in tandem with other software. We end with a set of challenges that when solved would enhance the utility of automated diagrammatic reasoning.
The ZX-calculus is a graphical language for reasoning about quantum computation that has recently seen an increased usage in a variety of areas such as quantum circuit optimisation, surface codes and lattice surgery, measurement-based quantum computation, and quantum foundations. The first half of this review gives a gentle introduction to the ZX-calculus suitable for those familiar with the basics of quantum computing. The aim here is to make the reader comfortable enough with the ZX-calculus that they could use it in their daily work for small computations on quantum circuits and states. The latter sections give a condensed overview of the literature on the ZX-calculus. We discuss Clifford computation and graphically prove the Gottesman-Knill theorem, we discuss a recently introduced extension of the ZX-calculus that allows for convenient reasoning about Toffoli gates, and we discuss the recent completeness theorems for the ZX-calculus that show that, in principle, all reasoning about quantum computation can be done using ZX-diagrams. Additionally, we discuss the categorical and algebraic origins of the ZX-calculus and we discuss several extensions of the language which can represent mixed states, measurement, classical control and higher-dimensional qudits.
While the quantum circuit model remains the dominant framework for representing and executing quantum algorithms, it is not always the most optimal framework for representing the quantum circuit’s deeper structure. In a standard circuit diagram, computation is shown mainly as a time ordered sequence of gates acting on qubit wires. ZX calculus, by contrast, represents the same process using two families of generators, the Z spiders and the X spiders, together with wires and Hadamard structure, so that algebraic identities, entanglement structure, and rewrite based simplifications become visible directly in the diagram itself. ZX calculus is not another visual representation for the same quantum circuit we have been using, but a graphical calculus in which diagrams carry both computational meaning and transformation rules. This is also the reason for the name ZX ; the formalism is built around the interaction between Z -type and X -type observables, phases, and basis changes. By turning matrix manipulations into diagrammatic rewrites, ZX calculus reduces much of the redundancies and abstract nature usually associated with quantum computation and provides a more structural language for understanding, optimizing, and verifying quantum processes.