The parameters of a code are $ [[n,k,d]] $ where $ n $ is the number of physical qubits, $ k $ is the number of logical qubits, and $ d $ is the distance.

There are lots of trivial codes with $ d=1 $ that do not detect or correct any errors. So in this question I am only interested in codes with at least $ d \geq 2 $, but preferably $ d \geq 3 $.

I will say that two codes are equivalent if they are related by local unitaries or by permutations. By local unitary I mean a unitary which is a tensor product of $ n $ single qubit unitaries (i.e. it acts locally on each qubit). For example, the Hadamard gate $H$ is a single qubit unitary. So $H^{\otimes n}$ would be a local unitary.

Question: What is an example of two non-equivalent codes that have the same parameters [[n,k,d]]? Again, I am restricting here to at least $ d \geq 2 $, preferably $ d \geq 3 $.

  • 1
    $\begingroup$ Take a CSS code $C$ with $H_X,H_Z$ being different classical codes (so they have different dimensions and distances); then the code $C'$ defined with $H_X'=H_Z, H_Z'=H_X$ would have the same parameters but won't be equivalent to $C$. For example $C$ could protect more against $X$ errors while $C'$ would protect more against $Z$ errors. $\endgroup$
    – unknown
    Aug 9, 2022 at 17:36
  • $\begingroup$ The codes you describe would be related by the local unitary $ H^{\otimes n} $, where $ H $ is the Hadamard gate. So they are equivalent under the definition I provide in the question. It is my fault for not explaining in more detail the definition of equivalent codes I am using. I'll put in an edit. $\endgroup$ Aug 9, 2022 at 19:44

1 Answer 1


Example 1

The $3\times 3$ rotated surface code and the $9$-qubit Shor's code are both $[\![9,1,3]\!]$ codes.

They are inequivalent under local unitaries since the logical states have different entanglement structure. For example, the logical computational basis states of the $9$-qubit Shor's code have no entanglement between the first three qubits and the other six. By contrast, any three qubits in the surface code are entangled with the other six$^1$.

Example 2

Start with the $[\![7,1,3]\!]$ Steane code, add two physical qubits and just let them sit in the fridge (or wherever you keep your qubits). Encoding, decoding and logical operators ignore the two qubits, i.e. act on them as identity. This is another $[\![9,1,3]\!]$ code.

This code is inequivalent to either of the two codes in example 1 since now all logical states (not just the logical computational basis states) lack entanglement between any of the idle qubits and the remaining seven.

More examples

We can construct further examples using the idle qubits trick, e.g. add four idles to the $[\![5,1,3]\!]$ code, or by concatenation, e.g. concatenating $[\![5,1,3]\!]$ on top of $[\![9,1,3]\!]$ yields a code inequivalent to the one obtained by concatenating $[\![9,1,3]\!]$ on top of $[\![5,1,3]\!]$ as can be shown using entanglement structure arguments like those above.

$^1$ Perhaps the easiest way to see this is to note that if we loose any six qubits of a $3\times 3$ surface code patch then we have lost the ability to measure one or both of the $X$ and $Z$ observables and thus have essentially lost quantum information encoded in the code. This is not necessarily the case for the $9$-qubit Shor's code: carefully chosen three qubits preserve full quantum information encoded in the code.

  • $\begingroup$ Nice answer! I've seen the toric code on a square torus of side length $ L $ as a $ [[2L^2,2,L]] $ code. I'm a little less familiar with planar codes like the $ [[L^2,1,L]] $ code you seem to be referring too. Would you happen to know a set of stabilizer generators for this $ L=3 $ planar code? $\endgroup$ Aug 10, 2022 at 12:53
  • 2
    $\begingroup$ Here's one set of stabilizer generators: $$ZZI,III,III\\IZZ,IZZ,III\\III,ZZI,ZZI\\III,III,IZZ\\XXI,XXI,III\\IIX,IIX,III\\III,XII,XII\\III,IXX,IXX.$$ It looks better when drawn as a lattice. You can use $\overline{X}=X^{\otimes 9}$ and $\overline{Z}=Z^{\otimes 9}$ as logical operators. $\endgroup$ Aug 10, 2022 at 16:52
  • 1
    $\begingroup$ Interesting to note that the Shor code is apparently also a sort of surface code for a surface with singularities see "Exercise 25.3 Shor’s Code is a Toric Code!" from www-thphys.physics.ox.ac.uk/people/SteveSimon/topological2021/… The plaquette operators are Z type and act on two edge qubits while the vertex operators are X type and act on 6 edge qubits each. $\endgroup$ Aug 12, 2022 at 19:55
  • $\begingroup$ Another way to see that this code is not equivalent to the Shor code is that this surface code has weight enumerator $ 1+4x^2+22x^4+100x^6+129x^8 $ whereas Shor code has weight enumerator $ 1+ 9x^2+27x^4+75x^6+144x^8 $ and codes which are locally equivalent must have the same weight enumerator. So this code has only $ 4 $ stabilizers of weight $ 2 $ while the Shor code has $ 9 $ stabilizers of weight $ 2 $. $\endgroup$ Mar 20, 2023 at 18:00
  • $\begingroup$ Is this $ 3 \times 3 $ surface code from Projective plane and planar quantum codes ? Or where did you find it? $\endgroup$ Apr 30, 2023 at 20:44

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.