# A review on Homotopy Continuation Methods for Polynomial Systems

A review on Homotopy Continuation Methods for Polynomial Systems

A review on Homotopy Continuation Methods for Polynomial Systems

### You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A <str<strong>on</strong>g>review</str<strong>on</strong>g> <strong>on</strong> <strong>Homotopy</strong> C<strong>on</strong>tinuati<strong>on</strong> <strong>Methods</strong><br />

<strong>for</strong> <strong>Polynomial</strong> <strong>Systems</strong><br />

❦<br />

Weiran Wang<br />

EECS, UC Merced<br />

wwang5@ucmerced.edu

Problem Setting<br />

❖ A polynomial p ∈ C[x] is a finite sum of terms c a x a . Each term is the product<br />

of a coefficient c a ∈ C and a m<strong>on</strong>omial x a = x a 1<br />

1 xa 2<br />

2 · · ·xa n<br />

n . Exp<strong>on</strong>ent<br />

a = [a 1 , a 2 , . . .,a n ] are n n<strong>on</strong>negative integers. a 1 + a 2 + · · · + a n is the<br />

degree of term c a x a . The degree of a polynomial is the biggest degree of its<br />

terms. A homogeneous polynomial is a polynomial whose m<strong>on</strong>omials with<br />

n<strong>on</strong>zero coefficients all have the same degree.<br />

❖ We c<strong>on</strong>sider a polynomial system f(x) = 0 of N equati<strong>on</strong>s<br />

f = (f 1 , f 2 , . . .,f N ) in n variables x = (x 1 , x 2 , . . .,x n ) with complex<br />

coefficients, f i (x) ∈ C[x], <strong>for</strong> i = 1, 2, . . ., N.<br />

❖ The Jacobian matrix of the system f(x) = 0 is the matrix of all first partial<br />

derivatives, denoted by ∂f<br />

∂x = [<br />

∂fi<br />

∂x j<br />

], <strong>for</strong> i = 1, 2, . . .,N and j = 1, 2, . . .,n.<br />

❖ Here we focus <strong>on</strong> square polynomial systems which c<strong>on</strong>tain as many<br />

equati<strong>on</strong>s as unknowns, i. e., N = n, and aim at obtaining all isolated zeros<br />

of the system.<br />

– p. 1

Soluti<strong>on</strong>s<br />

❖ Symbolic soluti<strong>on</strong>s: Groebner Basis, Resultant Method, Wu’s<br />

Method<br />

✦ obtain accurate zeros<br />

✦ expensive in terms of both time and space<br />

✦ limited ability of expressing the zeros<br />

❖ Numerical soluti<strong>on</strong>s: Newt<strong>on</strong>-Raphs<strong>on</strong>’s Method<br />

✦ simple <strong>for</strong>m<br />

∂f<br />

∂x (x0 )∆x = −f(x 0 )<br />

x 1 = x 0 + ∆x<br />

✦ quadratic c<strong>on</strong>vergence<br />

✦ sensitive to initial value, locally c<strong>on</strong>vergent<br />

❖ <strong>Homotopy</strong> C<strong>on</strong>tinuati<strong>on</strong> <strong>Methods</strong>: globally c<strong>on</strong>vergent,<br />

exhaustive solvers<br />

– p. 2

Linear <strong>Homotopy</strong><br />

To solve a target system f(x) = 0, we c<strong>on</strong>struct a start system<br />

g(x) = 0 and define the artificial-parameter homotopy<br />

h(x,t) = γ(1 − t)g(x) + tf(x) = 0, γ ∈ C, t ∈ [0, 1].<br />

The c<strong>on</strong>stant γ is a random c<strong>on</strong>stant number, also called the<br />

accessibility c<strong>on</strong>stant. The t is the c<strong>on</strong>tinuati<strong>on</strong> parameter and<br />

varies from 0 to 1, de<strong>for</strong>ming the start system g into the target<br />

system f, i. e., h(x, 0) = g(x) and h(x, 1) = f(x).<br />

– p. 3

Start System<br />

The start system g should be chosen correctly so that the following<br />

three properties hold.<br />

❖ Property 0 (Triviality). The zeros of g(x) = 0 are known.<br />

❖ Property 1 (Smoothness). The zero set of h(x,t) = 0 <strong>for</strong><br />

0 ≤ t ≤ 1 c<strong>on</strong>sists of a finite number of smooth paths (called<br />

homotopy curves), each parameterized by t in [0, 1).<br />

❖ Property 2 (Accessibility). Every isolated zero of<br />

h(x, 1) = f(x) = 0 can be reached by some path originating at<br />

t = 0. It follows that this path starts at a zero of<br />

h(x, 0) = g(x) = 0.<br />

Property 1 & 2 are guaranteed generalized Sard’s Theorem.<br />

– p. 4

<strong>Homotopy</strong> Curves<br />

❖ (the gamma trick) For almost all choices of complex c<strong>on</strong>stant γ,<br />

all soluti<strong>on</strong> paths defined by the homotopy<br />

h(x,t) = γ(1 − t)g(x) + tf(x) = 0 are regular, i. e.: <strong>for</strong> all<br />

t ∈ [0, 1), the Jacobian matrix of h(x,t) is regular and no path<br />

diverges.<br />

❖ We <strong>on</strong>ly need to c<strong>on</strong>sider two types of homotopy curves<br />

✦ starts from a zero of g(x) = 0 and ends at a zero of f(x) = 0<br />

✦ starts from a zero of g(x) = 0 but diverge to infinity when<br />

t → 1<br />

❖ In other words, it is quite possible <strong>for</strong> g(x) = 0 to have more<br />

soluti<strong>on</strong>s than f(x) = 0.<br />

– p. 5

<strong>Homotopy</strong> Curves (c<strong>on</strong>t.)<br />

Bounded and unbounded homotopy curves<br />

– p. 6

A typical choice of start system<br />

A typical choice which satisfies Properties 0–2 is,<br />

g 1 (x 1 ,...,x n ) = a 1 x d 1<br />

1 − b 1 ,<br />

.<br />

g n (x 1 ,...,x n ) = a n x d n<br />

n − b n ,<br />

where d 1 ,...,d n are the degrees of f 1 (x),...,f n (x) respectively,<br />

and a j ,b j are random complex numbers (and there<strong>for</strong>e n<strong>on</strong>zero<br />

with probability <strong>on</strong>e).<br />

This system produces d = d 1 ...d n paths since g(x) = 0 has d<br />

isolated n<strong>on</strong>singular soluti<strong>on</strong>s. System f(x) = 0 is called deficient<br />

if it has less than d soluti<strong>on</strong>s.<br />

– p. 7

Bezout’s Theorem<br />

(Bezout’s Theorem) The number of isolated zeros, counting<br />

multiplicities, of f(x) in C n , is bounded above by the Bezout<br />

number d = d 1 · · · d n .<br />

In practice, this bound could be very loose <strong>for</strong> deficient systems.<br />

For example, the following Cassou-Nogues system<br />

has <strong>on</strong>ly 16 isolated zeros, but the above start system will produce<br />

d 1 × d 2 × d 3 × d 4 = 7 × 8 × 6 × 4 = 1344 paths. (mixed volume: 24)<br />

– p. 8

Mixed Volume<br />

❖ C<strong>on</strong>sider the polynomial system f(x) = (f 1 (x), . . ., f n (x)) = 0. For<br />

i = 1, 2, . . .,n, the support A i of f i collects the exp<strong>on</strong>ents of x of those<br />

m<strong>on</strong>omials which occur in f i with n<strong>on</strong>zero coefficient, so we can write<br />

f i (x) = ∑ a∈A i<br />

c a x a . The Newt<strong>on</strong> polytope P i of f i is the c<strong>on</strong>vex hull of the<br />

support A i of f i , i. e., P i = c<strong>on</strong>v (A i ).<br />

❖ (Minkowski’s theorem) Given an n-tuple of polytopes (P 1 , P 2 , . . .,P n ), the<br />

volume of a general linear combinati<strong>on</strong> of these polytopes, denoted by<br />

V (λ 1 P i + λ 2 P 2 + · · · + λ n P n ), is a homogeneous polynomial of degree n in<br />

λ 1 , λ 2 , . . .,λ n . The coefficient of λ 1 λ 2 · · ·λ n in this polynomial is the mixed<br />

volume V (P 1 , P 2 , . . .,P n ) of the n-tuple.<br />

– p. 9

Root Count<br />

(Bernshtein’s theorem, 1965) Let f(x) = (f 1 (x),...,f n (x)) = 0, and<br />

A i is the support of f i , i = 1,...,n. The number of isolated zeros,<br />

counting multiplicities, of f(x) in C n , is bounded above by the mixed<br />

volume M = V (c<strong>on</strong>v (A 1 ∪ {0}) ,...,c<strong>on</strong>v (A n ∪ {0})) .<br />

C<strong>on</strong>sider the following start system<br />

g 1 (x 1 , . . .,x n ) = ∑<br />

a∈A ′ 1<br />

.<br />

g n (x 1 , . . .,x n ) = ∑<br />

c 1,a x a ,<br />

c n,a x a ,<br />

a∈A ′ n<br />

where A ′ i = A i ∪ {0}, and c i,a are generated randomly, i = 1, . . .,n. Then<br />

g(x) = 0 has exactly M isolated zeros in (C \ {0}) n with probability <strong>on</strong>e.<br />

– p. 10

Polyhedral <strong>Homotopy</strong><br />

Let t denote a new complex variable and c<strong>on</strong>sider the polynomial<br />

system q(x,t) = (q 1 (x,t),...,q n (x,t)) = 0 in the n + 1 variables<br />

given by<br />

q 1 (x,t) = ∑ a∈A ′ 1<br />

c 1,a x a t w 1(a) ,<br />

.<br />

q n (x,t) = ∑ a∈A ′ n<br />

c n,a x a t w n(a) ,<br />

where each w i : A ′ i → R <strong>for</strong> i = 1,...,n is chosen generically. It<br />

can be regarded as a homotopy defined <strong>on</strong> (C \ {0}) n × [0, 1],<br />

known as polyhedral homotopy. It also satisfies Properties 0–2 and<br />

has M homotopy curves.<br />

– p. 11

Polyhedral <strong>Homotopy</strong> (c<strong>on</strong>t.)<br />

By some substituti<strong>on</strong> of variables x = yt α , we could obtain system q α (y, t) = 0.<br />

Each homotopy curve of q α (y, t) = 0 ends at an isolated zero of<br />

g(y) = q α (y, 1) = 0, and originates from a zero of the following Binomial System<br />

q1 α (y, t) =<br />

.<br />

q α n(y, t) =<br />

c 11 y a(1) 1 + c 12 y a(1) 2 = 0,<br />

c n1 y a(n) 1 + c n2 y a(n) 2 = 0,<br />

which has exactly<br />

k α ≡<br />

⎛<br />

det⎜<br />

⎝<br />

∣<br />

a (1)<br />

1 − a (1)<br />

2<br />

.<br />

a (n)<br />

1 − a (n)<br />

2<br />

⎞<br />

⎟<br />

⎠<br />

∣<br />

n<strong>on</strong>singular soluti<strong>on</strong>s in (C \ {0}) n .<br />

– p. 12

Path Tracking<br />

predictor-corrector methods:<br />

❖ from an approximate soluti<strong>on</strong> point to the path, a predictor gives a new<br />

approximate point a given step size al<strong>on</strong>g the path (<strong>for</strong> example, an Euler<br />

predictor steps ahead al<strong>on</strong>g the tangent to the path)<br />

❖ then a corrector brings this new point closer to the path (usually Newt<strong>on</strong>’s<br />

method)<br />

– p. 13

Step length c<strong>on</strong>trol and failure<br />

❖ Initialize Select: an initial step size, s; the number of corrector iterati<strong>on</strong>s allowed per<br />

step, N ≤ 1; the step adjustment factor, a ∈ (0,1); the step expansi<strong>on</strong> integer,<br />

M ≤ 1; and a minimum step size s min .<br />

❖ Predict Estimate a new point near the path whose distance from the current point is<br />

the step size s.<br />

❖ Correct Iteratively improve the new path point, c<strong>on</strong>straining its distance from the<br />

prior path point. Allow at most N iterati<strong>on</strong>s to reach the specified tolerance.<br />

❖ On success If the tolerance is achieved:<br />

✦ Update the current path point to be the newly found path point.<br />

✦ If we have reached the final value of t, exit with success.<br />

✦ If there have been M successes in a row, expand the step size to s = s/a.<br />

❖ On failure If the tolerance is not achieved:<br />

✦ Cut the step size to s = as.<br />

✦ If s < s min , exit with failure.<br />

❖ Loop Go back to Predict.<br />

N should be set to be small (2 or 3). Otherwise a bad predicti<strong>on</strong> might ultimately c<strong>on</strong>verge, but it may<br />

wander first and become attracted to a completely different path in the homotopy.<br />

– p. 14

Isolated Singularities<br />

The c<strong>on</strong>vergence of Newt<strong>on</strong>’s method slows down to a<br />

halt when approaching a singular soluti<strong>on</strong>.<br />

Soluti<strong>on</strong>: Deflati<strong>on</strong> — effective rec<strong>on</strong>diti<strong>on</strong>er, restore quadratic<br />

c<strong>on</strong>vergence<br />

C<strong>on</strong>sider polynomial system f(x) = 0 of N equati<strong>on</strong>s in n unknowns. Let R be<br />

the rank of the Jacobian at an isolated singular root x ∗ . We define a deflati<strong>on</strong> of<br />

f at x ∗ as the system<br />

F(x, λ) =<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

f(x) = 0<br />

∂f<br />

∂x Bλ = 0<br />

hλ = 1<br />

using R + 1 multipliers λ = (λ 1 , λ 2 , . . .,λ R+1 ) as extra variables, together with an<br />

N-by-(R + 1) matrix B of random complex numbers and a random vector of<br />

R + 1 complex coefficients h.<br />

– p. 15

Isolated Singularities (c<strong>on</strong>t.)<br />

Theorem: The number of deflati<strong>on</strong>s needed to restore the<br />

quadratic c<strong>on</strong>vergence of Newt<strong>on</strong>’s method c<strong>on</strong>verging to an<br />

isolated soluti<strong>on</strong> is strictly less than the multiplicity of the isolated<br />

soluti<strong>on</strong>.<br />

Let f 1 ,...,f s ∈ C[x 1 ,...,x n ], I =< f 1 ,...,f s > is the ideal<br />

generated by the system, p = (p 1 ,...,p n ) is an isolated zero of the<br />

system, M =< x 1 − p 1 ,...,x n − p n >, then the multiplicity of p is<br />

defined as<br />

and it is finite.<br />

m(p) = dim C C[x 1 ,...,x n ] M /IC[x 1 ,...,x n ] M ,<br />

– p. 16

Example with PHC package<br />

PHCpack: a general-purpose solver <strong>for</strong> polynomial systems<br />

by homotopy c<strong>on</strong>tinuati<strong>on</strong><br />

Algorithm 795 in ACM Trans. Math. Softw.<br />

Jan Verschelde<br />

Available atØØÔ»»ÛÛÛºÑØºÙºÙ»Ò»<br />

– p. 17

References<br />

[1] Jan Verschelde. <strong>Homotopy</strong> <strong>Methods</strong> <strong>for</strong> Solving <strong>Polynomial</strong><br />

<strong>Systems</strong>, tutorial at ISSAC 2005, July 24-27, 2005. Key<br />

Laboratory of Mathematics Mechanizati<strong>on</strong>, Beijing, China<br />

[2] Tien-Yien Li. Solving <strong>Polynomial</strong> <strong>Systems</strong> By Polyhedral<br />

Homotopies. Taiwanese Journal Of Mathematics, Vol. 3, No.<br />

3, pp. 251-279, September 1999.<br />

[3] Daniel J. Bates et al. Adaptive Multiprecisi<strong>on</strong> Path Tracking.<br />

SIAM Journal <strong>on</strong> Numerical Analysis, Vol. 46, pp. 722-746,<br />

2008.<br />

[4] Ant<strong>on</strong> Leykin, Jan Verschelde, Ailing Zhao. Newt<strong>on</strong>’s method<br />

with deflati<strong>on</strong> <strong>for</strong> isolated singularities of polynomial systems.<br />

Theor. Comput. Sci. 359(1-3): 111-122 (2006).<br />

[5] David A. Cox, John B. Little, D<strong>on</strong> O’Shea. Using Algebraic<br />

Geometry (Sec<strong>on</strong>d Editi<strong>on</strong>), Graduate Texts in Mathematics,<br />

Volume 185, Springer, 2005.<br />

– p. 18