queso-0.57.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
QUESO::TransformedScaledCovMatrixTKGroup< V, M > Class Template Reference

This class represents a transition kernel with a scaled covariance matrix on hybrid bounded/unbounded state spaces. More...

#include <TransformedScaledCovMatrixTKGroup.h>

Inheritance diagram for QUESO::TransformedScaledCovMatrixTKGroup< V, M >:
QUESO::BaseTKGroup< V, M >

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 BaseEnvironmentenv () 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_originalCovMatrix
 

Additional Inherited Members

- Protected Attributes inherited from QUESO::BaseTKGroup< V, M >
const EmptyEnvironmentm_emptyEnv
 
const BaseEnvironmentm_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
 

Detailed Description

template<class V = GslVector, class M = GslMatrix>
class QUESO::TransformedScaledCovMatrixTKGroup< V, M >

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.

Constructor & Destructor Documentation

template<class V , class M >
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().

38  : BaseTKGroup<V, M>(prefix, boxSubset.vectorSpace(), scales),
39  m_boxSubset(boxSubset),
40  m_originalCovMatrix(covMatrix)
41 {
42  if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 5)) {
43  *m_env.subDisplayFile() << "Entering TransformedScaledCovMatrixTKGroup<V,M>::constructor()"
44  << std::endl;
45  }
46 
47  if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 5)) {
48  *m_env.subDisplayFile() << "In TransformedScaledCovMatrixTKGroup<V,M>::constructor()"
49  << ": m_scales.size() = " << m_scales.size()
50  << ", m_preComputingPositions.size() = " << m_preComputingPositions.size()
51  << ", m_rvs.size() = " << m_rvs.size()
52  << ", m_originalCovMatrix = " << m_originalCovMatrix
53  << std::endl;
54  }
55 
56  // Set RVs to have zero mean in the Gaussian space
58 
59  if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 5)) {
60  *m_env.subDisplayFile() << "Leaving TransformedScaledCovMatrixTKGroup<V,M>::constructor()"
61  << std::endl;
62  }
63 }
std::vector< const V * > m_preComputingPositions
Definition: TKGroup.h:132
std::vector< BaseVectorRV< V, M > * > m_rvs
Definition: TKGroup.h:133
const BaseEnvironment & m_env
Definition: TKGroup.h:128
void setRVsWithZeroMean()
Sets the mean of the underlying Gaussian RVs to zero.
std::vector< double > m_scales
Definition: TKGroup.h:131
unsigned int displayVerbosity() const
Definition: Environment.C:450
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:320

Destructor.

Definition at line 66 of file TransformedScaledCovMatrixTKGroup.C.

67 {
68 }

Member Function Documentation

template<class V = GslVector, class M = GslMatrix>
virtual void QUESO::TransformedScaledCovMatrixTKGroup< V, M >::cleanCovMatrix ( )
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.

96 { }
template<class V , class M >
void QUESO::TransformedScaledCovMatrixTKGroup< V, M >::clearPreComputingPositions ( )
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().

234 {
236  return;
237 }
virtual void clearPreComputingPositions()
Clears the pre-computing positions m_preComputingPositions[stageId].
Definition: TKGroup.C:111
template<class V = GslVector, class M = GslMatrix>
virtual bool QUESO::TransformedScaledCovMatrixTKGroup< V, M >::covMatrixIsDirty ( )
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.

95 { return false; }
template<class V , class M >
void QUESO::TransformedScaledCovMatrixTKGroup< V, M >::print ( std::ostream &  os) const
virtual

TODO: Prints the transition kernel.

Todo:
: implement me!

Reimplemented from QUESO::BaseTKGroup< V, M >.

Definition at line 270 of file TransformedScaledCovMatrixTKGroup.C.

References QUESO::BaseTKGroup< V, M >::print().

271 {
273  return;
274 }
virtual void print(std::ostream &os) const
TODO: Prints the transition kernel.
Definition: TKGroup.C:133
template<class V , class M >
const InvLogitGaussianVectorRV< V, M > & QUESO::TransformedScaledCovMatrixTKGroup< V, M >::rv ( unsigned int  stageId) const
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().

80 {
81  queso_require_not_equal_to_msg(m_rvs.size(), 0, "m_rvs.size() = 0");
82 
83  queso_require_msg(m_rvs[0], "m_rvs[0] == NULL");
84 
85  queso_require_greater_msg(m_preComputingPositions.size(), stageId, "m_preComputingPositions.size() <= stageId");
86 
87  queso_require_msg(m_preComputingPositions[stageId], "m_preComputingPositions[stageId] == NULL");
88 
89  if ((m_env.subDisplayFile() ) &&
90  (m_env.displayVerbosity() >= 10)) {
91  *m_env.subDisplayFile() << "In TransformedScaledCovMatrixTKGroup<V,M>::rv1()"
92  << ", stageId = " << stageId
93  << ": about to call m_rvs[0]->updateLawExpVector()"
94  << ", vector = " << *m_preComputingPositions[stageId] // FIX ME: might demand parallelism
95  << std::endl;
96  }
97 
98  InvLogitGaussianVectorRV<V, M> * invlogit_gaussian =
99  dynamic_cast<InvLogitGaussianVectorRV<V, M> * >(m_rvs[0]);
100 
101  V transformedPreComputingPositions(*m_preComputingPositions[stageId]);
103  transformedPreComputingPositions);
104 
105  invlogit_gaussian->updateLawExpVector(transformedPreComputingPositions);
106 
107  return (*invlogit_gaussian);
108 }
std::vector< const V * > m_preComputingPositions
Definition: TKGroup.h:132
std::vector< BaseVectorRV< V, M > * > m_rvs
Definition: TKGroup.h:133
const BaseEnvironment & m_env
Definition: TKGroup.h:128
MonteCarloSGOptions::MonteCarloSGOptions(const BaseEnvironment &env, const char *prefix queso_require_not_equal_to_msg)(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the absence of an options input file"))
unsigned int displayVerbosity() const
Definition: Environment.C:450
void transformToGaussianSpace(const V &physicalPoint, V &transformedPoint) const
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:320
template<class V , class M >
const InvLogitGaussianVectorRV< V, M > & QUESO::TransformedScaledCovMatrixTKGroup< V, M >::rv ( const std::vector< unsigned int > &  stageIds)
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().

113 {
114  queso_require_greater_equal_msg(m_rvs.size(), stageIds.size(), "m_rvs.size() < stageIds.size()");
115 
116  queso_require_msg(m_rvs[stageIds.size()-1], "m_rvs[stageIds.size()-1] == NULL");
117 
118  queso_require_greater_msg(m_preComputingPositions.size(), stageIds[0], "m_preComputingPositions.size() <= stageIds[0]");
119 
120  queso_require_msg(m_preComputingPositions[stageIds[0]], "m_preComputingPositions[stageIds[0]] == NULL");
121 
122  if ((m_env.subDisplayFile() ) &&
123  (m_env.displayVerbosity() >= 10)) {
124  *m_env.subDisplayFile() << "In TransformedScaledCovMatrixTKGroup<V,M>::rv2()"
125  << ", stageIds.size() = " << stageIds.size()
126  << ", stageIds[0] = " << stageIds[0]
127  << ": about to call m_rvs[stageIds.size()-1]->updateLawExpVector()"
128  << ", vector = " << *m_preComputingPositions[stageIds[0]] // FIX ME: might demand parallelism
129  << std::endl;
130  }
131 
132  InvLogitGaussianVectorRV<V, M> * invlogit_gaussian =
133  dynamic_cast<InvLogitGaussianVectorRV<V, M> * >(m_rvs[stageIds.size()-1]);
134 
135  V transformedPreComputingPositions(*m_preComputingPositions[stageIds[0]]);
137  transformedPreComputingPositions);
138 
139  invlogit_gaussian->updateLawExpVector(transformedPreComputingPositions);
140 
141  return (*invlogit_gaussian);
142 }
std::vector< const V * > m_preComputingPositions
Definition: TKGroup.h:132
std::vector< BaseVectorRV< V, M > * > m_rvs
Definition: TKGroup.h:133
const BaseEnvironment & m_env
Definition: TKGroup.h:128
unsigned int displayVerbosity() const
Definition: Environment.C:450
void transformToGaussianSpace(const V &physicalPoint, V &transformedPoint) const
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:320
template<class V , class M >
const InvLogitGaussianVectorRV< V, M > & QUESO::TransformedScaledCovMatrixTKGroup< V, M >::rv ( const V &  position) const
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().

147 {
148  queso_require_not_equal_to_msg(m_rvs.size(), 0, "m_rvs.size() = 0");
149  queso_require_msg(m_rvs[0], "m_rvs[0] == NULL");
150  // queso_require_greater_msg(m_preComputingPositions.size(), this->m_stageId, "m_preComputingPositions.size() <= stageId");
151  // queso_require_msg(m_preComputingPositions[this->m_stageId], "m_preComputingPositions[stageId] == NULL");
152 
153  InvLogitGaussianVectorRV<V, M> * invlogit_gaussian =
154  dynamic_cast<InvLogitGaussianVectorRV<V, M> * >(m_rvs[this->m_stageId]);
155 
156  V transformedPreComputingPositions(position);
157  transformToGaussianSpace(position, transformedPreComputingPositions);
158  invlogit_gaussian->updateLawExpVector(transformedPreComputingPositions);
159 
160  return (*invlogit_gaussian);
161 }
unsigned int m_stageId
Definition: TKGroup.h:134
std::vector< BaseVectorRV< V, M > * > m_rvs
Definition: TKGroup.h:133
MonteCarloSGOptions::MonteCarloSGOptions(const BaseEnvironment &env, const char *prefix queso_require_not_equal_to_msg)(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the absence of an options input file"))
void transformToGaussianSpace(const V &physicalPoint, V &transformedPoint) const
template<class V , class M >
unsigned int QUESO::TransformedScaledCovMatrixTKGroup< V, M >::set_dr_stage ( unsigned int  stageId)
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.

242 {
243  unsigned int old_stageId = this->m_stageId;
244  this->m_stageId = stageId;
245  return old_stageId;
246 }
unsigned int m_stageId
Definition: TKGroup.h:134
template<class V , class M >
bool QUESO::TransformedScaledCovMatrixTKGroup< V, M >::setPreComputingPosition ( const V &  position,
unsigned int  stageId 
)
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().

195 {
196  if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 5)) {
197  *m_env.subDisplayFile() << "Entering TransformedScaledCovMatrixTKGroup<V,M>::setPreComputingPosition()"
198  << ": position = " << position
199  << ", stageId = " << stageId
200  << std::endl;
201  }
202 
204  //setRVsWithZeroMean();
205 
206  if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 5)) {
207  *m_env.subDisplayFile() << "In TransformedScaledCovMatrixTKGroup<V,M>::setPreComputingPosition()"
208  << ", position = " << position
209  << ", stageId = " << stageId
210  << ": preComputingPos = " << *m_preComputingPositions[stageId];
211  if (stageId < m_scales.size()) {
212  *m_env.subDisplayFile() << ", factor = " << 1./m_scales[stageId]/m_scales[stageId];
213  }
214  if (stageId < m_rvs.size()) {
215  const InvLogitGaussianJointPdf<V,M>* pdfPtr = dynamic_cast< const InvLogitGaussianJointPdf<V,M>* >(&(m_rvs[stageId]->pdf()));
216  *m_env.subDisplayFile() << ", rvCov = " << pdfPtr->lawCovMatrix(); // FIX ME: might demand parallelism
217  }
218  *m_env.subDisplayFile() << std::endl;
219  }
220 
221  if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 5)) {
222  *m_env.subDisplayFile() << "Leaving TransformedScaledCovMatrixTKGroup<V,M>::setPreComputingPosition()"
223  << ": position = " << position
224  << ", stageId = " << stageId
225  << std::endl;
226  }
227 
228  return true;
229 }
std::vector< const V * > m_preComputingPositions
Definition: TKGroup.h:132
std::vector< BaseVectorRV< V, M > * > m_rvs
Definition: TKGroup.h:133
const BaseEnvironment & m_env
Definition: TKGroup.h:128
std::vector< double > m_scales
Definition: TKGroup.h:131
unsigned int displayVerbosity() const
Definition: Environment.C:450
virtual bool setPreComputingPosition(const V &position, unsigned int stageId)
Sets the pre-computing positions m_preComputingPositions[stageId] with a new vector of size position...
Definition: TKGroup.C:98
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:320
template<class V , class M >
void QUESO::TransformedScaledCovMatrixTKGroup< V, M >::setRVsWithZeroMean ( )
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().

252 {
253  queso_require_not_equal_to_msg(m_rvs.size(), 0, "m_rvs.size() = 0");
254 
255  queso_require_equal_to_msg(m_rvs.size(), m_scales.size(), "m_rvs.size() != m_scales.size()");
256 
257  for (unsigned int i = 0; i < m_scales.size(); ++i) {
258  double factor = 1./m_scales[i]/m_scales[i];
259  queso_require_msg(!(m_rvs[i]), "m_rvs[i] != NULL");
260  m_rvs[i] = new InvLogitGaussianVectorRV<V,M>(m_prefix.c_str(),
261  m_boxSubset, m_vectorSpace->zeroVector(),
262  factor*m_originalCovMatrix);
263  }
264 
265  return;
266 }
std::string m_prefix
Definition: TKGroup.h:129
std::vector< BaseVectorRV< V, M > * > m_rvs
Definition: TKGroup.h:133
MonteCarloSGOptions::MonteCarloSGOptions(const BaseEnvironment &env, const char *prefix queso_require_not_equal_to_msg)(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the absence of an options input file"))
const VectorSpace< V, M > * m_vectorSpace
Definition: TKGroup.h:130
std::vector< double > m_scales
Definition: TKGroup.h:131
MonteCarloSGOptions::MonteCarloSGOptions(const BaseEnvironment &env, const char *prefix, const McOptionsValues &alternativeOptionsValues queso_require_equal_to_msg)(m_env.optionsInputFileName(), std::string(""), std::string("this constructor is incompatible with the existence of an options input file"))
template<class V , class M >
bool QUESO::TransformedScaledCovMatrixTKGroup< V, M >::symmetric ( ) const
virtual

Whether or not the matrix is symmetric. Always 'false'.

Implements QUESO::BaseTKGroup< V, M >.

Definition at line 72 of file TransformedScaledCovMatrixTKGroup.C.

73 {
74  return false;
75 }
template<class V , class M >
void QUESO::TransformedScaledCovMatrixTKGroup< V, M >::transformToGaussianSpace ( const V &  physicalPoint,
V &  transformedPoint 
) const

Definition at line 278 of file TransformedScaledCovMatrixTKGroup.C.

References QUESO::queso_isfinite().

280 {
281  V min_domain_bounds(this->m_boxSubset.minValues());
282  V max_domain_bounds(this->m_boxSubset.maxValues());
283 
284  for (unsigned int i = 0; i < transformedPoint.sizeLocal(); i++) {
285  double min_val = min_domain_bounds[i];
286  double max_val = max_domain_bounds[i];
287 
288  if (queso_isfinite(min_val) &&
289  queso_isfinite(max_val)) {
290  // Left- and right-hand sides are finite. Do full transform.
291  transformedPoint[i] = std::log(physicalPoint[i] - min_val) -
292  std::log(max_val - physicalPoint[i]);
293  }
294  else if (queso_isfinite(min_val) &&
295  !queso_isfinite(max_val)) {
296  // Left-hand side finite, but right-hand side is not.
297  // Do only left-hand transform.
298  transformedPoint[i] = std::log(physicalPoint[i] - min_val);
299  }
300  else if (!queso_isfinite(min_val) &&
301  queso_isfinite(max_val)) {
302  // Right-hand side is finite, but left-hand side is not.
303  // Do only right-hand transform.
304  transformedPoint[i] = -std::log(max_val - physicalPoint[i]);
305  }
306  else {
307  // No transform.
308  transformedPoint[i] = physicalPoint[i];
309  }
310  }
311 }
bool queso_isfinite(T arg)
Definition: math_macros.h:51
template<class V , class M >
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().

167 {
168  for (unsigned int i = 0; i < m_scales.size(); ++i) {
169  double factor = 1./m_scales[i]/m_scales[i];
170  if ((m_env.subDisplayFile() ) &&
171  (m_env.displayVerbosity() >= 10)) {
172  *m_env.subDisplayFile() << "In TransformedScaledCovMatrixTKGroup<V,M>::updateLawCovMatrix()"
173  << ", m_scales.size() = " << m_scales.size()
174  << ", i = " << i
175  << ", m_scales[i] = " << m_scales[i]
176  << ", factor = " << factor
177  << ": about to call m_rvs[i]->updateLawCovMatrix()"
178  << ", covMatrix = \n" << factor*covMatrix // FIX ME: might demand parallelism
179  << std::endl;
180  }
181 
182  InvLogitGaussianVectorRV<V, M> * invlogit_gaussian =
183  dynamic_cast<InvLogitGaussianVectorRV<V, M> * >(m_rvs[i]);
184 
185  invlogit_gaussian->updateLawCovMatrix(factor*covMatrix);
186  }
187 
188  return;
189 }
std::vector< BaseVectorRV< V, M > * > m_rvs
Definition: TKGroup.h:133
const BaseEnvironment & m_env
Definition: TKGroup.h:128
std::vector< double > m_scales
Definition: TKGroup.h:131
unsigned int displayVerbosity() const
Definition: Environment.C:450
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
Definition: Environment.C:320

Member Data Documentation

template<class V = GslVector, class M = GslMatrix>
const BoxSubset<V, M>& QUESO::TransformedScaledCovMatrixTKGroup< V, M >::m_boxSubset
private

Definition at line 123 of file TransformedScaledCovMatrixTKGroup.h.

template<class V = GslVector, class M = GslMatrix>
M QUESO::TransformedScaledCovMatrixTKGroup< V, M >::m_originalCovMatrix
private

The documentation for this class was generated from the following files:

Generated on Tue Jun 5 2018 19:49:37 for queso-0.57.1 by  doxygen 1.8.5