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