\section{Analysis}%
\label{sec:Analysis}


\subsection{Proximal Decoding}%
\label{sub:Ex Proximal Decoding}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
    \frametitle{Proximal Decoding: Bit Error Rate and Performance}
    \vspace*{-0.5cm}
    \begin{itemize}
        \item Comparison of simulation%
            \footnote{(3,6) regular LDPC code with $n=204, k=102$
            \cite[\text{204.33.484}]{mackay_enc}}
            with results of Wadayama et al. \cite{proximal_paper}
    \end{itemize}

    \begin{figure}[H]
        \centering

        \begin{tikzpicture}[scale=0.5]
            \begin{axis}[
                grid=both, grid style={line width=.1pt},
                xlabel={$E_b / N_0$ (dB)}, ylabel={BER},
                ymode=log,
                legend pos=outer north east,
                width=11.5cm,
                height=8cm,
                ymax=1.2, ymin=0.8e-4,
                xtick={1, 2, ..., 5},
                xmin=0.9, xmax=5.6,
                legend columns=2,
            ]

            \addplot [ForestGreen, mark=triangle, dashed, line width=1pt]
                table [x=SNR, y=BER, col sep=comma,
                            discard if not={gamma}{0.15},
                            discard if gt={SNR}{5.5},]
                {res/proximal/2d_ber_fer_dfr_20433484.csv};
            \addlegendentry{$\gamma = 0.15$}
            \addplot [ForestGreen, mark=*, line width=1pt]
                table [x=SNR, y=gamma_0_15, col sep=comma] {res/ber_paper.csv};
            \addlegendentry{$\gamma = 0.15$ (Wadayama et al.)}
            
            \addplot [NavyBlue, mark=triangle, dashed, line width=1pt]
                table [x=SNR, y=BER, col sep=comma,
                            discard if not={gamma}{0.01},
                            discard if gt={SNR}{5.5},]
                {res/proximal/2d_ber_fer_dfr_20433484.csv};
            \addlegendentry{$\gamma = 0.01$}
            \addplot [NavyBlue, mark=*, line width=1pt]
                table [x=SNR, y=gamma_0_01, col sep=comma] {res/ber_paper.csv};
            \addlegendentry{$\gamma = 0.01$ (Wadayama et al.)}
            
            \addplot [RedOrange, mark=triangle, dashed, line width=1pt]
                table [x=SNR, y=BER, col sep=comma,
                            discard if not={gamma}{0.05},
                            discard if gt={SNR}{5.5},]
                {res/proximal/2d_ber_fer_dfr_20433484.csv};
            \addlegendentry{$\gamma = 0.05$}
            \addplot [RedOrange, mark=*, line width=1pt]
                table [x=SNR, y=gamma_0_05, col sep=comma] {res/ber_paper.csv};
            \addlegendentry{$\gamma = 0.05$ (Wadayama et al.)}

            \addplot [RoyalPurple, mark=*, line width=1pt]
                table [x=SNR, y=BP, col sep=comma] {res/ber_paper.csv};
            \addlegendentry{BP}

            \end{axis}
        \end{tikzpicture}
        
        \caption{Simulation results for $\omega = 0.05, K=100$}
        \label{fig:sim_results_prox}
    \end{figure}

    \vspace*{-0.5cm}
    \begin{itemize}
        \item $\mathcal{O}\left(n  \right) $ time complexity - same as BP;
            only multiplication and addition necessary \cite{proximal_paper}
        \item Measured performance: $\sim\SI{10000}{}$ frames/s
            on Intel Core i7-7700HQ @ 2.80GHz; $n=204$
    \end{itemize}
    \vspace{3mm}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
    \frametitle{Proximal Decoding: Choice of $\gamma$}
    \setcounter{footnote}{0} 
    
    \begin{itemize}
        \item Simulation%
            \footnote{(3,6) regular LDPC code with $n=204, k=102$
            \cite[\text{204.33.484}]{mackay_enc}}
            results for different values of $\gamma$
    \end{itemize}

    \begin{figure}[H]
        \centering
        
        \begin{subfigure}[c]{0.5\textwidth}
            \centering
            \begin{tikzpicture}[scale=0.52]
                \begin{semilogyaxis}[xlabel={$E_b / N_0$  (dB)}, ylabel={BER},
                                     grid=both, grid style={line width=.1pt},
                                     legend style={at={(0.05,0.05)},anchor=south west},
                                     ymin=3e-7, ymax=1.5,]
                        \addplot [ForestGreen, mark=*] table [x=SNR, y=BER,
                                        col sep=comma, discard if not={gamma}{0.15}]
                                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
                        \legend{$\gamma = 0.15$}
                        \addplot [NavyBlue, mark=*] table [x=SNR, y=BER,
                                        col sep=comma, discard if not={gamma}{0.01}]
                                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
                        \legend{$\gamma = 0.01$}
                        \addplot [RedOrange, mark=*] table [x=SNR, y=BER,
                                        col sep=comma, discard if not={gamma}{0.05}]
                                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
                        \legend{$\gamma = 0.05$}
                    \legend{$\gamma=0.01$, $\gamma=0.05$, $\gamma=0.15$}
                \end{semilogyaxis}
            \end{tikzpicture}
        \end{subfigure}%
        \begin{subfigure}[c]{0.5\textwidth}
            \centering
        
            \begin{tikzpicture}[scale=0.55]
                \begin{axis}[view={75}{30},
                             zmode=log,
                             xlabel={$E_b / N_0$ (dB)},
                             ylabel={$\gamma$},
                             zlabel={BER},
                             legend pos=outer north east,]

                    \addplot3[surf,
                              mesh/rows=17, mesh/cols=14,
                              colormap/viridis] table [col sep=comma,
                                                       x=SNR, y=gamma, z=BER]
                                                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
                    \addlegendentry{$\gamma = \left[ 0\text{:}0.01\text{:}0.16 \right] $}
                    \addplot3[NavyBlue, line width=1.5] table [col sep=comma,
                                                           discard if not={gamma}{0.01},
                                                           x=SNR, y=gamma, z=BER]
                                                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
                    \addlegendentry{$\gamma = 0.01$}
                    \addplot3[RedOrange, line width=1.5] table [col sep=comma,
                                                          discard if not={gamma}{0.05},
                                                          x=SNR, y=gamma, z=BER]
                                                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
                    \addlegendentry{$\gamma = 0.05$}
                    \addplot3[ForestGreen, line width=1.5] table [col sep=comma,
                                                            discard if not={gamma}{0.15},
                                                            x=SNR, y=gamma, z=BER]
                                                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
                    \addlegendentry{$\gamma = 0.15$}
                \end{axis}
            \end{tikzpicture}
        \end{subfigure}

        \caption{BER for $\omega = 0.05, K=100$}
        \label{fig:ber_3d}
    \end{figure}

    \begin{itemize}
        \item Not great benefit in finding the optimal value for $\gamma$
    \end{itemize}
    \vspace{3mm}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[t]
%    \frametitle{Proximal Decoding: Choice of $\gamma$}
%   
%    \begin{minipage}[c]{0.9\textwidth}
%        \centering
%    
%        \begin{figure}[H]
%            \vspace*{-0.5cm}
%            \hspace*{-0.7cm}
%            \centering
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[view={75}{30},
%                                 zmode=log,
%                                 xlabel={$E_b / N_0$ (dB)},
%                                 ylabel={$\gamma$},
%                                 zlabel={BER},]
%                        \addplot3[surf,
%                                  mesh/rows=17, mesh/cols=10,
%                                  colormap/viridis] table [col sep=comma,
%                                                           x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_963965.csv};
%                        \addplot3[RedOrange, line width=1.5] table[col sep=comma,
%                                                             discard if not={gamma}{0.05},
%                                                             x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_963965.csv};
%                        \addplot3[NavyBlue, line width=1.5] table[col sep=comma,
%                                                              discard if not={gamma}{0.01},
%                                                              x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_963965.csv};
%                        \addplot3[ForestGreen, line width=1.5] table[col sep=comma,
%                                                               discard if not={gamma}{0.15},
%                                                               x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_963965.csv};
%                    \end{axis}
%                \end{tikzpicture}
%                \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$ \cite[\text{96.3.965}]{mackay_enc}}
%            \end{subfigure}%
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[view={75}{30},
%                                 zmode=log,
%                                 xlabel={$E_b/N_0$ (dB)},
%                                 ylabel={$\gamma$},
%                                 zlabel={BER},]
%                        \addplot3[surf,
%                                  mesh/rows=17, mesh/cols=14,
%                                  colormap/viridis] table [col sep=comma,
%                                                           x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                        \addplot3[RedOrange, line width=1.5] table[col sep=comma,
%                                                             discard if not={gamma}{0.05},
%                                                             x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                        \addplot3[NavyBlue, line width=1.5] table[col sep=comma,
%                                                              discard if not={gamma}{0.01},
%                                                              x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                        \addplot3[ForestGreen, line width=1.5] table[col sep=comma,
%                                                               discard if not={gamma}{0.15},
%                                                               x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                    \end{axis}
%                \end{tikzpicture}
%            \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc}}
%            \end{subfigure}%
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[view={75}{30},
%                                 zmode=log,
%                                 xlabel={$E_b / N_0$ (dB)},
%                                 ylabel={$\gamma$},
%                                 zlabel={BER},]
%                        \addplot3[surf,
%                                  mesh/rows=17, mesh/cols=10,
%                                  colormap/viridis] table [col sep=comma,
%                                                           x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_40833844.csv};
%                        \addplot3[RedOrange, line width=1.5] table[col sep=comma,
%                                                             discard if not={gamma}{0.05},
%                                                             x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_40833844.csv};
%                        \addplot3[NavyBlue, line width=1.5] table[col sep=comma,
%                                                              discard if not={gamma}{0.01},
%                                                              x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_40833844.csv};
%                        \addplot3[ForestGreen, line width=1.5] table[col sep=comma,
%                                                               discard if not={gamma}{0.15},
%                                                               x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_40833844.csv};
%                    \end{axis}
%                \end{tikzpicture}
%            \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$ \cite[\text{408.33.844}]{mackay_enc}}
%            \end{subfigure}
%            \hspace*{-0.7cm}
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[view={75}{30},
%                                 zmode=log,
%                                 xlabel={$E_b / N_0$ (dB)},
%                                 ylabel={$\gamma$},
%                                 zlabel={BER},]
%                        \addplot3[surf,
%                                  mesh/rows=17, mesh/cols=10,
%                                  colormap/viridis] table [col sep=comma,
%                                                           x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
%                        \addplot3[RedOrange, line width=1.5] table[col sep=comma,
%                                                             discard if not={gamma}{0.05},
%                                                             x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
%                        \addplot3[NavyBlue, line width=1.5] table[col sep=comma,
%                                                              discard if not={gamma}{0.01},
%                                                              x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
%                        \addplot3[ForestGreen, line width=1.5] table[col sep=comma,
%                                                               discard if not={gamma}{0.15},
%                                                               x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
%                    \end{axis}
%                \end{tikzpicture}
%                \caption{BCH code with $n=31, k=26$\\[2\baselineskip]}
%            \end{subfigure}%
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[view={75}{30},
%                                 zmode=log,
%                                 xlabel={$E_b / N_0$ (dB)},
%                                 ylabel={$\gamma$},
%                                 zlabel={BER},]
%                        \addplot3[surf,
%                                  mesh/rows=17, mesh/cols=10,
%                                  colormap/viridis] table [col sep=comma,
%                                                           x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_20455187.csv};
%                        \addplot3[RedOrange, line width=1.5] table[col sep=comma,
%                                                             discard if not={gamma}{0.05},
%                                                             x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_20455187.csv};
%                        \addplot3[NavyBlue, line width=1.5] table[col sep=comma,
%                                                              discard if not={gamma}{0.01},
%                                                              x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_20455187.csv};
%                        \addplot3[ForestGreen, line width=1.5] table[col sep=comma,
%                                                               discard if not={gamma}{0.15},
%                                                               x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_20455187.csv};
%                    \end{axis}
%                \end{tikzpicture}
%            \caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$ \cite[\text{204.55.187}]{mackay_enc}}
%            \end{subfigure}%
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[view={75}{30},
%                                 zmode=log,
%                                 xlabel={$E_b / N_0$ (dB)},
%                                 ylabel={$\gamma$},
%                                 zlabel={BER},]
%                        \addplot3[surf,
%                                  mesh/rows=17, mesh/cols=10,
%                                  colormap/viridis] table [col sep=comma,
%                                                           x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
%                        \addplot3[RedOrange, line width=1.5] table[col sep=comma,
%                                                             discard if not={gamma}{0.05},
%                                                             x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
%                        \addplot3[NavyBlue, line width=1.5] table[col sep=comma,
%                                                              discard if not={gamma}{0.01},
%                                                              x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
%                        \addplot3[ForestGreen, line width=1.5] table[col sep=comma,
%                                                               discard if not={gamma}{0.15},
%                                                               x=SNR, y=gamma, z=BER]
%                                                        {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
%                    \end{axis}
%                \end{tikzpicture}
%            \caption{LDPC code (Progressive Edge Growth Construction) with $n=504, k=252$ \cite[\text{PEGReg252x504}]{mackay_enc}}
%            \end{subfigure}%
%        \end{figure}
%    \end{minipage}%
%    \begin{minipage}[c]{0.1\textwidth}
%        \centering
%
%        \begin{figure}[H]
%            \vspace*{-1.5cm}
%            \hspace*{-0.75cm}
%            \centering
%            \begin{tikzpicture}[scale=0.7]
%                \begin{axis}[hide axis,
%                             xmin=10, xmax=50,
%                             ymin=0, ymax=0.4,
%                             legend style={draw=white!15!black,legend cell align=left}]
%                    \addlegendimage{surf, colormap/viridis}
%                    \addlegendentry{$\gamma = \left[ 0\text{ : }0.01\text{ : }0.16 \right] $};
%                    \addlegendimage{NavyBlue, line width=1.5pt}
%                    \addlegendentry{$\gamma = 0.01$};
%                    \addlegendimage{RedOrange, line width=1.5pt}
%                    \addlegendentry{$\gamma = 0.05$};
%                    \addlegendimage{ForestGreen, line width=1.5pt}
%                    \addlegendentry{$\gamma = 0.15$};
%                \end{axis}
%            \end{tikzpicture}
%        \end{figure}
%    \end{minipage}
%\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t, fragile]
    \frametitle{Proximal Decoding: Frame Error Rate}
    \setcounter{footnote}{0} 

    \begin{itemize}
        \item Analysis of simulated%
            \footnote{(3,6) regular LDPC code with $n=204, k=102$
            \cite[\text{204.33.484}]{mackay_enc}}
            BER and FER
    \end{itemize}

    \begin{minipage}{.4\textwidth}
        \centering

        \begin{figure}[htpb]
            \centering

            \begin{algorithm}[caption={}, label={}]
$\boldsymbol{s} \leftarrow \boldsymbol{0}$
for $K$ iterations do
    $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $
    $\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $
    $\boldsymbol{\hat{x}} \leftarrow \text{sign}\left( \boldsymbol{s} \right) $
    if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ do
        return $\boldsymbol{\hat{c}}$
    end if
end for
return $\boldsymbol{\hat{c}}$
            \end{algorithm}

            \caption{Proximal decoding algorithm \cite{proximal_paper}}
        \end{figure}
    \end{minipage}%
    \begin{minipage}{.6\textwidth}
        \centering
        \begin{figure}[H]
            \vspace*{-8mm}
            \centering
        
            \begin{tikzpicture}[scale=0.42]
                \begin{axis}[
                    grid=both,
                    xlabel={$E_b / N_0$ (dB)}, ylabel={BER},
                    ymode=log,
                    legend style={at={(0.05,0.05)},anchor=south west},
                    ymax=1.5, ymin=3e-7,
                ]
                \addplot [ForestGreen, mark=*]
                    table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addlegendentry{$\gamma = 0.15$}
                \addplot [NavyBlue, mark=*]
                    table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addlegendentry{$\gamma = 0.01$}
                \addplot [RedOrange, mark=*]
                    table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addlegendentry{$\gamma = 0.05$}
                \end{axis}
            \end{tikzpicture}
            \begin{tikzpicture}[scale=0.42]
                \begin{axis}[
                    grid=both,
                    xlabel={$E_b / N_0$ (dB)}, ylabel={FER},
                    ymode=log,
                    legend style={at={(0.05,0.05)},anchor=south west},
                    ymax=1.5, ymin=3e-7,
                ]
                \addplot [ForestGreen, mark=*]
                     table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addlegendentry{$\gamma = 0.15$}
                \addplot [NavyBlue, mark=*]
                     table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addlegendentry{$\gamma = 0.01$}
                \addplot [RedOrange, mark=*]
                     table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addlegendentry{$\gamma = 0.05$}
                \end{axis}
            \end{tikzpicture}\\
            \begin{tikzpicture}[scale=0.42]
                \begin{axis}[
                    grid=both,
                    xlabel={$E_b / N_0$ (dB)}, ylabel={Decoding Failure Rate},
                    ymode=log,
                    legend style={at={(0.05,0.05)},anchor=south west},
                    ymax=1.5, ymin=3e-7,
                ]
                \addplot [ForestGreen, mark=*]
                     table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addlegendentry{$\gamma = 0.15$}
                \addplot [NavyBlue, mark=*]
                     table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addlegendentry{$\gamma = 0.01$}
                \addplot [RedOrange, mark=*]
                     table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addlegendentry{$\gamma = 0.05$}
                \end{axis}
            \end{tikzpicture}
        
            \caption{Simulation results for $\omega = 0.05, K=100$}
            \label{fig:simulation_results_ber_fer_dfr}
        \end{figure}
    \end{minipage} 
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
    \frametitle{Proximal Decoding: Oscillation of Estimate}
    \setcounter{footnote}{0} 

    \begin{itemize}
        \item $\nabla L \left( \boldsymbol{y} \mid \tilde{\boldsymbol{x}} \right) $
            and $\nabla h \left( \tilde{\boldsymbol{x}} \right) $ generally end up
            in an equilibrium
    \end{itemize}

    \begin{figure}[H]
        \begin{minipage}[c]{0.25\textwidth}
            \centering

            \begin{tikzpicture}[scale = 0.35]
                \begin{axis}[
                    grid=both,
                    xlabel={Iterations},
                    width=8cm,
                    height=3cm,
                    scale only axis,
                    xtick={0, 50, ..., 200},
                    xticklabels={0, 25, ..., 100},
                ]
                    \addplot [NavyBlue, mark=none, line width=1]
                        table [col sep=comma, x=k, y=comb_r_s_1]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [ForestGreen, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_L_1]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [RedOrange, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_h_1]
                        {res/proximal/comp_bch_7_4_combined.csv};
                    \addlegendentry{est}
                    \addlegendentry{$\left(\nabla L \right)_2$}
                    \addlegendentry{$\left(\nabla h \right)_2 $}
                \end{axis}
            \end{tikzpicture}\\
            \begin{tikzpicture}[scale = 0.35]
                \begin{axis}[
                    grid=both,
                    xlabel={Iterations},
                    width=8cm,
                    height=3cm,
                    scale only axis,
                    xtick={0, 50, ..., 200},
                    xticklabels={0, 25, ..., 100},
                ]
                    \addplot [NavyBlue, mark=none, line width=1]
                        table [col sep=comma, x=k, y=comb_r_s_2]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [ForestGreen, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_L_2]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [RedOrange, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_h_2]
                        {res/proximal/comp_bch_7_4_combined.csv};
                    \addlegendentry{est}
                    \addlegendentry{$\left(\nabla L \right)_3$}
                    \addlegendentry{$\left(\nabla h \right)_3 $}
                \end{axis}
            \end{tikzpicture}\\
            \begin{tikzpicture}[scale = 0.35]
                \begin{axis}[
                    grid=both,
                    xlabel={Iterations},
                    width=8cm,
                    height=3cm,
                    scale only axis,
                    xtick={0, 50, ..., 200},
                    xticklabels={0, 25, ..., 100},
                ]
                    \addplot [NavyBlue, mark=none, line width=1]
                        table [col sep=comma, x=k, y=comb_r_s_3]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [ForestGreen, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_L_3]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [RedOrange, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_h_3]
                        {res/proximal/comp_bch_7_4_combined.csv};
                    \addlegendentry{est}
                    \addlegendentry{$\left(\nabla L \right)_4$}
                    \addlegendentry{$\left(\nabla h \right)_4 $}
                \end{axis}
            \end{tikzpicture}
        \end{minipage}%
        \begin{minipage}[c]{0.5\textwidth}
            \vspace*{-1cm}
            \centering
    
            \begin{tikzpicture}[scale = 0.85, spy using outlines={circle, magnification=6,
                                                                  connect spies}]
                \begin{axis}[
                    grid=both,
                    xlabel={Iterations},
                    width=8cm,
                    height=3cm,
                    scale only axis,
                    xtick={0, 50, ..., 200},
                    xticklabels={0, 25, ..., 100},
                ]
                    \addplot [NavyBlue, mark=none, line width=1]
                        table [col sep=comma, x=k, y=comb_r_s_0]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [ForestGreen, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_L_0]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [RedOrange, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_h_0]
                        {res/proximal/comp_bch_7_4_combined.csv};
                    \addlegendentry{est}
                    \addlegendentry{$\left(\nabla L \right)_1$}
                    \addlegendentry{$\left(\nabla h \right)_1 $}
                    
                    \coordinate (spypoint) at (axis cs:100,0.53);
                    \coordinate (magnifyglass) at (axis cs:175,2);
                \end{axis}
                \spy [black, size=2cm] on (spypoint)
                   in node[fill=white] at (magnifyglass);
            \end{tikzpicture}
        \end{minipage}%
        \begin{minipage}[c]{0.25\textwidth}
            \centering

            \begin{tikzpicture}[scale = 0.35]
                \begin{axis}[
                    grid=both,
                    xlabel={Iterations},
                    width=8cm,
                    height=3cm,
                    scale only axis,
                    xtick={0, 50, ..., 200},
                    xticklabels={0, 25, ..., 100},
                ]
                    \addplot [NavyBlue, mark=none, line width=1]
                        table [col sep=comma, x=k, y=comb_r_s_4]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [ForestGreen, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_L_4]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [RedOrange, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_h_4]
                        {res/proximal/comp_bch_7_4_combined.csv};
                    \addlegendentry{est}
                    \addlegendentry{$\left(\nabla L \right)_5$}
                    \addlegendentry{$\left(\nabla h \right)_5 $}
                \end{axis}
            \end{tikzpicture}\\
            \begin{tikzpicture}[scale = 0.35]
                \begin{axis}[
                    grid=both,
                    xlabel={Iterations},
                    width=8cm,
                    height=3cm,
                    scale only axis,
                    xtick={0, 50, ..., 200},
                    xticklabels={0, 25, ..., 100},
                ]
                    \addplot [NavyBlue, mark=none, line width=1]
                        table [col sep=comma, x=k, y=comb_r_s_5]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [ForestGreen, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_L_5]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [RedOrange, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_h_5]
                        {res/proximal/comp_bch_7_4_combined.csv};
                    \addlegendentry{est}
                    \addlegendentry{$\left(\nabla L \right)_6$}
                    \addlegendentry{$\left(\nabla h \right)_6 $}
                \end{axis}
            \end{tikzpicture}\\
            \begin{tikzpicture}[scale = 0.35]
                \begin{axis}[
                    grid=both,
                    xlabel={Iterations},
                    width=8cm,
                    height=3cm,
                    scale only axis,
                    xtick={0, 50, ..., 200},
                    xticklabels={0, 25, ..., 100},
                ]
                    \addplot [NavyBlue, mark=none, line width=1]
                        table [col sep=comma, x=k, y=comb_r_s_6]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [ForestGreen, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_L_6]
                            {res/proximal/comp_bch_7_4_combined.csv};
                    \addplot [RedOrange, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_h_6]
                        {res/proximal/comp_bch_7_4_combined.csv};
                    \addlegendentry{est}
                    \addlegendentry{$\left(\nabla L \right)_7$}
                    \addlegendentry{$\left(\nabla h \right)_7 $}
                \end{axis}
            \end{tikzpicture}
        \end{minipage}

        \caption{Internal variables of proximal decoder
                 as a function of the number of iterations ($n=7$)\footnotemark}

        \footnotetext{A single decoding is shown, using the BCH$\left( 7,4 \right) $ code;
                      $\gamma = 0.05, \omega = 0.05, E_b / N_0 = \SI{5}{dB}$}
    \end{figure}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
    \frametitle{Proximal Decoding: Visualization of Gradients}
    \setcounter{footnote}{0}

    \begin{figure}[H]
        \centering

        \begin{subfigure}[c]{0.5\textwidth}

            \centering

            \begin{tikzpicture}[scale=0.8]
                \begin{axis}[xmin = -1.25, xmax=1.25,
                             ymin = -1.25, ymax=1.25,
                             xlabel={$x_1$}, ylabel={$x_2$},
                             grid=major, grid style={dotted},
                             view={0}{90}]
                    \addplot3[point meta=\thisrow{grad_norm},
                              point meta min=1,
                              point meta max=3,
                              quiver={u=\thisrow{grad_0},
                                      v=\thisrow{grad_1},
                                      scale arrows=.05,
                                      every arrow/.append style={%
                                        line width=.3+\pgfplotspointmetatransformed/1000,
                                        -{Latex[length=0pt 5,width=0pt 3]}
                                      },
                                  },
                                quiver/colored = {mapped color},
                                colormap/rocket,
                                -stealth,
                              ]
                                table[col sep=comma] {res/proximal/2d_grad_L.csv};
                \end{axis}
            \end{tikzpicture}

            \caption{$\nabla L \left(\boldsymbol{y} \mid \tilde{\boldsymbol{x}} \right)$ 
                for a repetition code with $n=2$\footnotemark}
        \end{subfigure}%
        \begin{subfigure}[c]{0.5\textwidth}
            \centering

            \begin{tikzpicture}[scale=0.8]
                \begin{axis}[xmin = -1.25, xmax=1.25,
                             ymin = -1.25, ymax=1.25,
                             xlabel={$x_1$}, ylabel={$x_2$},
                             grid=major, grid style={dotted},
                             view={0}{90}]
                    \addplot3[point meta=\thisrow{grad_norm},
                              point meta min=1,
                              point meta max=4,
                              quiver={u=\thisrow{grad_0},
                                      v=\thisrow{grad_1},
                                      scale arrows=.03,
                                      every arrow/.append style={%
                                        line width=.3+\pgfplotspointmetatransformed/1000,
                                        -{Latex[length=0pt 5,width=0pt 3]}
                                      },
                                  },
                                quiver/colored = {mapped color},
                                colormap/rocket,
                                -stealth,
                              ]
                                table[col sep=comma] {res/proximal/2d_grad_h.csv};
                \end{axis}
            \end{tikzpicture}

            \caption{$\nabla h \left( \tilde{\boldsymbol{x}} \right) $ for a repetition code
                with $n=2$}
        \end{subfigure}%
    \end{figure}

    \footnotetext{In an AWGN Channel $\nabla L\left( \boldsymbol{y} \mid
            \tilde{\boldsymbol{x}}\right)
                    \propto \left( \tilde{\boldsymbol{x}} - \boldsymbol{y} \right)$
                    \cite[Sec. 4.1]{proximal_paper}}

\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
    \frametitle{Proximal Decoder: Oscillation of $\nabla h\left( \tilde{\boldsymbol{x}} \right) $}
    \setcounter{footnote}{0} 
   
    \begin{itemize}
        \item For larger $n$, the gradient itself starts to oscillate
        \item The amplitude of the oscillation seems to be highly correlated
              with the probability of a bit error
    \end{itemize}

    \begin{figure}
        \centering

        \begin{subfigure}[c]{0.5\textwidth}
            \centering

            \begin{tikzpicture}[scale = 0.85]
                \begin{axis}[
                    grid=both,
                    xlabel={Iterations},
                    width=8cm,
                    height=3cm,
                    scale only axis,
                    xtick={0, 100, ..., 400},
                    xticklabels={0, 50, ..., 200},
                ]
                    \addplot [NavyBlue, mark=none, line width=1]
                        table [col sep=comma, x=k, y=comb_r_s_0]
                            {res/proximal/extreme_components_20433484_combined.csv};
                    \addplot [ForestGreen, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_L_0]
                            {res/proximal/extreme_components_20433484_combined.csv};
                    \addplot [RedOrange, mark=none, line width=1]
                        table [col sep=comma, x=k, y=grad_h_0]
                            {res/proximal/extreme_components_20433484_combined.csv};
                    \addlegendentry{est}
                    \addlegendentry{$\left(\nabla L \right)_1$}
                    \addlegendentry{$\left(\nabla h \right)_1$}
                \end{axis}
            \end{tikzpicture}

            \caption{Internal variables of proximal decoder as a function of the iteration
                     ($n=204$)\footnotemark}
        \end{subfigure}%
        \begin{subfigure}[c]{0.5\textwidth}
            \centering

            \begin{tikzpicture}[scale = 0.85]
                \begin{axis}[
                    point meta min = -1,
                    point meta max = 1,
                    grid=both,
                    xlabel={$Var\left( \nabla h\left( \tilde{\boldsymbol{x}} \right)  \right) $},
                    ylabel={Bit error (bool)},
                    ytick={0, 1},
                    width=8cm,
                    height=3cm,
                    scale only axis,
%                    colormap/viridis,
                ]
                    \addplot [RoyalPurple, only marks,]
                        table [col sep=comma, x=grad_h_vars, y=bit_error]
                            {res/proximal/extreme_components_20433484_variance.csv};
                \end{axis}
            \end{tikzpicture}

            \caption{Correlation between bit error and amplitude of oscillation}
        \end{subfigure}
    \end{figure}


    \footnotetext{A single decoding is shown, using a (3,6) regular LDPC code
                  with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc};
                  $\gamma = 0.05, \omega = 0.05, E_b / N_0 = \SI{5}{dB}$}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\newcommand{\tikzbracemark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
%
%\newcommand*{\AddNote}[4]{%
%    \begin{tikzpicture}[overlay, remember picture]
%        \draw [decoration={brace,amplitude=0.5em},decorate,ultra thick]
%            ($(#3)!([yshift=1.5ex]#1)!($(#3)-(0,1)$)$) --  
%            ($(#3)!(#2)!($(#3)-(0,1)$)$)
%                node [align=center, text width=2cm, pos=0.5, anchor=west] {#4};
%    \end{tikzpicture}
%}%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[t, fragile]
%    \frametitle{Proximal Decoding: Improvement using ``ML-on-List''}
%    \setcounter{footnote}{0} 
%
%    \begin{itemize}
%        \item Comparison of proximal \& hybrid-proximal-ML\\
%            decoding simulation
%            \footnote{(3,6) regular LDPC Code with $n=204, k=102$
%                \cite[Code: 204.33.484]{mackay_enc}}
%            results
%    \end{itemize}
%
%    \begin{minipage}{.4\textwidth}
%        \centering
%
%        \begin{algorithm}[caption={}, label={},
%            basicstyle=\fontsize{6.5}{7.5}\selectfont
%            ]
%$\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$$\hspace{4.185cm}\tikzbracemark{prox-start}$
%for $k=0$ to $K-1$ do
%    $\boldsymbol{r}^{\left( k+1 \right)} = \boldsymbol{s}^{(k)} - \omega \nabla L \left( \boldsymbol{s}^{(k)}; \boldsymbol{y} \right) $
%    Compute $\nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right)$
%    $\boldsymbol{s}^{\left( k+1 \right)} = \boldsymbol{r}^{(k+1)} - \gamma \nabla h\left( \boldsymbol{r}^{\left( k+1 \right) } \right) $
%    $\boldsymbol{\hat{x}} = \text{sign}\left( \boldsymbol{s}^{\left( k+1 \right) } \right) $
%    If $\boldsymbol{\hat{x}}$ passes the parity check condition, output $\boldsymbol{\hat{x}}$
%end for $\tikzbracemark{prox-end}$
%Find $N$ most probably wrong bits $\hspace{2cm}\tikzbracemark{ml-start}$
%Generate variations $\boldsymbol{\tilde{x}}_n$ of $\boldsymbol{\hat{x}}$ with the $N$ bits modified
%Compute $d\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right) \forall n \in \left[ 1 : N-1 \right] $
%Output $\boldsymbol{\tilde{x}}_n$ with lowest $d\left( \boldsymbol{ \tilde{x}}_n, \boldsymbol{\hat{x}} \right)$ $\tikzbracemark{ml-end}$
%        \end{algorithm}
%
%    \AddNote{prox-start}{prox-end}{prox-start}{\small Proximal\\Decoding}
%    \AddNote{ml-start}{ml-end}{ml-start}{\small ML-on-List}
%    \end{minipage}%
%    \begin{minipage}{.6\textwidth}
%        \centering
%        \begin{figure}[H]
%            \centering
%            \vspace*{-12mm}
%        
%            \begin{tikzpicture}[scale=0.42]
%                \begin{axis}[
%                    grid=both,
%                    xlabel={SNR}, ylabel={BER},
%                    ymode=log,
%                    legend style={at={(0.05,0.05)},anchor=south west},
%                    ymax=1.5, ymin=3e-8,
%                ]
%
%                \addplot table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
%                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                \addlegendentry{proximal}
%                \addplot table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
%                    {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%                \addlegendentry{hybrid prox. \& ML}
%                \end{axis}
%            \end{tikzpicture}
%            \begin{tikzpicture}[scale=0.42]
%                \begin{axis}[
%                    grid=both,
%                    xlabel={SNR}, ylabel={FER},
%                    ymode=log,
%                    legend style={at={(0.05,0.05)},anchor=south west},
%                    ymax=1.5, ymin=3e-8,
%                ]
%
%                \addplot table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                \addlegendentry{proximal}
%                \addplot table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                    {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%                \addlegendentry{hybrid prox. \& ML}
%                \end{axis}
%            \end{tikzpicture}\\
%            \begin{tikzpicture}[scale=0.42]
%                \begin{axis}[
%                    grid=both,
%                    xlabel={SNR}, ylabel={Decoding Failure Rate},
%                    ymode=log,
%                    legend style={at={(0.05,0.05)},anchor=south west},
%                    ymax=1.5, ymin=3e-8,
%                ]
%
%                \addplot table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
%                    {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                \addlegendentry{proximal}
%                \addplot table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
%                    {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%                \addlegendentry{hybrid prox. \& ML}
%                \end{axis}
%            \end{tikzpicture}
%        
%            \caption{Simulation results for $\gamma = 0.05, \omega = 0.05, K=200, N=12$}
%            \label{fig:simulation_results_hybrid}
%        \end{figure}
%    \end{minipage} 
%\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t, fragile]
    \frametitle{Proximal Decoding: Improvement using \\``ML-in-the-List''}
    \setcounter{footnote}{0} 

    \vspace*{-0.7cm}

    \begin{itemize}
        \item Improvement of proximal decoding by adding an ``ML-in-the-List'' step after
            iterating
    \end{itemize}

    \begin{minipage}[t]{.48\textwidth}
        \centering

        \begin{figure}
           \centering

           \begin{algorithm}[caption={}, label={}, basicstyle=\fontsize{9.5}{11.5}\selectfont]
$\boldsymbol{s} \leftarrow \boldsymbol{0}$
for $K$ iterations do
    $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $
    $\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $
    $\boldsymbol{\hat{x}} \leftarrow \text{sign}\left( \boldsymbol{s} \right) $
    if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$ do
        return $\boldsymbol{\hat{c}}$
    end if
end for
return $\boldsymbol{\hat{c}}$
            \end{algorithm}

            \caption{Proximal decoding algorithm \cite{proximal_paper}}
        \end{figure}

    \end{minipage}%
    \hfill\begin{minipage}[t]{.48\textwidth}
        \centering
        \begin{figure}
           \centering 
            
           \begin{algorithm}[caption={}, label={}, basicstyle=\fontsize{9.5}{11.5}\selectfont]
$\boldsymbol{s} \leftarrow \boldsymbol{0}$
for $K$ iterations do
    $\boldsymbol{r} \leftarrow \boldsymbol{s} - \omega \nabla L \left( \boldsymbol{y} \mid \boldsymbol{s} \right) $
    $\boldsymbol{s} \leftarrow \boldsymbol{r} - \gamma \nabla h\left( \boldsymbol{r} \right) $
    $\boldsymbol{\hat{x}} \leftarrow \text{sign}\left( \boldsymbol{s} \right) $
    if $\boldsymbol{H}\boldsymbol{\hat{c}} = \boldsymbol{0}$
        return $\boldsymbol{\hat{c}}$
    end if
end for
$\textcolor{KITblue}{\text{Find }N\text{ most probably wrong bits.}}$
$\textcolor{KITblue}{\text{Generate variations } \boldsymbol{\tilde{c}}_l\text{ of }\boldsymbol{\hat{c}}\text{ with the }N\text{ bits modified.}}$
$\textcolor{KITblue}{\text{Compute }d_H\left( \boldsymbol{ \tilde{c}}_l, \boldsymbol{\hat{c}} \right) \text{ for all valid codewords } \boldsymbol{\tilde{c}}_l}$
$\textcolor{KITblue}{\text{Output }\boldsymbol{\tilde{c}}_l\text{ with lowest }d_H\left( \boldsymbol{ \tilde{c}}_l, \boldsymbol{\hat{c}} \right)}$
            \end{algorithm}

            \caption{Improved proximal decoding algorithm}
        \end{figure}
    \end{minipage} 
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
    \frametitle{Proximal Decoding: Improvement using \\``ML-in-the-List''}
   
    \vspace{-0.5cm}

    \begin{itemize}
        \item Comparison of proximal \& improved (correction of $N = \SI{12}{\bit}$)
            decoding simulation%
            \footnote{(3,6) regular LDPC code with $n=204, k=102$
                \cite[Code: 204.33.484]{mackay_enc}}
            results
    \end{itemize}

    \begin{figure}[H]
        \centering
    
        \begin{tikzpicture}[scale=0.55]
            \begin{axis}[
                grid=both,
                xlabel={$E_b / N_0$}, ylabel={BER},
                ymode=log,
                legend columns=2,
                legend style={at={(0.5,-0.45)},anchor=south},
                ymax=1.5, ymin=3e-8,
            ]
                \addplot[ForestGreen, mark=*, solid]
                    table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addplot[Emerald, mark=triangle, densely dashed]
                    table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.15}]
                        {res/hybrid/2d_ber_fer_dfr_20433484.csv};
                
                \addplot[NavyBlue, mark=*, solid]
                    table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addplot[RoyalPurple, mark=triangle, densely dashed]
                    table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.01}]
                        {res/hybrid/2d_ber_fer_dfr_20433484.csv};

                \addplot[RedOrange, mark=*, solid]
                    table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addplot[red, mark=triangle, densely dashed]
                    table [x=SNR, y=BER, col sep=comma, discard if not={gamma}{0.05}]
                        {res/hybrid/2d_ber_fer_dfr_20433484.csv};
            \end{axis}
        \end{tikzpicture}
        \begin{tikzpicture}[scale=0.55]
            \begin{axis}[
                grid=both,
                xlabel={$E_b / N_0$}, ylabel={FER},
                ymode=log,
                legend columns=2,
                legend style={at={(0.5,-0.45)},anchor=south},
                ymax=1.5, ymin=3e-8,
            ]

                \addplot[ForestGreen, mark=*, solid]
                    table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addplot[Emerald, mark=triangle, densely dashed]
                    table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
                        {res/hybrid/2d_ber_fer_dfr_20433484.csv};
                
                \addplot[NavyBlue, mark=*, solid]
                    table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addplot[RoyalPurple, mark=triangle, densely dashed]
                    table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
                        {res/hybrid/2d_ber_fer_dfr_20433484.csv};

                \addplot[RedOrange, mark=*, solid]
                    table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addplot[red, mark=triangle, densely dashed]
                    table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
                        {res/hybrid/2d_ber_fer_dfr_20433484.csv};
            \end{axis}
        \end{tikzpicture}
        \begin{tikzpicture}[scale=0.55]
            \begin{axis}[
                grid=both,
                xlabel={$E_b / N_0$}, ylabel={Decoding Failure Rate},
                ymode=log,
                legend columns=2,
                legend style={at={(0.5,-0.45)},anchor=south},
                ymax=1.5, ymin=3e-8,
            ]
                
                \addplot[ForestGreen, mark=*, solid]
                    table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addplot[Emerald, mark=triangle, densely dashed]
                    table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.15}]
                        {res/hybrid/2d_ber_fer_dfr_20433484.csv};
                
                \addplot[NavyBlue, mark=*, solid]
                    table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addplot[RoyalPurple, mark=triangle, densely dashed]
                    table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.01}]
                        {res/hybrid/2d_ber_fer_dfr_20433484.csv};

                \addplot[RedOrange, mark=*, solid]
                    table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
                        {res/proximal/2d_ber_fer_dfr_20433484.csv};
                \addplot[red, mark=triangle, densely dashed]
                    table [x=SNR, y=DFR, col sep=comma, discard if not={gamma}{0.05}]
                        {res/hybrid/2d_ber_fer_dfr_20433484.csv};
            \end{axis}
        \end{tikzpicture}
        \begin{tikzpicture}[scale=0.7]
            \begin{axis}[hide axis,
                         xmin=10, xmax=50,
                         ymin=0, ymax=0.4,
                         legend columns=3,
                         legend style={draw=white!15!black,legend cell align=left}]
                \addlegendimage{ForestGreen, mark=*, solid}
                \addlegendentry{proximal, $\gamma = 0.15$}
               
                \addlegendimage{NavyBlue, mark=*, solid}
                \addlegendentry{proximal, $\gamma = 0.01$}
                
                \addlegendimage{RedOrange, mark=*, solid}
                \addlegendentry{proximal, $\gamma = 0.05$}
                
                \addlegendimage{Emerald, mark=triangle, densely dashed}
                \addlegendentry{improved, $\gamma = 0.15$}
                
                \addlegendimage{RoyalPurple, mark=triangle, densely dashed}
                \addlegendentry{improved, $\gamma = 0.01$}
                
                \addlegendimage{red, mark=triangle, densely dashed}
                \addlegendentry{improved, $\gamma = 0.05$}
            \end{axis}
        \end{tikzpicture}
    
        \caption{Simulation results for $\gamma = 0.05, \omega = 0.05, K=200, N=12$}
        \label{fig:simulation_results_hybrid}
    \end{figure}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\begin{frame}[t]
%    \frametitle{Proximal Decoding: Improvement}
%   
%    \begin{minipage}[c]{0.9\textwidth}
%        \centering
%        \begin{figure}[H]
%            \vspace*{-0.6cm}
%            \hspace*{-0.7cm}
%            \centering
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[
%                        grid=both,
%                        xlabel={$E_b / N_0$}, ylabel={FER},
%                        ymode=log,
%                        legend columns=1,
%                        legend pos=outer north east,
%                        %legend columns=2,
%                        %legend style={at={(0.5,-0.45)},anchor=south},
%                        ymax=1.5, ymin=8e-5,
%                    ]
%
%                        \addplot[ForestGreen, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/proximal/2d_ber_fer_dfr_963965.csv};
%                        \addplot[Emerald, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/hybrid/2d_ber_fer_dfr_963965.csv};
%                        
%                            \addplot[NavyBlue, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/proximal/2d_ber_fer_dfr_963965.csv};
%                        \addplot[RoyalPurple, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/hybrid/2d_ber_fer_dfr_963965.csv};
%
%                        \addplot[RedOrange, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/proximal/2d_ber_fer_dfr_963965.csv};
%                        \addplot[red, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/hybrid/2d_ber_fer_dfr_963965.csv};
%                    \end{axis}
%                \end{tikzpicture}
%                \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=96, k=48$ \cite[\text{96.3.965}]{mackay_enc}}
%            \end{subfigure}%
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[
%                        grid=both,
%                        xlabel={$E_b / N_0$}, ylabel={FER},
%                        ymode=log,
%                        legend columns=1,
%                        legend pos=outer north east,
%                        xmin=0.5, xmax=6, xtick={1, ..., 5},
%                        ymax=1.5, ymin=8e-5,
%                    ]
%
%                        \addplot[ForestGreen, mark=*, solid,]
%                            table [x=SNR, y=FER, col sep=comma,
%                                   discard if not={gamma}{0.15},
%                                   discard if gt={SNR}{5.5},]
%                                {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                        \addplot[Emerald, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma,
%                                   discard if not={gamma}{0.15},
%                                   discard if gt={SNR}{5.5},]
%                                {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%                        
%                            \addplot[NavyBlue, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma,
%                                   discard if not={gamma}{0.01},
%                                   discard if gt={SNR}{5.5},]
%                                {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                        \addplot[RoyalPurple, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma,
%                                   discard if not={gamma}{0.01},
%                                   discard if gt={SNR}{5.5},]
%                                {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%
%                        \addplot[RedOrange, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma,
%                                   discard if not={gamma}{0.05},
%                                   discard if gt={SNR}{5.5},]
%                                {res/proximal/2d_ber_fer_dfr_20433484.csv};
%                        \addplot[red, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma,
%                                   discard if not={gamma}{0.05},
%                                   discard if gt={SNR}{5.5},]
%                                {res/hybrid/2d_ber_fer_dfr_20433484.csv};
%                    \end{axis}
%                \end{tikzpicture}
%            \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=204, k=102$ \cite[\text{204.33.484}]{mackay_enc}}
%            \end{subfigure}%
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[
%                        grid=both,
%                        xlabel={$E_b / N_0$}, ylabel={FER},
%                        ymode=log,
%                        legend columns=1,
%                        legend pos=outer north east,
%                        %legend columns=2,
%                        %legend style={at={(0.5,-0.45)},anchor=south},
%                        ymax=1.5, ymin=8e-5,
%                    ]
%
%                        \addplot[ForestGreen, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/proximal/2d_ber_fer_dfr_40833844.csv};
%                        \addplot[Emerald, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/hybrid/2d_ber_fer_dfr_40833844.csv};
%                        
%                            \addplot[NavyBlue, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/proximal/2d_ber_fer_dfr_40833844.csv};
%                        \addplot[RoyalPurple, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/hybrid/2d_ber_fer_dfr_40833844.csv};
%
%                        \addplot[RedOrange, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/proximal/2d_ber_fer_dfr_40833844.csv};
%                        \addplot[red, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/hybrid/2d_ber_fer_dfr_40833844.csv};
%                    \end{axis}
%                \end{tikzpicture}
%            \caption{$\left( 3, 6 \right)$-regular LDPC code with $n=408, k=204$ \cite[\text{408.33.844}]{mackay_enc}}
%            \end{subfigure}
%            \hspace*{-0.7cm}
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[
%                        grid=both,
%                        xlabel={$E_b / N_0$}, ylabel={FER},
%                        ymode=log,
%                        legend columns=1,
%                        legend pos=outer north east,
%                        %legend columns=2,
%                        %legend style={at={(0.5,-0.45)},anchor=south},
%                        ymax=1.5, ymin=8e-5,
%                    ]
%
%                        \addplot[ForestGreen, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
%                        \addplot[Emerald, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/hybrid/2d_ber_fer_dfr_bch_31_26.csv};
%                        
%                            \addplot[NavyBlue, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
%                        \addplot[RoyalPurple, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/hybrid/2d_ber_fer_dfr_bch_31_26.csv};
%
%                        \addplot[RedOrange, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/proximal/2d_ber_fer_dfr_bch_31_26.csv};
%                        \addplot[red, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/hybrid/2d_ber_fer_dfr_bch_31_26.csv};
%                    \end{axis}
%                \end{tikzpicture}
%                \caption{BCH code with $n=31, k=26$\\[\baselineskip]}
%            \end{subfigure}%
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[
%                        grid=both,
%                        xlabel={$E_b / N_0$}, ylabel={FER},
%                        ymode=log,
%                        legend columns=1,
%                        legend pos=outer north east,
%                        %legend columns=2,
%                        %legend style={at={(0.5,-0.45)},anchor=south},
%                        ymax=1.5, ymin=8e-5,
%                    ]
%
%                        \addplot[ForestGreen, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/proximal/2d_ber_fer_dfr_20455187.csv};
%                        \addplot[Emerald, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/hybrid/2d_ber_fer_dfr_20455187.csv};
%                        
%                            \addplot[NavyBlue, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/proximal/2d_ber_fer_dfr_20455187.csv};
%                        \addplot[RoyalPurple, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/hybrid/2d_ber_fer_dfr_20455187.csv};
%
%                        \addplot[RedOrange, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/proximal/2d_ber_fer_dfr_20455187.csv};
%                        \addplot[red, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/hybrid/2d_ber_fer_dfr_20455187.csv};
%                    \end{axis}
%                \end{tikzpicture}
%            \caption{$\left( 5, 10 \right)$-regular LDPC code with $n=204, k=102$ \cite[\text{204.55.187}]{mackay_enc}}
%            \end{subfigure}%
%            \begin{subfigure}[c]{0.33\textwidth}
%                \centering
%                \begin{tikzpicture}[scale=0.4]
%                    \begin{axis}[
%                        grid=both,
%                        xlabel={$E_b / N_0$}, ylabel={FER},
%                        ymode=log,
%                        legend columns=1,
%                        legend pos=outer north east,
%                        ymax=1.5, ymin=8e-5,
%                    ]
%
%                        \addplot[ForestGreen, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
%                        \addplot[Emerald, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.15}]
%                                {res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv};
%                        
%                            \addplot[NavyBlue, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
%                        \addplot[RoyalPurple, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.01}]
%                                {res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv};
%
%                        \addplot[RedOrange, mark=*, solid]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/proximal/2d_ber_fer_dfr_pegreg252x504.csv};
%                        \addplot[red, mark=triangle, densely dashed]
%                            table [x=SNR, y=FER, col sep=comma, discard if not={gamma}{0.05}]
%                                {res/hybrid/2d_ber_fer_dfr_pegreg252x504.csv};
%                    \end{axis}
%                \end{tikzpicture}
%            \caption{LDPC code (progressive edge growth construction) with $n=504, k=252$ \cite[\text{PEGReg252x504}]{mackay_enc}}
%            \end{subfigure}%
%        \end{figure}
%    \end{minipage}%
%    \begin{minipage}[c]{0.1\textwidth}
%        \centering
%
%        \begin{figure}
%            \vspace*{-1.5cm}
%            \hspace*{-0.7cm}
%            \centering
%            \begin{tikzpicture}[scale=0.7]
%                \begin{axis}[hide axis,
%                             xmin=10, xmax=50,
%                             ymin=0, ymax=0.4,
%                             legend style={draw=white!15!black,legend cell align=left}]
%                    \addlegendimage{ForestGreen, mark=*, solid}
%                    \addlegendentry{proximal, $\gamma = 0.15$}
%                   
%                    \addlegendimage{Emerald, mark=triangle, densely dashed}
%                    \addlegendentry{improved, $\gamma = 0.15$}
%                    
%                    \addlegendimage{NavyBlue, mark=*, solid}
%                    \addlegendentry{proximal, $\gamma = 0.01$}
%                    
%                    \addlegendimage{RoyalPurple, mark=triangle, densely dashed}
%                    \addlegendentry{improved, $\gamma = 0.01$}
%                    
%                    \addlegendimage{RedOrange, mark=*, solid}
%                    \addlegendentry{proximal, $\gamma = 0.05$}
%                    
%                    \addlegendimage{red, mark=triangle, densely dashed}
%                    \addlegendentry{improved, $\gamma = 0.05$}
%                \end{axis}
%            \end{tikzpicture}
%            
%        \end{figure}
%    \end{minipage}
%\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
    \frametitle{Proximal Decoding: Average Error}
    \setcounter{footnote}{0} 
  
    \begin{figure}[H]
        \centering
    
        \begin{tikzpicture}[scale=0.6]
            \begin{axis}[
                grid=both,
                xlabel={Iterations},
                ylabel={Average $\lVert \boldsymbol{c}-\boldsymbol{\hat{c}} \rVert$},
                legend pos=outer north east,
            ]
            \addplot [ForestGreen, mark=none, line width=1pt]
                table [col sep=comma, discard if not={omega}{0.0774263682681127}, x=k, y=err]
                    {res/proximal/2d_avg_error_20433484_1db.csv};
            \addlegendentry{$E_b / N_0 = \SI{1}{dB}$}
            \addplot [NavyBlue, mark=none, line width=1pt]
                table [col sep=comma, discard if not={omega}{0.0774263682681127}, x=k, y=err]
                    {res/proximal/2d_avg_error_20433484_3db.csv};
            \addlegendentry{$E_b / N_0 = \SI{3}{dB}$}
            \addplot [RedOrange, mark=none, line width=1pt]
                table [col sep=comma, discard if not={omega}{0.052233450742668434}, x=k, y=err]
                    {res/proximal/2d_avg_error_20433484_5db.csv};
            \addlegendentry{$E_b / N_0 = \SI{5}{dB}$}
            \addplot [RoyalPurple, mark=none, line width=1pt]
                table [col sep=comma, discard if not={omega}{0.052233450742668434}, x=k, y=err]
                    {res/proximal/2d_avg_error_20433484_8db.csv};
            \addlegendentry{$E_b / N_0 = \SI{8}{dB}$}
            \end{axis}
        \end{tikzpicture}
    
        \caption{Average error for $\SI{500000}{}$ decodings, $
                 \omega = 0.05, \gamma = 0.05, K=200$\footnotemark}
    \end{figure}
        
    \footnotetext{Simulation performed with (3,6) regular LDPC code with $n=204, k=102$
        \cite[Code: 204.33.484]{mackay_enc}}

    \begin{itemize}
        \item With increasing iterations, the average error asymptotically
            approaches a minimum, non-zero value
    \end{itemize}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
    \frametitle{Proximal Decoding: Time Complexity}
   
    \begin{figure}[H]
        \centering
    
        \begin{tikzpicture}[scale=0.7]
            \begin{axis}[
                grid=both,
                xlabel={$n$}, ylabel={time per frame (s)},
                legend style={at={(0.05,0.77)},anchor=south west},
                legend cell align={left},
            ]
                \addplot[RedOrange, only marks, mark=*]
                    table [col sep=comma, x=n, y=spf]
                        {res/proximal/fps_vs_n.csv};
                \addlegendentry{proximal}

                \addplot[RoyalPurple, only marks, mark=triangle*]
                    table [col sep=comma, x=n, y=spf]
                        {res/hybrid/fps_vs_n.csv};
                \addlegendentry{improved ($\SI{12}{\bit}$)}
            \end{axis}
        \end{tikzpicture}
    
        \caption{Time complexity of proximal decoding and improved implementation\footnotemark}
        \label{fig:fps_vs_n}
    \end{figure}
    
    \footnotetext{The points shown were calculated by evaluating the metadata
                  of BER simulation results from the following codes:
                  BCH $\left( 31, 11 \right)$;
                  BCH $\left( 31, 26 \right)$;
                  \cite[\text{96.3.965; 204.33.484;
                        204.55.187; 408.33.844; PEGReg252x504}]{mackay_enc}
              }

\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
    \frametitle{Conclusion}
   
    \begin{itemize}
        \item Analysis of proximal decoding for AWGN channels:
            \begin{itemize}
                \item Error correcting performance (BER, FER, decoding failures)
                \item Computational performance ($\mathcal{O}\left( n \right) $ time complexity,
                                                 fast implementation possible)
                \item Number of iterations independent of SNR
            \end{itemize}
        \item Suggestion for improvement of proximal decoding:
            \begin{itemize}
                \item Addition of ``ML-in-the-list'' step
                \item Up to $\sim\SI{1}{dB}$ gain under certain conditions
            \end{itemize}
    \end{itemize}
\end{frame}
