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

3.6 KiB
Raw Blame History

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

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

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.