Add rest of BPGD results

This commit is contained in:
2026-04-17 10:26:20 +02:00
parent 817859d09e
commit 24c574d120
56 changed files with 1091 additions and 122 deletions

View File

@@ -51,6 +51,8 @@
\usepackage{nicematrix}
\usepackage{xpatch}
\usepackage{lmodern}
\usepackage{algorithmic}
\usepackage{algorithm}
\title{Fault Tolerant Quantum Error Correction}
\subtitle{Master's Thesis Midterm Presentation}
@@ -117,6 +119,11 @@
%
%
\DeclareAcronym{sced}{
short=SCED,
long=sub-code ensemble decoding
}
\DeclareAcronym{qec}{
short=QEC,
long=quantum error correction
@@ -157,6 +164,11 @@
long=guided decimation
}
\DeclareAcronym{gdg}{
short=GDG,
long=guided decimation guessing
}
\DeclareAcronym{osd}{
short=OSD,
long=ordered statistics decoding,
@@ -2222,7 +2234,7 @@
]
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
solid, \col]
@@ -2238,7 +2250,7 @@
}
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
densely dashed, \col]
@@ -2300,7 +2312,7 @@
]
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
forget plot, solid, gray, opacity=0.4]
@@ -2325,11 +2337,7 @@
}
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
}
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
solid, \col]
@@ -2345,7 +2353,7 @@
}
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
densely dashed, \col]
@@ -2407,7 +2415,7 @@
]
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
forget plot, solid, gray, opacity=0.4]
@@ -2432,7 +2440,7 @@
}
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
solid, \col]
@@ -2448,7 +2456,7 @@
}
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
densely dashed, \col]
@@ -2523,7 +2531,7 @@
]
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
densely dashed, forget plot, \col]
@@ -2537,7 +2545,7 @@
}
\foreach \F/\col in
{3/kit-orange,2/kit-blue,1/kit-red} {
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
solid, \col]
@@ -2570,16 +2578,55 @@
\end{minipage}
\end{frame}
\begin{frame}
\begin{frame}[fragile]
\frametitle{BP with Guided Decimation}
\begin{itemize}
\item \ac{gd}
\item After every $T$ \ac{bp} iterations, fix most reliable
variable node
\end{itemize}
% \begin{minipage}{0.65\textwidth}
% \centering
% \begin{algorithm}[H]
% \caption{BP with guided decimation (BPGD)
% \citereferencemanual{YLH+24}}
% \begin{algorithmic}[1]
% \STATE \textbf{for} $r=1$ \textbf{to} $n$ \textbf{do}
% \STATE \hspace{5mm} Run $T$ BP iterations
% \STATE $\hat{x} \leftarrow$
% \STATE \textbf{done}
% \end{algorithmic}
% \end{algorithm}
% \end{minipage}%
% \begin{minipage}{0.35\textwidth}
% \centering
% \begin{itemize}
% \item asdf
% \end{itemize}
% \end{minipage}
\vspace*{15mm}
\addreferencesmanual
{YLH+24}{Hanwen Yao et al. ``Belief propagation decoding of quantum
LDPC codes with guided decimation,'' 2024 IEEE International
Symposium on Information Theory (ISIT), 2024.}
\stopreferencesendmanual
\end{frame}
\begin{frame}
\frametitle{BPGD Performance Investigation I}
\frametitle{BPGD Performance: Window Size I}
\vspace*{-18mm}
\begin{itemize}
\item Examine decoding performance for \schlagwort{BPGD}
\item Compare cold- and warm-start decoding
\end{itemize}
\vspace*{5mm}
\only<1>{
\begin{minipage}{0.66\textwidth}
@@ -2906,7 +2953,7 @@
\item \ac{spa} + \ac{gd} decoder
\item Parameters
\begin{itemize}
\item $n_\text{iterations} = 5000$
\item $n_\text{iterations} = n $
\item $F = 1$
\end{itemize}
\end{itemize}
@@ -2915,7 +2962,481 @@
\end{frame}
\begin{frame}
\frametitle{BPGD Performance Investigation II}
\frametitle{BPGD Performance: Window Size II}
\vspace*{-18mm}
\begin{itemize}
\item Examine decoding performance for \schlagwort{BPGD}
\item Compare cold- and warm-start decoding
\end{itemize}
\begin{minipage}{0.66\textwidth}
\centering
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
width=16cm,
height=12cm,
ymode=log,
% xmode=log,
legend style={
cells={anchor=west},
cells={align=left},
},
enlargelimits=false,
ymin=1e-3, ymax=1e-1,
grid=both,
legend pos = north east,
xtick={32,512,1024,2048,4096},
% xtick={0.001,0.0015,...,0.004},
xticklabel style={/pgf/number format/fixed},
xticklabel style={/pgf/number format/precision=4},
scaled x ticks=false,
xlabel={Number of \ac{bp} iterations},
ylabel={Per-round-LER},
extra description/.code={
\node[rotate=90, anchor=south]
at ([xshift=15mm]current axis.east)
{Warm s. (---), Cold s. (- - -)};
},
]
\foreach \W/\col in
{3/kit-red,4/kit-blue,5/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
densely dashed, forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
]
{res/sim/max_iter/WindowingSyndromeSpaGdDecoder/p_0.0025/pass_soft_info_False/F_1/W_\W/LERs.csv};
}
\temp
}
\foreach \W/\col in
{3/kit-red,4/kit-blue,5/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
solid, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
]
{res/sim/max_iter/WindowingSyndromeSpaGdDecoder/p_0.0025/pass_soft_info_True/F_1/W_\W/LERs.csv};
}
\temp
\addlegendentryexpanded{$W = \W$}
}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{minipage}%
\begin{minipage}{0.33\textwidth}
\centering
\begin{itemize}
\item $[[144,12,12]]$-\ac{bb} code, \\
$12$ \ac{se} rounds
\item \ac{spa} + \ac{gd} decoder
\item Parameters
\begin{itemize}
\item $p = 0.0025$
\item $F = 1$
\end{itemize}
\end{itemize}
\end{minipage}
\end{frame}
\begin{frame}
\frametitle{BPGD Performance: Step Size I}
\vspace*{-18mm}
\begin{itemize}
\item Examine decoding performance for \schlagwort{BPGD}
\item Compare cold- and warm-start decoding
\end{itemize}
\vspace*{5mm}
\only<1> {
\begin{minipage}{0.66\textwidth}
\centering
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
width=16cm,
height=12cm,
ymode=log,
legend style={
cells={anchor=west},
cells={align=left},
},
enlargelimits=false,
ymin=1e-5, ymax=2e-1,
grid=both,
legend pos = south east,
xtick={0.001,0.0015,...,0.004},
xticklabel style={/pgf/number format/fixed},
xticklabel style={/pgf/number format/precision=4},
scaled x ticks=false,
xlabel={Physical error rate},
ylabel={Per-round-LER},
extra description/.code={
\node[rotate=90, anchor=south]
at ([xshift=15mm]current axis.east)
{Warm s. (---), Cold s. (- - -)};
},
]
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
solid, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_True/F_\F/W_5/LERs.csv};
}
\temp
\addlegendentryexpanded{$F = \F$}
}
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
densely dashed, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_False/F_\F/W_5/LERs.csv};
}
\temp
}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{minipage}%
\begin{minipage}{0.33\textwidth}
\centering
\begin{itemize}
\item $[[144,12,12]]$-\ac{bb} code, \\
$12$ \ac{se} rounds
\item \ac{spa} + \ac{gd} decoder
\item Parameters
\begin{itemize}
\item $n_\text{iterations} = 32$
\item $W = 5$
\end{itemize}
\end{itemize}
\end{minipage}
}
\only<2> {
\begin{minipage}{0.66\textwidth}
\centering
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
width=16cm,
height=12cm,
ymode=log,
legend style={
cells={anchor=west},
cells={align=left},
},
enlargelimits=false,
ymin=1e-5, ymax=2e-1,
grid=both,
legend pos = south east,
xtick={0.001,0.0015,...,0.004},
xticklabel style={/pgf/number format/fixed},
xticklabel style={/pgf/number format/precision=4},
scaled x ticks=false,
xlabel={Physical error rate},
ylabel={Per-round-LER},
extra description/.code={
\node[rotate=90, anchor=south]
at ([xshift=15mm]current axis.east)
{Warm s. (---), Cold s. (- - -)};
},
]
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
forget plot, solid, gray, opacity=0.4]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_True/F_\F/W_5/LERs.csv};
}
\temp
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
forget plot, densely dashed, gray, opacity=0.4]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_False/F_\F/W_5/LERs.csv};
}
\temp
}
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
solid, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_True/F_\F/W_5/LERs.csv};
}
\temp
\addlegendentryexpanded{$F = \F$}
}
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
densely dashed, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_False/F_\F/W_5/LERs.csv};
}
\temp
}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{minipage}%
\begin{minipage}{0.33\textwidth}
\centering
\begin{itemize}
\item $[[144,12,12]]$-\ac{bb} code, \\
$12$ \ac{se} rounds
\item \ac{spa} + \ac{gd} decoder
\item Parameters
\begin{itemize}
\item $n_\text{iterations} = 200$
\item $W = 5$
\end{itemize}
\end{itemize}
\end{minipage}
}
\only<3> {
\begin{minipage}{0.66\textwidth}
\centering
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
width=16cm,
height=12cm,
ymode=log,
legend style={
cells={anchor=west},
cells={align=left},
},
enlargelimits=false,
ymin=1e-5, ymax=2e-1,
grid=both,
legend pos = south east,
xtick={0.001,0.0015,...,0.004},
xticklabel style={/pgf/number format/fixed},
xticklabel style={/pgf/number format/precision=4},
scaled x ticks=false,
xlabel={Physical error rate},
ylabel={Per-round-LER},
extra description/.code={
\node[rotate=90, anchor=south]
at ([xshift=15mm]current axis.east)
{Warm s. (---), Cold s. (- - -)};
},
]
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
forget plot, solid, gray, opacity=0.4]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_True/F_\F/W_5/LERs.csv};
}
\temp
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
forget plot, densely dashed, gray, opacity=0.4]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_False/F_\F/W_5/LERs.csv};
}
\temp
}
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
solid, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_5000/pass_soft_info_True/F_\F/W_5/LERs.csv};
}
\temp
\addlegendentryexpanded{$F = \F$}
}
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
densely dashed, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_5000/pass_soft_info_False/F_\F/W_5/LERs.csv};
}
\temp
}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{minipage}%
\begin{minipage}{0.33\textwidth}
\centering
\begin{itemize}
\item $[[144,12,12]]$-\ac{bb} code, \\
$12$ \ac{se} rounds
\item \ac{spa} + \ac{gd} decoder
\item Parameters
\begin{itemize}
\item $n_\text{iterations} = 5000$
\item $W = 5$
\end{itemize}
\end{itemize}
\end{minipage}
}
\end{frame}
\begin{frame}
\frametitle{BPGD Performance: Step Size II}
\vspace*{-18mm}
\begin{itemize}
\item Examine decoding performance for \schlagwort{BPGD}
\item Compare cold- and warm-start decoding
\end{itemize}
\begin{minipage}{0.66\textwidth}
\centering
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
width=16cm,
height=12cm,
ymode=log,
% xmode=log,
legend style={
cells={anchor=west},
cells={align=left},
},
enlargelimits=false,
ymin=1e-3, ymax=1e-1,
grid=both,
legend pos = north east,
xtick={32,512,1024,2048,4096},
% xtick={0.001,0.0015,...,0.004},
xticklabel style={/pgf/number format/fixed},
xticklabel style={/pgf/number format/precision=4},
scaled x ticks=false,
xlabel={Number of \ac{bp} iterations},
ylabel={Per-round-LER},
extra description/.code={
\node[rotate=90, anchor=south]
at ([xshift=15mm]current axis.east)
{Warm s. (---), Cold s. (- - -)};
},
]
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
densely dashed, forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
]
{res/sim/max_iter/WindowingSyndromeSpaGdDecoder/p_0.0025/pass_soft_info_False/F_\F/W_5/LERs.csv};
}
\temp
}
\foreach \F/\col in
{3/kit-red,2/kit-blue,1/kit-orange} {
\edef\temp{\noexpand
\addplot+[mark=o, line width=2pt,
solid, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
]
{res/sim/max_iter/WindowingSyndromeSpaGdDecoder/p_0.0025/pass_soft_info_True/F_\F/W_5/LERs.csv};
}
\temp
\addlegendentryexpanded{$F = \F$}
}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{minipage}%
\begin{minipage}{0.33\textwidth}
\centering
\begin{itemize}
\item $[[144,12,12]]$-\ac{bb} code, \\
$12$ \ac{se} rounds
\item \ac{spa} + \ac{gd} decoder
\item Parameters
\begin{itemize}
\item $p = 0.0025$
\item $W = 5$
\end{itemize}
\end{itemize}
\end{minipage}
\end{frame}
% \begin{frame}
@@ -2977,49 +3498,65 @@
\begin{frame}
\frametitle{Conclusion and Outlook}
\vspace*{-10mm}
\vspace*{-7mm}
\begin{minipage}[c]{0.65\textwidth}
\begin{itemize}
\item Problem setting
\item Conclusion
\begin{itemize}
\item Research area: Decoder design for \acp{dem}
under circuit-level noise
\item Research gap: Consideration of \acp{dem} as
\ac{scldpc} codes
\end{itemize}
\vspace*{5mm}
\item Future work
\begin{itemize}
\item Modify existing decoder to pass soft information
\item Test different \ac{bp} variations
\item \ldots
\end{itemize}
\vspace*{5mm}
\item Parameters
\begin{itemize}
\item Use standard depolarizing noise for comparability
\item Compare performance with other \ac{bb}
code decoders
\item Use soft information for warm start \\
$\rightarrow$ \schlagwort{More effective
iterations} with no additional\\
\hspace*{8mm} overhead
\end{itemize}
\visible<2->{
\item Future work
\begin{itemize}
\item Incorporate the sliding-window structure in \\
\schlagwort{decimation strategy} of BPGD
\item Examine other \schlagwort{inner
decoders} (e.g., \\
guided decimation guesssing
\citereferencemanual{GCR24},
neural BP4 \citereferencemanual{MSL$^+$25})
\item Exploit spatially-coupled structure for
\schlagwort{code design} (e.g., increase
coupling width)
\end{itemize}
}
\end{itemize}
\end{minipage}%
\begin{minipage}[c]{0.35\textwidth}
\centering
\pause
\begin{figure}[H]
\centering
\visible<3->{
\begin{figure}[H]
\centering
\vspace*{-25mm}
\begin{tikzpicture}
\node[scale=10] at (0, 0)
{\textcolor{kit-blue}{{\fontfamily{phv}\selectfont ?}}};
\vspace*{-25mm}
\begin{tikzpicture}
\node[scale=10] at (0, 0)
{\textcolor{kit-blue}{{\fontfamily{phv}\selectfont ?}}};
\node[align=center] at (0,-5) {Thank you for your
attention! \\ Any questions?};
\end{tikzpicture}
\end{figure}
\node[align=center] at (0,-5) {Thank you for your
attention! \\ Any questions?};
\end{tikzpicture}
\end{figure}
}
\end{minipage}
\vspace*{15mm}
\addreferencesmanual
{GCR24}{A. Gong, S. Cammerer, and J. M. Renes, ``Toward
Low-latency Iterative Decoding of QLDPC Codes Under
Circuit-Level Noise,'', 2024.
}
{MSL$^+$25}{
S. Miao et al., ``Quaternary Neural Belief Prop.
Decoding of Quantum LDPC Codes with Overcomplete
Check Matrices'', \emph{IEEE Access}, 2025.
}
\stopreferencesmanual
\end{frame}
\appendix
@@ -3207,7 +3744,7 @@
\begin{minipage}{0.57\textwidth}
\begin{itemize}
\item BP guided decimation (BPGD) \\
\item BP with guided decimation (BPGD) \\
$\rightarrow$ Iteratively fix most reliable
variable node (VN)
\vspace*{10mm}