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).