Represents a numerical integrator that uses Romberg's method.
| Name | Description |
---|
 | AbsoluteTolerance |
Gets or sets the absolute tolerance used in the
convergence test.
(Inherited from IterativeAlgorithm.) |
 | ConvergenceCriterion |
Gets or sets a value specifying the criterion that is
to be used in the convergence test for the algorithm.
(Inherited from IterativeAlgorithm.) |
 | ConvergenceTest |
Gets the convergence test for the algorithm.
(Inherited from IterativeAlgorithm.) |
 | ConvergenceTests |
Gets the collection of convergence tests for the algorithm.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | EstimatedError |
Gets a value indicating the size of the absolute
error of the result.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | EvaluationsNeeded |
Gets the number of evaluations needed to execute the algorithm.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | HasSharedDegreeOfParallelism |
Indicates whether the degree of parallelism is a property that is shared
across instances.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | Integrand |
Gets or sets the function to integrate.
(Inherited from NumericalIntegrator.) |
 | IterationsNeeded |
Gets the number of iterations needed by the
algorithm to reach the desired accuracy.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | LowerBound |
Gets or sets the lower bound of the integration interval.
(Inherited from NumericalIntegrator.) |
 | MaxDegreeOfParallelism |
Gets or sets the maximum degree of parallelism enabled by this instance.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | MaxEvaluations |
Gets or sets the maximum number of evaluations during the calculation.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | MaxIterations | Gets or sets the maximum number of iterations
to use when approximating the roots of the target
function.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | MinIterations |
Gets or sets the minimum iterations that have to be performed.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | Order |
Gets the order of the numerical integrator.
(Overrides NumericalIntegratorOrder.) |
 | ParallelOptions |
Gets or sets the configuration for the parallel behavior of the algorithm.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | RelativeTolerance |
Gets or sets the relative tolerance used in the
convergence test.
(Inherited from IterativeAlgorithm.) |
 | Result |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | SolutionReport |
Gets the result of an algorithm after it has executed.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | Status | (Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | ThrowExceptionOnFailure |
Gets or sets a value indicating whether to throw an
exception when the algorithm fails to converge.
(Inherited from ManagedIterativeAlgorithmT, TError, TReport.) |
 | UpperBound |
Gets or sets the upper bound of the integration interval.
(Inherited from NumericalIntegrator.) |
| Name | Description |
---|
 | Clone |
Returns a copy of this numerical integrator object.
(Overrides NumericalIntegratorClone.) |
 | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
 | GetHashCode | Serves as the default hash function. (Inherited from Object.) |
 | GetType | Gets the Type of the current instance. (Inherited from Object.) |
 | Integrate |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator.) |
 | Integrate(ParallelOptions) |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator.) |
 | Integrate(Double, Double) |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator.) |
 | Integrate(Double, Double, ParallelOptions) |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator.) |
 | Integrate(FuncDouble, Double, Double, Double) |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator.) |
 | Integrate(FuncDouble, Double, Double, Double, ParallelOptions) |
Numerically integrates a function of one variable.
(Inherited from NumericalIntegrator.) |
 | ToString | Returns a string that represents the current object. (Inherited from Object.) |
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.