Add vanilla BP figures

This commit is contained in:
2026-04-26 19:28:03 +02:00
parent 7015f9d644
commit 0955cdd14e
2 changed files with 362 additions and 0 deletions

View File

@@ -1040,3 +1040,12 @@
author = {Griffiths, Robert B.},
year = {2001},
}
@misc{gottesman_fault-tolerant_2014,
title = {Fault-{Tolerant} {Quantum} {Computation} with {Constant} {Overhead}},
doi = {10.48550/arXiv.1310.2984},
publisher = {arXiv},
author = {Gottesman, Daniel},
month = jul,
year = {2014},
}

View File

@@ -484,6 +484,359 @@ standard circuit-based depolarizing noise model, etc.)}
\subsection{Belief Propagation with Guided Decimation}
\label{subsec:Belief Propagation with Guided Decimation}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
width=\figwidth,
height=\figheight,
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},
]
\foreach \W/\col/\mark in
{3/KITred/triangle*,4/KITblue/diamond*,5/KITorange/square*} {
\edef\temp{\noexpand
\addplot+[mark=\mark, solid, mark options={fill=\col}, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_False/F_1/W_\W/LERs.csv};
}
\temp
\addlegendentryexpanded{$W = \W$}
}
\addplot+[mark=*, solid, mark options={fill=black}, black]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/whole/SyndromeMinSumDecoder/max_iter_200/LERs.csv};
\addlegendentry{Whole}
\end{axis}
\end{tikzpicture}
\caption{
Comparison of the decoding performance of the $\llbracket
144,12,12 \rrbracket$ \ac{bb} code under min-sum decoding
($200$ iterations) for different window sizes.
The step size was fixed to $F=1$, $12$ rounds of syndrome
extraction were performed and the noise model is
standard circuit-based depolarizing noise.
}
\end{figure}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
width=\figwidth,
height=\figheight,
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=10mm]current axis.east)
{Warm s. (---), Cold s. (- - -)};
},
]
\foreach \W/\col/\mark in
{3/KITred/triangle,4/KITblue/diamond,5/KITorange/square} {
\edef\temp{\noexpand
\addplot+[
mark=\mark, densely dashed, mark options={fill=\col},
\col, forget plot
]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_False/F_1/W_\W/LERs.csv};
}
\temp
}
\foreach \W/\col/\mark in
{3/KITred/triangle*,4/KITblue/diamond*,5/KITorange/square*} {
\edef\temp{\noexpand
\addplot+[mark=\mark, solid, mark options={fill=\col}, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_True/F_1/W_\W/LERs.csv};
}
\temp
\addlegendentryexpanded{$W = \W$}
}
\addplot+[mark=*, solid, mark options={fill=black}, black]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
]
{res/sim/whole/SyndromeMinSumDecoder/max_iter_200/LERs.csv};
\addlegendentry{Whole}
\end{axis}
\end{tikzpicture}
\caption{
Comparison of the decoding performance of cold and warm-start
decoding under the $\llbracket 144,12,12 \rrbracket$ \ac{bb}
code for different window sizes.
Decoding was performed using the min-sum algorithm ($200$
iterations).
The step size was fixed to $F=1$, $12$ rounds of syndrome
extraction were performed and the noise model is
standard circuit-based depolarizing noise.
}
\end{figure}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
width=\figwidth,
height=\figheight,
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},
xticklabels =
{$32$,$512$,$1{,}024$,,$2{,}048$,,$3{,}072$,,$4{,}096$},
xtick={32, 512, 1024, 1536, 2048, 2560, 3072, 3584, 4096},
xticklabel style={/pgf/number format/fixed},
xticklabel style={/pgf/number format/precision=4},
scaled x ticks=false,
xlabel={Number of BP iterations},
ylabel={Per-round-LER},
extra description/.code={
\node[rotate=90, anchor=south]
at ([xshift=10mm]current axis.east)
{Warm s. (---), Cold s. (- - -)};
},
]
\foreach \W/\col/\mark in
{3/KITred/triangle,4/KITblue/diamond,5/KITorange/square} {
\edef\temp{\noexpand
\addplot+[mark=\mark, densely dashed, forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
]
{res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_False/F_1/W_\W/LERs.csv};
}
\temp
}
\foreach \W/\col/\mark in
{3/KITred/triangle*,4/KITblue/diamond*,5/KITorange/square*} {
\edef\temp{\noexpand
\addplot+[mark=\mark, solid, mark options={fill=\col}, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
]
{res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_True/F_1/W_\W/LERs.csv};
}
\temp
\addlegendentryexpanded{$W = \W$}
}
\end{axis}
\end{tikzpicture}
\caption{
Comaprison of cold and warm-start sliding-window
min-sum decoding of the $\llbracket 144, 12, 12 \rrbracket$ \ac{bb} code
under circuit-level noise.
The noise chosen model is standard circuit-based depolarizing
noise and the physical error probabilty was fixed to
$0.0025$.
The step size was set to $F=1$.
}
\end{figure}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
width=\figwidth,
height=\figheight,
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},
xticklabels =
{$32$,$512$,$1{,}024$,,$2{,}048$,,$3{,}072$,,$4{,}096$},
xtick={32, 512, 1024, 1536, 2048, 2560, 3072, 3584, 4096},
xticklabel style={/pgf/number format/fixed},
xticklabel style={/pgf/number format/precision=4},
scaled x ticks=false,
xlabel={Number of BP iterations},
ylabel={Per-round-LER},
extra description/.code={
\node[rotate=90, anchor=south]
at ([xshift=10mm]current axis.east)
{Warm s. (---), Cold s. (- - -)};
},
]
\foreach \F/\col/\mark in
{3/KITred/triangle,2/KITblue/diamond,1/KITorange/square} {
\edef\temp{\noexpand
\addplot+[mark=\mark, densely dashed, forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
]
{res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_False/F_\F/W_5/LERs.csv};
}
\temp
}
\foreach \F/\col/\mark in
{3/KITred/triangle*,2/KITblue/diamond*,1/KITorange/square*} {
\edef\temp{\noexpand
\addplot+[mark=\mark, solid, mark options={fill=\col}, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
]
{res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_True/F_\F/W_5/LERs.csv};
}
\temp
\addlegendentryexpanded{$F = \F$}
}
\end{axis}
\end{tikzpicture}
\caption{
Comaprison of cold and warm-start sliding-window
min-sum decoding of the $\llbracket 144, 12, 12 \rrbracket$ \ac{bb} code
under circuit-level noise.
The noise chosen model is standard circuit-based depolarizing
noise and the physical error probabilty was fixed to
$0.0025$.
The window size was set to $F=5$.
}
\end{figure}
% \begin{figure}[H]
% \centering
% \begin{tikzpicture}
% \begin{axis}[
% width=\figwidth,
% height=\figheight,
% 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=10mm]current axis.east)
% {Warm s. (---), Cold s. (- - -)};
% },
% ]
%
% \foreach \W/\col in
% {3/KITred,4/KITblue,5/KITorange} {
% \edef\temp{\noexpand
% \addplot+[mark=*, solid, mark options={fill=\col}, \col]
% table[
% col sep=comma, x=physical_p,
% y=LER_per_round,
% ]
% {res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_True/F_1/W_\W/LERs.csv};
% }
% \temp
%
% \addlegendentryexpanded{$W = \W$}
%
% \edef\temp{\noexpand
% \addplot+[mark=o, densely dashed, \col, forget plot]
% table[
% col sep=comma, x=physical_p,
% y=LER_per_round,
% ]
% {res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_False/F_1/W_\W/LERs.csv};
% }
% \temp
% }
% \end{axis}
% \end{tikzpicture}
%
% \caption{
% Comparison of the decoding performance of the $\llbracket
% 144,12,12 \rrbracket$ \ac{bb} code under min-sum decoding for
% different window sizes. The noise model standard-circuit
% based depolarizing noise. $12$ rounds of syndrome extraction
% were performed.
% }
% \end{figure}
% Results when passing all info
% Results when passing only messages