For the $ [[5,1,3]] $ code https://en.wikipedia.org/wiki/Five-qubit_error_correcting_code $ X^{\otimes 5} $ implements logical $ X $ and $ Z^{\otimes 5} $ implements logical $ Z $. A less common gate is the facet gate $$ F = \tfrac{e^{- i \pi /4}}{\sqrt{2}}\begin{pmatrix} 1 & -i \\ 1 & i \end{pmatrix} \propto H S^\dagger $$ The conjugation action of $ F $ on Paulis is by cycling: $$ X \to Y, \quad Y \to Z, \quad Z \to X. $$ $ F^{\otimes 5} $ implements logical $ F $. See What are the transversal gates of the $[[5,1,3]]$ code?

How do we know that the $ [[5,1,3]] $ code doesn't have weakly transversal implementation of other gates, for example $ S $ or $ H $? In other words, is it possible that there is some (weakly) transversal physical gate $$ \bigotimes_{i=1}^{5} g_i $$ which implements logical $ S $ or $ H $ on the codespace? Here all the $ g_i $ are in $ U(2) $ but they are not all assumed to be equal.

For completeness we give the following definitions:

A logical single qubit unitary is implemented in a transversal manner if it is implemented by individual operations on each qubit $i$. So $$ \bigotimes_{i=1}^{n} g_i $$ We say that a gate is strongly transversal if the operation on each set of identically labelled qubits is the same for each and every label. So $$ \bigotimes_{i=1}^{n} g_i $$ with all the $ g_i $ equal.

Relevant related questions include

What are the transversal gates of the $[[5,1,3]]$ code?


Weakly transversal gates for the $ [[15,1,3]] $ quantum Reed-Muller code

  • $\begingroup$ Are you sure you want $g_i$ to be in $U_2$ and not Clifford? $\endgroup$ Apr 20, 2023 at 4:14

1 Answer 1


I suppose, for the 5-qubit code, you could brute-force it. Define any single-qubit unitary that you might want: $$ U=\begin{bmatrix} U_{00} & U_{01} \\ U_{10} & U_{11} \end{bmatrix}. $$ We know how we want this to act on the logical space of our code: $$ U_{00}|0\rangle\langle 0|_L+U_{01}|0\rangle\langle 1|_L+U_{10}|1\rangle\langle 0|_L+U_{11}|1\rangle\langle 1|_L. $$ However, if it's going to work well as an error correcting code, remember that the stabilizers define a whole bunch of spaces (determined by the eigenvalues of the stabilizers) on which the unitary has to work identically (think about the sequence error -> logical unitary -> error correct versus logical unitary -> error -> error correct). Moreover, because it's the perfect code, that covers the entire space perfectly. Hence, there is no ambiguity in the definition of the unitary. Thus, construct the unitary and see if it has the desired tensor product structure. (I have not tried this! Or verified that this idea works with $HS$.)

I assume (doing in my head, so check!) that the overall unitary that you generate is equivalent to taking the original single qubit unitary, adding 4 ancillas (on which you have acted identity), and conjugating with the encoding operation of the code.


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.