bisection_root_finder< Function > Class Template Reference

#include <bisection.h>

Inheritance diagram for bisection_root_finder< Function >:

iterative_method

List of all members.

Public Member Functions

 bisection_root_finder (Function &f, unsigned int iterations=100, double relative_error=1.0e-15)
double find_root (double min, double max)


Detailed Description

template<class Function>
class bisection_root_finder< Function >

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

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

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

References:

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

Constructor & Destructor Documentation

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

Create a bisection 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 bisection_root_finder< Function >::find_root ( double  min,
double  max 
) [inline]

Find a root of the target function that lies in the interval [min, max].

Parameters:
min the lower bound of the search interval.
max the upper bound of the search interval.
Returns:
a root that lies between min and max, inclusive.


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