\appendix

\section{Proximal Decoding}%
\label{app:Proximal Decoding}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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},
            ]
                \addplot[only marks, red] table [col sep=comma,
                                             x=n, y=spf] {res/proximal/fps_vs_n.csv};
                \addlegendentry{proximal}

                \addplot[only marks, blue] table [col sep=comma,
                                             x=n, y=spf] {res/hybrid/fps_vs_n.csv};
                \addlegendentry{hybrid prox \& ML ($\SI{12}{\bit}$)}
            \end{axis}
        \end{tikzpicture}
    
        \caption{Time Complexity of Proximal Decoding and Modified 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{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 \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( \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 \boldsymbol{x}\right)
                    \propto \left( \boldsymbol{x} - \boldsymbol{y} \right)$
                    \cite[Sec. 4.1]{proximal_paper}}

\end{frame}
