Quadrature Class |
Namespace: Imsl.Math
The Quadrature type exposes the following members.
Name | Description | |
---|---|---|
![]() | Quadrature |
Constructs a Quadrature object.
|
Name | Description | |
---|---|---|
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Eval |
Returns the value of the integral from a to b.
|
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
![]() | AbsoluteError |
The absolute error tolerance.
|
![]() | ErrorEstimate |
Returns an estimate of the relative error in the computed result.
|
![]() | ErrorStatus |
Returns the non-fatal error status.
|
![]() | Extrapolation |
If true, the epsilon-algorithm for extrapolation is enabled.
|
![]() | MaxSubintervals |
The maximum number of subintervals allowed.
|
![]() | NumberOfProcessors |
Perform the parallel calculations with the maximum possible number of
processors set to NumberOfProcessors.
|
![]() | Parallel |
Enable or disable performing Quadrature.IFunction.F in parallel.
|
![]() | RelativeError |
The relative error tolerance.
|
![]() | Rule |
The Gauss-Kronrod rule.
|
Quadrature subdivides the interval [A, B] and uses a
-point Gauss-Kronrod rule to
estimate the integral over each subinterval. The error for each
subinterval is estimated by comparison with the k-point
Gauss quadrature rule. The subinterval with the largest estimated error is
then bisected and the same procedure is applied to both halves. The
bisection process is continued until either the error criterion is satisfied,
roundoff error is detected, the subintervals become too small, or the
maximum number of subintervals allowed is reached. The Class Quadrature
is based on the subroutine QAG by Piessens et al. (1983).
If the function to be integrated has endpoint singularities then
extrapolation should be enabled.
As described above, the integral's value is approximated by applying a quadrature rule to
a series of subdivisions of the interval.
The sequence of approximate values converges to the integral's value.
The -algorithm can be used to extrapolate from
the initial terms of the sequence to its limit.
Without extrapolation, the quadrature approximation sequence converges slowly
if the function being integrated has endpoint singularities.
The
-algorithm accelerates convergence of the sequence in this case.
The class EpsilonAlgorithm implements the
-algorithm. With extrapolation, this class
is similar to the subroutine QAGS by Piessens et al. (1983).
The desired absolute error, , can be set using AbsoluteError property.
The desired relative error,
, can be set using RelativeError property.
The method Eval computes the approximate integral value
.
It also computes an error estimate E, which can be retrieved using ErrorEstimate property.
These are related by the following equation: