# Fault-tolerant gates via homological product codes

###### Abstract

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 theory^{1}^{1}1In 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:

(1) |

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

###### Proof.

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:

(2) |

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,

(3) | ||||

(4) |

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.

###### Proof.

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:

(5) |

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),

(6) |

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

(7) |

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:

(8) |

### 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:

(9) | ||||

(10) |

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

(11) | ||||

(12) |

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

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 .

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.

###### Proof.

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 state^{2}^{2}2An 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 steps^{3}^{3}3Decoding 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 ^{4}^{4}4We 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.

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:

(13) | ||||

(14) | ||||

(15) | ||||

(16) | ||||

(17) | ||||

(18) |

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).

## Acknowledgments

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).

## References

- 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:

(19) |

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:

(20) |

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.