toms419, a Fortran90 code which implements ACM toms algorithm 419, commonly known as cpoly(), which seeks the roots of a polynomial with complex coefficients.

The text of many ACM toms algorithms is available online through ACM: or NETLIB: in.


The information on this web page is distributed under the MIT license


toms419 is available in a Fortran77 version and a Fortran90 version.

Related Programs:


bisection, a Fortran90 code which applies the bisection method to seek a root of f(x) over a change-of-sign interval a <= x <= b.

bisection_rc, a Fortran90 code which seeks a solution to the equation F(X)=0 using bisection within a user-supplied change of sign interval [A,B]. The procedure is written using reverse communication.

fsolve, a Fortran90 code which seeks the solution x of one or more nonlinear equations f(x)=0.

nms, a Fortran90 code which includes versions of Brent's zero finder.

test_zero, a Fortran90 code which defines some test functions for which zeroes can be sought.

zero, a Fortran90 code which seeks a solution of a scalar nonlinear equation f(x) = 0, by Richard Brent.

zero_itp, a Fortran90 code which finds a zero of a scalar function of a scalar variable, starting from a change of sign interval, using the Interpolate/Truncate/Project (ITP) method, which has faster convergence than the bisection method.

zero_rc, a Fortran90 code which seeks solutions of a scalar nonlinear equation f(x) = 0, or a system of nonlinear equations, using reverse communication (RC).

zoomin, a Fortran90 code which includes various zero finder routines.


Original Fortran77 version by Michael Jenkins, Joseph Traub. This version by John Burkardt.


  1. Michael Jenkins, Joseph Traub,
    Algorithm 419: Zeros of a Complex Polynomial,
    Communications of the Association for Computing Machinery,
    Volume 15, Number 2, February 1972, pages 97-99.

Source Code:

Last revised on 14 March 2024.