QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Integral of a one-dimensional function. More...
#include <segmentintegral.hpp>
Public Member Functions | |
SegmentIntegral (Size intervals) | |
Public Member Functions inherited from Integrator | |
Integrator (Real absoluteAccuracy, Size maxEvaluations) | |
virtual | ~Integrator ()=default |
Real | operator() (const ext::function< Real(Real)> &f, Real a, Real b) const |
void | setAbsoluteAccuracy (Real) |
void | setMaxEvaluations (Size) |
Real | absoluteAccuracy () const |
Size | maxEvaluations () const |
Real | absoluteError () const |
Size | numberOfEvaluations () const |
virtual bool | integrationSuccess () const |
Protected Member Functions | |
Real | integrate (const ext::function< Real(Real)> &f, Real a, Real b) const override |
Protected Member Functions inherited from Integrator | |
void | setAbsoluteError (Real error) const |
void | setNumberOfEvaluations (Size evaluations) const |
void | increaseNumberOfEvaluations (Size increase) const |
Private Attributes | |
Size | intervals_ |
Integral of a one-dimensional function.
Given a number \( N \) of intervals, 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 \).
Definition at line 50 of file segmentintegral.hpp.
|
explicit |
Definition at line 24 of file segmentintegral.cpp.
|
overrideprotectedvirtual |
Implements Integrator.
Definition at line 64 of file segmentintegral.hpp.
|
private |
Definition at line 57 of file segmentintegral.hpp.