queso-0.57.1
|
This class represents a transition kernel with a scaled covariance matrix on hybrid bounded/unbounded state spaces. More...
#include <TransformedScaledCovMatrixTKGroup.h>
Public Member Functions | |
void | transformToGaussianSpace (const V &physicalPoint, V &transformedPoint) const |
Constructor/Destructor methods | |
TransformedScaledCovMatrixTKGroup (const char *prefix, const BoxSubset< V, M > &boxSubset, const std::vector< double > &scales, const M &covMatrix) | |
Default constructor. More... | |
~TransformedScaledCovMatrixTKGroup () | |
Destructor. More... | |
Statistical/Mathematical methods | |
bool | symmetric () const |
Whether or not the matrix is symmetric. Always 'false'. More... | |
const InvLogitGaussianVectorRV < V, M > & | rv (unsigned int stageId) const |
InvLogitGaussian increment property to construct a transition kernel. More... | |
const InvLogitGaussianVectorRV < V, M > & | rv (const std::vector< unsigned int > &stageIds) |
InvLogitGaussian increment property to construct a transition kernel. More... | |
virtual const InvLogitGaussianVectorRV< V, M > & | rv (const V &position) const |
Constructs transition kernel pdf based on internal m_stageId variable. More... | |
void | updateLawCovMatrix (const M &covMatrix) |
Scales the covariance matrix of the underlying Gaussian distribution. More... | |
Misc methods | |
bool | setPreComputingPosition (const V &position, unsigned int stageId) |
Sets the pre-computing positions m_preComputingPositions [stageId] with a new vector of size position . More... | |
void | clearPreComputingPositions () |
Clears the pre-computing positions m_preComputingPositions [stageId]. More... | |
virtual unsigned int | set_dr_stage (unsigned int stageId) |
Does nothing. Subclasses may re-implement. Returns the current stage id. More... | |
virtual bool | covMatrixIsDirty () |
virtual void | cleanCovMatrix () |
I/O methods | |
void | print (std::ostream &os) const |
TODO: Prints the transition kernel. More... | |
Public Member Functions inherited from QUESO::BaseTKGroup< V, M > | |
BaseTKGroup () | |
Default constructor. More... | |
BaseTKGroup (const char *prefix, const VectorSpace< V, M > &vectorSpace, const std::vector< double > &scales) | |
Constructor. More... | |
virtual | ~BaseTKGroup () |
Destructor. More... | |
const BaseEnvironment & | env () const |
QUESO's environment. More... | |
const V & | preComputingPosition (unsigned int stageId) const |
Pre-computing position; access to protected attribute *m_preComputingPositions[stageId]. More... | |
virtual void | updateTK () |
Private Member Functions | |
void | setRVsWithZeroMean () |
Sets the mean of the underlying Gaussian RVs to zero. More... | |
Private Attributes | |
const BoxSubset< V, M > & | m_boxSubset |
M | m_originalCovMatrix |
Additional Inherited Members | |
Protected Attributes inherited from QUESO::BaseTKGroup< V, M > | |
const EmptyEnvironment * | m_emptyEnv |
const BaseEnvironment & | m_env |
std::string | m_prefix |
const VectorSpace< V, M > * | m_vectorSpace |
std::vector< double > | m_scales |
std::vector< const V * > | m_preComputingPositions |
std::vector< BaseVectorRV< V, M > * > | m_rvs |
unsigned int | m_stageId |
This class represents a transition kernel with a scaled covariance matrix on hybrid bounded/unbounded state spaces.
The unbounded directions utilise a standard Gaussian proposal. The bounded or half-bounded directions utilise a transformed Gaussian proposal, so that no realizations are generated outside of the state space.
Definition at line 48 of file TransformedScaledCovMatrixTKGroup.h.
QUESO::TransformedScaledCovMatrixTKGroup< V, M >::TransformedScaledCovMatrixTKGroup | ( | const char * | prefix, |
const BoxSubset< V, M > & | boxSubset, | ||
const std::vector< double > & | scales, | ||
const M & | covMatrix | ||
) |
Default constructor.
Definition at line 33 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::BaseEnvironment::displayVerbosity(), QUESO::BaseTKGroup< V, M >::m_env, QUESO::TransformedScaledCovMatrixTKGroup< V, M >::m_originalCovMatrix, QUESO::BaseTKGroup< V, M >::m_preComputingPositions, QUESO::BaseTKGroup< V, M >::m_rvs, QUESO::BaseTKGroup< V, M >::m_scales, QUESO::TransformedScaledCovMatrixTKGroup< V, M >::setRVsWithZeroMean(), and QUESO::BaseEnvironment::subDisplayFile().
QUESO::TransformedScaledCovMatrixTKGroup< V, M >::~TransformedScaledCovMatrixTKGroup | ( | ) |
|
inlinevirtual |
Performs whatever cleanup is needed (usually just resetting an internal bool flag) after the covariance matrix was modified.
After this method is called, covMatrixIsDirty should return true
.
Implements QUESO::BaseTKGroup< V, M >.
Definition at line 96 of file TransformedScaledCovMatrixTKGroup.h.
|
virtual |
Clears the pre-computing positions m_preComputingPositions
[stageId].
Reimplemented from QUESO::BaseTKGroup< V, M >.
Definition at line 233 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::BaseTKGroup< V, M >::clearPreComputingPositions().
|
inlinevirtual |
This method determines whether or not the user has 'dirtied' the covariance matrix, thereby necessitating an AM reset.
Should return true if the cov matrix was modified in such a way to affect the Adaptive Metropolis sample covariance calculation.
Implements QUESO::BaseTKGroup< V, M >.
Definition at line 95 of file TransformedScaledCovMatrixTKGroup.h.
|
virtual |
TODO: Prints the transition kernel.
Reimplemented from QUESO::BaseTKGroup< V, M >.
Definition at line 270 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::BaseTKGroup< V, M >::print().
|
virtual |
InvLogitGaussian increment property to construct a transition kernel.
Implements QUESO::BaseTKGroup< V, M >.
Definition at line 79 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::queso_require_not_equal_to_msg, and QUESO::InvLogitGaussianVectorRV< V, M >::updateLawExpVector().
|
virtual |
InvLogitGaussian increment property to construct a transition kernel.
Implements QUESO::BaseTKGroup< V, M >.
Definition at line 112 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::InvLogitGaussianVectorRV< V, M >::updateLawExpVector().
|
virtual |
Constructs transition kernel pdf based on internal m_stageId
variable.
Implements QUESO::BaseTKGroup< V, M >.
Definition at line 146 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::queso_require_not_equal_to_msg, and QUESO::InvLogitGaussianVectorRV< V, M >::updateLawExpVector().
|
virtual |
Does nothing. Subclasses may re-implement. Returns the current stage id.
Reimplemented from QUESO::BaseTKGroup< V, M >.
Definition at line 241 of file TransformedScaledCovMatrixTKGroup.C.
|
virtual |
Sets the pre-computing positions m_preComputingPositions
[stageId] with a new vector of size position
.
The vector position
is in physical space. This is then transformed using transformToGaussianSpace to map to a point in Gaussian space where we can, for example, update the mean of the underlying Gaussian RV.
Reimplemented from QUESO::BaseTKGroup< V, M >.
Definition at line 194 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::InvLogitGaussianJointPdf< V, M >::lawCovMatrix(), and QUESO::BaseTKGroup< V, M >::setPreComputingPosition().
|
private |
Sets the mean of the underlying Gaussian RVs to zero.
Definition at line 251 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::queso_require_equal_to_msg, and QUESO::queso_require_not_equal_to_msg.
Referenced by QUESO::TransformedScaledCovMatrixTKGroup< V, M >::TransformedScaledCovMatrixTKGroup().
|
virtual |
Whether or not the matrix is symmetric. Always 'false'.
Implements QUESO::BaseTKGroup< V, M >.
Definition at line 72 of file TransformedScaledCovMatrixTKGroup.C.
void QUESO::TransformedScaledCovMatrixTKGroup< V, M >::transformToGaussianSpace | ( | const V & | physicalPoint, |
V & | transformedPoint | ||
) | const |
Definition at line 278 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::queso_isfinite().
void QUESO::TransformedScaledCovMatrixTKGroup< V, M >::updateLawCovMatrix | ( | const M & | covMatrix | ) |
Scales the covariance matrix of the underlying Gaussian distribution.
The covariance matrix is scaled by a factor of \( 1/scales^2 \).
Definition at line 166 of file TransformedScaledCovMatrixTKGroup.C.
References QUESO::InvLogitGaussianVectorRV< V, M >::updateLawCovMatrix().
|
private |
Definition at line 123 of file TransformedScaledCovMatrixTKGroup.h.
|
private |
Definition at line 124 of file TransformedScaledCovMatrixTKGroup.h.
Referenced by QUESO::TransformedScaledCovMatrixTKGroup< V, M >::TransformedScaledCovMatrixTKGroup().