9

I know that for Steane code, we can implement transversally some gates like cNOT, Hadamard and Pauli.

What I am looking for is a resource in which it is explained why implementing those gate give rise to the good logical operation.

If this is a result more general than Steane I would be interested in a "general enough" approach showing it.

Adam Zalcman
  • 22,278
  • 3
  • 34
  • 83
Marco Fellous-Asiani
  • 1,514
  • 2
  • 13
  • 33

1 Answers1

13

Let $\mathcal{H}$ be the Hilbert space of a set of physical qubits and let $S$ be the stabilizer group of a stabilizer code $\mathcal{G} \subset \mathcal{H}$.

A transversal operator $U$ on $\mathcal{H}$ implements a logical operator on $\mathcal{G}$ if it maps $\mathcal{G}$ back to itself. This can be established by showing that $U$ does not change the stabilizer group $S$ of $\mathcal{G}$. In order to do this, we need to know how stabilizers transform under unitary gates. Suppose that $g$ is an operator that stabilizes $|\psi\rangle$, i.e. $g|\psi\rangle = |\psi\rangle$. Then

$$ UgU^\dagger U|\psi\rangle = Ug|\psi\rangle = U|\psi\rangle\tag1 $$

and we see that $UgU^\dagger$ stabilizes $U|\psi\rangle$. We will use this fact to demonstrate that certain transversal operators do not change the stabilizer group of stabilizer codes that meet certain criteria. We will also use $(1)$ to determine the action of those transversal operators within the code subspace by analyzing their effect on the logical Pauli operators.

Controlled-NOT

Claim: If $\mathcal{G}=CSS(C_1, C_2)$ is a Calderbank-Shor-Steane code for classical linear codes $C_1$ and $C_2$, $C_2^\perp \subset C_1$ then transversal CNOT is a logical CNOT on $\mathcal{G}$.

Remark 1: There is ambiguity in the use of the $CSS(C_1, C_2)$ notation in the literature. For example, Wikipedia and Nielsen & Chuang put $C_2^\perp$ in the second position rather than $C_2$.

Remark 2: The condition $C_2^\perp \subset C_1$ is not an additional restriction on $\mathcal{G}$. It is part of the definition of a CSS code necessary to make sure that the $X$ type and $Z$ type stabilizer generators commute. Consequently, the claim says that CNOT admits transversal implementation for any CSS code.

Proof sketch: Let $g_x$ be a tensor product of identity $I$ and Pauli $X$ operators and similarly for $g_z$. Since $\mathcal{G}$ is a CSS code, we can choose stabilizer generators that are either of the form $g_x$ or of the form $g_z$. Calculate that

$$ \mathrm{CNOT} \circ (g_x \otimes I) \circ \mathrm{CNOT} = g_x \otimes g_x \\ \mathrm{CNOT} \circ (I \otimes g_x) \circ \mathrm{CNOT} = I \otimes g_x \\ \mathrm{CNOT} \circ (g_z \otimes I) \circ \mathrm{CNOT} = g_z \otimes I \\ \mathrm{CNOT} \circ (I \otimes g_z) \circ \mathrm{CNOT} = g_z \otimes g_z. $$

Note that if $g_x, g_z \in S$ then all operators on the right hand sides of the four equations above are in $S \times S$. Moreover, every operator in $S \times S$ can be obtained as a composition of operators of the form $g_x \otimes I$, $g_z \otimes I$, $I \otimes g_x$ and $I \otimes g_z$. We conclude that transversal CNOT preserves $S \times S$.

By analyzing the action of transversal CNOT on the logical $X$ and $Z$ operators along the same lines as above, we see that the logical operator effected by performing transversal CNOT on the physical qubits is in fact the logical CNOT. $\square$

Hadamard

Claim: If $\mathcal{G}=CSS(C_1, C_2)$ is a Calderbank-Shor-Steane code where the two classical linear codes are the same $C_1 = C_2$ then transversal Hadamard is a logical Hadamard on $\mathcal{G}$.

Remark: The definition of the CSS code requires that $C_2^\perp \subset C_1$, so $C_1$ cannot be arbitrary. It necessarily contains its own dual.

Proof sketch: As before, let $g_x$ be a tensor product of identity $I$ and Pauli $X$ operators. We see that

$$ H g_x H = g_z \\ H g_z H = g_x. $$

where $g_z$ is obtained from $g_x$ by replacing $X$ operators in the tensor product with $Z$ operators. Note that since $\mathcal{G}$ is a CSS code, we can choose stabilizer generators that are either of the form $g_x$ or of the form $g_z$. Moreover, since $C_1 = C_2$, $g_x \in S$ if and only if $g_z \in S$. Consequently, transversal Hadamard preserves the stabilizer.

As before, the analysis extends to logical $X$ and $Z$ operators and therefore transversal $H$ on physical qubits implements the logical Hadamard gate. $\square$

Phase gate

(For completeness we include the phase gate even though it is not mentioned in the question.)

Claim: If $\mathcal{G}=CSS(C_1, C_2)$ is a Calderbank-Shor-Steane code where the two classical linear codes are the same $C_1 = C_2$ and $C_2^\perp\subset C_1$ is doubly-even (i.e. all codewords in $C_2^\perp$ have Hamming weight divisible by four) then transversal phase gate $P$ preserves the stabilizer $S$.

Proof sketch: Since the phase gate commutes with the Pauli $Z$ operator it is clear that all $g_z$ stabilizers are preserved. For any $g_x$, we have

$$ P g_x P^\dagger = i^{w(g_x)} g_x g_z $$

where $w(g_x)$ is the weight of stabilizer $g_x$, i.e. the number of non-identity factors in it. Since $C_2^\perp$ is doubly-even, we see that

$$ P g_x P^\dagger = g_x g_z. $$

Finally, since $C_1=C_2$ we have $g_z\in S$ and thus $P g_x P^\dagger\in S$. $\square$

Note that the transversal phase operator is not necessarily the logical phase gate. However, $C_2^\perp$ is an even code so the transversal $Z$ belongs to the normalizer $N(S)$. Thus, as long as transversal $Z$ is not in the stabilizer we can choose it to play the role of the logical $Z$. Under this choice transversal phase operator commutes with the logical $Z$ and therefore its action on $\mathcal{G}$ is a diagonal gate. Moreover, applying transversal phase operator twice yields the logical $Z$. We conclude that in this case the transversal phase operator is either a logical phase gate or its inverse.

Pauli operators

Claim: If $\mathcal{G}$ is a stabilizer code, then logical Pauli operators are transversal.

Proof sketch: This follows immediately from the fact that logical Pauli operators are chosen from the normalizer $N(S)$ of the stabilizer group $S$ in the $n$-qubit Pauli group $\mathcal{P}_n$ since all operators in $\mathcal{P}_n$ are transversal by definition. $\square$

Steane code

Steane code is $CSS(C_1, C_2)$ where $C_1 = C_2$ is the Hamming $[7, 4, 3]$ code.

Since it is a stabilizer code, Pauli operators are transversal. Since it is a CSS code, CNOT is transversal. Since $C_1 = C_2$, Hadamard is transversal. Since $C_1$ is also doubly-even, the phase gate is transversal.

Thus, the entire Clifford group admits a transversal implementation in the Steane code. By Eastin-Knill theorem, we cannot extend the set of transversal gates to a universal gateset. In particular, the $T$ gate does not have a transversal implementation in the Steane code.

References

Adam Zalcman
  • 22,278
  • 3
  • 34
  • 83
  • Thank you very much for your very complete answer. I have a question to understand the CNOT part. Do you agree with the following: Basically, need to prove that $U |\psi \rangle$ is still in the code space. You know that this state will be stabilized by $UgU^{\dagger}$ for any $g \in S$. Thus what is important to prove is that ${U g U^{\dagger}, g \in S }=S$. Referring to your text the important ingredient is then that you can map any $g' \in S$ in the rhs of your equations (by combining appropriately the lhs by product of Pauli). Do you agree ? – Marco Fellous-Asiani Dec 28 '20 at 15:43
  • This makes me thing about something I never realized: the set of logical operation does correspond to $N(S)$ (normalizer of $S$). More specifically, the set of non trivial logical operations corresponds to $N(S)-S$. Is that correct ? – Marco Fellous-Asiani Dec 28 '20 at 15:45
  • Actually from your first source, it seems that the set of encoded logical operations is $N(S)/S$ ! – Marco Fellous-Asiani Dec 28 '20 at 15:54
  • 1
    Re your first comment: Yes, I agree with what you said. Note that there is a minor caveat in the CNOT case: since we're dealing with two logical qubits the stabilizers that must be preserved by the gate are of the form $g_1 \otimes g_2$ where $g_1, g_2 \in S$. Then $U$ is a logical operation on two logical qubits iff ${U(g_1\otimes g_2)U^\dagger, g_1, g_2 \in S} = S \otimes S$ where the tensor product of sets of operators is defined elementwise, i.e. $A \otimes B = {a\otimes b | a\in A, b\in B}$. You can convince yourself of this by writing equation $(1)$ in two-logical-qubit case. – Adam Zalcman Dec 28 '20 at 18:50
  • 1
    Re your second and third comments: Yes. Logical operators are elements of $N(S)$. Among them, those that are also in $S$ are the logical identity (IOW, their restriction to the code subspace is the logical identity). So you are correct that non-trivial logical operators live in $N(S) - S$. And finally any two operators $a, b \in N(S)$ such that $a^\dagger b \in S$ agree on the code subspace and therefore we can treat them as the same logical operator. This corresponds to taking the quotient $N(S)/S$. Thus, we identify different logical operators with the cosets of $S$ in $N(S)$. – Adam Zalcman Dec 28 '20 at 18:58
  • 1
    Your answer is really nice, but I need some time to go through all the details (and checking some aspect with litterature to really understand). Once I will agree with everything I will validate it ! – Marco Fellous-Asiani Dec 29 '20 at 18:13
  • Thank you! I appreciate in-detail review! – Adam Zalcman Dec 29 '20 at 19:23
  • I asked a highly related question here: https://quantumcomputing.stackexchange.com/questions/15338/necessary-and-sufficient-condition-to-define-logical-operation-stabilizer-code This is one of the thing that I am actually not totally understanding in the comments/answer. Thanks ! – Marco Fellous-Asiani Dec 30 '20 at 13:16
  • For the cNOT still: don't you need to use some assumption which is: $C=C_1 \otimes C_2$: basically the code space of the two logical qubit is a tensor product of code space of first and code space of second ? I am saying this because you can "factorize" the generators in your proof for the two logical qubits. Even though it looks super natural to have this is it always true for arbitrary CSS codes ? – Marco Fellous-Asiani Dec 30 '20 at 19:10
  • Above, I used $C_1$ and $C_2$ to denote two classical codes that define a CSS code and I use $\mathcal{G}$ for the code subspace, i.e. the Hilbert space of the logical qubit (I picked $\mathcal{G}$ since it is contained in $\mathcal{H}$ of all physical qubits in a codeblock). I assume you're referring to what would be $\mathcal{G_1} \otimes \mathcal{G_2}$ in the notation of the answer. – Adam Zalcman Dec 30 '20 at 19:20
  • Yes I meant $\mathcal{G}_1 \otimes \mathcal{G}_2$, bad notations in my comment. So don't you need to assume that $\mathcal{G}=\mathcal{G}_1 \otimes \mathcal{G}_2$ ? – Marco Fellous-Asiani Dec 30 '20 at 19:22
  • You are correct that the state of two logical qubits lives in $\mathcal{G_1} \otimes \mathcal{G_2}$. This follows from the "composite system" postulate of quantum mechanics: the state space of a composite system is the tensor product of state spaces of the subsystems. Here, our two logical qubits are the subsystems and the pair is the composite system. – Adam Zalcman Dec 30 '20 at 19:23
  • BTW: You did the right thing submitting a separate question for your other concern earlier. This attracts more attention to your question than a comment on an existing answer and so whatever answer you get will see more scrutiny :-) – Adam Zalcman Dec 30 '20 at 19:26
  • Sorry I am confusing with my question. We can construct two logical qubit either from a CSS code that "directly" encode two logical qubit, or from a tensor product of two code each one encoding one logical qubit. In your answer do you assume you are in the second situation ? Because you use the fact that a stabilizer of the space of the first logical qubit has the shape $g \otimes I$. – Marco Fellous-Asiani Dec 30 '20 at 19:35
  • Thanks. You are right, if I am still confusing I will also post a separate question but now I think my question is really related to this specific explanation you provided ! Thanks for the help. – Marco Fellous-Asiani Dec 30 '20 at 19:35
  • For instance maybe a code protecting 2 logical qubit could have stabilizer of the form $g_x \otimes I \otimes g_x \otimes ... I \otimes g_x \otimes I$ for the two logical qubit space. In this case we could not say that the first logical qubit is stabilized by some $g \otimes I$ and the second by some $I \otimes g$. Do you see what I mean ? Maybe it is necesseraly the case for a reason I don't know. Maybe you restricted your answer to some particular case ? – Marco Fellous-Asiani Dec 30 '20 at 19:38
  • 1
    I see. Yes, I am making the assumption that we have two codeblocks, each separately encoded with the same type of CSS code. IOW, $\dim \mathcal{G} = 2$ on each codeblock. – Adam Zalcman Dec 30 '20 at 19:39
  • Great ! Thanks I think it solves my issue – Marco Fellous-Asiani Dec 30 '20 at 19:40
  • 2
    I have a question about the phase gate part of your answer. I understand that for $ g_x $ an $ X $ type Pauli operator in the stabilizer then $$ P g_x P^\dagger = i^{w(g_x)} g_x g_z $$ and so, since the code is doubly even $$ i^{w(g_x)} g_x g_z= g_x g_z $$ where here $ g_z $ is a $ Z $ type Pauli operator obtained from $ g_x $ by switching every $ X $ to a $ Z $. Although $ g_z $ is certainly a $ Z $ type Pauli operator it is not clear to me that $ g_z $ is in the stabilizer. So it does not seem clear to me that performing $ P $ on each physical qubit actually preserves the stabilizer. – Ian Gershon Teixeira Jul 03 '22 at 17:07
  • 2
    For example consider the code with stabilizer $ HSH $ where $ S $ is the stabilizer of the $ [[15,1,3]] $ code. In other words the same stabilizer as the $ [[15,1,3]] $ code but all $ X $s and $ Z $s are swapped. Equivalently it is just the image of the $ [[15,1,3]] $ code under $ H^{\otimes15} $. It is certainly not the case that $ P $ preserves the stabilizer of this code. And it seems to me that this code is still a doubly-even CSS code. – Ian Gershon Teixeira Jul 03 '22 at 17:18
  • @IanGershonTeixeira Thanks for catching this! Fixed. – Adam Zalcman Jul 03 '22 at 20:28
  • Inspired by your section here on transversal $ P $ gate I wrote this answer, made sure to link your post! https://quantumcomputing.stackexchange.com/a/27193/19675 – Ian Gershon Teixeira Jul 04 '22 at 15:37