public class LegendreGaussIntegrator extends UnivariateRealIntegratorImpl
Legendre-Gauss integrators are efficient integrators that can accurately integrate functions with few functions evaluations. A Legendre-Gauss integrator using an n-points quadrature formula can integrate exactly 2n-1 degree polynomials.
These integrators evaluate the function on n carefully chosen abscissas in each step interval (mapped to the canonical [-1 1] interval). The evaluation abscissas are not evenly spaced and none of them are at the interval endpoints. This implies the function integrated can be undefined at integration interval endpoints.
The evaluation abscissas xi are the roots of the degree n Legendre polynomial. The weights ai of the quadrature formula integrals from -1 to +1 ∫ Li2 where Li (x) = ∏ (x-xk)/(xi-xk) for k != i.
Constructor and Description |
---|
LegendreGaussIntegrator(int n,
int defaultMaximalIterationCount)
Build a Legendre-Gauss integrator.
|
Modifier and Type | Method and Description |
---|---|
double |
integrate(double min,
double max)
Deprecated.
|
double |
integrate(UnivariateRealFunction f,
double min,
double max)
Integrate the function in the given interval.
|
getMinimalIterationCount, getResult, resetMinimalIterationCount, setMinimalIterationCount
getAbsoluteAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, resetAbsoluteAccuracy, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setMaximalIterationCount, setRelativeAccuracy
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAbsoluteAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, resetAbsoluteAccuracy, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setMaximalIterationCount, setRelativeAccuracy
public LegendreGaussIntegrator(int n, int defaultMaximalIterationCount) throws java.lang.IllegalArgumentException
n
- number of points desired (must be between 2 and 5 inclusive)defaultMaximalIterationCount
- maximum number of iterationsjava.lang.IllegalArgumentException
- if the number of points is not
in the supported range@Deprecated public double integrate(double min, double max) throws ConvergenceException, FunctionEvaluationException, java.lang.IllegalArgumentException
min
- the lower bound for the intervalmax
- the upper bound for the intervalConvergenceException
- if the maximum iteration count is exceeded
or the integrator detects convergence problems otherwiseFunctionEvaluationException
- if an error occurs evaluating the
functionjava.lang.IllegalArgumentException
- if min > max or the endpoints do not
satisfy the requirements specified by the integratorpublic double integrate(UnivariateRealFunction f, double min, double max) throws ConvergenceException, FunctionEvaluationException, java.lang.IllegalArgumentException
f
- the integrand functionmin
- the lower bound for the intervalmax
- the upper bound for the intervalConvergenceException
- if the maximum iteration count is exceeded
or the integrator detects convergence problems otherwiseFunctionEvaluationException
- if an error occurs evaluating the functionjava.lang.IllegalArgumentException
- if min > max or the endpoints do not
satisfy the requirements specified by the integrator"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"