Quantum Low-Density Parity-Check Codes

Quantum error correction is an indispensable ingredient for scalable quantum computing. In this Perspective we discuss a particular class of quantum codes called low-density parity-check (LDPC) quantum codes. The codes we discuss are alternatives to the surface code, which is the currently leading candidate to implement quantum fault-tolerance. We introduce the zoo of LDPC quantum codes and discuss their potential for making quantum computers robust against noise. In particular, we explain recent advances in the theory of LDPC quantum codes related to certain product constructions and discuss open problems in the field.


I. INTRODUCTION
Whenever quantum information is stored or manipulated errors are bound to occur. While there has been tremendous progress towards the realization of quantum processors [1][2][3], the implementation of error-corrected quantum memories and the demonstration of scalable fault-tolerant quantum computations remain formidable challenges.
One reason why error correction takes a prominent role in the realization of quantum computation is that qubits are inherently more fragile than classical bits. Another, more subtle reason, is that quantum computers mix the analog (amplitudes) with the discrete (measurements). Analog computation, which is based on the manipulation of continuous variables rather than bits, should serve as a cautionary tale: While it is well-known that, in theory, certain analog computers are vastly more powerful than even quantum computers [4], they remain fictional devices since there are no known error correction schemes which apply to the relevant analog computing architectures. It is thus unknown how to scale them to a size relevant for solving practically relevant tasks. This fact was already pointed out by early critics of quantum computers, who considered them to be nothing but analog computers in disguise [5,6]. Shor countered this criticism by introducing the first quantum error correcting code in his foundational paper [7], showing that it is possible to protect quantum information. This established quantum error correction as a field and started the pursuit to find optimal quantum error correcting codes.
Shortly after Shor's work, Kitaev's toric code [8,9] and the related planar surface code [10,11] were put forward. Surface codes are currently the leading approach for fault-tolerant quantum computation due to their high error correction threshold and planar layout. They exist for a variable number physical qubits n, and encode a single logical qubit k = 1. Their distance d, a measure for the error-correcting capability, scales with √ n. It is likely that we will soon see the first realization of small instances of surface codes, see [12] for recent results and a historical overview of experimental progress.
However, the surface code family does not compare favourably to the best known families of classical codes, where k and d scale linearly with n. While there exist quantum codes which match the properties of classical codes [13,14], they have a significant technical draw-back: the parity checks, which have to be measured to infer the error, involve a growing number of physical qubits per logical qubit. This is an issue as arbitrarily large checks can not be reliably facilitated without additional fault-tolerance constructions. Further, the measurement of the checks can not be parallelized, leading to a build-up of errors due to idling qubits. Finally, many decoding algorithms are based on the assumption that the parity checks are sparse.
Similar issues arose in classical coding theory and were solved by low-density parity check codes (LDPC codes) where the number of bits involved in each check and the number of checks acting on each bit are bound by a constant for all members of the code family. LDPC codes have been very successful in the classical setting as they approach upper bounds due to Shannon on the amount of information that can be reliably transferred through a noisy channel [15,16]. Many modern technologies such as WiFi, DVB-T and 5G are error corrected by LDPC codes [17].
It is therefore natural to consider quantum LDPC codes which are defined in the same way. While LDPC codes have been subject of intense study in classical coding theory for the last decades, their quantum analogues have only recently become a focus of attention. Much of the interest in LPDC quantum codes was spurred by Gottesman's remarkable result in 2013 showing that quantum LDPC codes with a constant encoding rate can reduce the overhead of fault-tolerant quantum computation to be constant [18]. This is in contrast with other quantum fault tolerance schemes where, in order to perform a longer computation, it is necessary to suppress errors further, which requires larger codes and thus a growing number of physical qubits [8,19,20]. Moreover, one might hope that quantum LDPC codes can approach channel capacity similarly to (classical) LDPC codes. We will not touch upon the challenging field of quantum channel capacities here, see [21][22][23] for references.
Classical coding theory is spoiled with constructions of LDPC codes with good properties. In fact, taking random codes gives LDPC codes with constant encoding rate k/n and linear distance d ∝ n with high probability [15,24]. In comparison, it is much harder to construct quantum LDPC codes and it is still a major open problem whether quantum LDPC codes exist which rival the parameters of their classical counterparts [25]. For example, surface codes and color codes, which are LDPC and amongst the most studied quantum codes, only encode a low constant number of qubits and have d ∝ √ n at best. There has been a lot of recent progress towards better LDPC codes and several families of quantum LDPC codes have been constructed that significantly outperform surface codes and color codes in terms of their asymptotic parameters. This is a strong indication for their potential, although they have not received the same amount of attention as the surface code as of now. Driven by this recent success, this perspective surveys the exciting and emerging field of quantum LDPC codes. We discuss the construction and analysis of these novel codes which involve ideas and challenges which go far beyond the theory of surface and color codes. The field still has many open questions of central importance that we highlight throughout the text.
First, we introduce some background on stabilizer and CSS codes as well as their relation to homological algebra and geometry (Sec. II) for the convenience of the reader.
Next, we discuss constructions of quantum LDPC codes using the geometry of manifolds (Sec. III). We discuss various product constructions of quantum LDPC codes inspired by the topological notions of cartesian products and fiber bundles which are at the heart of recent breakthrough results (Sec. IV).
Somewhat paradoxically, we will also review quantum codes which are strictly speaking not LDPC but also yield high encoding rates and require some sort of non-locality (Sec. V). We will not discuss surface and color codes in much detail since they are already covered extensively in the literature, see [26][27][28].
Besides introducing the zoo of quantum LDPC codes we discuss challenges and opportunities regarding their use for quantum error correction (Sec. VI). For example, we will address decoding algorithms and the challenges in hardware implementation. We do refrain from directly comparing different codes in terms of their thresholds due to the wide variety of error models and assumptions going into numerical simulations, but we do refer the reader to the relevant literature. We also discuss applications of quantum LDPC codes outside of quantum error correction and quantum fault tolerance (Sec. VII).

Notation and Conventions
All vector spaces, unless otherwise mentioned, are over the field with two elements F 2 . The notation [n, k, d] describes the parameters of a classical binary code: number of bits n, number of encoded bits k and minimum distance d. Similarly, we use the notation [[n, k, d]] for quantum codes.
Often, the exact relation between the code parameters is not known. However, it is sometimes possible to make asymptotic statements for which we need the following notation. For two positive functions f and g Lifted product codes Θ (n α log(n)) Ω n 1−α / log(n) Sec. IV C Balanced product codes Θ n 4/5 Ω n 3/5 Sec. IV D TABLE I. The best proven parameters of quantum LDPC codes discussed in this manuscript. Some entries refer to a whole method of constructing codes. In these cases we cite the best known proven parameters of a family quantum LDPC codes constructed using this method.
f ∈ Ω(g). The above symbols can be interpreted as sets of functions. However, whenever convenient we will abuse notation and write expressions such as f ≤ O(g) with the obvious interpretation.

II. BACKGROUND
One exciting aspect of the theory of quantum codes is the fact that it draws from a diverse mathematical and physical background. It combines research from classical coding theory, systolic geometry, homology and combinatorics. This manifests itself in several different perspectives that people from different areas have on quantum LDPC codes. We will briefly survey these perspectives here for the convenience of the reader.

A. Quantum codes
For background on general quantum codes we refer to the review by Terhal [29] and Preskill's lecture notes [30]. In this text, we will focus on stabilizer codes, which are the most studied class of quantum codes, see Gottesman's PhD thesis [31].

Stabilizer and CSS codes
An [[n, k, d]] stabilizer quantum code is defined by a commutative group S which is a subgroup of the Pauli group acting on the state space of n physical qubits (C 2 ) ⊗n not containing −I. The group S has n − k independent generators, called stabilizer checks. The code subspace is defined as the +1eigenspace of S and can be interpreted as the state space of k logical qubits. The non-trivial logical operators on the code space correspond to the elements of the Pauli group which commute with S, but are not in S themselves. The distance d is the smallest number of physical qubits in the support of a non-trivial logical operator. A slight generalization of stabilizer codes are subsystem codes where only some logical degrees of freedom are used while the others are downgraded to become gauge qubits and their corresponding logical operators are called gauge operators.
A CSS code is defined by a pair of classical linear binary codes C X , C Z ⊂ F n 2 such that the orthogonality condition C X ⊂ C ⊥ Z is satisfied, see [32]. We assume that the codes C X and C Z are given by their parity check matrices H X and H Z . A CSS code defines a stabilizer code, where the stabilizer group is generated by the stabilizer checks The commutativity of the stabilizer group is ensured by the orthogonality condition C X ⊂ C ⊥ Z which is equivalent to It is straightforward to express properties of the stabilizer code in terms of the CSS code. We will mostly focus on CSS codes and note that this is a only a minor restriction since any

Quantum LDPC codes
Generally, we are not interested in individual quantum codes but rather in families of codes with growing number of physical qubits. By abuse of language we will often simply speak of a code when we actually mean a family.
A low-density parity-check code (LDPC code) is a family of stabilizer codes such that the number of qubits participating in each check operator and the number of stabilizer checks that each qubit participates in are both bounded by a constant. For CSS codes this means that the Hamming weight of each row and column of H X and H Z is bounded by a constant.
More generally, one can define quantum LDPC codes to include codes which are defined by a set of commutative projectors in the obvious way, see Sec. V D. We consider subsystem codes to be LDPC if their stabilizer checks fulfil the LDPC condition.
A major open problem in quantum error correction is whether good quantum LDPC codes exist. Good is terminology from classical coding theory referring to the property of a code to have k ∈ Θ(n) and d ∈ Θ(n). It turns out that taking a sparse parity check matrices at random defines good classical codes [24], but taking two random parity check matrices to define H X and H Z of a quantum code does not work, as Eq. (1) will not be satisfied. Good quantum codes which are not LDPC have been known since the early days of quantum error correction [13,14]. However, it was only in 2020 that quantum LDPC codes have been constructed which have distances scaling as d ≥ Ω( √ n polylog(n)). Recently, there has been rapid progress on increasing the distance of quantum LDPC codes (see Sec. IV).

B. Perspectives on CSS codes
Besides their description in terms of parity check matrices, there are other useful representations of CSS codes, which we briefly collect in the following sections.

Chain complexes
Soon after quantum codes were introduced by Shor, it was discovered that they can be constructed using tools from homological algebra [9][10][11]34]. Let us briefly show how this homological description is related to our earlier definition of CSS codes: We consider chain complexes C of length n + 1 which are collections of linear maps ∂ i called boundary operators and F 2 -vector spaces C i fulfilling ∂ i ∂ i+1 = 0. Moreover, we assume that all vector spaces C i are equipped with a basis such that the boundary operators ∂ i can be interpreted as matrices. Chain complexes come from algebraic topology, see Sec. II B 3, and are hence described in topological terms. For example, the basis vectors of C i are called i-cells and elements i-chains. An i-cycle is an i-chain with trivial boundary so an element in ker(∂ i ), whereas an i-boundary is an i-chain in the image of the boundary operator so an element in im(∂ i+1 ). The i-th homology H i (C) = ker(∂ i )/ im(∂ i+1 ) of C is the vector space of i-cycles modulo i-boundaries. Dually, one defines i-cocycles, i-coboundaries and the i-th cohomology H i (X) = ker(∂ tr i+1 )/ im(∂ tr i ). In this homological language, a classical code corresponds to a chain complex of length two via its parity check matrix, while a CSS code can be represented by a chain complex of length three With this correspondence, the logical Z-operators correspond to the homology group H 1 (C) = ker(∂ 1 )/ im(∂ 2 ) and the logical X-operators correspond to the cohomology group H 1 (C) = ker(∂ tr 2 )/ im(∂ tr 1 ). The number of logical qubits is k = dim H 1 (C) = dim H 1 (C). The Z-distance d Z and X-distance d X is the minimum Hamming weight of all nontrivial homology and cohomology classes, respectively. The distance d is the minimum of d X and d Z . Vice versa, a single chain complex can yield many CSS codes, by taking any two consecutive boundary operators. This is a fruitful perspective that allows to import language and constructions from homological algebra to the theory of quantum codes. We refer to Sec. VIII A for more details.

Tanner graphs
A linear binary code C can be represented by a Tanner graph. The Tanner graph is a bipartite graph where each side of the partition corresponds to the bits and checks, respectively. Bits are connected to the checks in which they appear, see Figure 1. Analogously, a quantum CSS code can be described by a Tanner graph with three layers, representing X-checks, physical qubits and Z-checks, see Fig. 2. A check acts on the qubits incident in the Tanner graph. Accordingly, the incidence matri- The Tanner graph of the Shor code. Physical qubits are represented by circles, X-checks and Z-checks by the bottom and top squares, respectively. We note that we chose a linearly dependent set of stabilizer checks in order to establish a connection to a geometric interpretation of Shor's code, see Figure 3. ces between the layers are given by the parity check matrices H X and H Z , respectively. The commutativity constraint in Eq. (1) translates to the condition that the intersection of the neighborhoods of each X-check and Z-check contains an even number of physical qubits.

Manifolds and Cell complexes
The toric code is arguably the most well-known CSS quantum code [8,9]. It is defined from a tessellation of a torus with square tiles, where edges correspond to physical qubits and the stabilizer checks to faces (Z-checks) and vertices (X-checks). Each check acts on all its incident qubits/edges and the logical operators correspond to non-contractible loops.
Interesting quantum codes can be derived from tessellations of surfaces or manifolds other than the torus. For example, Shor's [ [9,1,3]] code can be constructed from a tessellation of the real projective plane, the non-orientable cousin of the torus, see [10]. In the same way as in the toric code, Xchecks, physical qubits and Z-checks of Shor's [ [9,1,3]] code are associated with vertices, edges and faces of the tessellation and checks act on their incident edges. This is shown in Fig. 3 where a tessellation of the projective plane with seven faces, nine edges and three vertices is depicted. Note that pairs of antipodal points on the circle are identified. Four of the faces are adjacent to two edges and hence give rise to Z-checks of weight two. One face is adjacent to six edges, giving rise to a Z-check of weight six. Similarly, all X-checks, which are FIG. 3. The Shor code [7] as a tessellation of the real projective plane, see [10]. Antipodal points on the circle are identified. The code has three X-checks, nine physical qubits and seven Z-checks represented by vertices, edges and faces, respectively. The red line represents a logical Z-operator. associated to the vertices, have weight six. This should be compared to Fig. 2 representing the same code by a Tanner graph. From both representations, one can immediately extract the parity check matrices H X and H Z as incidence matrices.
This construction generalizes to tessellations of other surfaces and to higher-dimensional manifolds M . We will call the i-dimensional elements of the tessellation i-cells, so that vertices are 0-cells, edges are 1-cells, faces are 2-cells etc. Given a tessellation of a D-dimensional manifold we identify i-cells of the tessellation (0 < i < D) with qubits, X-checks with the i − 1-cells and Z-checks with i + 1-cells. Non-trivial logical Z-operators correspond to subsets of i-cells which have no boundary and do not arise as the boundary of a subset of i + 1cells. In fact, the vector spaces spanned by i-cells together with the boundary operator form the so-called cellular chain complex, see [35,Section 2.2.]. This connects the homological perspective of Sec. II B 1 with the geometrical perspective. Moreover, there is also a relation to Tanner graphs by considering the Hasse diagram of the tessellation, see [36,Section 2.2.]. The logical X-operators are obtained in the same way by taking the dual tessellation or by considering cohomology classes.
The distance is related to the i-systole sys i (M ) of M which is the length/area/volume of the smallest non-contractible idimensional submanifolds of M . Note that this yields families of codes, by taking finer and finer tessellations. For reasonable tessellations these families are LDPC.

III. GEOMETRICAL CONSTRUCTIONS
Arguably the most famous quantum code is the toric code and its planar variant the surface code. These two examples are in fact part of a much larger family of codes derived from geometrical objects, see Sec. II B 3. Importantly, the properties of these codes are determined by the geometric of the underlying space, so that tools from geometry become amenable to quantum error correction.

A. Hyperbolic quantum codes
Quantum codes with a finite encoding rate k/n → R > 0 for n → ∞ naturally arise from manifolds of negative curvature, called hyperbolic manifolds. The reason for this lies in the Gauß-Bonnet-Chern theorem which relates the geometry of a manifold to its topology [37]. More concretely, it shows that for hyperbolic manifolds of even dimension D = 2i the dimension of the homology group H i grows linearly with the total volume of the manifold. Hence, the associated quantum code has a linear encoding rate. Therefore, any code derived from such a manifold (cf. Sec. II B 3) will have a constant encoding rate.
Compare this to the L × L toric code where the logical operators of minimum weight correspond to 1-dimensional submanifolds (circles). The number of these is two, regardless of L. The same is true for higher dimensions, e.g. one can define a four-dimensional toric code [27] where the logical operators of minimum weight correspond to six 2-dimensional tori.

Hyperbolic Surface Codes
Hyperbolic surface codes are the closest relatives of the toric code. They are defined in exactly the same way as the toric code, except that the tessellations are derived from hyperbolic geometry.
If we consider a closed surface with a hyperbolic metric then the Gauß-Bonnet-Chern theorem [37] mentioned above can be used to derive an exact formula for the number of encoded logical qubits. In particular, for regular tessellations based on regular polygons with r sides and s polygons meeting at each edge one can show that the number of logical qubits is given by k = (1 − 2/r − 2/s) n + 2. Note that the stabilizer check weight is r for Z-checks and s for X-checks, so that there is a trade-off between check-weight and encoding rate. Hyperbolic surface codes exist with check-weights five and four for Xchecks and Z-checks or vice versa [38,39]. Hyperbolic surface codes and their properties were discussed in [40][41][42]. A general construction as well as a planar version were introduced in [38]. In [23] the authors utilize hyperbolic surface codes to obtain results in percolation theory.
The distance of hyperbolic surface codes is logarithmic which suffices to prove that a threshold under minimum-weight decoding exists [43]. Many decoders that apply to the surface code can be used directly for hyperbolic surface codes, such as minimum-weight perfect matching [38] and the union-find decoder [44]. However, this means that error suppression on the logical qubits for physical error rates below the threshold scales only polynomially with the system size. Nevertheless, numerical simulations show that hyperbolic surface codes offer a reduction of physical qubits in the phenomenological noise model [38,39] and gate-based noise model [45]. Based on the symmetry of hyperbolic surface codes it is possible to find optimal measurement schedules of the check operators [45] and they are currently the only finite-rate quantum codes for which such schedules are known. FIG. 4. A hyperbolic surface of genus 3 tessellated by heptagons. It gives rise to a code with parameters n = 84, k = 6, dX = 4, dZ = 8. The colors have no intrinsic meaning and are only included to guide the eye. A weight-four X-operator goes through the following four faces on the right: magenta (top), violet, green (middle), yellow (below) and back to the same magenta face (periodic boundary). A weight-eight Z-operator runs along the left-hand side of these faces.
In [45] Higgott-Breuckmann show that hyperbolic surface codes can be turned into subsystem codes with weight-3 checks. There also exist hyperbolic versions of color codes [42,46,47] which could simplify the implementation of logical gates.

Higher-Dimensional Hyperbolic Codes
Lubotzky-Guth showed that codes derived from hyperbolic manifolds of dimension larger than two give quantum codes with distance scaling as d ∈ Θ(n α ) for some α > 0 [48]. In fact, they constructed families of 4D hyperbolic quantum codes such that α > 0.1. For arithmetic 4D hyperbolic manifolds the authors establish an upper bound of α < 0.3. However, it is an open problem whether these bounds hold for quantum codes derived from general 4D hyperbolic manifolds.
Hastings has proposed an efficient local decoding strategy for 4D hyperbolic codes [49]. However, despite having a distance scaling like n α , Hasting's decoder is only shown to correct errors up to size log(n).
The description of the codes by Lubotzky-Guth [48] is implicit. Londe-Leverrier [50] consider a tessellation of 4D hyperbolic space by hypercubes giving rise to a family of codes with asymptotic encoding rate R ≥ 17/360. A construction based on a self-dual tessellation by 120-cells was given by Breuckmann-Londe [51] giving an asymptotic encoding rate R ≥ 13/72. Furthermore, they show how topological coverings can be used to reduce the size of these codes and perform simulations of the codes using a belief-propagation decoder which indicates that it has intrinsic robustness against measurement errors, see Sec. VI C.

B. Freedman-Meyer-Luo codes
Hyperbolic geometry was used in earlier work by Freedman-Meyer-Luo [52] to construct a family of quantum codes with parameters [[n, 2, Ω( 4 log(n) √ n)]] [53]. These codes held the record for distance scaling for around 20 years until the record was broken in 2020 by several works discussed in Sec. IV. The arguments used in [52] are quite involved and beyond the scope of this Perspective. However, we sketch the main ideas behind the construction in order to give an intuition behind the distance scaling for the interested reader.
We will now sketch the construction of the underlying manifolds to give an intuition for the distance bound: First, take a closed hyperbolic surface Σ g of genus g and take the Cartesian product with the interval [0, 1] of unit length. The length of the shortest non-contractible loop on Σ g is called 1-systole and is denoted sys 1 (Σ g ). We identify the two ends of Σ g × [0, 1] with a twist of length sys 1 (Σ g ), so that the 1-systole of the resulting 3-dimensional manifold is sys 1 (Σ g ), see Figure 5. All non-contractible loops of length sys 1 (Σ g ) coming from Σ g are removed using surgeries, so that we obtain a 3manifold which we denote by P g . Since the interval [0, 1] has unit length, the 3-dimensional volume of P g is proportional to the area of Σ g . Further, due to the Gauß-Bonnet-Chern theorem (cf. Sec. III A) we have that area(Σ g ) = Θ(g). The final step in the construction of the manifolds is to take a loop S 1 of length g/ log(g) and take the Cartesian product with P g . The resulting 4-manifold then has 4-dimensional volume vol 4 (P g × S 1 ) = g 2 / log(g).
By tessellating the manifolds uniformly we obtain a cell complex on which we can define a homological quantum code by identifying the 2-cells (faces) with qubits, 1-cells (edges) with X-checks and 3-cells (volumes) with Z-checks, as described in Sec. II B 3. The number of physical qubits derived from these manifolds have number of qubits n scaling with vol 4 (P g × S 1 ). The logical operators correspond to non-contractible surfaces inside the 4-manifold. Their area is called the 2-systole and they have size sys 2 (P g × S 1 ) = Θ(g), leading to the distance bound. See [54] for a nice review of the construction which covers all the details.  Fig. 4). The blue line corresponds to a geodesic on the surface of length Θ(log(g)). All points on the surface are translated by a distance Θ( log(g)) along this geodesic. The thick black line traces out the position of a single point in the product Σg × [0, 1]. The two ends of the product, corresponding to coordinates 0 and 1 in the interval, are then identified so that we obtain Σg × S 1 with a twist.

C. Haah's code
Haah developed a general formalism which describes translation-invariant stabilizer codes which are local in Ddimensional Euclidean space [55]. Arguably the most famous example of a quantum code constructed by Haah's method is Haah's cubic code which is defined on a 3D cubic lattice of size L × L × L with periodic boundary conditions and two qubits per site [56]. The number of encoded qubits in Haah's cubic code grows with L and hence with the number of physical qubits. However, the exact number depends in a non-trivial way on L. For the distance of Haah's cubic code only the bounds Ω( 3 √ n) ≤ d ≤ O(n 2/3 ) are known [56,57]. An interesting feature of Haah's cubic code is the fact that its logical operators are fractals. Although we classify Haah's code as a geometric code here, as it is defined on a cubic lattice, it can also be understood as a special case of a product construction discussed in Sec. IV.
Open problem. What is the asymptotic distance-scaling of Haah's cubic code?
Haah's code is a candidate for a self-correcting quantum memory. By defining a local Hamiltonian which has the parity checks as energy-penalty terms, we obtain a physical system with the quantum code as its ground state. A self-correcting memory would be such a system which is inherently robust against thermal noise, without the need for an active decoding procedure. As this is not a focus of this text, we refer the reader to [58] for more background.

D. Bounds on parameters
While geometry is a useful tool for the construction of quantum LDPC codes it also comes with restrictions. Fetaya [59] showed that any code derived from the tessellation of a surface, either closed or with boundary, must have its distance bounded as d 2 ≤ O(n). Delfosse [42] extended Fetaya's result to the bound kd 2 ≤ O(log 2 (k) n).
For higher-dimensions, Bravyi-Poulin-Terhal showed that for any [[n, k, d]] stabilizer code on a D-dimensional Euclidean lattice kd α ≤ O(n) where α = 2/(D − 1) [60]. We note that the Bravyi-Poulin-Terhal bound does not extend to non-Euclidean lattices, as for D = 2 the bound is violated by hyperbolic surface codes Sec. III A 1. A class of codes conjectured to satisfy the Bravyi-Poulin-Terhal in 3D was introduced by Devakul-Williamson [61].
Open problem. Can the above bounds be modified or extended to non-Euclidean lattices in higher dimensions?
This problem seems challenging as it relates to deep questions in a sub-field of mathematics called systolic geometry, which analyzes the volume-scaling of non-contractible submanifolds [62].

IV. PRODUCT CONSTRUCTIONS
Classical coding theory is a long established field and it would be desirable to transfer results into quantum coding theory. In this section we describe various product constructions which allow to build quantum codes from classical codes and/or quantum codes. These constructions are at the heart of recent breakthrough results in the theory of quantum LDPC codes.
The first class of examples are incarnations of the tensor product of chain complexes from homological algebra. There are the hypergraph product (HP) codes by Tillich and Zémor [63] and the homological product codes of Hastings-Bravyi [64], constructing a quantum code from two classical codes. The distance balancing of Hastings [65] and Evra-Kaufman-Zémor [66] is achieved by taking tensor products of quantum codes with classical codes, while the codes of Kaufman-Tessler [67] employ iterated tensor products of quantum codes.
There are multiple improvements and generalizations of these product construction. Hastings-Haah-O'Donnell [68] define fiber bundle codes that introduce a twist in the tensor product in order to increase the distance. Another approach is found in the generalized hypergraph product and lifted product of Panteleev-Kalachev [57,69] as well as the balanced product of Breuckmann-Eberhardt [70]. All these are very closely related to each other, see Sec. VIII A. In 2020, the distance record of Freedman-Meyer-Luo from 2002, see Section III B, was broken multiple times utilising these product constructions. These are breakthrough results, as they surpass the the polylog(n) √ n-distance barrier which was by some believed to be unsurpassable. While many of the constructions do not have a constant encoding rate and hence do not satisfy the assumptions of Gottesman's constant overhead theorem [18], they constitute an important step in the pursuit of good quantum LDPC codes. Independent of asymptotic results these constructions provide tools to construct concrete examples of codes worth studying, as done in [69].

A. Tensor/hypergraph products
The tensor product of vector spaces extends to a notion of tensor product of chain complexes. This is a classical construction in homological algebra closely related to the Cartesian product of topological spaces, see [71,Section 2.7].
In particular, new quantum codes can be constructed by tensor products of classical codes and/or quantum codes using tensor products.
The first product construction in this spirit is the hypergraph product introduced by Tillich-Zémor [63] in 2009. The hypergraph product constructs a [[n 1 n 2 +r 1 r 2 , k 1 k 2 , min{d 1 , d 2 }]] quantum code from two classical [n i , k i , d i ]-codes with r i linearly independent checks for i = 1, 2. Its stabilizer checks are a combination of the physical bits and parity checks of the classical codes, see Fig. 6. By taking the hypergraph product of suitable classical LDPC codes, the authors were the first to achieve quantum LDPC codes with constant encoding rate and distance d ∈ Θ( √ n). Hypergraph products were used to define quantum expander codes, see [72,73], using Sipser-Spielman's expander codes [74]. Further, there are constant factor improvements [75] and higher dimensional generalisations [76] of hypergraph products. While Tillich-Zémor's definition is of combinatorial nature and utilising Tanner graphs, see Sec. II B 2, it is equivalent to taking the tensor product of two chain complexes induced by the classical codes, see Sec. II B 1. This perspective was, for example, taken by Hasting-Bravyi [64] in 2011 with their homological product codes and Audoux-Couvreur's work on tensor products of CSS codes [77]. The tensor product has the advantage over hypergraph products of being defined for arbitrary chain complexes and not just classical codes which gives immediate higher dimensional generalisations. For more details see Sec. VIII A 3.
In April 2020, generalizing a construction of Hastings [65], Evra-Kaufman-Zémor [66] introduced a distance balancing procedure for quantum codes utilising tensor products. They showed that the tensor product of a [[n, k, d X , d Z ]] quantum code with r X X-checks and a classical [m, l, d] code with r checks yields a [[nm + r X r, kl, d X , d Z d]] quantum code. Armed with this new tool, the authors were the first to break Freedman-Meyer-Luo's distance record, see Sec. III B. The authors consider Ramanujan complexes, a higher dimensional generalisation of Ramanujan graphs, see [78]. Using Ramanujan complexes directly would yield quantum codes with distances d X ∈ Θ(log(n)) and d Z ∈ Θ(n). By applying distance balancing to these, Evra-Kaufman-Zémor construct codes with distance d ∈ O( √ n log(n)).
Just four months later, in August 2020, Kaufman-Tessler [67] set a new record with d ∈ O( √ n log(n) m ) for arbitrary positive integers m, by making use of iterated tensor products of Ramanujan complexes.

B. Fiber Bundles
One month after Kaufman-Tessler's results [67], in September 2020, the polylog(n) √ n distance barrier was broken by Much like tensor products, fiber bundle codes are constructed from two classical codes, referred to as base and fiber code. While the number of physical qubits, logical qubits and checks is the same as in the tensor product, certain twists are introduced in the checks of the fiber, permuting the position of the qubits in the direction of the fiber. The twists are determined by a collection of automorphisms of the fiber code that are specified for every pair of bit and incident check of the base code. This can result in an increased the distance of resulting code. A trivial example is the twisted toric code where the lattice is displaced along the vertical direction. Due to the twist the non-trivial horizontal loop representing a logical Z-operator has to take a 'detour' to close up on itself.
The concept is derived from the topological notion of fiber bundles [37] and fiber bundle codes can be visualised as the fiber code varying non-trivially over the base code, see Fig. 7, much like the Möbius strip where the unit interval (fiber) varies non-trivially along the circle (base) or in the Klein bottle where a circle (fiber) varies over another circle (base). For more details, see Sec. VIII A 4.
Hastings-Haah-O'Donnell applied the fiber bundle construction to a random classical code as base, a cyclic repetition code as fiber and a random choice of twists. By homological and probabilistic arguments, they show that this yields families of quantum LDPC codes with k ∈ Θ(n 3/5 / polylog(n)) logical qubits and distance d ∈ Ω(n 3/5 / polylog(n)), a big step in the endeavor towards good quantum LDPC codes.

C. Lifted Products
Panteleev-Kalachev [57] managed to break Hastings-Haah-O'Donnell's record just two months later, in December 2020, employing a different improvement of tensor product codes. Already in 2019 [69] the authors introduced generalized hypergraph product codes (GHC) which they later renamed to lifted products codes (LP). The LP construction allows to decrease the number of physical qubits in the tensor product by a reduction of symmetry.
Specifically, the construction takes as input two classical codes given by their parity check matrices. It assumes that the matrices admit a block decomposition into pairwise commuting submatrices of size × for some . First, the hypergraph/tensor of the classical codes is taken. Then the parity check matrices of the resulting quantum code inherit a natural block decomposition into submatrices of size 2 × 2 . Next, the lifted product is obtained by collapsing each of these submatrices of size 2 × 2 to matrices of size × via summing over all of their × -sized blocks. The pairwise commutativity assumption ensures that the result defines a CSS code.
The lifted product reduces the number of physical qubits by a factor of in comparison to the hypergraph/tensor product. See Appendix A 5 for more details.
In [57], Panteleev-Kalachev study a special case of lifted product codes constructed from coverings of Sipser-Spielman expander codes, see [74]. Their quantum codes are constructed from an s-regular expander graph (the base), a cyclic covering of this graph of degree (the lift) and a classical local code on s bits. By grouping together vertices/edges in the lift graph that map to the same vertex/edge in the base graph, the incidence matrix of the lift graph has a natural block decomposition into submatrices of size × . The submatrices all commute since they correspond to a cyclic permutation. Next, the lift graph is combined with the local code, using the construction of Sipser-Spielman. The parity resulting check matrix inherits a block decomposition. In a last step the lifted product of this matrix with the adjacency matrix of the cycle graph of size (the parity check matrix of cyclic repetition code) is formed.
Most remarkably, they establish tight distance bounds for these lifted product codes assuming (co-)expansion properties of the associated classical expander code. By a random choice of graph, cover and local code, they construct quantum LDPC codes with logical bits in Θ(n α log(n)) and distance in Ω(n 1−α/2 log(n)) for any 0 ≤ α < 1. Thereby they achieve the first quantum LDPC codes with almost linear distance.

D. Balanced Products
Almost simultaneously to Panteleev-Kalachev's work, Breuckmann-Eberhardt introduced balanced product codes [70]. Similarly to lifted products, the balanced product construction is based on a reduction of symmetry in the hypergraph/tensor product. The balanced product is defined for two classical codes with a common symmetry group and arises by modding out the action of the group on their hypergraph/tensor product. The concept is derived from the balanced product of topological spaces, a classical construction in topology which is commonly used to construct fiber bundles from principal bundles [37].
We will now explain the construction in more detail. To begin, assume we are given a classical code with a group H acting on the bits and checks via permutation such that the incidence relation between bits and checks is preserved. One can form the quotient code by identifying bits and checks which lie in the same orbit of the action, thereby reducing The balanced product of the length-3 and length-6 cyclic graphs over Z3. This gives a 3 × 2 twisted toric code, which is a [ [12,2,3]] quantum code. Grey edges and vertices are only included to visualize the periodic boundaries. This code has an equivalent interpretation as a fiber bundle with a length-2 cycle graph as base and a length-3 cycle graph as fiber. It is also a lifted product of the boundary operators ∂1 of the two cycle graphs.
the length of the code. Now, given two classical codes C and D on which a group H acts, one can form the balanced product C ⊗ H D as follows. First, the tensor/hypergraph product code C ⊗ D is formed. There is an induced action of H on the physical qubits and checks of this quantum code.
The balanced product C ⊗ H D is obtained by identifying physical qubits and checks in the same orbit, much like in the classical quotient code. We note that the balanced product construction also works in greater generality. For example, one can form the balanced product of two quantum codes or chain complexes. See Sec. VIII A 6 for more details. In Fig. 8 the balanced of two repetition codes/cycle graphs of size 3 and 6 is visualised. Here Z 3 , the cyclic group of order 3, acts on both codes via rotation by 120 • . Their hypergraph/tensor product is a 3 × 6 toric code on which the group Z 3 acts via rotating the torus in both directions by 120 • simultaneously. Now all X-checks/vertices, physical qubits/edges and Z-checks/faces which lie in the same orbit of the action are identified. The resulting balanced product code is a 3 × 2 twisted toric code with parameters [ [12,2,3]].
Breuckmann-Eberhardt applied the balanced product to Sipser-Spielman codes and repetition codes with cyclic symmetry. The Sipser-Spielman codes are derived from Lubotzky-Phillips-Sarnak's expander graphs which are Cayley graphs of projective linear groups over a finite field PSL(2, q), see [79]. The resulting codes are non-random and achieve a number of logical qubits k ∈ Θ(n 4/5 ) and distance d ∈ Ω(n 3/5 ).

E. The Possibility of Good Quantum LDPC Codes
The fiber, lifted and balanced product open to the door to many new code families. They give hope that it possible to construct good quantum LDPC codes, so codes with constant rate and linear distance. However, we believe that it is not sufficient to only consider cyclic (or more generally abelian) twists/symmetries, such as those used in the previous three sections. This is supported by arguments of Panteleev-Kalachev [57, Section IV C] where they show that their bounds k ∈ Θ(n α log(n)) and d ∈ Ω(n 1−α/2 log(n)) for 0 ≤ α < 1 are in some sense optimal in these cases.
One promising idea to circumvent these bounds is to take non-abelian twists. This is possible in the balanced product construction by taking a non-abelian group H. For example, one could take the balanced product of two copies of a Sipser-Spielman code derived from a Cayley graph of a non-abelian group such as PSL(2, q). While one can show that this yields codes with linear rate, it is not yet clear how to determine their distance.
Open problem. Can the balanced product of two expander codes derived from Cayley graphs be used to construct good LDPC codes [70, Section VI]?
Balanced products codes have the advantage of being symmetric in their two input factors. The construction can easily be used to construct codes which are isomorphic to their dual and hence rendering any distance balancing unnecessary.

F. XYZ Products
Leverrier-Alpers-Vuillot [80] consider XYZ product codes, a product construction of stabilizer codes which are not CSS codes. The idea was first suggested in [81] and generalizes a 3D non-CSS code due to Chamon [82,83]. An XYZ product code is defined by a tensor product of three classical codes. Each check contains Pauli-X, Pauli-Y and Pauli-Z operators. Leverrier-Alpers-Vuillot argue that the distance of XYZ product codes could be as high as Θ(n 2/3 ) as logical operators have natural representations as "2D objects" in the product. However, there are no known general lower bounds on the distance. Bravyi-Leemhuis-Terhal [83] show that for the Chamon code, which is the XYZ product of three repetition codes with block lengths n 1 ,n 2 and n 3 , the number of encoded qubits is given by 4 gcd(n 1 , n 2 , n 3 ). Recently, a 2D version of the Chamon code was found to perform remarkably well in numerical simulations when the noise is biased [84].
Open problem. What is the minimum distance and performance of quantum XYZ product codes?

V. OTHER CONSTRUCTIONS RELATED TO LDPC CODES
In this section we describe other families of quantum codes which are not LDPC under our strict definition, see Sec. II A 2. However, they are sometimes called LDPC codes in the literature and are based on very interesting ideas which is why we include them here.

A. Bravyi-Hastings Codes
In [64] Bravyi-Hastings apply the tensor product construction, see Sec. IV A, to two random, non-LDPC CSS codes with check weights Θ(n). They show that with high probability the resulting codes have parameters [[n, Θ(n), Θ(n)]], i.e. they are good codes. However, the codes are not LDPC as the check weights are in Θ( √ n). This improves on the earlier result by Calderbank-Shor [13] who constructed good quantum codes with check weight Θ(n). Note that the square-root of the check weight comes from the fact that Bravyi-Hastings are taking the product of two codes with linear check weight and that the check weights are additive in the product. This immediately suggests that the weight could be further suppressed by taking iterated products. A related construction due to Hastings [85], under the assumption of a conjecture in geometry, achieves distance d ∈ Ω(n 1− ) for arbitrary > 0 and with logarithmic stabilizer weight.
Open problem. Does the iterated product of random codes provide a code family of good codes with stabilizer check weight scaling arbitrary low?

B. Bravyi-Bacon-Shor Codes
Bravyi-Bacon-Shor codes are generalizations of Bacon-Shor subsystem codes defined in [86] and studied by Yoder [87,88]. They are defined from a binary matrix A ∈ F m1×m2 2 by placing physical qubits on a m 1 × m 2 square grid with a physical qubit placed on position (i, j) if and only if A i,j = 1. The gauge operators are generated by XX interactions between any two consecutive qubits sharing a column and ZZ interactions between any two consecutive qubits sharing a row. The number of physical qubits n of the resulting code is the number of non-zero entries in A. Bravyi furthermore showed that the number of logical qubits is k = rk(A) and that the minimum distance is the minimum Hamming weight of the row-and column-span of A, i.e. d = min c∈V |c| where In [87] Yoder considered taking two classical codes with parameters [n 1 , k, d 1 ] and [n 2 , k, d 2 ] with generating matrices G 1 and G 2 in order to define a Bravyi-Bacon-Shor Code based on the matrix A = G T 1 QG 2 where Q ∈ F k×k 2 is any full-rank matrix. The resulting code then has between min{n 1 d 2 , d 1 n 2 } and n 1 n 2 physical qubits, k logical qubits and distance min{d 1 , d 2 }. In particular, when the classical input codes have constant rate and linear distance then the resulting Bravyi-Bacon-Shor codes have optimal scaling for 2D subsystem codes. Furthermore, the resulting code inherits a decoder from the classical codes used for the construction.
Open problem. Can the Bravyi-Bacon-Shor Codes be extended to the novel product constructions discussed in IV?

C. Subsystem Codes from Quantum Circuits
Bacon et al. showed in [89] that it is possible to obtain quantum codes such that each physical check has weight O(1) with distance Θ(n 1− ) where ∈ O(1/ log(n)). Furthermore, restricting the code to be spatially local in D-dimensional Euclidean space, the authors show that a distance of Θ(n 1− −1/D ) can be obtained. The physical checks correspond to gauge operators and not to the actual stabilizer checks. The stabilizer checks can be written as products of the gauge operators, so that the outcome of stabilizer measurements can in principle be inferred from the measurements of the gauge operators. The number of gauge factors of a stabilizer is not bounded, in other words, the actual stabilizer checks have unbounded weight, so that this code family is not LDPC.
Let us briefly sketch the main idea behind the construction. The authors show that a quantum circuit can be mapped onto a quantum code by associating the gates with gauge operators which act on physical qubits positioned between the gates. It can then be shown that if the mapping is applied to a suitable error-detection circuit of a stabilizer code then the resulting subsystem code has the same logical operators up to multiplication with gauge operators. The actual parameters stated earlier can be obtained by taking a quantum code with parameters [[n 0 , 1, Θ(n 0 )]], which is guaranteed to exist by [90], and concatenate it with itself a suitable number of times.
Note that in this construction the distribution of the stabilizer check weights is non-uniform, but logarithmically distributed. Although it is unlikely that these codes can have a threshold it might still be worthwhile to find an efficient decoder to test whether the error suppression is competitive for relevant system sizes.
Open problem. Can the codes of Bacon et al. [89] be efficiently decoded?

D. Approximate Codes from Spacetime Circuit Hamiltonians
An interesting approach was taken by Bohdanowicz et al. in [91]. Similarly to the codes by Bacon et al. discussed in Sec. V C they derive quantum codes from quantum circuits.
The parameters of their code are [[n, Ω(n/ polylog(n)), Ω(n/ polylog(n))]]. They define their code as the ground-space of a local Hamiltonian where each term operates on 9 qubits and each qubit participates in polylog(n) many terms. The codes are non-stabilizer codes, i.e. the terms of the Hamiltonian are not given by Pauli operators, so that many fault tolerance techniques developed for stabilizer codes do not apply. For example, it is not clear how to measure the energy of each term of the Hamiltonian or how to process the information for a recovery. Furthermore, the codes are approximate codes, which means that the fidelity of the encoded state after a recovery is only 1 − , where ∈ o(1).
Their construction uses encoding circuits of good quantum codes of polylog-depth which are guaranteed by [92]. This encoding circuit is mapped onto a local Hamiltonian which contains the valid computations of the circuit in its ground space [93] and has a spectral gap which scales as Ω(1/n α ) for some α > 0. The authors show that for arbitrary errors a recovery operation exists which restores the initial state with high fidelity.
A different approach to non-stabilizer codes was taken by Movassagh-Ouyang [94] who demonstrate how to map classical codes into the ground space of quantum spin chain Hamiltonians.
Open problem. Can non-stabilizer codes and approximate codes give rise to practical and competitive fault tolerance schemes?

A. Reduction in Overhead
A major achievement of fault-tolerant quantum computing is the threshold theorem [8,19,20] which shows that faulttolerant quantum computation is possible with polylogarithmic overhead of physical qubits in the length of the computation.
A theorem due to Gottesman shows that it is even possible to perform quantum computation with only constant overhead in resources [18].
More precisely, Gottesman shows the following: Assuming we have a family of LDPC codes with parameters [[n i , k i , d i ]] such that (a) it has a constant rate lim inf i→∞ n i /k i = R > 0, (b) its elements are polynomially spaced, i.e. 0 < n i − n i−1 < n β i for some constant β > 0, and (c) there exists an efficient decoding algorithm which for suitably low noise parameters suppresses errors as 1/g(n i ) for i → ∞ where g is some nondecreasing function. Then any suitably large quantum circuit on k qubits can be approximated with arbitrary precision if the noise of the components is below a certain threshold parameter using at most ηk/R physical qubits, where η > 1 controls the threshold. In particular, this result gives an exact upper bound compared to the earlier threshold theorems which can have very large constants hidden in the asymptotics [95].
Fawzi-Grospellier-Leverrier showed that the assumptions of Gottesman's theorem can be satisfied [96] using a hypergraph product code build from expander codes [97] decoded by a simple decoder that they call the small-set-flip decoder. It is very likely that other codes discussed in Sections III and IV could fulfill the requirements of Gottesman's theorem as well.
The key to this is finding decoders which are sufficiently simple in order to be able to proof the required error suppression.
Open problem. Which quantum LDPC codes can be used for Gottesman's constant overhead theorem?

B. Logical Operations
Gottesman's theorem guarantees a constant overhead by performing operations sequentially with logical gates implemented using ancilla states. However, it does require a minimum amount of logical qubits to become effective and this amount has yet to be determined. Hence, there may be schemes which could potentially turn out to be more practical. For an overview of the leading proposals of implementing operations on codes not discussed in the manuscript see [98].
Bravyi-König showed that there is a trade-off between the implementability of constant-depth logical gates and the spacial locality in Euclidean space [99], see also [100]. A corollary of their result is that any code that is spatially local in two dimensions can only have constant-depth logical gates belonging to the Clifford group. Therefore, in order to implement logical gates in codes like the surface code or two-dimensional color codes we need to execute circuits of depth scaling with the code size.
One could therefore expect that LDPC codes which are not bound by locality might offer an advantage. Not much is known regarding logical gates for general LDPC codes.
Code deformations were considered for hyperbolic surface codes in order to perform CNOT gates [39].  considered generalizations of code deformation techniques of the surface code to hypergraph product codes (cf. Sec. IV A) in order to implement Clifford gates. On the other hand, Burton-Browne [102] showed that it is not possible to obtain logical gates with circuits of depth one (transversal gates) outside of the Clifford group using hypergraph product codes.
A different approach is taken by Jochym-O'Connor [103] who showed that taking the tensor product of two suitable quantum codes with complementary sets of gates it is possible to perform the logical operations of either and thus obtain a fault-tolerant and universal set of gates. Such a scheme may be an alternative to Gottesman's protocol [18] which achieves universality using ancillary states to obtain constant overhead.

C. Decoding
For a general stabilizer code it was shown by Iyer-Poulin that optimal decoding, i.e. maximizing the success probability of reversing the error, is #P-complete [104]. However, it is often sufficient to consider a sub-optimal decoding algorithm, such as minimum-weight perfect matching for the surface code [27].
Current decoding algorithms for the surface code or 2D topological codes suffer from a large time complexity, although progress has been made in reducing the time complexity of decoding the surface code [44,105]. Here, LDPC codes could offer an advantage. First, the time complexity of decoding algorithms often depends on the number of physical bits. LDPC codes can achieve better encoding rates, offering the same level of protection, and consequently admit faster decoding. For example, applying minimum-weight perfect matching to hyperbolic surface codes can yield significant performance improvements in comparison to 2D surface codes. Second, LDPC codes offer simplified decoding algorithms, significantly decreasing the classical processing load and complexity compared to currently favored schemes. They can be implemented by simple logical gates and do not need complex processors and this would imply less heat dissipation into the system and could allow for the classical control hardware to be closer to the qubits.
A widely used decoding algorithm for classical codes is based on iterative message-passing on the Tanner graph and is called belief-propagation (BP). The BP decoder is very appealing due to its simplicity, which could benefit hardware implementations, as well as its versatility, as it can in principle be applied to arbitrary quantum LDPC codes. Generally, BP does not work well when applied to Tanner graphs which contain small loops, a feature quantum codes necessar-ily have due to the commutativity constraint which introduces loops of length four (cf. Fig. 2). Further, when applied to quantum codes BP tends to fail to converge as there exist many equivalent solutions up to the application of stabilizers. These problems were addressed in [106][107][108][109][110][111]. In particular, Duclos-Cianci-Poulin combined BP with a renormalization decoder [112] and Panteleev-Kalachev combined BP with ordered statistics decoding, which showed good performance on a variety of quantum LDPC codes [69]. BP decoders were analyzed in numerical simulations for tensor products of classical codes [113][114][115] and to 4D hyperbolic codes [51]. As BP is widely used for classical codes one can draw from a wealth of literature. For example, there has been rapid progress on efficient hardware implementations of BP [116,117].
For classical codes it has been observed that expansion properties of the Tanner graph can lead to simple greedy decoding algorithms [74]. Such greedy algorithms do not directly transfer to quantum codes. However, Leverrier-Tillich-Zémor found a suitable generalization, called the small-set-flip decoder, which applies to tensor products of classical expander codes [97]. Hastings showed that the expansion properties of 4D hyperbolic codes can be used for decoding using a local greedy procedure as well [49].
Delfosse-Londe-Beverland consider the union-find decoder, which was initially developed as an efficient decoder for the surface code, for decoding general quantum LDPC codes [118]. Delfosse-Hastings combined the union-find decoder of the surface code [44] with a look-up decoder of a small code of fixed size [119] applying it to the tensor product of both codes. This raises the following question.
Open problem. Is there a systematic approach to generalize decoders of classical codes to work for quantum codes based on their product?
Bounds on the optimal decoding performance for tensor products of random classical codes were given in [120].
A further potential advantage of LDPC codes over the surface code is single-shot decoding [121]. As stabilizer check measurements are subject to noise they have to be repeated in order to build confidence [27]. Single-shot decoding refers to the property of some LDPC codes to exhibit robustness against such measurement errors, so that it is not necessary to repeat the stabilizer check measurements. Numerical simulations of single-shot decoding were performed (under various assumptions and error models) for tensor product codes [122,123] and 4D hyperbolic codes [51].

D. Hardware Implementation
A major concern often raised regarding the codes discussed in this manuscript is how they could be implemented in hardware. In the following section we discuss the main concerns and argue why we are optimistic about the potential of LDPC codes.
An important aspect of hardware implementation is that the maximal number of qubits involved in a stabilizer check should be low in order to keep the number of errors introduced down.
Although this number is constant for LDPC codes by definition, it can still be too high for practical purposes, although it is possible to reduce the stabilizer check weight using graphbased arguments [65,124]. Higgott-Breuckmann suggest an alternative construction by systematically breaking the stabilizer checks into smaller, so-called gauge checks, which do not commute, but from which the stabilizer check measurement can be inferred [45].
However, the most obvious draw-back of LDPC codes comes with the question of how to lay out the physical qubits and their couplings in space. As a proxy, we will discuss the layout of the Tanner graphs of codes. Almost none of the Tanner graphs of the quantum LDPC codes discussed here are planar, with the exception of a planar variation of hyperbolic surface codes [38]. More severely, several codes discussed here do not have 'nice' embeddings in Euclidean space, as their Tanner graphs have non-trivial expansion (although expanding graphs actually have been implemented in experiments [125]).
A related concern is that some qubit hardware implementations and their couplings are only possible in a planar layout. While planar embeddings of the discussed quantum LDPC codes are generally not possible, it is possible to break up graphs into planar pieces which are then connected along a 1D line without intersections. This can be done using book embeddings [126] where the vertices of the graph are arranged along a line (spine) and each edge is assigned a half-plane with the line as its boundary (page), such that no two edges on the same page intersect. Clearly, the vertices do not have to be placed on the spine but can be pulled into the pages. The number of pages should ideally not grow and it was shown in [127] that there are indeed families of expander graphs even so that only three pages are sufficient for a book embedding. However, the minimum number of pages for the Tanner graphs of codes discussed here are not known to us.
The viability of implementing quantum codes requiring nonlocal couplings depends on the hardware. Currently, it is not settled which qubit architecture will succeed (see [128] for an overview). Hence, it is also not clear at this point in time how future quantum computing architectures will scale. Although some proposals suggest that a large number of physical qubits may be placed in a single fridge [129], it seems doubtful that arbitrary scaling inside a single fridge will be possible. Other proposals pursue a modular architecture of interconnected modules linked by a photonic interface [130][131][132][133]. A modular approach would free us from spacial constraints, making LDPC codes competitive candidates for implementing quantum fault tolerance. Other approaches to quantum computation, such as qubits coupled to a common cavity mode [134,135], even allow for direct, non-planar interactions between qubits.
In order to measure the stabilizer checks it is necessary to find a scheduling, an ordering of the gates which couple the data qubits to an ancilla used for the measurement. This ordering should not spread errors in order to be fault-tolerant and it should also be efficient to minimize the time of qubits idling. Finding such circuits is a non-trivial task and, as far as we are aware, hyperbolic surface codes are the only finiterate codes which have a known measurement schedule [45,136]. Finding such schedules will be challenging for random constructions.
Open problem. Are there good measurement schedules for the LDPC codes discussed here?

VII. APPLICATIONS OUTSIDE OF QEC
We have seen that quantum LDPC codes draw from many areas of mathematics, physics and computer science. One could hope that quantum LDPC codes could in turn find use outside of quantum error correction and quantum fault tolerance. Here we want to briefly highlight two examples where this is the case.

A. Quantum Complexity Theory
An important class in quantum complexity theory is QMA, an analogue of the classical complexity class NP, see [137,138]. A prototypical QMA-complete problem is the k-local Hamiltonian problem (LocHam), see [137]. It asks whether the ground state energy of a k-local Hamiltonian is either below a or above b where b − a > 1/ poly(n) and can be seen as the quantum analogue of 3-SAT. One of the main achievements of classical complexity theory, the PCP theorem, also a admits a conjectural quantum version. The quantum PCP (qPCP) conjecture states that LocHam is equally hard when stated with a constant accuracy b − a > const. instead of an inverse-polynomial accuracy, see [139,140].
Hastings introduced the no low energy trivial state (NLTS) conjecture, a weakening of the qPCP conjecture [141,142]. It states that there a is family of local Hamiltonians acting on an increasing number of qubits such that the energy of any trivial state is below a universal constant. The NLTS conjecture could be solved by construction quantum LDPC codes with linear distance for which there exist local Hamiltonians for which the energy of a quantum state is proportional to its distance from the ground-space of the Hamiltonian (quantum locally testable codes). Towards solving the NLTS conjecture, Anshu-Nirkhe show that quantum LDPC codes with linear rate and polynomial distance has no trivial states of energy less than o(n) [143]. See [144] for a zoo of the various complexity classes and their relation to quantum LDPC codes and [145] for a comprehensive review of the qPCP and NLTS conjectures.

B. Geometry
In Sec. III we have seen that quantum LDPC codes can be constructed using tools from geometry. More precisely, quantum codes can be defined from tessellations of manifolds such that the code properties are determined by the geometric properties. Recently, Freedman-Hastings showed that the inverse is also possible [146]. Given a quantum LDPC code they construct manifolds of dimension D = 11 such that geometric properties of the manifold are determined by the properties of the code. Their work suggests that questions of systolic geometry can be answered using quantum LDPC code constructions.

VIII. CONCLUSION AND OUTLOOK
In this perspective, we gave an overview of the emerging field of quantum LDPC codes providing promising new approaches to quantum error correction. Quantum LDPC codes use a plethora of techniques from mathematics, physics and computer science. In particular, we showed how ideas from geometry and homological algebra shape the theory of quantum LDPC codes. The results discussed here make use of hyperbolic geometry, expander codes, algebraic topology, to name a few. The fast pace of new distance records in the last year suggests that one of the main goals of the field, the quest for quantum LDPC codes with constant encoding rate k/n > const. > 0 and linear distance d ∝ n, may soon be in reach and that the next years may offer many exciting new developments.
Moreover, we discussed challenges and opportunities. In particular, the viability of quantum LDPC codes depends on future developments in hardware and many problems in the implementation of scalable fault-tolerant quantum computation remain to be solved. Low-latency classical control and fast decoding algorithms as well as inter-connectivity and wiring are challenging problems for the architecture of error-corrected post-NISQ quantum devices. Quantum LDPC codes could play a decisive role in their realization. Although the development of the surface code is ahead in many respects, quantum LDPC codes may well turn out to be better suited for the implementation of quantum computers in the mid-to long-term.
On a theoretical level, quantum LDPC codes may yield exciting applications in geometry, quantum complexity theory and potentially beyond, indicating that the flow of ideas can be reversed.
Acknowledgements: The authors would like thank the following people for helpful discussions: Matt Hastings, Gleb Kalachev, Anirudh Krishna, Alex Lubotzky, Pavel Panteleev, Joschua Ramette, Christophe Vuillot. Special thanks to Barbara Terhal for valuable feedback on our manuscript. NPB acknowledges support through the EPSRC Prosperity Partnership in Quantum Software for Simulation and Modelling (EP/S005021/1).

A. Constructions for chain complexes
For the convenience of the reader, we describe various homological constructions, such as the different product codes from Sec. IV A, in greater detail.

Chain complexes
A chain complex C = (C, ∂ C ) of vector spaces over F 2 of length n + 1 is a collection of vector spaces C i and linear maps ∂ C i , called boundary operators, Often, the indices of boundary operators from the notation. For example, one simply writes ∂ 2 = 0.
To a chain complex C one can associate the vector spaces of i-cycles, i-boundaries and the i-th homology, respectively, whereas elements in C i are called i-chains. We assume that the spaces C i are equipped with bases of so called i-cells. This defines scalar products on each C i . We denote the linear dual of C i by C i . Elements in C i are called cochains. The canonical basis allows to identify C i = C i and one defines the vector spaces of i-cocycles, i-coboundaries and the i-th cohomology of the complex C. The scalar product on C i and C i induces a welldefined and non-degenerate pairing of H i (C) and For each i, a quantum code can be extracted from the cell complex C with parity check matrices H X and H Z corresponding to the operators ∂ i and ∂ tr i+1 . The X-checks, physical qubits and Z-checks then correspond to the i + 1-, iand i − 1-cells of C. The non-trivial logical Xand Z-operators correspond to the elements in H i (C) and H i (C), respectively. See also Sec. II B 1 for the relation of chain complexes and (quantum) codes.

Total Complex of Double Complexes
An interesting way of constructing chain complexes is by the total complex construction of a double complex. A double complex E = (E •,• , ∂ v , ∂ h ) is an array of vector spaces E p,q equipped with vertical and horizontal maps ∂ v p,q : E p,q → E p,q−1 and ∂ h p,q : E p,q → E p−1,q such that ∂ v and ∂ h are commuting boundary operators It is convenient to visualise the double complex laid out on a two-dimensional grid where each square is required to commute and composing two maps in the same direction yields zero, see Fig. 9. To each double complex E, one can associate  10. A double complex arising as the tensor product of two complexes of length two. The different color symbolize the different degrees in the total complex which is a chain complex of length three. The diagram should be compared with Figure 6. a chain complex Tot(E), called the total complex, where the n-th degree is given by the direct sum over the n-th diagonal in E, so Tot(E) n = p+q=n E p,q , and the boundary operators of Tot(E) are the sum of all boundary operators passing from one diagonal to the next. The requirement that the boundary operators of Tot(E) square to zero directly follows from Eq. (2).
We note that these concepts immediately generalize to higher dimensions. See Fig. 11 for an example of a triple complex.

Tensor product of chain complexes and hypergraph products
Let C and D be complexes of length n and m, respectively. The tensor product C⊗D is a chain complex of length n+m−1 and can be seen as a generalization of the tensor product of vector spaces to complexes.
There is an elegant and quick definition of tensor product C ⊗ D in terms of double complexes. Namely, the tensor product double complex C D is defined by Note, that after choosing a basis, the tensor product of two maps is given by the Kronecker product of the corresponding . 11. A triple complex arising as the tensor product of three complexes of length two. The different color symbolize the different degrees in the total complex which is a chain complex of length four.
matrices. Then C ⊗ D = Tot(C D) is the total complex of this double complex.
For example, if C and D be chain complexes of length 2 then the tensor product C ⊗ D of C and D is a chain complex of length 3 with boundary operators respectively. The relation between this direct definition and the definition via total complexes is visualised in Fig. 10.
The tensor product of chain complexes can be used to define the hypergraph product of two classical codes. Assume that the codes have n i bits and r i checks for i = 1, 2 and parity check matrices H and H . To the codes one associates two chain complexes C and D of length 2 with boundary operators ∂ 1 C and ∂ 1 D represented by the matrices H and (H ) tr . Then the hypergraph product arises as the tensor product C ⊗ D. In particular, the parity check matrices H tr Z and H X of the hypergraph product code are given by The homology of a tensor product is subject of the Künneth formula This allows to easily compute the number of logical qubits of a tensor product/hypergraph product quantum code.
Moreover, one can also take iterated tensor products of chain complexes, which correspond to higher dimensional complexes. See Fig. 11 for an example of a tensor product of three complexes.

Fiber Bundle Codes
In topology, a fiber bundle is generalization of a product of two spaces, which allows for non-trivial twists. It consists of a projection map π : E → B from its total space to its base, such that the fibers F = π −1 (x) are isomorphic and E is a product of the base and the fiber locally. A protopical example of a fiber bundle is the Klein bottle, which admits a map to a circle whose fiber is also a circle. The Klein bottle is a twisted version of a product of two circles, the torus.
Fiber bundle codes mimic this topological concept and were introduced by Hastings-Haah-O'Donnell [68] to build quantum LDPC codes breaking the √ n polylog(n) distance barrier.
The idea behind fiber bundle codes is to introduce a twist in the boundary operators of tensor product codes, in order to increase the distance of the resulting code. Let B and F be two complexes of length two equipped with bases, we will refer to as base and fiber complex respectively. Further, let ϕ be a function (called twist) that associates to any pair of incident basis vectors of B 0 and B 1 an automorphism of the fiber.
Then the fiber bundle code B ⊗ ϕ F is a chain complex with the same underlying vector spaces as B ⊗ F but twisted boundary operators for basis vectors b i ∈ B i and f ∈ F 0 or f ∈ F 1 . In particular, if ϕ = 1 then the fiber bundle B ⊗ ϕ F = B ⊗ F specializes to the tensor product. In fact, the fiber bundle code B ⊗ ϕ F can be interpreted as the total complex of the fiber bundle double complex B ⊗ ϕ F with the obvious boundary operators. Requiring that ∂ B 1 is surjective and some additional technical conditions [68], one can show that Hence the number of logical qubits in B ⊗ ϕ F coincides with the number of encoded bits in the code associated the complex B. In [68] the construction was applied to a random code B as base, a repetition code with cyclic symmetry F as fiber and random twist ϕ.

Lifted Product Codes
Lifted product codes, introduced by Panteleev-Kalachev [57,69] are based on the observation that the tensor product of vector spaces or Kronecker product of matrices extend to modules over algebras. This more general definition can be used to construct quantum codes.
Let R ⊂ F × 2 be a commutative subalgebra of the ring of × matrices over F 2 . Now let A ∈ R n×m and B ∈ R k×l be matrices with entries in the algebra R. Equivalently, A and B can be interpreted as matricesÃ ∈ F n× m 2 andB ∈ F k× l 2 whose blocks of size × are elements in the algebra R.
Then the lifted product quantum code is defined in terms of the check matrices H X and H Z given by where ⊗ R denotes the Kronecker product of matrices over R, I R q denotes the q × q identity matrix over R and the resulting matrices are interpreted as matrices over F 2 .
Equivalently, the parity check matrices and H X and H Z can be obtained by first considering the matrices I m ⊗BÃ ⊗ I l and Ã ⊗ I k I n ⊗B using the usual Kronecker product. The resulting matrices can be subdivided into submatrices of size 2 × 2 . Then, one collapses each of these these submatrices to matrices of size × by adding all of their × submatrices of size × together.
Note that the number of X-, Z-checks and logical qubits in the lifted product is smaller by factor of then in the corresponding tensor/hypergraph product.
The lifted product can also be written as a tensor product of chain complexes. Here, one has to interpret the two classical codes as chain complexes of length two over the algebra R and use the tensor product over R. This is closely related to the definition of balanced product codes, see Sec. VIII A 6.
In [57,69] the lifted product construction is applied mostly in the case where R is the algebra of circulant matrices, that is, the algebra generated by the cyclic shift matrix x of the -cycle. Matrices with entries in R can be for example constructed from the incidence matrix of graph with an -fold cyclic covering, see [147] and associated expander codes. Indeed, quantum LDPC codes with almost linear distance are obtain in [57] by taking the lifted product of an Sipser-Spielman code on a random cyclic covering of a random expander graph with the matrix 1 + x of the repetition code.

Balanced Product Codes
The balanced product is a topological construction, which associates to two spaces X, Y with right and left actions of a groups G, respectively, a space X × G Y. The space X × G Y is defined as the quotient (X × Y )/G of the Cartesian product, where G acts on X × Y via g · (x, y) = (xg −1 , gy). The balanced product is often used to construct fiber bundles from principal bundles in physics and topology, see [37]. Namely, the natural projection π : X × G Y → X/G is a fiber bundle with base X/G and fiber Y, under some technical assumption.
Balanced product codes mimic this concept and were introduced by Breuckmann-Eberhardt [70] to build quantum LDPC codes.
If G is a group acting on a vector space V and W from the left and right, respectively, one can form the tensor product over G via Similarly, to the tensor product for vector spaces, this definition extends to chain complexes. Let C and D be chain complexes with a right and left action of G, respectively, that is In other words, G acts on the individual spaces C i , D i and commutes with all boundary operators. Then one can form the complex C ⊗ G D which is the total complex of the double complex C G D.
Under the assumption that G is a finite group of odd order, there is a Künneth formula In the case that G is a commutative group with a free action on each vector space C i , D i the balanced product specializes to a lifted product.
The balanced product construction was applied by Breuckmann-Eberhardt to construct quantum LDPC codes from highly symmetrical Sipser-Spielman codes and a repetition code with cyclic symmetry. To construct Sipser-Spielman codes, the authors used Cayley graphs of PGL(2, q), whose automorphism are exactly this group.

Relation of Fiber Bundle and Balanced Product Codes
As mentioned above, fiber bundles and balanced products are closely related concepts in topology. Similarly, balanced product, lifted product and fiber bundle codes are closely related, see Fig. 8. In fact, the code families breaking the √ n polylog(n) distance barrier described in Sec. IV A can be interpreted in all three setups.
Let us illustrate the relationship in a topological example. Denote by X = S 1 the circle and let G = Z 2 act on X via a rotation by π. The quotient space X/G = S 1 is also a circle and π : X → X/H a 2-fold covering. Now let G act on another circle Y = S 1 by reflection along the x-axis. Then the associated balanced product S 1 × Z2 S 1 is a Klein bottle which is a fiber bundle over the circle π S 1 : S 1 × Z2 S 1 → S 1 with fiber S 1 . By choosing G-equivariant tessellations of X and Y, one obtains quantum codes, which can be interpreted as balanced product, lifted product and fiber bundle codes. Similarly, it is often possible to relate similar such code constructions to each other.