errorcorrectionzoo / eczoo_data

Content of the Error Correction Zoo, stored in structured YAML format
https://errorcorrectionzoo.org/
Other
48 stars 83 forks source link

How do I add a circuit diagram or circuit link? #299

Closed Strilanc closed 1 year ago

Strilanc commented 1 year ago

I have a [5,1,3] encoder with fewer two-qubit-gates than the referenced papers. How do I add it to the [5,1,3] page? Specifically, how do I add images and external URLs and code blocks?

image

Quirk link

import stim

print(stim.Circuit("""
    # Input: qubit 0
    # Output: A [5,1,3] code over qubits 0,1,2,3,4
    Y 0
    R 1 2 3 4
    H 2 3 4
    CZ 2 3
    CX 0 1 3 1 4 1
    CX 2 0
    CZ 0 1
    CX 3 0
    H 2 3 4
""").diagram())
q0: -Y---@-----X-@-X---
         |     | | |
q1: -R---X-X-X-|-@-|---
           | | |   |
q2: -R-H-@-|-|-@---|-H-
         | | |     |
q3: -R-H-@-@-|-----@-H-
             |
q4: -R-H-----@-------H-

There are also many highly symmetrical ZX graphs of the encoder (up to permutation and single qubit basis change of the outputs). Examples:

image

image

Presumably there are ways to add linkable versions of these things, instead of just references to books and papers? Books and papers are great and all, but it's often difficult to find the specific figure and the representation is usually not computer parseable.

valbert4 commented 1 year ago

Thanks for these ideas.

Strilanc commented 1 year ago

Thanks, that solves my questions.

We don't yet ZX calculus because I don't know where it's useful for QEC

This is kind of a weird thing to hear as the reason to not use ZX. ZX is incredibly ridiculously useful for QEC. Here are a few examples of papers that fruitfully use the ZX calculus in some way, as part of researching or tooling for QEC circuits:

I literally use the ZX calculus every day as part of my own research. It is an incredibly useful bag of concepts and diagrams. Not using it would be like not using quantum circuits. For me the most useful things are the following:

In my opinion, anyone and everyone working in QEC should know ZX or be planning to learn ZX. It should be one of the first things taught in university courses on quantum computing, alongside quantum circuits and honestly maybe even INSTEAD of quantum circuits. Not knowing ZX is like trying to do math the way they did it in the 500s, before algebraic notation was invented. Sure you can do it, but it kinda sucks.

valbert4 commented 1 year ago