25 #ifndef UQ_HESSIANCOV_TRANSITION_KERNEL_GROUP_H
26 #define UQ_HESSIANCOV_TRANSITION_KERNEL_GROUP_H
28 #include <queso/TKGroup.h>
29 #include <queso/VectorRV.h>
30 #include <queso/ScalarFunctionSynchronizer.h>
43 template <
class V = GslVector,
class M = GslMatrix>
51 const std::vector<double>& scales,
91 void print (std::ostream& os)
const;
108 #endif // UQ_HESSIANCOV_TRANSITION_KERNEL_GROUP_H
A templated class for synchronizing the calls of scalar functions (BaseScalarFunction and derived cla...
A class representing a vector space.
A class representing a Gaussian vector RV.
const ScalarFunctionSynchronizer< V, M > & m_targetPdfSynchronizer
This class allows the representation of a transition kernel with Hessians.
virtual bool covMatrixIsDirty()
HessianCovMatricesTKGroup(const char *prefix, const VectorSpace< V, M > &vectorSpace, const std::vector< double > &scales, const ScalarFunctionSynchronizer< V, M > &targetPdfSynchronizer)
Default constructor.
void clearPreComputingPositions()
Clears the pre-computing positions m_preComputingPositions[stageId].
std::vector< M * > m_originalCovMatrices
std::vector< V * > m_originalNewtonSteps
bool symmetric() const
Whether or not the matrix is symmetric. Always 'false'.
bool setPreComputingPosition(const V &position, unsigned int stageId)
Sets the pre-computing positions m_preComputingPositions[stageId] with a new vector of size position...
virtual void cleanCovMatrix()
This base class allows the representation of a transition kernel.
void print(std::ostream &os) const
TODO: Prints the transition kernel.
const GaussianVectorRV< V, M > & rv(unsigned int stageId) const
Gaussian increment property to construct a transition kernel.
virtual unsigned int set_dr_stage(unsigned int stageId)
Does nothing. Subclasses may re-implement. Returns the current stage id.
~HessianCovMatricesTKGroup()
Destructor.