Midpoint Integrator<T> Class
Definition
Assembly: Numerics.NET.Generic (in Numerics.NET.Generic.dll) Version: 9.0.1
public sealed class MidpointIntegrator<T> : NumericalIntegrator<T>
where T : Object, INumber<T>
- Inheritance
- Object → ManagedIterativeAlgorithm<T, T, SolutionReport<T, T>> → IterativeAlgorithm<T> → NumericalIntegrator<T> → MidpointIntegrator<T>
Type Parameters
- T
Remarks
The right point rule is one of the simplest numerical integration algorithms around. The interval is divided into smaller intervals, and the function value in the middle of the subinterval is taken as an approximation for the function over the entire subinterval.
This algorithm is of order 1. In each iteration, the number of points is doubled. The difference between successive approximations is taken as the estimate for the integration error.
Because the order of the algorithm is so low, use of this algorithm is not generally recommended for general use. The fact that previous integration points are not re-used makes this algorithm extra inefficient. However, it does provide a unique feature in that can produce absolute bounds on the value of the integral of some functions. It produces an upper bound for concave integrands, and a lower bound for convex integrands. Complementary bounds are produced by the TrapezoidIntegrator<T>.
Constructors
Midpoint | Constructs a new MidpointIntegrator<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.
(Inherited from NumericalIntegrator<T>) |
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) |