a robust path tracking algorithm for homotopy continuation

9
Pergamon ,a /: Computers them. Engng Vol. 20. No. 617. pp. Ml-655. 1996 Copyright 0 1996 Elscvicr Scicncc Ltd Printed in Great Britain. All rights rcscrvcd 0098-1354(95)00199-9 009%1354/96 $15.00+0.00 A ROBUST PATH TRACKING ALGORITHM FOR .i. - HOMOTOPY CONTINUATION ,. S. H. CHOI,~ D. A. HARNEY and N. L. BOOKS Department of Chemical Engineering, University of Missouri-Rolla, Rolla. MO 65401, U.S.A. (Received 7 April 1995; received for publication II May 1995) Abstract-Conventional path tracking algorithms used in homotopy continuation systems sometimes miss roots owing to jumping from one segment of the homotopy path to another even if there exists homotopy paths to the roots. A robust path tracking algorithm is proposed which loses significant efficiency only on those portions of the path where segment jumping is likely to occur. The method presented here basically performs the predictor-corrector procedure using the Euler predictor and the Newton corrector. Any available algorithm can be used to control the step size. Robustness is achieved by adding the following rule: control the step size so that each continuation step causes a reasonably small change in the determinant of the augmented Jacobian. Case studies have shown that allowing -50 to + 100% change virtually eliminates segment jumping in all the path- tracking algorithms tested. The determinant monitoring step size control algorithm can be applied to most of the currently available path tracking algorithms so that extremely tangled homotopy paths can be traced, finding all roots on them. 1. INTRODUCTION ._. Homotopy continuation methods find roots of systems of nonlinear equations by tracking the homotopy path from one or multiple starting points. There are now software packages such as CONSOL (Morgan, 1987) or HOMPACK (Watson et al., 1987) that can determine all real and complex roots of systems of polynomial equations without requir- ing any user-supplied initial guesses. These systems use the multiple paths algorithm for polynomial systems for which the existence of homotopy paths that lead to all roots is guaranteed (Morgan, 1987). Given a known point on or near a homotopy path, a path tracking algorithm follows the path by deter- mining new points near the path. Most of the cur- rently used path tracking algorithms are based on the predictor-corrector procedure, and use step size control algorithms based on the convergence pattern of the corrector (Allgower, 1981) or the curvature of the path currently being traced (den Heijer and Rheinboldt, 1981). As noticed by Allgower and Georg (1980) and by Morgan (1987), the path track- ing algorithms used in homotopy continuation systems suffer in practice from the problem of seg- ment jumping, which can be roughly defined by the arc length between the current point and the next point on the homotopy path being much greater t Currently at Department of Chemical Engineering, Chonbuk National University, Korea. $ To whom all correspondence should be addressed. t=o t=1 Fig. 1. Segment jumping in the multiple paths algorithm. than the distance between the two points. Figure 1 schematically illustrates segment jumping in the multiple paths algorithm (Morgan, 1987). Generally, if segment jumping occurs, the complete path may not be traced, and roots or other points of interest on the untraced segments may be missed. Allgower and Georg (1980) indicate that the sign of the determinant of the augmented Jacobian should be constant when a path without bifurcation is correctly traced. Allgower (1981) presented a path tracking algorithm which monitors the sign of the determinant of the augmented Jacobian in order to locate a bifurcation point where the determinant is zero. These properties of the determinant of the augmented Jacobian are generalized in this work. As a result, the segment jumping problem can be avoided by the determinant monitoring algorithm presented here. 641

Upload: sh-choi

Post on 21-Jun-2016

214 views

Category:

Documents


2 download

TRANSCRIPT

Pergamon ,a /:

Computers them. Engng Vol. 20. No. 617. pp. Ml-655. 1996 Copyright 0 1996 Elscvicr Scicncc Ltd

Printed in Great Britain. All rights rcscrvcd 0098-1354(95)00199-9 009%1354/96 $15.00+0.00

A ROBUST PATH TRACKING ALGORITHM FOR

.i. - HOMOTOPY CONTINUATION ,.

S. H. CHOI,~ D. A. HARNEY and N. L. BOOKS Department of Chemical Engineering, University of Missouri-Rolla, Rolla. MO 65401, U.S.A.

(Received 7 April 1995; received for publication II May 1995)

Abstract-Conventional path tracking algorithms used in homotopy continuation systems sometimes miss roots owing to jumping from one segment of the homotopy path to another even if there exists homotopy paths to the roots. A robust path tracking algorithm is proposed which loses significant efficiency only on those portions of the path where segment jumping is likely to occur.

The method presented here basically performs the predictor-corrector procedure using the Euler predictor and the Newton corrector. Any available algorithm can be used to control the step size. Robustness is achieved by adding the following rule: control the step size so that each continuation step causes a reasonably small change in the determinant of the augmented Jacobian. Case studies have shown that allowing -50 to + 100% change virtually eliminates segment jumping in all the path- tracking algorithms tested.

The determinant monitoring step size control algorithm can be applied to most of the currently available path tracking algorithms so that extremely tangled homotopy paths can be traced, finding all roots on them.

1. INTRODUCTION ._.

Homotopy continuation methods find roots of systems of nonlinear equations by tracking the homotopy path from one or multiple starting points. There are now software packages such as CONSOL (Morgan, 1987) or HOMPACK (Watson et al., 1987) that can determine all real and complex roots of systems of polynomial equations without requir- ing any user-supplied initial guesses. These systems use the multiple paths algorithm for polynomial systems for which the existence of homotopy paths that lead to all roots is guaranteed (Morgan, 1987).

Given a known point on or near a homotopy path, a path tracking algorithm follows the path by deter- mining new points near the path. Most of the cur- rently used path tracking algorithms are based on the predictor-corrector procedure, and use step size control algorithms based on the convergence pattern of the corrector (Allgower, 1981) or the curvature of the path currently being traced (den Heijer and Rheinboldt, 1981). As noticed by Allgower and Georg (1980) and by Morgan (1987), the path track- ing algorithms used in homotopy continuation systems suffer in practice from the problem of seg- ment jumping, which can be roughly defined by the arc length between the current point and the next point on the homotopy path being much greater

t Currently at Department of Chemical Engineering, Chonbuk National University, Korea.

$ To whom all correspondence should be addressed.

t=o t=1

Fig. 1. Segment jumping in the multiple paths algorithm.

than the distance between the two points. Figure 1 schematically illustrates segment jumping in the multiple paths algorithm (Morgan, 1987). Generally, if segment jumping occurs, the complete path may not be traced, and roots or other points of interest on the untraced segments may be missed.

Allgower and Georg (1980) indicate that the sign of the determinant of the augmented Jacobian should be constant when a path without bifurcation is correctly traced. Allgower (1981) presented a path tracking algorithm which monitors the sign of the determinant of the augmented Jacobian in order to locate a bifurcation point where the determinant is zero. These properties of the determinant of the augmented Jacobian are generalized in this work. As a result, the segment jumping problem can be avoided by the determinant monitoring algorithm presented here.

641

648 g. H. CHOI et ai.

2. HOMOTOF’~‘~~6NTINUATION METHODS

Consider a system of equations

f(x) = 0 (1)

where .f: D c R”-+ R” is a continuous and smooth ..~ - function. A homotopy is defined by a continuous function h(x, t) such that h(x, 0) = g(x) and h(x, 1) = f(x), where teR is the homotopy parameter, and 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. The linear homotopy function is defined by

h(x, t) = tf(x) + (1 - t)g(x) = 0 (2)

This function is usually defined for t E [0, 11, and then it is called a convex homotopy, which means that h is a convex combination off and g. For convex homotopies, each curve satisfying equation (2) and connecting t = 0(x = x0) and t = 1 (x = x*) is called a homotopy path. If we deal with the entire set of curves of a homotopy system h(x, t) = 0 regardless of 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 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

3. PREDICTOR-CORRECTOR PROCEDURE

3. I. Euler predictor _ _ -~~

Hereafer, the following vector represents a point in the continuation space.

,.

X WE [I E R”f’.

t

A point near the homotopy path after k continua- tion steps is represented by

Wk = w(sk) (4)

where sk(kaO) is the arc length traced from the starting point to the current point, and for k> 1.

ASk-,=Sk-Sk-,=~IWk-Wk-‘~~~. (5)

The Euler predictor is defined by the unit tangent vector times the step size, i.e., the first order predic- -- tor. The unit tangent vectors dw/d.r at s = Sk satisfy

‘< .-:

(6)

-2.0 -1.5 -1.0 -0.5 0.0 0.5

Wl

Fig. 2. Results of curve tracking for Example 1.

1.0 1.5 2.0

Path tracking algorithm

where en+’ is a II + 1 dimensjopal vector of which the n + 1st component-equals one and the other compo- nents are zero. Furthermore, to keep the path track- ing direction consistent, the unit tangent vectors for k > 1 must satisfy the following condition.

649

locally convergent. If the predicted point is suffi- ciently close to the curve, the corrector iteration is guaranteed to converge to a point on the exact curve (den Heijer and Rheinboldt, 1981). Note that if H’L is sufficiently close to the homotopy path, equation (11) with a sufficiently small 6sk gives w[+’ which is .’ sufficiently close to the homotopy path. (7)

If the norm of the tangent vector is left to later adjustment, the bottom row of the matrix in equa- tion (6) can be replaced by a known row vector to make the system linear. Two kinds of replacements 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

vk,entl

where ej(l c j< II + 1) is the jth coordinate standard base vector, which is a n+ 1 dimensional vector of which the jth component is one and the other components are zero. If [dwld.r(q)lT (ej)#O, this . . equation gives a tangent vector vk. In our case, the above equation is used only for k = 0.

3.1.2. Previous Tangent Vector (Watson et al., 1987). The formula to be used for k 2 1 is as follows.

ticen+‘. (9)

If [dW/dY(S(Sk_,)]TdW/d.S(Sk)T#O, this equation gives a tangent vector vk. The unit tangent vector is obtained by

dw k

,(sk,=&2 (10)

where ok = + 1 or - 1 is the direction factor. For k b 1, the tangent vector in the forward direction, which satisfies inequality (7), is automatically obtained by using equations (9) and (10) with ok = +1.

The next point near the homotopy path (predicted point) is

dw w^;+‘=w”+--(Sk)&

ds (11)

where dsk > 0 is the step size.

3.2. Newton corrector

A more accurate point near the homotopy path can be obtained by Newton’s method, which is

A point after i iterations of the corrector process is represented by w:+’ (ia0). The Newton correc- tor, Awf+‘, is obtained by solving the following system of equations.

. (12) A corrected point is obtained by applying the full

step as follows.

$:I’ = w;+’ + Aw;+‘. (13) This corrector process is repeated until the following condition is satisfied.

IIh(wfZ:f:) lb< a,, max(cSingI det A(w”),

]det A(wf:;)l”“) (14)

where E,,, and Eying are small positive numbers, and A represents the matrix in equation (6). The final determinant is not raised to the power of l/n if it has 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.

Wk+r = w;2,‘. (15) The errors of new points are independent of the

continuation history. Therefore, the parameter E,,, does not have to be extremely small during the continuation process, and can be reduced to the desired accuracy just near the points to be located. Experimental results suggest the value of cCur = 10m5 during the continuation process and ccur= lo-’ during the search for a target point. The parameter eSing is used to numerically define a singular point, and the experimental results suggest use of the value of E.inp= lo-‘. These values work well unless the problem is poorly scaled.

The matrix in equation (6) is referred to as the augmented Jacobian of h (Allgower, 1981) at w= wk, and represented by A(d), i.e.

A[w(s)] = (16)

and except at the starting point, is approximated as follows.

!j. H. CHOI et al. 650

(17)

The augmented Jacobian has the following properties.

(1)

(2)

(3)

Reversing the path tracking direction changes the sign of det A(w). Rank A(W) = rank ahlaw + 1. Therefore det A(w) = 0 if and only if w is a singular point, where all II X II minors of ah/% are singular. If det A(w’) det A(w’+‘) < 0, a bifurcation point is located on the arc between & and &+I (Allgower, 1981).

A corrector in a different direction can be obtained by using a different bottom row of the matrix in equation (12), for example, a standard base vector as in equation (8). Generally, it is efficient to use the same type of matrix for correc- tion as for prediction. In our case, the matrix in equation (17), if is 1, is identical to the matrix in equation (12), and can be reused in LU-decomposed form in the next predictor process as the matrix in equation (9).

Another numerically adequate convergence cri- terion for the corrector process instead of inequality (14), adopted by Allgower and Georg (1980), is

Ilh(wk+L)IIc&Ilah/aw(w~+I)II (18)

where E is a small positive number. However, this criterion causes insufficient correction near a singular or nearly singular point, and thus frequently results in inefficient path tracking for bifurcating homotopies.

4. STEP SIZE CONTROL

4.1. Conventional algorithms

A reasonable aim in the construction of the steps along a curve is to ensure that the number of corrector iterations remains approximately constant (den Heijer and Rheinboldt, 1981). Most of the step size control algorithms seek this aim. Some path tracking systems, such as HOMPACK (Watson et al., 1987), PITCON (Rheinboldt and Burkardt. 1983) and the algorithm of Corvalan and Saita (1991) estimate appropriate step sizes analytically. Others, such as CONSOL (Morgan, 1987), use simple step size control strategies. For example, CONSOL (Morgan, 1987) uses the five rule:

increase the step size only after five successive con- tinuation steps. Allgower and Georg (1980) pro- p0sed.a somewhat more sophisticated rule: for con- traction factors a, and a2 such that 0 <d, < ai Ql , -_

(1) if 11 Aw:+‘112>a211Aw~+‘llz, then dsk~bsli/2 (2) or if I~Aw~+‘~~~<~,IIAw(;+‘~~~, then r.&+, =26sk (3) otherwise, &+, = dsli .

Corvalan and Saita (1991), using an analysis ofthe Newton-Kantorovich theorem, attempt to keep the number of corrector steps at each continuation point constant. They claim that in order to achieve con- vergence after a specified number of corrector steps N, the error of the predicted point must lie between upper and lower bounds given by

II ,e _ w;ll = [E;:W@/$ WW] (1%

for some 9 such that O< 0 s 1. & is a function of the successive errors of the Newton corrector steps and E,, is the specified convergence tolerance. They use this expression to yield an estimate of the error of the next predicted point which will require_& Newton corrector steps to achieve the specified convergence and then calculate the necessary step size.

The third method of den Heijer and Rheinboldt (1981) uses the local curvature and the ratio of corrector size to step size to estimate the safe local convergence radius, pk+‘, while requiring that certain parameters lie between calculated maximal and minimal values.

4.2. Prevention of segment jumping

Any quantity q [w(s)] which is a continuous func- tion of arc length and which equals zero when the 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 the augmented Jacobian and the reciprocal of its condition number have these properties, while the determinant has the additional property that it will change sign when a simple bifurcation point is passed, or a higher order one where an odd number of eigenvalues of A[w(s)] have changed sign.

Segment jumping is likely to occur when two segments of the homotopy path are close together. Compare the real domain homotopy paths (solid lines) in Figs 3 and 5. Two segments of the hdmo- topy path that are connected (Fig. 3, solid line) or that are unconnected (Fig. 5, solid line) can be close to each other. If a starting point is selected which is near the starting point that gives real bifurcation, then two segments of the path will be close together and the variable q[w(s)] will be close to zero. We use the terminology, a near bifurcation point, to

Path tracking algdrithm 651

I \

-5 , , \ -4 -3 -2 -1 0 1 2 3 4 5 6

Re (q)

Fig. 3. Homotopy paths from the starting point (2.336, - 2.5).

refer to a point on a segment of the homotopy path at. which 1 q [w(s)] ( is minimum and near zero. Note that inequality (14) gives more accurate corrected points as 1 q [w(s)] ) becomes smaller.

A tentative new point wk+’ which was determined by the corrector process is examined by the follow- ing algorithm.

(1) If lq(wk) I< ~,~~~1q(w”) I, assume that wk is a singular point, and to escape there, accept wk+’ as a new point without further test. All bifur- cating branches from wk can be located by a search algorthm such as the one presented by Kearfott (1983).

(Za) If q(wk) = det A(wk), then

if q (wk)q (wk+‘) C 0, accept wk+’ as a new point without further test. Begin a search to locate a bifurcation point or correct segment jumping.

0 t=*ao - Im (2) = 0 --- Irn(Z)#O

-0.4 -

I -0.9 -0.8 -0.7 -0.6 -0.5 -0.4

Re (z,) Fig. 4. Near bifurcation in the homotopy paths in Fig. 3.

\ \ \ . t=o \ . t=1 \ \ . dUds=O-

0 t=*m - Im (2) = 0

. . --- Im(z)#O

I I ---.‘-3.-2 -1 0 1 2 3 4 5 6

Re (2,)

Fig. 5. Homotopy paths from the staring point (2.337, - 2.5).

(Zb) If q(w”) = l/~‘[A(w~)], then

(3)

(4)

If ti+’ is still tentative, accept it only when the following condition is satisfied.

o<(q(wk+l)l//q(w*)l<~ (20)

where a is a user specified number such that O-C a < 1. If this condition is not satisfied, dis- card we+‘, halve the step size, and try continua- tion again from wk. If a user specified number of step halvings fails to locate an acceptable new point, accept the current wk+’ and indicate the possibility of segment jumping by warning that a large change in the monitoring variable, q[w(s)], occurred on this continuation step. This rule prohibits too small a step size near a singular point. Generally, if Iq(w’)I is close to zero, inequality (20) can be satisfied only by a small step size. As a result, the step size automati- cally becomes small around the near bifurca- tion points. The larger a is, the more robust but less efficient the continuation process is. Experimental results show that a = 0.5 works well.

4.3. Examples

if IsW’)l>lqW)lv lq(wk)<lq(wk+‘)land ’ lq(~)lC~~i~lq(w”)l, then begin a search to locate the local minimum and check if this is a bifurcation point.

The following two examples represent extremely ill and well behaved curves in the 2-dimensional space. Although they are not practical homotopy paths, similar curves in higher dimensions can appear in the homotopy continuation problems.

652 S. H. CHOI et al.

Example 1-A:; f2-type curve. The following equation represents an extremely ill-behaved curve shown inFig. 2.

h(w,, wr)= wr[4w:+(w7- l)‘- l] - 10-6=o. (21)

Let us.tr_ac_e this curve from a starting point near the curve (-2,O) in the direction (1,O). Since the traced curve is almost a straight line except around (0, 0), any conventional algorithm will increase the step size as much as possible at every continuation step, and segment jump unless it is extremely lucky. The segment jumping problem can be avoided by using the proposed step size control algorithm. The empty squares in Fig. 2 are the continuation points without the q monitoring phase, and the dots are the continuation points obtained by determinant moni- toring with .a = 0.5.

Example 2-A circle. Consider the curve repre- sented by the following equation.

h(w,, w,)=w:+w:-l=O. (21)

It can be shown that if this circle is traced clockwise, det A= - 2 anywhere on the curve. Therefore, the determinant control phase in any step size control algorithm in this case does not cause any loss in the curve tracking efficiency. Generally, when a curve without near bifurcation is traced, there is only a small change in det A for a relatively large step size, and therefore the loss in efficiency caused by deter- minant control is also small.

5. PERFORMANCE EVALUATION

5.1. Program HOMES

The algorithm presented here has been coded into an interactive subroutine HOMCON, which is dri- ven by a conversational program, HOMES (HOMo- topy Equation Solver). This program starts either from the real domain or from the complex domain. If the real domain calcuiation mode is selected, complex domain calculation is performed only when it. is necessary, for example, when it is told to bifurcate to the complex domain from a turning point with respect to t. This program locates roots, turning points, bifurcation points, and starting points using the inverse Hermite cubic interpolation (Watson et al., 1987).

5.2. Test problems

The following step size control algorithms were tested by tracking several types of ill-behaved homo- topy paths using program HOMES.

(la) Algorithm of Corvalan and Saita (1991) with 6s0=0.05, ~,~=10-“, 6=0.05, N=2

(lb)

(24

(2b-d)

(3a)

(3b)

(4a)

(4d-b)

and 3, and maximum number of corrector iterations = 4. Algorithm of Corvalan and Saita plus determinant monitoring with ti= 0.5-. (Monitoring of a continuation variable, when the step size is being controlled by this algorithm is achieved by temporarily updating the parameters a,, and 8 when a step size is halved.) Algorithm of Corvalan and Saita (1991) with the reciprocal of the condition number (based on the Pi norm) monitored, with a = 0.5. Algorithm of Corvalan and Saita with l/x,,,(A) monitored, the estimate made using the algorithm of Cline et al. (1979). Algorithm of Allgower and Georg (1980) with &,=0.05, a,=0.05, ar=0.5 and maximum number of corrector iterations = 4. Algorithm (2a) with the same parameters and the variable q monitored as in (l$g: PITCON Version 6.1 (Rheinboldt and Burkardt, 1983), with all parameters set to the default values. PITCON with default parameter values and either the determinant or conditon number monitored. (PITCON augments the Jacobian with a standard base vector of dimension n + 1 in the bottom row. Hence, a continuation variable is monitored only when the previous point was calculated with the same base vector augmenting the Jacobian.) Mkthod III of den Heijer and Rheinboldt (1981) with 6s,,= 0.05, adh = 0.05, 6’= lo-’ and xdh = 3.0. Algorithm (4a) with the same parameters and the variable q montored as in (lb-d).

Test problems presented here are global homotopy paths in the complex space (with the exception of PITCON, where all calculations are in the real domain), with near bifurcations obtained from the fixed point homotopy, i.e.,

u(z, t) = tf(z) + (1 - t) (z - z”) = 0 (23)

for the following system of equations. .

f,(z,,zr)=zf+z;-1.5?=0 (24a)

f~(z,,zr)=zr-z;+2=0. (24b)

The starting points (2.336, - 2.5) and (2.337, - 2.5) are to be used. In Figs 3-6, the solid lines represent the curves in the real domain (zero imaginary parts), and the dotted lines represent the projection onto

Path tracking algorithm

the real domain of the curves’in the complex domain (nonzero imaginary parts). Each point on the pro- jection of the complex curves corresponds to a conjugate pair of complex vectors.

653

PITCON, which tracked the homotopy path wholly in the real domain, located the first two roots and then made a large jump onto the negative t portion of the homotopy path and was thus unable to locate any subsequent roots. However, when a monitoring phase was implemented into PITCON’. with a = 0.5, the correct path was followed with only 17 additional step halvings necessary when the determinant was monitored and seven additional step halvings ‘when the reciprocal of the condition number was monitored.

5.3. Results ‘: .~_

The positive t portion of the real homotopy path in Fig. 3 was traced in the complex space. The determiant of the augmented Jacobian defined by equation (17) is - 11.22 at the starting point and about +0.09 at the near bifurcation points and HIKE is 4.41 x 10m2 at the starting point and about 1.4 x 10m4 at the near bifurcation points. Tables l(a-d) show the results of path tracking with the q monitoring phase.

Algorithms (2a) and (4a) with a=0 segment jumped twice. As a result, all roots were found (good fortune from poor path tracking) but in a different sequence. The correct path was traced by algorithms (2a-d), for ~~20.34 when the determi- nant is monitored, for aSO. when the condition number is monitored, and for aS0.63 when an estimate of the condition number is monitored. Algorithms (4a-d) required the respective values of a to be greater than or equal to 0.49, 0.37 and 0.60 for the correct homotopy path to be followed with the given parameters used.

Algorithm (la), both when the desired number of corrector iterations, N, is two or three, segment jumped over the second near bifurcation point and then returned to the starting point. The traced path is a fixed point homotopy which cannot return to the (non-singular) starting point if the path is correctly followed. For N = 2, the correct path is traced when aa0.22, 0.27, and 0.31 for determinant, condition number, and estimate of condition number monitor- ing, respectively. When N=3, the correct path is traced when as0.16, 0.14 and 0.51.

. dt/dsrO 0 t=*m

- Im (2) = 0 --- Irn(Z)#O

-0.4 -

I -0.9 -0.8 -0.7 -0.6 -0.5 -0.4

Rc (q)

Fig. 6. Near bifurcation in hte homotopy paths in Fig. 5.

As can be seen from the tables, most of the step halvings take place in the Rl-Bl and B3-R4 seg- ments where the near bifurcation points are located. This indicates that such monitoring decreases efficiency significantly only in the neighborhood of near bifurcation points.

The positive t portion of the ral homotopy path in Fig. 5 was traced in the complex space. There are two segments unconnected in the real domain. If the path is followed correctly, only two real roots will be located. Algorithms (la) with N=3, (2a) and (4a), for a = 0, jumped from the main path to the isola, circled the isola and jumped back to the main path, hence finding all roots. The path was followed cor- rectly with determinant monitoring, for a 5 0.027 using algorithm (lb), a Z= 0.24 using (2b), and for a 20.42 when (4b) is used. No monitoring of the continuation variable q [w(s)] was necessary for algorithm (la) with N=2.

PITCON, with the parameters set to their default values, jumped from the main path to the isola after locating one root on the main path, found one root on the isola, and then jumped onto the negative t portion of the homotopy path, from which it could locate no further roots. The path was followed correctly using the installed determinant monitoring 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 can be found experimentally, and for this problem lead to an overall increase in the number of LU decompositons required for each algorithm, com- pared to the same algorithm used with less stringent values and a monitoring phase.

6. CONCLUSION

Any path tracking algorithm can be made robust by adding any of the three monitoring phases pre- sented here. Experimental results have shown that a=OS works well when the determinant and con- dition number are used to monitor the step size, and

654 S; H. CHOI et al.

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

Dcicrminant monitored . . Condition number monitored Estimate of condition number monitored a=O.S a=0.5 a=0.65

Point iUd Cont Search Det Point LUd Cont Search Cond Point LUd Cont Search _Condest-

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

Determinant monitored Condition number monitored Estimate of condition numhcr monitored cl= 0.5 a=0.5 a=0.65

Point LUd Cont Search Det Point LUd Cont Search Cond Point LUd Cont Search Condest

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 __ __

Determinant monitored Condition number monitored Estimate of condition number monitored o=o.5 a=0.5 a=O.05

Point lSJd Cont Search Dct Point LUd Cont Search Cond Point LUd Cont Search Condest

S RI Bl 250 R2 341 B2 422 R3 491 B3 644 R4 829

0 0 0 s 0 0 0 0 s 0 26 7 3 Rl 76 23 6 7 Rl’ 77 77 8 28 Bl 263 80 8 35 Bl 214

103 14 35 R2 341 104 14 39 R2 314 128 15 46 B2 422 129 I5 50 B2 385 153 21 ‘53 R3 494 158 22 55 R3 458 197 22 75 B3 599 1% 24 67 B3 559 256 28 97 R4 765 242 30 85 R4 729

0 0 0 26 7 3 64 9 16 97 I5 23

I19 16 32 146 23 39 II7 25 50 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 Rl 95 36 8 2 Rl 77 29 6 I Rl 67 Bl 280 82 13 31 Bl 307 86 14 38 Bl 267 R2 363 II2 21 35 R2 379 II4 21 40 R2 358 B2 431 139 27 40 B2 447 I41 27 45 82 461 R3 492 165 35 508 167 35 47 R3 525 _ B3 648 213 43 y8 ;; 647 211 43 59’ B3 716 R4 861 266 52 82 R4 735 250 55 59 R4’ 1436

0 0 0 27 6 0 81 I4 26

II2 21 35 144 26 53 169 33 58 220 39 93 333 47 176

Point = point located (S: I = 0. R: I= 1, B: dct A = 0) Cont = continuation and search count Det = determinant control count Condest = condition number cstimatc control count LUd = LU-decomposition count Search = search count Cond = condition number control count

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, and a higher value of 6 necessary to prevent seg- ment jumping, than both the determinant and con- dition number monitoring.

It is proposed that determinant monitoring is the superior monitoring phase for preventing segment jumping in the continuation space, especially when homotopy techniques are being used to solve medium to large scale problems, where the addi- tional CPU time required for the other phases of monitoring makes them infeasible. Determinant monitoring has also been shown to be a more efficient way of preventing segment jumping than simply tightening the parameters of the path- tracking algorithm used.

Another method of preventing segment jumping being currently studied is the interval arithmetic technique proposed by Kearfott (1990). For small scale problems, where the cost of calculating inter- val extensions of the Jacobian matrix is not too prohibitive, this could provide an alternative method of ensuring that the correct continuation path is followed.

.

NOMENCLATURE

A = augmented Jacobian f = vector of equation functions g = vector of starting functions h = vector of real homotopy functions N = desired number of corrector iterations q = continuation control variable s = arc length t = homotopy parameter

II = vector of complex homotopy functions v = tangent vector w = continuation point x = vector of real variables z = vector of complex variables a = continuation control factor (0 <a < 1)

ai, a2 = contraction factors used in Allgower and Georg algorithm

adh = lower bound for value of angle of curvature of the homotopy path in den Heijer and Rheinboldt algorithm

d’= convergence tolerances (i = 1,4) for den Heijer and Rheinboldt algorithm

E = tolerance

Ediv = measure of corrector divergence for den Heijer and Rheinboldt algorithm

E,~ = upper bound of corrector-convergence for algorithm of Corvalan and Saita

6 = step size parameter for algorithm of Coriralfin~ and Saita (O<fIsl)

K, = condition number based on C, norm K~., = estrmate of K, ,.

K~,,. /K,,~ = maXhUm and minimum relative step size change for den Heijer and Rheinboldt algor- ithm

rl = function of successive errors of the corrector steps used in algorithm of Corvdlan and Saita

u = direction factor (u = + 1)

Subscripts and superscripts

i= correction count k = continuation count 0 = starting point * = root

11 ./I2 = Euclidian norm

REFERENCES

Allgower E. L., A survey of homotopy methods for smooth mappings. Lecture Notes in Mathematics No. 878, Numerical Solution of Nonlinear Equations (Edited by Allgower E. L., K. Glashoff and H.-O. Peitgen), pp. l-29. Springer-Verlag. New York (1981).

Allgower E. L. and K. Georg, Simplical and continuation methods for approximating fixed points and solutions to systems of equations. SIAM Reu. 22, 28-85 (1980).

Cline A. K., C. B. Moler, G. W. Stewart and _I. H. Wilkinson, An estimate for the condition number of a matrix. SIAM J. Numer. Anal. 16,363-375 (1979).

Corvahtn C. M. and F. A. Saita, Automatic stepsize control in continuation procedures. Computers them. Engng 15.729-739 (1991).

den Heijer C. and W. C. Rheinboldt, On steplength algorithms for a class of continuation methods. SIAM J. Numer. Anal. 18, 925-948 (1981).

Kearfott R. B., Some general bifurcation techniques. SIAM J. Stat. Comma. 4. 52-68 (1983).

Kearfott R. B., Inter&d arithmetic iechniques in the com- putational solution of nonlinear systems of equations. Lectures in Applied Mathematics, Vol. 26, pp. 337-357 (1990).

Morgan A. P., Solving Polynomial Systems Using Continuation for Scientific and Engineering Problems. Prentice-Hall, Englewood Cliffs, NJ (1987).

Rheinboldt W. and J. Burkardt, Algorithm 596. A locally parametrized continuation process. ACM Trans. Math. Software 9, 236-241 (1983).

Watson L. T., S. C. Billups and A. P. Morgan, Algorithm 652 HOMPACK: a suite of codes for globally conver- gent algorithms. ACM Trans. Math. Software 13, 281- 310 (1987).