Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aaoo_v1_0.gz(26 Kbytes)
Manuscript Title: Complex zeros of analytic functions.
Authors: L.C. Botten, M.S. Craig, R.C. McPhedran
Program title: CRTEST
Catalogue identifier: AAOO_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 29(1983)245
Programming language: Fortran.
Computer: CDC CYBER 170/730.
Operating system: NOS 1.4 (GCOS).
RAM: 14K words
Word size: 60
Keywords: General purpose, Other numerical, Complex zero, Analytic function, Cauchy's integral.
Classification: 4.12.

Nature of problem:
The subroutine CROOT in CRTEST provides a versatile means of locating the zeros (within an annular region of the complex plane) of an analytic function specified by a user-supplied subroutine. CROOT has already been successfully applied in electromagnetic diffraction theory, in plasma astrophysics and in solar energy.

Solution method:
The method of Delves and Lyness is used to evaluate recursively all zeros of the user-supplied analytic functions f(z) lying within a specified annulus in the complex plane. The basis of the method is to employ Cauchy's integral to determine the number of zeros of f(z) lying within a particular region. If this is sufficiently small. Cauchy's integral and Newton's formulae are used to construct a polynomial p(z) having the same zeros as f(z) within the region. The zeros of the low- order polynomial p(z) are evaluated by Muller's method, and are refined iteratively by the same method. If f(z) has a large number of zeros within the initial annulus, radial bisection is used. This continues until all zeros have been found, or until successive radii become too close. In the latter case, angular division of the annulus into sectors is commenced.

Restrictions:
The function f(z) must be analytic within the specified annulus. The variable z should be chosen so that the zeros are not too tightly clustered around a single point within the annulus. Both the function f(z) and its derivative f'(z) are needed, and their computer evaluation should be resonably rapid.