newton_maehly, a MATLAB code which implements the Newton-Maehly algorithm for computing all the roots of a complex polynomial. The algorithm repeatedly applies the Newton method to determine a root, and then deflation.
The information on this web page is distributed under the MIT license.
newton_maehly is available in a MATLAB version and an Octave version and a Python version.
aberth, a MATLAB code which implements the Aberth-Ehrlich algorithm for computing all the roots of a complex polynomial simultaneously. Convergence is asymptotically cubic. However convergence is not guaranteed.
bisection, a MATLAB 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 MATLAB 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.
companion_matrix, a MATLAB code which computes the companion matrix for a polynomial. The polynomial may be represented in the standard monomial basis, or as a sum of Chebyshev, Gegenbauer, Hermite, Laguerre, or Lagrange basis polynomials. All the roots of the polynomial can be determined as the eigenvalues of the corresponding companion matrix.
polynomial_root_bound, a MATLAB code which computes the Cauchy bound on the magnitude of all roots of a polynomial with complex coefficients.
r8poly, a MATLAB code which operates on real polynomials, including evaluation, differentiation, integration, multiplication, synthetic division, shifting the base, computing a power, taking the norm. It also defines Chebyshev, Lagrange and Legendre polynomials.
root_rc, a MATLAB 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.
roots_rc, a MATLAB code which seeks solutions of a system of nonlinear equations, using reverse communication (RC), by Gaston Gonnet.
test_zero, a MATLAB code which defines some test functions for which zeroes can be sought.
wdk, a MATLAB code which implements the Weierstrass-Durand-Kerner algorithm for computing all the roots of a complex polynomial simultaneously. Convergence is asymptotically quadratic. However convergence is not guaranteed.
zero_brent, a MATLAB code which seeks a solution of a scalar nonlinear equation f(x) = 0, by Richard Brent.
zero_chandrupatla, a MATLAB code which finds a zero of a scalar function of a scalar variable, starting from a change of sign interval, using the Chandrupatla method, which can converge faster than bisection, regula falsi, or Brent's method, by Tirupathi Chandrapatla.
zero_itp, a MATLAB 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_laguerre, a MATLAB code which uses Laguerre's method to find the zero of a function. The method needs first and second derivative information. The method almost always works when the function is a polynomial.
zero_rc, a MATLAB code which seeks solutions of a scalar nonlinear equation f(x) = 0, or a system of nonlinear equations, using reverse communication (RC).