25 #ifndef UQ_SCALAR_FUNCTION_H
26 #define UQ_SCALAR_FUNCTION_H
28 #include <queso/VectorSet.h>
29 #include <queso/VectorSubset.h>
30 #include <queso/Environment.h>
31 #include <queso/Defines.h>
50 template <
class V = GslVector,
class M = GslMatrix>
72 virtual double actualValue(
const V & domainVector,
const V * domainDirection,
73 V * gradVector, M * hessianMatrix, V * hessianEffect)
const = 0;
76 virtual double lnValue(
const V & domainVector,
const V * domainDirection,
77 V * gradVector, M * hessianMatrix, V * hessianEffect)
const = 0;
89 #endif // UQ_SCALAR_FUNCTION_H
A templated class for handling sets.
const VectorSet< V, M > & m_domainSet
Domain set of the scalar function.
virtual double lnValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const =0
Logarithm of the value of the scalar function.
A templated (base) class for handling scalar functions.
const BaseEnvironment & m_env
const VectorSet< V, M > & domainSet() const
Access to the protected attribute m_domainSet: domain set of the scalar function. ...
virtual double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const =0
Actual value of the scalar function.
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
virtual ~BaseScalarFunction()
Destructor.
BaseScalarFunction(const char *prefix, const VectorSet< V, M > &domainSet)
Default constructor.