secant_root_finder< Function > Class Template Reference

#include <secant.h>

Inheritance diagram for secant_root_finder< Function >:

iterative_method

List of all members.

Public Member Functions

 secant_root_finder (Function &f, unsigned int iterations=100, double relative_error=1.0e-15)
double find_root (double x0, double x1)


Detailed Description

template<class Function>
class secant_root_finder< Function >

This class provides the means to find roots of functions using the secant method. For example, to find roots for sine:
typedef double function(double);
 num::secant_root_finder<function> finder(std::sin);

find the root around 3 and 4.
 double pi = finder.find_root(3.0, 4.0);

find the root around -1 and 1.
 double zero = finder.find_root(-1.0, 1.0);

References:

  1. Eric W. Weisstein. "Secant Method." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/SecantMethod.html

Constructor & Destructor Documentation

template<class Function>
secant_root_finder< Function >::secant_root_finder ( Function &  f,
unsigned int  iterations = 100,
double  relative_error = 1.0e-15 
) [inline]

Create a root finder with the given function functor.

Parameters:
f the function functor.
iterations the maximum number of iterations.
relative_error the maximum allowable relative error.


Member Function Documentation

template<class Function>
double secant_root_finder< Function >::find_root ( double  x0,
double  x1 
) [inline]

Find a root of the target function that lies around the two initial approximations, x0 and x1.

Parameters:
x0 an initial approximation to the root.
x1 another initial approximation to the root.
Returns:
a root that lies close to x0 and x1.


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 22:22:16 2007 for numerics4c++ by  doxygen 1.5.3