homotopy-continuation-chann.../docs/general_idea.md

100 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Homotopy Continuation
### Introduction
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) Eulers method for the predictor and Newtons
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 Eulers predictor." [2, p.130]
______________________________________________________________________
## 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. 119307, 2015, doi: 10.4310/CIS.2015.v15.n2.a1.