RombergIntegrator<T> Class

Represents a numerical integrator that uses Romberg's method.

Definition

Namespace: Numerics.NET.Calculus.Generic
Assembly: Numerics.NET.Generic (in Numerics.NET.Generic.dll) Version: 9.0.1
C#
public sealed class RombergIntegrator<T> : NumericalIntegrator<T>
where T : Object, INumber<T>
Inheritance
Object  →  ManagedIterativeAlgorithm<T, T, SolutionReport<T, T>>  →  IterativeAlgorithm<T>  →  NumericalIntegrator<T>  →  RombergIntegrator<T>

Type Parameters

T

Remarks

Romberg integration is an enhancement of the basic trapezoid rule. The number of points is doubled in each iteration. The successive approximations are then used to extrapolate the exact value of the integral as the width of each subinterval approaches zero. Romberg integration has an effective order of 2k after k steps of the algorithm. Even though the number of function evaluations is still fairly high, it is a major improvement over Simpson's rule, and a reasonable choice for integrands that are sufficiently smooth.

Constructors

RombergIntegrator<T> Constructs a new RombergIntegrator<T> object.

Properties

AbsoluteTolerance Gets or sets the absolute tolerance used in the convergence test.
(Inherited from IterativeAlgorithm<T>)
ConvergenceCriterion Gets or sets a value specifying the criterion that is to be used in the convergence test for the algorithm.
(Inherited from IterativeAlgorithm<T>)
ConvergenceTest Gets the convergence test for the algorithm.
(Inherited from IterativeAlgorithm<T>)
ConvergenceTests Gets the collection of convergence tests for the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
EstimatedError Gets a value indicating the size of the absolute error of the result.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
EvaluationsNeeded Gets the number of evaluations needed to execute the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
HasSharedDegreeOfParallelism Indicates whether the degree of parallelism is a property that is shared across instances.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
Integrand Gets or sets the function to integrate.
(Inherited from NumericalIntegrator<T>)
IterationsNeeded Gets the number of iterations needed by the algorithm to reach the desired accuracy.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
LowerBound Gets or sets the lower bound of the integration interval.
(Inherited from NumericalIntegrator<T>)
MaxDegreeOfParallelism Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
MaxEvaluations Gets or sets the maximum number of evaluations during the calculation.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
MaxIterationsGets or sets the maximum number of iterations to use when approximating the roots of the target function.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
MinIterations Gets or sets the minimum iterations that have to be performed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
Order Gets the order of the numerical integrator.
(Overrides NumericalIntegrator<T>.Order)
ParallelOptions Gets or sets the configuration for the parallel behavior of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
RelativeTolerance Gets or sets the relative tolerance used in the convergence test.
(Inherited from IterativeAlgorithm<T>)
Result Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
SolutionReport Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
Status Gets the AlgorithmStatus following an execution of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
ThrowExceptionOnFailure Gets or sets whether to throw an exception when the algorithm fails to converge.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>)
UpperBound Gets or sets the upper bound of the integration interval.
(Inherited from NumericalIntegrator<T>)

Methods

Clone Returns a copy of this numerical integrator object.
(Overrides NumericalIntegrator<T>.Clone())
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Integrate() Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>)
Integrate(ParallelOptions) Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>)
Integrate(T, T) Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>)
Integrate(Func<T, T>, T, T) Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>)
Integrate(T, T, ParallelOptions) Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>)
Integrate(Func<T, T>, T, T, ParallelOptions) Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>)
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also