# 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) 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] ______________________________________________________________________ ## 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.