Open CASCADE Technology 6.6.0
|
This class implements the Gauss-Kronrod method of
integral computation.
#include <math_KronrodSingleIntegration.hxx>
Public Member Functions | |
math_KronrodSingleIntegration () | |
An empty constructor. | |
math_KronrodSingleIntegration (math_Function &theFunction, const Standard_Real theLower, const Standard_Real theUpper, const Standard_Integer theNbPnts) | |
Constructor. Takes the function, the lower and upper bound values, the initial number of Kronrod points | |
math_KronrodSingleIntegration (math_Function &theFunction, const Standard_Real theLower, const Standard_Real theUpper, const Standard_Integer theNbPnts, const Standard_Real theTolerance, const Standard_Integer theMaxNbIter) | |
Constructor. Takes the function, the lower and upper bound values, the initial number of Kronrod points, the tolerance value and the maximal number of iterations as parameters. | |
void | Perform (math_Function &theFunction, const Standard_Real theLower, const Standard_Real theUpper, const Standard_Integer theNbPnts) |
Computation of the integral. Takes the function, the lower and upper bound values, the initial number of Kronrod points, the relative tolerance value and the maximal number of iterations as parameters. theNbPnts should be odd and greater then or equal to 3. | |
void | Perform (math_Function &theFunction, const Standard_Real theLower, const Standard_Real theUpper, const Standard_Integer theNbPnts, const Standard_Real theTolerance, const Standard_Integer theMaxNbIter) |
Computation of the integral. Takes the function, the lower and upper bound values, the initial number of Kronrod points, the relative tolerance value and the maximal number of iterations as parameters. theNbPnts should be odd and greater then or equal to 3. Note that theTolerance is relative, i.e. the criterion of solution reaching is: Abs(Kronrod - Gauss)/Abs(Kronrod) < theTolerance. theTolerance should be positive. | |
Standard_Boolean | IsDone () const |
Returns Standard_True if computation is performed successfully. | |
Standard_Real | Value () const |
Returns the value of the integral. | |
Standard_Real | ErrorReached () const |
Returns the value of the relative error reached. | |
Standard_Real | AbsolutError () const |
Returns the value of the relative error reached. | |
Standard_Integer | OrderReached () const |
Returns the number of Kronrod points for which the result is computed. | |
Standard_Integer | NbIterReached () const |
Returns the number of iterations that were made to compute result. | |
Static Public Member Functions | |
static Standard_Boolean | GKRule (math_Function &theFunction, const Standard_Real theLower, const Standard_Real theUpper, const math_Vector &theGaussP, const math_Vector &theGaussW, const math_Vector &theKronrodP, const math_Vector &theKronrodW, Standard_Real &theValue, Standard_Real &theError) |
math_KronrodSingleIntegration::math_KronrodSingleIntegration | ( | ) |
math_KronrodSingleIntegration::math_KronrodSingleIntegration | ( | math_Function & | theFunction, |
const Standard_Real | theLower, | ||
const Standard_Real | theUpper, | ||
const Standard_Integer | theNbPnts | ||
) |
math_KronrodSingleIntegration::math_KronrodSingleIntegration | ( | math_Function & | theFunction, |
const Standard_Real | theLower, | ||
const Standard_Real | theUpper, | ||
const Standard_Integer | theNbPnts, | ||
const Standard_Real | theTolerance, | ||
const Standard_Integer | theMaxNbIter | ||
) |
Standard_Real math_KronrodSingleIntegration::AbsolutError | ( | ) | const |
Standard_Real math_KronrodSingleIntegration::ErrorReached | ( | ) | const |
static Standard_Boolean math_KronrodSingleIntegration::GKRule | ( | math_Function & | theFunction, |
const Standard_Real | theLower, | ||
const Standard_Real | theUpper, | ||
const math_Vector & | theGaussP, | ||
const math_Vector & | theGaussW, | ||
const math_Vector & | theKronrodP, | ||
const math_Vector & | theKronrodW, | ||
Standard_Real & | theValue, | ||
Standard_Real & | theError | ||
) | [static] |
Standard_Boolean math_KronrodSingleIntegration::IsDone | ( | ) | const |
Standard_Integer math_KronrodSingleIntegration::NbIterReached | ( | ) | const |
Standard_Integer math_KronrodSingleIntegration::OrderReached | ( | ) | const |
void math_KronrodSingleIntegration::Perform | ( | math_Function & | theFunction, |
const Standard_Real | theLower, | ||
const Standard_Real | theUpper, | ||
const Standard_Integer | theNbPnts, | ||
const Standard_Real | theTolerance, | ||
const Standard_Integer | theMaxNbIter | ||
) |
void math_KronrodSingleIntegration::Perform | ( | math_Function & | theFunction, |
const Standard_Real | theLower, | ||
const Standard_Real | theUpper, | ||
const Standard_Integer | theNbPnts | ||
) |
Standard_Real math_KronrodSingleIntegration::Value | ( | ) | const |