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>
47 template<
class V,
class M>
48 class BaseScalarFunction {
65 const VectorSet<V, M> &
domainSet()
const;
69 virtual double actualValue(
const V & domainVector,
const V * domainDirection,
70 V * gradVector, M * hessianMatrix, V * hessianEffect)
const = 0;
73 virtual double lnValue(
const V & domainVector,
const V * domainDirection,
74 V * gradVector, M * hessianMatrix, V * hessianEffect)
const = 0;
86 #endif // UQ_SCALAR_FUNCTION_H
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 class for handling sets.
const VectorSet< V, M > & m_domainSet
Domain set of the scalar function.
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
const VectorSet< V, M > & domainSet() const
Access to the protected attribute m_domainSet: domain set of the scalar function. ...
const BaseEnvironment & m_env
virtual double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const =0
Actual value of the scalar function.
virtual ~BaseScalarFunction()
Destructor.
BaseScalarFunction(const char *prefix, const VectorSet< V, M > &domainSet)
Default constructor.