Class RombergTrapezoidalQuadratureIntegrator
java.lang.Object
com.irurueta.numerical.integration.Integrator
com.irurueta.numerical.integration.RombergIntegrator<TrapezoidalQuadrature>
com.irurueta.numerical.integration.RombergTrapezoidalQuadratureIntegrator
public class RombergTrapezoidalQuadratureIntegrator
extends RombergIntegrator<TrapezoidalQuadrature>
Computes function integration by using Romberg integration.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final double
Default accuracy.private final double[]
Successive trapezoidal step sizes.private final PolynomialInterpolator
Polynomial interpolator.private static final int
Maximum number of allowed steps.private static final int
Maximum number of allowed steps + 1.private static final int
Minimum required number of steps.private final double[]
Successive trapezoidal approximations.Fields inherited from class com.irurueta.numerical.integration.RombergIntegrator
eps, q
Fields inherited from class com.irurueta.numerical.integration.Integrator
DEFAULT_INTEGRATOR_TYPE, DEFAULT_QUADRATURE_TYPE
-
Constructor Summary
ConstructorsConstructorDescriptionRombergTrapezoidalQuadratureIntegrator
(double a, double b, SingleDimensionFunctionEvaluatorListener listener) Constructor with default accuracy.RombergTrapezoidalQuadratureIntegrator
(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionGets type of quadrature.double
Integrates function between lower and upper limits defined by provided quadrature.Methods inherited from class com.irurueta.numerical.integration.RombergIntegrator
create, create, create, create, getIntegratorType
Methods inherited from class com.irurueta.numerical.integration.Integrator
create, create, create, create
-
Field Details
-
EPS
public static final double EPSDefault accuracy.- See Also:
-
JMAX
private static final int JMAXMaximum number of allowed steps.- See Also:
-
JMAXP
private static final int JMAXPMaximum number of allowed steps + 1.- See Also:
-
K
private static final int KMinimum required number of steps.- See Also:
-
s
private final double[] sSuccessive trapezoidal approximations. -
h
private final double[] hSuccessive trapezoidal step sizes. -
interpolator
Polynomial interpolator.
-
-
Constructor Details
-
RombergTrapezoidalQuadratureIntegrator
public RombergTrapezoidalQuadratureIntegrator(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps) Constructor.- 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.
-
RombergTrapezoidalQuadratureIntegrator
public RombergTrapezoidalQuadratureIntegrator(double a, double b, SingleDimensionFunctionEvaluatorListener listener) Constructor with default accuracy.- Parameters:
a
- Lower limit of integration.b
- Upper limit of integration.listener
- listener to evaluate a single dimension function at required points.
-
-
Method Details
-
integrate
Integrates function between lower and upper limits defined by provided quadrature. This implementation is suitable for closed intervals.- Overrides:
integrate
in classRombergIntegrator<TrapezoidalQuadrature>
- Returns:
- result of integration.
- Throws:
IntegrationException
- if integration fails for numerical reasons.
-
getQuadratureType
Gets type of quadrature.- Specified by:
getQuadratureType
in classIntegrator
- Returns:
- type of quadrature.
-