Class Integrator
java.lang.Object
com.irurueta.numerical.integration.Integrator
- Direct Known Subclasses:
QuadratureIntegrator
,RombergIntegrator
,SimpsonIntegrator
Integrates single dimension functions over a specified interval.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final IntegratorType
Default integrator type.static final QuadratureType
Default quadrature type. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Integrator
create
(double a, double b, SingleDimensionFunctionEvaluatorListener listener) Creates an integrator using default integrator and quadrature types with default accuracy.static Integrator
create
(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps) Creates an integrator using default integrator and quadrature types.static Integrator
create
(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps, IntegratorType integratorType) Creates an integrator using provided integrator type and using default quadrature type.static Integrator
create
(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps, IntegratorType integratorType, QuadratureType quadratureType) Creates an integrator using provided integrator and quadrature types.static Integrator
create
(double a, double b, SingleDimensionFunctionEvaluatorListener listener, IntegratorType integratorType) Creates an integrator using provided integrator type with default accuracy and using default quadrature type.static Integrator
create
(double a, double b, SingleDimensionFunctionEvaluatorListener listener, IntegratorType integratorType, QuadratureType quadratureType) Creates an integrator using provided integrator and quadrature types with default accuracy.abstract IntegratorType
Gets type of integrator.abstract QuadratureType
Gets type of quadrature.abstract double
Integrates function between provided lower and upper limits.
-
Field Details
-
DEFAULT_INTEGRATOR_TYPE
Default integrator type. Picks the safest option when no prior knowledge about the integrand is known. -
DEFAULT_QUADRATURE_TYPE
Default quadrature type. Picks the safest option when no prior knowledge about the integrand is known.
-
-
Constructor Details
-
Integrator
public Integrator()
-
-
Method Details
-
getIntegratorType
Gets type of integrator.- Returns:
- type of integrator.
-
getQuadratureType
Gets type of quadrature.- Returns:
- type of quadrature.
-
integrate
Integrates function between provided lower and upper limits.- Returns:
- result of integration.
- Throws:
IntegrationException
- if integration fails for numerical reasons.
-
create
public static Integrator create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps, IntegratorType integratorType, QuadratureType quadratureType) Creates an integrator using provided integrator and quadrature types. It must be noticed that upper limit of integration is ignored when using exponential mid-point quadrature type for Romberg's integration 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.integratorType
- integrator type.quadratureType
- quadrature type.- Returns:
- created integrator.
- Throws:
IllegalArgumentException
- if provided quadrature type is not supported for required integrator type.
-
create
public static Integrator create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, IntegratorType integratorType, QuadratureType quadratureType) Creates an integrator using provided integrator and quadrature types with default accuracy. It must be noticed that upper limit of integration is ignored when using exponential mid-point quadrature type for Romberg's integration method.- Parameters:
a
- Lower limit of integration.b
- Upper limit of integration.listener
- listener to evaluate a single dimension function at required points.integratorType
- integrator type.quadratureType
- quadrature type.- Returns:
- created integrator.
- Throws:
IllegalArgumentException
- if provided quadrature type is not supported for required integrator type.
-
create
public static Integrator create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps, IntegratorType integratorType) Creates an integrator using provided integrator type and using default quadrature type. It must be noticed that upper limit of integration is ignored when using exponential mid-point quadrature type for Romberg's integration 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.integratorType
- integrator type.- Returns:
- created integrator.
-
create
public static Integrator create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, IntegratorType integratorType) Creates an integrator using provided integrator type with default accuracy and using default quadrature type. It must be noticed that upper limit of integration is ignored when using exponential mid-point quadrature type for Romberg's integration method.- Parameters:
a
- Lower limit of integration.b
- Upper limit of integration.listener
- listener to evaluate a single dimension function at required points.integratorType
- integrator type.- Returns:
- created integrator.
-
create
public static Integrator create(double a, double b, SingleDimensionFunctionEvaluatorListener listener, double eps) Creates an integrator using default integrator and quadrature types. It must be noticed that upper limit of integration is ignored when using exponential mid-point quadrature type for Romberg's integration 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.- Returns:
- created integrator.
-
create
public static Integrator create(double a, double b, SingleDimensionFunctionEvaluatorListener listener) Creates an integrator using default integrator and quadrature types with default accuracy. It must be noticed that upper limit of integration is ignored when using exponential mid-point quadrature type for Romberg's integration method.- 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.
-