25 #ifndef UQ_GAUSSIAN_LIKELIHOOD_BLOCK_DIAG_COV_H
26 #define UQ_GAUSSIAN_LIKELIHOOD_BLOCK_DIAG_COV_H
29 #include <queso/GslBlockMatrix.h>
30 #include <queso/GaussianLikelihood.h>
44 template <
class V = GslVector,
class M = GslMatrix>
74 virtual double actualValue(
const V & domainVector,
const V * domainDirection,
75 V * gradVector, M * hessianMatrix, V * hessianEffect)
const;
78 virtual double lnValue(
const V & domainVector,
const V * domainDirection,
79 V * gradVector, M * hessianMatrix, V * hessianEffect)
const;
88 #endif // UQ_GAUSSIAN_LIKELIHOOD_BLOCK_DIAG_COV_H
A class representing a Gaussian likelihood with block-diagonal covariance matrix. ...
A templated class for handling sets.
virtual double lnValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Logarithm of the value of the scalar function.
virtual ~GaussianLikelihoodBlockDiagonalCovariance()
Destructor.
Class for representing block matrices using GSL library.
virtual double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Actual value of the scalar function.
const VectorSet< V, M > & domainSet() const
Access to the protected attribute m_domainSet: domain set of the scalar function. ...
GaussianLikelihoodBlockDiagonalCovariance(const char *prefix, const VectorSet< V, M > &domainSet, const V &observations, const GslBlockMatrix &covariance)
Default constructor.
const double & getBlockCoefficient(unsigned int i) const
Get (const) multiplicative coefficient for block i.
Base class for canned Gaussian likelihoods.
const GslBlockMatrix & m_covariance
std::vector< double > m_covarianceCoefficients
double & blockCoefficient(unsigned int i)
Get (non-const) multiplicative coefficient for block i.