queso-0.56.1
GPMSA.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-2015 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_GPMSA_HELPER_H
26 #define UQ_GPMSA_HELPER_H
27 
28 #include <vector>
29 
30 #include <queso/Environment.h>
31 #include <queso/ScalarFunction.h>
32 #include <queso/VectorSpace.h>
33 #include <queso/VectorRV.h>
34 #include <queso/ConcatenatedVectorRV.h>
35 #include <queso/GammaVectorRV.h>
36 #include <queso/BetaVectorRV.h>
37 #include <queso/UniformVectorRV.h>
38 #include <queso/GPMSAOptions.h>
39 #include <queso/ScopedPtr.h>
40 
41 namespace QUESO {
42 
43 class GslVector;
44 class GslMatrix;
45 
46 template <class V = GslVector, class M = GslMatrix>
47 class GPMSAEmulator : public BaseScalarFunction<V, M>
48 {
49 public:
50  GPMSAEmulator(const VectorSet<V, M> & domain,
55  const unsigned int m_numSimulations,
56  const unsigned int m_numExperiments,
57  const std::vector<V *> & m_simulationScenarios,
58  const std::vector<V *> & m_simulationParameters,
59  const std::vector<V *> & m_simulationOutputs,
60  const std::vector<V *> & m_experimentScenarios,
61  const std::vector<V *> & m_experimentOutputs,
62  const std::vector<V> & m_discrepancyBases,
63  const std::vector<M> & m_observationErrorMatrices,
64  const M & m_experimentErrors,
66  const V & residual_in,
67  const M & BT_Wy_B_inv_in,
68  const M & KT_K_inv_in);
69 
70  virtual ~GPMSAEmulator();
71 
72  virtual double lnValue(const V & domainVector,
73  const V * domainDirection,
74  V * gradVector,
75  M * hessianMatrix,
76  V * hessianEffect) const;
77 
78  virtual double actualValue(const V & domainVector,
79  const V * domainDirection,
80  V * gradVector,
81  M * hessianMatrix,
82  V * hessianEffect) const;
83 
88 
89  const unsigned int m_numSimulations;
90  const unsigned int m_numExperiments;
91 
92  const std::vector<V *> & m_simulationScenarios;
93  const std::vector<V *> & m_simulationParameters;
94  const std::vector<V *> & m_simulationOutputs;
95  const std::vector<V *> & m_experimentScenarios;
96  const std::vector<V *> & m_experimentOutputs;
97 
98  std::vector<V> m_discrepancyBases;
99 
100  const std::vector<M> & m_observationErrorMatrices;
101 
102  //
103  // Intermediate calculations we can cache
104  //
105  unsigned int num_svd_terms;
106 
107  // Total observation error covriance matrix
109 
111 
112  //
113  // Intermediate calculations cached by factory
114  //
115  const V & residual;
116 
117  const M & BT_Wy_B_inv;
118 
119  const M & KT_K_inv;
120 };
121 
122 template <class V = GslVector, class M = GslMatrix>
124 {
125 public:
128  GPMSAOptions * opts,
129  const BaseVectorRV<V, M> & parameterPrior,
134  unsigned int numSimulations,
135  unsigned int numExperiments);
136 
138  ~GPMSAFactory();
139 
141 
142 
144  unsigned int numSimulations() const;
145 
147  unsigned int numExperiments() const;
148 
150  const VectorSpace<V, M> & scenarioSpace() const;
151 
153  const VectorSpace<V, M> & parameterSpace() const;
154 
157 
160 
162 
166  const V & simulationScenario(unsigned int simulationId) const;
167 
169 
173  const std::vector<V *> & simulationScenarios() const;
174 
176 
180  const V & simulationParameter(unsigned int simulationId) const;
181 
183 
187  const std::vector<V *> & simulationParameters() const;
188 
190 
193  const V & simulationOutput(unsigned int simulationId) const;
194 
196 
200  const std::vector<V *> & simulationOutputs() const;
201 
203 
207  const V & experimentScenario(unsigned int experimentId) const;
208 
210 
214  const std::vector<V *> & experimentScenarios() const;
215 
217 
220  const V & experimentOutput(unsigned int experimentId) const;
221 
223 
227  const std::vector<V *> & experimentOutputs() const;
228 
230  const M & experimentErrors() const;
231 
233  const BaseEnvironment & env() const;
234 
236  const GPMSAEmulator<V, M> & getGPMSAEmulator() const;
237 
239 
241 
247  void addSimulation(V & simulationScenario,
248  V & simulationParameter,
249  V & simulationOutput);
250 
252 
256  void addSimulations(const std::vector<V *> & simulationScenarios,
257  const std::vector<V *> & simulationParameters,
258  const std::vector<V *> & simulationOutputs);
259 
261 
270  void addExperiments(const std::vector<V *> & experimentScenarios,
271  const std::vector<V *> & experimentOutputs,
272  const M * experimentErrors);
273 
275 
291  void setDiscrepancyBases(const std::vector<V *> & discrepancyBases);
292 
293  M & getObservationErrorCovariance(unsigned int simulationNumber);
294 
295  const M & getObservationErrorCovariance(unsigned int simulationNumber) const;
296 
297  const ConcatenatedVectorRV<V, M> & prior() const;
298 
299  void print(std::ostream& os) const;
300  friend std::ostream & operator<<(std::ostream& os,
301  const GPMSAFactory<V, M> & obj)
302  {
303  obj.print(os);
304  return os;
305  }
306 
308 
310 
315 
316  unsigned int m_numSimulations;
317  unsigned int m_numExperiments;
318 
319  std::vector<V *> m_simulationScenarios;
320  std::vector<V *> m_simulationParameters;
321  std::vector<V *> m_simulationOutputs;
322  std::vector<V *> m_experimentScenarios;
323  std::vector<V *> m_experimentOutputs;
324 
325  // We will be recentering data around the simulation output mean
326  typename ScopedPtr<V>::Type simulationOutputMeans;
327 
328  std::vector<V> m_discrepancyBases;
329 
331 
332  // Total observation error covriance matrix
334 
335  // Counter for the number of adds that happen
336  unsigned int m_numSimulationAdds;
337  unsigned int m_numExperimentAdds;
338 
339  // The space in which the emulator (simulator) lives
340  // const VectorSpace<V, M> & m_emulatorSpace;
341 
342  // The emulator state
343  // const V & m_emulator;
344 
345  // Build the emulator once all data has been added
346  void setUpEmulator();
347 
348  // All the GP priors information for a scalar GP follows:
349  void setUpHyperpriors();
350 
351  // Domains for all the hyperpriors
352  typename ScopedPtr<VectorSpace<V, M> >::Type oneDSpace;
353 
354  // Emulator mean
355  typename ScopedPtr<V>::Type emulatorMeanMin;
356  typename ScopedPtr<V>::Type emulatorMeanMax;
357  typename ScopedPtr<BoxSubset<V, M> >::Type emulatorMeanDomain;
358 
359  // Emulator precision
360  typename ScopedPtr<VectorSpace<V, M> >::Type emulatorPrecisionSpace;
361  typename ScopedPtr<V>::Type emulatorPrecisionMin;
362  typename ScopedPtr<V>::Type emulatorPrecisionMax;
363  typename ScopedPtr<BoxSubset<V, M> >::Type emulatorPrecisionDomain;
364 
365  // Emulator correlation strength
366  typename ScopedPtr<VectorSpace<V, M> >::Type emulatorCorrelationSpace;
367  typename ScopedPtr<V>::Type emulatorCorrelationMin;
368  typename ScopedPtr<V>::Type emulatorCorrelationMax;
369  typename ScopedPtr<BoxSubset<V, M> >::Type emulatorCorrelationDomain;
370 
371  // Observational precision
372  typename ScopedPtr<VectorSpace<V, M> >::Type observationalPrecisionSpace;
373  typename ScopedPtr<V>::Type observationalPrecisionMin;
374  typename ScopedPtr<V>::Type observationalPrecisionMax;
375  typename ScopedPtr<BoxSubset<V, M> >::Type observationalPrecisionDomain;
376 
377  // Discrepancy precision
378  typename ScopedPtr<V>::Type discrepancyPrecisionMin;
379  typename ScopedPtr<V>::Type discrepancyPrecisionMax;
380  typename ScopedPtr<BoxSubset<V, M> >::Type discrepancyPrecisionDomain;
381 
382  // Discrepancy correlation strength
383  typename ScopedPtr<VectorSpace<V, M> >::Type discrepancyCorrelationSpace;
384  typename ScopedPtr<V>::Type discrepancyCorrelationMin;
385  typename ScopedPtr<V>::Type discrepancyCorrelationMax;
386  typename ScopedPtr<BoxSubset<V, M> >::Type discrepancyCorrelationDomain;
387 
388  // Emulator data precision
389  typename ScopedPtr<V>::Type emulatorDataPrecisionMin;
390  typename ScopedPtr<V>::Type emulatorDataPrecisionMax;
391  typename ScopedPtr<BoxSubset<V, M> >::Type emulatorDataPrecisionDomain;
392 
393  // Now form full prior
394  typename ScopedPtr<VectorSpace<V, M> >::Type totalSpace;
395  typename ScopedPtr<V>::Type totalMins;
396  typename ScopedPtr<V>::Type totalMaxs;
397 
398  typename ScopedPtr<BoxSubset<V, M> >::Type totalDomain;
399 
400  std::vector<const BaseVectorRV<V, M> *> priors;
401 
402  // The hyperpriors
403  typename ScopedPtr<UniformVectorRV<V, M> >::Type m_emulatorMean; // scalar
404  typename ScopedPtr<GammaVectorRV<V, M> >::Type m_emulatorPrecision; // (dim num_svd_terms) gamma(a, b) shape-rate
405  typename ScopedPtr<GammaVectorRV<V, M> >::Type m_observationalPrecision; // scalar gamma(a, b) shape-rate
406  typename ScopedPtr<BetaVectorRV<V, M> >::Type m_emulatorCorrelationStrength; // (dim scenariosspace + dim parameterspace)
407  typename ScopedPtr<GammaVectorRV<V, M> >::Type m_discrepancyPrecision; // (scalar) shape-rate
408  typename ScopedPtr<BetaVectorRV<V, M> >::Type m_discrepancyCorrelationStrength; // (dim scenariospace)
409  typename ScopedPtr<GammaVectorRV<V, M> >::Type m_emulatorDataPrecision; // (scalar) shape-rate
410  typename ScopedPtr<ConcatenatedVectorRV<V, M> >::Type m_totalPrior; // prior for joint parameters and hyperparameters
411 
412  typename ScopedPtr<V>::Type m_emulatorPrecisionShapeVec;
413  typename ScopedPtr<V>::Type m_emulatorPrecisionScaleVec;
414  typename ScopedPtr<V>::Type m_observationalPrecisionShapeVec;
415  typename ScopedPtr<V>::Type m_observationalPrecisionScaleVec;
416  typename ScopedPtr<V>::Type m_emulatorCorrelationStrengthAlphaVec;
417  typename ScopedPtr<V>::Type m_emulatorCorrelationStrengthBetaVec;
418  typename ScopedPtr<V>::Type m_discrepancyPrecisionShapeVec;
419  typename ScopedPtr<V>::Type m_discrepancyPrecisionScaleVec;
420  typename ScopedPtr<V>::Type m_discrepancyCorrelationStrengthAlphaVec;
421  typename ScopedPtr<V>::Type m_discrepancyCorrelationStrengthBetaVec;
422  typename ScopedPtr<V>::Type m_emulatorDataPrecisionShapeVec;
423  typename ScopedPtr<V>::Type m_emulatorDataPrecisionScaleVec;
424 
425  // The gaussian process object to build
426  typename ScopedPtr<GPMSAEmulator<V, M> >::Type gpmsaEmulator;
428 
429  // Block diagonal matrix; sacrificing efficiency for clarity
430  typename ScopedPtr<M>::Type m_observationErrorMatrix;
431 
432  //
433  // Intermediate calculations we can cache
434  //
435  typename ScopedPtr<M>::Type m_TruncatedSVD_simulationOutputs;
436 
437  std::vector<M> m_discrepancyMatrices;
438 
439  typename ScopedPtr<M>::Type m_BMatrix;
440 
441  // Matrix of svd basis vectors
442  typename ScopedPtr<M>::Type K;
443 
444  typename ScopedPtr<V>::Type residual;
445 
446  // Cached calculation of (B^T*W_y*B)^-1
447  typename ScopedPtr<M>::Type BT_Wy_B_inv;
448 
449  // Cached calculation of (K^T*K)^-1
450  typename ScopedPtr<M>::Type KT_K_inv;
451 
452 
453 private:
456 
457 };
458 
459 } // End namespace QUESO
460 
461 #endif // UQ_GPMSA_HELPER_H
void print(std::ostream &os) const
Definition: GPMSA.C:967
ScopedPtr< BoxSubset< V, M > >::Type observationalPrecisionDomain
Definition: GPMSA.h:375
ScopedPtr< BetaVectorRV< V, M > >::Type m_discrepancyCorrelationStrength
Definition: GPMSA.h:408
ScopedPtr< V >::Type residual
Definition: GPMSA.h:444
ScopedPtr< BoxSubset< V, M > >::Type discrepancyPrecisionDomain
Definition: GPMSA.h:380
const BaseVectorRV< V, M > & m_parameterPrior
Definition: GPMSA.h:309
const V & residual
Definition: GPMSA.h:115
ScopedPtr< BoxSubset< V, M > >::Type discrepancyCorrelationDomain
Definition: GPMSA.h:386
ScopedPtr< V >::Type m_discrepancyCorrelationStrengthAlphaVec
Definition: GPMSA.h:420
ScopedPtr< V >::Type m_emulatorPrecisionShapeVec
Definition: GPMSA.h:412
M & getObservationErrorCovariance(unsigned int simulationNumber)
Definition: GPMSA.C:936
A templated (base) class for handling scalar functions.
std::vector< V > m_discrepancyBases
Definition: GPMSA.h:328
ScopedPtr< V >::Type m_discrepancyCorrelationStrengthBetaVec
Definition: GPMSA.h:421
const unsigned int m_numExperiments
Definition: GPMSA.h:90
ScopedPtr< V >::Type totalMins
Definition: GPMSA.h:395
ScopedPtr< V >::Type m_emulatorPrecisionScaleVec
Definition: GPMSA.h:413
const ConcatenatedVectorRV< V, M > & prior() const
Definition: GPMSA.C:960
const ConcatenatedVectorRV< V, M > & m_totalPrior
Definition: GPMSA.h:110
ScopedPtr< V >::Type discrepancyCorrelationMin
Definition: GPMSA.h:384
const VectorSpace< V, M > & m_parameterSpace
Definition: GPMSA.h:312
ScopedPtr< V >::Type emulatorPrecisionMin
Definition: GPMSA.h:361
A class representing a vector space.
Definition: VectorSet.h:49
unsigned int numSimulations() const
Return number of simulations.
Definition: GPMSA.C:506
ScopedPtr< M >::Type m_BMatrix
Definition: GPMSA.h:439
ScopedPtr< BoxSubset< V, M > >::Type emulatorMeanDomain
Definition: GPMSA.h:357
A class representing concatenated vector RVs.
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
Definition: Environment.h:197
ScopedPtr< V >::Type m_emulatorCorrelationStrengthBetaVec
Definition: GPMSA.h:417
const M & BT_Wy_B_inv
Definition: GPMSA.h:117
ScopedPtr< V >::Type emulatorCorrelationMax
Definition: GPMSA.h:368
ScopedPtr< V >::Type emulatorMeanMin
Definition: GPMSA.h:355
A templated base class for handling vector RV.
Definition: VectorRV.h:54
unsigned int numExperiments() const
Return number of experiments.
Definition: GPMSA.C:513
ScopedPtr< V >::Type discrepancyCorrelationMax
Definition: GPMSA.h:385
ScopedPtr< V >::Type emulatorCorrelationMin
Definition: GPMSA.h:367
ScopedPtr< BetaVectorRV< V, M > >::Type m_emulatorCorrelationStrength
Definition: GPMSA.h:406
void setUpEmulator()
Definition: GPMSA.C:699
const V & simulationParameter(unsigned int simulationId) const
Return the point in parameterSpace for simulation simulationId.
Definition: GPMSA.C:567
unsigned int m_numExperimentAdds
Definition: GPMSA.h:337
ScopedPtr< BoxSubset< V, M > >::Type emulatorPrecisionDomain
Definition: GPMSA.h:363
void setDiscrepancyBases(const std::vector< V * > &discrepancyBases)
Add all discrepancy bases to this.
Definition: GPMSA.C:918
virtual double lnValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Logarithm of the value of the scalar function.
Definition: GPMSA.C:94
const VectorSpace< V, M > & m_simulationOutputSpace
Definition: GPMSA.h:86
void setUpHyperpriors()
Definition: GPMSA.C:975
unsigned int m_numSimulationAdds
Definition: GPMSA.h:336
ScopedPtr< M >::Type K
Definition: GPMSA.h:442
std::vector< V * > m_experimentScenarios
Definition: GPMSA.h:322
GPMSAEmulator(const VectorSet< V, M > &domain, const VectorSpace< V, M > &m_scenarioSpace, const VectorSpace< V, M > &m_parameterSpace, const VectorSpace< V, M > &m_simulationOutputSpace, const VectorSpace< V, M > &m_experimentOutputSpace, const unsigned int m_numSimulations, const unsigned int m_numExperiments, const std::vector< V * > &m_simulationScenarios, const std::vector< V * > &m_simulationParameters, const std::vector< V * > &m_simulationOutputs, const std::vector< V * > &m_experimentScenarios, const std::vector< V * > &m_experimentOutputs, const std::vector< V > &m_discrepancyBases, const std::vector< M > &m_observationErrorMatrices, const M &m_experimentErrors, const ConcatenatedVectorRV< V, M > &m_totalPrior, const V &residual_in, const M &BT_Wy_B_inv_in, const M &KT_K_inv_in)
Definition: GPMSA.C:32
std::vector< M > m_discrepancyMatrices
Definition: GPMSA.h:437
const V & simulationOutput(unsigned int simulationId) const
Return the simulation output for simulation simulationId.
Definition: GPMSA.C:586
ScopedPtr< M >::Type BT_Wy_B_inv
Definition: GPMSA.h:447
std::vector< V * > m_simulationScenarios
Definition: GPMSA.h:319
ScopedPtr< VectorSpace< V, M > >::Type observationalPrecisionSpace
Definition: GPMSA.h:372
unsigned int m_numSimulations
Definition: GPMSA.h:316
const M * m_experimentErrors
Definition: GPMSA.h:333
const std::vector< V * > & m_experimentScenarios
Definition: GPMSA.h:95
const VectorSpace< V, M > & m_experimentOutputSpace
Definition: GPMSA.h:314
ScopedPtr< V >::Type m_emulatorDataPrecisionShapeVec
Definition: GPMSA.h:422
const std::vector< V * > & m_experimentOutputs
Definition: GPMSA.h:96
const M & m_experimentErrors
Definition: GPMSA.h:108
void addSimulation(V &simulationScenario, V &simulationParameter, V &simulationOutput)
Add a simulation to this.
Definition: GPMSA.C:664
const BaseEnvironment & m_env
Definition: GPMSA.h:307
ScopedPtr< M >::Type m_TruncatedSVD_simulationOutputs
Definition: GPMSA.h:435
bool allocated_m_opts
Definition: GPMSA.h:454
ScopedPtr< VectorSpace< V, M > >::Type discrepancyCorrelationSpace
Definition: GPMSA.h:383
const VectorSpace< V, M > & m_scenarioSpace
Definition: GPMSA.h:84
ScopedPtr< V >::Type observationalPrecisionMax
Definition: GPMSA.h:374
const std::vector< V * > & simulationScenarios() const
Return all points in scenarioSpace for all simulations.
Definition: GPMSA.C:560
ScopedPtr< V >::Type m_observationalPrecisionScaleVec
Definition: GPMSA.h:415
std::vector< V > m_discrepancyBases
Definition: GPMSA.h:98
const std::vector< V * > & m_simulationParameters
Definition: GPMSA.h:93
ScopedPtr< V >::Type emulatorMeanMax
Definition: GPMSA.h:356
const VectorSpace< V, M > & simulationOutputSpace() const
Return the vector space in which simulations live.
Definition: GPMSA.C:534
const VectorSpace< V, M > & m_experimentOutputSpace
Definition: GPMSA.h:87
const M & KT_K_inv
Definition: GPMSA.h:119
ScopedPtr< V >::Type totalMaxs
Definition: GPMSA.h:396
ScopedPtr< GammaVectorRV< V, M > >::Type m_emulatorPrecision
Definition: GPMSA.h:404
ScopedPtr< VectorSpace< V, M > >::Type oneDSpace
Definition: GPMSA.h:352
virtual double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
Actual value of the scalar function.
Definition: GPMSA.C:414
ScopedPtr< V >::Type m_observationalPrecisionShapeVec
Definition: GPMSA.h:414
GPMSAFactory(const BaseEnvironment &env, GPMSAOptions *opts, const BaseVectorRV< V, M > &parameterPrior, const VectorSpace< V, M > &scenarioSpace, const VectorSpace< V, M > &parameterSpace, const VectorSpace< V, M > &simulationOutputSpace, const VectorSpace< V, M > &experimentOutputSpace, unsigned int numSimulations, unsigned int numExperiments)
Constructor.
Definition: GPMSA.C:425
ScopedPtr< BoxSubset< V, M > >::Type emulatorDataPrecisionDomain
Definition: GPMSA.h:391
virtual ~GPMSAEmulator()
Definition: GPMSA.C:87
ScopedPtr< GPMSAEmulator< V, M > >::Type gpmsaEmulator
Definition: GPMSA.h:426
A templated class for handling sets.
Definition: VectorSet.h:52
std::vector< V * > m_experimentOutputs
Definition: GPMSA.h:323
const VectorSpace< V, M > & scenarioSpace() const
Return the vector space in which scenarios live.
Definition: GPMSA.C:520
const V & experimentScenario(unsigned int experimentId) const
Return the point in scenarioSpace for experiment experimentId.
Definition: GPMSA.C:605
This class defines the options that specify the behaviour of the Gaussian process emulator...
Definition: GPMSAOptions.h:43
ScopedPtr< M >::Type m_observationErrorMatrix
Definition: GPMSA.h:430
friend std::ostream & operator<<(std::ostream &os, const GPMSAFactory< V, M > &obj)
Definition: GPMSA.h:300
ScopedPtr< V >::Type observationalPrecisionMin
Definition: GPMSA.h:373
ScopedPtr< V >::Type emulatorDataPrecisionMax
Definition: GPMSA.h:390
const std::vector< V * > & experimentScenarios() const
Return all points in scenarioSpace for all experiments.
Definition: GPMSA.C:617
ScopedPtr< V >::Type simulationOutputMeans
Definition: GPMSA.h:326
bool m_constructedGP
Definition: GPMSA.h:427
ScopedPtr< M >::Type KT_K_inv
Definition: GPMSA.h:450
const V & simulationScenario(unsigned int simulationId) const
Return the point in scenarioSpace for simulation simulationId.
Definition: GPMSA.C:548
unsigned int num_svd_terms
Definition: GPMSA.h:105
GPMSAOptions * m_opts
Definition: GPMSA.h:455
ScopedPtr< BoxSubset< V, M > >::Type emulatorCorrelationDomain
Definition: GPMSA.h:369
const std::vector< V * > & m_simulationOutputs
Definition: GPMSA.h:94
const BaseEnvironment & env() const
Return the QUESO environment.
Definition: GPMSA.C:650
const M & experimentErrors() const
Return all observation error covarince matrices for all experiments.
Definition: GPMSA.C:643
ScopedPtr< VectorSpace< V, M > >::Type emulatorCorrelationSpace
Definition: GPMSA.h:366
const std::vector< V * > & simulationParameters() const
Return all points in parameterSpace for all simulations.
Definition: GPMSA.C:579
ScopedPtr< V >::Type m_emulatorDataPrecisionScaleVec
Definition: GPMSA.h:423
const std::vector< M > & m_observationErrorMatrices
Definition: GPMSA.h:100
const unsigned int m_numSimulations
Definition: GPMSA.h:89
ScopedPtr< GammaVectorRV< V, M > >::Type m_discrepancyPrecision
Definition: GPMSA.h:407
void addExperiments(const std::vector< V * > &experimentScenarios, const std::vector< V * > &experimentOutputs, const M *experimentErrors)
Add all experiments to this.
Definition: GPMSA.C:894
ScopedPtr< ConcatenatedVectorRV< V, M > >::Type m_totalPrior
Definition: GPMSA.h:410
const std::vector< V * > & experimentOutputs() const
Return all points in experimentOutputSpace for all experiments.
Definition: GPMSA.C:636
const VectorSpace< V, M > & m_scenarioSpace
Definition: GPMSA.h:311
ScopedPtr< GammaVectorRV< V, M > >::Type m_observationalPrecision
Definition: GPMSA.h:405
~GPMSAFactory()
Destructor.
Definition: GPMSA.C:498
const VectorSpace< V, M > & m_simulationOutputSpace
Definition: GPMSA.h:313
void addSimulations(const std::vector< V * > &simulationScenarios, const std::vector< V * > &simulationParameters, const std::vector< V * > &simulationOutputs)
Adds multiple simulations to this.
Definition: GPMSA.C:684
ScopedPtr< V >::Type m_discrepancyPrecisionScaleVec
Definition: GPMSA.h:419
std::vector< V * > m_simulationParameters
Definition: GPMSA.h:320
ScopedPtr< V >::Type m_emulatorCorrelationStrengthAlphaVec
Definition: GPMSA.h:416
ScopedPtr< V >::Type discrepancyPrecisionMin
Definition: GPMSA.h:378
const std::vector< V * > & m_simulationScenarios
Definition: GPMSA.h:92
std::vector< V * > m_simulationOutputs
Definition: GPMSA.h:321
ScopedPtr< VectorSpace< V, M > >::Type emulatorPrecisionSpace
Definition: GPMSA.h:360
unsigned int m_numExperiments
Definition: GPMSA.h:317
ScopedPtr< V >::Type discrepancyPrecisionMax
Definition: GPMSA.h:379
const std::vector< V * > & simulationOutputs() const
Return all points in simulationOutputSpace for all simulations.
Definition: GPMSA.C:598
ScopedPtr< VectorSpace< V, M > >::Type totalSpace
Definition: GPMSA.h:394
ScopedPtr< GammaVectorRV< V, M > >::Type m_emulatorDataPrecision
Definition: GPMSA.h:409
const GPMSAEmulator< V, M > & getGPMSAEmulator() const
Return the GPMSAEmulator likelihood object.
Definition: GPMSA.C:657
const VectorSpace< V, M > & parameterSpace() const
Return the vector space in which parameters live.
Definition: GPMSA.C:527
ScopedPtr< V >::Type m_discrepancyPrecisionShapeVec
Definition: GPMSA.h:418
const VectorSpace< V, M > & experimentOutputSpace() const
Return the vector space in which experiments live.
Definition: GPMSA.C:541
std::vector< const BaseVectorRV< V, M > * > priors
Definition: GPMSA.h:400
const VectorSpace< V, M > & m_parameterSpace
Definition: GPMSA.h:85
ScopedPtr< BoxSubset< V, M > >::Type totalDomain
Definition: GPMSA.h:398
std::vector< M > m_observationErrorMatrices
Definition: GPMSA.h:330
ScopedPtr< V >::Type emulatorDataPrecisionMin
Definition: GPMSA.h:389
const V & experimentOutput(unsigned int experimentId) const
Return the experiment output for experiment experimentId.
Definition: GPMSA.C:624
ScopedPtr< UniformVectorRV< V, M > >::Type m_emulatorMean
Definition: GPMSA.h:403
ScopedPtr< V >::Type emulatorPrecisionMax
Definition: GPMSA.h:362

Generated on Thu Dec 15 2016 13:23:10 for queso-0.56.1 by  doxygen 1.8.5