Class DoubleExponentialRuleMatrixQuadrature
java.lang.Object
com.irurueta.numerical.integration.MatrixQuadrature
com.irurueta.numerical.integration.DoubleExponentialRuleMatrixQuadrature
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.private final int
Number of columns of quadrature result.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 final int
Number of rows of quadrature result.private final com.irurueta.algebra.Matrix
Value of the next stage of refinement.private final com.irurueta.algebra.Matrix
Temporary value storing summation of evaluations.private final com.irurueta.algebra.Matrix
Temporary value storing evaluation at lower bound.private final com.irurueta.algebra.Matrix
Temporary value storing evaluation at upper bound.private final com.irurueta.algebra.Matrix
Temporary value storing evaluation at mid-point.private final com.irurueta.algebra.Matrix
Temporary value storing evaluation at point x.Fields inherited from class com.irurueta.numerical.integration.MatrixQuadrature
n
-
Constructor Summary
ConstructorsConstructorDescriptionDoubleExponentialRuleMatrixQuadrature
(DoubleExponentialMatrixSingleDimensionFunctionEvaluatorListener listener, double a, double b) Constructor.DoubleExponentialRuleMatrixQuadrature
(DoubleExponentialMatrixSingleDimensionFunctionEvaluatorListener listener, double a, double b, double hmax) Constructor.DoubleExponentialRuleMatrixQuadrature
(MatrixSingleDimensionFunctionEvaluatorListener listener, double a, double b) Constructor.DoubleExponentialRuleMatrixQuadrature
(MatrixSingleDimensionFunctionEvaluatorListener listener, double a, double b, double hmax) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected int
Gets number of columns of quadrature result.protected int
getRows()
Gets number of rows of quadrature result.getType()
Gets type of quadrature.void
next
(com.irurueta.algebra.Matrix result) Returns the value of the integral at the nth stage of refinement.Methods inherited from class com.irurueta.numerical.integration.MatrixQuadrature
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. -
rows
private final int rowsNumber of rows of quadrature result. -
columns
private final int columnsNumber of columns of quadrature result. -
s
private final com.irurueta.algebra.Matrix sValue of the next stage of refinement. -
sum
private final com.irurueta.algebra.Matrix sumTemporary value storing summation of evaluations. -
tmpMid
private final com.irurueta.algebra.Matrix tmpMidTemporary value storing evaluation at mid-point. -
tmpA
private final com.irurueta.algebra.Matrix tmpATemporary value storing evaluation at lower bound. -
tmpB
private final com.irurueta.algebra.Matrix tmpBTemporary value storing evaluation at upper bound. -
tmpX
private final com.irurueta.algebra.Matrix tmpXTemporary value storing evaluation at point x. -
listener
Listener to evaluate single dimension functions at required points.
-
-
Constructor Details
-
DoubleExponentialRuleMatrixQuadrature
public DoubleExponentialRuleMatrixQuadrature(DoubleExponentialMatrixSingleDimensionFunctionEvaluatorListener listener, double a, double b, double hmax) throws com.irurueta.algebra.WrongSizeException Constructor.- Parameters:
listener
- listener to evaluate a single dimension matrix function at required points.a
- Lower limit of integration.b
- Upper limit of integration.hmax
- Maximum step size. This quadrature transforms the range of integration to [-hmax, hmax].- Throws:
com.irurueta.algebra.WrongSizeException
- if size notified by provided listener is invalid.
-
DoubleExponentialRuleMatrixQuadrature
public DoubleExponentialRuleMatrixQuadrature(DoubleExponentialMatrixSingleDimensionFunctionEvaluatorListener listener, double a, double b) throws com.irurueta.algebra.WrongSizeException Constructor.- Parameters:
listener
- listener to evaluate a single dimension matrix function at required points.a
- Lower limit of integration.b
- Upper limit of integration.- Throws:
com.irurueta.algebra.WrongSizeException
- if size notified by provided listener is invalid.
-
DoubleExponentialRuleMatrixQuadrature
public DoubleExponentialRuleMatrixQuadrature(MatrixSingleDimensionFunctionEvaluatorListener listener, double a, double b, double hmax) throws com.irurueta.algebra.WrongSizeException Constructor.- Parameters:
listener
- listener to evaluate a single dimension matrix function at required points.a
- Lower limit of integration.b
- Upper limit of integration.hmax
- Maximum step size. This quadrature transforms the range of integration to [-hmax, hmax].- Throws:
com.irurueta.algebra.WrongSizeException
- if size notified by provided listener is invalid.
-
DoubleExponentialRuleMatrixQuadrature
public DoubleExponentialRuleMatrixQuadrature(MatrixSingleDimensionFunctionEvaluatorListener listener, double a, double b) throws com.irurueta.algebra.WrongSizeException Constructor.- Parameters:
listener
- listener to evaluate a single dimension matrix function at required points.a
- Lower limit of integration.b
- Upper limit of integration.- Throws:
com.irurueta.algebra.WrongSizeException
- if size notified by provided listener is invalid.
-
-
Method Details
-
next
Returns the value of the integral at the nth stage of refinement.- Specified by:
next
in classMatrixQuadrature
- Parameters:
result
- instance where the value of the integral at the nth stage of refinement will be stored.- Throws:
EvaluationException
- Raised if something failed during the evaluation.
-
getType
Gets type of quadrature.- Specified by:
getType
in classMatrixQuadrature
- Returns:
- type of quadrature.
-
getRows
protected int getRows()Gets number of rows of quadrature result.- Specified by:
getRows
in classMatrixQuadrature
- Returns:
- number of rows of quadrature result.
-
getColumns
protected int getColumns()Gets number of columns of quadrature result.- Specified by:
getColumns
in classMatrixQuadrature
- Returns:
- number of columns of quadrature result.
-