Modified belief propagation decoders for quantum low-density parity-check codes
Alex Rigby, JC Olivier, Peter Jarvis

TL;DR
This paper introduces modified belief propagation decoders for quantum LDPC codes that improve decoding performance by addressing issues like 4-cycles and error correlations, outperforming existing methods.
Contribution
The paper proposes novel belief propagation decoders for quantum LDPC codes, including error correlation reintroduction and augmented decoding techniques, enhancing decoding accuracy.
Findings
Decoders outperform existing methods in various quantum LDPC codes.
Reintroducing error correlations improves decoding success.
Augmented decoders with duplicated check nodes enhance performance.
Abstract
Quantum low-density parity-check codes can be decoded using a syndrome based belief propagation decoder. However, the performance of this decoder is limited both by unavoidable -cycles in the code's factor graph and the degenerate nature of quantum errors. For the subclass of CSS codes, the number of -cycles can be reduced by breaking an error into an and component and decoding each with an individual based decoder. However, this comes at the expense of ignoring potential correlations between these two error components. We present a number of modified belief propagation decoders that address these issues. We propose a based decoder for CSS codes that reintroduces error correlations by reattempting decoding with adjusted error probabilities. We also propose the use of an augmented decoder, which has previously been…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Modified belief propagation decoders for quantum low-density parity-check
codes
Alex Rigby
JC Olivier
Peter Jarvis
College of Sciences and Engineering, University of Tasmania, Hobart, Tasmania 7005, Australia
Abstract
Quantum low-density parity-check codes can be decoded using a syndrome based belief propagation decoder. However, the performance of this decoder is limited both by unavoidable -cycles in the code’s factor graph and the degenerate nature of quantum errors. For the subclass of CSS codes, the number of -cycles can be reduced by breaking an error into an and component and decoding each with an individual based decoder. However, this comes at the expense of ignoring potential correlations between these two error components. We present a number of modified belief propagation decoders that address these issues. We propose a based decoder for CSS codes that reintroduces error correlations by reattempting decoding with adjusted error probabilities. We also propose the use of an augmented decoder, which has previously been suggested for classical binary low-density parity-check codes. This decoder iteratively reattempts decoding on factor graphs that have a subset of their check nodes duplicated. The augmented decoder can be based on a decoder for any code, a decoder for CSS code, or even a supernode decoder for a dual-containing CSS code. For CSS codes, we further propose a based decoder that combines the augmented decoder with error probability adjustment. We demonstrate the performance of these new decoders on a range of different codes, showing that they perform favorably compared to other decoders presented in literature.
I Introduction
In the classical setting, low-density parity-check (LDPC) codes are effective at protecting information against noise. LDPC codes are particularly useful as their sparse structure permits the use of an iterative belief propagation decoder that is of relatively low complexity (Gallager, 1962; MacKay, 1999). Belief propagation is a message passing algorithm that takes place on a code’s factor graph. This is a bipartite graph defined by a parity-check matrix for the code, with each row corresponding to a check node and each column to an error node. Quantum LDPC (QLDPC) codes, which are stabilizer codes with sparse generators, can be used to protect against the effects of a noisy quantum channel. The generators of an -qubit stabilizer code can be represented as elements of (Calderbank et al., 1998; Gottesman, 1997). This representation can be used to define a parity-check matrix, which allows for slightly altered belief propagation decoding of QLDPC codes (Babar et al., 2015). The requirement that all stabilizer generators must commute results in unavoidable -cycles in the factor graph associated with the parity-check matrix (Poulin and Chung, 2008), which can be detrimental to decoding performance (McGowan and Williamson, 2003). Belief propagation performance is also limited by the fact that it attempts to converge to the single most likely error (in a symbol-wise fashion), rather than accounting for the degenerate nature of quantum errors (Poulin and Chung, 2008). For the subclass of Calderbank-Shor-Steane (CSS) codes, the number of -cycles can be reduced by instead representing generators as elements of (Calderbank et al., 1997; Gottesman, 1997). This allows an error to be broken into an and component, which can then be decoded individually using two belief propagation decoders (MacKay et al., 2004). However, for many channels, including the depolarizing channel, this has the effect of ignoring correlations between the two components (Babar et al., 2015).
Modified belief propagation based decoders have been proposed that aim to improve QLDPC decoding performance. Several decoders are presented in Ref. (Poulin and Chung, 2008) that aim to alleviate so-called symmetric degeneracy errors, which occur as a result of symbol-wise decoding in the face of error degeneracy. The best performing of these is the random perturbation decoder, which attempts to break decoding symmetries by iteratively reattempting decoding with randomly modified channel error probabilities. The enhanced feedback (EFB) decoder of Ref. (Wang et al., 2012) behaves similarly in that it also iteratively reattempts decoding with modified error probabilities. However, unlike the random perturbation decoder, this modification is informed by the decoder’s output. The supernode decoder of Ref. (Babar et al., 2015) is a modification to the standard decoder for the subclass of dual-containing CSS codes. For this decoder, pairs of check nodes in the factor graph are combined to form supernodes. This both reduces decoding complexity and lowers the number of -cycles in the factor graph, which can lead to improved decoding performance.
The augmented decoder that we investigate has been previously proposed for classical binary LDPC codes in Ref. (Rigby et al., 2018). Like the random perturbation and EFB decoders, it also iteratively reattempts decoding. Each of these attempts employs a version of the standard factor graph with a randomly selected subset of check nodes duplicated. In the classical case, this simple approach gives performance that compares favorably with other, typically more complicated, decoders presented in literature. In this paper we show that augmented decoders can be applied to QLDPC codes whether the underlying decoder is , , or supernode based. For CSS codes we propose the based adjusted decoder, which attempts to reintroduce correlations between the and components of an error that are lost when using a standard decoder. If one of the two constituent decoders fail, then the adjusted decoder reattempts decoding of this component using error probabilities that are modified according to the output of the other constituent decoder (this is a slight generalization of the decoder presented in Ref. (Delfosse and Tillich, 2014)). We also present a based decoder for CSS codes that combines the augmented and adjusted decoders. We simulate the performance of our decoders on six different codes: two dual-containing CSS codes, two non-dual-containing CSS codes, and two non-CSS codes. We show that for dual-containing CSS codes our augmented , augmented supernode, and combined decoders all outperform random perturbation and EFB decoders. For the four other codes, we demonstrate that augmented and supernode decoders perform similarly to to the random perturbation and EFB decoders.
The paper is organized as follows. Sec. II gives an overview of belief propagation decoding for classical LDPC codes and extends this to the quantum case. Sec. III details the operation of existing modified decoders (random perturbation, EFB, and supernode) and describes the adjusted, augmented, and combined decoders that we propose. Sec. IV presents simulation results for our decoders on six different codes, comparing them to existing decoders. The paper is concluded in Sec. V.
II Background
II.1 Classical codes
A classical channel is the map , where is the set of possible inputs and is the set of possible outputs. We are concerned with channels where the input and output sets are finite fields with elements; that is, . In this case the action of the channel can be expressed as
[TABLE]
where is the channel input, is the channel output, and is an error (or noise) symbol that occurs with probability . A channel is called symmetric if and for . A code can be used to protect against the noise introduced by the channel. Elements , called codewords, are transmitted as sequential uses of or, equivalently, as a single use of the combined channel , which is comprised of copies of . The action of on some input is
[TABLE]
where is the channel output and is an error “vector”. Assuming the error components are independent, the probability of an error occurring is
[TABLE]
where is the probability of the error symbol occurring on . The weight of a codeword or an error is the number of non-zero components it contains. It follows from Eq. (3) that if is symmetric, then the probability of occurring depends only on its weight. The distance between two codewords , denoted , is the number of components in which they differ. The distance of is
[TABLE]
Equivalently, the distance of is equal to the weight of the lowest weight error that maps one codeword to another.
If a code forms an (additive) group, then it is called additive; if it forms a vector space, then it is called linear (note that there is no distinction between additive and linear codes in the binary case). Suppose a linear code has a basis . This defines a generator matrix
[TABLE]
where the basis elements are considered as column vectors. A generator matrix can be defined in the same way for an additive code; however, in this case is a generating set. For a linear code, the generator matrix defines a bijective encoding operation that maps some to a codeword ( is also considered as a column vector). A linear code can also be defined as the kernel of a parity-check matrix ; that is,
[TABLE]
Note that for a given code, neither the generator or parity-check matrix is unique. If has rows, then , with equality when is full rank. If is linear with dimension and distance , then it is called an or code (the is typically omitted for binary codes, where ). For a linear code, this distance is equal to weight of the minimum weight non-zero codeword (as the errors that map one codeword to another are the nontrivial ). The rate of a code is given by .
The dual code of some code with respect to the inner product is
[TABLE]
is the annihilator of and is therefore a linear code. If , then is called dual-containing; if , then is called self-orthogonal; and if , then is called self-dual. Unless otherwise specified, the dual code is with respect to the Euclidean inner product
[TABLE]
In this case, if is linear with generator matrix , then a necessary and sufficient condition for is ; that is, a generator matrix for is a parity-check matrix for . Conversely, if is a parity-check matrix for , then it is a generator matrix for .
The aim of a decoder is to determine the channel’s input given its output. For a linear code , this decoder can make use of the error syndrome. If has an parity-check matrix and the channel output is , then the syndrome is
[TABLE]
An optimal decoder returns the most probable error given the syndrome measurement
[TABLE]
where if and [math] otherwise. The channel input can then be estimated as . If (and hence ), then decoding is successful; otherwise, a decoding error has occurred. Unfortunately, even in the simple case of a binary code operating on the binary symmetric channel (a symmetric channel with ), this decoding problem can be shown to be NP-complete (Berlekamp et al., 1978).
It follows from Eq. (9) that the syndrome resulting from some error depends only on which coset of it belongs to. If is the most probable error in the coset , then the probability of a decoding failure given the syndrome is
[TABLE]
where is the probability of any error in occurring. Therefore, the probability of a decoding error is high if the error probability distribution over is not sharply peaked (that is, if is small). If the channel is symmetric, then this corresponds to containing errors with similar weight to , which will be the case if contains low weight codewords. It therefore follows that the distance of gives some indication of the fraction of transmissions that will not be decoded correctly, which is called call the frame error rate (FER).
II.2 Factor graphs and belief propagation
The factor graph of a linear code is a bipartite graph . The error nodes correspond to the error components, and the check nodes correspond to the constraints imposed by the rows of a parity-check matrix . An edge connects check node to error node if . For example, the Hamming code of Ref. (Hamming, 1950) can be defined by the parity-check matrix
[TABLE]
which gives the factor graph shown in Fig. 1. In general a given code does not have a unique factor graph as the parity-check matrix from which it is defined is not unique. Furthermore, except in the case of a binary code, the mapping from a parity-check matrix to its corresponding factor graph is not one-to-one as an edge only indicates that , it does not give the value of (although this information can be included by decorating the edges). A walk is a sequence whose elements alternate between connected nodes and the edges that connect them. The length of a walk is the number of edges it contains. A path is a walk containing no repeated nodes or edges with the exception that the first and last node can be the same, in which case the path is called a cycle. The bipartite nature of a code’s factor graph ensures that the size of all cycles is even and greater than or equal to four. As an example, the walk in the graph of Fig. 1 is a -cycle (that is, a cycle of length four). Typically a code’s factor graph will not be cycle free (that is, it will not be a tree) as if a code has such a representation, then its distance is bounded by (Etzion et al., 1999)
[TABLE]
For this reduces to , and for it reduces to .
The factor graph representation of a linear code serves as the foundation for a belief propagation decoder. Instead of determining the most likely error as given in Eq. (10) a belief propagation decoder approximates it in a symbol-wise fashion. This gives an estimate where
[TABLE]
An expression for can be obtained by marginalizing . Assuming that the error components are independent
[TABLE]
Fixing and summing over all other components gives
[TABLE]
Belief propagation efficiently approximates these marginals by passing messages on the code’s factor graph. For a code over , these messages will be vectors of length . Initially, a message is sent from every error node to the check nodes in the neighborhood . In particular, the message sent to check node is where the element corresponding to is
[TABLE]
Note that this message simply gives the channel error probabilities. Every check node then sends a message back to the error nodes in the neighborhood . In particular, the message sent to error node is with
[TABLE]
where, through slight abuse of notation, and is a normalization factor chosen such that . An estimate of the marginal probability can then be made with
[TABLE]
where and is a normalization factor. From this can be estimated in a symbol-wise fashion as in Eq. (14). If , then decoding is complete; otherwise, another message is sent from each error node to its connected check nodes. The elements of this message are
[TABLE]
where is again a normalization factor. There is then another round of check to error node messages as in Eq. (18), followed by an approximation of marginals as in Eq. (19). This process of sending error to check messages followed by check to error messages and a computation of marginals proceeds iteratively until either or a maximum number of iterations is reached. The most computationally complex component of belief propagation is the check to error node message calculation of Eq. (18). However, it can be performed efficiently using a Fourier transform as outlined in Appendix A.1.
There are two types of decoding error exhibited by a belief propagation decoder. The first type is the detected error where decoding ends with (and hence ). Such errors do not occur when using an optimal decoder and as such are fundamentally a failing of the belief propagation decoder itself. The second type of error is the undetected error where decoding ends with but . These are the same type of error exhibited by the optimal decoder and as such can be attributed to a failing of the code. It therefore follows that for a symmetric channel using a code with a lower distance will tend to result in a higher rate of undetected errors.
Belief propagation decoding is an approximation on two levels. Firstly, it assumes that the most likely error is equal to the symbol-wise most likely error. Secondly, the estimate of the symbol-wise most likely error is based on the approximate marginal probabilities that are only exact when the code’s factor graph is a tree (Richardson and Urbanke, 2008), which as previously outlined is unlikely. However, good decoding performance can still be achieved when the factor graph is sparsely connected (Richardson and Urbanke, 2008). Linear codes with such a representation are called low-density parity-check (LDPC) codes (most codes do not have such a representation (MacKay, 2003; Richardson and Urbanke, 2008)). Decoding performance is further improved when the factor graph contains few short cycles (McGowan and Williamson, 2003).
II.3 Stabilizer codes
The action of a quantum channel on a quantum state described by the density operator is
[TABLE]
where the , called Kraus operators, satisfy (the identity operator) (Kraus, 1983). In this paper we are interested in qubit systems; that is, systems where states belong to a two dimensional Hilbert space . Furthermore, we are concerned with Pauli channels. These are channels of the form
[TABLE]
where in the computational basis
[TABLE]
The action of this channel can be interpreted as mapping a pure state to where the error is with probability , with probability , with probability , or with probability (Nielsen and Chuang, 2002). can be viewed as a bit flip operator as and . can be viewed as a phase flip as and . can be viewed as a combined bit and phase flip. Of particular interest is the depolarizing channel where and . We are also interested in the channel for which the and components of an error , where , occur independently with equal probability . It follows from the independence of the error components that and . These values can be expressed in terms of the total error probability as , , and .
The Pauli matrices are Hermitian, unitary, and anticommute with each other. Furthermore, they form a group called the Pauli group
[TABLE]
The -qubit Pauli group is defined as all -fold tensor product combinations of elements of . For example, contains the element , which is often written more compactly as or . The weight of some is the number of elements in the tensor product that are not equal to the identity up to phase. The commutation relations of the Pauli matrices mean that elements of must either commute or anticommute, with two elements anticommuting if their non-identity components differ in an odd number of places.
Similar to the classical case, the noise introduced by a quantum channel can be protected against by employing a code. A quantum (qubit) code is a subspace . Codewords are transmitted across the combined -qubit channel . If is a Pauli channel, then maps codewords to where . Assuming the channel acts on each qubit independently, the probability of an error occurring (up to phase) is
[TABLE]
where is the probability of the error occurring (up to phase) on the single qubit channel . Note that errors are considered up to phase as the resulting state is equivalent up to such a phase factor. A convenient way of handling this is to group errors in up to phase with .
Stabilizer codes are defined by an abelian subgroup , called the stabilizer, that does not contain (Gottesman, 1997). The code is the space of states that are fixed by every element ; that is,
[TABLE]
The requirement that both means that no can have a phase factor of , and that if , then . If is generated by , then it is sufficient (and obviously necessary) for to be stabilized by every . Assuming that the set of generators is minimal, it can be shown that (Nielsen and Chuang, 2002); that is, encodes the state of a -qubit system. If the generators of are sparse, then is called a quantum LDPC (QLDPC) code.
Suppose an error occurs mapping some codeword to . A projective measurement of a generator will give the result if or if . These measurement values define the syndrome with
[TABLE]
There are three classes of error that can occur. The first class are those errors where is the group
[TABLE]
Such errors have no effect on the code and result in the trivial syndrome (as the stabilizer is abelian). The second class of errors are those where is the centralizer of in , which in this case is actually equal to (the normalizer of in ) (Gottesman, 1997). These are errors that commute with every stabilizer and therefore also yield ; however, the effect of such errors on the code is non-trivial. The final class of errors are those , which yield non-trivial syndromes and also act non-trivially on the code. In general, the syndrome resulting from some error depends only on which coset of it belongs to, while its effect on the code depends only on which coset of it belongs to (note that as is abelian). This phenomena of distinct errors having an identical effect on a code is called degeneracy and has no classical analog. In the classical case, the distance of a linear code is equal to the weight of the lowest weight error yielding a trivial syndrome while having a non-trivial effect on the code. This extends to the quantum case, with the distance of a stabilizer code being the weight of the lowest weight element in (Gottesman, 1997). An -qubit code of dimension with distance is called an or code (the double brackets differentiate it from a classical code).
From a decoding point of view, the syndrome measurement determines which coset of an error belongs to. If this coset has the representative , then an ideal decoder determines the coset in that is most likely to belong to. Importantly, does not necessarily contain the individually most likely error in . If has the representative , then the decoder attempts to correct the channel error by applying to the channel output. If , then and as such this process corrects the error; otherwise, if , then a decoding error has occurred. Similar to the classical case, the probability of a decoding failure given some syndrome measurement is
[TABLE]
where and are the probabilities of an error being in or respectively. From this it follows that the probability of a decoding error is high if the probability distribution over is not sharply peaked, which will occur if contains high probability errors. For the depolarizing channel this corresponds to containing low weight elements, meaning that the distance gives some indication of decoder performance.
II.4 Stabilizer code representations
It is possible to represent elements of as elements of according to the isomorphism (Calderbank et al., 1997; Gottesman, 1997)
[TABLE]
This can be extended to elements of according to
[TABLE]
This can be written more compactly as where . The product of elements in corresponds to addition in . Representatives of elements in commute if the symplectic inner product of the binary representations is zero; otherwise, they anticommute. Note that the symplectic inner product of and is
[TABLE]
Considering and as row vectors, this simplifies to where is the matrix
[TABLE]
The binary representations of the generators of some stabilizer define the rows of an binary matrix . This matrix has the form
[TABLE]
where and are each matrices. Note that while only defines a stabilizer up to phase , the codes defined by different stabilizers corresponding to will all have the same error correction properties. Considering as the parity-check matrix of a classical binary code , the stabilizer elements correspond to elements of the dual code . The requirement that all stabilizer generators commute becomes
[TABLE]
Any classical linear code with a parity-check matrix that satisfies this constraint can be used to define a stabilizer code. Furthermore, if is sparse, then this stabilizer code is a QLDPC code. Errors can also be considered within the binary framework. Suppose that some error occurs. This error has the binary representation , and the corresponding syndrome is simply (where , , and are column vectors for consistency with the classical case).
A subclass of stabilizer codes are the Calderbank-Shor-Steane (CSS) codes (Calderbank and Shor, 1996; Steane, 1996), which have a binary representation of the form
[TABLE]
The commutation condition of Eq. (35) becomes (or equivalently ). Considering and as parity-check matrices for classical codes and respectively this commutation condition requires that (or equivalently ). If , then , which gives . Such codes are called dual-containing CSS codes.
Elements of can also be represented as elements of according to the isomorphism (Calderbank et al., 1998; Gottesman, 1997)
[TABLE]
Elements of then map to elements of , with the product of elements in corresponding to addition in ( addition and multiplication are defined in Tables 1 and 2 respectively). Representatives of elements in commute if the trace inner product of the corresponding elements of is zero. Note that the trace inner product of is
[TABLE]
where , , , and ; and (that is, and ).
The representations of the generators of some stabilizer define an matrix in much the same way as the binary case. A stabilizer with the representation of Eq. (34) has the representation
[TABLE]
For a CSS code this becomes
[TABLE]
with and as defined in Eq. (36). The stabilizer corresponds to the additive group generated by the rows of . This group can be considered as an additive classical code over . The rows of must be orthogonal with respect to the trace inner product. Therefore, if is the dual code of with respect to the trace inner product, then . Any such self-orthogonal additive code can be used to define a stabilizer code. Errors can also be considered in the framework. An error with representation (again, taken to be a column vector) will yield a syndrome . Note that while is a generator matrix for , we essentially consider it as a parity-check matrix because of the role it plays in syndrome calculation and hence in belief propagation decoding.
II.5 Belief propagation decoding for stabilizer codes
Belief propagation decoding can be applied to stabilizer codes using the and representations of the previous section. Such a belief propagation decoder aims to estimate the symbol-wise most likely error (up to phase) where
[TABLE]
A based belief propagation decoder can be used for any QLDPC code. This decoder attempts to make a symbol-wise estimate that maps to according to the isomorphism outlined in Sec. II.4. The decoder behaves very similarly to the belief propagation decoder presented for classical linear codes in Section II.2. The only change is to account for the difference in syndrome calculation. In particular, the check to error node message is modified to
[TABLE]
This calculation can also be performed efficiently using a Fourier transform as outlined in Appendix A.2. The channel error probabilities used in error to check node messages (Eqs. (17) and (20)) and in marginal calculation (Eq. (19)) are , , , and .
For the subclass of CSS codes it is also possible to use two separate based belief propagation decoders. For some error the corresponding binary error is , which yields the syndrome
[TABLE]
Using and an estimate of can be made using a classical binary belief propagation decoder. The same can be done with and to make an estimate of . The -th component of , denoted , is equal to one if or . Therefore, and similarly . These values are used as the channel error probabilities for the two decoders, which amounts to considering the quantum channel as two binary symmetric channels. Note that for depolarizing channel , while for the channel .
As in the classical case, belief propagation decoding can result in both detected and undetected errors. If , where is the syndrome associated with the error estimate , then a detected error has occurred. Again, these detected errors are a failing of the decoder. If but , then an undetected error has occurred, which is fundamentally a failing of the code itself. It therefore follows that for the depolarizing channel, using a code with a lower distance will tend to result in a higher rate of undetected errors.
Using belief propagation in the quantum case is an even greater approximation than in the classical case. As outlined in Sec. II.3, an optimal decoder for a stabilizer code will determine the most likely coset of errors rather than the single most likely error. By definition, QLDPC codes have many low weight stabilizers, which means there will be a large number of elements of the most likely coset with similar weight and hence similar probability. This spreading of probability increases the chance that the single most likely error will not belong to the most likely coset of errors. Approximating the ideal decoder with one that determines the single most likely error will therefore lead to an increased error rate. Belief propagation goes one step further away from the optimal decoder by estimating the single most likely error in a symbol-wise fashion, which can lead to so-called symmetric degeneracy errors. Such errors are well explained by the example of Ref. (Poulin and Chung, 2008), which is as follows. Consider a two-qubit stabilizer code with generators and , and assume that the error occurs leading to a syndrome . The coset of errors that give this syndrome is (grouping errors up to phase). As a result, the error probabilities on both qubits are and where . This symmetry of error probabilities results in the decoder estimating the same error on each qubit. This is not a symmetry exhibited by any of the errors that yield and as such even an ideal symbol-wise decoder will yield a detected error.
The requirement that all stabilizer generators must commute also degrades belief propagation performance as it results in -cycles. Consider some qubit , there must be (at least) two stabilizer generators, say and , that act non-trivially on with different Pauli matrices. If this is not the case, then there will be a weight one element of , meaning that the code will have distance (making it of little to no interest). As and contain different Pauli matrices in position , they must also contain different Pauli matrices at some other position to ensure that they commute with each other. This results in a -cycle in the factor graph as check nodes and both connect to error nodes and . In the case of a CSS code, any -cycles resulting from an overlap between one row from and one row from can be removed by decoding with a pair of decoders rather than a decoder. If it is a dual-containing CSS code, then there must still be -cycles in the factor graph as the rows of must overlap in an even number of positions to ensure that . If the code is non-dual-containing, then it is possible for and to have corresponding factor graphs with no -cycles.
The reduction in -cycles, along with the reduced inherent complexity, makes decoding attractive for CSS codes. However, treating a Pauli channel as a pair of binary symmetric channels ignores potential correlations between the and components of an error . These correlations are described by the conditional probabilities
[TABLE]
The and components are uncorrelated if they occur independently, which requires and . This is equivalent to the requirement that , which is satisfied by the channel but not by the depolarizing channel.
III Modified decoders
III.1 Existing decoders
III.1.1 Random perturbation
A number of modified decoders have been presented in Ref. (Poulin and Chung, 2008) to address symmetric degeneracy errors. The best performing of these is the random perturbation decoder, which attempts to break decoding symmetries by randomizing the channel error probabilities. Initially, decoding is attempted using a standard decoder. If this results in , then decoding is complete. Otherwise, if , then decoding is iteratively reattempted with modified error probabilities until either decoding is successful or a maximum number of attempts is reached. In each decoding attempt a frustrated check is selected. This is a check node such that . The channel probabilities of all qubits involved in this check are then perturbed (up to normalization) as follows:
[TABLE]
Here , , and are realizations of a random variable that is uniformly distributed over , where is called the perturbation strength. The increasing of non-identity error probabilities is motivated by the empirical observation that the decoder is naturally too biased towards the trivial error (Poulin and Chung, 2008).
III.1.2 Enhanced feedback
The enhanced feedback (EFB) decoder of Ref. (Wang et al., 2012), which is specifically tailored for the depolarizing channel, behaves somewhat similarly to the random perturbation decoder in that it also iteratively reattempts decoding with modified channel probabilities. Again, decoding is first attempted using a standard decoder. If this results in , then decoding is complete. If instead , then a frustrated check is selected along with an involved qubit . If but , then the estimated error commutes with the stabilizer generator while the error anticommutes with . To address this, the channel probabilities for are adjusted such that an anticommuting error is more likely than the commuting trivial error that the decoder is naturally too biased towards. This adjustment is
[TABLE]
where is the -th component of the generator . Conversely, if but , then the adjustment is
[TABLE]
Decoding is then reattempted with these adjusted probabilities. If this fails, then a different qubit is selected and the process is repeated. If all qubits involved in check have been exhausted and decoding is still unsuccessful, then a different check is selected and the process continues. Again, decoding is halted if a maximum number of attempts is reached.
III.1.3 Supernodes
The supernode decoder of Ref. (Babar et al., 2015) is a modification of the decoder for dual-containing CSS codes. Decoding is performed on the factor graph corresponding to with checks and grouped to form a single supernode. The check node calculation is modified to
[TABLE]
Here contains the first values of and contains the last values; and are the -th values of and respectively. Defining , the two constraints of Eq. (54) can be combined to give
[TABLE]
Note that this is of the same form as the classical check to error message given in Eq. (18), and it can therefore be computed using the same Fourier transform approach. The effect of combining nodes into supernodes is twofold. Firstly, it reduces decoding complexity by halving the number of check node calculations. Secondly, it can improve decoder performance as it reduces the number of -cycles present in the factor graph. Note that random perturbation and EFB can also be implemented using an underlying supernode decoder rather than a standard decoder.
III.2 New decoders
III.2.1 Adjusted
The first decoder we propose is the adjusted decoder for CSS codes. This is a based decoder that aims to reintroduce the correlations between and errors that are lost when using a standard decoder. Initially, decoding is attempted using a standard decoder. If this is successful, then decoding is complete. If both and , then the adjusted decoder also halts. However, if one of or , then we reattempt decoding for the incorrect component using channel probabilities that are adjusted according to Eqs. (44) to (47). In particular, if but , then the adjustment is
[TABLE]
Alternatively, if but , then the adjustment is
[TABLE]
We note that the adjusted decoder presented here is similar to the decoder presented for the depolarizing channel in Ref. (Delfosse and Tillich, 2014). The decoder of Ref. (Delfosse and Tillich, 2014) first attempts decoding of the component using standard channel probabilities. If this is successful, then decoding is attempted for the components using the modified probabilities of Eq. (56).
III.2.2 Augmented
The second decoder we propose is the augmented decoder, which was first presented in Ref. (Rigby et al., 2018) for classical binary codes. An augmented decoder for QLDPC codes can be based on a decoder for any code, a decoder for a CSS code, or a supernode decoder for a dual-containing CSS code. The simplest of these cases is when the underlying decoder is a decoder. In this case, decoding is initially attempted using a standard decoder with a standard parity-check matrix . If this is unsuccessful, then decoding is reattempted using a randomly generated augmented parity-check matrix
[TABLE]
is comprised of a subset of rows selected at random from . The fraction of rows selected is dictated by the augmentation density . The syndrome used for decoding is
[TABLE]
where is the measured syndrome and contains the syndrome values corresponding to the rows selected to form . Decoding is iteratively reattempted using different augmented matrices until either decoding is successful or a maximum number of attempts is reached. Note that duplicating rows results in a duplication of the corresponding check nodes in the factor graph.
The behavior of a supernode based augmented decoder is very similar. In this case the augmented parity-check matrices are of the form
[TABLE]
where consists of the rows selected from . The augmented syndrome is
[TABLE]
where the values of and are taken from and respectively according to the rows selected for repetition.
In the case two augmented decoders are used, one for the component and one for the component. The augmented parity-check matrices used by the decoder are of the form
[TABLE]
and the augmented syndrome is
[TABLE]
The syndrome and augmented parity-check matrices used by the decoder are of the same form.
In all three cases (, , and supernode), decoding with an augmented parity-check matrix is equivalent to running a slightly altered belief propagation algorithm using the standard parity-check matrix . We define the function such that
[TABLE]
Decoding with is then equivalent to decoding using with the marginal marginal probability approximation of Eq. (19) changed to
[TABLE]
and the error to check message of Eq. (20) changed to
[TABLE]
As a result of this equivalence, we can consider one iteration of an augmented decoder to be of the same complexity as one iteration of the underlying decoder. This formulation also gives some insight into the effect of decoding with an augmented parity-check matrix. It can be seen that repeating a check has the effect of increasing its influence in estimating the error. Furthermore, the message is now no longer independent of the message if is duplicated. This amplification and feedback will alter the convergence of the marginal probability estimates. This altered convergence can help the decoder to give a different (and hopefully correct) error estimate.
III.2.3 Combined
The third decoder we propose combines the augmented and adjusted decoders for CSS codes. Initially, standard decoding is attempted. If this is successful, then decoding is complete. If both and , then we reattempt decoding for the component using augmented parity-check matrices up to times. If this is unsuccessful, then we repeat this procedure for the component. If we still have and , then decoding halts. However, if one of or (either from the initial decoding or after attempting decoding with augmented parity-check matrices if required), then we reattempt decoding for the unsatisfied component with adjusted channel error probabilities as outlined in Sec. III.2.1. If this is unsuccessful, then decoding for this component will be reattempted with augmented parity-check matrices up to times using the same adjusted probabilities.
IV Simulation results
IV.1 Bicycle
The first code we have considered is a bicycle code of Ref. (MacKay et al., 2004). Bicycle codes are dual-containing CSS codes that are constructed by first generating an binary circulant matrix with row weight . is used to define the matrix H_{0}=[\begin{array}[]{cc}A&A^{T}\end{array}] from which rows are removed to give (following the heuristic that column weight should be kept as uniform as possible). Taking defines the and parity-check matrices according to Eqs. (36) and (39) respectively. The associated stabilizer code will have , with equality when the parity-check matrix is full rank (this is the case for our code). Removing rows from corresponds to removing stabilizer generators of weight . Unless a removed row belongs to the span of the remaining rows, which is unlikely, the removed generator will be in . A bicycle code’s distance is therefore upper bounded by (we have chosen for our code).
IV.1.1 Depolarizing channel
We first consider the depolarizing channel. Both the augmented and random perturbation decoders have a tunable parameter , which controls the augmentation density and perturbation strength respectively. As shown for classical codes in Ref. (Rigby et al., 2018), this value can have a significant impact on the performance of an augmented decoder. We observe the same behavior for both augmented and random perturbation decoders in the quantum case as shown in Fig. 2. Here decoders with maximum decoding attempts and varying have been tested at four different depolarizing probabilities (we use a maximum of iterations per attempt for every decoder in this paper). The vertical axis gives normalized FER, which is the modified decoder’s FER divided by the underlying (standard) decoder’s FER. Note that each data point in these figures, as well as all other figures presented in this paper, corresponds to at least decoding errors. Based on these results, we have selected values of for the augmented decoder, for the augmented and supernode decoders, for the random perturbation decoder, and for the random perturbation supernode decoder. Note that the value we use for the combined decoder is always the same as the value used for the augmented decoder.
We have tested all of the decoders outlined in Sec. III on this code. The random perturbation, EFB, augmented, and combined decoders all use attempts. The FER performance of these decoders is shown in Fig. 3, and the average number of iterations required by each of them is shown in Fig. 4. It can be seen that the standard supernode decoder outperforms the standard decoder, which in turn outperforms the standard decoder. Furthermore, the supernode decoder requires fewer iterations on average than the standard or decoders (the number of iterations used by a based decoder is taken to be the number used by one of the two constituent decoders). However, note that comparing the number of iterations used by these different decoders, or indeed modified decoders based on different underlying decoders, is not particularly meaningful as their iterations are of differing complexity. The adjusted decoder can be seen to give a FER similar to the standard supernode decoder at the cost of a negligible increase in required iterations compared to the standard decoder. This FER performance suggests that the adjusted decoder is successful in reintroducing the correlation between the and error components. The random perturbation and EFB decoders based on either or supernode decoders have similar FER performance and require a near-identical number of iterations on average. The augmented and supernode decoders outperform both the random perturbation and EFB decoders while requiring a lower number of iterations on average. The augmented decoder does give a reasonable FER reduction compared to the standard decoder, but it is outperformed by all modified and supernode decoders. However, the combined decoder gives a FER lower than the random perturbation and EFB decoders. Furthermore, it also requires fewer iterations on average than the augmented decoder. All of the decoding errors we have observed for this code are detected errors; that is, they are due to a failing of the decoder rather than the code’s distance.
Fig. 5 shows the effect of the maximum number of decoding attempts on the performance of the augmented, combined, random perturbation, and EFB decoders at a depolarizing probability of . For all decoders, the FER reduction with an increasing maximum number of attempts is approximately linear on a log-log plot. This suggests that we could continue to reduce the FER by increasing the maximum number of attempts beyond . It can be seen that the augmented and combined decoders only require approximately maximum attempts to match the performance of random perturbation and EFB decoders with .
IV.1.2 channel
To isolate the effect of augmentation in the case, we have repeated the analysis of the previous section for the channel. As previously noted, the and error components occur independently for this channel, therefore, there are no correlations to be ignored when using a based decoder. As a result, the adjusted and combined decoders will give no performance increase over the standard and augmented decoders respectively. While we have still employed the random perturbation decoder for comparison on this channel, we have not used the EFB decoder as it is specifically tailored to the depolarizing channel.
Again, we first tune the augmentation density and and random perturbation strength using decoders with as shown in Fig. 6. It can be seen that the optimal value of is essentially independent of the underlying decoder. As such, we have selected a value of for all augmented decoders and for both of the random perturbation decoders. Note that these are the same values we have used for the based decoders in the depolarizing case.
The FER performance and average required iterations for decoders with maximum attempts are shown in Figs. 7 and 8 respectively. It can be seen that the standard , , and supernode decoders all exhibit near-identical performance on the channel. That the and supernode decoders yield the same FER is unsurprising and is consistent with the similar performance of the adjusted and supernode decoders on the depolarizing channel. The performance of the decoder suggests that the -cycles involving one row from and one row from have no effect on decoding performance when the error components are independent. The performance of the augmented and random perturbation decoders is also largely independent of the underlying decoder. Furthermore, the relative performance of the decoders is very similar to that observed for the based decoders in the depolarizing case, with the augmented decoders outperforming the random perturbation decoders.
The effect of the maximum number of decoding attempts on decoder performance is shown for in Fig. 9. Unsurprisingly, the performance of the augmented and random perturbation decoders remains largely independent of the underlying decoder over the range of values tested. Furthermore, the relative performance is very similar to that exhibited by the based decoders in the depolarizing case, with the augmented decoders only requiring approximately maximum attempts to match the performance of the random perturbation decoders with .
We have tested the performance of decoders on the channel for all four CSS codes considered in this paper. However, we omit the results for the other three codes as they all follow the same trend outlined here. That is, the performance of decoders is essentially independent of the underlying decoder, and the relative performance of the augmented and random perturbation decoders is very similar to that exhibited by the based decoders in the depolarizing case.
IV.2 BIBD
The second code we have considered is a balanced incomplete block design (BIBD) code from Ref. (Djordjevic, 2008). Like the bicycle code, this is also a dual-containing CSS code. A BIBD , where and , is a collection of subsets (blocks) of size that are drawn from a set containing elements. Each pair of elements occurs in of the blocks, and every element occurs in blocks. The incidence matrix of has elements
[TABLE]
If is even, then will satisfy as any two rows will overlap an even number of times. As such, taking defines a dual-containing CSS code. The BIBD that we have selected follows the construction of Ref. (Bose, 1939). If is a prime or prime power and is a primitive element of , then a BIBD can be constructed with , , , , and . To do this, base blocks are constructed for with
[TABLE]
blocks of the form , where , can then be constructed from each base block. This gives a total of blocks and a corresponding incidence matrix of the form
[TABLE]
Here each is a circulant matrix of weight . We have selected and for our code.
The results presented for this code and all codes that follow are on the depolarizing channel. The effect of augmentation density and random perturbation strength for decoders with on this code is shown in Fig. 10. Based on these results, we have selected values of for all augmented decoders, for the random perturbation decoder, and for the random perturbation supernode decoder.
The FER performance and average required iterations for decoders with maximum attempts are shown in Figs. 11 and 12 respectively. The results here are quite similar to those for the bicycle code. Again, the adjusted decoder gives performance similar to that of the supernode decoder. Furthermore, the random perturbation and EFB decoders perform similarly to one another. The augmented decoder is outperformed by all modified and supernode decoders. The combined, augmented , and augmented supernode decoders again outperform the random perturbation and EFB decoders. Overall there is less spread in the performance of the decoders on this BIBD code. This can be attributed to the fact that a large fraction of decoding errors are undetected. For example, approximately of the errors exhibited by the augmented supernode decoder at are undetected. This abundance of undetected errors suggests that decoding is being limited by the code’s distance (this value is based on the lowest weight element of that we have observed).
The effect of these undetected errors can also be seen in Fig. 13. For the bicycle code, the reduction in FER with increasing maximum number of iterations was approximately linear on a log-log plot. However, the reduction in FER for the BIBD code can be seen to taper off; that is, increasing the maximum number of attempts has diminishing returns. Partially as a result of this, we only require approximately maximum attempts for our augmented supernode decoder to match the performance of the random perturbation and EFB decoders with .
IV.3 Quasi-cyclic
The third code we have considered is a quasi-cyclic code from Ref. (Hagiwara and Imai, 2010). Unlike the first two codes, this is a non-dual-containing CSS code. The parity-check submatrices and can be defined in terms of base matrices and respectively whose elements belong to the set . () is then constructed by replacing each element of () with a identity matrix shifted circularly to the right by an amount given by the replaced element. The base matrix construction of Ref. (Hagiwara and Imai, 2010) gives a parity-check matrix that satisfies ; it also ensures that the factor graphs associated with and are free of -cycles. These base matrices are constructed from a so-called “perfume” (perfect fulfillment). Let be the set of integers with addition, subtraction, and multiplication modulo . is then the abelian multiplicative group . For positive integers and , is a fulfillment of if is coprime to and is coprime to for . Here is the order of in . A triple of positive integers is a perfume if is a fulfillment of , is coprime to , and . Letting , we define
[TABLE]
and
[TABLE]
Indexing from zero, these are the elements of the and base matrices and respectively where . To construct our code, we have used the perfume (this gives ) and have chosen .
The effect of augmentation density and random perturbation strength for decoders with on this code is shown in Fig. 14. Note that for this code we can only use and based decoders as it is not dual-containing. Based on these results, we have selected values of for the augmented decoder, for the augmented decoder, and for the random perturbation decoder.
The FER performance and average required iterations for decoders with maximum attempts are shown in Figs. 15 and 16 respectively. On the previous two codes the augmented decoder gave a similar or lower FER than the adjusted decoder. This is not the case here with the adjusted decoder giving a significantly lower FER. This suggests that the augmented decoder has some effect in alleviating the effect of -cycles in the code’s factor graph (none of which are present when using a decoder for this code). The random perturbation, EFB, and augmented decoders all perform similarly on this code. The combined decoder performs worse than the modified decoders.
Like the bicycle code, all decoding errors observed for this code were detected errors. This is reflected in Fig. 17, which shows an approximately linear reduction in FER with an increasing number of maximum attempts on a log-log plot for all decoders considered.
IV.4 Bicycle-like
The fourth code we have considered is a non-dual-containing CSS based on the bicycle-like construction of Ref. (Babar et al., 2016). The codes of Ref. (Babar et al., 2016) are constructed using a BIBD in a similar way to the code of Sec. IV.2. is constructed by taking the first (where is even) submatrices of the BIBD’s adjacency matrix as given in Eq. (69); that is,
[TABLE]
is then a cyclically shifted version of with
[TABLE]
The use of a BIBD with ensures that and are both free of -cycles. However, we have observed that codes constructed in this way have low distances and are therefore not appropriate for comparing decoders. We have found that this distance can be increased by generalizing the construction to allow the circulant matrices to be randomly generated. Note that this comes at the expense of introducing -cycles. For our code we have constructed from four circulant matrices of weight five. Each of and yield factor graphs with -cycles, compared to the -cycles of the bicycle code considered in Sec. IV.1.
The effect of augmentation density and random perturbation strength for decoders with on this code is shown in Fig. 18. Based on these results, we have selected values of for the augmented decoder, for the augmented decoder, and for the random perturbation decoder.
The FER performance and average required iterations for decoders with maximum attempts are shown in Figs. 19 and 20 respectively. Again, the adjusted decoder outperforms the augmented decoder; however, the gap in their performance is smaller than for the quasi-cyclic code of Sec. IV.3. The EFB and augmented decoders perform similarly on this code, both outperforming the random perturbation decoder. The combined decoder is again outperformed by all modified decoders, although the performance gap is smaller than in the quasi-cyclic case.
While our modified construction gives a higher distance than the codes presented in Ref. (Babar et al., 2016), we still observed a moderate number of undetected errors, which can be attributed to the codes moderatly low distance of . For example, at approximately of errors are undetected for both the EFB and augmented decoders. However, this is not significant enough fraction of errors to prevent the FER reducing near-linearly on a log-log plot with an increasing maximum number of attempts as shown in Fig. 21.
IV.5 Non-CSS A
The fifth code we have considered is a non-CSS code based on construction three of Ref. (Tan and Li, 2010). The and parity-check matrices for this code are defined by the matrices and as outlined in Eqs. (34) and (39). For this code these matrices are of the form
[TABLE]
[TABLE]
The submatrices and are given by
[TABLE]
[TABLE]
Here and are square matrices of the same size that are either both symmetric or both circulant; is a square matrix satisfying . For our code, we have taken , each and to be a circulant matrix of weight three, and each to be a permutation matrix.
The effect of augmentation density and random perturbation strength for decoders with on this code is shown in Fig. 22. Note that for non-CSS codes we can only use based decoders. Based on these results, we have chosen for the augmented decoder and for the random perturbation decoder.
The FER performance and average required iterations for decoders with maximum attempts are shown in Figs. 23 and 24 respectively. It can be seen that the random perturbation, EFB, and augmented decoders all perform similarly on this code.
The majority of decoding errors are detected errors for this code, which also has distance . At only of errors are undetected for the random perturbation, EFB, and augmented decoders. This is again reflected in the near-linear reduction in FER with increasing maximum number of attempts on the log-log plot given in Fig. 25.
IV.6 Non-CSS B
The final code we have considered is a non-CSS code based on construction four of Ref. (Tan and Li, 2010). This construction is quite similar to that of the last section with and defined as in Eqs. (74) and (75) respectively. However, the submatrices and are now given by
[TABLE]
[TABLE]
Here and are either both symmetric, both circulant, or is symmetric; is a permutation matrix. For our code we have taken , and to be circulant matrices of weight six, and to be a permutation matrix.
The effect of augmentation density and random perturbation strength for decoders with on this code is shown in Fig. 26. Based on these results, we have chosen for the augmented decoder and for the random perturbation decoder.
The FER performance and average required iterations for decoders with maximum attempts are shown in Figs. 27 and 28 respectively. The results are consistent with those of Sec. IV.5, with the random perturbation, EFB, and augmented decoders all performing fairly similarly on this code.
A moderate number of undetected errors were observed for this code, which also has distance . For example, at approximately of errors are undetected for each decoder. It can also be seen that the reduction in FER with an increasing number of maximum attempts, while still near-linear on the log-log plot of Fig. 29, tapers of slightly more than was observed for the code of the previous section.
V Conclusion
We have presented modified belief propagation decoders for QLDPC codes that, depending on the code, either outperform or perform similarly to other decoders presented in literature. We have proposed the based adjusted decoder, which uses modified error probabilities to reintroduce correlations between the and components of an error that are lost when using a standard decoder. Furthermore, e have demonstrated that the augmented decoder, which has previously been proposed for classical binary LDPC codes, can be applied in the quantum case and that it can be based on an underlying , , or supernode decoder. We have also proposed a combination of the augmented and adjusted decoders. For the bicycle and BIBD based dual-containing CSS codes tested, the augmented , augmented supernode, and combined decoders were shown to outperform random perturbation and EFB decoders. For the two non-dual-containing CSS codes and the two non-CSS codes considered, augmented and supernode decoders were shown to perform similarly to random perturbation and EFB decoders.
Appendix A Check node Fourier transform implementations
A.1 Classical decoding
The check constraint of Eq. (18) can be written as
[TABLE]
where . can be used to define
[TABLE]
where (this corresponds to a permutation of elements) and . Eq. (81) is a convolution and as such can be efficiently computed using a Fourier transform as
[TABLE]
where is the inverse Fourier transform and the product is element-wise ( is a normalization factor). A Hadamard transform can be used in the binary case; if is considered as a column vector, then
[TABLE]
where
[TABLE]
The inverse transform is also achieved through multiplication by (up to some unimportant scaling factor). is a permuted version of with
[TABLE]
A.2 stabilizer decoding
The check constraint of Eq. (42) can be written as
[TABLE]
where . is defined in the same was as Eq. (81) with . Again, can be calculated using the Hadamard transform with
[TABLE]
corresponds to and as such can be used to determine , which corresponds to . If , then or ; conversely, if , then or . Therefore, for the elements of are
[TABLE]
and for
[TABLE]
These can be combined to give
[TABLE]
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Gallager (1962) R. Gallager, IRE Transactions on information theory 8 , 21 (1962).
- 2Mac Kay (1999) D. J. Mac Kay, IEEE transactions on Information Theory 45 , 399 (1999).
- 3Calderbank et al. (1998) A. R. Calderbank, E. M. Rains, P. Shor, and N. J. Sloane, IEEE Transactions on Information Theory 44 , 1369 (1998), ar Xiv:quant-ph/9608006 .
- 4Gottesman (1997) D. E. Gottesman, Stabilizer Codes and Quantum Error Correction , Ph.D. thesis, California Institute of Technology (1997), ar Xiv:quant-ph/9705052 .
- 5Babar et al. (2015) Z. Babar, P. Botsinis, D. Alanis, S. X. Ng, and L. Hanzo, IEEE Access 3 , 2492 (2015).
- 6Poulin and Chung (2008) D. Poulin and Y. Chung, Quantum Information & Computation 8 , 987 (2008), ar Xiv:0801.1241 .
- 7Mc Gowan and Williamson (2003) J. A. Mc Gowan and R. C. Williamson, in Information Theory Workshop, 2003. Proceedings. 2003 IEEE (IEEE, 2003) pp. 230–233.
- 8Calderbank et al. (1997) A. R. Calderbank, E. M. Rains, P. W. Shor, and N. J. Sloane, Physical Review Letters 78 , 405 (1997), ar Xiv:quant-ph/9605005 .
