Within Quantum Error Correction and stabilizer codes, toric codes/surface codes are very tempting, mainly for their high error threshold. For more background please check up, in our Physics sister (aunt?) site: Quantum Error Correction: Surface code vs. color code.

However, these codes require fairly specific measurements in specific bases, which I find hard to translate in practice, especially into my language of interest which is spin states in a solid-state few-spin collection. To see my motivation, here is a not-quite successful attept from a few years ago, using a more naïve QEC scheme: "Quantum Error Correction with magnetic molecules".

So, the problem:

Related: How does the size of a toric code torus affect its ability to protect qubits?

  • $\begingroup$ It seems most of the solid-state questions you asked on this site have gone unanswered. I wonder if we can bring in more experimentalists to answer such questions. $\endgroup$ Commented May 7, 2018 at 16:40
  • $\begingroup$ I try to post questions that are interesting, related to my research work and at on-topic for QC. If a train full of solid-state quantum physicists (experimentalists or otherwise) arrives, their answers sure will be welcome :) In any case, I'd say this discussion belongs to the chat rather than here. $\endgroup$ Commented May 7, 2018 at 17:55
  • $\begingroup$ Would Ising type anyonic interaction be applicable, in which case the frustrations are local, something in adiabatic regime, could be tried then- If there are any Ising anyons that are implemented by adiabatic(or even annealing schemes). $\endgroup$ Commented May 8, 2018 at 23:54
  • $\begingroup$ @agaitaarino: Thanks for adding my question to it! $\endgroup$ Commented May 20, 2018 at 2:30

1 Answer 1


I don't know the translation into physics, but the circuit you want for the most basic demonstration is the following: enter image description here Here, $|+\rangle=(|0\rangle+|1\rangle)/\sqrt{2}$, and the gates are controlled-not gates and controlled-phase gates. The state $|\psi\rangle$ can be any input state initially. The first time the circuit is run prepares the $|\psi\rangle$ qubits in a 4-qubit Toric code (up to some corrections depending on what measurement results you got). Repeat the measurements again, and you get a round of error correction. In effect, what the first qubit is doing is measuring the expectation value of the observable $XXXX$ on the Toric code qubits, while the second qubit measures the $ZZZZ$ observable.

I seem to remember that Jiannis Pachos (and coauthors) explicitly described the smallest Toric code implementation possible (which I guess was this version), but I can't seem to find the paper. I had assumed that JamesWooton would have jumped in by now to tell you where that paper is. It must be commented, however, that such a small size of Toric Code is completely hopeless for error correcting properties; you cannot even correct for single-qubit errors!

  • $\begingroup$ Although that is not at all the final result that I aimed for, that was already helpful! And even before going into the required translation into spins, I need a few further clarifications on the circuit. By |+> you mean the linear combination of |0> and |1>, or something different? By ZZZ you actually mean ZZZZ? For some reason I wrote I needed 7 spins but it actually works with 6? $\endgroup$ Commented May 19, 2018 at 8:19
  • 1
    $\begingroup$ @agaitaarino Yes, exactly. I think you can make this 6-qubit case (where the actual code is on 4 qubits) but it's just an in-prinicple demonstration with completely hopeless error correcting properties. You need quite a few more qubits to make it worthwhile (perhaps 9? code qubits and however many you use for stabilizer measurements) $\endgroup$
    – DaftWullie
    Commented May 19, 2018 at 9:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.