Fix $n$, the number of qubits and $k$, the number of encoded logical qubits. We can find a set of $(n-k)$ operators that all mutually commute and moreover form a group $S$. Let's assume that the group $S$ is a subgroup of the Pauli group. We can use these operators to fix a $2^{n-k}$ vector space.

Now consider all the stabilizer groups $S_i$ formed this way, encoding $k$ qubits in $n$, and consider the set $\mathcal{S}= \{S_i \, \vert\, i=1 \ldots N\}$, where $S_i$ is a specific stabilizer group that stabilizes some $2^{n-k}$ dimensional vector space. How can I explicitly parametrize this set? For example: for $n=3$ and $k=1$, we could have $S_1 = \langle Z_1Z_2, Z_2 Z_3\rangle $ and $S_2 = \langle X_1X_2, X_2 X_3\rangle $, and so forth for other distinct stabilizer groups.

One possible way to a solution is to consider the parity check matrix for a specific $S_i$, and then ask what group action we could define will on the parity check matrix of $S_i$ to produce the parity check matrix for any other stabilizer group of the same cardinality. But I don't know how such a group would act on the stabilizer group. In my example for $(n,k) = (3,1)$ above, for example, I can change $S_1$ to $S_2$ by conjugating by a Hadamard, and I think this corresponds to a right multiplication of some $2n \times 2n $ matrix on the parity check matrix.

Because of this example, I am tempted to think that what I require is conjugation by either the whole Clifford group or a subgroup of it to act by conjugation of the $S_i$, and that will correspond to a symplectic $(2n \times 2n)$ matrix acting on the parity check matrices. In that case, the set $\mathcal{S}$ is parametrized by fixing a specific stabilizer group $S_i$ and acting on it by conjugation by a unitary representation of the Clifford group or subgroup. Is this close?

  • $\begingroup$ What do you exactly want to get? As far as I understand in the question, you are trying to represent the stabilizer group by representing one of the stabilizers via a symplectic matrix and the other ones by some transfomations of such matrix. I don't really see the motivation of representing the stabilizer group this way, as you could represent it by the whole parity check matrix taking the symplectic represetnation of every generator of the stabilizer and then forming a $(n-k)\times 2n$ matrix. $\endgroup$ Sep 11, 2018 at 7:34
  • $\begingroup$ @JosuEtxezarretaMartinez I want ultimately to put weigh each element $S_i$ by some probability. So for example I could pick the bit flip code with 0.5 probability and the phase flip code with 0.5 probability. In reality the set $\mathcal{S}$ will be larger and so I need a way of ensuring I can get to every element in the set $\endgroup$
    – Amara
    Sep 11, 2018 at 15:33

1 Answer 1


There's good news and bad news. The good news is that your intuitions are essentially right, and that there is such a group action via the Clifford group. The bad news is, depending on what you want out of that parameterisation, it may not be as useful as you are hoping.$\def\ket#1{\lvert #1 \rangle}$

The good news first — every Pauli stabiliser group on $n$ qubits, with $r = n-k$ independent generators, can be mapped to any other such group by conjugation by Clifford group operators. The simplest way to show this is by induction on $r$. If $r = 0$, then there is only one such stabiliser group: the trivial group $\{ \mathbf 1 \}$. For any $r > 0$, given an input stabilizer group $S$, you can reduce to the case of $r-1$ by the following steps:

  • Select any generator $P_r$ of the stabiliser group, and some qubit $x_r$ on which $P_r$ acts non-trivially.

  • Find a Clifford group operator $C_r$ such that $C_r P_r C_r^\dagger = Z_{n-r}$, the single-qubit Pauli $Z$ operator acting only on qubit $(n-r)$. The operator $C_r$ may involve SWAP operators in order to exchange the tensor factors for qubit $x_r$ and $(n-r)$.

  • Determine how the other generators of the stabilizer group transform under $C_r$. This produces a list of generators for the group $S' = \{ C_r P C_r^\dagger \,\vert\, P \in S\}$. Because $S'$ is abelian, the image of each generator either acts on qubit $(n-r)$ with $\mathbf 1$ or $Z$. In the latter case, produce a new generator by multiplying it by $Z_{n-r}$. As $Z_{n-r}$ is an element of $S'$, this yields an equivalent set of generators for the group.

Having done this, you have a stabiliser group for a subspace which is stabilized by $Z_{n-r}$. Any state in this group factors as a tensor product of $\ket{0}$ on qubit $(n-r)$, and some state on the remaining qubits. By considering the stabilizer code defined on all of the other qubits, you have reduced to the case of a stabiliser group on $n-1$ qubits and with $r-1$ generators.

If we unpack this inductive proof, we obtain a recursive procedure to map any stabiliser code $S$ with $r$ generators to a Clifford circuit $\mathcal C$ which maps that stabiliser group to the specific group $$\mathcal Z_{n,r} := \langle Z_{n-r}, Z_{n-r+1}, \ldots, Z_n\rangle \,.$$ If you have two such codes $S_1$ and $S_2$, just compose their circuits $\mathcal C_2^\dagger \mathcal C_1$ to obtain a circuit which maps $S_1$ to $S_2$. There is some redundancy, in that different sets of generators of the stabilizer group of $S_j$ will yield different circuits $\mathcal C_j$: this corresponds to the fact that some Clifford circuits just evaluate automorphisms (i.e. logical unitaries) of the code. But never mind: what you have is a way of generating any stabilizer code on $n$ qubits with $r$ stabilizer generators from a single code.

The bad news is that, as this stands, all that we have done above is in effect to parameterize stabiliser codes by their encoding circuits. By "encoding circuit", I mean just the circuit which takes a $k = n-r$ qubit state $\ket{\psi}$, and then encodes $\ket{\psi}$ in an $n$-qubit system by preparing $r$ fresh qubits in the state $\ket{0}$ and acting on them by an appropriate unitary. By reducing an arbitrary stabilizer code with $r$ generators to a 'canonical' (and extremely dull) code whose stabilizer group is $\mathcal Z_{n,r}$, we have proven nothing more or less than that a stabilizer code is one with a Clifford encoding circuit. Describing stabiliser codes in terms of the orbit of $\mathcal Z_{n,r}$ under the $n$-qubit Clifford group is no more or less than describing codes in terms of their encoding circuits. This is a good fact to rely on, but more of a basic result than a deep result.

If you take some other code as the 'reference' code, then you are essentially doing the same thing, except prefacing that encoding circuit by some other Clifford circuit. This point of view may or may not be helpful to you — it's certainly a good elementary property to be aware of, when you're discussing stabiliser codes and stabiliser states with others who are less familiar with them — but without imposing additional constraints on what encoding circuits or code representations you're interested in (e.g. to limit the automorphisms of codes which you consider), my guess is that this parameterisation may be of limited usefulness. The crux, in the end, will be which properties of stabilizer codes you are concerned with.

  • $\begingroup$ So all this is saying is that given a stabilizer group I can just get a random Clifford unitary act by conjugation on each of the generators and get another stabilizer group? $\endgroup$
    – Amara
    Sep 11, 2018 at 20:10
  • 1
    $\begingroup$ You don't even need anything I wrote to get that, actually. That's true essentially by the definition of the Clifford group. What I show is that you can get all of the other stabiliser groups (of the same cardinality and on the same number of qubits as your original stabiliser group) in this way. $\endgroup$ Sep 11, 2018 at 20:25
  • $\begingroup$ Not sure how to parameterise distinct [[n,k]] codes, but as a starting point, one may use a group structure for it: take the reference code (in de Beaudrap's reply) to be the [n,k] trivial code, & ask what symplectic matrices correspond to the trivial code? These form a subgroup of Sp(2n,Zd) (call it T). Then the cosets of Sp(2n,Zd)/T map bijectively to distinct [[n,k]] codes. This structure may be of use (rule of thumb: a group always has some uses). For instance we computed the number of stabilizer states for arbitary d, an important quantifier in QC: arxiv.org/abs/2209.01449 $\endgroup$ Sep 7, 2022 at 13:03

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.