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 
A templated class for handling sets. 
 
virtual ~BaseScalarFunction()
Destructor. 
 
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. 
 
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
 
BaseScalarFunction(const char *prefix, const VectorSet< V, M > &domainSet)
Default constructor. 
 
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. 
 
const VectorSet< V, M > & m_domainSet
Domain set of the scalar function. 
 
const BaseEnvironment & m_env