GaussKronrodAdaptive Class Reference

Integral of a 1-dimensional function using the Gauss-Kronrod methods. More...

#include <ql/math/integrals/kronrodintegral.hpp>

Inherits Integrator.

Public Member Functions

 GaussKronrodAdaptive (Real tolerance, Size maxFunctionEvaluations=Null< Size >())
 
- Public Member Functions inherited from Integrator
 Integrator (Real absoluteAccuracy, Size maxEvaluations)
 
Real operator() (const boost::function< Real(Real)> &f, Real a, Real b) const
 
Real absoluteError () const
 
Size numberOfEvaluations () const
 
virtual bool integrationSuccess () const
 
void setAbsoluteAccuracy (Real)
 
void setMaxEvaluations (Size)
 
Real absoluteAccuracy () const
 
Size maxEvaluations () const
 

Protected Member Functions

Real integrate (const boost::function< Real(Real)> &f, Real a, Real b) const
 
- Protected Member Functions inherited from Integrator
virtual Real integrate (const boost::function< Real(Real)> &f, Real a, Real b) const =0
 
void setAbsoluteError (Real error) const
 
void setNumberOfEvaluations (Size evaluations) const
 
void increaseNumberOfEvaluations (Size increase) const
 

Detailed Description

Integral of a 1-dimensional function using the Gauss-Kronrod methods.

This class provide an adaptive integration procedure using 15 points Gauss-Kronrod integration rule. This is more robust in that it allows to integrate less smooth functions (though singular functions should be integrated using dedicated algorithms) but less efficient beacuse it does not reuse precedently computed points during computation steps.

References:

Gauss-Kronrod Integration http://mathcssun1.emporia.edu/~oneilcat/ExperimentApplet3/ExperimentApplet3.html

NMS - Numerical Analysis Library http://www.math.iastate.edu/burkardt/f_src/nms/nms.html

Tests:
the correctness of the result is tested by checking it against known good values.