Algorithm Search⌘K

Proofs: Homotopy continuation

These are the human proofs of Homotopy continuation, at full length.

Correctness of homotopy continuation full

This proof shows: correctness, termination, convergence-rate.

This page proves the probability one statement in full for a single polynomial, proves termination of the tracker, and states the local rates. The statement for systems and the guarantee against path jumping are cited.

Setting

Let p(x)=xn+b1xn−1+⋯+bnp(x) = x^n + b_1x^{n-1} + \cdots + b_n be monic of degree n≥1n \ge 1, which is what the reference code produces after dividing by a0a_0 and scaling xx. Let G(x)=xn−1G(x) = x^n - 1 and, for γ∈C\gamma \in \mathbb{C} with ∣γ∣=1|\gamma| = 1,

H(x,t)=(1−t)γG(x)+tp(x),0≤t≤1.H(x, t) = (1 - t)\gamma G(x) + tp(x), \qquad 0 \le t \le 1.

Lemma 1 (finitely many bad directions)

There is a finite set BB of angles such that, if arg⁡γ∉B\arg\gamma \notin B, then for every t∈[0,1)t \in [0, 1) the polynomial H(⋅,t)H(\cdot, t) has degree exactly nn and nn distinct roots.

Proof. For t∈[0,1)t \in [0, 1) put s=t/(1−t)∈[0,∞)s = t/(1 - t) \in [0, \infty). Then H(x,t)=(1−t)(γG(x)+sp(x))H(x, t) = (1 - t)(\gamma G(x) + sp(x)), so H(⋅,t)H(\cdot, t) and γG+sp\gamma G + sp have the same roots. Write w=s/γw = s/\gamma, so that γG+sp=γ(G+wp)\gamma G + sp = \gamma(G + wp).

The leading coefficient of G+wpG + wp is 1+w1 + w, so it vanishes only at w=−1w = -1, which means s=−γs = -\gamma. For s≥0s \ge 0 this requires γ=−1\gamma = -1, which is one bad angle.

For w≠−1w \ne -1, let Δ(w)\Delta(w) be the discriminant of (G+wp)/(1+w)(G + wp)/(1 + w). Its coefficients are rational functions of ww, so Δ\Delta is a rational function of ww, and Δ(0)≠0\Delta(0) \ne 0 because GG has nn distinct roots. So Δ\Delta is not identically zero and has finitely many zeros w1,…,wMw_1, \dots, w_M. A multiple root occurs at some s≥0s \ge 0 only if s/γ=wis/\gamma = w_i for some ii. Since s=0s = 0 gives w=0≠wiw = 0 \ne w_i, this means s>0s > 0 and arg⁡γ=−arg⁡wi\arg\gamma = -\arg w_i modulo 2π2\pi. So B={π}∪{−arg⁡wi}B = \{\pi\} \cup \{-\arg w_i\} is finite. □\square

Theorem 1 (the paths)

If arg⁡γ∉B\arg\gamma \notin B, there are nn continuous functions x1(t),…,xn(t)x_1(t), \dots, x_n(t) on [0,1)[0, 1), analytic in tt, with xj(0)=e2πij/nx_j(0) = e^{2\pi ij/n}, such that for each tt the values x1(t),…,xn(t)x_1(t), \dots, x_n(t) are the nn distinct roots of H(⋅,t)H(\cdot, t). As t→1t \to 1, the paths converge, and the multiset of limits is the multiset of roots of pp. So a root of multiplicity mm is the limit of exactly mm paths.

Proof. At a simple root, Hx≠0H_x \ne 0, so by the implicit function theorem each root continues analytically in tt, and the continuations stay distinct by Lemma 1. Since [0,1)[0, 1) is connected and the roots never collide or escape to infinity (the degree stays nn), the nn continuations are defined on all of [0,1)[0, 1). For the limit, the coefficients of H(⋅,t)/((1−t)γ+t)H(\cdot, t)/((1 - t)\gamma + t) are continuous in tt on [0,1][0, 1], and the leading coefficient (1−t)γ+t(1 - t)\gamma + t does not vanish on [0,1][0, 1] for γ≠−1\gamma \ne -1. The roots of a monic polynomial depend continuously on its coefficients as a multiset, for example by Rouché's theorem on small circles around each root of pp. So for tt near 1, exactly mm of the xj(t)x_j(t) lie in a small disc around a root of multiplicity mm, and each path has a limit. □\square

Since BB is finite, a γ\gamma with arg⁡γ\arg\gamma uniform on [0,2π)[0, 2\pi) avoids it with probability one. This is the gamma trick.

Systems (cited)

For a square system FF with deg⁡Fi=di\deg F_i = d_i, Gi=xidi−1G_i = x_i^{d_i} - 1 and γ\gamma outside a finite set of angles, the statement of Sommese and Wampler is as follows. The D=∏diD = \prod d_i solution paths are smooth and disjoint on [0,1)[0, 1). Every isolated solution of F=0F = 0 of multiplicity μ\mu is the limit of exactly μ\mu paths. The remaining paths diverge to infinity or converge to positive-dimensional solution sets. The proof follows the same pattern as Lemma 1: the bad parameter values form a proper algebraic subset of C\mathbb{C}, which a real ray from 0 misses for all but finitely many directions. The new ingredient is that the start system has no solutions at infinity, which bounds the paths in projective space. We cite it and do not prove it.

Termination of TRACK

Each pass of the loop L2 either accepts a step, which increases tt by h>0h > 0, or halves hh. In the first case the step count increases by one. In the second it also increases, and the return at L7 fires once h<hmin⁡h < h_{\min}. Line L9 returns after KK passes, so TRACK makes at most KK passes. When t+ht + h would exceed 1, line L3 sets h=1−th = 1 - t, and the code sets tt to exactly 1 in that case, so the loop condition at L2 becomes false. The refinement of the end point is a Newton iteration with an iteration cap, so it terminates as well.

Local rates

Along a nonsingular path, x(t)x(t) is analytic and solves x˙=−Hx−1Ht\dot x = -H_x^{-1}H_t. The classical Runge-Kutta method has local error O(h5)O(h^5) on such an equation, which the tests check: the ratio of the errors for hh and h/2h/2 is about 32. Newton's method on H(⋅,t+h)H(\cdot, t + h) converges quadratically from a predicted point close enough to the path, by the standard Newton theorem (Kantorovich), with a basin whose radius is proportional to 1/(∥Hx−1∥ ∥Hxx∥)1/(\|H_x^{-1}\|\,\|H_{xx}\|). Near a root of multiplicity mm, ∥Hx−1∥\|H_x^{-1}\| grows without bound as t→1t \to 1. The basin shrinks, the step size collapses, and the reference code reports "singular-end". The end point is then accurate to about u1/mu^{1/m} in the observed runs.

What is not proved

The step control of L5 to L7 is a heuristic. A small first correction and fast contraction make path jumping unlikely, but they do not exclude it, and on very ill conditioned problems the observed failures are real. Certified path tracking, which chooses steps by Smale's alpha theory or by interval enclosures, removes this gap and is cited on the page.

Back to Homotopy continuation