ZX Calculus support =================== The ZX-calculus (https://zxcalculus.com/) is a rigorous graphical language for reasoning about linear maps between qubits, which are represented as string diagrams called 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 calculus also has a set of graphical rewrite rules for transforming diagrams into one another. The ZX-calculus is universal in the sense that any linear map between qubits can be represented as a 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, and they form a strict subset of tensor networks which represent general fusion categories and wavefunctions of quantum spin systems. Open .qasm file (only v2.0) Choose command "Quantag Studio: Render QASM diagram with PyZX" in Command Palette to render using ZX-Calculus .. image:: images/zx_calc_scr1.png :alt: Screenshot 1 :width: 100% :align: center Choose command "Quantag Studio: Optimize QASM with PyZX" in Command Palette to optimize using ZX-Calculus New tab with optimized OpenQASM code will be opened .. image:: images/zx_calc_scr2.png :alt: Screenshot 2 :width: 100% :align: center