GaussLobattoIntegral Class Reference

Integral of a one-dimensional function. More...

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

Inherits QuantLib::Integrator.

List of all members.

Public Member Functions

 GaussLobattoIntegral (Size maxIterations, Real absAccuracy, Real relAccuracy=Null< Real >(), bool useConvergenceEstimate=true)

Protected Member Functions

Real integrate (const boost::function< Real(Real)> &f, Real a, Real b) const
Real adaptivGaussLobattoStep (const boost::function< Real(Real)> &f, Real a, Real b, Real fa, Real fb, Real is) const
Real calculateAbsTolerance (const boost::function< Real(Real)> &f, Real a, Real b) const

Protected Attributes

Real relAccuracy_
const bool useConvergenceEstimate_

Static Protected Attributes

static const Real alpha_
static const Real beta_
static const Real x1_
static const Real x2_
static const Real x3_


Detailed Description

Integral of a one-dimensional function.

Given a target accuracy $ \epsilon $, the integral of a function $ f $ between $ a $ and $ b $ is calculated by means of the Gauss-Lobatto formula

References: This algorithm is a C++ implementation of the algorithm outlined in

W. Gander and W. Gautschi, Adaptive Quadrature - Revisited. BIT, 40(1):84-101, March 2000. CS technical report: ftp.inf.ethz.ch/pub/publications/tech-reports/3xx/306.ps.gz

The original MATLAB version can be downloaded here http://www.inf.ethz.ch/personal/gander/adaptlob.m