Added proximal decoding algorithm

This commit is contained in:
Andreas Tsouchlos 2022-12-26 18:16:56 +01:00
parent 90236d995d
commit 7f74df4af1
2 changed files with 42 additions and 6 deletions

View File

@ -73,6 +73,34 @@
} }
\DeclareCaptionLabelFormat{algocaption}{Algorithm} % defines a new caption label as Algorithm x.y
\lstnewenvironment{algorithm}[1][] %defines the algorithm listing environment
{
\captionsetup{labelformat=algocaption,labelsep=colon} % defines the caption setup for:
% it ises label format as the declared
% caption label above and makes label
% and caption text to be separated
% by a ':'
\lstset{ %this is the stype
mathescape=true,
frame=tB,
numbers=left,
numberstyle=\tiny,
basicstyle=\normalfont,
columns=fullflexible,
keywordstyle=\color{black}\bfseries,
keywords={a, for, end, do, b} % add the keywords you want, or load
% a language as Rubens explains in his comment above.
numbers=left,
xleftmargin=.04\textwidth,
#1 % this is to add specific settings to an usage of this
% environment (for instnce, the caption and referable label)
}
}
{}
\begin{document} \begin{document}
\newboolean{EnglishLanguage} \newboolean{EnglishLanguage}

View File

@ -59,12 +59,11 @@
\begin{align*} \begin{align*}
\text{prox}_{\gamma h} \left( \boldsymbol{x} \right) &\equiv \text{prox}_{\gamma h} \left( \boldsymbol{x} \right) &\equiv
arg\min_{\boldsymbol{z}\in\mathbb{R}} \left( arg\min_{\boldsymbol{z}\in\mathbb{R}} \left(
\gamma h\left( \boldsymbol{z} \right) + \frac{1}{2} \left| \boldsymbol{z} \gamma h\left( \boldsymbol{z} \right) + \frac{1}{2} \lVert \boldsymbol{z}
- \boldsymbol{x} \right|^2 \right)\\ - \boldsymbol{x} \rVert^2 \right)\\
&\approx \boldsymbol{x} - \gamma \nabla h\left( \boldsymbol{x} \right), &\approx \boldsymbol{x} - \gamma \nabla h\left( \boldsymbol{x} \right),
\hspace{5mm} \gamma \text{ small} \hspace{5mm} \gamma \text{ small}
\end{align*} \end{align*}
\todo{Euclidean norm symbol}
\item Iterative decoding process: \item Iterative decoding process:
\begin{align*} \begin{align*}
\boldsymbol{r}^{\left( k+1 \right) } &= \boldsymbol{s}^{\left( k \right) } \boldsymbol{r}^{\left( k+1 \right) } &= \boldsymbol{s}^{\left( k \right) }
@ -78,10 +77,19 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame}[t] \begin{frame}[t, fragile]
\frametitle{Proximal Decoding: Algorithm} \frametitle{Proximal Decoding: Algorithm}
\begin{algorithm}[caption={}, label={}]
\todo{TODO} $\boldsymbol{s}^{\left( 0 \right)} = \boldsymbol{0}$
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, break the loop.
end for
Output $\boldsymbol{\hat{x}}$
\end{algorithm}
\end{frame} \end{frame}