Professional Documents
Culture Documents
a r t i c l e
i n f o
Article history:
Received 15 March 2010
Accepted 5 April 2010
Available online 10 April 2010
Keywords:
Nonlinear equation
Homotopy
Continuation
All real roots
Bifurcation
Path tracking
a b s t r a c t
A new continuation method, which applies a new homotopy that is a combination of the xed-point and
Newton homotopies (FPN), is developed for seeking all real solutions to a nonlinear equation, written
as f(x) = 0, without having to specify a bounded interval. First, the equation to be solved is multiplied by
(x x0 ), where x0 is the starting value, which is set to zero unless the function does not exist at x0 , in which
case x0 becomes a tracking initiation point that can be set arbitrarily to any value where the function
does exist. Next, the new function, (x x0 )f(x) = 0, is incorporated into the FPN homotopy. The initial step
establishes a single bifurcation point from which all real roots can be found. The second step ensures a
relatively simple continuation path that consists of just two branches that stem from the bifurcation point
and prevents the formation of any isola. By tracking the two branches of the homotopy path, all real roots
are located. Path tracking is carried out with MATLAB, using the continuation toolbox of CL MATCONT,
developed by Dhooge et al. (2006), based on the work of Dhooge, Govaerts, and Kuznetsov (2003), which
applies MoorePenrose predictor-corrector continuation to track the path, using convergence-dependent
step-size control to negotiate turning points and other sharp changes in path curvature. This new method
has been applied, without failure, to numerous nonlinear equations, including those with transcendental
functions. As with other continuation methods, f(x)must have twice-continuous derivatives.
2010 Elsevier Ltd. All rights reserved.
1. Introduction
Mathematical models of steady-state chemical processes consist of systems of algebraic and/or transcendental equations. When
all equations in the system are linear and independent of each
other, only a single solution exists, which is readily obtained by
robust numerical matrix methods. However, more commonly, the
system of equations contains some nonlinear equations. In that
case, multiple solutions may exist, where the unknowns may be
real positive, real negative, and/or complexconjugate pairs. When
the unknowns are absolute temperature, absolute pressure, ow
rate, and/or composition variables, only solution sets consisting of
real positive values are of interest. When the composition variables
are mole, mass, or volume fractions, only real positive values in the
region bounded by 0 and 1 are of interest.
Occurrences of multiple solutions of interest in chemical engineering problems have been known for decades. These include:
1. Cubic equations of state, such as the RedlichKwong equation, where, depending on the temperature, pressure, and
mixture composition, there exists three real-positive roots or
Corresponding author.
E-mail address: J.Seader@utah.edu (J.D. Seader).
0098-1354/$ see front matter 2010 Elsevier Ltd. All rights reserved.
doi:10.1016/j.compchemeng.2010.04.007
2.
3.
4.
5.
6.
404
All three types of multiplicity have been found for componentseparation operations.
Usually, multiplicity occurs only for certain sets of specications
and only over restricted ranges of certain parameters. Often, sets
of multiple solutions contain both stable and unstable solutions.
One or more of the stable solutions is clearly superior for practical
application and one or more of the other stable solutions is trivial
or very undesirable for practical application. For design purposes,
it is important to be aware of the possibility of multiplicity and
to discover all multiple solutions within the practical domain of
operating variables.
Numerical methods that seek to nd multiple solutions are:
1. Newtons method with deation, e.g. Press, Flannery, Teukolsky,
and Vetterling (1992).
2. Parallel-path homotopy-continuation methods for systems of
polynomial equations, which use Bezouts theorem for determining the maximum number of multiple solutions and nds all
solutions, real and positive, e.g. Morgan (1987).
3. Global homotopy-continuation methods, which attempt to nd
all sets of real solutions, e.g. references below.
4. Interval Newton method with generalized bisection, which
locates all real roots within specied intervals of the unknowns,
e.g. Kearfott and Novoa (1990).
5. Global terrain methods, which consist of a series of downhill,
equation-solving computations and uphill predictor-corrector
calculations to nd all physically meaningful solutions and singular points, e.g. Lucia and Feng (2002).
6. Deterministic branch-and-bound method that transforms the
system of equations into a global optimization problem, e.g.
Maranas and Floudas (1995).
7. Methods using cellular exclusion tests, e.g. Georg (2003).
Method 1 is unreliable. Method 2 is very reliable and easy to use,
but is restricted to polynomial equations. Methods 47 are reliable,
but require the specication of bounded intervals.
Here, we concentrate on Method 3, which has been discussed
and applied by a number of investigators, including Keller (1977,
1978), Chow, Mallet-Paret, and Yorke (1978), Garcia and Zangwill
(1979), Allgower and Georg (1980), Watson (1986), Wayburn and
Seader (1987), Allgower and Georg (1987), Kuno and Seader (1988),
Seader et al. (1990), Sun and Seider (1995), Watson, Sosonkina,
A widely used homotopy, H(x, t), consists of a linear combination of two real functions: f (x), whose zeroes are sought; and
G(x), a function for which a zero is known or readily selected or
obtained. Both functions must be smooth with twice-differentiable
derivatives. Thus,
H(x, t) = tf (x) + (1 t)G(x) = 0
(1)
(2)
(3)
x0 ,
and
(4)
When Eqs. (2) or (3) are applied to Eq. (1), the homotopy is satised by only one root at t = 0, the usual starting point. However, the
path can consist of branches that are only connected at opposite
innities or by branches in the complex domain. Kuno and Seader
(1988) present two methods for avoiding the innity problem. One
method involves a criterion for establishing a starting point; but
the criterion cannot always be implemented. The second method
involves an auxiliary function, which, however, adds an additional
equation to the one to be solved. When Eq. (4) is applied, f(x) = f(x0 )
at t = 0 and multiple starting points and multiple branches may
exist. Here, for reasons discussed below, we introduce a new formulation of the homotopy function of Eq. (1), which incorporates
a new G(x) function. At rst, the new homotopy appears to be considerably more complicated than Eq. (1) with Eqs. (2), (3), or (4).
However, after simplication, the new homotopy is less complex,
avoids the disadvantages of the xed-point, afne, and Newton
functions, and possesses superior characteristics for tracking the
homotopy path to determine all solutions to f (x) = 0. We refer to
the new homotopy, as the FPN homotopy because it uses elements
of the xed-point and Newton functions. Most important, the FPN
homotopy does not have multiple starting points and the path is
not connected at opposite innities.
(5)
(6)
(x x0 ) + F(x) F(x0 )
=0
(7)
=0
(8)
Although the FPN homotopy of Eq. (8) appears to be more complicated than homotopies formed from Eq. (1) with Eqs. (2), (3), or
(4), it is simplied by noting, rst, that Eq. (5) causes F(x0 ) to equal
zero. Then, substitution of Eq. (5) into Eq. (8), after simplication,
gives,
H(x, t) = (x x0 ) [1 + f (x) t] = 0
(9)
which is quite simple. Eq. (9) is the new homotopy for the continuation method presented here. As will be shown below, the
above rst step in its formulation establishes a single bifurcation
point, at x0 , from which all real roots can be found. The second step
ensures a relatively simple continuation path that consists of just
two branches that stem from the bifurcation point and prevents the
formation of any isola. By tracking the two branches of the homotopy path, all real roots are located. An even simpler homotopy,
namely H(x, t) = f (x) t = 0, possesses the same properties as that
of Eq. (9). However, most homotopies are based on the condition
that f(x) = 0 when t = 1. Our homotopy satises this condition, while
the simpler homotopy does not. Furthermore, as will be shown in a
companion paper, Eq. (9) is preferred when extending our method
to a system of nonlinear equations.
3. Characteristics of the FPN homotopy
The FPN homotopy of Eq. (9) has a number of interesting characteristics:
1. It is satised by either of the two factors, (x x0 ) and
[1 + f (x) t]. In a plot of the homotopy path as x versus t, (x = x0 )
establishes a horizontal branch, (x x0 ), which is dependent only
on the starting value, x0 , and is independent of the homotopy
parameter, t. The other factor, when written as [1 + f (x) t = 0],
is the only part of the homotopy that needs to be tracked, and
is independent of the starting value, x0 , but does depend on the
homotopy parameter.
2. Although not absolutely necessary, it is convenient to select a
starting value of zero for x0 , unless the function, f (x0 ), does not
exist at x0 , in which case x0 is set arbitrarily to any value where
the function does exist. If x0 is set to a value where the function, f (x0 ), exists, then the two parts of the homotopy, (x x0 )
and [1 + f (x) t = 0] intersect at (x = x0 ) and only at that value
of x. The0 value of t at the intersection is obtained by solving
1 + f (x ) t = 0 for t. This intersection point satises the conditions for a branch or bifurcation point (Kubicek & Marek, 1983)
as follows. Rearrange Eq. (9) to,
H(x, t) = (x x0 )(1 t) + (x x0 )f (x) = 0
405
entiating,
(11),
H
x
(10)
at (x = x0 )
(11)
= 0 = (1 t) +
f (x) + (x
conditions, limit points
occur at t = 1 + f (x) when df (x)/dx = 0.
4. For an isola to exist in the xt plane, at least two values of t
must exist for each real value of x in the isola region. From Eq.
(9), t = 1 + f (x). Thus, for each value of x, only one value of t is
determined and an isola cannot exist.
5. With some homotopies, the path in the xt plane may reach, one
or more times, t = + or t = at a value of x , requiring that the
path be transferred, at the same value, x , to t = or +. For
the FPN homotopy, the factor, (x x0 ) reaches t = . However,
the two branches of the other factor, [1 + f (x) t], may or may
not reach t = . If they do, it is highly unlikely that x+ = x .
Thus, most equations can be solved for all real roots by tracking
just the two branches that emanate from t = 1 + f (x), starting
from the bifurcation point at x0 .
406
(12)
dy
= y = x 2y + ey
dt
(13)
0.186 = 0
(14)
407
(15)
H(x, t) = (x 0) x4 7.79075x3
[6 3(0.384094)] [2 (0.384094)]
= 0.1860 and 0.1860 0.186 = 0.000
It is of interest to compare the above solution by the FPN homotopy method with a solution using the global xed-point homotopy
(GFPH) method described by Gritton et al. (2001), which is shown
in Fig. 5.
The path in Fig. 5 begins at (x, t) = (0, 0) and moves to the right,
crossing t = 1 at the root, 0.277759. The path then goes off to the rst
of four values of x at t = . These four values can be computed from
the GFPH equation for x0 = 0,
(16)
+ (1 t) x = 0
(17)
(18)
408
Fig. 6. FPN homotopy path for Gritton et al. Problem 3 using T0 = 273 K.
1
exp
T2
21000
T
1.11 1011 = 0
(19)
x
0.4 (1 x)
+ 4.45977 = 0
5 ln
1x
0.4 0.5x
There are two roots for this equation, x = 0.757396 and 1.098984,
where only the rst root is physically meaningful. The equation
has complex values in the domain 0.8 < x < 1.0 and two asymptotes
at x = 0.8 and 1.0, which is the reason we deal with this equation
in this paper. To solve the equation with the new homotopy, it is
necessary to select two tracking initiation points, one in the range
< x < 0.8 and the other in the range 1.0 < x < +. The homotopy
paths for initiation points 0.0 and 2.0 are shown in Fig. 9. The function has values of 4.4597700 and 4.4870955 at x = 0 and x = 2.0,
respectively, making the bifurcation points located at t = 4.4597700
and t = 4.4870955, respectively. It can be seen that both roots are
found at t = 1, one in the rst domain and the other in the second.
(20)
+ 1 ((+1)/(1)) 2
1
(2/)
P
Pd
P ((+1)/)
Pd
A2t
A2
=0
(21)
Fig. 10. FPN homotopy path for Gritton et al. Problem 9 using P0 = 1. For this problem,
the GFPH method produced a simple path, somewhat similar to the FPN homotopy
method, with no branches going in or out of innity.
(22)
409
410
7. Conclusions
cosh(x)
+ 0.5 = 0
1000
(23)
A new homotopy-continuation method, which combines xedpoint and Newton homotopies is developed for seeking all real
solutions to a single nonlinear equation, written as f(x)= 0. First,
the equation to be solved is multiplied by (x x0 ), where x0 is the
starting value, which is set to zero unless the function does not exist
at x0 , in which case x0 can be set arbitrarily to any value where the
function does exist. Next, the new function, F(x) = (x x0 )f(x) = 0,
is incorporated into a new homotopy, which is the sum of the
xed-point and Newton functions. The resulting homotopy, which
when simplied is H(x, t) = (x x0 )[1 + f (x) t] = 0, is referred to
as the FPN homotopy. This homotopy establishes a single bifurcation point at x0 , from which all real roots can be found. The
homotopy path is relatively simple, consisting of a forward branch
and a backward branch. By tracking the two branches, all real roots
are located. Path tracking is conveniently carried out with MATLAB, using the continuation toolbox of CL MATCONT, developed
by Dhooge et al. (2006), based on the work of Dhooge, Govaerts,
and Kuznetsov (2003). This new method has been applied, without failure, to numerous nonlinear equations, including those with
transcendental functions.
Appendix A.
CL MATCONT m-les for computing all real roots of the equation:
f (x) = x3 6x2 + 21x 26 = 0
(A-1)
out{9} = [];
out{10}= @userf1;
% function dydt = fun eval(t,x,a)
global x0 g
f = (x-x0 g)*(x3 -6*x2 + 21*x-26);
% a = parameter
dydt = a*f + (1-a)*[x-x0g + f];
% function userfun1 = userf1(t,x,a)
userfun1 = a-1;
Results for Problem SE-3:
Calculation of Branch Point:
rst point found
tangent vector to rst point found
label = BP, x = (0.000000 -25.000000)
where x = (x, t)
Calculation of forward branch (one root found):
elapsed time = 2.1 secs
npoints curve = 500
rst point found
tangent vector to rst point found
label = u1, x = (2.000000 1.000000)
where x = (x,t)
Calculation of backward branch (no roots)
elapsed time = 1.9 secs
npoints curve = 500
The other two roots of the equation are the complex conjugate
pair, x = 2 3i.
References
Allgower, E. L., & Georg, K. (1980). Homotopy method of approximating several solutions to nonlinear systems of equations. In W. Forster (Ed.), Numerical solution
of highly nonlinear problems. Amsterdam: North-Holland.
Allgower, E. L., & Georg, K. (1987). Introduction to numerical continuation methods.
Philadelphia: Society for Industrial Mathematics.
Bausa, J., & Marquardt, W. (2000). Quick and reliable phase stability test in VLLE ash
calculations by homotopy continuation. Computers & Chemical Engineering, 24,
2447.
Bilous, O., & Amundson, N. R. (1955). Chemical reactor stability and sensitivity.
American Institute of Chemical Engineering Journal, 1, 513.
Carnahan, B., Luther, H. A., & Wilkes, J. O. (1969). Applied numerical methods. New
York: Wiley.
Chow, S. N., Mallet-Paret, J., & Yorke, J. A. (1978). Finding zeroes of maps: Homotopy
methods that are constructive with probability one. Mathematics of Computation,
32, 887.
Dhooge, A., Govaerts, W., & Kuznetsov, Yu. A. (2003). MatCont: A Matlab package
for numerical bifurcation analysis of ODEs. ACM Transactions on Mathematical
Software, 29(2), 141164.
Dhooge, A., Govaerts, W., Kuznetsov, Yu. A., Mestrom, W., Riet, A. M., & Sautois,
B. (2006). MATCONT and CL MATCONT: Continuation toolboxes in MATLAB
(http://www.matcont.ugent.be/manual.pdf).
Doedel, E. J., Champneys, A. R., Fairgrieve, T. F., Kuznetsov, Yu. A., Sandstede, B.,
& Wang, X. J. AUTO 97-00: Continuation and bifurcation software for ordinary differential equations (with HomCont), Users Guide, Concordia University,
Montreal, Canada (19972000) (http://indy.cs.concordia.ca).
Gani, G., & Jorgensen, J. B. (1994). Multiplicity in numerical solution of nonlinear
models: Separation processes. Computers and Chemical Engineering, 18, S55.
411
Garcia, C. B., & Zangwill, W. I. (1979). Determining all solutions to certain systems
of nonlinear equations. Mathematical Operations Research, 4, 1.
Georg, K. (2003). A new exclusion test. Journal of Computational and Applied Mathematics, 152, 147160.
Govaerts, W. J. F. (2000). Numerical methods for bifurcations of dynamical equilibria.
SIAM.
Gritton, K. S., Seader, J. D., & Lin, W. (2001). Global homotopy continuation procedures for seeking all roots of a nonlinear equation. Computers and Chemical
Engineering, 25, 1003.
Imai, Y., Yamamura, K., & Inoue, Y. (2005). An efcient homotopy method for nding
DC operating points of nonlinear circuits. IEICE Transactions on Fundamentals,
E88-A, No. 10, 25542561.
Jalali, F., & Seader, J. D. (1999). Homotopy continuation method in multi-phase multireaction equilibrium systems. Computers & Chemical Engineering, 23, 1319.
Kearfott, R. B., & Novoa, M. (1990). INTBIS, a portable interval Newton/bisection
package. ACM Transactions on Mathematical Software, 16, 152.
Keller, H. B. (1977). Numerical solution of bifurcation and nonlinear eigenvalue
problems. In P. Rabinowitz (Ed.), Applications of bifurcation theory. New York:
Academic Press.
Keller, H. B. (1978). Global homotopies and Newton methods. In C. deBoor, et al.
(Ed.), Recent advances in numerical analysis. New York: Academic Press.
Kubicek, M. (1976). Algorithm 502. Dependence of solution of nonlinear systems on
a parameter. ACT Transactions of Mathematical Software, 2(1), 98.
Kubicek, M., & Marek, M. (1983). Computational methods in bifurcation theory and
dissipative structures. Springer-Verlag: New York.
Kuno, M., & Seader, J. D. (1988). Computing all real solutions to systems of nonlinear equations with a global xed-point homotopy. Industrial Engineering and
Chemistry Research, 27, 1320.
Kuznetsov, Yu. A. (1998). Elements of applied bifurcation theory. Springer-Verlag.
Kuznetsov, Y. A., & Levitin, V. V. (1997). CONTENT: A multiplatform environment
for continuation and bifurcation analysis of dynamical systems. Centrum voor
Wiskunde en Informatica, Kruislaan 413, 1098 SJ Amsterdam, The Netherlands.
Lucia, A., & Feng, Y. (2002). Global terrain methods. Computers and Chemical Engineering, 26, 529.
Magnussen, T., Michelsen, M., & Fredenslund, A. (1979). Azeotropic distillation using
UNIFAC. Int. Chem. Engng. Symp. Ser., 56, 4.2/14.2/19.
Maranas, C. D., & Floudas, C. A. (1995). Finding all solutions of nonlinearly constrained systems of equations. Journal of Optimization, 7(2), 143182.
Morgan, A. P. (1987). Solving polynomial systems using continuation for engineering
and scientic problems. New Jersey: Prentice Hall.
Penrose, R. (1955). A generalized inverse for matrices. Proceedings of the Cambridge
Philosophical Society, 51, 406.
Press, W. H., Flannery, B. P., Teukolsky, S. A., & Vetterling, W. T. (1992). Numerical recipes in C: The art of scientic computing (2nd ed.). New York: Cambridge
University Press.
Rheinboldt, W. C., & Burkhardt, J. V. (1983). Algorithm 596. A program for locally
parametrized continuation process. ACT Transactions of Mathematical Software,
9, 236.
Seader, J. D., Kuno, M., Lin, W.-J., Johnson, S. A., Unsworth, K., & Wiskin, J. W. (1990).
Mapped continuation methods for computing all solutions to general systems
of nonlinear equations. Computers and Chemical Engineering, 14, 71.
Seydel, R. (1985). BIFPACK: A program package for calculating bifurcations. State University of New York at Buffalo.
Shacham, M. (1986). Numerical solution of constrained nonlinear algebraic equations. International Journal of Numerical Methods in Engineering, 23, 1455.
Shacham, M. (1989). An improved memory method for the solution of a nonlinear
equation. Chemical Engineering Science, 44, 1495.
Shacham, M. A. (1990). A variable order method for solution of a nonlinear algebraic
equation. Computers and Chemical Engineering, 14, 621.
Sun, A. C., & Seider, W. D. (1995). Homotopycontinuation method for stability analysis in the global minimization of the Gibbs free energy. Fluid Phase Equilibria,
103, 213.
Watson, L. T. (1986). Engineering applications of the Chow-York algorithm. Applied
Mathematics and Computation, 9, 111.
Watson, L. T., Sosonkina, M., Melville, R. C., Morgan, A. P., & Walker, H. F. (1997).
HOMPACK90: A Suite of Fortran 90 Codes for Globally Convergent Homotopy
Algorithms. ACM Transactions on Mathematical Software, 23, 514.
Wayburn, T. L., & Seader, J. D. (1987). Homotopy continuation methods for computeraided process design. Computers and Chemical Engineering, 11(1), 7.
Wu, T. M. (2005). A study of convergence on the Newton-homotopy continuation
method. Applied Mathematics and Computation, 168, 1169.