# zero_itp

zero_itp, a Python 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.

### Languages:

zero_itp is available in a C version and a C++ version and a Fortran77 version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

### Related Data and Programs:

bisect, a Python 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 classes.

bisection, a Python 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 Python 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 (RC).

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

root_rc, a Python code which seeks a solution of a scalar nonlinear equation f(x) = 0, or a system of nonlinear equations, using reverse communication (RC), by Gaston Gonnet.

test_zero, a Python code which implements test problems for the solution of a single nonlinear equation in one variable.

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

zero_rc, a Python code which seeks a solution of a scalar nonlinear equation f(x) = 0, using reverse communication (RC), by Richard Brent.

### Author:

Original pseudocode version presented on Wikipedia page "The ITP Method"; This version by John Burkardt.

### Reference:

1. Ivo Oliveira, Ricardo Takahashi,
An Enhancement of the Bisection Method Average Performance Preserving Minmax Optimality,
ACM Transactions on Mathematical Software,
Volume 47, Number 1, pages 1-24, March 2021.

### Source Code:

Last revised on 04 March 2024.