This is a follow-up to Example CSS codes and the properties "doubly even" and "self dual".

What is an example of a CSS code whose only single qubit transversal gate is phase gate $ P $?

The $ [\![7,1,3]\!] $ Steane code is a doubly even CSS code so it has $ P $ transversal but also it is self dual so the Hadamard gate $ H $ is transversal.

The $ [\![15,1,3]\!] $ quantum Reed-Muller code is a doubly even CSS code so it has $ P $ transversal but it is actually quadruply even so it has $ T=\sqrt{P} $ transversal also.

What is an example of a code that has $ P $ transversal but nothing else? (nothing else besides Pauli gates that is, since Pauli gates are transversal for every stabilizer code).

I know that doubly even CSS codes always have $ P $ transversal. So I guess I'm looking for some doubly even CSS code which is not quadruply even (so $ T $ not transversal) but also is not self-dual (so $ H $ not transversal).

  • 1
    $\begingroup$ ...and besides CNOT, since CNOT is transversal for all CSS codes. $\endgroup$ Commented Nov 19, 2022 at 5:23
  • $\begingroup$ Good point! I meant to say "only single qubit transversal gate" I just went back and edited that in. Speaking of "getting some multiqubit transversal gates for free" so to speak, I once heard a crazy fun fact from Gottesman that $ r $ blocks of any stabilizer code has all of the finite group $ O(2^r,2) $ transversal. For $ r=1 $ that is just Pauli X. For $ r=2 $ I think it's also generated by stuff we expect like Pauli's Xs and maybe swap but I specifically remember him writing down some kind of weird 3 qubit gate from $ O(8,2) $ that is secretly transversal for all stabilizer codes. Crazy! $\endgroup$ Commented Nov 19, 2022 at 17:06
  • 1
    $\begingroup$ Toffoli $T$ is in $O(8, 2)$, but can't be transversal in any CSS code with transversal Cliffords by Eastin-Knill theorem. In fact, it can't be transversal in any code with transversal $H$ since $T+H$ are computationally universal (this slightly weaker notion of universality is also incompatible with Eastin-Knill theorem). That said, I imagine the result might be true if we restrict to gates that act as affine maps on computational basis as in this answer. These are generated by $X$ and CNOT. $\endgroup$ Commented Nov 19, 2022 at 21:06
  • $\begingroup$ +1 great comment! that's a very good point. At the time I remember thinking I don't have any reason not to believe this and Gottesman is famous for knowing stuff about stabilizer codes so I just believed it. Maybe I'll try to find him on campus this week and ask because your objection seems totally reasonable. Also of course possible this is all my fault and I'm misremembering/ misunderstanding what he said. And in my previous comment I meant to say $ O(4,2) $ is generated by Paulis Xs and CNOTs (not SWAP). $\endgroup$ Commented Nov 20, 2022 at 12:09

1 Answer 1


TL;DR: Such codes may be obtained by concatenating the repetition code with a code whose only transversal $Z$ rotations are generated by the $P$ gate.

Preliminaries: Repetition code

Repetition code with the logical computational basis $|0_L\rangle=|00\rangle$ and $|1_L\rangle=|11\rangle$ is stabilized by the group generated by $ZZ$. Therefore, it is a CSS code. Moreover, $\overline X=XX$ and $\overline{R_Z(\theta)}=I\otimes R_Z(\theta)$ are transversal in this code for all $\theta\in[0,2\pi)$. In particular, $P=R_Z\left(\frac{\pi}{2}\right)$ is transversal. On the other hand, any logical gate that creates a superposition in the logical computational basis generates entanglement between physical qubits and hence cannot be transversal. Thus, Pauli operators and $Z$ rotations generate all transversal gates. In particular, Hadamard is not transversal.

CSS codes with transversal group $\langle P, X\rangle$

A quantum code whose single-qubit transversal group is generated by $X$ and $P$ may be obtained by first encoding into the $[\![2,1,1]\!]$ repetition code described above and then into a CSS code with transversal $P$ gate and no other transversal $Z$ rotations such as Steane $[\![7,1,3]\!]$ code. The stabilizer group of the resulting $[\![14,1,3]\!]$ code is generated by for example $$ \begin{array}{c|c|c} g_1&IIIXXXX,IIIIIII\\ g_2&IXXIIXX,IIIIIII\\ g_3&XIXIXIX,IIIIIII\\ g_4&IIIIIII,IIIXXXX\\ g_5&IIIIIII,IXXIIXX\\ g_6&IIIIIII,XIXIXIX\\ g_7&IIIZZZZ,IIIIIII\\ g_8&IZZIIZZ,IIIIIII\\ g_9&ZIZIZIZ,IIIIIII\\ g_{10}&IIIIIII,IIIZZZZ\\ g_{11}&IIIIIII,IZZIIZZ\\ g_{12}&IIIIIII,ZIZIZIZ\\ g_{13}&ZZZZZZZ,ZZZZZZZ \end{array} $$ Since the $X$ and $Z$ sectors of the stabilizer separate we see that the code is a CSS code. Moreover, the Hadamard entails generation of entanglement between the first seven qubits and the last seven qubits and thus cannot be implemented transversally. On the other hand, operators such as $I^{\otimes 7}\otimes P^{\dagger\otimes 7}$ induce the logical $P$ gate on the code subspace. The only other single-qubit transversal gates are the Pauli operators.

  • $\begingroup$ I assume logical $ X $ for this code is implemented by the transversal gate $ X^{\otimes 14} $. Do you know what transversal gate implements logical $ Z $? $\endgroup$ Commented Nov 22, 2022 at 17:51
  • 1
    $\begingroup$ We can identify the logical operators in the concatenated code by first finding the logical operators in the repetition code and then in Steane code. It should be clear that the logical $Z$ in the $2$-repetition code can be taken to be $I\otimes Z$ or $P\otimes P$. Thus, we can take the logical $Z$ in the concatenated code to be $\overline{Z}=I^{\otimes 7}\otimes Z^{\otimes 7}$ or $\overline{Z}=P^{\dagger\otimes 14}$. Similarly, logical $X$ in the repetition code is $X\otimes X$ and in Steane code $X^{\otimes 7}$, so in the concatenated code $\overline{X}=X^{\otimes 14}$ as you have found. $\endgroup$ Commented Nov 22, 2022 at 18:53
  • $\begingroup$ How do we know that there isn't some tensor product $ \bigotimes_{i=1}^{14}g_i $ that implements logical $ T=diag(1,\zeta_8) $? Here the $ g_i \in U(2) $. $\endgroup$ Commented Apr 11, 2023 at 0:30
  • 1
    $\begingroup$ I suppose you've already pointed this out but I just wanted to highlight that if you take the $ [[14,2,3]] $ code given by 2 blocks of the Steane code and take the subspace spanned by $ |0_L>|0_L> $ and $ |1_L>|1_L> $ then you get exactly this code (in other words take the stabilizer for two blocks of the Steane code and add in $ Z_L \otimes Z_L=Z^{\otimes 14} $, what you call $ g_{13} $, this is of course exactly what you have done above) $\endgroup$ Commented Apr 11, 2023 at 2:18

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.