QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
GaussLobattoIntegral Class Reference

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

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

Inherits Integrator.

Public Member Functions

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

Protected Member Functions

Real integrate (const ext::function< Real(Real)> &f, Real a, Real b) const
 
Real adaptivGaussLobattoStep (const ext::function< Real(Real)> &f, Real a, Real b, Real fa, Real fb, Real is) const
 
Real calculateAbsTolerance (const ext::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