Class DoubleExponentialRuleQuadrature
java.lang.Object
com.irurueta.numerical.integration.Quadrature
com.irurueta.numerical.integration.DoubleExponentialRuleQuadrature
Implementation of quadrature using double exponential, which allows integration with a variable
transformation.
This implementation is suitable for improper integrands containing singularities.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final double
Lower limit of integration.private final double
Upper limit of integration.static final double
Default transformation of range of integration.private final double
Maximum step size.Listener to evaluate single dimension functions at required points.private double
Value of the next stage of refinement.Fields inherited from class com.irurueta.numerical.integration.Quadrature
n
-
Constructor Summary
ConstructorsConstructorDescriptionDoubleExponentialRuleQuadrature
(DoubleExponentialSingleDimensionFunctionEvaluatorListener listener, double a, double b) Constructor with default maximum step size.DoubleExponentialRuleQuadrature
(DoubleExponentialSingleDimensionFunctionEvaluatorListener listener, double a, double b, double hmax) Constructor.DoubleExponentialRuleQuadrature
(SingleDimensionFunctionEvaluatorListener listener, double a, double b) Constructor with default maximum step size.DoubleExponentialRuleQuadrature
(SingleDimensionFunctionEvaluatorListener listener, double a, double b, double hmax) Constructor. -
Method Summary
Methods inherited from class com.irurueta.numerical.integration.Quadrature
getN
-
Field Details
-
DEFAULT_HMAX
public static final double DEFAULT_HMAXDefault transformation of range of integration.- See Also:
-
a
private final double aLower limit of integration. -
b
private final double bUpper limit of integration. -
hmax
private final double hmaxMaximum step size. Determines transformation of range of integration. -
s
private double sValue of the next stage of refinement. -
listener
Listener to evaluate single dimension functions at required points.
-
-
Constructor Details
-
DoubleExponentialRuleQuadrature
public DoubleExponentialRuleQuadrature(DoubleExponentialSingleDimensionFunctionEvaluatorListener listener, double a, double b, double hmax) Constructor.- Parameters:
listener
- listener to evaluate function and handle singularities.a
- Lower limit of integration.b
- Upper limit of integration.hmax
- Maximum step size. This quadrature transforms the range of integration to [-hmax, hmax].
-
DoubleExponentialRuleQuadrature
public DoubleExponentialRuleQuadrature(DoubleExponentialSingleDimensionFunctionEvaluatorListener listener, double a, double b) Constructor with default maximum step size.- Parameters:
listener
- listener to evaluate function and handle singularities.a
- Lower limit of integration.b
- Upper limit of integration.
-
DoubleExponentialRuleQuadrature
public DoubleExponentialRuleQuadrature(SingleDimensionFunctionEvaluatorListener listener, double a, double b, double hmax) Constructor.- Parameters:
listener
- listener to evaluate function if function has mild singularities.a
- Lower limit of integration.b
- Upper limit of integration.hmax
- Maximum step size. This quadrature transforms the range of integration to [-hmax, hmax].
-
DoubleExponentialRuleQuadrature
public DoubleExponentialRuleQuadrature(SingleDimensionFunctionEvaluatorListener listener, double a, double b) Constructor with default maximum step size.- Parameters:
listener
- listener to evaluate function if function has mild singularities.a
- Lower limit of integration.b
- Upper limit of integration.
-
-
Method Details
-
next
Returns the value of the integral at the nth stage of refinement.- Specified by:
next
in classQuadrature
- Returns:
- the value of the integral at the nth stage of refinement.
- Throws:
EvaluationException
- Raised if something failed during the evaluation.
-
getType
Gets type of quadrature.- Specified by:
getType
in classQuadrature
- Returns:
- type of quadrature.
-