Class SimpsonIntegrator<T extends Quadrature>
java.lang.Object
com.irurueta.numerical.integration.Integrator
com.irurueta.numerical.integration.SimpsonIntegrator<T>
- Type Parameters:
- T- a quadrature.
- Direct Known Subclasses:
- SimpsonDoubleExponentialRuleQuadratureIntegrator,- SimpsonInfinityMidPointQuadratureIntegrator,- SimpsonLowerSquareRootMidPointQuadratureIntegrator,- SimpsonMidPointQuadratureIntegrator,- SimpsonTrapezoidalQuadratureIntegrator,- SimpsonUpperSquareRootMidPointQuadratureIntegrator
Base integrator for implementations based on Simpson's method.
 Simpson's method is an optimization of Trapezoidal quadrature integrator.
 Implementations of this class will in general be more efficient than
 Trapezoidal quadrature integrators (i.e., require fewer function evaluations) when the function
 to be integrated has a finite fourth derivative (i.e., a continuous third derivative).
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprivate final doubleRequired accuracy.static final doubleDefault accuracy.private static final intMaximum number of allowed steps.private static final intMinimum required number of steps.private final TQuadrature used for integration.Fields inherited from class com.irurueta.numerical.integration.IntegratorDEFAULT_INTEGRATOR_TYPE, DEFAULT_QUADRATURE_TYPE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprivate static SimpsonIntegrator<Quadrature>cast(SimpsonIntegrator<?> integrator) Casts integrator to a quadrature integrator without wildcard parameter.static SimpsonIntegrator<Quadrature>create(double a, double b, SingleDimensionFunctionEvaluatorListener listener) Creates an integrator using Simpson's method and having default accuracy and quadrature type.static SimpsonIntegrator<Quadrature>create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps) Creates an integrator using Simpson's method and default quadrature type.static SimpsonIntegrator<Quadrature>create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps, QuadratureType quadratureType) Creates an integrator using Simpson's method.static SimpsonIntegrator<Quadrature>create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, QuadratureType quadratureType) Creates an integrator using Simpson's method and having default accuracy.Gets type of integrator.doubleIntegrates function between provided lower and upper limits.Methods inherited from class com.irurueta.numerical.integration.Integratorcreate, create, create, create, getQuadratureType
- 
Field Details- 
EPSpublic static final double EPSDefault accuracy.- See Also:
 
- 
JMINprivate static final int JMINMinimum required number of steps.- See Also:
 
- 
JMAXprivate static final int JMAXMaximum number of allowed steps.- See Also:
 
- 
qQuadrature used for integration.
- 
epsprivate final double epsRequired accuracy.
 
- 
- 
Constructor Details- 
SimpsonIntegratorConstructor.- Parameters:
- q- Quadrature used for integration.
- eps- Required accuracy.
 
 
- 
- 
Method Details- 
integrateIntegrates function between provided lower and upper limits.- Specified by:
- integratein class- Integrator
- Returns:
- result of integration.
- Throws:
- IntegrationException- if integration fails for numerical reasons.
 
- 
getIntegratorTypeGets type of integrator.- Specified by:
- getIntegratorTypein class- Integrator
- Returns:
- type of integrator.
 
- 
createpublic static SimpsonIntegrator<Quadrature> create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps, QuadratureType quadratureType) Creates an integrator using Simpson's method.- Parameters:
- a- Lower limit of integration.
- b- Upper limit of integration.
- listener- listener to evaluate a single dimension function at required points.
- eps- required accuracy.
- quadratureType- quadrature type.
- Returns:
- created integrator.
- Throws:
- IllegalArgumentException- if provided quadrature type is not supported.
 
- 
createpublic static SimpsonIntegrator<Quadrature> create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, QuadratureType quadratureType) Creates an integrator using Simpson's method and having default accuracy.- Parameters:
- a- Lower limit of integration.
- b- Upper limit of integration.
- listener- listener to evaluate a single dimension function at required points.
- quadratureType- quadrature type.
- Returns:
- created integrator.
- Throws:
- IllegalArgumentException- if provided quadrature type is not supported.
 
- 
createpublic static SimpsonIntegrator<Quadrature> create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps) Creates an integrator using Simpson's method and default quadrature type.- Parameters:
- a- Lower limit of integration.
- b- Upper limit of integration.
- listener- listener to evaluate a single dimension function at required points.
- eps- required accuracy.
- Returns:
- created integrator.
 
- 
createpublic static SimpsonIntegrator<Quadrature> create(double a, double b, SingleDimensionFunctionEvaluatorListener listener) Creates an integrator using Simpson's method and having default accuracy and quadrature type.- Parameters:
- a- Lower limit of integration.
- b- Upper limit of integration.
- listener- listener to evaluate a single dimension function at required points.
- Returns:
- created integrator.
 
- 
castCasts integrator to a quadrature integrator without wildcard parameter.- Parameters:
- integrator- integrator to be cast.
- Returns:
- cast integrator.
 
 
-