The concept of error-correcting codes (classical) was introduced by Claude Shannon in 1948, and since his seminal works, the theory has been developed in great depth and become indispensable to the development of Information and Communication theories.
The ideas of the classical error-correction theory were inspiration and became models for the creation of quantum error-correcting codes. In 1996 there was a breakthrough in quantum coding by the discovery of a class of codes, now known as CSS codes, by Robert Calderbank, Peter Shor and Andrew Steane, as can be seen in , , and which generated a rich code structure, which is the Stabilizer Quantum Codes .
Kitaev, , proposed a particular case of the Stabilizer Quantum Codes, which are associated with a
lattice. Since such codes depend on the topology of a surface, they were called Topological Codes. In topological quantum codes we encode the quantum words in the non-local degrees of freedom of strongly correlated quantum systems that have a topological order. Due to this non-local coding, these quantum words are intrinsically resistant to the disturbing effects of noise, as long as that noise is local in the sense of not affecting global topological properties of the system. This construction is based on an intrinsically physical mechanism that makes the topological system capable of self-correcting local errors.
Non-locality, which is a gain in the robustness of the system, generates some loss in another area of coding. In this case, as shown in , in a family of local codes, the distance is , where
is the number of qubits.
was proposed an extension of the Kitaev codes for surfaces with genus larger than one, using tools of hyperbolic geometry. Increasing the genus of the surface, Albuquerque, Palazzo and Silva used tessellations of the hyperbolic plane to create surface codes with the best parameters in the literature, until that moment. In these codes, some families generated by auto-dual, quasi auto-duals, and denser tessellations were highlighted, as later published in.
After these, new results using hyperbolic geometry in the creation of better families of topological codes were obtained, and the attempt to a better understanding of the existing ones was made. In , the authors took an approach similar to that of or noise, assuming a noise-free error correction.
Bombin and Martin-Delgado, in , proposed a subclass of the stabilizer quantum codes, which became known as color quantum codes. The color quantum codes are also topological codes, like those of Kitaev’s, but with an extra element in the labelling, the color. An immediate advantage of color coding is the fact that they encode twice as many qubits as surface codes, relative to the same surface.
Based on closed two-dimensional surfaces, in  is proved that
where is a constant, it is valid for the homological codes, such as Kitaev’s, surface and color codes.
Regarding the color codes, a great step has already been taken for its real implementation, in the way to the construction of the quantum computer. In 2014, the authors of , using a special case of the color codes (triangular codes), implemented a quantum error correction code, encoding one qubit in entangled states distributed over trapped-ion qubits. This construction shown the capability of the code to detect one bit flip, phase flip or a combination of both errors, regardless of which of the qubits they occur.
The objective of this work is to make an approach inspired by , to the color quantum codes environment. Analyzing the classes of codes generated by this technique, we obtain new families of codes with good properties. To achieve this goal we will work with compact surfaces of genus greater than or equal to two. These surfaces may be generated by a hyperbolic polygon that, via pairing of the edges, can be identified with such surface. These are the fundamental polygons for the surfaces. Among the infinite regular tessellations of the hyperbolic plane, we will calculate the possible subtessellations for each fundamental polygon that can generate color codes, analyzing their parameters and their codification rates.
We present some families of codes which are generated in this way, and we also show some codes with optimal parameters. Finally, we show that, for a given family, the coding rate when , which is an important result.
Current work is organized as follows: Section presents a quick review of concepts of Hyperbolic Geometry, which are necessary to build the tessellations and to justify the relation between surfaces with genus greater than or equal to , with fundamental hyperbolic polygons. In Section we give the concepts of stabilizer codes and their particular cases, which are Kitaev’s toric codes and the Surface Codes. In Section we give the basic concepts of the quantum color codes. In Section 5, we have the main core of the work, where we apply the techniques and tools of Hyperbolic Geometry to generate families of color quantum codes on compact surfaces of genus greater than or equal to .
2 A Glimpse for Hyperbolic Geometry
Let us briefly go through some concepts of Hyperbolic Geometry that will enable us to make the necessary constructions for the development of this work. In case the reader wants to read something more detailed, we suggest references ,  and .
A hyperbolic polygon with sides, called -gon, is a closed and connected set formed by the region bounded by hyperbolic geodesic segments. The intersection of two adjacent geodesic segments is called a vertex. A -gon in which all edges have the same length and the measure of their inner angles are all equal is called a regular -gon.
If is a region of the hyperbolic plane , the hyperbolic area of is given by:
if the integral exists.
However, to determine the area of a hyperbolic triangle, and hence any regular hyperbolic polygon, we can use the Gauss-Bonnet theorem, which shows that the area of a hyperbolic triangle depends only on its angles :
(Gauss-Bonnet) Let be a hyperbolic triangle with internal angles . Then, the area of is given by
We denote by the multiplicative group of the Möbius transformations , which are defined by , where satisfy . A Fuchsian Group is a discrete subgroup of . It is important to observe that all Möbius transformations preserve the hyperbolic distance in , then they map geodesics to geodesics and also they are conformal transformations, that is, they preserve angles. It follows that the hyperbolic area of a hyperbolic polygon is invariant under the transformations of .
As may be seen in , any compact topological surface may be obtained from a polygon by pairs of identified edges, since the side and angle conditions is satisfied.
The identification of the sides of a hyperbolic polygon is defined as a side pairing transformation. Since the lengths of the sides are equal, a side pairing transformation is an isometry of an isometry group , that preserves the orientation, taking a side of to another side of , so that and that . If is identified with and is identified with , then is identified with . This chain of identifications can also occur with vertices, and then we call a maximal set of identified vertices of a vertex cycle .
A pairing of the sides of defines an identification space where there is a distance function that coincides with the hyperbolic distance, for sufficiently small regions inside , making it a hyperbolic surface when the sum of the angles of each vertex cycle is .
A compact surface is the identification space of a polygon if the polygon is a fundamental region for . A necessary and sufficient condition for a polygon to be a fundamental region is as follows :
(Side and Angle Conditions) If a compact polygon is a fundamental region for a group of isometries that preserves orientation in , or , then
for each side of there is exactly one other side of of the form , for (the elements are called side-pairing transformations of );
given a pairing of sides of , for each set of identified vertices, the sum of the angles must be equal to . This set is a cycle of vertices.
(Poincaré) A compact polygon satisfying the side and angle conditions is a fundamental region for the group generated by the side pairing transformations of , and is a Fuchsian group.
3 Surface Stabilizer Codes
A quantum error-correcting code (QECC) is an application of a complex Hilbert space , of dimension , to a Hilbert space of dimension where . A QECC with code word length , dimension and minimum distance is denoted by .
The first classes of error-correcting quantum codes are those that dealt with bit-flip or phase-flip errors, or even a combination of them, such as Shor’s Code , proposed in 1995, which is a code based on the concatenation of a -qubit code, that protects against bit-flip errors, with a -qubits code that protects against phase-flip errors. Soon after, Steane proposed his -qubits code , which was not based on concatenations and it was shorter than the Shor’s Code. Next, a class of codes, which comes from classical error-correcting linear codes, was introduced and became known as CSS codes (Calderbank, Shor, and Steane as can be seen in , ).
A more general class of codes, that even includes the CSS-like codes, are the so-called Stabilizer Codes . Stabilizer codes are the quantum analog for the classical additive codes.
To define these codes we consider the set formed by the Pauli matrices of a qubit . We call a Pauli group of order the set given by elements of the type , where for every one has and . Now consider an Abelian subgroup so that , which we call the stabilizer group.
Thus, the stabilizer code
is defined by the auto space associated with the eigenvalueof the operators of , that is: 
If a stabilizer code has generators, then the dimension of the stabilizer subspace is , implying that the number of coded qubits is:
In , Kitaev proposed a particular case of stabilizer code, which became known as Kitaev’s Toric code. In a flat torus , Kitaev considered a square lattice tessellating the torus by regular polygons. He associated a qubit to each edge of the tessellation. At each vertex of the tessellation was associated an operator that acts as the matrix of Pauli on each edge adjacent to this vertex and as the identity in all others. Each face of the tessellation was associated with an operator which acts as the matrix of Pauli on each edge of the boundary of , and act as identity in all others faces.
In this way, Kitaev’s Toric code is defined by:
This code has parameters where is the number of non-trivial cycles, and is the number of edges contained in the shortest non-trivial homological cycle.
After, Kitaev’s construction was generalized, given origin to the Surface Codes. For instance, surface codes were constructed using other subtessellations of the torus , which are generated by Lee spheres. In  was considered subtessellations constituted by polyominoes algebrically generated. Another extension of the toric codes was obtained using other surfaces with genus greater than one , thus increasing the number of coded qubits without the need to add boudaries or ”holes”.
4 Quantum Color Codes
The Quantum Color Codes were introduced by Bombim and Martin-Delgado in .
To generate a color code on a two-dimensional surface, we need a trivalent, -colorable tessellation. Trivalent tessellation means that each vertex of the tessellation is the intersection of exactly 3 edges, and to say that this tessellation is -colorable means that it is possible to color all the faces of it using only colors (for instance, red, green and blue) so that two faces that share a common edge do not have the same color. With a coloration of the faces in this way, we may also induce a coloration of the edges, so that an edge of a certain color does not belong to the border of a face with that same color.
Unlike the surface codes, in the color codes the qubits are associated to the vertices of the tessellation and the generators of the stabilizers are the face operators (plaquette operators), and there are both and operators in each face which act in the vertices of the face. For each face of the tessellation, we denote such operators by with .
Separating the faces according to their color, in the sets (red), (green) and (blue), one has:
Now we introduce the concept of shrunk lattice, one for each color, which are auxiliary lattices. In the red shrunk lattice, for instance, on each red face we place a vertex. Each edge of the shrunk lattice corresponds to two vertices of the original tessellation, and the green and blue faces of the colored tessellation are the faces of this auxiliary lattice.
The equation (2) implies that four of these generators are not independent, and as we may see in (1), this allows us to calculate the number of coded qubits. Now we can apply this to a shrunk lattice, with a color fixed: since the number of generators is and the number of physical qubits is twice the number of edges one has 
where is the Euler characteristic of the surface. Note that the number of coded qubits depends only on the surface considered, not the tessellation used.
String operators are fundamental for the color codes. As in the surface codes, the homology of these strings is defined on , since we are dealing with two-level quantum systems.
These strings may be green, blue or red, depending on which shrunk lattice we are considering and, regardless of the color, they can be of type or type . We denote these string operators by where is a color, is or and is a label of the homology class.
In general, one has :
The equation (4) shows that one has only two independent colors.
In order to form a base of Pauli operators acting on the qubits, we consider strings which are not homologically trivial, as it is done in the surface codes. Two strings of the same type always commute. Two strings of the same color always have an even number of qubits in common, so they also commute. In this way, the only way to have strings that anti-commute is if we have strings with different types, with different colors and with an odd number of intersections.
5 New Families of Color Codes
In the case of trivalent and -colorable tessellations by regular polygons in the Euclidean plane, we are restricted to only three cases, one regular and two semirregular: , and .
The notation indicates a regular polygon with sides, that tessellates the hyperbolic plane, such that in each vertex of the tessellation there are other polygons. And, by we mean a tessellation of the plane where in each vertex one has the meting of regular polygons with , and sides, respectively, in this order.
By increasing the genus of the surface, and hence the number of coded qubits, there are no polygons which are flat models of these surfaces in the Euclidean plane, but there exist in the hyperbolic plane.
Hyperbolic polygons which are flat models for surfaces of genus are called fundamental polygons .
The advantage in this case is that there are infinite possibilities of trivalent tessellations of the hyperbolic plane. Even excluding those that are not -colorable, we still have infinite possibilities.
From  one has that is a trivalent regular tessellation of the hyperbolic plane if, and only if, it satisfies .
As already quoted, many of these tessellations, though trivalent, are not -colorable. As an instance, (see figure the (2)), or anyone that it has a polygon with an odd number of sides, are not -colorable.
Given a fundamental polygon that generates a -torus, we consider a tessellation of it by regular polygons . We must determine how many polygons are needed to exactly cover the area of , that is, we must determine the solutions of:
where denotes the area of and is the number of faces of the tessellation , with . Then, one has
Since we will use only trivalent tesselations, we set . In particular, for the double torus we have , then
which generates the possibilities described in the Table 1.
Polygons with and sides are not useful, since they generate tessellations with less than faces. Let us analyse the remaining cases.
The distance of a stabilizer code is the weight of the Pauli Operator with the lower weight which preserves the code subspace, and acts non trivially on it. In terms of color codes, it is the smallest number of qubits in the support of a homologically non-trivial cycle of the tessellation, looking to the shrunk lattice.
Using formulas from hyperbolic trigonometry, we obtain a lower bound for the minimum distance of the codes generated by the given tessellations.
Since the minimum distance of the code depends of a ”path” on the edges and faces of the tessellation, we have that the hyperbolic length of a path on edges and faces of the tessellation connecting opposite sides of a polygon is greater than the hyperbolic length of a geodesic connecting these same sides.
Thus, given a fundamental polygon of , considering a pairing by opposite sides, the hyperbolic distance between paired sides can be calculated by
as we can see in .
Let us denote the hyperbolic length of each edge of a tessellation by . Thus:
Also, the greatest distance between two points of a hyperbolic polygon is the distance between two opposite vertices (if any), which may be bounded by twice the lenght of the radius of the hyperbolic circumscribed circle to the polygon.
Given a regular polygon of , the diameter of its circumscribed circle, denoted by , may be calculated by:
In this way we may calculate an upper bound for an edge of the shrunk lattice, adding the length of an edge of the tessellation with the diameter of the circumscribed circle to a polygon of that tessellation. Let us denote this value by . Thus,
This measure allows us to calculate a lower bound for the number of edges of the reduced network contained in a non-trivial homology cycle belonging to such a lattice, and thus a bound for the minimum distance of the code. That is,
It follows that the minimum distance of the code is determined by
From the tessellations in the Table 1, let us consider polygons of and . To the tessellation one has, by (9),
and, by (10),
Therefore, we may calculate the minimum distance of the code using (13):
Now, to the tessellation one has:
which implies that
With calculations and arguments analogous to those made for the double torus, we will generate codes on compact surfaces of genus greater than , that is, some -torus, and analyze their parameters.
As it was mentioned, for each -torus considered, we will use a fundamental polygon of and the pairing of edges identifying opposite sides.
If we set the minimum distance of the code that we want to generate, for instance , we may generate the code family using the technique presented here.
We observe that the given distance is determined by the code generated by a tessellation of a compact two-dimensional surface such that there are exactly faces of the tessellation. Thus, by (6), using and one has:
which shows that for any given genus, with , we are able to create a code with the given minimum distance . Thus, we obtain the code family .
This family of codes has the remarkable property that
In the following tables we present examples of color codes generated by this method, on compact surfaces of genera to . In each table the value of was giving by the formula (8).
We can see in the tables that all these codes have minimum distance . In the cited examples, all the codes satisfying the quantum Hamming and Singleton bound.
About the quantum Singleton bound, which can be written according to the parameters of the code in the form , we have that in all the tables presented, the last row of the table has a code that saturates such bound, that is, satisfies the bound with equality. This is a fact that also calls attention, because it is always the code with the highest encoding rate in each surface, although it is the one with the smallest minimum distance.
Some of the codes presented, such as codes , , and , are better than best-in-category in Grassl’s coding tables .
-  A. M. Steane (1996), Simple Quantum Error Correction Codes, Phys. Rev. Letters A 54 (6), pp. 4741.
-  A. R. Calderbank and P. W. Shor (1996), Good quantum error-correcting codes exist, Phys. Rev. A 54, pp. 1098.
-  D. Gottesman (1996), Class of quantum error-correcting codes saturating the quantum Hamming bound, Phys. Rev. A 54 (3), pp. 1862.
-  A. Yu. Kitaev (2003), Fault-tolerant quantum computation by anyons, Annals of Physics, 303, pp. 2-30.
-  H. Bombin and M. A. Martin-Delgado (2007), Computacion cuántica topológica y sistemas fuertemente correlacionados, Revista Espanola de Fisica. 21 (2), pp. 31.
-  S. Bravyi and B. M. Terhal (2008), A no-go theorem for a two dimensional self-correcting quantum memory based on stabilizer codes, New Journal of Physics 11 (4).
-  C. D. de Albuquerque, R. Palazzo Jr. and E. B. da Silva (2009), Topological quantum codes on compact surfaces with genus , J. Math. Phys., 50, pp. 023513.
-  C. D. de Albuquerque, R. Palazzo Jr. and E. B. da Silva (2010), New classes of topological quantum codes associated with self-dual, quasi self-dual and denser tessellations, Quantum Information & Computation, vol. 10, No. 11 e 12, pp. 0956-0970.
-  N. P. Breuckmann and B. M. Terhal (2016), Constructions and noise threshold of hyperbolic surface codes, IEEE transactions on Information Theory, 62 (6), pp. 3731.
-  H. Bombin and M. A. Martin-Delgado (2006), Topological quantum distillation, Physical Review Letters 97 (18).
-  N. Delfosse (2013), Tradeoffs for reliable quantum information storage insurface codes and color codes, IEEE International Symposium on Information Theory, pp. 917.
-  D. Nigg, M. Mueller, E. A. Martinez, P. Schindler, M. Henrich, T. Monz, M. A. Martin-Delgado and R. Blatt (2014), Quantum Computations on a topologically encoded qubit, Science, 345, pp. 302.
-  S. Katok (1992), Fuchsian Groups, The University of Chicago Press.
-  J. Stillwell (2000), Geometry of Surfaces, Springer-Verlag.
-  A. Beardon (1983), The Geometry of Discrete Groups, Springer-Verlag (New York).
-  P. W. Shor (1995), Scheme for reducing decoherence in quantum computer memory, Phys. Rev., 52, pp. 2493.
-  A. M. Steane (1996), Error Correction codes in quantum theory, Phys. Rev Letters, 77, pp. 793.
-  D. Lidar and T. Brun (2013), Quantum Error Correction, Cambridge University Press.
-  H. Bombin and M. A. Martin-Delgado (2007), Topological Quantum Error Correction with Optimal Encoding Rate, Phys. Rev., 73 (6).
-  C. D. Albuquerque, R. Palazzo Jr. and E. B. da Silva, On toric quantum codes, Int. J. Pure Appl. Math, 50, pp 221.
-  W. Magnus (1974), Noneuclidean Tesselations and Their Groups, Academic Press, New York.
-  M. Grassl, Bounds on the minimum distance of linear codes and quantum codes. Online available at http://www.codetables.de. Accessed on 2017-10-27.