QuantLib: TrapezoidIntegral< IntegrationPolicy > Class Template Reference

A free/open-source library for quantitative finance Reference manual - version 1.20

Public Member Functions | Protected Member Functions | List of all members
TrapezoidIntegral< IntegrationPolicy > Class Template Reference

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

`#include <ql/math/integrals/trapezoidintegral.hpp>`

Inherits Integrator.

## Public Member Functions
| TrapezoidIntegral (Real accuracy, Size maxIterations)

## Protected Member Functions
Real | integrate (const ext::function< Real(Real)> &f, Real a, Real b) const

## Detailed Description

### template<class IntegrationPolicy>
class QuantLib::TrapezoidIntegral< IntegrationPolicy >

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 trapezoid formula

\[ \int_{a}^{b} f \mathrm{d}x = \frac{1}{2} f(x_{0}) + f(x_{1}) + f(x_{2}) + \dots + f(x_{N-1}) + \frac{1}{2} f(x_{N}) \]

where \( x_0 = a \), \( x_N = b \), and \( x_i = a+i \Delta x \) with \( \Delta x = (b-a)/N \). The number \( N \) of intervals is repeatedly increased until the target accuracy is reached.

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