{'fraction_non_alphanumeric': 0.035594970539998785, 'fraction_numerical': 0.009050598311364878, 'mean_word_length': 4.328155339805825, 'pattern_counts': {'":': 0, '<': 2, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Construction of Polygonal Color Codes from Hyperbolic Tesselations

This current work propose a technique to generate polygonal color codes in the hyperbolic geometry environment. The color codes were introduced by Bombin and Martin-Delgado in 2007, and the called triangular color codes have a higher degree of interest because they allow the implementation of the Clifford group, but they encode only one qubit. In 2018 Soares e Silva extended the triangular codes to the polygonal codes, which encode more qubits. Using an approach through hyperbolic tessellations we show that it is possible to generate Hyperbolic Polygonal codes, which encode more than one qubit with the capacity to implement the entire Clifford group and also having a better coding rate than the previously mentioned codes, for the color codes on surfaces with boundary with minimum distance d = 3.


INTRODUCTION
One of the great difficulties of performing quantum computing is decoherence, as Unruh warned in 1995 [20]. Decoherence is the decay phenomenon of superposition of states, due to the interaction between the system and the surrounding environment. In theory, the problem may be solved using quantum error-correcting codes. Quantum states can be cleverly encoded so that the harmful effects of decoherence can be resisted.
The classical theory of error-correcting codes was stablish by Shannon in 1948 [15]. Shor, in 1995, was the first to show an quantum error-correcting code [16], overcoming the non-cloning theorem and achieving an analogue to the classic repeating code. Shor's code belongs to a class of codes known as CSS codes, which was introduced by Calderbank and Shor [6] and Steane [19].
Our objective in this work is to adapt polygonal codes to the environment of hyperbolic geometry because, in addition to have infinite possibilities of tessellations (the Euclidean plane has only one tessellation that satisfies the necessary conditions for the polygonal codes, as we will see in section 3), some works that used hyperbolic geometry in the generation of topological codes have achieved an improvement in the parameters, as we can see in [5], [8], besides those already cited [1] and [18]. We evaluated the feasibility of this type of construction, taking into account the rigidity of the hyperbolic geometry in relation to the area of the polygons and the impossibility of decreasing the length of the side of a regular hyperbolic polygon without changing its internal angles, and we show that not only is it feasible as this technique can generate codes with even better parameters than those obtained until now by codes of the same nature.

HYPERBOLIC GEOMETRY
Hyperbolic geometry, as well as several other non-Euclidean geometries, have arisen in response to the negation of Euclide's fifth postulate.
Here, two models of hyperbolic geometry is cosidered: the upper half-plane, H 2 = {z = x + iy ∈ C|ℑ(z) > 0} and Poincaré disc, D 2 = {z ∈ C; |z| < 1}. The set H 2 , endowed with the metric is known as hyperbolic plane or Lobachevsky plane and this metric is known as hyperbolic metric. This application is a metric and the proof of this fact can be seen in [11].
can be proved that f is one-to-one, and that, d * , giving by is a metric on D 2 and has expression ds = 2|dz| 1−|z| 2 . Thus, f is an isometry from (H 2 , d) to (D 2 , d). In this way, the most convenient model for a given situation can be choosed.
If R ⊂ H 2 is a region, the hyperbolic area of R is given by if the integral exists.
However, to determine the area of a hyperbolic triangle the Gauss-Bonnet Theorem can be used, which says the hyperbolic area of a hyperbolic triangle depends only on its angles. [11] Theorem 2.1 (Gauss-Bonnet). Let ∆ be a hyperbolic triangle with inner angles α, β , γ. Then, the area of ∆ is given by Differently from Euclidean geometry, in the hyperbolic plane two similar triangles are also congruent. This implies that, given a regular hyperbolic polygon, it is impossible to vary the length of its sides by keeping fixed the measurements of its internal angles.

Tesselations
A regular tessellation of the Euclidean or hyperbolic plane is a cover of the whole plane by regular polygons, all with the same number of sides, without superpositions of such polygons, meeting only along complete edges or at vertices. A regular tessellation is denoted by {p, q}, where q regular polygons with p sides are found at each vertex.
Giving a regular tessellation {p, q}, the inner angle of a p-gon at a vertex is 2π q , and dividing the polygon into p triangles, the angle in the center of the polygon will be 2π p , while the others will be 2π 2q . Therefore, in the Euclidean case It follows that, Then, it follows, There are infinite solutions to this inequality. Therefore, there are infinite regular tessellations in the hyperbolic plane. Moreover, there are infinite tessellations of the hyperbolic plane even when we fix the number of sides of the polygon, or if we fix the amount of polygons that must meet in each vertex of the tessellation. Since we interested in colored codes, the tesselations that matter to us must be trivalent and 3-colorable, which means that q = 3 and p must be even.

COLOR CODES
A quantum error-correcting code (QECC) is an application of a complex Hilbert space H k , of dimension 2 k , to a Hilbert space of dimension 2 n where k < n. A QECC C with code word length n, dimension k and minimum distance d is denoted by A general class of codes, that even includes the CSS-like codes, are the so-called Stabilizer Codes [13]. Stabilizer codes are the quantum analog for the classical additive codes.
To define these codes, consider the set given by the Pauli matrices of a qubit P = {I, X,Y, Z}. The set P n given by elements of the type i r P 1 ⊗ P 2 ⊗ · · · ⊗ P n , where for every i = 1 . . . n one has P i ∈ P and r ∈ {0, 1, 2, 3} is called a Pauli group of order n . Now considers an Abelian subgroup S ⊂ P n so that −I / ∈ S, which is called the stabilizer group.
Thus, the stabilizer code C is defined by the eigenspace associated with the eigenvalue 1 of the operators of S, that is: In [12], Kitaev proposed a particular case of stabilizer code, which became known as Kitaev's Toric code. In a torus l × l, Kitaev considered a square lattice tessellating the torus. He associated a qubit to each edge of the tessellation. At each vertex v of the tessellation was associated an operator X v that acts as the matrix of Pauli X on each edge adjacent to this vertex and as the identity in all others. Each face f of the tessellation was associated with an operator Z f which acts as the matrix of Pauli Z on each edge of the boundary of f , and act as identity in all others faces.
In this way, Kitaev's Toric code is defined by: This code has parameters [[2l 2 , 2, l] where k = 2 is the number of non-trivial cycles, and d = l is the number of edges contained in the shortest non-trivial homological cycle. The color codes, introduced by Bombim and Martin-Delgado in [4], similar to the Kitaev code, is a topological code. To create this codes, the authors considered a two-dimensional surface, with or without borders, and tessellated it with a tesselation satisfying 2 conditions: • it must be trivalent, that is, three edges meet at each vertex • have 3-colorable faces, wich means it is possible to color all the faces of the tessellation using only 3 colors (red, green and blue, for instance), such that two faces sharing an edge do not have the same color.
Considering a coloration of faces, it also induces a coloration of the edges, so that an edge of a certain color does not belong to the border of a face with the same color.
Once the surface is properly tessellated, the authors now associated the qubits one-to-one with the vertices of the tessellation, diferently of Kitaev's Toric code where the qubits were associated to edges.
The generators of the stabilizers are the face operators, known by "plaquette" operators, with both X and Z operators on each face, acting on the vertices of the face in question. For each face p of the tessellation, such operators are denoted by B σ p with σ = X, Z [4]. Separating the faces according to their color, in the sets R (red), G (green) and B (blue), it follows: For every colored tesselation the shrunk lattices can be defined. There exists three of them, one for each color, which are auxiliary lattices. For instance in the red shrunk lattice considers as vertex each red face. The edges of this new lattice conect the red faces (wich are vertices now) and note each new edge contain two vertices of the original lattice, which means that each edge corresponds to two qubits. Still, the green and blue faces of the colored tessellation are the faces of that new auxiliary lattice.
The string operators acting on color codes may be green, blue or red, depending on which net is being considered. Regardless of the color, they can be of type X or Z. These string operators are denoted by S Cσ µ where C is a color, σ is Z or X and µ is a label of the class of homology. In general, one has [4]: shows that there are only two independent colors.
A fundamental property of color codes is that, in addition to a string operator of one color being able to be deformed to another homologous string operator, it is also possible to combine two strings of different colors to produce a third equivalent operator of different color from the two original ones. Figure 2: An example of a t-string (or string-net). Note that a string of a certain color branches into two parts, of two other colors. The two parts combine and return to a string with original color. This string-net is equivalent a whole original color string and to see this is just to do the product of this t-string with the face operators generated by the marked faces [18].

Triangular and Polygonal Codes
The most interesting particular case of the color codes is obtained when tessellations on surfaces with boundary are considered. This construction was firstly considered in [4]. A color code was created on a planar region bounded by a triangle in which each edge of the triangle is in the border, and each edge has one color. This code encodes only one qubit, and its non-trivial homology string is a t-string, that is, a string that departs from one edge of a certain color, branches into two other colors, and each part of its branching ends in the border which has its color. Figure 3: A triangular code encodes only one qubit, a t-string with three endpoints, each one on one edge of its respective color.
The t-strings in the triangular codes are the key to implement the Clifford group. The Clifford group is the second level of the so-called Clifford hierarchy (CH), introduced by Gottesman and Chuang [10] for quantum operations, and defined by where U is an unitary operator acting on n qubits. In this definition of CH, the first level of the hierarchy is P n 1 = P n . The second level is the Clifford group, which is the normalizer of the Pauli group. To generate the entire Clifford group we need only three operators, which are H (Hadamard gate), K (phase shift gate, or π/4 gate) and Λ(X) (controlled-not gate or CNOT gate): Although the implementation of Clifford group does not imply the universality of quantum computation (which we would have at the third level of CH), there are important tasks performed by the operations this group, such as quantum distillation, quantum teleportation and dense coding, for instance.
The difference in relation to the surface codes is that, geometrically, the t-strings X and the tstrings Z are exactly the same. Thus, these two such t-strings are denoted by T X and T Z , and consequently {T X , T Z } = 0.
Thus, given the encoded operators X = X ⊗n , Z = Z ⊗n , K = K ⊗n and H = H ⊗n , where n is the number of qubits in the code, we have where t is the number of vertices of the face. Thus, using a semi-regular tessellation where all faces have a number of vertices, multiple of 4, such as {4, 8, 8} (which means that, in each vertex we have a square and two octagons, and this is the only one possible in the Euclidean plane), all generators of the Clifford group may be implemented transversally, since the CNOT gate is always implemented transversally in CSS codes [4], [13], [3] .
In 2018, Soares and Silva introduced the so called Polygonal Codes, whose rules are similar to those of triangular codes, but with a polygon as the border. Then, with more edges it was obtained more encoded qubits. The main property of the polygonal codes is to increase the number of encoded qubits, but keeping the implementation of the Clifford group, wich means that all homology group should be generated by t-strings.
In the Figure 4 an example of the structure of a polygonal code with 5 edges is showed. Here all strings with non-trivial homology (except for homeomorphisms) are explicit. It must be observed that strings 1, 2, and 3 (as labeled in the figure) generate all other strings, which means that such code encodes 3 qubits, and in addition, since these strings are t-strings, this ensures that the polygonal codes of Soares and Silva are in the same conditions as the triangular codes of Bombin and Martin-Delgado, which means that these codes also have the capacity of implementation of the whole group of Clifford. What has been exemplified for the particular case of a 5-sided polygon has been shown in the general case in [17], that is, if a polygon has n sides, then the polygonal code generated by it encodes (n−2) qubits, and the (n−2) generators of the homology group are t-strings.
The smallest triangular code presented by Bombin and Martin-Delgado has parameters [ [7,1,3]] with coding rate 1/7. Figure 5 shows an example of a polygonal code, where the parameters of the code are [ [12,2,3]], and it has the same minimum distance of the quoted triangular code, but it encodes twice the amount of qubits and the coding rate is 1/6.
In the works [1], [17] and [8], using properties of the hyperbolic geometry in connection with topological codes, it was achieved good results by improving the parameters of the codes that preceded them. Therefore, it is natural to investigate whether it is possible to use hyperbolic tesselations to try to reproduce triangular and polygonal codes in the hyperbolic geometry environment, improving its parameters and maintaining its ability to implement the Clifford group.    The main difficulty in adapting triangular codes to the hyperbolic geometry environment is the area. Given a hyperbolic triangle ABC, as already quoted in the section 2, its area S is always less than π. Thus, when considering a tessellation {p, q} of ABC, a polygon with area smaller than S must be finded, which gives codes with very low minimum distances. On the other hand, with the polygonal codes we polygons with larger areas can be choosed and in this way both, the minimum distance and the dimension of the code, can be obtained as large as necessary, thus increasing the chance of get better coding rates.
Applying the hyperbolic tessellation techniques by ruler and compass described in [14], the Poincaré disc can be tesselated with any tessellation {p, 3}, provided that p satisfies the inequality given in 2.5. For these initial examples we fix the first of the possibilities, which is p = 8 (if p is odd will generates a tessellation that is not 3-colorable), and we choose to place the center of the base polygon of the tessellation in the center of Poincaré disc, just to stay visually sharper. After that, we make the choice of which polygon will be tessellated. Fixing that we want a pentagon, this choice is still not trivial, since there are infinite regular pentagons (for example) that under the same tessellation can generate codes with different parameters. If the ratio area of the pentagon by the octagon is very low, then the minimum distance will be low. If the ratio is too high, the number n becomes too high. For this example we made the choice of the pentagon {5, 15}.
With the polygon and tessellation presented we were able to generate a code with the best parameters of the category, in the direction of encoding rate, in comparison with others in the literature that have the same minimum distance. Table 1 presents some topological codes with minimum distance d = 3 and that have the capacity of implementation of the whole group of Clifford, as can be seen in [4] and [17].