IGLib  1.7.2
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Num.IRealFunction Interface Reference

Interface for real functions. More...

+ Inheritance diagram for IG.Num.IRealFunction:

Public Member Functions

double Value (double x)
 Returns the value of this function at the specified parameter. More...
 
double Derivative (double x)
 Returns the first derivative of this function at the specified parameter. More...
 
double Derivative (double x, int order)
 Returns the derivative of the given order of this function at the specified parameter. More...
 
bool HigherDerivativeDefined (int order)
 Tells whether the derivative of the given order is defined for this function (by implementation, not mathematically) More...
 
double SecondDerivative (double x)
 Returns the second derivative of the given order of this function at the specified arameter. More...
 
double Integral (double x)
 Returns integral from 0 to x of the function. Throws an exception if the integral is not defined. More...
 
double Inverse (double y)
 Returns Inverse of the current function applied to function argument. Throws an exception if the inverse function is not defined. More...
 
void Tabulate (double from, double to, int numPoints)
 Tabulates the current function and its first and second derivatives (when available) on the specified interval, in the specified number of points. More...
 
void Tabulate (double from, double to, int numPoints, bool printDerivatives)
 Tabulates the current function and its first and eventually second derivatives (when available) on the specified interval, in the specified number of points. More...
 
void Tabulate (double from, double to, int numPoints, bool printDerivatives, bool printSecondDerivatives)
 Tabulates the current function and eventually its first and second derivatives (when available) on the specified interval, in the specified number of points. More...
 
double NumericalIntegral (double from, double to, int numintervals)
 Calculates numerical integral of this function. Simpson's formula is usually used. More...
 
double NumericalDerivative (double x, double stepsize)
 Calculates numerical derivative of this function. Central difference formula is used. More...
 
double NumericalSecondDerivative (double x, double stepsize)
 Calculates numerical second order derivative of this function. Central difference formula is used. More...
 

Properties

string Name [get]
 Returns a short name of the function. More...
 
string Description [get]
 Returns a short description of the function. More...
 
bool ValueDefined [get]
 Tells whether value of the function is defined by implementation. More...
 
bool DerivativeDefined [get]
 Tells whether the first derivative is defined for this function (by implementation, not mathematically) More...
 
bool SecondDerivativeDefined [get]
 Tells whether the second derivative is defined for this function (by implementation, not mathematically) More...
 
bool IntegralDefined [get]
 Tells whether analytical itegral of the function is defined or not. More...
 
bool InverseDefined [get]
 Tells whether analytical inverse function is defined or not. More...
 

Detailed Description

Interface for real functions.

$A Igor xx;

Member Function Documentation

double IG.Num.IRealFunction.Derivative ( double  x)

Returns the first derivative of this function at the specified parameter.

Implemented in IG.Num.RealFunction, and IG.Num.RealFunctionBase.

Referenced by IG.Lib.RealFunctionLoader.Example().

double IG.Num.IRealFunction.Derivative ( double  x,
int  order 
)

Returns the derivative of the given order of this function at the specified parameter.

Implemented in IG.Num.RealFunction, IG.Num.Func.Constant, IG.Num.Func.Identity, and IG.Num.RealFunctionBase.

double IG.Num.IRealFunction.SecondDerivative ( double  x)

Returns the second derivative of the given order of this function at the specified arameter.

Implemented in IG.Num.RealFunction, and IG.Num.RealFunctionBase.

double IG.Num.IRealFunction.Integral ( double  x)

Returns integral from 0 to x of the function. Throws an exception if the integral is not defined.

Parameters
xUpper bound of the integral.

Implemented in IG.Num.RealFunction, and IG.Num.RealFunctionBase.

double IG.Num.IRealFunction.Inverse ( double  y)

Returns Inverse of the current function applied to function argument. Throws an exception if the inverse function is not defined.

Implemented in IG.Num.RealFunction, and IG.Num.RealFunctionBase.

void IG.Num.IRealFunction.Tabulate ( double  from,
double  to,
int  numPoints 
)

Tabulates the current function and its first and second derivatives (when available) on the specified interval, in the specified number of points.

Parameters
fromLeft interval bound.
toRight interval bound.
numPointsNumber of points in which the function is calculated.

Implemented in IG.Num.RealFunctionBase.

void IG.Num.IRealFunction.Tabulate ( double  from,
double  to,
int  numPoints,
bool  printDerivatives 
)

Tabulates the current function and its first and eventually second derivatives (when available) on the specified interval, in the specified number of points.

Parameters
fromLeft interval bound.
toRight interval bound.
numPointsNumber of points in which the function is calculated.
printDerivativesWhether to print the derivatives.

Implemented in IG.Num.RealFunctionBase.

void IG.Num.IRealFunction.Tabulate ( double  from,
double  to,
int  numPoints,
bool  printDerivatives,
bool  printSecondDerivatives 
)

Tabulates the current function and eventually its first and second derivatives (when available) on the specified interval, in the specified number of points.

Parameters
fromLeft interval bound.
toRight interval bound.
numPointsNumber of points in which the function is calculated.
printDerivativesWhether to print the derivatives.
printSecondDerivativesWhether to print the second derivatives.

Implemented in IG.Num.RealFunctionBase.

double IG.Num.IRealFunction.NumericalIntegral ( double  from,
double  to,
int  numintervals 
)

Calculates numerical integral of this function. Simpson's formula is usually used.

Parameters
fromLower integral limit.
toUpper integral limit.
numintervalsNumber of subintervals (1 less thatn the number of evaluation points)
Returns
Numerical integral.

Implemented in IG.Num.RealFunctionBase.

double IG.Num.IRealFunction.NumericalDerivative ( double  x,
double  stepsize 
)

Calculates numerical derivative of this function. Central difference formula is used.

Parameters
xPoint at which derivative is calculated.
stepsizeStep size.
Returns
Numerical derivative.

Implemented in IG.Num.RealFunctionBase.

double IG.Num.IRealFunction.NumericalSecondDerivative ( double  x,
double  stepsize 
)

Calculates numerical second order derivative of this function. Central difference formula is used.

Parameters
xPoint at which second order derivative is calculated.
stepsizeStep size.
Returns
Numerical derivative.

Implemented in IG.Num.RealFunctionBase.

Property Documentation

string IG.Num.IRealFunction.Name
get

Returns a short name of the function.

Referenced by IG.Num.GridGenerator1dBase.CalculateGridUnitFactors().

string IG.Num.IRealFunction.Description
get

Returns a short description of the function.

bool IG.Num.IRealFunction.ValueDefined
get

Tells whether value of the function is defined by implementation.

Referenced by IG.Num.GridGenerator1dBase.CalculateGridUnitFactors(), and IG.Lib.RealFunctionLoader.Example().

bool IG.Num.IRealFunction.DerivativeDefined
get

Tells whether the first derivative is defined for this function (by implementation, not mathematically)

Referenced by IG.Lib.RealFunctionLoader.Example().

bool IG.Num.IRealFunction.SecondDerivativeDefined
get

Tells whether the second derivative is defined for this function (by implementation, not mathematically)

bool IG.Num.IRealFunction.IntegralDefined
get

Tells whether analytical itegral of the function is defined or not.

bool IG.Num.IRealFunction.InverseDefined
get

Tells whether analytical inverse function is defined or not.


The documentation for this interface was generated from the following file: