Fault-tolerant gates via homological product codes

Fault-tolerant gates via homological product codes

Tomas Jochym-O’Connor tjoc@caltech.edu Walter Burke Institute for Theoretical Physics, Institute for Quantum Information & Matter, California Institute of Technology, Pasadena, CA 91125, USA

A method for the implementation of a universal set of fault-tolerant logical gates is presented using homological product codes. In particular, it is shown that one can fault-tolerantly map between different encoded representations of a given logical state, enabling the application of different classes of transversal gates belonging to the underlying quantum codes. This allows for the circumvention of no-go results pertaining to universal sets of transversal gates and provides a general scheme for fault-tolerant computation while keeping the stabilizer generators of the code sparse.


matrix \xyoptionframe \xyoptionarrow \xyoptionarc \xyoptionps \xyoptiondvips \entrymodifiers=!C\entrybox

1 Introduction

Quantum error correction extends qubit coherence times through error mitigation and will be a requirement for any large-scale quantum computation. In this vein, tremendous research efforts have been placed on finding quantum error correcting codes that may be realizable in both the near and distant future. Among the leading candidates for experimental implementation are 2D topological stabilizer codes, such as the toric code Kitaev (2003); Fowler et al. (2012), which allow for the correction of errors by measuring small-weight local checks while protecting logical information in highly non-local degrees of freedom Barends et al. (2014); Chow et al. (2014); Nigg et al. (2014); Kelly et al. (2015); Takita et al. (2016). These codes are experimentally appealing due to their stabilizers being low-weight, thus minimizing the effect of noise during measurement. They can be generalized to higher spatial dimensions, again with the stabilizer generators being relatively low-weight, and provide theoretically simple implementations of different classes of fault-tolerant logic Bombín (2015a); Kubica and Beverland (2015); Bravyi and König (2013); Pastawski and Yoshida (2015); Kubica et al. (2015); Jochym-O’Connor et al. (2018). The motivation for quantum error correcting codes to have geometrically local stabilizers (in a given dimension) is to simplify experimental architectures, yet this may not necessarily be a hard requirement. However, the need for low-weight stabilizer checks is much stronger, as larger weight checks lead to more noise propagation, and generally lower threshold error rates. The theory of quantum low-density parity check (LDPC) codes has been developed to address such concerns and finding good codes with low-weight checks remains a very active area of research MacKay et al. (2004); Kovalev and Pryadko (2012); Bravyi and Hastings (2014); Freedman and Hastings (2014); Tillich and Zémor (2014); Hastings (2017). Moreover, LDPC constructions can be used to construct codes with very little overhead for fault-tolerant computation, relying on the preparation of logical ancillary states Gottesman (2014); Leverrier et al. (2015); Fawzi et al. (2018a, b). This work will not focus on the development of such codes, but rather will center on how to generally use such codes for the purposes of fault-tolerant computation.

Obtaining a universal set of fault-tolerant gates is complicated by the existence of no-go results for such constructions using only transversal gates Eastin and Knill (2009); Zeng et al. (2011). However, many alternative schemes have been developed to circumvent this restriction. They rely on the preparation of special ancillary states and gate teleportation Shor (1996); Knill et al. (1996); Bravyi and Kitaev (2005), or tailored fault-tolerant constructions for certain classes of codes Paetznick and Reichardt (2013); Bombín (2015a); Jochym-O’Connor and Laflamme (2014); Anderson et al. (2014); Bombín (2015b); Bravyi and Cross (2015); Jochym-O’Connor and Bartlett (2016); Jones et al. (2016); Yoder et al. (2016). This work extends the set of fault-tolerant alternatives, presenting a scheme for fault-tolerant logic on any CSS code while keeping the underlying stabilizer measurements low-weight.

We present a method for implementing fault-tolerant logical gates in a homological product code Bravyi and Hastings (2014). Namely, given the homological product of two quantum codes, we show how to map in a fault-tolerant manner between the encoded homological product logical state to a logical state specified by one of the two codes. Then, if the underlying codes have a set of transversal gates, such logical gates can be applied and the state can be re-encoded back into the full codespace fault-tolerantly. There are no restrictions on the underlying codes, other than having to be defined by a boundary operator  such that  in the linear space . In particular, by using versions of the 2D and 3D color codes Bombín and Martin-Delgado (2006); Kubica and Beverland (2015) as the underlying codes in the construction, a universal set of fault-tolerant operations can be implemented. The mapping between different representations of the code follows a similar construction to Ref. Jochym-O’Connor and Laflamme (2014), where one of the two codes is unencoded while the other provides the protection. The key difference between the methods is that the stabilizers of the homological product can remain low-weight, unlike those in a concatenated model. Moreover, we present a decoding method to address errors that may occur during the unencoding of one of the two codes. Given certain properties of the underlying codes, this will result in a finite probability error threshold along the lines of Ref. Kovalev and Pryadko (2013) as well as potential protection against measurement errors.

The article is organized as follows: In Sec. 2 we review the theory of CSS codes defined by chain complexes and the construction of the homological product codes, carefully considering their underlying structure. In Sec. 3 we present the main result, a fault-tolerant method to implement a logical gate using homological product codes as well as discuss a simple decoding procedure. In Sec. 4 we present examples of codes that exhibit a set of universal fault-tolerant gates, expanding on the notions of code padding and doubling. Finally, we conclude with some remarks and open questions in Sec. 5.

2 Homological Product Codes

2.1 Single sector theory

We begin by reviewing the connection between CSS codes and homology. Namely, as in Ref. Bravyi and Hastings (2014), we focus on single sector theory111In general, CSS codes can be constructed from chain complexes where are linear operator satisfying: . in , that is a chain complex defined by a linear space  and a linear boundary operator , such that . We can then use such a boundary operator to define a CSS code Calderbank and Shor (1996); Steane (1996), that is a stabilizer code whose generators can be expressed as either -type or -type.

Let be a -dimensional binary space , then will be a binary matrix. The (perhaps over-complete) generating set of  stabilizers will be given by the rows of , that is for a given row, a generator  will have  support on the qubits with a 1 in the given row. Similarly, the  stabilizers will be defined by the columns of the matrix. Given , we are thus assured commutativity of the stabilizers. The number of independent generators of both type will be , and as such the number of logical qubits of the code will be .

For the remainder of this section we shall focus on the reverse implication. That is, given a CSS code whose and  stabilizer spaces are of the same dimension, one can construct a boundary operator  of a single-sector theory. The results presented are a fairly straightforward corollary of Lemma 3 from Ref. Bravyi and Hastings (2014), yet we include them here for completeness and to review some important concepts, namely the canonical boundary operator.

Lemma 1.

Given a CSS code on qubits, whose and  stabilizer spaces are each of cardinality , therefore encoding  qubits. Then, there exists a invertible matrix , and canonical boundary operator  defined as:


such that , where the rows (columns) of  contain a set of generators of the  () stabilizer group.


Given the existence of a CSS code, by the Gottesman-Knill theorem Gottesman (1997) there exists a unitary operator  composed solely of CNOT gates that maps  to the encoded stabilizer code, where  and is a -qubit state. This statement can be expressed in terms of matrix manipulation on , where  will represent the initial state of the stabilizers before the application of the encoding circuit, that is the rows of  represent the initial  states, and the columns the initial  states. A CNOT gate with qubit  as control, and qubit  as target can then be expressed according to the invertible matrix:


where is the standard basis column vector one non-zero entry at position . The action of  by conjugation maps column  to the sum of columns , and row to the sum of rows . This is the exact action required from a CNOT, as it maps  to and to . Note, as required for a valid representation of a CNOT gate, , where again we are working modulo 2. Then, the encoding operation  can be broken into its CNOT components and can be expressed as . As such,


will be a valid representation of the stabilizers of the code. Since  is a valid representation of the encoding circuit of the code, the rows (columns) of will remain a valid representation of the () stabilizers since they were so for . ∎

Perhaps as importantly for the purposes of this article, if the given CSS code has a generating set of stabilizers that are sparse, then the resulting constructed  will be sparse. We define the sparsity of a code to be the smallest integer  such that there exists a set of generators of the code whose weights are at most  while any given qubit participates in at most  stabilizer checks.

Corollary 2.

Given a CSS code on qubits with an equal number of and  stabilizers and sparsity , then a boundary operator  can be constructed such that no row or column will have more than  non-zero entries.


Given some sparse representative set of stabilizers , as in the proof of Lemma 1, a unitary circuit  can be chosen that maps and . Consider the right action of in terms of its action on the canonical boundary operator:


where on the right side of the equality we have a matrix whose rows are either all-zero or a binary representation  of the stabilizer . This follows from the fact that the right application of  results in the propagation of the initial  stabilizers to their final generator form. Then, by the sparsity of the stabilizer generators, each row will be of weight at most  and each column will have weight at most . Now consider the left application of applied to , thus completing the conjugation, the resulting matrix will have rows that will be sums of the different rows of . Moreover, each row of  will be a sum of at most  rows , and will as such be of weight at most . Finally, since a given row can map to at most  other rows, each non-zero entry within a column of  can map to at most  entries within that column. Therefore, since there were at most  non-zeros entries in a column of , there can be at most  non-zeros in each column of 

2.2 Homological Product Construction

Given two complexes , with their associated spaces and single sector boundary operators, we define a new operator as in Ref. Bravyi and Hastings (2014),


acting on . It follows from  that , again since we are working in . Therefore, is a valid single sector complex, defining its own quantum CSS code.

We now restate some important properties of the homological product.

Lemma 3 (Bravyi and Hastings (2014)).

Let , be complexes defining codes with , and  logical operators, respectively. Let , then the resulting complex  will encode  logical qubits and


Suppose that is the sparsity of . Moreover, let be the and distances for the corresponding codes. Then, the weight and distances of the new code can be bounded according to the parameters of the original code.

Lemma 4 (Bravyi and Hastings (2014)).

The sparsity of is upper bounded by . The and  distance of the new code satisfy the following bounds:


2.3 Encoding the homological product code

In this subsection, we review some facts about the encoding circuit for  Bravyi and Hastings (2014). As eluded to in Section 2.1, there are invertible matrices such that , where  are the canonical boundary operators for . The matrices  are binary representatives of the encoding circuit for the given code, and as such, by taking their tensor product we obtain the encoding operation for . That is:


where we have defined  to be the canonical boundary operator for . We can express  in matrix form as follows:


where are the number of logical qubits and is the number of stabilizers of the given code code.

Figure 1: Initial state of the homological product code prior to encoding Bravyi and Hastings (2014). Each circle represents a qubit, with the black qubits representing those holding the logical information to be encoded. Blue qubits are prepared in the  state, while red qubits are prepared in . The yellow qubits joined by an oscillating edge are prepared in a Bell pair .

It is worth further exploring the form of , as this will be informative of how the logical information is encoded in the code. Each row and column of  will be of weight at most 2. Moreover, if a given row has 2 non-zeros entries, say at positions and , then any column with a non-zero entry at  will also have a non-zero entry at position  in order to satisfy commutativity. As such, these rows and columns represent an initial entangled Bell pair between qubits  and  since they will be stabilized by the operators  and .

(a) encoder

(b) encoder
Figure 2: Schematic representation of the support of the encoding circuits for each of the codes underlying the homological product code, defined by the boundary operator . The overall encoding circuit has a binary representation of the operator , which acts on the initial state represented in Fig. 1. That is, the physical encoding unitary for the code  will act on every column on qubits from Fig. 1, and conversely the physical encoding unitary  will act on every row.

The initial state can be pictorially represented by Fig. 1, where along a fixed row and column, the states in  and  are fixed, respectively. Then, the tensor product binary operators  and  will have geometric meaning in this picture. Note for the remainder of this work, we will denote  as the physical encoding unitaries composed of CNOT gates acting on the quantum states whose binary representation is given by . Thus will couple qubits within vertical bands, while will couple qubits within horizontal bands, as represented in Fig. 2.

3 Fault-tolerant logical gates

3.1 Partial decoding of the homological product code

The key idea for expanding the set of available fault-tolerant logical gates will be for the two underlying codes composing the homological product to have different complimentary sets of transversal gates. Then, we can achieve the application of these logical gates by only decoding one of the two underlying codes, while remaining protected by the other. This is reminiscent of the scheme for implementing fault-tolerant gates using two concatenated codes Jochym-O’Connor and Laflamme (2014), with the added advantage that the stabilizers remain low-weight in the case of the homological product.

The main result is that, while we decode one of the codes, we still remain fully protected by the other code. While errors may potentially propagate during the application of the decoding process, they can still be corrected as long as the number of faults is less than half the distance of the underlying code protecting the information (that is the code that remains encoded at all times). The main Theorem is a variant of Lemma 4 stated above (originally Lemma 2 from Ref. Bravyi and Hastings (2014)), yet is proved using the concept of error bands.

Recall the homological product is defined by the complex , where are binary spaces. The complex defines a code with  physical qubits, which we label where  and . Then, a Pauli operator  is supported only on  if , we will therefore denote such Pauli operators . We will call the error band  to be all possible Pauli operators of the form , that is a product of any Pauli operators  with . Conversely, the error band  will be all possible Pauli operators of the form . Moreover, we will say that a Pauli error  is supported on the set  of error bands  if the operator is supported by the qubits composing those error bands, that is . A Pauli operator supported on a set of error bands  is defined similarly and whether the operator is supported on error bands  or  should be clear from context. Note that the unitary will only couple qubits within a fixed error bands , while conversely will only couple qubits within fixed error bands .

Theorem 5.

Let , be complexes and let be the homological product code constructed from these codes with . Then any error  supported on fewer than error bands  cannot support a logical operator. Similarly, any error  supported on fewer than error bands  cannot support a logical operator.


Consider an error  supported on fewer than  error bands , let the affected bands be denoted by the set , that is , where . Since any error can be expressed in the Pauli basis, if we show any Pauli error supported on the above set cannot support a logical operator, cannot support a logical operator. As such, without loss of generality, suppose is a Pauli error. Consider the modified error , where is the encoding unitary for the code . Then, if we can show that cannot support a logical operator on the new codespace after applying , then by unitary equivalence it cannot on the homological product codespace.

Any logical operator must commute with all of the stabilizers of the code. The modified codespace is given by the boundary operator , that is it will correspond to logical codeblocks encoded in the code  along with accompanying encoded ancilla state222An encoded ancillary state is a fixed state that contains no non-trivial logical information, yet still may be partially encoded.. This can be viewed visually by considering the initial unencoded state in Fig. 1 followed by the encoding operation of Fig. (b)b. Therefore, in order for  to support a logical error, it will have to support a logical operator on one of the first  error bands . Without loss of generality, consider the first error band , that is the first row of qubits in Figs. 1-2, and the support of  on that band, . Therefore, the weight of the Pauli operator given by  is limited by the number of initial error bands  on which the error was supported, that is: , and as such since any logical operator supported on the band  must be of weight at least , the error  cannot support a logical error. Since this will be true for all encoded logical bands supported on , with , the error  cannot support a non-trivial logical error.

To conclude, since cannot support a logical error on the code specified by the boundary operator , then cannot support a logical operator on the code specified by . ∎

Equipped with Theorem 5, we propose the following scheme to implement a fault-tolerant logical gate. Suppose the logical gate  can be implemented transversally on the single-qubit partition of the code induced by the complex , that is it can be implemented by applying gates that are each individually supported on single qubits of the code. Then, in order to apply the logical gate  on the logical state of the homological code , we begin by unencoding the code , that is we apply the unitary . At this point, the first  blocks of  qubits remain encoded in the code , while the the remaining blocks are in an encoded ancillary state. Therefore, we can apply the transversal implementation of the logical gate  on any of the logical states we desire. We complete the logical gate application by then reencoding into the code  by applying .

The proposed scheme is fault-tolerant in that, it will be able to correct against up to  faults throughout the process. Any error that occurs during the application of either , , or the transversal gate can spread to a high-weight error, yet such an error will remain within a single error band . This follows as the application of only ever couples qubits within the same error band . Similarly, a transversal gate with respect to the code  will not couple different error bands , by definition. Therefore, any single fault  can result in an error that is contained within the error band . Since any logical error must be supported on at least such error bands, any error affecting less than half of such error bands must remain correctible by the Knill-Laflamme condition Knill and Laflamme (1997).

By symmetry, given a transversal gate  on the single-qubit partition of the code , a fault-tolerant implementation of  can be achieve by applying , followed by the transversal gate, and a reencoding . Such a fault-tolerant gate will be able to correct against up to  faults.

3.2 Correcting errors

In the last section, we showed how even when decoding one of the two codes, we can always protect against at least  faults. However, the encoding/decoding operations may generally have  time steps333Decoding of stabilizer codes amounts to Gaussian elimination on the binary-symplectic matrices representing the stabilizers. This can be done using a polynomial number (in the input size) of elementary matrix row manipulations which correspond to Clifford gates., and as such, errors will accumulate within a given error band (assuming an independent non-Markovian error processes), resulting in an error with probability: , where  is the physical error rate. This is undesirable from the perspective of fault tolerance, as we hope that for a given family of codes, by growing the distance, the probability of incurring a logical error decreases exponentially below some threshold value. Yet, if the underlying error rate is growing polynomially with the distance, this yields a pseudo-threshold for each code, rather than a global threshold for a code family.

In this section, we present a simple decoding algorithm for the homological product code, based on the decoding algorithm of the individual codes composing the homological product. While the presented scheme will likely be far from ideal in many settings, it will serve as a proof of principle decoder as well as provide a means to correct against errors during the implementation of the fault-tolerant logical gates. This will help alleviate the concern errors accumulating within an error band due to the encoding/decoding having a macroscopic number of individual time steps. As will be discussed at the end of this subsection, in some cases this will guarantee a fault-tolerance threshold against independent noise. However, the existence and value of such a threshold would have to be studied on a case-by-case basis.

Consider the homological product code as specified in the previous subsection, with a boundary operator . Moreover, suppose we have recovery operators  for each code that returns the code to the codespace and corrects with certainty when the weight of the error is below half the distance of the respective code. We present the following Corollary to Theorem 5, which follows directly from the proof of that result.

Corollary 6 (of Theorem 5).

Let , be complexes and let be the homological product code constructed from these codes with . Then, for any error  supported on fewer than error bands , the error  is correctible using the recovery operator , where such that .

The above Corollary states that given a correctible error, as stated by Theorem 5, conjugating that error by either decoding operator will result in a correctible error on the remaining encoded states in the code .

We propose the following decoding algorithm. Given an encoded state in the traditional homological product code, we measure the syndromes of the code as specified by the row ( type) and columns ( type) of the boundary operator . Now, given these measurement outcomes, we can map them onto syndrome outcomes for either of the two code, using the following procedure. Without loss of generality, suppose we would like to map them onto the syndromes of the code . We know the modified boundary operator corresponds to  logical states that are encoded in the code . Specifically, the first rows and columns of  will correspond to the stabilizers of the code , see Eq. 12 for an example, replacing with . Suppose we measured a given stabilizer  of the original stabilizer code such that , that is records the stabilizer measurement outcome. Then since the encoding circuit is Clifford, and  is Pauli, we can efficiently classically compute the form of the transformed syndrome . Moreover, will keep the same commutation relation with the transformed error , that is . Therefore, we can use the transformed stabilizers to determine the syndrome of  in the code . To find the appropriate recovery Pauli operator  we use the known decoder of , and transform  back into a recovery operator for the original code by classically computing , which is again efficient since is a Clifford circuit.

We can then generalize the above method to address a build up of errors throughout the fault-tolerant process presented in Sec. 3.1. Suppose, without loss of generality, we want to implement the logical gate  which is transversal for the code . Then, we would start with unencoding  by applying , where are the CNOT gates used in constructing the encoding unitary . After the application of each , the code will be partially unencoded and the resulting boundary operator will be of the form , where 444We have used an abuse of notation to denote as both the unitary CNOT gate and the binary representative for the CNOT. We feel it is clear from the context which operator we are referring to.. If we assume that throughout the application of each  operator the generators of the code remain sparse, then we can measure these generators after each application  in order to address the errors that occurred during the application of that gate. The errors are then corrected by classically mapping the stabilizer generators  onto those of , and using, as outlined above, the decoder of  to correct for the resulting errors.

A final remark on the stabilizer generators of . As stated above, if we were to measure them after every application of , we would like them to remain sparse. In general, while the initial and final boundary operators  and  are certainly sparse, there will be no guarantee that the intermediary matrices remain sparse as well. However, for many common codes, such as topological codes, this can be achieved by choosing an appropriate encoding unitary. Roughly speaking, the idea is to build up the non-local logical operators of a topological code by growing the code at its boundary in a systematic manner Brown et al. (2011). Moreover, if the stabilizers remain sparse at every time step, and the distance of each of the respective codes scale as  for some positive power of , then we can invoke the result Ref. Kovalev and Pryadko (2013) to prove the existence of a fault tolerance threshold. Moreover, as outlined in Ref. Kovalev and Pryadko (2013), if the syndrome measurements are repeated then we may overcome measurement errors as well and still have a finite error threshold. Finally, repeated measurements may even be avoided if the underlying codes have single-shot correction properties Bombín (2015c); Campbell (2019). An explicit construction of a decoder applied to this setting remains an interesting open problem.

4 Universal constructions

In this section, we explore an explicit example of a family of codes for implementing a universal set of fault-tolerant operations using the construction from Section 3.1. We will focus on the Clifford universal gate set Barenco et al. (1995). Let the code  be the 2D color code with distance  encoding a single logical qubit. The code has parameters , for a constant , and can implement any Clifford gate transversally Bombín and Martin-Delgado (2006); Kubica and Beverland (2015). The code  will be composed of the gauge-fixed 3D color code. That is, a particular choice of the 3D color code where volume cell terms are of both and  type, while the face terms are only of  type. The resulting code has a transversal implementation of a , a non-Clifford gate and code parameters , for a constant  Bombín (2015a); Kubica and Beverland (2015). However, due to the asymmetry in the number of and  stabilizer generators, arising from having to fix the face terms to be -type, the resulting code cannot be directly used in the single-sector homological product code construction. We present two alternative code constructions of , one based on code padding, and one using two complementary copies and re-encoding them in the repetition code.

4.1 Code padding

Suppose we have a CSS code  that we want to use in a universal fault-tolerant implementation of a homological product code, and moreover assume without loss of generality there are more  generators than  generators. In order to use the code  in a homological product code construction, as presented, we must have the same number of independent and  stabilizers. A rather simple alternative code that we can use is to pad the original code with extra ancillary qubits in the  state, thus adding an extra set of single-qubit  generators. The resulting code will have the same distance as the original code, where all non-trivial logical Pauli operators can be supported on the original qubits of the code. For example, in the case of the smallest gauge-fixed 3D color code, the 15-qubit Reed-Muller code, we can pad the code with an extra 6  qubits, resulting in a  code. While this extra padding of qubits does not change the base code other than trivially alternating the number of underlying stabilizer generators, these generators will play a role in the homological product, via the initial entanglement present in the unencoded state, represented by .

Therefore, the universal scheme for implementing a set of fault-tolerant logical operations that can correct an arbitrary single qubit error will use the Steane and padded Reed-Muller codes, which are the smallest distance 3 versions of the 2D and padded 3D color codes, respectively. The overall scheme will have coding parameters , where corresponds to the minimum fault-tolerant distance of the overall scheme, not necessarily the distance of the homological code itself. The stabilizer measurements will be of weight at most 15, see Appendix A. This is a large improvement over requiring measuring stabilizers of weight 28 in the concatenated scheme Jochym-O’Connor and Laflamme (2014), which leads to punitive threshold values and qubit overheads Chamberland et al. (2016, 2017); Chamberland and Jochym-O’Connor (2017).

4.2 Code doubling

The process of code doubling was first presented in Refs. Kitaev (2006); Bravyi et al. (2010) for converting between Majorana fermion codes and stabilizer codes. We will outline the general logical procedure for any CSS code here, yet it can be generalized for arbitrary stabilizer code rather similarly.

Consider a CSS code  of  physical qubits with stabilizer generators , where  is a list of qubits in the support of  and the use of the superscript  will become clear shortly. Similarly, the  stabilizers are given by . Consider now a rotated version of  where each of the  stabilizers are replaced by  stabilizers and vice-versa, call this code . More explicitly, the and  stabilizers of  are given by: , . Therefore, the different superscripts represent different blocks of  qubits.

Figure 3: Encoding circuit for the 4-qubit repetition code. The stabilizers generators of the code are: .

These two codes are then re-encoded into the  repetition code, whose encoding circuit is given in Fig. 3. The third block of qubits will be initially prepared as , while the fourth block will be prepared as . Consider how the stabilizers are transformed under the action of the circuit in Fig. 3:


Note that we can combine the mapped stabilizers with those of the repetition code in order to recognize a complete symmetry between the and  stabilizers of the code. While it may immediately follow from the presented construction, one can show that the above construction is equivalent to concatenating the code with the code  and its rotated compliment . Moreover, the distance of the new code will be twice that of the original code. Therefore, this concatenated code provides a code that can be used in the homological product code construction.

Choosing the code  to be the gauge-fixed 3D color code along with its rotated compliment , we can use these codes in conjunction with the 2D color code for the purposes of universal fault-tolerant computation via homological product codes. To perform any logical Clifford gate, it will be sufficient to decode the repetition code, followed by the decoding of , for either or both , depending on which codeblock one would like to apply the desired Clifford gate transversally.

In order to implement the  gate fault-tolerantly, one would first decode the 2D color code, as specified in Sec. 3.1. At this point, one could not directly apply the non-Clifford gate transversally, as the two encoded codeblocks will still be further encoded in the  code. However, one can then decode the  code by applying the circuit of Fig. 3 in reverse. This will preserve the protection guaranteed by Theorem 5 as each block of 4-qubits will belong to the same error band, allowing the application of a transversal  gate bookended by fault-tolerant operations.

A final note regarding code doubling: since the stabilizers are symmetrized, the code will gain a transversal Hadamard gate. The logical result of the transversal Hadamard will be to implement logical Hadamard followed by logical SWAP between the two logical qubits. As such, for this particular operation, code doubling allows for a rapid implementation of this logical gate without having to decode one of the codes in the homological product.

5 Conclusion

This work introduces a method for implementing a set of logical gates using homological product codes, applicable to any set of CSS codes. Namely, we show that if the underlying codes composing the homological product have complementary classes of transversal gates, then this scheme can be used to implement a fault-tolerant universal gate set. Moreover, if the underlying codes have stabilizer generators that are sparse, the construction will remain sparse, allowing for the implementation of a fault-tolerant gate set that does not require measurement of high-weight operators. This method is particularly interesting for the theory of quantum LDPC codes, where the hope would be to construct codes with good parameters and sets of transversal gates. If one were able to find such codes, this may lead to an alternative method for implementing universal fault-tolerant computation with constant overhead, in a similar manner to recent results that used special ancillary states to obtain a universal set of gates Gottesman (2014); Leverrier et al. (2015); Fawzi et al. (2018a, b). A recent result exploring the connection between homological product codes and single-shot error correction highlights a potential avenue for constructing codes with interesting transversal gates Campbell (2019), yet new constructions remain elusive.

The presented scheme relies on decoding one of the two codes composing the homological product, applying the transversal gate, and re-encoding. The encoding/decoding process may indeed spread errors in a dramatic way, yet due to the protection of the other code, the global operation remains fault-tolerant. If the encoder/decoder of each code preserves the sparsity of the code after each gate, then modified stabilizers may be measured during the encoding/decoding process, allowing for increased protection. Moreover, this should imply the existence of a finite error probability threshold due to the stabilizer generators always being low weight as long as the distance grows as a positive power of the number of qubits Kovalev and Pryadko (2013).


We thank Benjamin J. Brown, and Sam Roberts for insightful discussions on intermediary correction of errors during the fault-tolerant operations. We also thank Christopher Chamberland and John Preskill for comments during the development of this work and Sergey Bravyi for feedback on the initial manuscript. We acknowledge the support from the Walter Burke Institute for Theoretical Physics in the form of the Sherman Fairchild Fellowship as well as support from the Institute for Quantum Information and Matter (IQIM), an NSF Physics Frontiers Center (NFS Grant PHY-1733907).


  • Kitaev [2003] Alexei Y. Kitaev. Fault-tolerant quantum computation by anyons. Annals of Physics, 303(1):2–30, 2003. doi: 10.1016/S0003-4916(02)00018-0.
  • Fowler et al. [2012] Austin G. Fowler, Matteo Mariantoni, John M. Martinis, and Andrew N. Cleland. Surface codes: Towards practical large-scale quantum computation. Phys. Rev. A, 86:032324, 2012. doi: 10.1103/PhysRevA.86.032324.
  • Barends et al. [2014] R. Barends, J. Kelly, A. Megrant, A. Veitia, D. Sank, E. Jeffrey, T. C. White, J. Mutus, A. G. Fowler, B. Campbell, et al. Superconducting quantum circuits at the surface code threshold for fault tolerance. Nature, 508(7497):500–503, 2014. doi: 10.1038/nature13171.
  • Chow et al. [2014] Jerry M. Chow, Jay M. Gambetta, Easwar Magesan, David W. Abraham, Andrew W. Cross, B. R. Johnson, Nicholas A. Masluk, Colm A. Ryan, John A. Smolin, Srikanth J. Srinivasan, et al. Implementing a strand of a scalable fault-tolerant quantum computing fabric. Nature communications, 5, 2014. doi: 10.1038/ncomms5015.
  • Nigg et al. [2014] Daniel Nigg, Markus Mueller, Esteban A Martinez, Philipp Schindler, Markus Hennrich, Thomas Monz, Miguel A Martin-Delgado, and Rainer Blatt. Quantum computations on a topologically encoded qubit. Science, page 1253742, 2014. doi: 10.1126/science.1253742.
  • Kelly et al. [2015] J. Kelly, R. Barends, A. G. Fowler, A. Megrant, E. Jeffrey, T. C. White, D. Sank, J. Y. Mutus, B. Campbell, Yu Chen, et al. State preservation by repetitive error detection in a superconducting quantum circuit. Nature, 519(7541):66–69, 2015. doi: 10.1038/nature14270.
  • Takita et al. [2016] Maika Takita, Antonio D Córcoles, Easwar Magesan, Baleegh Abdo, Markus Brink, Andrew Cross, Jerry M Chow, and Jay M Gambetta. Demonstration of weight-four parity measurements in the surface code architecture. Phy. Rev. Lett., 117(21):210505, 2016. doi: 10.1103/PhysRevLett.117.210505.
  • Bombín [2015a] Héctor Bombín. Gauge color codes: optimal transversal gates and gauge fixing in topological stabilizer codes. New J. Phys., 17(8):083002, 2015a. doi: 10.1088/1367-2630/17/8/083002.
  • Kubica and Beverland [2015] Aleksander Kubica and Michael E. Beverland. Universal transversal gates with color codes: A simplified approach. Phys. Rev. A, 91:032330, 2015. doi: 10.1103/PhysRevA.91.032330.
  • Bravyi and König [2013] Sergey Bravyi and Robert König. Classification of topologically protected gates for local stabilizer codes. Phys. Rev. Lett., 110(17):170503, 2013. doi: 10.1103/PhysRevLett.110.170503.
  • Pastawski and Yoshida [2015] Fernando Pastawski and Beni Yoshida. Fault-tolerant logical gates in quantum error-correcting codes. Phys. Rev. A, 91:012305, 2015. doi: 10.1103/PhysRevA.91.012305.
  • Kubica et al. [2015] Aleksander Kubica, Beni Yoshida, and Fernando Pastawski. Unfolding the color code. New Journal of Physics, 17(8):083026, 2015. doi: 10.1088/1367-2630/17/8/083026.
  • Jochym-O’Connor et al. [2018] Tomas Jochym-O’Connor, Aleksander Kubica, and Theodore J Yoder. Disjointness of stabilizer codes and limitations on fault-tolerant logical gates. Phys. Rev. X, 8(2):021047, 2018. doi: 10.1103/PhysRevX.8.021047.
  • MacKay et al. [2004] DJC MacKay, G Mitchison, and PL McFadden. Sparse-graph codes for quantum error correction. IEEE Transactions on Information Theory, 50(10):2315–2330, 2004. doi: 10.1109/TIT.2004.834737.
  • Kovalev and Pryadko [2012] Alexey A Kovalev and Leonid P Pryadko. Improved quantum hypergraph-product ldpc codes. In 2012 IEEE International Symposium on Information Theory Proceedings, pages 348–352. IEEE, 2012. doi: 10.1109/ISIT.2012.6284206.
  • Bravyi and Hastings [2014] Sergey Bravyi and Matthew B Hastings. Homological product codes. In Proceedings of the forty-sixth annual ACM symposium on Theory of computing, pages 273–282. ACM, 2014. doi: 10.1145/2591796.2591870.
  • Freedman and Hastings [2014] Michael H Freedman and Matthew B Hastings. Quantum systems on non-k-hyperfinite complexes: a generalization of classical statistical mechanics on expander graphs. Quant. Inf. Comput., 14(1-2):144–180, 2014. doi: 10.26421/QIC14.1-2.
  • Tillich and Zémor [2014] Jean-Pierre Tillich and Gilles Zémor. Quantum ldpc codes with positive rate and minimum distance proportional to the square root of the blocklength. IEEE Transactions on Information Theory, 60(2):1193–1202, 2014. doi: 10.1109/TIT.2013.2292061.
  • Hastings [2017] Mathew B. Hastings. Weight reduction for quantum codes. Quantum Information & Computation, 17(15-16):1307–1334, 2017. doi: 10.26421/QIC17.15-16.
  • Gottesman [2014] Daniel Gottesman. Fault-tolerant quantum computation with constant overhead. Quantum Information & Computation, 14(15-16):1338–1372, 2014. doi: 10.26421/QIC14.15-16.
  • Leverrier et al. [2015] Anthony Leverrier, Jean-Pierre Tillich, and Gilles Zémor. Quantum expander codes. In Foundations of Computer Science (FOCS), 2015 IEEE 56th Annual Symposium on, pages 810–824. IEEE, 2015. doi: 10.1109/FOCS.2015.55.
  • Fawzi et al. [2018a] Omar Fawzi, Antoine Grospellier, and Anthony Leverrier. Efficient decoding of random errors for quantum expander codes. In Proceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing, pages 521–534. ACM, 2018a. doi: 10.1145/3188745.3188886.
  • Fawzi et al. [2018b] Omar Fawzi, Antoine Grospellier, and Anthony Leverrier. Constant overhead quantum fault-tolerance with quantum expander codes. arXiv:1808.03821, 2018b. URL https://arxiv.org/abs/1808.03821.
  • Eastin and Knill [2009] Bryan Eastin and Emanuel Knill. Restrictions on transversal encoded quantum gate sets. Phys. Rev. Lett., 102:110502, 2009. doi: 10.1103/PhysRevLett.102.110502.
  • Zeng et al. [2011] Bei Zeng, Andrew W. Cross, and Isaac L. Chuang. Transversality Versus Universality for Additive Quantum Codes. IEEE Transactions on Information Theory, 57:6272–6284, 2011. doi: 10.1109/TIT.2011.2161917.
  • Shor [1996] Peter W. Shor. Fault-tolerant quantum computation. Proceedings of the 37th Annual Symposium on Foundations of Computer Science, pages 56–65, 1996. doi: 10.1109/SFCS.1996.548464.
  • Knill et al. [1996] Emanuel Knill, Raymond Laflamme, and Wojciech H. Zurek. Threshold accuracy for quantum computation. arXiv: quant-ph/9610011, 1996. URL https://arxiv.org/abs/quant-ph/9610011.
  • Bravyi and Kitaev [2005] Sergey Bravyi and Alexei Kitaev. Universal quantum computation with ideal Clifford gates and noisy ancillas. Phys. Rev. A, 71:022316, 2005. doi: 10.1103/PhysRevA.71.022316.
  • Paetznick and Reichardt [2013] Adam Paetznick and Ben W. Reichardt. Universal fault-tolerant quantum computation with only transversal gates and error correction. Phys. Rev. Lett., 111:090505, 2013. doi: 10.1103/PhysRevLett.111.090505.
  • Jochym-O’Connor and Laflamme [2014] Tomas Jochym-O’Connor and Raymond Laflamme. Using concatenated quantum codes for universal fault-tolerant quantum gates. Phys. Rev. Lett., 112:010505, 2014. doi: 10.1103/PhysRevLett.112.010505.
  • Anderson et al. [2014] Jonas T. Anderson, Guillaume Duclos-Cianci, and David Poulin. Fault-tolerant conversion between the steane and reed-muller quantum codes. Phys. Rev. Lett., 113:080501, 2014. doi: 10.1103/PhysRevLett.113.080501.
  • Bombín [2015b] Héctor Bombín. Dimensional jump in quantum error correction. New J. Phys., 18(4):043038, 2015b. doi: 10.1088/1367-2630/18/4/043038.
  • Bravyi and Cross [2015] Sergey Bravyi and Andrew Cross. Doubled color codes. arXiv:1509.03239, 2015. URL https://arxiv.org/abs/1509.03239.
  • Jochym-O’Connor and Bartlett [2016] Tomas Jochym-O’Connor and Stephen D. Bartlett. Stacked codes: Universal fault-tolerant quantum computation in a two-dimensional layout. Phys. Rev. A, 93:022323, 2016. doi: 10.1103/PhysRevA.93.022323.
  • Jones et al. [2016] Cody Jones, Peter Brooks, and Jim Harrington. Gauge color codes in two dimensions. Phys. Rev. A, 93(5):052332, 2016. doi: 10.1103/PhysRevA.93.052332.
  • Yoder et al. [2016] Theodore J. Yoder, Ryuji Takagi, and Isaac L. Chuang. Universal fault-tolerant gates on concatenated stabilizer codes. Phys. Rev. X, 6:031039, Sep 2016. doi: 10.1103/PhysRevX.6.031039.
  • Bombín and Martin-Delgado [2006] Héctor Bombín and Miguel A. Martin-Delgado. Topological quantum distillation. Phys. Rev. Lett., 97:180501, 2006. doi: 10.1103/PhysRevLett.97.180501.
  • Kovalev and Pryadko [2013] Alexey A. Kovalev and Leonid P. Pryadko. Fault tolerance of quantum low-density parity check codes with sublinear distance scaling. Phys. Rev. A, 87:020304, Feb 2013. doi: 10.1103/PhysRevA.87.020304.
  • Calderbank and Shor [1996] A. Robert Calderbank and Peter W. Shor. Good quantum error-correcting codes exist. Phys. Rev. A, 54:1098–1105, 1996. doi: 10.1103/PhysRevA.54.1098.
  • Steane [1996] Andrew W. Steane. Multiple-Particle Interference and Quantum Error Correction. Proc. Roy. Soc. Lond., 452:2551–2577, 1996. doi: 10.1098/rspa.1996.0136.
  • Gottesman [1997] Daniel Gottesman. Stabilizer Codes and Quantum Error Correction. PhD thesis, California Institute of Technology, 1997.
  • Knill and Laflamme [1997] Emanuel Knill and Raymond Laflamme. Theory of quantum error-correcting codes. Phys. Rev. A, 55:900–911, 1997. doi: 10.1103/PhysRevA.55.900.
  • Brown et al. [2011] Benjamin J Brown, Wonmin Son, Christina V Kraus, Rosario Fazio, and Vlatko Vedral. Generating topological order from a two-dimensional cluster state using a duality mapping. New J. Phys., 13(6):065010, 2011. doi: 10.1088/1367-2630/13/6/065010.
  • Bombín [2015c] Héctor Bombín. Single-shot fault-tolerant quantum error correction. Phys. Rev. X, 5:031043, 2015c. doi: 10.1103/PhysRevX.5.031043.
  • Campbell [2019] Earl Campbell. A theory of single-shot error correction for adversarial noise. Quantum Sci. Technol., 2019. doi: 10.1088/2058-9565/aafc8f.
  • Barenco et al. [1995] Adriano Barenco, Charles H. Bennett, Richard Cleve, David P. DiVincenzo, Norman Margolus, Peter Shor, Tycho Sleator, John A. Smolin, and Harald Weinfurter. Elementary gates for quantum computation. Phys. Rev. A, 52(5):3457, 1995. doi: 10.1103/PhysRevA.52.3457.
  • Chamberland et al. [2016] Christopher Chamberland, Tomas Jochym-O’Connor, and Raymond Laflamme. Thresholds for universal concatenated quantum codes. Phys. Rev. Lett., 117:010501, 2016. doi: 10.1103/PhysRevLett.117.010501.
  • Chamberland et al. [2017] Christopher Chamberland, Tomas Jochym-O’Connor, and Raymond Laflamme. Overhead analysis of universal concatenated quantum codes. Phys. Rev. A, 95:022313, Feb 2017. doi: 10.1103/PhysRevA.95.022313.
  • Chamberland and Jochym-O’Connor [2017] Christopher Chamberland and Tomas Jochym-O’Connor. Error suppression via complementary gauge choices in reed-muller codes. Quantum Sci. Technol., 2(3):035008, 2017. doi: 10.1088/2058-9565/aa7c4a.
  • Kitaev [2006] Alexei Kitaev. Anyons in an exactly solved model and beyond. Annals of Physics, 321(1):2–111, 2006. doi: 10.1016/j.aop.2005.10.005.
  • Bravyi et al. [2010] Sergey Bravyi, Barbara M Terhal, and Bernhard Leemhuis. Majorana fermion codes. New J. Phys., 12(8):083039, 2010. doi: 10.1088/1367-2630/12/8/083039.

Appendix A Examples of boundary operators

Boundary operator for the 7-qubit Steane code, each row and column have weight 4:


Note that for the Steane code, every non-trivial element of the stabilizer group is represented in the rows and columns, this will not hold in general for other codes.

A boundary operator for the padded 15-qubit Reed-Muller code, composed of 21 qubits:


We have visually split the matrix into two sets, the first 15 qubits and 6 ancillary qubits. The first 15 qubits are where the logical information is stored, while the extra 6 qubits represent the padded ancilla qubits that are prepared in the  state. Note that none of the  stabilizers, represented by the columns, have support on the last 6 qubits. It is fairly straightforward to check that . One can recover independent generators for the rows that correspond to the 15-qubit Reed-Muller code  stabilizers on the first 15 qubits, and individual single-qubit  generators on the last 6 qubits. One can also recover the independent 15-qubit Reed-Muller code  generators by considering the columns as well as a representative of the independent 6 gauge face generators in the last 6 columns, these correspond to fixing the gauge in the  basis.

The homological product boundary operator  will have sparsity 15, that is every row and column in  will be of weight at most . This corresponds to the maximum weight operator one would have to measure for implementing the universal scheme on the homological product of these two codes, an improvement over the universal concatenated model Jochym-O’Connor and Laflamme [2014] which would require measuring operators of weight . More importantly, in using higher distance versions of each of the codes, the concatenated model would require measuring operators whose weight will grow linearly with system size, as opposed to that of the homological construction which will remain constant-sized.

Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description