Investigations on Automorphism Groups of Quantum Stabilizer Codes
Abstract
The stabilizer formalism for quantum error-correcting codes has been, without doubt, the most successful at producing examples of quantum codes with strong error-correcting properties. In this paper, we discuss strong automorphism groups of stabilizer codes, beginning with the analogous notion from the theory of classical codes. Two weakenings of this concept, the weak automorphism group and Clifford-twisted automorphism group, are also discussed, along with many examples highlighting the possible relationships between the types of “automorphism groups”. In particular, we construct an example of a stabilizer code showing how the Clifford-twisted automorphism groups might be connected to the Mathieu groups. Finally, nonexistence results are proved regarding stabilizer codes with highly transitive strong and weak automorphism groups, suggesting a potential inverse relationship between the error-correcting properties of a quantum code and the transitivity of those automorphism groups.
1 Introduction
Although quantum computers are thought to be significantly more efficient than classical computers (e.g. Shor’s algorithm for integer factorization), they are also inherently more susceptible to noise and breakdown processes. The construction of a quantum error-correcting code (QECC) in [10] demonstrated how protection against a single-qubit error was possible, which was a milestone towards the practical realization of quantum computers. However, the problem of finding “good” QECCs is still difficult, and their theory is still in an early stage of development, compared to, say, the theory of classical error-correcting codes. We were interested in this very general question of finding “good” QECCs, with a particular emphasis on investigating how “symmetric” a QECC could be. We were also motivated by the recent paper of Harvey and Moore [7], in which possible connections are found among QECCs, conformal field theories, and the Mathieu moonshine phenomena. Similar theories for classical codes revolve around finding their automorphism groups, which explains the motivations behind some of the definitions and results in Section 2 and Section 3.
This paper is structured as follows: in the remainder of this section we will present a brief background of quantum error correction and stabilizer codes, following [5] and Chapter 10 of [8]. We will put more emphasis on the mathematical structures and skip much of the physical intuition behind QECCs. In Section 2 we will introduce three notions of automorphism groups of quantum codes, which we call strong, weak, and Clifford-twisted. We prove some basic results regarding these different types of automorphism groups. The bulk of this section, however, will be devoted to giving examples of all three types of automorphism groups of small QECCs, along with explaining how they might be calculated by hand. Particularly interesting is the example in Section 2.2.6, which gives evidence of a possible connection between Clifford-twisted automorphism groups of stabilizer codes and the Mathieu groups. In Section 3 we will show in certain cases that the strong and weak automorphism group of “good” stabilizer codes cannot be highly transitive, which suggests that the Clifford-twisted automorphism groups might have the most interesting properties. Along the way, we mention some problems that we found interesting, but did not have time to think about.
Acknowledgements
This research was supported by the Stanford Undergraduate Research Institute in Mathematics (SURIM) program during the summer of 2021. The author would like to thank Dr. Pawel Grzegrzolka for coordinating the program. The author also thanks his mentor, Dr. Daniel Bump, for introducing him to the area of quantum error correction, and also for many helpful conversations and insightful suggestions. His idea of investigating “twisted automorphisms” (Definitions 2.6, 2.13) was particularly fruitful.
1.1 Prelude: Classical Error Correction
We give a very brief overview of classical error correction to serve as motivation for the constructions of quantum error correction theory, which will be presented in Section 1.2. First, recall that in classical computing, the basic unit of computation is the bit, which takes a state of either 0 or 1; i.e. an element of . Thus an -bit state is just an element of .
The fundamental idea of classical error correction is repetition. In particular, if we want to transmit bits of information, we would repeat that information in such a way that it would be “hard” to confuse slight moderations of the encoded information with an encoding of a different bits of information. For instance, if we wanted to send the bits 0 and 1 through a somewhat noisy channel, we could instead send the 3-bit sequences 000 and 111, so that even if there is a 1-bit error, we could use a “majority rules” scheme to correct the error. As an explicit example, if we received 010, which is not a possible codeword, we could conclude with high probability that 000 was the intended message. In this manner, we are essentially embedding one bit into three by the identification of with the 1-dimensional subspace in , so we call such a scheme a linear code. We will soon see how the same ideas apply in the quantum world, although there are some caveats.
1.2 Quantum Error Correction
Definition 1.1.
A qubit is the basic unit of quantum computation. It is represented as the complex vector space with basis vectors and , so the state of a qubit is given by a nonzero linear combination (superposition) .
Some notational remarks are in order. First, we will write vectors/states in boldface, instead of the bra-ket convention popular in physics. Second, we will not bother with normalizing the state of a qubit so that , as that does not affect our discussion.
Definition 1.2.
A space of qubits is represented as the tensor product , where tensor products are taken over . A basis for this space is given by
the binary vectors of length .
We will usually refer to such a space of qubits as .
The central idea of quantum error correction is to identify a -qubit space with some -dimensional linear subspace, called the codespace, of an -qubit space, called the ambient space, where . We will call states in the ambient -dimensional space physical, and states in the -dimensional codespace logical. For example, if we encode a one-qubit space into three qubits by the map , we may refer to the physical state as “logical ”, denoted .
In this formalism, errors will just be linear operators acting on the codespace. To have error-correcting properties, this codespace should be redundant in some sense, but there is an added difficulty in that we are not allowed to create repetitions of quantum states, as we might do in classical computing. This is the no-cloning theorem, as discussed in Theorem 1 of [5]. Therefore, this codespace should consist of highly entangled states—“redundancy without repetition”. Moreover, in general physical situations, one may encounter errors randomly affecting a single qubit, or a small number of qubits, of the ambient space. A good code allows such errors to be corrected.
We now state the quantum error-correction conditions as a “black box”. A full derivation can be found in Section 10.3 of [8].
Theorem 1.3.
Let be a quantum code, and let be the orthogonal projection onto . Then can correct a set of errors if and only if there is a complex Hermitian matrix such that
(1) |
where run over all operators in , and ∗ is the conjugate transpose.
Using Theorem 1.3, one can show that if a code corrects a set of errors , then it also corrects any linear combination of the . This is an extremely powerful observation, because instead of possibly having to correct a continuum of errors, it now suffices to focus only on correcting a discrete set of error operations that span the full set of errors we want to correct. Because of this observation, it makes sense to introduce the Pauli matrices:
Definition 1.4.
The four Pauli matrices are defined as follows:
(2) |
We call the bit flip operator, since it sends to and vice versa. Similarly, we call the phase flip operator, since it sends to itself, but to . Finally, is a combined bit-phase operator, with an extra factor of thrown in to make the mathematics easier. The Pauli matrices act on the one-qubit space , but -fold tensor products of them act on an -qubit space in the natural way. For example, the tensor product acts on by sending to , to , etc. In the rest of this paper, we will simply write tensor products of Pauli matrices as concatenations, so that the above operator is simply .
The Pauli matrices have remarkable properties that will be fully exploited in the rest of the paper. First, they are all both unitary and Hermitian, and they form a basis of the 2-by-2 complex matrices. So by the discussion after Theorem 1.3, if we wanted to, for instance, correct arbitrary errors occurring on the first qubit of a three-qubit system, we simply need to correct the errors , , and (along with , which is automatic). Second, all of the Pauli matrices square to the identity, and they all commute or anticommute. In particular, two Pauli matrices anticommute if and only if they are different nonidentity matrices. This implies that the Pauli matrices form a projective representation of the four-group , which is why they are chosen as our basis of the 2-by-2 complex matrices. Since complex scalars, in general, do not concern us, the fact that the Pauli matrices act like the elements of is of great utility.
1.3 The Pauli Group and Stabilizer Codes
Now, although the quantum error-correction condition 1 is easy to verify for any particular code and set of errors, it is difficult to actually construct a code correcting a given set of error operations, particularly if that set is large. Indeed, we are usually interested in correcting sets of errors such as “all one-qubit errors,” which necessitates correcting an error set of size if the ambient space is an -qubit space (we need to correct an , , and error at each physical qubit). The stabilizer formalism introduced by Gottesman [4] provides a convenient workaround to this problem.
Definition 1.5.
The one-qubit Pauli group, denoted , is the group of matrices generated by , , and . This is a group of order 16:
Note that the elements of are just Pauli matrices multiplied by some phase factor, which is a fourth root of unity. All elements in square to plus or minus the identity, and all elements commute or anticommute. This means that is “almost” an elementary abelian 2-group: its commutator subgroup is , and is indeed an elementary abelian 2-group of order . It will also be useful to speak of mod its center , so that we can consider elements without worrying about scalar multiples. We denote by .
It is natural to generalize the Pauli group to -fold tensor products:
Definition 1.6.
The -qubit Pauli group, denoted , is the group of matrices generated by -fold tensor products of the Pauli matrices. This is a group of order , since there are possible tensor products, along with 4 possible phases (the fourth roots of unity).
Again, , is an elementary abelian 2-group, and . We denote by .
Before moving on to stabilizer codes, we mention an extremely useful way of writing elements of , known as the check matrix. We see that an element can uniquely be written as
where the are 0 or 1. Therefore we represent as
(3) |
which can be thought of as a vector in . For example, the element is represented as
The utility of this representation becomes clear when we define a symplectic bilinear form over given by
(4) |
where is the usual dot product in . Then it is straightforward to check that if have check matrix representations , respectively, and commute if and only if . Since is simply modded out by its center, the same is true for any lifts of to elements in . The check matrix representation gives us a compact way of writing set of elements in or , which will be useful later on.
We are now ready to define stabilizer codes. The key is to consider the action of on , and consider the fixed points of a subgroup of .
Definition 1.7.
Let be an abelian subgroup of not containing . Then
(5) |
is the stabilizer code corresponding to . We call the stabilizing subgroup corresponding to .
It is easy to check that is a subspace of the ambient space.
It is important to make a few remarks regarding this definition. First, must contain all vectors in that are fixed by everything in . In particular, for a code to be called a stabilizer code, there must be some abelian subgroup of , not containing , such that . It is not enough for . Second, we do not want to contain . Otherwise, if , then for any , we have , so that is trivial. Similarly, we require to be abelian: if do not commute, then they must anticommute, so that for any , we have . Note that because elements in either square to or , these two conditions imply that is an elementary abelian 2-group. Also, elements in may only have a scalar factor of plus or minus 1, lest they square to .
Given the construction of stabilizer codes, we would like to somehow connect a stabilizing subgroup with the dimension of , as well as with the errors that can correct. Let us first answer the former question. First, note that can have size at most . To see why, suppose has independent generators (so ), which we write in the check matrix format. We may think of as an -dimensional subspace of the -vector space . Because these generators all commute, is self-orthogonal with respect to the bilinear form in 4; that is, . But , so that .
With in mind, it now makes sense to state the following proposition:
Proposition 1.8.
Let be the stabilizer code corresponding to a stabilizing subgroup . If has independent generators, or equivalently , then has dimension ; that is, it encodes logical qubits.
Proof.
We claim that the orthogonal projection onto is given by . We must check that
-
1.
,
-
2.
for all ,
-
3.
.
For (1), we notice that the elements of are, up to sign, tensor products of the Pauli matrices, which are all Hermitian. Hence any is Hermitian, so is as well. For (2), we calculate , since implies for all . For (3), we have
since summing over all , for fixed, is the same as summing over all .
So because is an orthogonal projection onto , we have . Notice that , , and are traceless. Using this and the fact that , we see that the only term in that has nonzero trace is the identity. Hence . ∎
In this situation, we call an code, where the double brackets are meant to distinguish the quantum code from classical codes. From now on, will always be assumed to an abelian subgroup of not containing , and we will just write for if there is no ambiguity in the stabilizing subgroup .
We now discuss the error-correcting properties of . First, we need to define a slight abuse of notation:
Definition 1.9.
Let be the normalizer of in . We say that an element is in if there is some lift of in .
The idea behind this definition is that we can and should disregard the scalar phase of any element of , since we know that if corrects some error , it corrects any scalar multiple of . Notice that is equal to the centralizer of , since two elements of either commute or anticommute, and .
Along with this definition, we must reinterpret the quantum error-correction conditions, Theorem 1.3, in the language of stabilizer codes.
Theorem 1.10.
Let be the stabilizer code corresponding to a subgroup . If is a set of error operators in such that for all and , then the are correctable.
Proof.
See Theorem 10.8, [8]. ∎
The criterion in Theorem 1.10 is much easier to use than that in Theorem 1.3. Instead of having to construct the projection matrix onto our code and do various matrix calculations, the error-correcting properties of a stabilizer code can be computed only using knowledge of . Because of this, we introduce a few more definitions regarding elements of and :
Definition 1.11.
The weight of an element is the number of non-identity tensor factors in .
For instance, the element has weight 3, since it has three non-identity tensor factors.
Definition 1.12.
Let be an stabilizer code corresponding to a subgroup , where . Then the distance of is defined as
(6) |
Recall that we write as in the sense of Definition 1.9. In this case, we call a code.
Remark 1.13.
In the degenerate case , where is 1-dimensional (i.e. a single state), is empty, so the above definition does not make sense. We follow the convention of [3] and say that the distance is
(7) |
From these definitions, we see that the product of any two weight operators has weight at most , and that the conjugate transpose does not change the weight of an operator. Then it follows from Theorem 1.10 that any code with distance greater than can correct errors affecting any qubits.
Example 1.14.
Consider a subgroup generated by
These elements all pairwise commute, and does not contain , so the stabilizer code corresponding to encodes logical qubit. Moreover, one can directly verify that the distance of is 3—for instance, , but there are no elements of lesser weight in . This shows that can correct any error affecting one qubit, since .
Using the projection matrix of a stabilizer code as in Proposition 1.8, we can find a basis for :
Remark 1.15.
The aforementioned stabilizer code is the smallest able to correct one error on any qubit, in terms of the number of physical qubits.
2 Automorphism Groups of Codes
2.1 Definitions and Basic Results
Just like in the theory of classical codes, we can define the automorphism group of a QECC:
Definition 2.1.
Let be a quantum code. There is a natural action of on the -qubit ambient space . We define the strong automorphism group of as
(8) |
We are particularly interested in the case where is a stabilizer code with stabilizing subgroup . Indeed, in this case we may also consider the action of on given by permuting tensor factors. This action is equivalently given by , where and is the permutation matrix associated to in the natural basis of . Then the above condition for can be rephrased in terms of :
Proposition 2.2.
Let be a nontrivial (i.e. nonzero) stabilizer code corresponding to a subgroup . Then if and only if .
Proof.
Notice that fixes pointwise. Hence if , it follows that . But acts as an invertible linear map , which implies . This proves the “if” direction. Conversely, if , then is fixed pointwise by . It is also fixed pointwise by , so the same is true for the join of the two subgroups. Because is nontrivial, must be abelian and must not contain . Then by Proposition 1.8, must have the same size as , which implies . But is bijective, so we have equality, proving the reverse direction. ∎
Since all act as invertible linear maps on , we can simplify the result of Proposition 2.2 to a form that is more suitable for actually computing strong automorphism groups.
Corollary 2.3.
Let be a nontrivial stabilizer code corresponding to a subgroup . Let be generated by . Then if and only if for each .
Example 2.4.
Let be generated by and , so that . Using the Kronecker product for matrices, we can calculate the projection onto as
so that is spanned by and . Checking each of the permutations in , we obtain . Indeed, these are also the only permutations that satisfy , as is easily seen.
Remark 2.5.
At this point, it is worth mentioning that the strong automorphism group of a stabilizer code cannot be characterized by the parameters . For instance, let and be subgroups of . Then the corresponding stabilizer codes and both have parameters . But , while .
It turns out that the notion of “strong automorphism group” does not produce many interesting examples for stabilizer codes with small ; in particular, it seems that for most codes, the strong automorphism group is usually small compared to the full symmetric group. We will see more examples in Section 2.2, and we will give some reasons as to why this general heuristic might be true in Section 3. Therefore we now introduce an extension of the automorphism group concept.
Definition 2.6.
Let be a quantum code. We define the weak automorphism group of as
(9) |
That is, is “almost” , where we allow a twist of the vectors in by some element of the Pauli group (which is allowed to vary depending on , and is not necessarily unique). We should check that is actually a group. Indeed this is the case, since we can view as a semidirect product of sorts: if correspond to , then
(10) |
as can be easily verified. Recall that the action of on by permuting tensor factors is the same as the matrix action by conjugation, . Hence , since we can set .
We now want to somewhat justify the labels “strong automorphism” and “weak automorphism”. In Proposition 2.2, we were able to give a characterization of strong automorphisms in terms of the stabilizing subgroup of a stabilizer code. We can do the same for weak automorphisms:
Proposition 2.7.
Let be a nontrivial stabilizer code corresponding to a subgroup . Then if and only if , where .
Corollary 2.8.
Since is bijective, the following conditions are equivalent to the one in Proposition 2.7:
-
1.
If is generated by , then if and only if or is in for each .
-
2.
If is the projection , then ; that is, and are the same subgroup up to sign.
Proof of Proposition 2.7.
First, if , then for some . Because and have the same dimension, it follows from dimension considerations (Proposition 1.8) that is exactly the set of elements stabilizing . Similarly, because is invertible, it follows that is exactly the set of elements stabilizing , so . But commutes or anti-commutes with everything in , so .
Conversely, suppose . is an isomorphism of abelian groups, and does not contain (otherwise , contradiction). Since for an enumeration of the elements of , by counting and the fact that , we see that plus or minus is in for any . In particular, if are an independent set of generators for , we may find unique such that equals plus or minus . It follows that the generate .
Set , so . Renumber the ’s, ’s, and ’s so that , and . We would like to produce an element such that commutes with , and anticommutes with (if , then take , so we can assume ). It suffices to find a that commutes with , and anticommutes with .
Recall the check matrix representation of elements in (where we disregard elements of the center ), so we may consider as an -dimensional subspace of . It follows that the elements in commuting with all of form a subspace of dimension , which is the orthogonal complement with respect to the symplectic bilinear form 4. Similarly, the elements in commuting with all of form a subspace of dimension . Therefore we may find some element in but not in , and the corresponding (taking the phase scalar factor to be 1) is the desired element.
It follows that is generated by
so that . is the stabilizer for , and is the stabilizer for , so . Setting , we have . ∎
This somewhat justifies the “strong” and “weak” labels, since Propositions 2.2 and 2.7 show that a strong automorphism of sends to itself, while a weak automorphism sends to itself but “disregarding signs”. Of course the strong automorphism group is a subgroup of the weak automorphism group.
Example 2.9.
This example shows that this weaker notion of automorphism can enlarge the strong automorphism group, and we will see in some later examples that can be quite a bit larger than for certain stabilizer codes . This example also shows that is not necessarily normal in . So we may pose the following (somewhat vague) question:
Question 2.10.
Can we describe the relationship between and for a given stabilizer code ?
We extend the notion of an automorphism group one last time. For this, we need to introduce the (one-qubit) Clifford group , following the terminology of [1] and [2].
Definition 2.11.
The (one-qubit) Clifford group is the subgroup of the normalizer of in that contains entries from . It is generated by , , and .
In the terminology of quantum logic gates, is the Hadamard gate, and is the phase shift gate where the shift is by . Note that the conjugation actions of and on , , and are as follows:
.
We can extend the action of on to qubits as follows, which gives us our second weakening of the strong automorphism group:
Definition 2.12.
We define the -qubit diagonal Clifford group as
(11) |
has a natural conjugation action on , which motivates the following definition.
Definition 2.13.
Let be a stabilizer code corresponding to the subgroup . We define the Clifford-twisted automorphism group of as
(12) |
Since contains , we have the chain of inclusions for a stabilizer code . We are somewhat justified in calling an automorphism group: it is a group for the same reason that is a group, and because the elements of act as automorphisms of , it is not hard to show that if , then and have the same parameters.
To aid computation, we make some useful observations involving Definition 2.13. First, if generate , then for to be in it suffices to verify that for each . This can be further weakened: it suffices that plus or minus is in , since if we are only off by a sign, we can simultaneously correct for that by conjugating by an appropriate element of , as in the proof of Proposition 2.7. Finally, because we can disregard signs, we can interpret the action of on (or each tensor factor of ) as acting on the non-identity Pauli matrices. For instance, the above table shows that induces the permutation and induces the permutation on the set , and various combinations of and induce the other permutations of . So we can rephrase Definition 2.13 in a more verbose, but more intuitive, manner:
Corollary 2.14.
Let be a stabilizer code corresponding to the subgroup , and consider the componentwise action of on elements of (i.e. on each tensor factor, acts on the three non-identity Pauli matrices). Then if and only if there is some such that for each generator of , .
Note that we use to emphasize the fact that and have very different actions: permutes the tensor factors in each element, while permutes , , and in each tensor factor.
Let us use Corollary 2.14 in an example. Recall from Remark 2.5 that if is the stabilizer code corresponding to the subgroup generated by and , then . Using Corollary 2.8, it is easy to see that is the same group. However, we now show that is the full .
Example 2.15.
We want to show that , and we already know , so it suffices to show that . Applying this permutation to the generators and gives and . The latter two elements can be obtained from the former two by applying the permutation in the first tensor factor, and in the third. Hence .
2.2 Examples of Automorphism Groups
In this section we give many examples of , and for various small stabilizer codes with large distance. Most codes will be taken from [6]. The majority of these examples were calculated by hand and then verified using a SAGE program (see Appendix A). These hand calculations are somewhat tedious ad hoc processes, so we will only try to give a general outline of how they were done. We will also make some observations about the more noteworthy automorphism groups. However, we should again remark that the automorphism groups of a stabilizer code cannot be completely determined by the parameters , so these examples should be taken as interesting specific cases rather than showcasing a general phenomenon.
2.2.1 A code
Recall from Example 1.14 that the subgroup generated by
gives a stabilizer code , and it is the smallest able to correct one error on any qubit in terms of the number of physical qubits. We find that , the dihedral group of order 10. One could compute these groups by writing out the elements of in full:
Then it is clear that , since all of the elements have the same phase , and moreover any strong automorphism must take the four generators of to a cyclic permutation of . It should follow pretty easily that . We call stabilizer codes with (or more generally, any -cycle in place of ) cyclic, and they are of particular interest (see [4]).
It is much harder to come up with a systematic approach for calculating the Clifford-twisted automorphism group, so we must resort to “guessing” elements in . It is a good idea to begin with testing and , since those two permutations generate . In this case, we already have , so we try . This permutation sends the generators to
and twisting these by the permutations , , , , and in the respective tensor factors gives
all of which are in . Hence .
2.2.2 A code
Recall the and states from Example 1.14, which form a basis for the code mentioned above. We may consider the state , which defines a (degenerate) code . This “code” is important as an example of a maximally entangled state, following the terminology of [7].
It is not hard to check that the stabilizing subgroup corresponding to is generated by
It turns out that while is again , is in fact . For instance, sends to , which is not in , but rather in .
Note that this is another example where is not normal in .
To calculate these groups, we adopt the procedure from Section 2.2.1 and write out all the elements of . Since any permutation fixes and , we can focus on the first four generators of . It is a good strategy to do casework on the image of the first tensor factor, since we would then need to find four elements in with ’s in that slot (perhaps with the proper sign, depending on whether we are calculating the strong or weak automorphism group). We also use the constraint that the first four generators must be sent to elements of (or ) that have 2 ’s, 2 ’s, and 2 ’s as tensor factors. All of these types of criteria—location of the ’s in the tensor product, weights of elements, and the types of Pauli matrices used in each tensor product—are highly useful when performing hand computations.
Finally, we claim that . First, we check that : it sends the generators to
and twisting these by the permutations , , , , and in the respective tensor factors gives
all of which are in . It remains to check that . This sends the generators to
and twisting these by the permutations , , , , and in the respective tensor factors gives
all of which are in . Again, for this computation, it is important to exploit the position of ’s as tensor factors, since conjugation by elements of cannot change .
2.2.3 The Steane code
The Steane code corresponds to a subgroup that has generators given by
is derived from the classical Hamming code—this is apparent if one writes out the check matrix representations of these generators, and compares that matrix to the parity-check matrix of the Hamming code. It is of primary interest as an example of a CSS code (see Section 10.4.2 of [8] for the full details). Since it is derived from the Hamming code, which has an automorphism group of , it should be of no surprise that . In general, it is at least true that the strong automorphism group of a CSS code is isomorphic to the automorphism group of the classical code it is derived from.
By writing out all of the elements of , one can check that is also . This provides a nontrivial example where all three types of automorphism group are equal.
2.2.4 An code
The tables at [6] give us the generators for the stabilizing subgroup of an code :
This code is significant because it is the smallest-sized code encoding 3 logical qubits that can correct any single-qubit error. We can calculate that
We may alternatively identify as , the 1-dimensional affine general linear group over , which acts sharply 2-transitively on 8 points. This is a group of order 56 with a unique Sylow 2-subgroup isomorphic to .
To calculate these groups, one can use the following remarkable description of the elements of : each of the elements in that are not , , , or , contain exactly 2 ’s, 2 ’s, 2 ’s, and 2 ’s as tensor factors. Moreover, for any pair of integers , exactly one of those 28 elements has ’s as tensor factors in slots and .
To calculate , we use the fact that is 2-transitive, so it suffices to find the stabilizer of slots 1 and 2. A tedious check by casework (using the positions of tensor factors, as well as the above observations about , as our guide) shows that this stabilizer is of order 3 and generated by . Hence is a group of order . We may identify as the 1-dimensional affine semilinear group , which is a semidirect product .
2.2.5 An code
It turns out that the code mentioned in 2.2.4 has an subcode , which is the smallest-sized code encoding 2 logical qubits that can correct any single-qubit error. Its stabilizing subgroup is generated by
Note that the product of the fourth and fifth generators of give the fourth generator of the aforementioned code.
Now, any element of or sends the generator to another weight-3 element in (up to sign). By analyzing the weight-3 elements in (there are only 8 of them), we can conclude that the only nontrivial element in both and is . So although the strong automorphism group of the above code was sharply 1-transitive, and the weak automorphism group of the same code was sharply 2-transitive, neither nor are transitive.
2.2.6 A code
Consider the following generators of a stabilizing subgroup :
These ten elements are cyclic permutations of each other. It can be checked that determines a degenerate code , and from [6] we see that 4 is the best possible distance for a code. Note that this is not the same code given at [6].
Now, we will later see (Theorems 3.3 and 3.5) that there are no nondegenerate 12-qubit (resp. 11-qubit) stabilizer codes with strong or weak automorphism group (resp. ). This suggests that the Clifford-twisted automorphism group might be the “correct” automorphism group to investigate, if we are trying to find some connections between stabilizer codes and the small Mathieu groups. This code provides some evidence of such a connection: we have
a 3-transitive group of order 1440. This group is also isomorphic to the 2-dimensional projective semilinear group , as well as to the automorphism group of the unique (up to isomorphism) Steiner system.
It is evident that , since it is even a strong automorphism. To see that , one applies this permutation to the above ten generators and then twists by in the 5th, 6th, 8th, and 9th tensor factors (in the other tensor factors, we do nothing). Recall from the discussion surrounding Definition 2.11 that this twist is, up to sign, the Hadamard gate. The resulting elements of will all be in . Since is a maximal subgroup of , it remains to show that some transposition, say , is not in . This is not too hard to do using the program in Appendix A: one way is to apply to the first and third generators listed above (so they become and , respectively), and show that the resulting two elements of cannot be simultaneously twisted into elements of .
The general heuristic for the construction of this code is as follows: somehow the code should be related to the unique Steiner system, since as mentioned above is the automorphism group of that Steiner system. From [11] we obtain a description of the blocks of such a system, and we place ’s in tensor factors corresponding to ten of those blocks, which will be cyclic permutations of each other. In some way, this makes sense to try, since the identity matrices act as “distinguished elements”: ’s, ’s, and ’s can all be twisted into each other, but that is not true with ’s. The rest of the construction consists of playing around with the remaining six tensor factors and eventually coming upon the “right ones”.
As a final remark, the Clifford-twisted automorphism group of this code is indeed the most interesting: both the strong and weak automorphism groups of are
.
2.2.7 An code
Table 8.5 of [4] gives the generators for the stabilizing subgroup of an code as follows:
This code is significant because it is the smallest-sized code that can correct arbitrary errors on any two qubits (see [6]). is slightly too large to analyze using the aforementioned techniques, or via brute-force using the program in Appendix A; however, we strongly suspect that both and are trivial.
Question 2.16.
Are the strong and weak automorphism groups of trivial?
3 Stabilizer Codes with Highly Transitive Automorphism Groups
In this section, we try to investigate the general question of “how symmetric can a good stabilizer code be?” We will focus on stabilizer codes that have distance at least 3 (so they can at least correct one error on any qubit, hence “good”), and we will try to find those codes with multiply transitive strong and weak automorphism groups (hence “symmetric”).
The examples in Section 2.2 suggest that in general, the strong and weak automorphism groups of a good code cannot be “too symmetric”. For instance, the highest degree of transitivity we observed was 2-transitive, such as in the Steane code with strong and weak automorphism group (Section 2.2.3), and in a code with weak automorphism group (Section 2.2.4). We believe that this is a good heuristic, and we now provide some results supporting this point of view.
Theorem 3.1.
An stabilizer code with or as its strong or weak automorphism group has .
We make a useful definition:
Definition 3.2.
Let be a subset of . Then the complexity of is the number of different Pauli matrices (, , , or ) that appear as tensor factors in elements of (so the complexity is an integer in ). We define the complexity of an element similarly. For example, the subset has complexity 4, even though both elements and have complexity 2.
Proof of Theorem 3.1.
Let be the stabilizer code in question with parameters , and let be its stabilizing subgroup. Note that any stabilizer code with distance at least 3 must be able to correct an arbitrary error on a single qubit, which means it must be at least 5 physical qubits large (see, for example, the quantum Hamming bound discussed in Section 10.3.4 of [8]). So we may assume that .
We prove the theorem in the case or , and the proof for is essentially the same.
Now, has complexity 1, 2, 3, or 4. If has complexity 1, then it is the trivial subgroup, so we can disregard this case. If has complexity 2, then without loss of generality every element is a tensor product of ’s and ’s. Then is in the normalizer , so either it is in or . The same applies for , , etc., so either contains them all or . In the former case, will have size , so that . In this case, still equals 1, applying the distance convention for zero-dimensional stabilizer codes as discussed in Remark 1.13.
If has complexity 3, then without loss of generality, every element is a tensor product of ’s, ’s, and ’s. Suppose has an in slot (the th tensor factor) and has a in slot . Then we may choose some permutation , which is either or , such that . So plus or minus is in , and taking the positive sign (without loss of generality), we see that . But this element has a in slot , contradicting the complexity of .
If has complexity 4, we first claim that no element in can have complexity 3 or 4. If had complexity 3 or 4, then it has , , and as tensor factors somewhere, say
(without loss of generality, since it will be apparent that it does not matter where these tensor factors are located). Then applying an appropriate 3-cycle , we get , so that plus or minus is in . In either case, the point is that and do not commute, a contradiction.
So elements in have complexity at most 2. Suppose we had some complexity 2 element , which is, without loss of generality, a tensor product of ’s and ’s only, with at least 1 copy of each. Let have an in slot and an in slot . Now, because we assume , there are at least 3 more slots, so either or appears in the remaining slots at least twice. Without loss of generality, suppose appears in slots and of , where are pairwise distinct. Consider the permutation , so that has the effect of only switching the in slot and the in the slot (the ’s in slots and are invisibly switched). Then plus or minus is in , so taking the positive sign, we see that has an in every slot of the tensor product, except in slots and , where it has ’s.
Then because is at least 5, by applying elements in , it follows that any tensor product of ’s and exactly two ’s is in , up to sign. Then the elements
are independent in , so has size at least . But the complexity 4 hypothesis means that contains some term with a or , and that element is certainly independent from the above set, so must have size exactly . So , and by the distance convention for zero-dimensional stabilizer codes, .
The only case we have not considered is where all elements in have complexity 1. Then is a subgroup contained in , and is a weight 2 element in , so . ∎
The classification of finite simple groups tells us that the only -transitive groups for are and for large enough . We also know that the only 5-transitive groups are the Mathieu groups and , and the only 4-transitive groups are and . Therefore it makes sense to discuss these groups next. We will now deal with the small Mathieu groups, starting with .
Theorem 3.3.
There is no stabilizer code with ambient space that has strong or weak automorphism group .
Proof.
We prove the statement in the case, since the case only gives us increased freedom to make sign changes in elements of the stabilizer group, which doesn’t make a difference. In particular, in all that follows, we will mean “equal up to a sign ” when we say “equal”, unless stated (we will only need to deal with signs in a few places). The only fact about we will need is that it is 5-transitive as a permutation group on 12 points.
Let be a stabilizer code (encoding at least 1 logical qubit) corresponding to the stabilizer subgroup with . We prove that this inclusion must be strict.
Disregarding the trivial case, the complexity of must be 2, 3, or 4. First, if the complexity of is 2, then without loss of generality, all elements are tensor products of ’s and ’s. Pick some not equal to or (if there is no such element, then ), so that has at most 6 ’s as tensor factors. Note that we could change the ’s and ’s and the argument still works. We can assume without harm that the ’s are located consecutively in the first slots, so is one of the following, up to sign:
It does not actually matter where the ’s are located, since the argument can be easily modified for any position of the ’s.
Because is 5-transitive, we may produce one of the elements in the below list by applying a permutation from to . The dots mean that we do not exactly know the order of the remaining tensor factors, since we may only specify the images of 5 points (qubits).
Let be the corresponding element to . Notice that in each case, is an element with weight 2, except in the last case, where could have weight 4. But in the last case we can just repeat this procedure to produce some element of weight 2. Let us call this process reduction to a weight 2 element, since we will want to refer to it later. We have essentially shown that if contains an element of weight at most 6, then it contains an element of weight 2.
So contains some element of weight 2. By 5-transitivity of , contains all tensor products of ’s and ’s of weight 2, of which the 11 elements
are independent. Since , is generated by exactly these elements. Now, notice that if we apply the appropriate element in the 5-transitive group to , we get with the same sign as . Multiplying these, we see that (with the positive sign added for emphasis). Then , the product of the first two generators, has the same sign as , so the transposition is in (it fixes the rest of the generators). Therefore , since does not contain any transposition. This finishes the discussion of the complexity 2 case.
As in the proof regarding or automorphism group, transitivity of shows that cannot have complexity 3.
It remains to discuss the complexity 4 case. First, we show that there cannot be an element in with complexity 2. This argument essentially follows the above work where has complexity 2: given an element with complexity 2, we may reduce to a weight 2 element that only has ’s and one other Pauli matrix as tensor factors (say, ). Then the same argument shows that would have to be generated by (by the hypothesis). This is a contradiction to being complexity 4.
So there is an element in with complexity at least 3 (if all elements in had complexity 1, then ). We claim that there is in fact an element in with complexity 4. Suppose the first three slots of are (as usual, it doesn’t matter what order they are in, what slots they are in, or what Pauli matrices they are, as long as they are pairwise distinct). There are four possibilities:
-
1.
, interpreted as a string of Pauli matrices, begins . By 5-transitivity of there is some that begins . Then their product begins , the desired element of complexity 4.
-
2.
begins . By 5-transitivity of there is some that begins . Then their product begins , the desired element of complexity 4.
-
3.
begins . By 5-transitivity of there is some that begins . Then their product begins , the desired element of complexity 4.
-
4.
begins . This already has complexity 4.
Therefore we may assume without loss of generality that has complexity 4, and that the first four tensor factors of are .
Now, we look at elements of . By the bounds found at [6], contains an element of weight at most 6. We turn to looking at the possibilities case by case:
-
1.
Weight 1:
-
(a)
because it does not commute with . A similar argument shows that , .
-
(a)
-
2.
Weight 2:
-
(a)
because it does not commute with . A similar argument shows that , .
-
(b)
because it does not commute with . A similar argument shows that .
-
(a)
-
3.
Weights 3 through 6: it is easily seen that if , then for (the same argument works for , since in that case only differs from by signs). Then if has weight 3, 4, 5, or 6, we may reduce to an element of weight 2. This falls into the above case.
In all cases, we get a contradiction, so we are done.
∎
Remark 3.4.
This method fails with and . We know that there is a stabilizer code that at least has strong automorphism group ; this is the CSS code generated from the classical Golay code (see section 7.15.4 of [9]. There should also be a “code” that is the CSS code generated from the classical extended Golay code.
One can use the same method to show the following:
Theorem 3.5.
There is no stabilizer code with ambient space that has strong or weak automorphism group .
The main difference is that reduction to a weight 2 element is now only valid for elements of weight at most 5. But luckily this does not pose a problem: , so the arguments for complexity 2 elements still hold, and the bounds at [6] show that for any stabilizing subgroup contains an element of weight at most 5, so the last casework step can be repeated. Every other step in the proof of Theorem 3.3 can be done using only 4-transitivity.
We end this paper by presenting some questions that naturally follow from topics discussed above.
Question 3.7.
Describe stabilizer codes with . Replace by and the Mathieu groups, if possible.
Question 3.8.
Describe stabilizer codes with 3-transitive or . Replace “3-transitive” by “2-transitive”, “transitive”, and “cyclic” if possible.
Question 3.9.
Can a stabilizer code with trivial strong (resp. weak) automorphism group be arbitrarily good? That is, are there stabilizer codes with trivial strong (resp. weak) automorphism groups having arbitrarily large distance? Replace “trivial” with “cyclic” if possible.
References
- [1] Beverley Bolt, T. G. Room, and G. E. Wall. On the clifford collineation, transform and similarity groups. i. Journal of the Australian Mathematical Society, 2(1):60–79, 1961.
- [2] Beverley Bolt, T. G. Room, and G. E. Wall. On the clifford collineation, transform and similarity groups. ii. Journal of The Australian Mathematical Society, 2:80–96, 1961.
- [3] A.R. Calderbank, E.M. Rains, P.W. Shor, and N.J.A. Sloane. Quantum error correction via codes over GF(4). pages 292–, 1997.
- [4] Daniel Gottesman. Stabilizer codes and quantum error correction. PhD thesis, California Institute of Technology, May 1997.
- [5] Daniel Gottesman. An introduction to quantum error correction and fault-tolerant quantum computation. 2009.
- [6] Markus Grassl. Quantum error-correcting code tables. http://codetables.de, 2019. Accessed: 2021-08-08.
- [7] Jeffrey A. Harvey and Gregory W. Moore. Moonshine, superconformal symmetry, and quantum error correction. Journal of High Energy Physics, 2020(5), May 2020.
- [8] Michael A. Nielsen and Isaac L. Chuang. Quantum Computation and Quantum Information: 10th Anniversary Edition. Cambridge University Press, USA, 10th edition, 2011.
- [9] John Preskill. Chapter 7 of notes on quantum computation. http://theory.caltech.edu/~preskill/ph229/notes/chap7.pdf.
- [10] Peter W. Shor. Scheme for reducing decoherence in quantum computer memory. Phys. Rev. A, 52:R2493–R2496, Oct 1995.
- [11] Eric W. Weisstein. Steiner quadruple system. https://mathworld.wolfram.com/SteinerQuadrupleSystem.html.
Appendix A SAGE Code for Computing Automorphism Groups
Here is some SAGE code using a brute-force method to calculate the strong and weak automorphism groups of a stabilizer code. Thanks to Dr. Daniel Bump for his major assistance in writing this program.
""" SAGE Code for looking for automorphisms of stabilizer quantum error correcting codes. """ # For reference, x,y,z = Pauli matrices # h,s = Hadamard and Phase gates. X = Matrix([[0,1],[1,0]]) Y = Matrix([[0,-i],[i,0]]) Z = Matrix([[1,0],[0,-1]]) H = Matrix([[1,1],[1,-1]]) S = Matrix([[1,0],[0,i]]) # The Pauli error group is defined by generators and relations: FG.<x,y,z,j> = FreeGroup() PE = FG/{j^4,x^2,y^2,z^2,x*y/x/y*j^2,y*z/y/z*j^2,z*x/z/x*j^2,x*j/x/j,y*j/y/j, z*j/z/j,x*y/j/z,y*x*j/z,y*z/j/x,z*y*j/x,z*x/j/y,x*z*j/y} PE.inject_variables() def ca(a, split=False): """ Canonical form for the Pauli Error group elements """ for b in [PE.one(),x,y,z]: for k in [PE.one(),j,j^2,j^3]: if a == k*b: if split: return [k,b] else: return k*b return a def emul(A,B,debug=False): """ Multiplication for Pauli error group elements in canonical form """ a0 = A[0] b0 = B[0] r0 = a0*b0 rt = [] for [t,u] in zip(A[1:],B[1:]): [p,q]=ca(t*u,split=True) r0 *= p if debug: print (t,u,p) rt.append(q) ret = [ca(r0)] for t in rt: ret.append(t) return ret def eprod(M,n): """ M is a subset of the stabilizer group S Returns the product of the elements of M. """ ret = tuple((n+1)*[PE.one()]) for m in M: ret = emul(ret,m) return list(ret) def unpack(st): """ Pauli error group elements may be represented by strings and unpacked by this function. sage: unpack("XYZZY") (1, x, y, z, z, y) """ ret = [PE.one()] for c in st: if c == "X": ret.append(x) elif c == "Y": ret.append(y) elif c == "Z": ret.append(z) elif c == "I": ret.append(PE.one()) return tuple(ret) def pack(w): ret = "" for t in w[1:]: if t==PE.one(): ret += "I" elif t==x: ret += "X" elif t==y: ret += "Y" elif t==z: ret += "Z" return ret def Stabilizer(S): """ Return the stabilizer group generated by a set of generators of the Pauli error group in string notation. The generators must commute and the generated group may not contain -I. """ n = len(S[0]) return [eprod(M,n) for M in Set(unpack(s) for s in S).subsets()] def GenToArray(S): """ Takes an array of generator strings and returns the same Pauli elements in standard form. """ return [list(unpack(s)) for s in S] StabTest = ["XXX", "YYI", "ZXZ"] Stab513 = ["XZZXI","IXZZX","XIXZZ","ZXIXZ"] Stab604 = ["IXZZXI","IIXZZX","IXIXZZ","IZXIXZ","XXXXXX","ZZZZZZ"] Stab713 = ["IIIXXXX", "IXXIIXX", "XIXIXIX", "IIIZZZZ", "IZZIIZZ", "ZIZIZIZ"] Stab833 = ["XIZIYZXY", "IXZZYXYI", "IZXIYYZX", "IZIYZXXY", "ZZZZZZZZ"] Stab823 = ["XIZIYZXY", "IXZZYXYI", "IZXIYYZX", "IZZYZXZZ", "IIZIIIYX", "ZZZZZZZZ"] Stab933 = ["XIZIYZXYI", "IXZZYXYII", "IZXIYYZXI", "IZIYZXXYI", "ZZZZZZZZI", "IIIIIIIIX"] Stab1004 = ["XIIZXZXZII", "IXIIZXZXZI", "IIXIIZXZXZ", "ZIIXIIZXZX", "XZIIXIIZXZ", "ZXZIIXIIZX", "XZXZIIXIIZ", "ZXZXZIIXII", "IZXZXZIIXI", "IIZXZXZIIX"] Stab1115 = ["ZZZZZZIIIII", "XXXXXXIIIII", "IIIZXYYYYXZ", "IIIXYZZZZYX", "ZYXIIIZYXII", "XZYIIIXZYII", "IIIZYXXYZII", "IIIXZYZXYII", "ZXYIIIZZZXY", "YZXIIIYYYZX"] """ StabTest should have Autweak=S3 and Autstrong=S2. Try using ListPerms function. """ def ListPerms(Gen): """ Prints out permutations in weak and strong automorphism groups, as well as the sizes of the groups. Weak automorphism group is calculated first to improve efficiency. Input: List of strings with generators for stabilizing subgroup; e.g. Stab513 """ genList = GenToArray(Gen) C = Stabilizer(Gen) short_gen = [w[1:] for w in genList] short_code = [w[1:] for w in C] size = len(short_code[0]) weakgroup = [] stronggroup = [] for p in Permutations(size): check = true for w in short_gen: if check == true: check = [w[p[i]-1] for i in range(size)] in short_code else: break if check == true: print(p) weakgroup.append(p) print("Size of weak automorphism group: " + str(len(weakgroup))) for p in weakgroup: check = true for w in genList: if check == true: check = ([w[0]]+[w[p[i]] for i in range(size)]) in C else: break if check == true: print(p) stronggroup.append(p) print("Size of strong automorphism group: " + str(len(stronggroup)))