What are generators for a “real” Clifford group?

I work with stabilizer codes using the real version of Pauli matrices:

$$X=((0,1),(1,0))$$, $$Z=((1,0),(0,-1))$$, $$Y=XZ$$ (not $$\imath XZ$$).

I know the encoders for these codes lie in the Clifford group which is generated by the matrices (P,H,CX) described here:

Presentation of the Clifford group by generators and relations

Are H and CX enough to generate a real version of the Clifford group? Or is there an additional gate to replace the "P" gate? (This would be the group of real $$2^n \times 2^n$$ orthogonal matrices that normalize the group generated by the real Pauli matrices.)

This paper uses $$H$$, $$Z$$ and $$C_Z$$ to generate the real Clifford group. You can replace $$C_Z$$ by $$C_X$$, but you will need the same number of generators.

• Thanks, that's what I was looking for...the link to orthogonal designs is a nice bonus. – unknown Jun 27 at 16:10

Note that if you don't keep track of the phase $$i$$ in $$Y = iXZ$$, so letting $$\hat{Y} = XZ$$, then something 'weird' happens:

$$\hat{Y}\hat{Y} = XZXZ = X(-XZ)Z = -XXZZ = -I.$$ This is not just an oddity. Any stabilizer code with a generator $$G_{1}$$ containing an (odd number of) $$Y$$ will now not be possible, because: $$G_{1}G_{1} = -I \in \mathcal{S}.$$ But this is of course a contradiction, because $$-I$$ has no $$+1$$ eigenstates, and therefore cannot be part of the stabilizer.

By getting rid of that $$i$$ explicitly you thus destroy the structure of the code.

This is not to say that you explicitly need to keep track of the phase; many people use the binary formalism (see section 'Relation between Pauli group and binary vectors'). Here you also don't track the phase.

You are looking for the normalizer of the real Pauli group in the real Unitary group, which is the Orthogonal group. Because the commutation relations of the Paulis need to be preserved under conjugation of any element of the normalizer, all that such an operations can do is permute the elements $$\{\pm 1\}\otimes\{X,\hat{Y},Z\}$$. Table $$1$$ on page $$20$$ of this paper lists all such permutations (there are $$24$$, so that's why there are $$24$$ elements in the single-qubit Clifford group). The authors also decompose the permutations into different generators for the Clifford group, namely two half-rotations along either the $$X-,Y-$$ or $$Z$$-axes. I really think those generators are the most intuitive; you can also relatively easily adapt them to 'take out' the imaginary parts by distilling a global phase.

As noted in the other answer, another set of generators that you can use is $$\{H,Z\}$$, and equally $$\{H,X\}$$.

However, I would personally use the elementary permutations $$\{1,2,3\} \rightarrow \{1,-3,2\}$$ and $$\{1,2,3\} \rightarrow \{-2,1,3\}$$ (with $$\{1,2,3\}$$ indicating $$\{X,Y,Z\}$$), which you can use to create any permutation. These permutations are equivalent to a $$e^{i\frac{\pi}{2}X}$$ and $$e^{i\frac{\pi}{2}Z}$$ rotation, respectively. These are not real matrices, but do indicate much more structure.

• You don't lose (or gain) anything by working in the real version. In the real version all stabilizers have even number of Y's so S^2=1 always. Also any complex stabilizer code can be turned into a real version with the same distance...I had to do the conversion several times when checking published codes that are complex. To me the real version is more aesthetic but it also has several technical advantages. All these matrices are either hermitian or anti-hermitian, so mapping to unitaries is straight forward...(just multiply the anti-hermitian ones by i and exponentiate...) – unknown Jun 27 at 16:33