Usage Notes
Zeros of a Polynomial
A polynomial function of degree n can be expressed as follows:
p(z) = anzn + an-1 zn-1 + … + a1z + a0
where an ≠ 0.
There are three routines for zeros of a polynomial. The routines
ZPLRC and
ZPORC find zeros of the polynomial with real coefficients while the routine
ZPOCC finds zeros of the polynomial with complex coefficients.
The Jenkins-Traub method is used for the routines
ZPORC and
ZPOCC; whereas
ZPLRC uses the Laguerre method. Both methods perform well in comparison with other methods. The Jenkins-Traub algorithm usually runs faster than the Laguerre method. Furthermore, the routine
ZANLY in the next section can also be used for the complex polynomial.
Zero(s) of a Function
The routines
ZANLY and
ZREAL use Müller’s method to find the zeros of a complex analytic function and real zeros of a real function, respectively. The routine
ZBREN finds a zero of a real function, using an algorithm that is a combination of interpolation and bisection. This algorithm requires the user to supply two points such that the function values at these two points have opposite sign. For functions where it is difficult to obtain two such points,
ZUNI or
ZREAL can be used.
Root of System of Equations
A system of equations can be stated as follows:
fi(x) = 0, for i = 1, 2, …, n
where x ∈ Rn.
The routines
NEQNF and
NEQNJ use a modified Powell hybrid method to find a zero of a system of nonlinear equations. The difference between these two routines is that the Jacobian is estimated by a finite-difference method in
NEQNF, whereas the user has to provide the Jacobian for
NEQNJ. It is advised that the Jacobian-checking routine,
CHJAC (see
Chapter 8, “Optimization”), be used to ensure the accuracy of the user-supplied Jacobian.
The routines
NEQBF and
NEQBJ use a secant method with Broyden’s update to find a zero of a system of nonlinear equations. The difference between these two routines is that the Jacobian is estimated by a finite-difference method in
NEQBF; whereas the user has to provide the Jacobian for
NEQBJ. For more details, see Dennis and Schnabel (1983, Chapter 8).