Fault-tolerant error correction with the gauge color code

The constituent parts of a quantum computer are inherently vulnerable to errors. To this end, we have developed quantum error-correcting codes to protect quantum information from noise. However, discovering codes that are capable of a universal set of computational operations with the minimal cost in quantum resources remains an important and ongoing challenge. One proposal of significant recent interest is the gauge color code. Notably, this code may offer a reduced resource cost over other well-studied fault-tolerant architectures by using a new method, known as gauge fixing, for performing the non-Clifford operations that are essential for universal quantum computation. Here we examine the gauge color code when it is subject to noise. Specifically, we make use of single-shot error correction to develop a simple decoding algorithm for the gauge color code, and we numerically analyse its performance. Remarkably, we find threshold error rates comparable to those of other leading proposals. Our results thus provide the first steps of a comparative study between the gauge color code and other promising computational architectures.

Error correction is particularly challenging in the realistic setting where syndrome measurements can fail and return false readings [7].Attempting to correct errors using inaccurate syndrome information will introduce new physical errors to the code.However, given enough syndrome information, we can distinguish measurement errors from physical errors with enough confidence that the errors we introduce are few, and can be identified at a later round of error correction.In the well-studied case of the toric code [7], we accumulate sufficient error data by performing multiple rounds of syndrome measurements.Remarkably, the structure of the gauge color code enables the acquisition of fault-tolerant syndrome data using only one round of local measurements [17].
In this Manuscript we simulate error correction with the gauge color code.Our results identify the sustainable operating conditions of the code, i.e. the noise rate below which information can be maintained arbitrarily well, even after many cycles of error correction, where both physical errors and measurement faults occur with probability p using an identical and independently distributed noise model.We estimate a sustainable error rate of p sus ∼ 0.31% using only a simple clustering decoding scheme [26][27][28][29][30], which we expect can be improved using other decoding techniques [28,29,[31][32][33][34][35][36][37][38][39].As a comparison, the optimal threshold for the toric code under the same error model, is ∼ 2.9% [40].
The gauge color code is a subsystem code [41] specified by its gauge group, G. From the center of the gauge group, Z(G), we obtain the stabilizer group for the code, S = Z(G) ∩ G, and its logical operators, L = Z(G)\G.
Elements of the stabilizer group, S ∈ S, satisfy the property that S|ψ = |ψ for all codewords of the code |ψ .The code is defined on a three-dimensional four-valent lattice of linear size L with qubits on its vertices [2,42].The lattice must also be four-colorable, i.e. each cell of the lattice can be given a color, red, green, yellow, or blue, denoted by elements of the set C = {r, g, y, b}, such that no two adjacent cells are of the same color.The lattice we consider is shown in Fig. 1(a), where the cells are the solid colored objects in the Figure .The cells of the lattice define stabilizer generators for the code, while the faces of cells define its gauge generators.The gauge, or face operators, of weight four, six or eight, are measured to detect errors.More specifically, for each cell c there are two stabilizer generators, S X c = j∈V(c) X j and S Z c = j∈V(c) Z j , where V(c) are the qubits on the boundary vertices of cell c, and X j and Z j are Pauli-X and Pauli-Z operators acting on site j.For each face f there are two face operators, the vertices on the boundary of face f .We will call the outcome of a face operator measurement a face outcome.
Given suitable boundary conditions [5,42], the code encodes one qubit, whose logical operators are X = j∈Q X j and Z = j∈Q Z j , where Q is the set of physical qubits of the code.A lattice with correct boundaries is conveniently represented on a dual lattice of tetrahedra using the convention given in Ref. [5].The lattice we consider is illustrated in Fig. 1(b), where we discuss its construction in detail in the Supplemental Material.Importantly, we require that the lattice has four boundaries, distinguished by colors from set C.
A quantum error-correcting code is designed to identify and correct errors.Due to the symmetry of the gauge group, it suffices here to consider only Pauli-X, or bitflip, errors.We consider a phenomenological error model consisting of physical errors and measurement errors.A physical error is a Pauli-X error on a qubit, while a measurement error returns the opposite outcome of the correct reading.Errors will be identically and independently generated with the same probability p.
In a stabilizer code, errors are signified by the presence of −1 stabilizer eigenvalues, which we call stabilizer defects.We use the stabilizer syndrome, a list of measured stabilizer defects, to identify errors.In the gauge color code we do not measure stabilizer operators directly, but instead infer their values by measuring face operators, which is possible due to the fact that S ⊆ G.
In addition to using face outcomes to infer stabilizer eigenvalues, we can also exploit the local constraints in G of the gauge color code to detect and account for measurement errors.Remarkably, measurement errors can be detected reliably by measuring each face operator only once, so called single-shot error correction [17].
The local constraints stem from the structure of the code.We first observe that the faces of a cell are neces-sarily three colorable, as shown in Fig. 2(a).It follows from the three colorability of the faces that the product of the gauge operators G Z f of any of the differently colored subsets of faces of cell c recover the stabilizer operator S Z c .By measuring all the faces of the lattice, we redundantly recover each stabilizer eigenvalue three times where the three outcomes of a given cell are constrained to agree.In Fig. 2(b) we show an example of a gauge measurement configuration where the outcomes are reliable.Following this observation, we can use violations of the local constraints about a cell to indicate the positions of measurement errors.In Fig. 2(c) we show a syndrome where different subsets of face outcomes of two cells, colored with thick green edges, do not agree.
Fault-tolerant decoding with the gauge color code proceeds in two stages.The first, syndrome estimation, uses face outcomes that may be unreliable to estimate the locations of stabilizer defects.The second stage, stabilizer decoding, takes the estimated stabilizer defect locations and predicts a correction operator to reverse physical errors.The latter is discussed extensively in Refs.[2,42], and can be dealt with using standard decoding methods [27,31,34].To perform stabilizer decoding we adapt a clustering decoder [26][27][28][29][30] where clusters grow linearly.
We concentrate now on syndrome estimation.Syndrome estimation uses a gauge syndrome, a list of gauge defects, to estimate a stabilizer sydrome.A lattice cell can contain as many as three gauge defects.Gauge defects are distinguished by a color pair uv, with u, v ∈ C, such that u = v and uv = vu.The color pair of a gauge defect relates to the colouring of the lattice faces.A face is given the color pair opposite to the colors of its adjacent cells, i.e. the face shared by two cells with colors r and g is colored yb.A cell c contains a uv gauge defect if the product of all the uv face outcomes bounding c is −1.Following this definition, a stabilizer defect is equivalent to three distinct gauge defects in a common cell.
Studying the gauge syndrome enables the identification of measurement errors.We consider face f , colored uv, that is adjacent to cell c.In the noiseless measurement case, where c contains no stabilizer defect, by definition, cell c should contain no gauge defects.However, if face f returns an incorrect outcome, we identify a uv gauge defect at c. Conversely, if cell c contains a stabilizer defect in the ideal case, and f returns an incorrect outcome, no uv gauge defect will appear in c.With these examples we see that cells that contain either one or two gauge defects indicate incorrect face outcomes.
An incorrect face outcome affects gauge defects in both of its adjacent cells.In general, incorrect face outcomes of color uv form error strings on the dual lattice, whose end points are uv gauge defects, where single incorrect face outcomes are segments of the string.Error strings of incorrect uv face outcomes changes the parity of uv gauge defects at both of its terminal cells.
We require an algorithm that can use gauge syndrome data to predict a likely measurement error configuration, and thus estimate the stabilizer syndrome.We adapt the clustering decoder [26][27][28][29][30] for this purpose.The decoder combines nearby defects into clusters that can be contained within a small box.Clusters increase linearly in size to contain other nearby defects until they contain a set of defects that can be caused by a measurement error contained within the box.Once clustering is completed, a correction supported inside the boxes is returned.We briefly elaborate on correctable configurations of gauge defects.Pairs of uv gauge defects are caused by strings of incorrect uv face outcomes, and therefore form correctable configurations, as shown in Fig. 3(a).Triplets of gauge defects, colored uv, vw and uw, also form correctable configurations.Error strings that cause triplets of correctable gauge defects branch at a cell, and thus indicate a stabilizer defect, shown in Fig. 3(b).The stabilizer defect where the error string branches lies at a cell colored x = u, v, w.Gauge defects can arise due to incorrect face outcomes on the lattice boundary.Specifically, the boundary colored w contains faces of color uv where u, v = w.With this colouring we can find correctable configurations of single uv gauge defects, together with a boundary of color w, see Fig. 3(c).In general, a cluster can contain many correctable configurations.
As we have mentioned, correctable clusters of gauge defects can give rise to stabilizer defects.It is important to note that the error-correction procedure is sensitive to the positions of stabilizer defects within a correctable cluster, as discrepancies in their positions later affect the performance of the stabilizer decoding algorithm.As such we must place stabilizer defects carefully.For cases where a correctable cluster of gauge defects returns stabilizer defects, we assign their positions such that they lie at the mean position of all the gauge defects within the correctable cluster, at the nearest cell of the appropriate color.Once syndrome estimation is complete, the predicted stabilizer syndrome is passed to the stabilizer decoder, and a correction operator is evaluated.
We remark that gauge defects can be incorrectly analyzed during syndrome estimation.In which case, measurement errors sometimes masquerade as stabilizer defects.We will then attempt to decode the incorrect stabilizer syndrome and mistakenly introduce errors to the code.In general, any error-correction scheme that takes noisy measurement data will introduce residual physical errors to a code.These errors can be corrected in the future, provided the remaining noise is of a form that a decoder can correct.In general however, one must worry that large correlated errors can be introduced that adversarially corrupt encoded information [43][44][45][46][47].Such errors may occur in the gauge color code if, for instance, we mistakenly predict two stabilizer defects of the same color that are separated by a large distance.
A special property of the gauge color code is that measurement errors, followed syndrome estimation, will only introduce false defects in locally correctable configurations.Therefore, residual errors remain local to the measurement error.Moreover, the code is such that the probability of obtaining configurations of face outcomes that correspond to faux stabilizer defects decays exponentially with the separation of their cells.This is because the number of measurement errors that must occur to produce a pair of false stabilizer defects is extensive with their cell separation.To this end, the errors introduced from incorrect measurements are local to the measurement error and typically small.This property, coined 'confinement' in Ref. [17], is essential for fault-tolerant error correction.Most known codes achieve confinement by performing syndrome measurements many times.We simulate fault-tolerant error correction with encoded states |ψ j of linear size L where j indicates the number of error-correction cycles that have been performed, and where |ψ 0 is a codeword.We seek to find a correction operator C such that CE ∈ G where E is the noise incident to |ψ 0 after N error-correction cycles.
To maintain the encoded information over long durations, we repeatedly apply error-correction cycles to keep the physical noise sufficiently benign.After a short period, the state |ψ j−1 will accumulate physical noise E j (p) with error rate p.To correct the noise, we first estimate a stabilizer syndrome, s j , using gauge syndrome data with the syndrome estimation algorithm M q , where measurement outcomes are incorrect with probability q = p, such that s j = M p (E j (p)|ψ j−1 ).We then use the stabilizer decoding algorithm D to predict a suitable correction operator C j = D(s j ), such that we obtain It is important to note is that |ψ j is not necessarily in the code subspace.For q > 0, stabilizer syndromes will in general be incorrectly estimated, and thus the correction operator C j introduces some new errors to the code.
We require that after N error-correction cycles we can estimate error E of state |ψ N = E|ψ 0 to recover the logical state.During readout, we are free to collapse the encoded state onto a product state to learn the stored information.By collapsing into the appropriate basis, we effectively decode the state using noiseless measurements.To measure Z for example, we measure all the qubits in the computational basis such that state E|ψ 0 collapses onto either Eg|0 to indicate a logical-zero reading, where g is an arbitrary element of G, otherwise we obtain EgX|0 , where |0 = |000 . . .0 .With the collapsed state we can recover eigenvalues of stabilizers S Z c to correct for E and we thus recover the value of Z. See Ref. [16] for an extended discussion on the code states of the gauge color code.To simulate errors that occur during the readout process, we apply the noise operator E(p) to the encoded state before decoding.We calculate logical failure rates where C = D(M 0 (E(p)|ψ N )).We evaluate P L values using Monte Carlo simulations.
To analyze the performance of the proposed decoding scheme, we look to find the sustainable error rate of the code, p sus , below which we can maintain quantum information for an arbitrary number of correction cycles.The discovery of such a point suggests that the errorcorrelations caused by our correction protocol do not extend beyond a constant, finite, and decodable length, thus showing that we can preserve information indefinitely with arbitrarily high fidelity in the p < p sus regime.
We define p sus as the threshold error rate, p th , at the N → ∞ limit, where the threshold is the error rate below which we can decrease P L arbitrarily by increasing L [8].We plot p th as a function of N in Fig. 4. The data shows that p th converges to error rate p sus ∼ 0.31% with increasing N up to N = 8, as is indicated by the dashed red line in Fig. 4. We obtain this value using the fitting where p th (0) ∼ 0.46% and γ ∼ 1.47.The convergent trend provides evidence that we achieve steady-state confinement in the high-N limit, as is required of a practical error-correction scheme.We re-emphasise that confinement is achieved by measuring each face operator of the gauge color code only once at each error-correction cycle.
To summarize, we have designed a fault-tolerant errorcorrection protocol for the gauge color code, and numerically identified its sustainable operating conditions.Remarkably, using only a simple decoding scheme, the threshold values we obtain lie within an order of magnitude of the optimal threshold for the toric code.Since clustering decoders are known to have lower thresholds than optimal decoders, we can expect that significantly higher thresholds are achievable using more sophisticated decoding strategies [28,29,[31][32][33][34][35][36][37][38][39].It may be possible to achieve a sufficiently high sustainable noise rate to become of practical interest, thus potentially meriting comparison with the well-studied case of the surface code.To this end, further investigation is required to better understand its experimental viability.
To continue such a comparative analysis, one should study the code using realistic noise models [21] that respect the underlying hardware that realizes the code.Although the three-dimensional structure of the code is experimentally challenging, this may be mitigated by a distributed architecture [48][49][50][51][52], where qubit connectivity is less troublesome.Ultimately, a full overhead analysis [21,53,54] in the sub-threshold error regime is needed for a true comparison with the well-studied surface codes, where magic state distillation is required of the latter, is the next step to decisively compare these promising approaches towards scalable quantum computation.
We argue that the encouraging sustainable error rate we find relates to the fact that the decoding problem is local in only three dimensions.Using surface codes, fault tolerance is achieved by mapping the decoding problem into 2 + 1 dimensions, which typically causes threshold values to suffer [32,39,40,[56][57][58].The single-shot nature of fault-tolerant decoding means that this extra dimension is no longer required, and it is notable that we obtain thresholds within an order of magnitude of those of intensively optimized toric code decoders [59,60].It is interesting then, from both a practical, and a fundamental point of view, to ask if single-shot error correction is possible in a two-dimensional code.We might expect such a code to have an impressive threshold.
We gratefully acknowledge S. Bartlett, H. Bombín, E. Campbell, S. Devitt, A. Doherty, S. Flammia and M. Kastoryano for helpful discussions.Computational resources are provided by the Imperial College HPC Service.This work is supported by the EPSRC and the Villum Foundation.

SUPPLEMENTAL MATERIAL THE GAUGE COLOR CODE LATTICE
Here we elaborate on the dual lattice we use to construct the gauge color code simulated in the main text.The gauge color code dual lattice is a neatly stacked structure of many tetrahedra.Conveniently though, the lattice dual to the lattice geometry shown in Fig. 1(a) in the main text is composed of odd and even cubic units of five tetrahedra, shown in white and gray, respectively, in Fig. 5(a).We also show the decomposition of an even unit cell in Fig. 5(b).An odd unit cell differs from an even unit cell only by a π/2 rotation about any of the canonical axes.Unit cubes on the boundaries of the lattice are modified simply by removing subsets of their tetrahedra.
To ease the explanation of the lattice construction, it is instructive to begin with a cubic block of fundamental cubes, as shown in Fig. 6.The block must have an odd linear dimension of unit cubes.Tetrahedra are removed from this block to find an appropriate four-sided structure, and finally some of the tetrahedra that have been removed are once again replaced to find suitable boundaries that can be correctly colored.
In the dual representation we require that the vertices of the lattice are four colorable, i.e. we can consistently color every vertex with one of four colors, red, green, yellow or blue, such that no two vertices of the lattice that share an edge can have the same color.We show a single tetrahedra whose vertices are correctly colored in Fig. 5(c).The vertices of the dual lattice in Fig. 6 are indeed four colorable.
The gauge color code requires four distinct boundaries where boundaries differ by the subset of colors of the vertices that lie on their surface.Specifically, a boundary of a given color contains no vertices of that color, i.e. a green boundary contains only red, blue and yellow vertices.We therefore look for a tetrahedral structure with four boundaries of four different colors.We design the correct structure by first removing large subsets of An exploded even unit cell that reveals the internal structure of a unit cube.(c) A fundamental tetrahedron of the lattice whose vertices are correctly four colored.We color each face of every tetrahedron with the color that is not the color of any of its three vertices.The face that is not visible is colored green.
FIG. 6: A cube of linear size L = 5 formed by stacking odd and even unit cubes.The odd and even unit cubes, shown in gray and white, are stacked such that no two even unit cubes meet at a face and no two odd unit cubes meet at a face.
fundamental tetrahedra to find the global shape of the lattice.We find a four-sided tetrahedral structure by removing four corners of the cubic block of unit cubes, as shown in Fig. 7.
The lattice shown in Fig. 7 does not define the gauge color code.This is because we cannot four-color the lattice such that all four boundaries of the lattice are correctly three colored, as we have explained.However, by replacing some of the tetrahedra we have removed from the lattice, we recover suitable boundaries.To find threecolored boundaries it is convenient to color the faces of the fundamental tetrahedra.We assign to each face of the tetrahedra the color that is not given to any of its adjacent vertices, as shown in Fig. 5(c).With this face coloring, we require that the lattice has four distinct, uniformly colored boundaries, as shown in the main text in Fig. 1(b).
We modify the tetrahedral lattice shown in Fig. 7 to find a suitable lattice.In Fig. 8 we color the external faces of the fundamental tetrahedra to show the additional tetrahedra we must replace on the surface of the FIG.7: We remove tetrahedra from the cubic lattice shown in Fig. 6 to obtain the four-sided tetrahedral structure we require of the gauge color code lattice.The figure shows some of the tetrahedra that have been removed from the cubic lattice to the right of the Figure .The remaining tetrahedra do not define a gauge color code dual lattice without replacing some of the removed tetrahedra, as we explain in the main text.
sheered lattice in Fig. 7.In particular, we observe hexagonal 'patches' of faces which are inconsistently colored compared with the rest of the boundary.We outline some of these hexagonal patches in white.At the center of each of these hexagons lies a single vertex of a color that is not suitable for the given boundary.To rectify this we replace all of the removed tetrahedra to the lattice that were originally touching the central vertex of each hexagonal patch.Upon doing so we recover the dual lattice shown in the main text.In Fig. 8 we show some of the 'bulbs' of sixteen tetrahedra we reintroduce to the lattice.Some of the bulbs have already been reattached in the Figure .For the convenience of the reader we show the lattice separated into layers in Fig. 9.
We finally remark that the lattice we consider is particularly convenient for simulation because the stabilizers lie on the vertices of a square lattice.In Fig. 10 we show a repeating unit of the lattice geometry on a cubic lattice.In the Figure stabilizers are represented by circular and diamond-shaped vertices of appropriate color as explained by the key.

LATTICE CHARACTERISTICS
Here we analyse the lattice by counting the total number of qubits as a function of L. We also count the number of stabilizers, and the number of gauge operators.We also discuss the qubit support of the stabilizers, and the gauge operators.The quantities evaluated in this Section serve as good sanity checks for readers that are reproducing the gauge color code lattice.
FIG. 8: We modify the lattice of Fig. 7 to uniformly color the faces by replacing some of the tetrahedra that were removed from the cubic lattice.We show white hexagons showing patches of six incorrectly colored faces.We add additional tetrahedra to these incorrectly colored patches such that all four boundaries are uniformly colored.The Figure shows some hexagons where the additional tetrahedra are already added.
FIG. 9: The L = 5 lattice where the layers of tetrahedra are separated.Interior tetrahedra are colored white and gray.

The Number of Qubits
The gauge color code is a complicated system where qubits are placed on tetrahedra, and on subsets of faces, edges and vertices of the dual lattice we described in the previous Section.A qubit is placed on each of the exterior vertices where three differently colored boundaries meet.We therefore have vertex qubits A qubit is also placed on exterior edges of the lattice where two differently colored boundaries meet.We have The lattice has qubits placed on the exterior faces of the dual lattice.We find that there are Finally, the lattice has a qubit on each of its tetrahedra.We find A gauge color code following our construction therefore has Q(L) = Q v (L)+Q e (L)+Q f (L)+Q t (L) qubits, which is explicitly

Stabilizers in the Dual Lattice
Each vertex of the lattice supports two stabilizers.We find the number of vertices Each stabilizer represented by a given vertex acts on every vertex, edge, face or tetrahedron qubit that contains the respective stabilizer vertex.To make this statement more rigorous, we can specify each object on the lattice that supports a qubit by a list of vertices, v, that are contained by the respective object.A vertex qubit is specified by a single vertex, v = {v}, an edge qubit is specified by a pair of vertices, e = {v 1 , v 2 }, each triangular face that supports a qubit is specified by three vertices f = {v 1 , v 2 , v 3 }, and a tetrahedron is specified by its four vertices t = {v 1 , v 2 , v 3 , v 4 }.
Given that the different objects of the lattice that support qubits, known as simplices, can be uniformly denoted by a lists of vertices of varying length, we are free to group all vertex qubits, edge qubits, face qubits and tetrahedron qubits into the set of qubits, Q, using this simplicial description.Written as simplices, vertex, edge, face and tetrahedron qubits only differ by the length of their list of vertices.Using this notation we can conveniently write down stabilizer operators where we take the product of all qubits Q ∈ Q that contain vertex v.We point out that we have used notation here that is inconsistent with the main text, as here we index stabilizers by vertices, v, whereas in the main text we chose the index c to represent cells that support stabilizers.This reflects the change from the primal to dual lattice notation.
Gauge Operators in the Dual Lattice We finally find the number of gauge operators we use in the simulation in the main text, and explicitly describe the supports of the gauge operators on dual lattice.Gauge operators are represented on edges, and on exterior vertices of the dual lattice.Instead of counting the number of gauge operators exactly, we count distinct supports of gauge operators.The number of supports are exactly the number of faces on the primal lattice.For each support, s, we have two gauge operators, G X s and G Z s .On the dual lattice, gauge supports are uniquely represented by either an edge, e, or a pair (v, C) that contains a vertex, v, and a color C ∈ C from the set of colors defined in the main text.
To count the gauge supports, we first find the number of edges contained on the lattice, e(L).We find this number using the Euler characteristic where χ 3D = 1 for a 'ball-shaped' triangulation, such as that which describes the gauge color code, and where v(L), f (L) and t(L) are the number of vertices, faces and tetrahedra of the lattice, respectively.We already have the number of tetrahedra t(L) = Q t (L), and v(L) is already counted to find the number of stabilizers.We easily find the number of faces of the lattice f (L) using the fact that each interior face lies on the surface of two tetrahedra, and each tetrahedra has four faces.Following this, up to the exterior faces, we can regard each tetrahedra as contributing half to the face count per face of each tetrahedra.We therefore obtain a contribution of ∼ 2Q t (L) faces for the tetrahedra of the lattice.To account for exterior faces, we must add an additional half-unit per exterior face of the lattice to count the total number of faces, giving the number of faces f (L) = 2Q t (L) + Q f (L)/2.Explicitly, we have Using f (L) and Eqn. ( 5) we find the number of edges Each edge of the lattice represents one gauge support that acts on all edge, face, and tetrahedron qubits that contain the respective edge.We use once again the simplicial notation to denote gauge supports represented by edges, e, such that where we take the product over all qubits Q ∈ Q that contain both vertices of edge e = {v 1 , v 2 }.We point out that no vertex qubit on the lattice can contain the two vertices of an edge, and therefore vertex qubits are not found in gauge operator supports associated to edges.Gauge supports are also represented by vertices v on the exterior of the lattice.Each exterior vertex represents either one, two or three gauge supports.For exterior vertices that represent multiple gauge operator supports, we specify the supports uniquely with a vertex, v, and a color C ∈ C.
Specifically, a gauge support of a given exterior vertex v contains a subset of the vertex, edge or face qubits that contain v.The subset of lattice objects Q v are taken to be all of those that do not contain any vertices of one particular color.
To make this statement rigorous using the simplex notation, we define the function C : v → C that returns the color of the vertex as defined by the choice of the four-coloring of the lattice.
Rigorously, external vertex gauge operators are written where we use a shorthand notation 'Q v\C' to denote qubits Q that contain vertex v, but do not contain any vertices of color C ∈ C, i.e.where C(v ) = C for all v ∈ Q.We point out that all tetrahedra contain one vertex of each color, and as such, no tetrahedra appear in the gauge supports represented by exterior vertices.
In some cases there are exterior vertices with multiple nonempty subsets Q v\C for different choices of C. In what follows we explicitly consider exterior vertices that contain one, two, and three gauge operator supports.We will see that exterior vertices in the middle of a boundary will contain only one gauge operator support, exterior vertices found where two different colored boundaries meet contain two distinct gauge operator supports, and vertices that lie where three different boundaries meet contain three different gauge operator supports.
Exterior vertices in the middle of a boundary, far away from any edge or vertex qubits, denote one gauge operator support.We explicitly consider the example of the gauge support associated to the blue vertex shown on the red boundary in Fig. 11.The gauge operator support associated to this vertex act on the qubits labeled 1, 2, 3 and 4. All qubits that contain the exterior vertex of interest contain a yellow, a green, and a blue vertex, but no red vertex.
Vertices that lie at a point where two differently colored boundaries meet represent two distinct gauge operator supports.We consider the the green vertex in Fig. 11 that lies where the blue boundary and the red boundary meet.One of the supports acts on the qubits labeled 3, 4, 5, 6, 7 and 8. Common to all of these qubits is that none of their faces or edges contain a red vertex.The other support acts on qubits 7, 8, 9, 10, 11 and 12. Different from the first discussed support associated to the green vertex, none of the faces or edges involved in this support contain a blue vertex.
We finally consider the support of the gauge operators associated to the vertices that lie where three boundaries meet, such as at the large yellow vertex shown in Fig. 11 that contains the qubit indexed 14.This vertex denotes three supports, two of which are shown in the diagram.One support acts on qubits 6, 7, 14 and 15, the qubits that contain the yellow vertex of interest, but do not contain a red vertex.The other support acts on the qubits numbered 7, 12, 13 and 14, the lattice objects that contain the large yellow vertex, but do not contain any blue vertices.The third support acts on a green face qubit that cannot be seen in the diagram.
We can now count the number of gauge supports we must measure to realize fault-tolerant error correction using the gauge color code.We count the number of exterior vertices v E (L) with the expression v E (L) = (9L 2 − 1)/2.Then, using that the 6(L − 1) vertices that lie where two boundaries meet represent two gauge operator supports, and four vertices that lie where three boundaries meet represent three gauge operator supports, we find the number of gauge operator supports G(L) = e(L) + v E (L) + 6(L − 1) + 8, giving the number of gauge operator supports Twice this quantity gives the number of gauge operators we would use to perform fault-tolerant error correction with the gauge color code, if we wish to identify both Pauli-X and Pauli-Z type errors.

FIG. 1 :
FIG. 1: (a) The four-valent lattice we study.Qubits reside on the vertices.The three-dimensional cells of the lattice are four colorable.(b) The dual lattice with suitable boundaries that defines the gauge color code of linear size L = 5.

FIG. 2 :
FIG.2:(a)The faces of the cells of the color code are three colorable.(b) An example of a set of face measurement outcomes where measurements are reliable.Face operators that return value -1 are colored, otherwise they are left transparent.The stabilizer at the cell with thick red edges contains a stabilizer defect.This cell has one face operator of each color returning a -1 outcome.All other cells have an even parity of -1 face outcomes over their colored subsets, indicating that these cells contain no stabilizer defect.(c) A syndrome where colored subsets of face measurements about the green cells do not agree, thus indicating measurement errors.

FIG. 3 :
FIG. 3: (a) A pair of yb gauge defects, shown by the vertices, can be caused by a string of incorrect yb face outcomes on the dual lattice.(b) Three gauge defects, colored gy, gb and yb, can be caused by an error string that branches at a red cell.The branching point indicates a stabilizer defect at a red cell.(c) Strings of incorrect face outcomes of colors rg and gb terminate at a yellow boundary.

FIG. 5 :
FIG.5:(a)An odd and an even unit cube that each consist of five tetrahedra.The odd unit cube differs from the even unit cube by a ±π/2 rotation about any of the canonical axes.(b) An exploded even unit cell that reveals the internal structure of a unit cube.(c) A fundamental tetrahedron of the lattice whose vertices are correctly four colored.We color each face of every tetrahedron with the color that is not the color of any of its three vertices.The face that is not visible is colored green.
FIG. 10: A repeating cell of the lattice that consists of eight of the fundamental unit cubes.Stabilizers of weight eight and thirty-two are represented by diamonds and circles on the vertices of the repeating cell respectively, as shown in the key at the right of the Figure.Opposite faces of the repeating cell are equivalent.

FIG. 11 :
FIG.11: Qubits on the exterior of the gauge color code lattice.Qubits lie on all the faces, on the edges where two differently colored boundaries meet, fattened and colored in gray in the figure, and on the vertex where three differently colored boundaries meet, marked by a large yellow vertex in the Figure.Qubits are numbered in accordance with the main text.Qubits 7, 8, 13 and 15 lie on lattice edges and qubit 14 lies on the vertex where the red blue and green vertices meet.All other labeled qubits lie on the external faces of the lattice.
(3)eshold physical error rates, p th , as a function of the number of error-correction cycles, N .Thresholds are calculated with system sizes L = 24, 30, 36 using 10 4 Monte Carlo samples.The solid blue line shows the fitting given in Eqn.(3).The dashed red line marks psus ∼ 0.31%, the sustainable noise rate of the code, the limiting value of p th from to the fitting as N → ∞.