\documentclass{article}

\usepackage[a4paper,left=2cm,right=2cm,top=2.5cm,bottom=2cm]{geometry}
\usepackage{float}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{amsfonts}
\usepackage{mleftright}
\usepackage{bm}
\usepackage{tikz}
\usepackage{subcaption}
\usepackage{xcolor}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=newest}
\usepackage{acro}
\usepackage{braket}
\usepackage[
    backend=biber,
    style=ieee,
    sorting=nty,
]{biblatex}
\usepackage{todonotes}
\usepackage{lipsum}

\usetikzlibrary{calc, positioning}

\input{lib/latex-common/common.tex}
\pgfplotsset{colorscheme/matplotlib}

%
%
% Custom commands
%
%

\newcommand{\red}[1]{\textcolor{red}{#1}}
\newcommand{\figwidth}{7.5cm}
\newcommand{\figheight}{6.5cm}

%
%
% Acronyms
%
%

\DeclareAcronym{qec}{
    short=QEC,
    long=quantum error correction
}

\addbibresource{src/proposal/MA.bib}

%
%
% Content
%
%

\title{Results: 2026-04-01}
\author{Andreas Tsouchlos}
\date{}

\begin{document}

\maketitle

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Soft vs Hard Information Decoding}
\label{sec:Soft vs Hard Information Decoding}

\begin{figure}[H]
    \centering

    \begin{subfigure}{0.4\textwidth}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    enlargelimits=false,
                    ymin=5e-3, ymax=2.5e-1,
                    grid=both,
                    xtick={8, 32, 64, 96, 128, 160, 192},
                    xlabel={Max BP iterations},
                    ylabel={Per-round-LER},
                ]
                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[
                            mark=o, line width=1pt, densely dashed, \col,
                        ]
                        table[
                            col sep=comma, x=max_bp_iter,
                            y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=\W/2026-03-30_23-30-38/LERs.csv};
                    }
                    \temp
                }

                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, \col]
                        table[
                            col sep=comma, x=max_bp_iter,
                            y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=\W/2026-03-30_23-30-38/LERs.csv};
                    }
                    \temp
                }

                \addplot+[mark=o, line width=1pt, black]
                table[
                    col sep=comma, x=max_bp_iter,
                    y expr={1 - (1-\noexpand\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=5/2026-03-30_23-30-38/LERs.csv};
            \end{axis}
        \end{tikzpicture}
        \caption{Min-Sum}
    \end{subfigure}%
    \begin{subfigure}{0.6\textwidth}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=5e-3, ymax=2.5e-1,
                    grid=both,
                    legend pos = outer north east,
                    xtick={8, 32, 64, 96, 128, 160, 192},
                    xlabel={Max BP iterations},
                    ylabel={},
                    yticklabels = {},
                ]
                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[
                            mark=o, line width=1pt, densely dashed, \col,
                        ]
                        table[
                            col sep=comma, x=max_bp_iter,
                            y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=\W/2026-03-30_23-30-38/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~hard}
                }

                \foreach \W/\col in {3/scol2,4/scol1,5/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, \col]
                        table[
                            col sep=comma, x=max_bp_iter,
                            y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=\W/2026-03-30_23-30-38/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$W = \W$~soft}
                }

                \addplot+[mark=o, line width=1pt, black]
                table[
                    col sep=comma, x=max_bp_iter,
                    y expr={1 - (1-\noexpand\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=5/2026-03-30_23-30-38/LERs.csv};

                \addlegendentryexpanded{Whole}
            \end{axis}
        \end{tikzpicture}
        \caption{SPA}
    \end{subfigure}%

    \caption{BP simulations for the [[144,12,12]]-BB code with
    $n_\text{rounds}=12,p_\text{phys} = 0.0025,F=1$}
\end{figure}

\begin{figure}[H]
    \centering

    \begin{subfigure}{0.4\textwidth}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    enlargelimits=false,
                    ymin=5e-3, ymax=2.5e-1,
                    grid=both,
                    xtick={8, 32, 64, 96, 128, 160, 192},
                    xlabel={Max BP iterations},
                    ylabel={Per-round-LER},
                ]
                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[
                            mark=o, line width=1pt, densely dashed, \col,
                        ]
                        table[
                            col sep=comma, x=max_bp_iter,
                            y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=\F,+system.W=5/2026-03-30_23-30-38/LERs.csv};
                    }
                    \temp
                }

                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, \col]
                        table[
                            col sep=comma, x=max_bp_iter,
                            y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=\F,+system.W=5/2026-03-30_23-30-38/LERs.csv};
                    }
                    \temp
                }

                \addplot+[mark=o, line width=1pt, black]
                table[
                    col sep=comma, x=max_bp_iter,
                    y expr={1 - (1-\noexpand\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=5/2026-03-30_23-30-38/LERs.csv};
            \end{axis}
        \end{tikzpicture}
        \caption{Min-Sum}
    \end{subfigure}%
    \begin{subfigure}{0.6\textwidth}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=5e-3, ymax=2.5e-1,
                    grid=both,
                    legend pos = outer north east,
                    xtick={8, 32, 64, 96, 128, 160, 192},
                    xlabel={Max BP iterations},
                    ylabel={},
                    yticklabels = {},
                ]
                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[
                            mark=o, line width=1pt, densely dashed, \col,
                        ]
                        table[
                            col sep=comma, x=max_bp_iter,
                            y expr={1 - (1-\noexpand\thisrow{LER_hard})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=\F,+system.W=5/2026-03-30_23-30-38/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~hard}
                }

                \foreach \F/\col in {1/scol2,2/scol1,3/scol0} {
                    \edef\temp{\noexpand
                        \addplot+[mark=o, line width=1pt, \col]
                        table[
                            col sep=comma, x=max_bp_iter,
                            y expr={1 - (1-\noexpand\thisrow{LER_soft})^(1/12)}
                        ]
                        {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=\F,+system.W=5/2026-03-30_23-30-38/LERs.csv};
                    }
                    \temp

                    \addlegendentryexpanded{$F = \F$~soft}
                }

                \addplot+[mark=o, line width=1pt, black]
                table[
                    col sep=comma, x=max_bp_iter,
                    y expr={1 - (1-\noexpand\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_over_iter_param_exploration,+system.F=1,+system.W=5/2026-03-30_23-30-38/LERs.csv};

                \addlegendentryexpanded{Whole}
            \end{axis}
        \end{tikzpicture}
        \caption{SPA}
    \end{subfigure}%

    \caption{BP simulations for the [[144,12,12]]-BB code with
    $n_\text{rounds}=12,p_\text{phys} = 0.0025,W=5$}
\end{figure}

\newpage

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Whole vs Windowed Decoding with Constant Total Number of Iterations}
\label{sec:Whole vs Windowed Decoding with Constant Total Number of Iterations}

%%%%%%%%%%%%%%%%
\subsection{32 Sliding-Window Iterations}
\label{subsec:32 Sliding-Window Iterations}

\begin{minipage}[t]{0.5\textwidth}
    \begin{itemize}
        \item Sliding-window decoding
            \begin{itemize}
                \item $n_\text{iter,BP} = 32$
                \item $W=5, F=1 \Rightarrow n_\text{windows} = 8$
                \item $n_\text{iter,BP}^\text{total} = n_\text{windows}
                    \cdot n_\text{iter,BP} = 256$
            \end{itemize}
    \end{itemize}
\end{minipage}%
\begin{minipage}[t]{0.5\textwidth}
    \begin{itemize}
        \item Whole decoding
            \begin{itemize}
                \item $n_\text{iter,BP} = 256$
            \end{itemize}
    \end{itemize}
\end{minipage}

\begin{figure}[H]
    \centering

    \begin{subfigure}{0.4\textwidth}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    enlargelimits=false,
                    ymin=5e-5, ymax=2.5e-1,
                    grid=both,
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    grid=both,
                    xtick={0.001,0.0015,...,0.004},
                    xlabel={Physical Error Rate},
                    ylabel={Per-round-LER},
                ]

                \addplot+[
                    mark=o, line width=1pt, densely dashed, black,
                ]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=whole_more_iterations,+system.F=1,+system.W=3/2026-04-01_15-41-23/LERs.csv};

                \addplot+[mark=o, line width=1pt, densely dashed, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_hard})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_00-06-26/LERs.csv};

                \addplot+[mark=*, line width=1pt, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_soft})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_00-06-26/LERs.csv};
            \end{axis}
        \end{tikzpicture}
        \caption{Min-Sum}
    \end{subfigure}%
    \begin{subfigure}{0.6\textwidth}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=5e-5, ymax=2.5e-1,
                    grid=both,
                    legend pos = outer north east,
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    grid=both,
                    xtick={0.001,0.0015,...,0.004},
                    xlabel={Physical Error Rate},
                    ylabel={},
                    yticklabels = {},
                ]

                \addplot+[mark=o, line width=1pt, densely dashed, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_hard})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_00-06-26/LERs.csv};

                \addlegendentry{Hard}

                \addplot+[mark=*, line width=1pt, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_soft})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_00-06-26/LERs.csv};

                \addlegendentry{Soft}

                \addplot+[
                    mark=o, line width=1pt, densely dashed, black,
                ]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=whole_more_iterations,+system.F=1,+system.W=3/2026-04-01_15-41-24/LERs.csv};

                \addlegendentryexpanded{Whole}
            \end{axis}
        \end{tikzpicture}
        \caption{SPA}
    \end{subfigure}%

    \caption{BP simulations for the [[144,12,12]]-BB code with
    $n_\text{rounds}=12, W=5, F=1$}
\end{figure}

%%%%%%%%%%%%%%%%
\subsection{200 Sliding-Window Iterations}
\label{subsec:200 Sliding-Window Iterations}

\begin{minipage}[t]{0.5\textwidth}
    \begin{itemize}
        \item Sliding-window decoding
            \begin{itemize}
                \item $n_\text{iter,BP} = 200$
                \item $W=5, F=1 \Rightarrow n_\text{windows} = 8$
                \item $n_\text{iter,BP}^\text{total} = n_\text{windows}
                    \cdot n_\text{iter,BP} = 1600$
            \end{itemize}
    \end{itemize}
\end{minipage}%
\begin{minipage}[t]{0.5\textwidth}
    \begin{itemize}
        \item Whole decoding
            \begin{itemize}
                \item $n_\text{iter,BP} = 1536$
            \end{itemize}
    \end{itemize}
\end{minipage}

\begin{figure}[H]
    \centering

    \begin{subfigure}{0.4\textwidth}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    enlargelimits=false,
                    ymin=5e-5, ymax=2.5e-1,
                    grid=both,
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    grid=both,
                    xtick={0.001,0.0015,...,0.004},
                    xlabel={Physical Error Rate},
                    ylabel={Per-round-LER},
                ]

                \addplot+[
                    mark=o, line width=1pt, densely dashed, black,
                ]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=whole_more_iterations,+system.F=1,+system.W=5/2026-04-01_18-31-29/LERs.csv};

                \addplot+[mark=o, line width=1pt, densely dashed, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_hard})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};

                \addplot+[mark=*, line width=1pt, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_soft})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=minimum_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};
            \end{axis}
        \end{tikzpicture}
        \caption{Min-Sum}
    \end{subfigure}%
    \begin{subfigure}{0.6\textwidth}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                    width=\figwidth,
                    height=\figheight,
                    ymode=log,
                    legend style={
                        cells={anchor=west},
                        cells={align=left},
                    },
                    enlargelimits=false,
                    ymin=5e-5, ymax=2.5e-1,
                    grid=both,
                    legend pos = outer north east,
                    xticklabel style={/pgf/number format/fixed},
                    xticklabel style={/pgf/number format/precision=4},
                    scaled x ticks=false,
                    grid=both,
                    xtick={0.001,0.0015,...,0.004},
                    xlabel={Physical Error Rate},
                    ylabel={},
                    yticklabels = {},
                ]

                \addplot+[mark=o, line width=1pt, densely dashed, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_hard})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};

                \addlegendentry{Hard}

                \addplot+[mark=*, line width=1pt, scol0]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_soft})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=soft_vs_hard_param_exploration,+system.F=1,+system.W=5/2026-03-30_08-57-21/LERs.csv};

                \addlegendentry{Soft}

                \addplot+[
                    mark=o, line width=1pt, densely dashed, black,
                ]
                table[
                    col sep=comma, x=physical_p,
                    y expr={1 - (1-\thisrow{LER_whole})^(1/12)}
                ]
                {/home/andreas/workspace/private/ma-sw-results/outputs/+decoder.bp_method=product_sum,+experiment=whole_more_iterations,+system.F=1,+system.W=3/2026-04-01_18-31-29/LERs.csv};

                \addlegendentryexpanded{Whole}
            \end{axis}
        \end{tikzpicture}
        \caption{SPA}
    \end{subfigure}%

    \caption{BP simulations for the [[144,12,12]]-BB code with
    $n_\text{rounds}=12, W=5, F=1$}
\end{figure}

\end{document}

