## Types in MathNet.Numerics

Type Integrate

Namespace MathNet.Numerics

### Public Static Functions

#### doubleDoubleExponential(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.

#### doubleGaussKronrod(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.

#### doubleGaussLegendre(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.

#### doubleOnClosedInterval(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.

#### doubleOnClosedInterval(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.

#### doubleOnRectangle(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.

#### doubleOnRectangle(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.