Categories and Quantum Informatics Lab

In this lab we will verify the correctness of the Steane code. This is a quantum error correcting code: by encoding 3 logical qubits in 7 physical qubits using redundancy, we can recover from correct from single X and Z errors in case the underlying physical qubits are faulty. Hit the wikipedia page and read up a bit on error correcting codes.

To do this verification, we will be using QuantoMatic. This is a software tool that helps to rewrite diagrams in the graphical calculus, and can even find some proofs automatically. Fire it up:

  /opt/QuantoDerive/quanto-derive.sh

First work through the tutorial on the quantomatic website.

We will follow this article. Start by inputting the equational rules of the ZX-calculus, as specified on page 5. You can cheat a bit by downloading the ZX-project.

This is the encoder for the Steane code, as a quantum circuit:

encoder circuit

Import it as a graph in quantomatic:

encoder zx

The decoder is just the dagger of this graph, i.e. its left-right mirror image.

Now for the error corrector, as a quantum circuit:

corrector circuit

Import it as a graph:

corrector zx

Compose the encoder with the corrector and the decoder, and (have quantomatic) prove that this indeed gives the identity!

Bonus: formalise a single-qubit X error, and (have quantomatic) prove that the corrector can recover from it. Do the same for a single-qubit Z error.

["Answers"]


Home : Teaching : Courses : Cqi 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail: school-office@inf.ed.ac.uk
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh