This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Refined Belief-Propagation Decoding of Quantum Codes with Scalar Messages

Kao-Yueh Kuo and Ching-Yi Lai Institute of Communications Engineering, National Chiao Tung University
Hsinchu 30010, Taiwan
[email protected] and [email protected]
Abstract

Codes based on sparse matrices have good performance and can be efficiently decoded by belief-propagation (BP). Decoding binary stabilizer codes needs a quaternary BP for (additive) codes over GF(4), which has a higher check-node complexity compared to a binary BP for codes over GF(2). Moreover, BP decoding of stabilizer codes suffers a performance loss from the short cycles in the underlying Tanner graph. In this paper, we propose a refined BP algorithm for decoding quantum codes by passing scalar messages. For a given error syndrome, this algorithm decodes to the same output as the conventional quaternary BP but with a check-node complexity the same as binary BP. As every message is a scalar, the message normalization can be naturally applied to improve the performance. Another observation is that the message-update schedule affects the BP decoding performance against short cycles. We show that running BP with message normalization according to a serial schedule (or other schedules) may significantly improve the decoding performance and error-floor in computer simulation.

Index Terms:
Quantum stabilizer codes, LDPC codes, sparse matrices, belief-propagation, sum-product algorithm, message-update schedule, message normalization.

I Introduction

In the 1960s, Gallager proposed the low-density parity-check (LDPC) codes (or called sparse codes) and sum-product (decoding) algorithm to have a near Shannon-capacity performance for many channels, including the binary symmetric channel (BSC) and additive white Gaussian noise (AWGN) channel [1, 2, 3, 4, 5]. The sum-product algorithm runs an iterative message-passing on the Tanner graph [6] defined by a parity-check matrix of the code [7, 8, 9], where the procedure is usually understood as a realization of Pearl’s belief-propagation (BP)—a widely-used algorithm in machine-learning and artificial-intelligence [10, 11, 12].

The parity-check matrix of a classical code is used to do syndrome measurements for (syndrome-based) decoding. In the 1990s, quantum error-correction was proposed to be done in a similar way by using stabilizer codes [13, 14, 15, 16, 17]. There will be a check matrix defined for a stabilizer code to do the projective (syndrome) measurements for decoding. Many sparse stabilizer codes have been proposed, such as topological codes [18, 19], random sparse codes (in particular, bicycle codes) [20], and hypergraph-product codes [21].

Decoding a binary stabilizer code is equivalent to decoding an additive code over GF(q=4q=4) (representing Pauli errors I,X,Y,ZI,X,Y,Z) [17]. That is, a quaternary BP (BP4) is required, with every message conventionally a length-four vector to represent a distribution over GF(4). In contrast, decoding a binary classical code only needs a binary BP (BP2), with every message a scalar (e.g., as a log-likelihood ratio (LLR) [2] or likelihood difference (LD) [5]). As a result, BP2 has a check-node efficiency q2=16q^{2}=16 times better than the conventional BP4 [22].111 The complexity can be O(qlogq)O(q\log q) for the fast Fourier transform (FFT) method [23, 24]. But a comparison based on this is more suitable for a larger q>4q>4, since there is additional cost running FFT and inverse FFT. To reduce the complexity, it often treats a binary stabilizer code as a binary classical code with doubled length so that BP2 can be used [20], followed by additional processes to handle the XX/ZZ correlations [25, 26].

A stabilizer code inevitably has many four-cycles in its Tanner graph, which degrade the performance of BP [20, 27]. To improve, additional pre/post-processes are usually used, such as heuristic flipping from nonzero syndrome bits [27], (modified) enhanced-feedback [28, 29], training a neural BP [30], augmented decoder (adding redundant rows to the check matrix) [26], and ordered statistics decoding (OSD) [31].

In this paper, we first simplify the conventional BP4. An important observation is that, though a binary stabilizer code is considered as a quaternary code, its error syndrome is binary. Inspired by this observation and MacKay’s LD-based computation rule (δ\delta-rule) (cf. (47)–(53) in [5]), we derive a δ\delta-rule based BP4 that is equivalent to the conventional BP4 but passing every message as a scalar, which improves the check-node efficiency 16 times and does not need additional processes to handle the XX/ZZ correlations.

Then we improve BP4 by introducing classical BP techniques. First, the messages can be updated in different orders (schedules) [32, 33, 34]. Second, as we have scalar messages, the message normalization can be applied [35, 36, 37]. With these techniques, our (scalar-based) BP4 shows a much improved empirical performance in computer simulation.

This paper is organized as follows. In Sec. II, we define the notation and review BP2. In Sec. III, we show that BP4 can be efficiently done by passing scalar messages. In Sec. IV, we introduce the message normalization and provide simulation results. Finally, we conclude in Sec. V.

II Classical Binary Belief-Propagation Decoding

II-A The notation and parallel/serial BP2

We consider the syndrome-based decoding. Consider an [N,K][N,K] classical binary linear code defined by an M×NM\times N parity-check matrix H{0,1}M×NH\in\{0,1\}^{M\times N} (not necessarily of full rank) with MNKM\geq N-K. Upon the reception of a noisy codeword disturbed by an unknown error E=(E1,E2,,EN){0,1}NE=(E_{1},E_{2},\dots,E_{N})\in\{0,1\}^{N}, syndrome measurements (defined by rows of HH) are performed to generate a syndrome vector z{0,1}Mz\in\{0,1\}^{M}. The decoder is given HH, zz, and an a priori distribution 𝒑n=(pn(0),pn(1))\boldsymbol{p}_{n}=(p_{n}^{(0)},p_{n}^{(1)}) for each EnE_{n} to infer an E^\hat{E} such that the probability P(E^=E)P(\hat{E}=E) is as high as possible.222 Giving 𝒑n\boldsymbol{p}_{n} can be according to a channel model [5] or even a fixed distribution (useful if the channel parameter is unknown) [38]. Here, we uses the former case since it usually has a better performance. BP decoding is done by updating each 𝒑n\boldsymbol{p}_{n} as an a posterior distribution 𝒒n=(qn(0),qn(1))\boldsymbol{q}_{n}=(q_{n}^{(0)},q_{n}^{(1)}) and inferring E^=(E^1,E^2,,E^N)\hat{E}=(\hat{E}_{1},\hat{E}_{2},\dots,\hat{E}_{N}) by E^n=argmaxb{0,1}qn(b)\hat{E}_{n}=\operatorname*{arg\,max}_{b\in\{0,1\}}q_{n}^{(b)}. This is done by doing an iterative message-passing on the Tanner graph defined by HH.

The Tanner graph corresponding to HH is a bipartite graph consisting of NN variable nodes and MM check nodes, and there is an edge (m,n)(m,n) connecting check node mm and variable node nn if entry Hmn=1H_{mn}=1. Let HmH_{m} be row mm of HH. An example Tanner graph of H=[110111]H=\left[\begin{smallmatrix}1&1&0\\ 1&1&1\end{smallmatrix}\right] is shown in Fig. 1.

E3E_{3}E2E_{2}E1E_{1}(H1):E1+E2=z1(H_{1}):E_{1}+E_{2}=z_{1}(H2):E1+E2+E3=z2(H_{2}):E_{1}+E_{2}+E_{3}=z_{2}
Figure 1: The Tanner graph of an example H=[110111]H=\left[\begin{smallmatrix}1&1&0\\ 1&1&1\end{smallmatrix}\right]. The three circles are variable nodes and the two squares are check nodes.

For the iterative message-passing, there will be a variable-to-check message dnmd_{n\to m} and a check-to-variable message δmn\delta_{m\to n} passed on edge (m,n)(m,n). Let 𝒩(m)={n:Hmn=1}{\cal N}(m)=\{n:H_{mn}=1\} and (n)={m:Hmn=1}{\cal M}(n)=\{m:H_{mn}=1\}. (And we will write things like (n){m}{\cal M}(n)\setminus\{m\} as (n)m{\cal M}(n)\setminus m to simplify the notation.) Assume that every δmn=0\delta_{m\to n}=0 initially. An iteration is done by:

  • dnmd_{n\to m} is computed by {δmn:m(n)m}\{\delta_{m^{\prime}\to n}:m^{\prime}\in{\cal M}(n)\setminus m\} with 𝒑n\boldsymbol{p}_{n},

  • δmn\delta_{m\to n} is computed by {dnm:n𝒩(m)n}\{d_{n^{\prime}\to m}:n^{\prime}\in{\cal N}(m)\setminus n\} with zmz_{m},

  • 𝒒n\boldsymbol{q}_{n} is computed by {δmn:m(n)}\{\delta_{m\to n}:m\in{\cal M}(n)\} with 𝒑n\boldsymbol{p}_{n}.

The messages dnmd_{n\to m} and δmn\delta_{m\to n} will be denoted, respectively, by dmnd_{mn} and δmn\delta_{mn} for simplicity. The message-passing is usually done with a parallel schedule, referred to as parallel BP2 (cf. [39, Algorithm 1], which has dmnd_{mn} and δmn\delta_{mn} as likelihood differences (LDs) and is due to MacKay and Neal [3, 4, 5]).

The message-passing can also be done with a serial schedule, referred to as serial BP2 [39, Algorithm 2]. We compared parallel/serial BP2 by decoding a [13298,3296][13298,3296] code in [39, Figs. 4 and 5], showing that serial BP2 has a better convergence within limited iterations (as expected in [32, 33, 34]).

II-B The simplified rules for BP2

The computation in parallel/serial BP2 can be substantially simplified and represented by simple update rules, corresponding to weight-2 and weight-3 rows. These simple rules can in turn be extended to define the general rules [9, Sec. V-E]. Consider H=[110111]H=\left[\begin{smallmatrix}1&1&0\\ 1&1&1\end{smallmatrix}\right] as in Fig. 1. Recall that we denote P(E1=0)=p1(0)P(E_{1}=0)=p_{1}^{(0)} and P(E1=1)=p1(1)P(E_{1}=1)=p_{1}^{(1)}. Let E2+E3E_{2}+E_{3} be a super bit indexed by {2,3}\{2,3\}. Then we have the representation P(E2+E3=0)=p{2,3}(0)P(E_{2}+E_{3}=0)=p_{\{2,3\}}^{(0)} and P(E2+E3=1)=p{2,3}(1)P(E_{2}+E_{3}=1)=p_{\{2,3\}}^{(1)}. By Bayes rule and some derivations, we can update the (conditional) distribution of EnE_{n}, say n=1n=1, by:

LD-rule (δ\delta-rule)

The distribution of E1E_{1} can be updated by (conditions) H1H_{1} and H2H_{2}, respectively, by:

H1=[1,1,0]:[p1(0)p1(1)][q1(0)q1(1)][p1(0)p2(0)p1(1)p2(1)],\displaystyle H_{1}=[1,1,0]:~{}\left[\begin{matrix}p_{1}^{(0)}\\ p_{1}^{(1)}\end{matrix}\right]\to\left[\begin{matrix}q_{1}^{(0)}\\ q_{1}^{(1)}\end{matrix}\right]\propto\left[\begin{matrix}p_{1}^{(0)}p_{2}^{(0)}\\ p_{1}^{(1)}p_{2}^{(1)}\end{matrix}\right], (1)
H2=[1,1,1]:[p1(0)p1(1)][q1(0)q1(1)][p1(0)p{2,3}(0)p1(1)p{2,3}(1)],\displaystyle H_{2}=[1,1,1]:~{}\left[\begin{matrix}p_{1}^{(0)}\\ p_{1}^{(1)}\end{matrix}\right]\to\left[\begin{matrix}q_{1}^{(0)}\\ q_{1}^{(1)}\end{matrix}\right]\propto\left[\begin{matrix}p_{1}^{(0)}p_{\{2,3\}}^{(0)}\\ p_{1}^{(1)}p_{\{2,3\}}^{(1)}\end{matrix}\right],

where

p{2,3}(0)\displaystyle p_{\{2,3\}}^{(0)} =p2(0)p3(0)+p2(1)p3(1)=(1+d2d3)/2,\displaystyle=p_{2}^{(0)}p_{3}^{(0)}+p_{2}^{(1)}p_{3}^{(1)}=(1+d_{2}d_{3})/2, (2)
p{2,3}(1)\displaystyle p_{\{2,3\}}^{(1)} =p2(0)p3(1)+p2(1)p3(0)=(1d2d3)/2,\displaystyle=p_{2}^{(0)}p_{3}^{(1)}+p_{2}^{(1)}p_{3}^{(0)}=(1-d_{2}d_{3})/2,

where dnd_{n} is the likelihood difference (LD) of EnE_{n},

dn=pn(0)pn(1).{d_{n}=p_{n}^{(0)}-p_{n}^{(1)}.} (3)

We describe the δ\delta-rule following [5] rather than [9]. This allows us to generalize the computation to the quantum case later. The δ\delta-rule is equivalent to the LLR-rule as follows.

LLR-rule (Λ\Lambda-rule)

Let Λn=lnpn(0)pn(1)\Lambda_{n}=\ln\frac{p_{n}^{(0)}}{p_{n}^{(1)}} be the log-likelihood ratio (LLR) of EnE_{n}. Define f(x)=lnex+1ex1=ln(coth(x2))f(x)=\ln\frac{e^{x}+1}{e^{x}-1}=\ln\left({\coth(\frac{x}{2})}\right) like what Gallager did [1], where x0x\geq 0, f(0)f(0)\triangleq\infty, and f()0f(\infty)\triangleq 0. (Note that f1=ff^{-1}=f.) The LLR of E1E_{1} can be updated by (conditions) H1H_{1} and H2H_{2}, respectively, by:

H1=[1,1,0]:Λ1Λ1+Λ2,\displaystyle H_{1}=[1,1,0]:~{}\Lambda_{1}\to\Lambda_{1}+\Lambda_{2},
H2=[1,1,1]:Λ1Λ1+Λ{2,3}=Λ1+(Λ2Λ3),\displaystyle H_{2}=[1,1,1]:~{}\Lambda_{1}\to\Lambda_{1}+\Lambda_{\{2,3\}}=\Lambda_{1}+(\Lambda_{2}\boxplus\Lambda_{3}),

where Λ{2,3}=Λ2Λ3\Lambda_{\{2,3\}}=\Lambda_{2}\boxplus\Lambda_{3} is defined by

Λ2Λ3=sign(Λ2Λ3)f(f(|Λ2|)+f(|Λ3|)).\Lambda_{2}\boxplus\Lambda_{3}=\operatorname{sign}(\Lambda_{2}\Lambda_{3})\,f\left({f(|\Lambda_{2}|)+f(|\Lambda_{3}|)}\right). (4)

It only needs an addition after a transform by ff. To prevent handling the signs separately, it can use a transform by tanh\tanh but needs a multiplication [40] by

Λ2Λ3\displaystyle\Lambda_{2}\boxplus\Lambda_{3} =2tanh1(tanh(Λ2/2)tanh(Λ3/2)).\displaystyle=2\tanh^{-1}\left({\tanh(\Lambda_{2}/2)\tanh(\Lambda_{3}/2)}\right). (5)

Using simple algebra can confirm that the Λ2Λ3\Lambda_{2}\boxplus\Lambda_{3} in (4) and (5) are equivalent, and Λ2Λ3=ln(p{2,3}(0)/p{2,3}(1))\Lambda_{2}\boxplus\Lambda_{3}=\ln\left(p_{\{2,3\}}^{(0)}/p_{\{2,3\}}^{(1)}\right) for the p{2,3}(0)p_{\{2,3\}}^{(0)} and p{2,3}(1)p_{\{2,3\}}^{(1)} defined in (2). More equivalent rules can be found in [9, Sec. V-E].

Depending on the application (the channel model, decoder hardware, etc.), a suitable rule can be chosen. For example, the Λ\Lambda-rule is suitable for the AWGN channel (since the received symbol’s magnitude is linearly mapped to |Λn||\Lambda_{n}| [2]), and the operation \boxplus can be efficiently computed/approximated (e.g., by table lookup [36]). On the other hand, the δ\delta-rule is suitable for the BSC, and the computation can be efficiently programmed/computed by a general-purpose computer.

The δ\delta-rule is very suitable for our purpose of decoding quantum codes in the next section.

III Quaternary BP Decoding for Quantum Codes

III-A The simplified rule for BP4

We will use the notation based on Pauli operators {I=[1001],X=[0110],Y=[0ii0],Z=[1001]}\left\{I=\left[\begin{smallmatrix}1&0\\ 0&1\end{smallmatrix}\right],X=\left[\begin{smallmatrix}0&1\\ 1&0\end{smallmatrix}\right],Y=\left[\begin{smallmatrix}0&-i\\ i&0\end{smallmatrix}\right],Z=\left[\begin{smallmatrix}1&0\\ 0&-1\end{smallmatrix}\right]\right\} [41], and consider NN-fold Pauli operators with an inner product

,:{I,X,Y,Z}N×{I,X,Y,Z}N{0,1},\langle\cdot,\cdot\rangle:\{I,X,Y,Z\}^{\otimes N}\times\{I,X,Y,Z\}^{\otimes N}\rightarrow\{0,1\}, (6)

which has an output 0 if the inputs commute and an output 1 if the inputs anticommute. (This is mathematically equivalent to mapping {I,X,Y,Z}N\{I,X,Y,Z\}^{\otimes N}\to GF(4)N with a Hermitian trace inner-product to the ground field GF(2) [17]). It suffices to omit \otimes in the following discussion. An unknown error will be denoted by E=E1E2EN{I,X,Y,Z}NE=E_{1}E_{2}\cdots E_{N}\in\{I,X,Y,Z\}^{N}.

There will a check matrix S{I,X,Y,Z}M×NS\in\{I,X,Y,Z\}^{M\times N} used to generate a syndrome z{0,1}Mz\in\{0,1\}^{M}. Consider a simple example S=[S11S12IS21S22S23]S=\left[\begin{smallmatrix}S_{11}&S_{12}&I\\ S_{21}&S_{22}&S_{23}\\ \end{smallmatrix}\right], where there are five non-identity entries. For simplicity, fix it as S=[XYIZZY]S=\left[\begin{smallmatrix}X&Y&I\\ Z&Z&Y\\ \end{smallmatrix}\right] and the other cases can be handled similarly. The Tanner graph (with generalized edge types X,Y,ZX,Y,Z) of the example SS is shown in Fig. 2.

E3E_{3}E2E_{2}E1E_{1}(S1):E1,X+E2,Y=z1(S_{1}):~{}\langle E_{1},X\rangle+\langle E_{2},Y\rangle=z_{1}(S2):E1,Z+E2,Z+E3,Y=z2(S_{2}):~{}\langle E_{1},Z\rangle+\langle E_{2},Z\rangle+\langle E_{3},Y\rangle=z_{2}XXYYZZ
Figure 2: The Tanner graph of of the example S=[XYIZZY]S=\left[\begin{smallmatrix}X&Y&I\\ Z&Z&Y\\ \end{smallmatrix}\right].

For decoding quantum codes, we are to update an initial distribution 𝒑n=(pnI,pnX,pnY,pnZ)\boldsymbol{p}_{n}=(p_{n}^{I},p_{n}^{X},p_{n}^{Y},p_{n}^{Z}) of EnE_{n} as an updated (conditional) distribution 𝒒n=(qnI,qnX,qnY,qnZ)\boldsymbol{q}_{n}=(q_{n}^{I},q_{n}^{X},q_{n}^{Y},q_{n}^{Z}). Again (as in Sec. II-B) assume that the syndrome is a zero vector and we are to update the distribution of EnE_{n} with n=1n=1. By Bayes rule and some derivations, we have:

LD-rule (δ\delta-rule) for BP4

The distribution of E1E_{1} can be updated by (conditions) S1S_{1} and S2S_{2}, respectively, by:

S1=XYI:[p1Ip1Xp1Yp1Z][q1Iq1Xq1Yq1Z][p1I(p2I+p2Y)p1X(p2I+p2Y)p1Y(p2X+p2Z)p1Z(p2X+p2Z)],\displaystyle S_{1}=XYI:~{}\left[\begin{matrix}p_{1}^{I}\\ p_{1}^{X}\\ p_{1}^{Y}\\ p_{1}^{Z}\end{matrix}\right]\to\left[\begin{matrix}q_{1}^{I}\\ q_{1}^{X}\\ q_{1}^{Y}\\ q_{1}^{Z}\end{matrix}\right]\propto\left[\begin{matrix}p_{1}^{I}\,(p_{2}^{I}+p_{2}^{Y})\\ p_{1}^{X}\,(p_{2}^{I}+p_{2}^{Y})\\ p_{1}^{Y}\,(p_{2}^{X}+p_{2}^{Z})\\ p_{1}^{Z}\,(p_{2}^{X}+p_{2}^{Z})\end{matrix}\right], (7)
S2=ZZY:[p1Ip1Xp1Yp1Z][q1Iq1Xq1Yq1Z][p1Ip{2,3}(0)p1Xp{2,3}(1)p1Yp{2,3}(1)p1Zp{2,3}(0)],\displaystyle S_{2}=ZZY:~{}\left[\begin{matrix}p_{1}^{I}\\ p_{1}^{X}\\ p_{1}^{Y}\\ p_{1}^{Z}\end{matrix}\right]\to\left[\begin{matrix}q_{1}^{I}\\ q_{1}^{X}\\ q_{1}^{Y}\\ q_{1}^{Z}\end{matrix}\right]\propto\left[\begin{matrix}p_{1}^{I}\,p_{\{2,3\}}^{(0)}\\ p_{1}^{X}\,p_{\{2,3\}}^{(1)}\\ p_{1}^{Y}\,p_{\{2,3\}}^{(1)}\\ p_{1}^{Z}\,p_{\{2,3\}}^{(0)}\end{matrix}\right],

where (since S22S23=ZYS_{22}S_{23}=ZY)

p{2,3}(0)\displaystyle p_{\{2,3\}}^{(0)} =p2Ip3I+p2Ip3Y+p2Xp3X+p2Xp3Z\displaystyle=p_{2}^{I}p_{3}^{I}+p_{2}^{I}p_{3}^{Y}+p_{2}^{X}p_{3}^{X}+p_{2}^{X}p_{3}^{Z}
+p2Zp3I+p2Zp3Y+p2Yp3X+p2Yp3Z,\displaystyle\qquad+p_{2}^{Z}p_{3}^{I}+p_{2}^{Z}p_{3}^{Y}+p_{2}^{Y}p_{3}^{X}+p_{2}^{Y}p_{3}^{Z},
p{2,3}(1)\displaystyle p_{\{2,3\}}^{(1)} =p2Ip3X+p2Ip3Z+p2Xp3I+p2Xp3Y\displaystyle=p_{2}^{I}p_{3}^{X}+p_{2}^{I}p_{3}^{Z}+p_{2}^{X}p_{3}^{I}+p_{2}^{X}p_{3}^{Y}
+p2Zp3X+p2Zp3Z+p2Yp3I+p2Yp3Y.\displaystyle\qquad+p_{2}^{Z}p_{3}^{X}+p_{2}^{Z}p_{3}^{Z}+p_{2}^{Y}p_{3}^{I}+p_{2}^{Y}p_{3}^{Y}.

The last two probabilities (with 16 multiplications as above) can be efficiently computed (with one multiplication) by

p{2,3}(0)=1+δ2δ32andp{2,3}(1)=1δ2δ32,\displaystyle p_{\{2,3\}}^{(0)}=\frac{1+\delta_{2}\delta_{3}}{2}\quad\text{and}\quad p_{\{2,3\}}^{(1)}=\frac{1-\delta_{2}\delta_{3}}{2}, (8)

where (since S22=ZS_{22}=Z and S23=YS_{23}=Y)

δ2\displaystyle\delta_{2} =(p2I+p2Z)(p2X+p2Y),\displaystyle=(p_{2}^{I}+p_{2}^{Z})-(p_{2}^{X}+p_{2}^{Y}), (9)
δ3\displaystyle\delta_{3} =(p3I+p3Y)(p3X+p3Z).\displaystyle=(p_{3}^{I}+p_{3}^{Y})-(p_{3}^{X}+p_{3}^{Z}).

Observe the similarity and difference in (1)–(3) and (7)–(9). This even suggests a way to generalize the above strategy to a case of higher-order GF(q=2lq=2^{l}) with binary syndromes.

This pre-add strategy is like a partial FFT-method since for GF(q=2lq=2^{l}), the basic operation of the ground filed GF(2) is addition (subtraction) [24]. However, the FFT-method needs O(qlogq)O(q\log q) additions and O(q)O(q) multiplications to combine two distributions [23]. The above strategy, by generalizing (8) and (9), would only need O(q)O(q) additions and O(1)O(1) multiplication to combine two distributions if the syndrome is binary. Another point is that the FFT-method still treats a message as a vector over GF(qq), but we treat the message as a scalar and this opens new possibilities for improvement (e.g., using message normalization (shown later) or allowing a neural BP4, where (since training needs scalar messages) a previous neural BP is only considered with BP2 without XX/ZZ correlations [30]).

III-B The conventional BP4 with vector messages

An [[N,K]][[N,K]] stabilizer code is a 2K2^{K}-dimensional subspace of 2N\mathbb{C}^{2^{N}} fixed by the operators (not necessarily all independent) defined by a check matrix S{I,X,Y,Z}M×NS\in\{I,X,Y,Z\}^{M\times N} with MNKM\geq N-K. Each row SmS_{m} of SS corresponds to an NN-fold Pauli operator that stabilizes the code space. The matrix SS is self-orthogonal with respect to the inner product (6), i.e., Sm,Sm=0\langle S_{m},S_{m^{\prime}}\rangle=0 for any two rows SmS_{m} and SmS_{m^{\prime}}. The code space is the joint-(+1+1) eigenspace of the rows of SS. The vectors in the (multiplicative) rowspace of SS are called stabilizers [41].

It suffices to consider discrete errors like Pauli errors per the error discretization theorem [41]. Upon the reception of a noisy coded state suffered from an unknown NN-qubit error E{I,X,Y,Z}NE\in\{I,X,Y,Z\}^{N}, MM stabilizers {Sm}m=1M\{S_{m}\}_{m=1}^{M} are measured to determine a binary error syndrome z=(z1,z2,,zM){0,1}Mz=(z_{1},z_{2},\dots,z_{M})\in\{0,1\}^{M} using (6), where

zm=E,Sm{0,1}.\displaystyle z_{m}=\langle E,S_{m}\rangle\in\{0,1\}. (10)

Given SS, zz, and an a priori distribution 𝒑n=(pnI,pnX,pnY,pnZ){\boldsymbol{p}}_{n}=(p_{n}^{I},p_{n}^{X},p_{n}^{Y},p_{n}^{Z}) for each EnE_{n} (e.g., let 𝒑n=(1ϵ,ϵ/3,ϵ/3,ϵ/3){\boldsymbol{p}}_{n}=(1-\epsilon,\,\epsilon/3,\,\epsilon/3,\,\epsilon/3) for a depolarizing channel with error rate ϵ\epsilon), a decoder has to estimate an E^{I,X,Y,Z}N\hat{E}\in\{I,X,Y,Z\}^{N} such that E^\hat{E} is equivalent to EE, up to a stabilizer, with a probability as high as possible. (The solution is not unique due to the degeneracy [27, 42].)

For decoding quantum codes, the neighboring sets are 𝒩(m)={n:SmnI}{\cal N}(m)=\{n:S_{mn}\neq I\} and (n)={m:SmnI}{\cal M}(n)=\{m:S_{mn}\neq I\}. Let E|𝒩(m)E|_{{\cal N}(m)} be the restriction of E=E1E2ENE=E_{1}E_{2}\cdots E_{N} to 𝒩(m){\cal N}(m). Then E,Sm=E|𝒩(m),Sm|𝒩(m)\langle E,S_{m}\rangle=\langle E|_{{\cal N}(m)},S_{m}|_{{\cal N}(m)}\rangle for any EE and SmS_{m}.333 For example, if Sm=IXZS_{m}=IXZ and E=E1E2E3E=E_{1}E_{2}E_{3}, then
E|𝒩(m)=(E1E2E3)|𝒩(m)=E2E3E|_{{\cal N}(m)}=(E_{1}E_{2}E_{3})|_{{\cal N}(m)}=E_{2}E_{3} and Sm|𝒩(m)=XZS_{m}|_{{\cal N}(m)}=XZ. Then
E,Sm=E1E2E3,IXZ=E2E3,XZ=E|𝒩(m),Sm|𝒩(m).\langle E,S_{m}\rangle=\langle E_{1}E_{2}E_{3},IXZ\rangle=\left\langle E_{2}E_{3},XZ\right\rangle=\langle E|_{{\cal N}(m)},S_{m}|_{{\cal N}(m)}\rangle.

A conventional BP4 for decoding binary stabilizer codes is done as follows [27]. In the initialization step, every variable node nn passes the message 𝒒mn=(qmnI,qmnX,qmnY,qmnZ)\boldsymbol{q}_{mn}=(q_{mn}^{I},q_{mn}^{X},q_{mn}^{Y},q_{mn}^{Z}) =𝒑n={\boldsymbol{p}}_{n} to every neighboring check node m(n)m\in{\cal M}(n).

  • Horizontal Step: At check node mm, compute 𝒓mn=(rmnI,rmnX,rmnY,rmnZ)\boldsymbol{r}_{mn}=(r_{mn}^{I},r_{mn}^{X},r_{mn}^{Y},r_{mn}^{Z}) and pass 𝒓mn\boldsymbol{r}_{mn} as the message mnm\to n for every n𝒩(m)n\in{\cal N}(m), where W{I,X,Y,Z}\forall~{}W\in\{I,X,Y,Z\},

    rmnW=E|𝒩(m):En=W,E|𝒩(m),Sm|𝒩(m)=zm(n𝒩(m)nqmnEn).{r_{mn}^{W}=\sum_{E|_{{\cal N}(m)}:~{}E_{n}=W,\atop\left\langle E|_{{\cal N}(m)},S_{m}|_{{\cal N}(m)}\right\rangle=z_{m}}\left({\prod_{n^{\prime}\in{\cal N}(m)\setminus n}q_{mn^{\prime}}^{E_{n^{\prime}}}}\right).}
  • Vertical Step: At variable node nn, compute 𝒒mn=(qmnI,qmnX,qmnY,qmnZ)\boldsymbol{q}_{mn}=(q_{mn}^{I},q_{mn}^{X},q_{mn}^{Y},q_{mn}^{Z}) and pass 𝒒mn\boldsymbol{q}_{mn} as the message nmn\to m for every m(n)m\in{\cal M}(n), where

    qmnW=amnpnWm(n)mrmnW{q_{mn}^{W}=a_{mn}\,p_{n}^{W}\prod_{m^{\prime}\in{\cal M}(n)\setminus m}r_{m^{\prime}n}^{W}}

    with amna_{mn} a chosen scalar to let W{I,X,Y,Z}qmnW=1\sum_{W\in\{I,X,Y,Z\}}q_{mn}^{W}=1.

At variable node nn, it also computes qnW=pnWm(n)rmnWq_{n}^{W}=p_{n}^{W}\prod_{m\in{\cal M}(n)}r_{mn}^{W} to infer E^n=argmaxW{I,X,Y,Z}qnW\hat{E}_{n}=\operatorname*{arg\,max}_{W\in\{I,X,Y,Z\}}q_{n}^{W}. The horizontal and vertical steps are iterated until an estimated E^=E^1E^2E^N\hat{E}=\hat{E}_{1}\hat{E}_{2}\cdots\hat{E}_{N} is valid or a maximum number of iterations is reached.

III-C The refined BP4 with scalar messages

For a variable node, say variable node 1, and its neighboring check node mm, we know from (10) that

E1,Sm1\displaystyle\langle E_{1},S_{m1}\rangle =zm+n=2NEn,Smnmod2.\displaystyle=z_{m}+\sum_{n=2}^{N}\langle E_{n},S_{mn}\rangle\mod 2.

Given the value En,Smn\langle E_{n},S_{mn}\rangle of (a possible) En{I,X,Y,Z}E_{n}\in\{I,X,Y,Z\} and some Smn{X,Y,Z}S_{mn}\in\{X,Y,Z\}, we will know that EnE_{n} commutes or anticommutes with SmnS_{mn}, i.e., either En{I,Smn}E_{n}\in\{I,S_{mn}\} or En{X,Y,Z}SmnE_{n}\in\{X,Y,Z\}\setminus S_{mn}. Consequently, the passed message should indicate more likely whether En{I,Smn}E_{n}\in\{I,S_{mn}\} or En{X,Y,Z}SmnE_{n}\in\{X,Y,Z\}\setminus S_{mn}. In other words, the message from a neighboring check will tell us more likely whether the error E1E_{1} commutes or anticommutes with Sm1S_{m1}. This suggests that a BP decoding of stabilizer codes with scalar messages is possible and we provide such an algorithm in Algorithm 1, referred to as parallel BP4 (the same as [39, Algorithm 3]). Note that the notation rmn(W,Smn)r_{mn}^{(\langle W,S_{mn}\rangle)} is simplified as rmnW,Smnr_{mn}^{\langle W,S_{mn}\rangle}.

Algorithm 1 : δ\delta-rule based quaternary BP decoding for binary stabilizer codes with a parallel schedule (parallel BP4)

Input: S{I,X,Y,Z}M×NS\in\{I,X,Y,Z\}^{M\times N}, z{0,1}Mz\in\{0,1\}^{M}, and initial {(pnI,pnX,pnY,pnZ)}n=1N\{(p_{n}^{I},p_{n}^{X},p_{n}^{Y},p_{n}^{Z})\}_{n=1}^{N}.
Initialization. For n=1,2,,Nn=1,2,\dots,N and m(n)m\in{\cal M}(n), let

dmn=qmn(0)qmn(1),d_{mn}=q_{mn}^{(0)}-q_{mn}^{(1)},

where qmn(0)=pnI+pnSmnq_{mn}^{(0)}=p_{n}^{I}+p_{n}^{S_{mn}} and qmn(1)=1qmn(0)q_{mn}^{(1)}=1-q_{mn}^{(0)}.

Horizontal Step. For m=1,,Mm=1,\dots,M and n𝒩(m)n\in{\cal N}(m), compute

δmn=(1)zmn𝒩(m)ndmn.\textstyle\delta_{mn}=(-1)^{z_{m}}\prod_{n^{\prime}\in{\cal N}(m)\setminus n}\,d_{mn^{\prime}}.

Vertical Step. For n=1,2,,Nn=1,2,\dots,N and m(n)m\in{\cal M}(n), do:

  • Compute rmn(0)=(1+δmn)/2,rmn(1)=(1δmn)/2r_{mn}^{(0)}=(1+\delta_{mn})/2,~{}r_{mn}^{(1)}=(1-\delta_{mn})/2,

    qmnI\displaystyle q_{mn}^{I} =pnIm(n)mrmn(0) and\displaystyle=\textstyle p_{n}^{I}\prod_{m^{\prime}\in{\cal M}(n)\setminus m}\,r_{m^{\prime}n}^{(0)}\text{ ~{}and }
    qmnW\displaystyle q_{mn}^{W} =pnWm(n)mrmnW,Smn, for W{X,Y,Z}.\displaystyle=\textstyle p_{n}^{W}\prod_{m^{\prime}\in{\cal M}(n)\setminus m}\,r_{m^{\prime}n}^{\langle W,S_{m^{\prime}n}\rangle},\mbox{ for }W\in\{X,Y,Z\}.
  • Let  qmn(0)=amn(qmnI+qmnSmn)q_{mn}^{(0)}=a_{mn}(q_{mn}^{I}+q_{mn}^{S_{mn}})
    and  qmn(1)=amn(W{X,Y,Z}SmnqmnW)q_{mn}^{(1)}=a_{mn}(\sum_{W^{\prime}\in\{X,Y,Z\}\setminus S_{mn}}q_{mn}^{W^{\prime}}),
    where amna_{mn} is a chosen scalar such that qmn(0)+qmn(1)=1q_{mn}^{(0)}+q_{mn}^{(1)}=1.

  • Update: dmn=qmn(0)qmn(1)d_{mn}=q_{mn}^{(0)}-q_{mn}^{(1)}.

Hard Decision. For n=1,2,,Nn=1,2,\dots,N, compute

qnI\displaystyle\qquad q_{n}^{I} =pnIm(n)rmn(0) and\displaystyle=\textstyle p_{n}^{I}\prod_{m\in{\cal M}(n)}\,r_{mn}^{(0)}\text{ ~{}and }
qnW\displaystyle q_{n}^{W} =pnWm(n)rmnW,Smn, for W{X,Y,Z}.\displaystyle=\textstyle p_{n}^{W}\prod_{m\in{\cal M}(n)}\,r_{mn}^{\langle W,S_{mn}\rangle},\mbox{ for }W\in\{X,Y,Z\}.
  • Let E^n=argmaxW{I,X,Y,Z}qnW\hat{E}_{n}=\operatorname*{arg\,max}_{W\in\{I,X,Y,Z\}}q_{n}^{W}.

  • Let E^=E^1E^2E^N\hat{E}=\hat{E}_{1}\hat{E}_{2}\cdots\hat{E}_{N}.

    • If E^,Sm=zmm\langle\hat{E},S_{m}\rangle=z_{m}~{}\forall~{}m, halt and return “SUCCESS”;

    • otherwise, if a maximum number of iterations is reached, halt and return “FAIL”;

    • otherwise, repeat from the horizontal step.

It can be shown that Algorithm 1 has exactly the same output as the conventional BP4 (as outlined in Sec. III-A). In particular, Algorithm 1 has a check-node efficiency 16-fold improved from the conventional BP4.

Similar to the classical case, we can consider running Algorithm 1 with a serial schedule, referred to as serial BP4 (cf. [39, Algorithm 4]). Using serial BP4 may prevent the decoding oscillation (as an example based on the [[5,1,3]][[5,1,3]] code in [39, Fig. 7]) and improve the empirical performance (e.g., for decoding a hypergraph-product code [39, Fig. 8]).

IV Simulation Results

Algorithm 2 : Normalized BP4 with a given parameter αv\alpha_{v}

Identical to Algorithm 1, except that qmn(0)q_{mn}^{(0)} and qmn(1)q_{mn}^{(1)} are respectively replaced by qmn(0)=amn(qmnI+qmnSmn)1/αvq_{mn}^{(0)}=a_{mn}(q_{mn}^{I}+q_{mn}^{S_{mn}})^{1/\alpha_{v}} and qmn(1)=amn(W{X,Y,Z}SmnqmnW)1/αvq_{mn}^{(1)}=a_{mn}(\sum_{W^{\prime}\in\{X,Y,Z\}\setminus S_{mn}}q_{mn}^{W^{\prime}})^{1/\alpha_{v}} for some αv>0\alpha_{v}>0, where amna_{mn} is a chosen scalar such that qmn(0)+qmn(1)=1q_{mn}^{(0)}+q_{mn}^{(1)}=1.

Having scalar messages allows us to apply the message normalization [35, 36, 37]. This suppresses the wrong belief looped in the short cycles (due to sub-matrices like [XYZZ]\left[\begin{smallmatrix}X&Y\\ Z&Z\end{smallmatrix}\right] in Fig. 2). The message normalization can be applied to (rmn(0),rmn(1))(r_{mn}^{(0)},r_{mn}^{(1)}) [39, Algorithm 5] or (qmn(0),qmn(1))(q_{mn}^{(0)},q_{mn}^{(1)}) [39, Algorithm 6]. Many simulation results were provided in [39], and normalizing (qmn(0),qmn(1))(q_{mn}^{(0)},q_{mn}^{(1)}) has a lower error-floor. We restate [39, Algorithm 6] as Algorithm 2 here (where ()1/αv(\cdot)^{1/\alpha_{v}} can be efficiently done by one multiplication and two additions [43]). Some more results will be provided. We try to collect at least 100 logical errors for every data-point; or otherwise an error bar between two crosses shows a 95% confidence interval (omitted in Fig. 6).

In the simulation, we do not restrict the measurements to be local. We consider bicycle codes (a kind of random sparse codes) [20] since they have small ancilla overhead and good performance, benchmarked by code rate vs. physical error rate [20, Fig. 10].444 Using random sparse codes needs long qubit-connectivity, which is possibly supported by trapped-ions or nuclear-spins [44]. If the measurements must be local, then topological codes are usually considered (with another benchmark called threshold usually used). Our proposed algorithm can also decode topological codes but needs some extension to have a good performance. This will be addressed in another our manuscript under preparation. But BP decoding of this kind of codes have some error-floor subject to improve [20, Fig. 6].

First, a random bicycle code is easy to construct [27] but could have a high error-floor [39]. For convenience, we replot [39, Fig. 16] as Fig. 4 here. Observe the high error-floor before using message normalization. Using αv\alpha_{v} improves the error-floor a lot. We implemented an overflow (underflow) protection in BP as in [5] and confirmed that the original error-floor is not due to numerical overflow/underflow. It should be due to the random construction (especially that a row-deletion step is performed randomly). MacKay, Mitchison, and McFadden suggested to use a heuristic approach to do the construction (to have more uniform column-weights in the check matrix after the row-deletion step) [20].555 Except for special irregular designs, BP converges more well when the column-weights are more uniform [2, 5, 20]. We consider to either minimize the column-weight variance (min-var approach) or minimize the difference of the largest and smallest column-weights (min-max approach). The min-var approach is usually better; but if many rows are deleted (for a larger code rate), the min-max approach could be better. The [[800,400]][[800,400]] code (rate 1/2) constructed here is by the min-max approach. The [[3786,946]][[3786,946]] code (rate 1/4) constructed here is by the min-var approach.

An [[800,400]][[800,400]] bicycle code is constructed by the heuristic approach, with the other parameters the same as the code in Fig. 4. The performance of this new code is shown in Fig. 4, where the BP4 error-floor (without message normalization) is improved compare to Fig. 4. However, using αv=1.5\alpha_{v}=1.5 further lowers the error-floor to a level like the improved case in Fig. 4. The two figures show that running (scalar-based) BP4 with message normalization has a more robust performance. This provides more flexibility in code construction (for if some rows (measurements) must be kept or deleted).

Refer to caption
Figure 3: Performance of decoding a random [[800,400]][[800,400]] bicycle code in [39].
Refer to caption
Figure 4: Performance of decoding another [[800,400]][[800,400]] bicycle code constructed by the heuristic approach (resulting in more uniform column-weights).

Next we construct a [[3786,946]][[3786,946]] bicycle code with row-weight 24, using the heuristic approach. A code with such parameters has some error-floor for a block error rate <104<10^{-4}, when decoded by BP2 in the bit-flip channel [20, Fig. 6]. We decode the constructed code by BP4 in the depolarizing channel, and plot the decoding performance in Fig. 6. There is a similar error-floor for a logical error rate <104<10^{-4} before using message normalization. After using αv\alpha_{v}, the error-floor performance is much improved. A smaller ϵ\epsilon usually needs a larger αv\alpha_{v} for suppression (since 𝒑n\boldsymbol{p}_{n} is quite biased with a large pnI=1ϵp_{n}^{I}=1-\epsilon). As a reference, we derive Fig. 6 from Fig. 6 by using different αv\alpha_{v} for different ϵ\epsilon to see the improvement.

Refer to caption
Figure 5: Performance of decoding the [[3786,946]][[3786,946]] bicycle code.
Refer to caption
Figure 6: Performance of decoding the [[3786,946]][[3786,946]] bicycle code with different αv\alpha_{v} used for different ϵ\epsilon. This figure is derived from the data in Fig. 6.

V Conclusion

We proposed a δ\delta-rule based BP4 for decoding quantum stabilizer codes by passing scalar messages. This is achieved by exploiting the binary property of the syndrome. The proposed BP4 is equivalent to the conventional BP4 but with a check-node efficiency 16-fold improved. The message normalization can be naturally applied to the scalar messages. We performed the simulation by decoding several bicycle codes. Different decoding schedules were also considered. Using the proposed BP4 with message normalization and a suitable schedule results in a significantly improved performance and error-floor.

References

  • [1] R. G. Gallager, “Low-density parity-check codes,” IRE Transactions on Information Theory, vol. 8, pp. 21–28, 1962.
  • [2] ——, Low-Density Parity-Check Codes, ser. no. 21 in Research Monograph Series.   Cambridge, MA: MIT Press, 1963.
  • [3] D. MacKay and R. Neal, “Good codes based on very sparse matrices,” in Proc. 5th IMA Int. Conf. Cryptogr. Coding, 1995, pp. 100–111.
  • [4] ——, “Near Shannon limit performance of low density parity check codes,” Electron. Lett., vol. 32, pp. 1645–1646, 1996, reprinted: Electron. Lett., vol. 33, pp. 457–458, 1997.
  • [5] D. J. C. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE Trans. Inf. Theory, vol. 45, pp. 399–431, 1999.
  • [6] R. Tanner, “A recursive approach to low complexity codes,” IEEE Trans. Inf. Theory, vol. 27, pp. 533–547, 1981.
  • [7] N. Wiberg, “Codes and decoding on general graphs,” Ph.D. dissertation, Linkoping University, Linkoping, Sweden, 1996.
  • [8] S. M. Aji and R. J. McEliece, “The generalized distributive law,” IEEE Trans. Inf. Theory, vol. 46, pp. 325–343, 2000.
  • [9] F. Kschischang, B. Frey, and H. Loeliger, “Factor graphs and the sum-product algorithm,” IEEE Trans. Inf. Theory, vol. 47, pp. 498–519, 2001.
  • [10] J. Pearl, Probabilistic reasoning in intelligent systems: networks of plausible inference.   Morgan Kaufmann, 1988.
  • [11] R. J. McEliece, D. J. C. MacKay, and J.-F. Cheng, “Turbo decoding as an instance of Pearl’s “belief propagation” algorithm,” IEEE J. Sel. Areas Commun., vol. 16, pp. 140–152, 1998.
  • [12] J. S. Yedidia, W. T. Freeman, and Y. Weiss, “Understanding belief propagation and its generalizations,” Exploring Artif. Intell. in the New Millennium, vol. 8, pp. 236–239, 2003.
  • [13] P. W. Shor, “Scheme for reducing decoherence in quantum computer memory,” Phys. Rev. A, vol. 52, pp. 2493–2496, 1995.
  • [14] D. Gottesman, “Stabilizer codes and quantum error correction,” Ph.D. dissertation, California Institute of Technology, 1997.
  • [15] A. R. Calderbank and P. W. Shor, “Good quantum error-correcting codes exist,” Phys. Rev. A, vol. 54, p. 1098, 1996.
  • [16] A. M. Steane, “Error correcting codes in quantum theory,” Phys. Rev. Lett., vol. 77, p. 793, 1996.
  • [17] A. R. Calderbank, E. M. Rains, P. W. Shor, and N. J. A. Sloane, “Quantum error correction via codes over GF(4),” IEEE Trans. Inf. Theory, vol. 44, pp. 1369–1387, 1998.
  • [18] A. Y. Kitaev, “Fault-tolerant quantum computation by anyons,” Ann. Phys., vol. 303, pp. 2–30, 2003.
  • [19] H. Bombin and M. A. Martin-Delgado, “Topological quantum distillation,” Phys. Rev. Lett., vol. 97, p. 180501, 2006.
  • [20] D. J. C. MacKay, G. Mitchison, and P. L. McFadden, “Sparse-graph codes for quantum error correction,” IEEE Trans. Inf. Theory, vol. 50, pp. 2315–2330, 2004.
  • [21] J.-P. Tillich and G. Zémor, “Quantum LDPC codes with positive rate and minimum distance proportional to the square root of the blocklength,” IEEE Trans. Inf. Theory, vol. 60, pp. 1193–1202, 2014.
  • [22] M. C. Davey and D. J. C. MacKay, “Low density parity check codes over GF(q),” in Proc. IEEE Inf. Theory Workshop, 1998, pp. 70–71.
  • [23] D. J. C. MacKay and M. C. Davey, “Evaluation of Gallager codes for short block length and high rate applications,” in Codes, Systems, and Graphical Models.   Springer, 2001, pp. 113–130.
  • [24] D. Declercq and M. Fossorier, “Decoding algorithms for nonbinary LDPC codes over GF(q),” IEEE Trans. Commun., vol. 55, p. 633, 2007.
  • [25] N. Delfosse and J. Tillich, “A decoding algorithm for CSS codes using the X/Z correlations,” in Proc. IEEE Int. Symp. Inf. Theory, 2014, p. 1071.
  • [26] A. Rigby, J. C. Olivier, and P. Jarvis, “Modified belief propagation decoders for quantum low-density parity-check codes,” Phys. Rev. A, vol. 100, p. 012330, 2019.
  • [27] D. Poulin and Y. Chung, “On the iterative decoding of sparse quantum codes,” Quantum Inf. Comput., vol. 8, pp. 987–1000, 2008.
  • [28] Y.-J. Wang, B. C. Sanders, B.-M. Bai, and X.-M. Wang, “Enhanced feedback iterative decoding of sparse quantum codes,” IEEE Trans. Inf. Theory, vol. 58, pp. 1231–1241, 2012.
  • [29] Z. Babar, P. Botsinis, D. Alanis, S. X. Ng, and L. Hanzo, “Fifteen years of quantum LDPC coding and improved decoding strategies,” IEEE Access, vol. 3, pp. 2492–2519, 2015.
  • [30] Y. Liu and D. Poulin, “Neural belief-propagation decoders for quantum error-correcting codes,” Phys. Rev. Lett., vol. 122, p. 200501, 2019.
  • [31] P. Panteleev and G. Kalachev, “Degenerate quantum LDPC codes with good finite length performance,” e-print arXiv:1904.02703, 2019.
  • [32] J. Zhang and M. P. C. Fossorier, “Shuffled iterative decoding,” IEEE Trans. Commun., vol. 53, pp. 209–213, 2005.
  • [33] E. Sharon, S. Litsyn, and J. Goldberger, “Efficient serial message-passing schedules for LDPC decoding,” IEEE Trans. Inf. Theory, vol. 53, pp. 4076–4091, 2007.
  • [34] J. Goldberger and H. Kfir, “Serial schedules for belief-propagation: Analysis of convergence time,” IEEE Trans. Inf. Theory, vol. 54, pp. 1316–1319, 2008.
  • [35] J. Chen and M. P. C. Fossorier, “Near optimum universal belief propagation based decoding of low-density parity check codes,” IEEE Trans. Commun., vol. 50, pp. 406–414, 2002.
  • [36] J. Chen, A. Dholakia, E. Eleftheriou, M. P. C. Fossorier, and X.-Y. Hu, “Reduced-complexity decoding of LDPC codes,” IEEE Trans. Commun., vol. 53, pp. 1288–1299, 2005.
  • [37] M. Yazdani, S. Hemati, and A. Banihashemi, “Improving belief propagation on graphs with cycles,” IEEE Commun. Lett., vol. 8, p. 57, 2004.
  • [38] M. Hagiwara, M. P. C. Fossorier, and H. Imai, “Fixed initialization decoding of LDPC codes over a binary symmetric channel,” IEEE Trans. Inf. Theory, vol. 58, pp. 2321–2329, 2012.
  • [39] K.-Y. Kuo and C.-Y. Lai, “Refined belief propagation decoding of sparse-graph quantum codes,” IEEE J. Sel. Areas Inf. Theory, vol. 1, pp. 487–498, 2020, doi: 10.1109/JSAIT.2020.3011758.
  • [40] J. Hagenauer, E. Offer, and L. Papke, “Iterative decoding of binary block and convolutional codes,” IEEE Trans. Inf. Theory, vol. 42, p. 429, 1996.
  • [41] M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information.   Cambridge University Press, 2000.
  • [42] K.-Y. Kuo and C.-C. Lu, “On the hardnesses of several quantum decoding problems,” Quant. Inf. Process., vol. 19, pp. 1–17, 2020.
  • [43] N. N. Schraudolph, “A fast, compact approximation of the exponential function,” Neural Comput., vol. 11, pp. 853–862, 1999.
  • [44] E. Campbell, B. Terhal, and C. Vuillot, “Roads towards fault-tolerant universal quantum computation,” Nature, vol. 549, pp. 172–179, 2017.