queso-0.57.1
|
A class for handling generic scalar functions. More...
#include <GenericScalarFunction.h>
Public Member Functions | |
Constructor/Destructor methods | |
GenericScalarFunction (const char *prefix, const VectorSet< V, M > &domainSet, double(*valueRoutinePtr)(const V &domainVector, const V *domainDirection, const void *routinesDataPtr, V *gradVector, M *hessianMatrix, V *hessianEffect), const void *routinesDataPtr, bool routineIsForLn) | |
Default constructor. More... | |
virtual | ~GenericScalarFunction () |
Virtual destructor. More... | |
Mathematical method | |
double | actualValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const |
Calculates the actual value of this scalar function. More... | |
double | lnValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const |
Calculates the logarithm of value of this scalar function. More... | |
Public Member Functions inherited from QUESO::BaseScalarFunction< V, M > | |
void | setFiniteDifferenceStepSize (double fdStepSize) |
Sets the step size for finite differencing gradients. More... | |
void | setFiniteDifferenceStepSize (unsigned int i, double fdStepSize) |
BaseScalarFunction (const char *prefix, const VectorSet< V, M > &domainSet) | |
Default constructor. More... | |
virtual | ~BaseScalarFunction () |
Destructor. More... | |
const VectorSet< V, M > & | domainSet () const |
Access to the protected attribute m_domainSet: domain set of the scalar function. More... | |
virtual double | lnValue (const V &domainVector) const |
Returns the logarithm of the function at domainVector . More... | |
virtual double | lnValue (const V &domainVector, V &gradVector) const |
Returns the logarithm of the function and its gradient at domainVector . More... | |
virtual double | lnValue (const V &domainVector, V &gradVector, const V &domainDirection, V &hessianEffect) const |
Protected Attributes | |
double(* | m_valueRoutinePtr )(const V &domainVector, const V *domainDirection, const void *routinesDataPtr, V *gradVector, M *hessianMatrix, V *hessianEffect) |
Routine defining a scalar function. More... | |
const void * | m_routinesDataPtr |
bool | m_routineIsForLn |
Protected Attributes inherited from QUESO::BaseScalarFunction< V, M > | |
const BaseEnvironment & | m_env |
std::string | m_prefix |
const VectorSet< V, M > & | m_domainSet |
Domain set of the scalar function. More... | |
A class for handling generic scalar functions.
This class allows the mathematical definition of a scalar function such as: \( f: B \subset R \rightarrow R \). It is derived from BaseScalarFunction.
Definition at line 46 of file GenericScalarFunction.h.
QUESO::GenericScalarFunction< V, M >::GenericScalarFunction | ( | const char * | prefix, |
const VectorSet< V, M > & | domainSet, | ||
double(*)(const V &domainVector, const V *domainDirection, const void *routinesDataPtr, V *gradVector, M *hessianMatrix, V *hessianEffect) | valueRoutinePtr, | ||
const void * | routinesDataPtr, | ||
bool | routineIsForLn | ||
) |
Default constructor.
Instantiates an object of this
class given its prefix, domain set and a pointer to a routine. This routine plays the role of a scalar math function, and it is useful, for instance, to calculate the likelihood (and its image set).
Definition at line 39 of file GenericScalarFunction.C.
|
virtual |
|
virtual |
Calculates the actual value of this scalar function.
Implements QUESO::BaseScalarFunction< V, M >.
Definition at line 59 of file GenericScalarFunction.C.
|
virtual |
Calculates the logarithm of value of this scalar function.
It is used in routines that calculate the likelihood and expect the logarithm of value.
Reimplemented from QUESO::BaseScalarFunction< V, M >.
Definition at line 82 of file GenericScalarFunction.C.
|
protected |
Definition at line 83 of file GenericScalarFunction.h.
|
protected |
Definition at line 82 of file GenericScalarFunction.h.
|
protected |
Routine defining a scalar function.
The presence of the parameters gradVectors
, hessianMatrices
and hessianEffects
allows the user to calculate gradient vectors, Hessian matrices and Hessian effects; which can hold important information about her/his statistical application. Used, for instance to define the likelihood.
Definition at line 81 of file GenericScalarFunction.h.