roots.f90 File Reference

Go to the source code of this file.

Data Types

type  roots::roots_typ
 basic type for root finding functions More...
 

Modules

module  roots
 root finding subroutines
 

Functions/Subroutines

pure subroutine, public roots::initroots (this, x1, x2, f1, f2, dxacc, maxiter)
 
character(len=64) function, public roots::geterrormessage (error)
 
subroutine roots::getroot_generic (this, Stepper, func, x1, x2, dxacc, maxiter, plist, xm)
 
subroutine, public roots::getroot_newton (funcd, x1, x2, root, error, plist, xm, iterations)
 
subroutine, public roots::getroot_regulafalsi (func, x1, x2, root, error, plist, xm, iterations)
 
subroutine, public roots::getroot_pegasus (func, x1, x2, root, error, plist, xm, iterations)
 
subroutine, public roots::getroot_king (func, x1, x2, root, error, plist, xm, iterations)
 
subroutine, public roots::getroot_andersonbjoerk (func, x1, x2, root, error, plist, xm, iterations)
 
subroutine, public roots::getroot_ridder (func, x1, x2, root, error, plist, xm, iterations)
 
subroutine, public roots::getroot_brentdekker (func, x1, x2, root, error, plist, xm, iterations)
 
subroutine, public roots::getroot_bisection (func, x1, x2, root, error, plist, xm, iterations)
 
pure subroutine roots::updatebounds_bisection (this)
 
pure subroutine roots::step_bisection (this)
 
pure subroutine roots::step_newton (this)
 
pure subroutine roots::step_regulafalsi (this)
 
pure subroutine roots::step_pegasus (this)
 
pure subroutine roots::step_king (this)
 
pure subroutine roots::step_andersonbjoerk (this)
 
pure subroutine roots::step_ridder (this)
 
pure subroutine roots::step_brentdekker (this)
 
pure subroutine roots::step_secantmethod (this)
 
pure subroutine roots::saveinversequadraticinterpolation (a, b, c, fa, fb, fc, db_numer, db_denom)
 
pure subroutine roots::step_arithmeticmean (this)
 
pure real function roots::arithmeticmean (a, b)
 
pure real function roots::linearinterpolation (x1, x2, f1, f2)
 
pure subroutine roots::testconvergence (this)
 

Variables

integer, parameter, public roots::default_max_iterations = 1000
 
real, parameter, public roots::default_accuracy = 4*EPSILON(DEFAULT_ACCURACY)
 
character(len=64), dimension(0:4), parameter roots::error_message = (/ "unknown error ", "root not bracketed ", "iteration exceeds maximum ", "requested accuracy smaller than machine precission ", "upper limit for iterations should be larger than 1 " /)