GaussKronrodRule<T> Class

Abstract base class for Gauss-Kronrod type numerical integrators.

Definition

Namespace: Numerics.NET.Calculus.Generic
Assembly: Numerics.NET.Generic (in Numerics.NET.Generic.dll) Version: 9.0.0
C#
public class GaussKronrodRule<T> : IntegrationRule<T>
where T : Object, INumber<T>
Inheritance
Object  →  IntegrationRule<T>  →  GaussKronrodRule<T>

Type Parameters

T

Remarks

GaussKronrodRule is the abstract base class for classes that represent Gauss-Kronrod integration rules. Gauss-Kronrod methods use two integration formulas of different orders where the integration points of the lower order formula are also integration points for the higher order formula. This gives a way to estimate the integration error without doing any extra function evaluations.

Classes derived from GaussKronrodRule apply the integration formula to the entire integration interval. They are used most often as integration rules for subintervals in adaptive integration algorithms as implemented by the AdaptiveIntegrator class.

A number of ready-to-use integration rules have been supplied, as listed in the table below.

ClassDescription
#ctor()7-point Gauss with 15-point Kronrod rule.
#ctor()10-point Gauss with 21-point Kronrod rule.
#ctor()15-point Gauss with 31-point Kronrod rule.
#ctor()20-point Gauss with 41-point Kronrod rule.
#ctor()25-point Gauss with 51-point Kronrod rule.
#ctor()30-point Gauss with 61-point Kronrod rule.

To create a Gauss-Kronrod integrator of a different order, derive your class from GaussKronrodRule, and implement the GetGaussWeights(), GetKronrodWeights(), and GetKronrodPoints() properties. You should also override the Order property to return the order of the integration rule.

Constructors

GaussKronrodRule<T> Constructs a new Gauss-Kronrod rule of the specified order.

Properties

Order Gets the order of the numerical integrator.
(Overrides IntegrationRule<T>.Order)

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Evaluate(Func<T, T>, Interval<T>) Evaluates the rule for the specified function and interval.
(Inherited from IntegrationRule<T>)
Evaluate(Func<T, T>, Interval<T>, ParallelOptions) Numerically integrates a function of one variable.
(Overrides IntegrationRule<T>.Evaluate(Func<T, T>, Interval<T>, ParallelOptions))
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
gauss 
GetGaussWeights Gets an array specifying the weights associated with the Gaussian quadrature points for this GaussKronrodRule.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetKronrodPoints Gets an array specifying the Kronrod quadrature points for this GaussKronrodRule.
GetKronrodWeights Gets an array specifying the weights associated with the Kronrod quadrature points for this GaussKronrodRule.
GetTypeGets the Type of the current instance.
(Inherited from Object)
kronrod 
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
r_jacobi 
r_jacobi01(Int32) 
r_jacobi01(Int32, T) 
r_jacobi01(Int32, T, T) 
r_kronrod 
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also