queso-0.57.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
InvLogitGaussianVectorRV.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // QUESO - a library to support the Quantification of Uncertainty
5 // for Estimation, Simulation and Optimization
6 //
7 // Copyright (C) 2008-2017 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 #ifndef UQ_INVLOGIT_GAUSSIAN_VECTOR_RV_H
26 #define UQ_INVLOGIT_GAUSSIAN_VECTOR_RV_H
27 
28 #include <queso/VectorRV.h>
29 #include <queso/BoxSubset.h>
30 
31 namespace QUESO {
32 
33 class GslVector;
34 class GslMatrix;
35 
44 template <class V = GslVector, class M = GslMatrix>
45 class InvLogitGaussianVectorRV : public BaseVectorRV<V, M> {
46 public:
48 
49 
55  InvLogitGaussianVectorRV(const char * prefix,
56  const BoxSubset<V, M> & imageBoxSubset, const V & lawExpVector,
57  const V & lawVarVector);
58 
60 
65  InvLogitGaussianVectorRV(const char * prefix,
66  const BoxSubset<V, M> & imageBoxSubset, const V & lawExpVector,
67  const M & lawCovMatrix);
68 
70  virtual ~InvLogitGaussianVectorRV();
72 
74 
75  void updateLawExpVector(const V & newLawExpVector);
77 
79 
83  void updateLawCovMatrix(const M & newLawCovMatrix);
85 
87 
88 
90  void print(std::ostream & os) const;
92 
93 private:
102 };
103 
104 } // End namespace QUESO
105 
106 #endif // UQ_INVLOGIT_GAUSSIAN_VECTOR_RV_H
void print(std::ostream &os) const
TODO: Prints the vector RV.
A class representing a (transformed) Gaussian vector RV with bounds.
InvLogitGaussianVectorRV(const char *prefix, const BoxSubset< V, M > &imageBoxSubset, const V &lawExpVector, const V &lawVarVector)
Constructor.
void updateLawCovMatrix(const M &newLawCovMatrix)
Updates the covariance matrix.
Class representing a subset of a vector space shaped like a hypercube.
Definition: BoxSubset.h:44
virtual ~InvLogitGaussianVectorRV()
Virtual destructor.
A templated base class for handling vector RV.
Definition: VectorRV.h:53
void updateLawExpVector(const V &newLawExpVector)
Updates the vector that contains the mean values for the underlying Gaussian.

Generated on Tue Jun 5 2018 19:48:55 for queso-0.57.1 by  doxygen 1.8.5