\appendix \section{Proximal Decoding Time Complexity}% \label{app:Proximal Decoding Time Complexity} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \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/fps_vs_n_proximal.csv}; \addlegendentry{proximal} \addplot[only marks, blue] table [col sep=comma, x=n, y=spf] {res/fps_vs_n_hybrid.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} \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/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/2d_grad_rep.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}