|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math.ConvergingAlgorithmImpl
org.apache.commons.math.analysis.integration.UnivariateRealIntegratorImpl
org.apache.commons.math.analysis.integration.LegendreGaussIntegrator
public class LegendreGaussIntegrator
Implements the Legendre-Gauss quadrature formula.
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 polynomialss.
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.
Field Summary | |
---|---|
private double[] |
abscissas
Abscissas for the current method. |
private static double[] |
ABSCISSAS_2
Abscissas for the 2 points method. |
private static double[] |
ABSCISSAS_3
Abscissas for the 3 points method. |
private static double[] |
ABSCISSAS_4
Abscissas for the 4 points method. |
private static double[] |
ABSCISSAS_5
Abscissas for the 5 points method. |
private double[] |
weights
Weights for the current method. |
private static double[] |
WEIGHTS_2
Weights for the 2 points method. |
private static double[] |
WEIGHTS_3
Weights for the 3 points method. |
private static double[] |
WEIGHTS_4
Weights for the 4 points method. |
private static double[] |
WEIGHTS_5
Weights for the 5 points method. |
Fields inherited from class org.apache.commons.math.analysis.integration.UnivariateRealIntegratorImpl |
---|
defaultMinimalIterationCount, f, minimalIterationCount, result, resultComputed |
Fields inherited from class org.apache.commons.math.ConvergingAlgorithmImpl |
---|
absoluteAccuracy, defaultAbsoluteAccuracy, defaultMaximalIterationCount, defaultRelativeAccuracy, iterationCount, maximalIterationCount, relativeAccuracy |
Constructor Summary | |
---|---|
LegendreGaussIntegrator(int n,
int defaultMaximalIterationCount)
Build a Legendre-Gauss integrator. |
Method Summary | |
---|---|
double |
integrate(double min,
double max)
Deprecated. |
double |
integrate(UnivariateRealFunction f,
double min,
double max)
Integrate the function in the given interval. |
private double |
stage(UnivariateRealFunction f,
double min,
double max,
int n)
Compute the n-th stage integral. |
Methods inherited from class org.apache.commons.math.analysis.integration.UnivariateRealIntegratorImpl |
---|
clearResult, getMinimalIterationCount, getResult, resetMinimalIterationCount, setMinimalIterationCount, setResult, verifyInterval, verifyIterationCount |
Methods inherited from class org.apache.commons.math.ConvergingAlgorithmImpl |
---|
getAbsoluteAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, resetAbsoluteAccuracy, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setMaximalIterationCount, setRelativeAccuracy |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.commons.math.ConvergingAlgorithm |
---|
getAbsoluteAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, resetAbsoluteAccuracy, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setMaximalIterationCount, setRelativeAccuracy |
Field Detail |
---|
private static final double[] ABSCISSAS_2
private static final double[] WEIGHTS_2
private static final double[] ABSCISSAS_3
private static final double[] WEIGHTS_3
private static final double[] ABSCISSAS_4
private static final double[] WEIGHTS_4
private static final double[] ABSCISSAS_5
private static final double[] WEIGHTS_5
private final double[] abscissas
private final double[] weights
Constructor Detail |
---|
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 iterations
java.lang.IllegalArgumentException
- if the number of points is not
in the supported rangeMethod Detail |
---|
@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 interval
ConvergenceException
- if the maximum iteration count is exceeded
or the integrator detects convergence problems otherwise
FunctionEvaluationException
- if an error occurs evaluating the
function
java.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 interval
ConvergenceException
- if the maximum iteration count is exceeded
or the integrator detects convergence problems otherwise
FunctionEvaluationException
- if an error occurs evaluating the
function
java.lang.IllegalArgumentException
- if min > max or the endpoints do not
satisfy the requirements specified by the integratorprivate double stage(UnivariateRealFunction f, double min, double max, int n) throws FunctionEvaluationException
f
- the integrand functionmin
- the lower bound for the intervalmax
- the upper bound for the intervaln
- number of steps
FunctionEvaluationException
- if an error occurs evaluating the
function
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |