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 doubleLower limit of integration.private final doubleUpper limit of integration.private final intNumber of columns of quadrature result.static final doubleDefault transformation of range of integration.private final doubleMaximum step size.Listener to evaluate single dimension functions at required points.private final intNumber of rows of quadrature result.private final com.irurueta.algebra.MatrixValue of the next stage of refinement.private final com.irurueta.algebra.MatrixTemporary value storing summation of evaluations.private final com.irurueta.algebra.MatrixTemporary value storing evaluation at lower bound.private final com.irurueta.algebra.MatrixTemporary value storing evaluation at upper bound.private final com.irurueta.algebra.MatrixTemporary value storing evaluation at mid-point.private final com.irurueta.algebra.MatrixTemporary 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 intGets number of columns of quadrature result.protected intgetRows()Gets number of rows of quadrature result.getType()Gets type of quadrature.voidnext(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:
nextin 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:
getTypein classMatrixQuadrature- Returns:
- type of quadrature.
-
getRows
protected int getRows()Gets number of rows of quadrature result.- Specified by:
getRowsin classMatrixQuadrature- Returns:
- number of rows of quadrature result.
-
getColumns
protected int getColumns()Gets number of columns of quadrature result.- Specified by:
getColumnsin classMatrixQuadrature- Returns:
- number of columns of quadrature result.
-