126 lines
4.7 KiB
Markdown
126 lines
4.7 KiB
Markdown
# Homotopy Continuation
|
||
|
||
## Introduction
|
||
|
||
### Overview
|
||
|
||
The aim of a homotopy method consists in solving a system of N nonlinear
|
||
equations in N variables \[1, p.1\]:
|
||
|
||
$$
|
||
F(\bm{x}) = 0, \hspace{5mm} F: \mathbb{R}^N \rightarrow \mathbb{R}^N
|
||
$$
|
||
|
||
This is achieved by defining a homotopy, or deformation,
|
||
$H : \mathbb{R}^N \rightarrow \mathbb{R}^N$ such that
|
||
|
||
$$
|
||
H(\bm{x}, 0) = G(\bm{x}), \hspace{5mm} H(\bm{x},1) = F(\bm{x}),
|
||
$$
|
||
|
||
where $G: \mathbb{R}^N \rightarrow \mathbb{R}^N$ is trivial, having known zero
|
||
points. One can then trace an implicitly defined curve
|
||
$\bm{c}(s) \in H^{-1}(0)$ from $(\bm{x}_1,0)$ to $(\bm{x}_2, 1)$ [2, p.122].
|
||
Typically, a convex homotopy such as
|
||
|
||
$$
|
||
H(\bm{x}, t) := tG(\bm{x}) + (1-t)F(\bm{x})
|
||
$$
|
||
|
||
is chosen [1, p.2].
|
||
|
||
### Implicit Definition of Solution Curve
|
||
|
||
"In the construction of the homotopy H(x, t) = 0, it may seem natural to use t
|
||
as the designated parameter for the solution curve [...]. However, this
|
||
parametrization has a severe limitation, as t cannot be used as a smooth
|
||
parameter in certain situations. For example, [...] at points where ∂H/∂x is
|
||
singular the solution curve of H(x, t) = 0 cannot be parametrized by t
|
||
directly. Actually, one may avoid such difficulties by considering both x and t
|
||
as independent variables and parametrize the smooth curve γ by the arc-length."
|
||
[2, p. 125-126].
|
||
|
||
We can show that the solution curve can be implicitly defined as
|
||
|
||
$$
|
||
\begin{align}
|
||
DH(\bm{y}(s))\cdot \dot{\bm{y}}(s) = 0 \\[.5em]
|
||
\text{det}\left(\begin{array}{c} DH(\bm{y}(s)) \\ \dot{\bm{y}}(s)\end{array}\right) = \sigma_0 \\[.5em]
|
||
\lVert \dot{\bm{y}}(s) \rVert = 1 \\[.5em]
|
||
\bm{y}(0) = (\bm{x}_0, 0)
|
||
.
|
||
\end{align}
|
||
$$
|
||
|
||
where $DH(y)$ is the Jacobian of $H(y)$ [2, p.127] [1, p.9]. Equation (1)
|
||
corresponds to $\dot{y}(s)$ being tangent to the solution curve, the purpose of
|
||
(2) is to fix the direction in which the curve is traced.
|
||
|
||
### Tracing solution curves
|
||
|
||
"In principle, any of the available ODE solvers capable of integrating the
|
||
above system can be used to trace the curve [...]. However, due to numerical
|
||
stability concerns, a more preferable method to trace the curve is the
|
||
'prediction-correction scheme'. [...] Among many different choices for the
|
||
'predictors' as well as 'correctors', we shall present here a commonly used
|
||
combination of the (generalized) Euler’s method for the predictor and Newton’s
|
||
method for the corrector." [2, p.127]
|
||
|
||
#### Euler's Predictor
|
||
|
||
$$
|
||
\hat{\bm{y}} = \bm{y}_0 + \Delta s \cdot \sigma \cdot \Delta \bm{y},
|
||
$$
|
||
|
||
with $\Delta s$ denoting the step size and $\Delta y$ the numerical
|
||
approximation of $\dot{y}(s)$ [2, p.128].
|
||
|
||
#### Newton's corrector
|
||
|
||
$$
|
||
\bm{y} = \mathcal{N}^k(\hat{\bm{y}}), \hspace{5mm} \mathcal{N}(\hat{\bm{y}}) := \hat{\bm{y}} - (DH(\hat{\bm{y}}))^{+} H(\hat{\bm{y}}).
|
||
$$
|
||
|
||
" [...] the shrinking distance
|
||
$\lVert \mathcal{N}^j(\hat{\bm{y}}) - \mathcal{N}^{j-1} (\hat{\bm{y}})\rVert$
|
||
between successive points produced by the iterations can be used as a criterion
|
||
for convergence. Of course, if the iterations fail to converge, one must go
|
||
back to adjust the step size for the Euler’s predictor." [2, p.130]
|
||
|
||
## Application to Channel Decoding
|
||
|
||
We can describe the decoding problem using the code constraint polynomial [3]
|
||
|
||
$$
|
||
h(\bm{x}) = \underbrace{\sum_{i=1}^{n}\left(1-x_i^2\right)^2}_{\text{Bipolar constraint}} + \underbrace{\sum_{j=1}^{m}\left(1 - \left(\prod_{i\in A(j)}x_i\right)\right)^2}_{\text{Parity constraint}},
|
||
$$
|
||
|
||
where $A(j) = \left\{i \in [1:n]: H_{j,i} = 1\right\}$ represents the set of
|
||
variable nodes involved in parity check j. This polynomial consists of a set of
|
||
terms representing the bipolar constraint and a set of terms representing the
|
||
parity constraint. In a similar vein, we can define the following set of
|
||
polynomial equations to describe codewords:
|
||
|
||
$$
|
||
F(\bm{x}) = \left[\begin{array}{c}1 - x_1^2 \\ \vdots\\ 1 - x_n^2 \\ 1 - \prod_{i \in A(1)}x_i \\ \vdots\\ 1 - \prod_{i \in A(m)}x_i\end{array}\right] \overset{!}{=} \bm{0}.
|
||
$$
|
||
|
||
This is a problem we can solve using homotopy continuation.
|
||
|
||
______________________________________________________________________
|
||
|
||
## References
|
||
|
||
\[1\]: E. L. Allgower and K. Georg, Introduction to numerical continuation
|
||
methods. in Classics in applied mathematics, no. 45. Philadelphia, Pa: Society
|
||
for Industrial and Applied Mathematics (SIAM, 3600 Market Street, Floor 6,
|
||
Philadelphia, PA 19104), 2003. doi: 10.1137/1.9780898719154.
|
||
|
||
\[2\]: T. Chen and T.-Y. Li, “Homotopy continuation method for solving systems
|
||
of nonlinear and polynomial equations,” Communications in Information and
|
||
Systems, vol. 15, no. 2, pp. 119–307, 2015, doi: 10.4310/CIS.2015.v15.n2.a1.
|
||
|
||
\[3\]: Wadayama, Tadashi, and Satoshi Takabe. "Proximal decoding for LDPC
|
||
codes." IEICE Transactions on Fundamentals of Electronics, Communications and
|
||
Computer Sciences 106.3 (2023): 359-367.
|