Romberg Integrator<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.3
C#
Assembly: Numerics.NET.Generic (in Numerics.NET.Generic.dll) Version: 9.0.3
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
Romberg | Constructs a new RombergIntegrator<T> object. |
Properties
Absolute |
Gets or sets the absolute tolerance used in the
convergence test.
(Inherited from IterativeAlgorithm<T>) |
Convergence |
Gets or sets a value specifying the criterion that is
to be used in the convergence test for the algorithm.
(Inherited from IterativeAlgorithm<T>) |
Convergence |
Gets the convergence test for the algorithm.
(Inherited from IterativeAlgorithm<T>) |
Convergence |
Gets the collection of convergence tests for the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Estimated |
Gets a value indicating the size of the absolute
error of the result.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Evaluations |
Gets the number of evaluations needed to execute the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Has |
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>) |
Iterations |
Gets the number of iterations needed by the
algorithm to reach the desired accuracy.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Lower |
Gets or sets the lower bound of the integration interval.
(Inherited from NumericalIntegrator<T>) |
Max |
Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Max |
Gets or sets the maximum number of evaluations during the calculation.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Max | Gets or sets the maximum number of iterations
to use when approximating the roots of the target
function.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Min |
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) |
Parallel |
Gets or sets the configuration for the parallel behavior of the algorithm.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Relative |
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>) |
Solution |
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>) |
Throw |
Gets or sets whether to throw an
exception when the algorithm fails to converge.
(Inherited from ManagedIterativeAlgorithm<T, TError, TReport>) |
Upper |
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()) |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
Get | Serves as the default hash function. (Inherited from Object) |
Get | Gets the Type of the current instance. (Inherited from Object) |
Integrate() |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>) |
Integrate( |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>) |
Integrate( |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>) |
Integrate( |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>) |
Integrate( |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>) |
Integrate( |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator<T>) |
ToString | Returns a string that represents the current object. (Inherited from Object) |