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,
84 void print (std::ostream& os)
const;
101 #endif // UQ_HESSIANCOV_TRANSITION_KERNEL_GROUP_H
This base class allows the representation of a transition kernel.
This class allows the representation of a transition kernel with Hessians.
void clearPreComputingPositions()
Clears the pre-computing positions m_preComputingPositions[stageId].
const ScalarFunctionSynchronizer< V, M > & m_targetPdfSynchronizer
A class representing a Gaussian vector RV.
std::vector< M * > m_originalCovMatrices
~HessianCovMatricesTKGroup()
Destructor.
void print(std::ostream &os) const
TODO: Prints the transition kernel.
bool symmetric() const
Whether or not the matrix is symmetric. Always 'false'.
HessianCovMatricesTKGroup(const char *prefix, const VectorSpace< V, M > &vectorSpace, const std::vector< double > &scales, const ScalarFunctionSynchronizer< V, M > &targetPdfSynchronizer)
Default constructor.
std::vector< V * > m_originalNewtonSteps
A templated class for synchronizing the calls of scalar functions (BaseScalarFunction and derived cla...
A class representing a vector space.
const GaussianVectorRV< V, M > & rv(unsigned int stageId) const
Gaussian increment property to construct a transition kernel.
bool setPreComputingPosition(const V &position, unsigned int stageId)
Sets the pre-computing positions m_preComputingPositions[stageId] with a new vector of size position...