Namespaces

Types in MathNet.Numerics

Type Integrate

Namespace MathNet.Numerics

Numerical Integration (Quadrature).

Static Functions

Public Static Functions

double DoubleExponential(Func<double, double> f, double intervalBegin, double intervalEnd, double targetAbsoluteError)

Approximation of the definite integral of an analytic smooth function by double-exponential quadrature. When either or both limits are infinite, the integrand is assumed rapidly decayed to zero as x -> infinity.
Parameters
Func<double, double> f

The analytic smooth function to integrate.

double intervalBegin

Where the interval starts.

double intervalEnd

Where the interval stops.

double targetAbsoluteError

The expected relative accuracy of the approximation.

Return
double

Approximation of the finite integral in the given interval.

double GaussKronrod(Func<double, double> f, double intervalBegin, double intervalEnd, double targetRelativeError, int maximumDepth, int order)

Approximation of the definite integral of an analytic smooth function by Gauss-Kronrod quadrature. When either or both limits are infinite, the integrand is assumed rapidly decayed to zero as x -> infinity.
Parameters
Func<double, double> f

The analytic smooth function to integrate.

double intervalBegin

Where the interval starts.

double intervalEnd

Where the interval stops.

double targetRelativeError

The expected relative accuracy of the approximation.

int maximumDepth

The maximum number of interval splittings permitted before stopping.

int order

The number of Gauss-Kronrod points. Pre-computed for 15, 21, 31, 41, 51 and 61 points.

Return
double

Approximation of the finite integral in the given interval.

double GaussKronrod(Func<double, double> f, double intervalBegin, double intervalEnd, Double& error, Double& L1Norm, double targetRelativeError, int maximumDepth, int order)

double GaussLegendre(Func<double, double> f, double intervalBegin, double intervalEnd, int order)

Approximation of the definite integral of an analytic smooth function by Gauss-Legendre quadrature. When either or both limits are infinite, the integrand is assumed rapidly decayed to zero as x -> infinity.
Parameters
Func<double, double> f

The analytic smooth function to integrate.

double intervalBegin

Where the interval starts.

double intervalEnd

Where the interval stops.

int order

Defines an Nth order Gauss-Legendre rule. The order also defines the number of abscissas and weights for the rule. Precomputed Gauss-Legendre abscissas/weights for orders 2-20, 32, 64, 96, 100, 128, 256, 512, 1024 are used, otherwise they're calculated on the fly.

Return
double

Approximation of the finite integral in the given interval.

double OnClosedInterval(Func<double, double> f, double intervalBegin, double intervalEnd, double targetAbsoluteError)

Approximation of the definite integral of an analytic smooth function on a closed interval.
Parameters
Func<double, double> f

The analytic smooth function to integrate.

double intervalBegin

Where the interval starts, inclusive and finite.

double intervalEnd

Where the interval stops, inclusive and finite.

double targetAbsoluteError

The expected relative accuracy of the approximation.

Return
double

Approximation of the finite integral in the given interval.

double OnClosedInterval(Func<double, double> f, double intervalBegin, double intervalEnd)

Approximation of the definite integral of an analytic smooth function on a closed interval.
Parameters
Func<double, double> f

The analytic smooth function to integrate.

double intervalBegin

Where the interval starts, inclusive and finite.

double intervalEnd

Where the interval stops, inclusive and finite.

Return
double

Approximation of the finite integral in the given interval.

double OnRectangle(Func<double, double, double> f, double invervalBeginA, double invervalEndA, double invervalBeginB, double invervalEndB, int order)

Approximates a 2-dimensional definite integral using an Nth order Gauss-Legendre rule over the rectangle [a,b] x [c,d].
Parameters
Func<double, double, double> f

The 2-dimensional analytic smooth function to integrate.

double invervalBeginA

Where the interval starts for the first (inside) integral, exclusive and finite.

double invervalEndA

Where the interval ends for the first (inside) integral, exclusive and finite.

double invervalBeginB

Where the interval starts for the second (outside) integral, exclusive and finite.

double invervalEndB

Where the interval ends for the second (outside) integral, exclusive and finite.

int order

Defines an Nth order Gauss-Legendre rule. The order also defines the number of abscissas and weights for the rule. Precomputed Gauss-Legendre abscissas/weights for orders 2-20, 32, 64, 96, 100, 128, 256, 512, 1024 are used, otherwise they're calculated on the fly.

Return
double

Approximation of the finite integral in the given interval.

double OnRectangle(Func<double, double, double> f, double invervalBeginA, double invervalEndA, double invervalBeginB, double invervalEndB)

Approximates a 2-dimensional definite integral using an Nth order Gauss-Legendre rule over the rectangle [a,b] x [c,d].
Parameters
Func<double, double, double> f

The 2-dimensional analytic smooth function to integrate.

double invervalBeginA

Where the interval starts for the first (inside) integral, exclusive and finite.

double invervalEndA

Where the interval ends for the first (inside) integral, exclusive and finite.

double invervalBeginB

Where the interval starts for the second (outside) integral, exclusive and finite.

double invervalEndB

Where the interval ends for the second (outside) integral, exclusive and finite.

Return
double

Approximation of the finite integral in the given interval.