Replaced splicing with tuple
This commit is contained in:
parent
98c5761fa0
commit
5b7c0454bb
@ -562,7 +562,7 @@ complexity has been demonstrated to compare favorably to \ac{BP} \cite{original_
|
|||||||
|
|
||||||
The \ac{LP} decoding problem in (\ref{eq:lp:relaxed_formulation}) can be
|
The \ac{LP} decoding problem in (\ref{eq:lp:relaxed_formulation}) can be
|
||||||
slightly rewritten using the auxiliary variables
|
slightly rewritten using the auxiliary variables
|
||||||
$\boldsymbol{z}_{[1:m]}$:%
|
$\boldsymbol{z}_1, \ldots, \boldsymbol{z}_m$:%
|
||||||
%
|
%
|
||||||
\begin{align}
|
\begin{align}
|
||||||
\begin{aligned}
|
\begin{aligned}
|
||||||
@ -592,8 +592,8 @@ The multiple constraints can be addressed by introducing additional terms in the
|
|||||||
augmented lagrangian:%
|
augmented lagrangian:%
|
||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\mathcal{L}_{\mu}\left( \tilde{\boldsymbol{c}}, \boldsymbol{z}_{[1:m]},
|
\mathcal{L}_{\mu}\left( \tilde{\boldsymbol{c}}, \left( \boldsymbol{z} \right)_{j=1}^m,
|
||||||
\boldsymbol{\lambda}_{[1:m]} \right)
|
\left( \boldsymbol{\lambda} \right)_{j=1}^m \right)
|
||||||
= \boldsymbol{\gamma}^\text{T}\tilde{\boldsymbol{c}}
|
= \boldsymbol{\gamma}^\text{T}\tilde{\boldsymbol{c}}
|
||||||
+ \sum_{j\in\mathcal{J}} \boldsymbol{\lambda}^\text{T}_j
|
+ \sum_{j\in\mathcal{J}} \boldsymbol{\lambda}^\text{T}_j
|
||||||
\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \right)
|
\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \right)
|
||||||
@ -606,18 +606,21 @@ The additional constraints remain in the dual optimization problem:%
|
|||||||
\begin{align*}
|
\begin{align*}
|
||||||
\text{maximize } \min_{\substack{\tilde{\boldsymbol{c}} \\
|
\text{maximize } \min_{\substack{\tilde{\boldsymbol{c}} \\
|
||||||
\boldsymbol{z}_j \in \mathcal{P}_{d_j}\,\forall\,j\in\mathcal{J}}}
|
\boldsymbol{z}_j \in \mathcal{P}_{d_j}\,\forall\,j\in\mathcal{J}}}
|
||||||
\mathcal{L}_{\mu}\left( \tilde{\boldsymbol{c}}, \boldsymbol{z}_{[1:m]},
|
\mathcal{L}_{\mu}\left( \tilde{\boldsymbol{c}}, \left( \boldsymbol{z} \right)_{j=1}^m,
|
||||||
\boldsymbol{\lambda}_{[1:m]} \right)
|
\left( \boldsymbol{\lambda} \right)_{j=1}^m \right)
|
||||||
.\end{align*}%
|
.\end{align*}%
|
||||||
%
|
%
|
||||||
The steps to solve the dual problem then become:
|
The steps to solve the dual problem then become:
|
||||||
%
|
%
|
||||||
\begin{alignat*}{3}
|
\begin{alignat*}{3}
|
||||||
\tilde{\boldsymbol{c}} &\leftarrow \argmin_{\tilde{\boldsymbol{c}}} \mathcal{L}_{\mu} \left(
|
\tilde{\boldsymbol{c}} &\leftarrow \argmin_{\tilde{\boldsymbol{c}}}
|
||||||
\tilde{\boldsymbol{c}}, \boldsymbol{z}_{[1:m]}, \boldsymbol{\lambda}_{[1:m]} \right) \\
|
\mathcal{L}_{\mu} \left(
|
||||||
|
\tilde{\boldsymbol{c}}, \left( \boldsymbol{z} \right)_{j=1}^m,
|
||||||
|
\left( \boldsymbol{\lambda}\right)_{j=1}^m \right) \\
|
||||||
\boldsymbol{z}_j &\leftarrow \argmin_{\boldsymbol{z}_j \in \mathcal{P}_{d_j}}
|
\boldsymbol{z}_j &\leftarrow \argmin_{\boldsymbol{z}_j \in \mathcal{P}_{d_j}}
|
||||||
\mathcal{L}_{\mu} \left(
|
\mathcal{L}_{\mu} \left(
|
||||||
\tilde{\boldsymbol{c}}, \boldsymbol{z}_{[1:m]}, \boldsymbol{\lambda}_{[1:m]} \right)
|
\tilde{\boldsymbol{c}}, \left( \boldsymbol{z} \right)_{j=1}^m,
|
||||||
|
\left( \boldsymbol{\lambda} \right)_{j=1}^m \right)
|
||||||
\hspace{3mm} &&\forall j\in\mathcal{J} \\
|
\hspace{3mm} &&\forall j\in\mathcal{J} \\
|
||||||
\boldsymbol{\lambda}_j &\leftarrow \boldsymbol{\lambda}_j
|
\boldsymbol{\lambda}_j &\leftarrow \boldsymbol{\lambda}_j
|
||||||
+ \mu\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
+ \mu\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
||||||
@ -794,7 +797,7 @@ Defining%
|
|||||||
the $\tilde{\boldsymbol{c}}$ update can then be rewritten as%
|
the $\tilde{\boldsymbol{c}}$ update can then be rewritten as%
|
||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\tilde{\boldsymbol{c}} \leftarrow \boldsymbol{D}^{\circ -1} \circ
|
\tilde{\boldsymbol{c}} \leftarrow \boldsymbol{D}^{\circ \left(-1\right)} \circ
|
||||||
\left( \boldsymbol{s} - \frac{1}{\mu}\boldsymbol{\gamma} \right)
|
\left( \boldsymbol{s} - \frac{1}{\mu}\boldsymbol{\gamma} \right)
|
||||||
.\end{align*}
|
.\end{align*}
|
||||||
%
|
%
|
||||||
@ -820,7 +823,7 @@ while $\sum_{j\in\mathcal{J}} \lVert \boldsymbol{T}_j\tilde{\boldsymbol{c}}
|
|||||||
\left( \boldsymbol{z}_j - \boldsymbol{u}_j \right) $
|
\left( \boldsymbol{z}_j - \boldsymbol{u}_j \right) $
|
||||||
end for
|
end for
|
||||||
for $i$ in $\mathcal{I}$ do
|
for $i$ in $\mathcal{I}$ do
|
||||||
$\tilde{\boldsymbol{c}} \leftarrow \boldsymbol{D}^{\circ -1} \circ
|
$\tilde{\boldsymbol{c}} \leftarrow \boldsymbol{D}^{\circ \left( -1\right)} \circ
|
||||||
\left( \boldsymbol{s} - \frac{1}{\mu}\boldsymbol{\gamma} \right) $
|
\left( \boldsymbol{s} - \frac{1}{\mu}\boldsymbol{\gamma} \right) $
|
||||||
end for
|
end for
|
||||||
end while
|
end while
|
||||||
|
|||||||
@ -24,13 +24,11 @@ For example:%
|
|||||||
c \in \mathbb{F}_2 &\to \tilde{c} \in \left[ 0, 1 \right] \subseteq \mathbb{R}
|
c \in \mathbb{F}_2 &\to \tilde{c} \in \left[ 0, 1 \right] \subseteq \mathbb{R}
|
||||||
.\end{align*}
|
.\end{align*}
|
||||||
%
|
%
|
||||||
Additionally, a shorthand notation will be used to denote series of indices and series
|
Additionally, a shorthand notation will be used to denote a set of indices:%
|
||||||
of indexed variables:%
|
|
||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\left[ m:n \right] &:= \left\{ m, m+1, \ldots, n-1, n \right\},
|
\left[ m:n \right] &:= \left\{ m, m+1, \ldots, n-1, n \right\},
|
||||||
\hspace{5mm} m < n, \hspace{2mm} m,n\in\mathbb{Z}\\
|
\hspace{5mm} m < n, \hspace{2mm} m,n\in\mathbb{Z}
|
||||||
x_{\left[ m:n \right] } &:= \left\{ x_m, x_{m+1}, \ldots, x_{n-1}, x_n \right\}
|
|
||||||
.\end{align*}
|
.\end{align*}
|
||||||
\todo{Not really slicing. How should it be denoted?}
|
\todo{Not really slicing. How should it be denoted?}
|
||||||
%
|
%
|
||||||
@ -619,7 +617,7 @@ $\boldsymbol{x}$, the Lagrangian is as well:
|
|||||||
= \boldsymbol{b}
|
= \boldsymbol{b}
|
||||||
\end{align*}
|
\end{align*}
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\mathcal{L}\left( \boldsymbol{x}_{[1:N]}, \boldsymbol{\lambda} \right)
|
\mathcal{L}\left( \left( \boldsymbol{x}_i \right)_{i=1}^N, \boldsymbol{\lambda} \right)
|
||||||
= \sum_{i=1}^{N} g_i\left( \boldsymbol{x}_i \right)
|
= \sum_{i=1}^{N} g_i\left( \boldsymbol{x}_i \right)
|
||||||
+ \boldsymbol{\lambda}^\text{T} \left( \boldsymbol{b}
|
+ \boldsymbol{\lambda}^\text{T} \left( \boldsymbol{b}
|
||||||
- \sum_{i=1}^{N} \boldsymbol{A}_i\boldsymbol{x_i} \right)
|
- \sum_{i=1}^{N} \boldsymbol{A}_i\boldsymbol{x_i} \right)
|
||||||
@ -641,7 +639,7 @@ This modified version of dual ascent is called \textit{dual decomposition}:
|
|||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\boldsymbol{x}_i &\leftarrow \argmin_{\boldsymbol{x}_i}\mathcal{L}\left(
|
\boldsymbol{x}_i &\leftarrow \argmin_{\boldsymbol{x}_i}\mathcal{L}\left(
|
||||||
\boldsymbol{x}_{[1:N]}, \boldsymbol{\lambda}\right)
|
\left( \boldsymbol{x}_i \right)_{i=1}^N, \boldsymbol{\lambda}\right)
|
||||||
\hspace{5mm} \forall i \in [1:N]\\
|
\hspace{5mm} \forall i \in [1:N]\\
|
||||||
\boldsymbol{\lambda} &\leftarrow \boldsymbol{\lambda}
|
\boldsymbol{\lambda} &\leftarrow \boldsymbol{\lambda}
|
||||||
+ \alpha\left( \sum_{i=1}^{N} \boldsymbol{A}_i\boldsymbol{x}_i
|
+ \alpha\left( \sum_{i=1}^{N} \boldsymbol{A}_i\boldsymbol{x}_i
|
||||||
@ -652,13 +650,13 @@ This modified version of dual ascent is called \textit{dual decomposition}:
|
|||||||
|
|
||||||
\ac{ADMM} works the same way as dual decomposition.
|
\ac{ADMM} works the same way as dual decomposition.
|
||||||
It only differs in the use of an \textit{augmented Lagrangian}
|
It only differs in the use of an \textit{augmented Lagrangian}
|
||||||
$\mathcal{L}_\mu\left( \boldsymbol{x}_{[1:N]}, \boldsymbol{\lambda} \right)$
|
$\mathcal{L}_\mu\left( \left( \boldsymbol{x} \right)_{i=1}^N, \boldsymbol{\lambda} \right)$
|
||||||
in order to strengthen the convergence properties.
|
in order to strengthen the convergence properties.
|
||||||
The augmented Lagrangian extends the ordinary one with an additional penalty term
|
The augmented Lagrangian extends the ordinary one with an additional penalty term
|
||||||
with the penaly parameter $\mu$:
|
with the penaly parameter $\mu$:
|
||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\mathcal{L}_\mu \left( \boldsymbol{x}_{[1:N]}, \boldsymbol{\lambda} \right)
|
\mathcal{L}_\mu \left( \left( \boldsymbol{x} \right)_{i=1}^N, \boldsymbol{\lambda} \right)
|
||||||
= \underbrace{\sum_{i=1}^{N} g_i\left( \boldsymbol{x_i} \right)
|
= \underbrace{\sum_{i=1}^{N} g_i\left( \boldsymbol{x_i} \right)
|
||||||
+ \boldsymbol{\lambda}^\text{T}\left( \boldsymbol{b}
|
+ \boldsymbol{\lambda}^\text{T}\left( \boldsymbol{b}
|
||||||
- \sum_{i=1}^{N} \boldsymbol{A}_i\boldsymbol{x}_i \right)}_{\text{Ordinary Lagrangian}}
|
- \sum_{i=1}^{N} \boldsymbol{A}_i\boldsymbol{x}_i \right)}_{\text{Ordinary Lagrangian}}
|
||||||
@ -672,7 +670,7 @@ condition that the step size be $\mu$:%
|
|||||||
%
|
%
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
\boldsymbol{x}_i &\leftarrow \argmin_{\boldsymbol{x}_i}\mathcal{L}_\mu\left(
|
\boldsymbol{x}_i &\leftarrow \argmin_{\boldsymbol{x}_i}\mathcal{L}_\mu\left(
|
||||||
\boldsymbol{x}_{[1:N]}, \boldsymbol{\lambda}\right)
|
\left( \boldsymbol{x} \right)_{i=1}^N, \boldsymbol{\lambda}\right)
|
||||||
\hspace{5mm} \forall i \in [1:N]\\
|
\hspace{5mm} \forall i \in [1:N]\\
|
||||||
\boldsymbol{\lambda} &\leftarrow \boldsymbol{\lambda}
|
\boldsymbol{\lambda} &\leftarrow \boldsymbol{\lambda}
|
||||||
+ \mu\left( \sum_{i=1}^{N} \boldsymbol{A}_i\boldsymbol{x}_i
|
+ \mu\left( \sum_{i=1}^{N} \boldsymbol{A}_i\boldsymbol{x}_i
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user