A Robust Path Tracking Algorithm For Homotopy Continuation
A Robust Path Tracking Algorithm For Homotopy Continuation
A Robust Path Tracking Algorithm For Homotopy Continuation
1996
Copyright 0 1996 Elscvicr Scicncc Ltd
Pergamon Printed in Great Britain. All rights rcscrvcd
,a /: 0098-1354(95)00199-9 009%1354/96
$15.00+0.00
1. INTRODUCTION
._.
that lead to all roots is guaranteed (Morgan, 1987). Fig. 1. Segment jumping in the multiple paths algorithm.
Given a known point on or near a homotopy path,
a path tracking algorithm follows the path by deter- than the distance between the two points. Figure 1
mining new points near the path. Most of the cur- schematically illustrates segment jumping in the
rently used path tracking algorithms are based on multiple paths algorithm (Morgan, 1987).
the predictor-corrector procedure, and use step size Generally, if segment jumping occurs, the complete
control algorithms based on the convergence pattern path may not be traced, and roots or other points of
of the corrector (Allgower, 1981) or the curvature of interest on the untraced segments may be missed.
the path currently being traced (den Heijer and Allgower and Georg (1980) indicate that the sign
Rheinboldt, 1981). As noticed by Allgower and of the determinant of the augmented Jacobian
Georg (1980) and by Morgan (1987), the path track- should be constant when a path without bifurcation
ing algorithms used in homotopy continuation is correctly traced. Allgower (1981) presented a path
systems suffer in practice from the problem of seg- tracking algorithm which monitors the sign of the
ment jumping, which can be roughly defined by the determinant of the augmented Jacobian in order to
arc length between the current point and the next locate a bifurcation point where the determinant is
point on the homotopy path being much greater zero. These properties of the determinant of the
augmented Jacobian are generalized in this work.
As a result, the segment jumping problem can be
t Currently at Department of Chemical Engineering,
Chonbuk National University, Korea. avoided by the determinant monitoring algorithm
$ To whom all correspondence should be addressed. presented here.
641
648 g. H. CHOI et ai.
[I
function h(x, t) such that h(x, 0) = g(x) and h(x, 1) = X
f(x), where teR is the homotopy parameter, and WE
E R”f’.
t
g: E c R” -+ R” is a continuous and smooth function
such that a solution to g(x) = 0, x0 E D c E is known. A point near the homotopy path after k continua-
The linear homotopy function is defined by tion steps is represented by
This function is usually defined for t E [0,11, and where sk(kaO) is the arc length traced from the
then it is called a convex homotopy, which means starting point to the current point, and for k> 1.
that h is a convex combination off and g. For convex ASk-,=Sk-Sk-,=~IWk-Wk-‘~~~. (5)
homotopies, each curve satisfying equation (2) and
connecting t = 0(x = x0) and t = 1(x = x*) is called a The Euler predictor is defined by the unit tangent
homotopy path. If we deal with the entire set of vector times the step size, i.e., the first order predic- --
curves of a homotopy system h(x, t) = 0 regardless of tor. The unit tangent vectors dw/d.r at s = Sk satisfy
the value of t, h is called a global homotopy and ‘< .-:
h-‘(O) is called global homotopy paths. Homotopy
continuation methods find a solution to f(x)=0 by
(6)
tracking the path from t = 0 [g(x) = 0; x=x”] to t = 1
[f(x) = 0; x=x*], if such a path exists.
2.5
2.0
1.5
w2 1.0
0.5
0.0
-0.5
-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0
Wl
.(12)
have been adopted in this work.
3.1 .I. Standard Base Vector (den Heijer and
Rheinboldt, 1981). The most popular method to
calculate a tangent is to solve
A corrected point is obtained by applying the full
step as follows.
vk,entl
$:I’ = w;+’ + Aw;+‘. (13)
This corrector process is repeated until the following
where ej(l c j< II + 1) is the jth coordinate standard
condition is satisfied.
base vector, which is a n+ 1 dimensional vector of
which the jth component is one and the other IIh(wfZ:f:)lb< a,, max(cSingIdet A(w”),
components are zero.
.. If [dwld.r(q)lT (ej)#O, this ]det A(wf:;)l”“) (14)
equation gives a tangent vector vk. In our case, the
where E,,, and Eying are small positive numbers, and A
above equation is used only for k = 0.
represents the matrix in equation (6). The final
3.1.2. Previous Tangent Vector (Watson et al.,
determinant is not raised to the power of l/n if it has
1987). The formula to be used for k 2 1 is as follows.
an absolute value less than 1. If the above condition
is satisfied, the latest corrected point is accepted as a
new point near the homotopy path as follows.
ticen+‘.
(9) Wk+r= w;2,‘. (15)
The errors of new points are independent of the
continuation history. Therefore, the parameter E,,,
If [dW/dY(S(Sk_,)]TdW/d.S(Sk)T#O, this equation
does not have to be extremely small during the
gives a tangent vector vk. The unit tangent vector is
continuation process, and can be reduced to the
obtained by
desired accuracy just near the points to be located.
k
dw Experimental results suggest the value of cCur= 10m5
,(sk,=&2 (10) during the continuation process and ccur= lo-’
during the search for a target point. The parameter
where ok = + 1 or - 1 is the direction factor. For
eSingis used to numerically define a singular point,
k b 1, the tangent vector in the forward direction,
and the experimental results suggest use of the value
which satisfies inequality (7), is automatically
of E.inp= lo-‘. These values work well unless the
obtained by using equations (9) and (10) with ok =
problem is poorly scaled.
+1.
The matrix in equation (6) is referred to as the
The next point near the homotopy path (predicted
augmented Jacobian of h (Allgower, 1981) at w=
point) is
wk, and represented by A(d), i.e.
dw
w^;+‘=w”+--(Sk)& (11)
ds
where dsk > 0 is the step size. A[w(s)] = (16)
(1) if 11
Aw:+‘112>a211Aw~+‘llz,then dsk~bsli/2
The augmented Jacobian has the following (2) or if I~Aw~+‘~~~<~,IIAw(;+‘~~~,
then r.&+, =26sk
properties. (3) otherwise, &+, = dsli .
(1) Reversing the path tracking direction changes Corvalan and Saita (1991), using an analysis ofthe
the sign of det A(w). Newton-Kantorovich theorem, attempt to keep the
(2) Rank A(W) = rank ahlaw + 1. Therefore number of corrector steps at each continuation point
det A(w) = 0 if and only if w is a singular point, constant. They claim that in order to achieve con-
where all II X II minors of ah/% are singular. vergence after a specified number of corrector steps
(3) If det A(w’) det A(w’+‘) < 0, a bifurcation point N, the error of the predicted point must lie between
is located on the arc between & and &+I upper and lower bounds given by
(Allgower, 1981).
II,e _ w;ll = [E;:W@/$ WW]
(1%
A corrector in a different direction can be
obtained by using a different bottom row of the for some 9 such that O< 0 s 1. & is a function of the
matrix in equation (12), for example, a standard successive errors of the Newton corrector steps and
base vector as in equation (8). Generally, it is E,, is the specified convergence tolerance. They use
efficient to use the same type of matrix for correc- this expression to yield an estimate of the error of
tion as for prediction. In our case, the matrix in the next predicted point which will require_&
equation (17), if is 1, is identical to the matrix in Newton corrector steps to achieve the specified
equation (12), and can be reused in LU-decomposed convergence and then calculate the necessary step
form in the next predictor process as the matrix in size.
equation (9). The third method of den Heijer and Rheinboldt
Another numerically adequate convergence cri- (1981) uses the local curvature and the ratio of
terion for the corrector process instead of inequality corrector size to step size to estimate the safe local
(14), adopted by Allgower and Georg (1980), is convergence radius, pk+‘, while requiring that
certain parameters lie between calculated maximal
Ilh(wk+L)IIc&Ilah/aw(w~+I)II (18) and minimal values.
where E is a small positive number. However, this
4.2. Prevention of segment jumping
criterion causes insufficient correction near a
singular or nearly singular point, and thus frequently Any quantity q [w(s)] which is a continuous func-
results in inefficient path tracking for bifurcating tion of arc length and which equals zero when the
homotopies. augmented Jacobian is rank deficient can be used to
detect bifurcation points or indicate the existence of
a near bifurcation point. Both the determinant of
4. STEP SIZE CONTROL the augmented Jacobian and the reciprocal of its
condition number have these properties, while the
determinant has the additional property that it will
4.1. Conventional algorithms change sign when a simple bifurcation point is
passed, or a higher order one where an odd number
A reasonable aim in the construction of the steps of eigenvalues of A[w(s)] have changed sign.
along a curve is to ensure that the number of Segment jumping is likely to occur when two
corrector iterations remains approximately constant segments of the homotopy path are close together.
(den Heijer and Rheinboldt, 1981). Most of the step Compare the real domain homotopy paths (solid
size control algorithms seek this aim. Some path lines) in Figs 3 and 5. Two segments of the hdmo-
tracking systems, such as HOMPACK (Watson et topy path that are connected (Fig. 3, solid line) or
al., 1987), PITCON (Rheinboldt and Burkardt. that are unconnected (Fig. 5, solid line) can be close
1983) and the algorithm of Corvalan and Saita to each other. If a starting point is selected which is
(1991) estimate appropriate step sizes analytically. near the starting point that gives real bifurcation,
Others, such as CONSOL (Morgan, 1987), use then two segments of the path will be close together
simple step size control strategies. For example, and the variable q[w(s)] will be close to zero. We
CONSOL (Morgan, 1987) uses the five rule: use the terminology, a near bifurcation point, to
Path tracking algdrithm 651
\
\ . t=o
\ . t=1
\
\ . dUds=O-
\
0 t=*m
- Im (2) = 0
.. --- Im(z)#O
I
\
-5 , , \
-4 -3 -2 -1 0 1 2 3 4 5 6 I I
---.‘-3.-2 -1 0 1 2 3 4 5 6
Re (q)
Fig. 3. Homotopy paths from the starting point (2.336, Re (2,)
- 2.5). Fig. 5. Homotopy paths from the staring point (2.337,
- 2.5).
Example 1-A:; f2-type curve. The following and 3, and maximum number of corrector
equation represents an extremely ill-behaved curve iterations = 4.
shown inFig. 2. (lb) Algorithm of Corvalan and Saita plus
determinant monitoring with ti= 0.5-.
h(w,, wr)= wr[4w:+(w7- l)‘- l] - 10-6=o. (21) (Monitoring of a continuation variable,
Let us.tr_ac_ethis curve from a starting point near the when the step size is being controlled by
curve (-2,O) in the direction (1,O). Since the this algorithm is achieved by temporarily
traced curve is almost a straight line except around updating the parameters a,, and 8 when a
(0,0),any conventional algorithm will increase the step size is halved.)
step size as much as possible at every continuation Algorithm of Corvalan and Saita (1991)
step, and segment jump unless it is extremely lucky. with the reciprocal of the condition
The segment jumping problem can be avoided by number (based on the Pi norm) monitored,
using the proposed step size control algorithm. The with a = 0.5.
empty squares in Fig. 2 are the continuation points Algorithm of Corvalan and Saita with
without the q monitoring phase, and the dots are the l/x,,,(A) monitored, the estimate made
continuation points obtained by determinant moni- using the algorithm of Cline et al. (1979).
toring with .a = 0.5. (24 Algorithm of Allgower and Georg (1980)
Example 2-A circle. Consider the curve repre- with &,=0.05, a,=0.05, ar=0.5 and
sented by the following equation. maximum number of corrector iterations =
4.
h(w,, w,)=w:+w:-l=O. (21) (2b-d) Algorithm (2a) with the same parameters
It can be shown that if this circle is traced clockwise, and the variable q monitored as in (l$g:
det A= - 2 anywhere on the curve. Therefore, the (3a) PITCON Version 6.1 (Rheinboldt and
determinant control phase in any step size control Burkardt, 1983), with all parameters set to
algorithm in this case does not cause any loss in the the default values.
curve tracking efficiency. Generally, when a curve (3b) PITCON with default parameter values
without near bifurcation is traced, there is only a and either the determinant or conditon
small change in det A for a relatively large step size, number monitored. (PITCON augments
and therefore the loss in efficiency caused by deter- the Jacobian with a standard base vector of
minant control is also small. dimension n + 1 in the bottom row. Hence,
a continuation variable is monitored only
5. PERFORMANCE EVALUATION when the previous point was calculated
with the same base vector augmenting the
Jacobian.)
5.1. Program HOMES
(4a) Mkthod III of den Heijer and Rheinboldt
The algorithm presented here has been coded into (1981) with 6s,,= 0.05, adh= 0.05, 6’= lo-’
an interactive subroutine HOMCON, which is dri- and xdh= 3.0.
ven by a conversational program, HOMES (HOMo- (4d-b) Algorithm (4a) with the same parameters
topy Equation Solver). This program starts either and the variable q montored as in (lb-d).
from the real domain or from the complex domain.
If the real domain calcuiation mode is selected, Test problems presented here are global homotopy
complex domain calculation is performed only when paths in the complex space (with the exception of
it. is necessary, for example, when it is told to PITCON, where all calculations are in the real
bifurcate to the complex domain from a turning domain), with near bifurcations obtained from the
point with respect to t. This program locates roots, fixed point homotopy, i.e.,
turning points, bifurcation points, and starting u(z, t) = tf(z) + (1 - t) (z - z”) = 0 (23)
points using the inverse Hermite cubic interpolation
(Watson et al., 1987). for the following system of equations. .
the real domain of the curves’in the complex domain PITCON, which tracked the homotopy path
(nonzero imaginary parts). Each point on the pro- wholly in the real domain, located the first two roots
jection of the complex curves corresponds to a and then made a large jump onto the negative t
conjugate pair of complex vectors. portion of the homotopy path and was thus unable
to locate any subsequent roots. However, when a
5.3. Results ‘: .~_ monitoring phase was implemented into PITCON’.
The positive t portion of the real homotopy path with a = 0.5,the correct path was followed with only
in Fig. 3 was traced in the complex space. The 17 additional step halvings necessary when the
determiant of the augmented Jacobian defined by determinant was monitored and seven additional
equation (17) is - 11.22 at the starting point and step halvings ‘when the reciprocal of the condition
about +0.09 at the near bifurcation points and number was monitored.
HIKE is 4.41x 10m2at the starting point and about As can be seen from the tables, most of the step
1.4 x 10m4 at the near bifurcation points. Tables halvings take place in the Rl-Bl and B3-R4 seg-
l(a-d) show the results of path tracking with the q ments where the near bifurcation points are located.
monitoring phase. This indicates that such monitoring decreases
Algorithms (2a) and (4a) with a=0 segment efficiency significantly only in the neighborhood of
jumped twice. As a result, all roots were found near bifurcation points.
(good fortune from poor path tracking) but in a The positive t portion of the ral homotopy path in
different sequence. The correct path was traced by Fig. 5 was traced in the complex space. There are
algorithms (2a-d), for ~~20.34 when the determi- two segments unconnected in the real domain. If the
nant is monitored, for aSO. when the condition path is followed correctly, only two real roots will be
number is monitored, and for aS0.63 when an located. Algorithms (la) with N=3, (2a) and (4a),
estimate of the condition number is monitored. for a = 0, jumped from the main path to the isola,
Algorithms (4a-d) required the respective values of circled the isola and jumped back to the main path,
a to be greater than or equal to 0.49, 0.37 and 0.60 hence finding all roots. The path was followed cor-
for the correct homotopy path to be followed with rectly with determinant monitoring, for a 5 0.027
the given parameters used. using algorithm (lb), a Z=0.24 using (2b), and for
Algorithm (la), both when the desired number of a 20.42 when (4b) is used. No monitoring of the
corrector iterations, N, is two or three, segment continuation variable q [w(s)] was necessary for
jumped over the second near bifurcation point and algorithm (la) with N=2.
then returned to the starting point. The traced path PITCON, with the parameters set to their default
is a fixed point homotopy which cannot return to the values, jumped from the main path to the isola after
(non-singular) starting point if the path is correctly locating one root on the main path, found one root
followed. For N = 2, the correct path is traced when on the isola, and then jumped onto the negative t
aa0.22, 0.27, and 0.31 for determinant, condition portion of the homotopy path, from which it could
number, and estimate of condition number monitor- locate no further roots. The path was followed
ing, respectively. When N=3, the correct path is correctly using the installed determinant monitoring
traced when as0.16, 0.14 and 0.51. with a = 0.5, which caused only eight additional step
halvings.
It should be noted that in all cases, the correct
path can be followed without the monitoring phase,
by altering the relevant parameters that will ensure
step-sizes consistently small enough. These values
. dt/dsrO can be found experimentally, and for this problem
0 t=*m lead to an overall increase in the number of LU
- Im (2) = 0
--- Irn(Z)#O decompositons required for each algorithm, com-
pared to the same algorithm used with less stringent
values and a monitoring phase.
-0.4-
6.CONCLUSION
Table 1, Results of pftp tracking (a) Algorithm of Allgowcr and Gcorg (1980) with ds,, = 0.05. o, = 0.C15.or = 9.5 and ,max. COT.= 4
s 0 0 0 0 s 0 0 0 0 s 0 0 0 0
RI 112 42 10 9 Rl 58 22 7 1 RI 103 37 9 i 10
BI ‘i/289 92 I6 38 Bl 240 71 I2 32 Bl 336 96 13;. 57
R2 369 120 24 45 R2 316 102 21 34 R2 470 137 26 80
82 444 147 30 55 82 386 132 29 38 52 594 168 21 111
R3 504 169 36 63 R3 443 I58 38 40 R3 694 202 28 127
83 657 215 44 83 B3 570 199 47 48 B3 919 257 32 173
R4 840 275 53 II4 R4 732 251 55 74 R4 1363 352 40 2%
(h) Algorithm of Corvalrln and Saita (1991) with N=2. &=6.05, E,,= 1.0X 10mJ, 8=0.05 and max. car. =4
S 0 0 0 0 s 0 0 0 0 s 0 0 0 0
RI 69 30 6 0 RI 69 30 6 0 RI 69 30 6 ,O
Bl 166 64 6 8 Bl 251 92 7 23 Bl 224 86 7 17
R2 254 100 I2 13 R2 319 121 I2 26 R2 306 120 I3 23
B2 321 123 I3 22 B2 386 144 13 35 B2 417 I59 I4 38
R3 389 154 19 25 R3 444 171 19 37. R3 509 196 20 .47
83 526 203 20 42 B3 562 213 20 50 B3 643 245 21 61 ..
R4 683 265 25 55 R4 716 275 576 63 R4 879 325 26 97
(c) Algorithm of Corvalan and Saita (1991) with N=3, dsa=O.O5, E,,= 1.0X lo-‘. 0=0.05 and max. car. =4 __ __
S 0 0 0 s 0 0 0 0 s 0 0 0 0
RI 26 7 3 Rl 76 23 6 7 Rl’ 77 26 7 3
Bl 250 77 8 28 Bl 263 80 8 35 Bl 214 64 9 16
R2 341 103 14 35 R2 341 104 14 39 R2 314 97 I5 23
B2 422 128 15 46 B2 422 129 I5 50 B2 385 I19 16 32
R3 491 153 21 ‘53 R3 494 158 22 55 R3 458 146 23 39
B3 644 197 22 75 B3 599 1% 24 67 B3 559 II7 25 50
R4 829 256 28 97 R4 765 242 30 85 R4 729 227 31 74
(d) Algorithm III of den Heijer and Rheinboldt (1981) with b’=l.Ox lo-‘, adh=5.Ux lo-‘. cd,“= I.05 and ~~=3.0
Determinant monitored Condition number monitored Estimate of conditon number monitored
a=0.5 a=0.5 a=0.6
Point LUd Cont Search Det Point LUd Cont Search &nd Point LUd Cont Search Condest
S 0 0 0 0 s 0 0 0 0 s 0 0 0 0
Rl 95 36 8 2 Rl 77 29 6 I Rl 67 27 6 0
Bl 280 82 13 31 Bl 307 86 14 38 Bl 267 81 I4 26
R2 363 II2 21 35 R2 379 II4 21 40 R2 358 II2 21 35
B2 431 139 27 40 B2 447 I41 27 45 82 461 144 26 53
R3 492 165 35 _ 508 167 35 47 R3 525 169 33 58
B3 648 213 43 y8 ;; 647 211 43 59’ B3 716 220 39 93
R4 861 266 52 82 R4 735 250 55 59 R4’ 1436 333 47 176
that a = 0.667 prevents segment jumping when an condition number at each continuation point is equi-
estimate of the condition number is used. valent to that of an extra LU decomposition each
Monitoring the condition number results in a slight time. The method of estimating the condition
decrease in the number of LU decompositions number by Cline et al. (1979) makes it considerably
required but overall is much less efficient than deter- cheaper to calculate, but the uncertainty of its accur-
minant monitoring, as the cost of calculating the acy, which generally is such that 0.1 G
Path tracking algorithm 655
K&A)/K,(A) < 1.0, gives riseto a higher LUd count, Ediv= measure of corrector divergence for den
Heijer and Rheinboldt algorithm
and a higher value of 6 necessary to prevent seg- E,~= upper bound of corrector-convergence for
ment jumping, than both the determinant and con- algorithm of Corvalan and Saita
dition number monitoring. 6 = step size parameter for algorithm of Coriralfin~
and Saita (O<fIsl)
It is proposed that determinant monitoring is the K, = condition number based on C, norm
,.
superior monitoring phase for preventing segment K~., = estrmate of K,
jumping in the continuation space, especially when K~,,. /K,,~ = maXhUm and minimum relative step size
change for den Heijer and Rheinboldt algor-
homotopy techniques are being used to solve ithm
medium to large scale problems, where the addi- rl = function of successive errors of the corrector
tional CPU time required for the other phases of steps used in algorithm of Corvdlan and Saita
u = direction factor (u = + 1)
monitoring makes them infeasible. Determinant
monitoring has also been shown to be a more Subscripts and superscripts