Skip to main content
Log in

On the duality between homological quantum codes of a hypermap and its dual hypermap

  • Published:
Quantum Information Processing Aims and scope Submit manuscript

Abstract

From a given topological hypermap \(H\), we define two related hypermaps \(H^\triangle \) and \(H^\nabla \) as complements of the ordinary dual hypermap \(H^*\) along with the concepts of their edge hypermap quantum codes \({\mathcal {C}}^\triangle \) and \({\mathcal {C}}^\nabla \). We then show that, when the sets of special darts are naturally related, the duality between the two ordinary hypermap quantum codes, i.e., \({\mathcal {C}}\) from \(H\) and \({\mathcal {C}}^*\) from \(H^*\) can be simplified to the duality between \({\mathcal {C}}^\triangle \) and \({\mathcal {C}}^\nabla \).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Data availability

All data generated or analyzed during this study are included in this article.

References

  1. Leslie, M.: Hypermap-homology quantum codes. Int. J. Quant. Inf. 12(01), 1430001 (2014)

    Article  ADS  MathSciNet  MATH  Google Scholar 

  2. Machi’, A.: Homology of hypermaps. J. London Math. Soc. 2(1), 10–16 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  3. Sarvepalli, P.: Relation between surface codes and hypermap-homology quantum codes. Phys. Rev. A 89, 052316 (2014)

    Article  ADS  Google Scholar 

  4. Breuckmann, N.P.: (2018) Homological quantum codes beyond the toric code. arXiv:1802.01520

  5. Freedman, M.H., Meyer, D.A.: Projective plane and planar quantum codes. Found. Comput. Math. 1, 325–332 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  6. Jones, G., Singerman, D., Schneps, L.: Maps, Hypermaps and Triangle Groups. London Mathematical Society Lecture Note Series, pp. 115–146. Cambridge University Press, Cambridge (1994)

  7. Hatcher, A.: Algebraic Topology. Cambridge University Press, Cambridge (2002)

    MATH  Google Scholar 

  8. Lando, S.K., Zvonkin, A.K.: Graphs on Surfaces and Their Applications. Springer, Berlin (2013)

    MATH  Google Scholar 

  9. Delfosse, N.: Decoding color codes by projection onto surface codes. Phys. Rev. A 89, 012317 (2014)

    Article  ADS  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zihan Lei.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendices

More on homological quantum codes

To explicitly write out the generators of the code, first, for n-tuples \(\alpha =(a_1,a_2,\cdots , a_n)\), \(\beta =(b_1,b_2,\cdots , b_n)\in {\mathbb {Z}}^n_2\), define \(X^\alpha \mathrel {\mathop :}=X_1^{a_1}\otimes \cdots \otimes X_n^{a_n}, Z^\beta \mathrel {\mathop :}=Z_1^{b_1}\otimes \cdots \otimes Z_n^{b_n}\), then a natural set of generators for the stabilizer group S is

$$\begin{aligned} \{X^\alpha , Z^\beta \big | \alpha \,\text {is the row of}\, H_X, \beta \, \text {is the row of}\, H_Z \}. \end{aligned}$$
(12)

If we denote the space spanned by all the rows of \(H_X\) (\(H_Z\)) as \(W_1\) (\(W_2\)), then we have by definition \(C_X=W_1^\perp \), \(C_Z=W_2^\perp \) and the stabilizer group can also be generated as

$$\begin{aligned} S=\langle X^\alpha , Z^\beta \big | \alpha \in W_1, \beta \in W_2\rangle , \end{aligned}$$
(13)

thus the subspace \(W_1\) (\(W_2\)) is simply the space of exponential n-tuples of all the X (Z) type operators in S.

The above constructions are actually valid in all CSS codes though, in the case of homological quantum codes, they can be written more compact by using chains and cochains. In the chain complex (equation 1), we call elements in \(V_i\) i-chains. If the chosen basis of the central vector space \(V_i\) is \(\{\Delta _{\iota }\}_{\iota =1}^{n}\), then for any i-chain \(c=\sum _{\iota =1}^{n}k_{\iota }\Delta _{\iota }\) we can construct a Z-operator \(Z_c=\bigotimes _\iota Z_\iota ^{k_\iota }\). To define cochains, we need to define cochain complex first. For chain complex 1, its cochain complex is the chain complex of dual vector spaces as follows:

(14)

where the coboundary map \(\delta _{j+1},j=i-1,i\) maps any linear functional \(\epsilon \) in \(V^*_{j}\) to the linear functional \(\delta _{j+1}\epsilon \) in \(V^*_{j+1}\) such that \(\forall v\in V_{j+1} \), there is \(\delta _{j+1}\epsilon (v)=\epsilon (d_{j+1}v)\). We have immediately that \(\delta _{j+1}\) is linear and \(\delta _{i+1}\circ \delta _i=0\). A natural basis for the central vector space \(V_i\) is the dual basis of \(\{\Delta _{\iota }\}_{\iota =1}^{n}\) and is denoted by \(\{\Delta ^*_{\iota }\}_{\iota =1}^{n}\), where \(\Delta ^*_\iota \) is defined as the functional satisfying \(\Delta _i^*(\Delta _j)=\delta _{ij}\in {\mathbb {Z}}_2\) with

$$\begin{aligned} \delta _{ij}= {\left\{ \begin{array}{ll} 0 &{} i\ne j,\\ 1 &{} i=j. \end{array}\right. } \end{aligned}$$
(15)

Then, an i-cochain refers to any element in \(V_i^*\) and can be written uniquely as \(c^*=\sum _\iota q_\iota \Delta ^*_\iota ,q_\iota \in {\mathbb {Z}}_2\), from which we can construct an X-operator \(X_{c^*}=\bigotimes _\iota X_\iota ^{q_\iota }\). Similarly, if we denote the chosen basis of \(V_{i+1}\) (\(V_{i-1}\) ) by \(\{f_{\iota }\}_{\iota =1}^{m}\) (\(\{v_{\iota }\}_{\iota =1}^{l}\)), then a natural basis of \(V^*_{i+1}\) (\(V^*_{i-1}\) ) will be the dual \(\{f^*_{\iota }\}_{\iota =1}^{m}\) (\(\{v^*_{\iota }\}_{\iota =1}^{l}\)). Under these dual bases, the matrices of \(\delta _{j+1}\) is denoted by \([\delta _{j+1}]\) and we have \([\delta _{j+1}]=[d_{j+1}]^T\). Now, the generator in equation 12 can be rewritten as

$$\begin{aligned} B_{f_\iota }\mathrel {\mathop :}=Z_{d_{i+1}f_\iota } \end{aligned}$$
(16)

and

$$\begin{aligned} A_{v_\iota }\mathrel {\mathop :}=X_{\delta _{i}v^*_\iota }. \end{aligned}$$
(17)

In the context of surface code, \(f_\iota \) is the face (2-cell) of the underlying 2-complex while \(v_\iota \) is the vertex.

We call elements in \(\ker \delta _{i+1}\) cocycles and elements in \({{\,\textrm{im}\,}}\delta _{i}\) coboundaries, and we have the i-th cohomology group \(H^i=\ker \delta _{i+1}/{{\,\textrm{im}\,}}\delta _{i}\) whose dimension is also k. By these terms, there is a useful expression for the distance d of a homological quantum code. Recall that for any stabilizer code \(({\mathcal {C}},S)\) with \({\mathcal {C}}\) the code space and S the stabilizer group, its distance d is defined as the minimum weight of all nontrivial logical operators, i.e.,

$$\begin{aligned} d=\min _{E\in N(S)\setminus \langle -I\rangle S }\text {weight}(E). \end{aligned}$$
(18)

where N(S) whose elements are called logical operators denotes the normalizer of S in the Pauli group \({\mathcal {P}}_n\) which is the group of all operators with the form

$$\begin{aligned} \pm X^{k_1}_1Z^{l_1}_1X^{k_2}_2Z^{l_2}_2\cdots X^{k_n}_nZ^{l_n}_n, \quad k_i,l_i\in \{0,1\}. \end{aligned}$$
(19)

When it comes to CSS codes, we have [9]

$$\begin{aligned} d=\min \{\text {wt}(a)\big | a\in (W_1^\perp \setminus W_2)\cup (W_2^\perp \setminus W_1)\} \end{aligned}$$
(20)

where \(\text {wt}(a)\) represents the weight of vector \(a\in {\mathbb {Z}}^n_2\), i.e., its number of 1. By equation 20, we have that for homological quantum code, the distance is calculated as

$$\begin{aligned} d=\min \{\min \{\text {wt}(c)\big | c\in \ker \partial _i\setminus {{\,\textrm{im}\,}}\partial _{i+1}\}, \min \{\text {wt}(c^*)\big | c^*\in \ker \delta _{i+1}\setminus {{\,\textrm{im}\,}}\delta _{i}\}\}. \end{aligned}$$
(21)

where \(\text {wt}(c)\) and \(\text {wt}(c^*)\) represents the weight of c and \(c^*\)’s coordinate vectors under the basis \(\{\Delta _{\iota }\}_{\iota =1}^{n}\) and its dual. Geometrically speaking, it is the shortest nontrivial cycles versus the shortest nontrivial cocycles!

Construction of a topological hypermap from a combinatorial one

Recall that when the permutation \(\alpha ^{-1}\sigma \) continuously acts on a dart, the dart will circle around its face, i.e., the orbit of the dart under the action of subgroup \(<\alpha ^{-1}\sigma>\) is the face to which the dart belongs. Actually, we can construct an oriented topological hypermap by finding the orbits of the subgroup \(<\alpha ^{-1}\sigma>\) of a combinatorial hypermap \((\alpha , \sigma )\) and then gluing these ‘faces’ together.

Let us suppose that we have found all orbits of \(<\alpha ^{-1}\sigma>\), they form a partition \(I\) of \(B_n=\{1,2,...,n\}\). When all subsets of the partition is acted by \(\alpha ^{-1}\), they form another partition \(O\), which, in the topological hypermaps case, represents the ‘outer’ darts of the faces (Recall Fig. 2.). Now, every element of \(B_n\) belongs exactly to one subset of \(I\) and one subset of \(O\). For each orbit, which consists of elements \(\{i_1, i_2,...,i_s\}\) with \(i_{k+1}=\alpha ^{-1}\sigma (i_k)\) for any \(i_k\) with \(k<s\) and \(i_{1}=\alpha ^{-1}\sigma (i_s)\), we draw a face (a polygon) on the paper in the way as Fig. 2 shows, which has s inner edges label by \(i_k\) and s outer edges label by \(\alpha ^{-1}(i_k)\). Each element of \(B_n\) labels an inner edge of precisely one of these faces ( because for any of these faces, its inner edges are exactly one subset of partition \(I\) ) and a outer edge of precisely one of these faces (because for any one of these faces, its outer edges are exactly one subset of partition \(O\)), and we can glue the corresponding faces along the two edges labeled by this element. Now, for all element of \(B_n\), we glue faces this way. (There is possibility that a face be glued with itself, which happens when \(i_k=\alpha ^{-1}(i_j)\) for some \(k\), \(j\in \{1,2,...,s\}\).) All faces have their naturally pointed normal fields, i.e., normal vectors pointing out from paper; this helps us matching the orientations when we glue an inner edge with an outer edge. All we need to do is to glue squared node with squared node, round node with round node; then, their naturally pointed normal fields will be matched together and form a global normal field. To see this, notice that when walking along an edge from a round node to a squared node, we are actually clockwise circling the face when its an inner edge, otherwise, we would circle it counterclockwise. When edges are being glued the right way, i.e., round node to round node, squared node to squared node, we will see the local picture right before gluing from a proper direction as Fig. 9 shows in which the left-side edge is a outer edge, while the right-side one, an inner edge.

Fig. 9
figure 9

A local picture right before gluing

Now, according to the previous observation, both of the normal fields of face \(f_1\) and \(f_2\) should be pointing again from paper to us (at least, within the local picture), which means that their naturally normal vector fields are perfectly matched along the edge we glued. Denote \(\Sigma \) for the space after gluing, the neighbors of every points of \(\Sigma \) are now surface like, i.e., homeomorphic to \(\textbf{R}^2\), excepting those that come from nodes (squared or round) of the original faces, we call them sites. In the vicinity of these sites, each dart (glued edges) has two and only two faces that are incident on it; therefore, the neighbor of these sites must be a single cone (It is impossible to have two or more cones with only their apex glued into a single site.) without self-intersection, which is topologically a disk. So, \(\Sigma \) is surface like near every points—we have got an oriented surface! The edges and nodes of the original faces becomes the darts and sites of an hypermap on \(\Sigma \), and the interiors of the faces themselves become the faces of the hypermap. We have transformed a combinatorial hypermap to a topological one, and it is easy to check that this topological hypermap with normal field the one we glued are exactly the original hypermap \((\alpha , \sigma )\) in the sense of permutations on \(B_n\), and the transformations between these two kinds of hypermaps are mutually reversible. Further more, every two darts of the newly constructed hypermap can be mutually transformed to each other by circling around the sites for finite many times due to the transitivity of \(<\sigma , \alpha>\), which indicates that the surface is connected. Also, the orbits of \(<\alpha ^{-1}\sigma>\) are finite, which indicates that the surface is compact.

As an example, let us construct a hypermap-homology quantum code of the pair \((\alpha , \sigma )\) with \(\alpha =\)(4 3 2 1)(5 7 8 6), \(\sigma =\)(7 1 6 3)(5 2 8 4) in the permutation group \(S_8\). The hypermap has 2 edges, \(e_1=\)(4 3 2 1), \(e_2=\)(5 7 8 6), and 2 vertices \(v_1=\)(7 1 6 3), \(v_2=\)(5 2 8 4). The faces can be calculated as follows:

$$\begin{aligned} \begin{aligned} \alpha ^{-1}\sigma&= \begin{pmatrix} 1 &{} 2 &{} 3 &{} 4 &{} 5 &{} 6 &{} 7 &{} 8\\ 8 &{} 7 &{} 5 &{} 6 &{} 3 &{} 4 &{} 2 &{} 1 \end{pmatrix}\\&= (1\quad 8)(2\quad 7)(3\quad 5)(4\quad 6) \end{aligned} \end{aligned}$$
(22)
Fig. 10
figure 10

Faces of \((\alpha , \sigma )\)

from equation 22, we draw 4 faces as Fig. 10 shows, After labeling their inner edges, the outer edges can also be labeled using \(\alpha ^{-1}\) as shown in Fig. 2. Now we can glue the four faces by gluing (Of course, squared node to squared node, round node to round node.) an inner edge with a outer edge that has the same label, and we have got a topological hypermap. To construct a quantum code, let us choose dart 2 and 5 as special darts, then a basis for \({\mathcal {W}}/\iota ({\mathcal {E}})\) is (1, 3, 4, 6, 7, 8) with \(i\) represent the equivalence class \(\omega _{i}+\iota ({\mathcal {E}})\). Also, a basis for \({\mathcal {F}}\) is (\(f_1\), \(f_2\), \(f_3\), \(f_4\)), which represents the faces from left to right in Fig. 10, and a basis for \({\mathcal {V}}\) is (\(v_1\), \(v_2\)). Under these bases, the binary check matrix \(A\) (see 2.1) is calculated as:

$$\begin{aligned} \begin{aligned} H_X&= \begin{pmatrix} 1 &{} 1 &{} 1 &{} 1 &{} 1 &{} 1 \\ 1 &{} 1 &{} 1 &{} 1 &{} 1 &{} 1 \end{pmatrix} \qquad H_Z&= \begin{pmatrix} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 \\ 1 &{} 1 &{} 1 &{} 0 &{} 1 &{} 0 \\ 0 &{} 1 &{} 0 &{} 1 &{} 1 &{} 1 \\ 0 &{} 0 &{} 1 &{} 1 &{} 0 &{} 0 \end{pmatrix} \end{aligned} \end{aligned}$$
(23)

from matrix \(A\), we can directly write out the generators for the hypermap-homology code:

$$\begin{aligned} \begin{aligned} A_{v_1}=A_{v_2}&=X_1X_3X_4X_6X_7X_8\\ B_{f_1}&=Z_1Z_8\\ B_{f_2}&=Z_1Z_3Z_4Z_7\\ B_{f_3}&=Z_3Z_6Z_7Z_8\\ B_{f_4}&=Z_4Z_6 \end{aligned} \end{aligned}$$
(24)

only 4 of the above 6 operators are independent, say \(A_{v_1}\), \(B_{f_1}\), \(B_{f_2}\), \(B_{f_3}\), which can be seem from equation 23. This tells us that we have \(6-4=2\) logic qubits—\(k=2\). Now, by the work of Sarvepalli, there is an equivalent surface code on the glued surface, whose homology group is the one from the ordinary chain (4) of the Sarvepalli 2-complex, therefore by 2.1 and the known results about the homology groups of orientable compact closed surfaces [7], we know that we have obtained a torus!

Degenerated cases

Our description about the construction of the Sarvepalli’s curves is slightly different from that in [3], which makes it more straightforward to deal with singular cases like the two shown in Fig. 11. (The Dashed line represents a erased curve.)

Fig. 11
figure 11

Cases when \(v_{\ni {i}}=v_{\ni {\alpha ^{-1}(i)}}\)

The left part of Fig. 11 is a local picture of the case \(v_{\ni {i}}=v_{\ni {\alpha ^{-1}(i)}}\) but \(i\ne {\alpha ^{-1}(i)}\). Here, the red line represents the Sarvepalli’s curves, and the explicitly labeled dart is non-special. This dart passes its label \(i\) to the red self-circle inside the face to which it belongs. For cases where \(i={\alpha ^{-1}(i)}\), \(\omega _i\) is the only dart that incident on the edge \(e_{\ni {i}}\) and is therefore an special dart. Thus, no matter how we draw the curve \(i\), it is to be erased, as is shown in the right part of Fig. 11. For edge hypermap codes, it is the self-circle of the left part of Fig. 11 that should be erased.

An ambiguity

For a complete example of Sarvepalli’s construction, see Fig. 8 and 9 of his paper [3]. To us, his example contains a subtle situation in which our slightly modified procedure may encompass some ambiguities, i.e., there are two ways of drawing curves in the situation shown in Fig. 12. In the left part of Fig. 12, curve \(i\) is closer to dart \(i\), while in the right part, curve \(j\) is closer to dart \(i\). Although both left and right part of Fig. 12 is the correct way of adding curves according to our 3 conditions proposed before, the right side one is different from Sarvepalli’s original example and can be divided into 3 cases.

  • Both dart i and j are not special Denote \(i_s\) the special dart incident to \(e_{\ni {i}}\) and \(j_s\) the special dart incident to \(e_{\ni {j}}\). Now the 3 faces of the hypermap that are involved are \(f_{\ni {i}}\), \(f_{\ni {i_s}}\) and \(f_{\ni {j_s}}\), while the 3 faces of the Sarvepalli 2-complex that are involved are from left to right denoted by \(f^*_{\ni {k_1}}\), \(f^*_{\ni {k_2}}\) and \(f^*_{\ni {k_3}}\), with \(f^*_{\ni {k_2}}\) the digon enclosed by curve ij. We are going to use this Sarvepalli 2-complex which is denoted by P to construct a new homological quantum code such that the only difference between this code and P’s ordinary surface code is the choice of basis of the space \(C_2\) in P’s chain complex \(C_2\xrightarrow []{\partial ^*_2}C_1\xrightarrow []{\partial ^*_1}C_0\). Notice that in the case of surface code, the basis of \(C_2\) consists of all the faces \(f^*_i\), we fix all of them but \(f^*_{\ni {k_1}}\), \(f^*_{\ni {k_2}}\) and \(f^*_{\ni {k_3}}\), which is replaced by \(F_1=f^*_{k_1}+f^*_{k_2},F_2=f^*_{k_2},F_3=f^*_{k_2}+f^*_{k_3}\). Under this new basis, the matrices of \(\partial ^*_i\) and \(\partial _i\) are equal; therefore, the new homological quantum code equals the original hypermap quantum code. Our new homological code replaces the generator \(Z_{\partial _2^*f^*_{k_1}}\) of the P’s surface code by \(Z_{\partial _2F_i},i=1,2,3\), which does not change the stabilizer subgroup S, so the Sarvepalli 2-complex in the right part of Fig. 12 also generate an equivalent surface code.

  • One of the two darts i and j is special Suppose dart i is special, so its Sarvepalli’s curve must be erased, now the Sarvepalli’s 2-complex obviously equals that of the left side.

  • Both dart i and j are special Same as above.

Fig. 12
figure 12

Ambiguity occurs when \(d_1\omega _i=d_1\omega _j\), but \(i\ne {j}\)

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lei, Z. On the duality between homological quantum codes of a hypermap and its dual hypermap. Quantum Inf Process 22, 110 (2023). https://doi.org/10.1007/s11128-022-03797-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11128-022-03797-y

Keywords

Navigation