queso-0.56.1
Public Member Functions | Public Attributes | List of all members
QUESO::GPMSAEmulator< V, M > Class Template Reference

#include <GPMSA.h>

Inheritance diagram for QUESO::GPMSAEmulator< V, M >:
Inheritance graph
[legend]
Collaboration diagram for QUESO::GPMSAEmulator< V, M >:
Collaboration graph
[legend]

Public Member Functions

 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)
 
virtual ~GPMSAEmulator ()
 
virtual double lnValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
 Logarithm of the value of the scalar function. More...
 
virtual double actualValue (const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const
 Actual value of the scalar function. More...
 
- Public Member Functions inherited from QUESO::BaseScalarFunction< V, M >
 BaseScalarFunction (const char *prefix, const VectorSet< V, M > &domainSet)
 Default constructor. More...
 
virtual ~BaseScalarFunction ()
 Destructor. More...
 
const VectorSet< V, M > & domainSet () const
 Access to the protected attribute m_domainSet: domain set of the scalar function. More...
 

Public Attributes

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
 
std::vector< V > m_discrepancyBases
 
const std::vector< M > & m_observationErrorMatrices
 
unsigned int num_svd_terms
 
const M & m_experimentErrors
 
const ConcatenatedVectorRV< V,
M > & 
m_totalPrior
 
const V & residual
 
const M & BT_Wy_B_inv
 
const M & KT_K_inv
 

Additional Inherited Members

- Protected Attributes inherited from QUESO::BaseScalarFunction< V, M >
const BaseEnvironmentm_env
 
std::string m_prefix
 
const VectorSet< V, M > & m_domainSet
 Domain set of the scalar function. More...
 

Detailed Description

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

Definition at line 47 of file GPMSA.h.

Constructor & Destructor Documentation

template<class V , class M >
QUESO::GPMSAEmulator< V, M >::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 at line 32 of file GPMSA.C.

References QUESO::VectorSpace< V, M >::dimLocal(), QUESO::GPMSAEmulator< V, M >::num_svd_terms, queso_assert_equal_to, and queso_assert_greater.

52  :
53  BaseScalarFunction<V, M>("", m_totalPrior.imageSet()),
69  residual(residual_in),
70  BT_Wy_B_inv(BT_Wy_B_inv_in),
71  KT_K_inv(KT_K_inv_in)
72 {
74 
76  (m_simulationOutputs[0]->map().Comm().NumProc(), 1);
77 
78  const unsigned int numOutputs =
79  this->m_experimentOutputSpace.dimLocal();
80 
81  const unsigned int MAX_SVD_TERMS =
82  std::min(m_numSimulations,(unsigned int)(5));
83  num_svd_terms = std::min(MAX_SVD_TERMS, numOutputs);
84 }
const V & residual
Definition: GPMSA.h:115
const unsigned int m_numExperiments
Definition: GPMSA.h:90
const ConcatenatedVectorRV< V, M > & m_totalPrior
Definition: GPMSA.h:110
const M & BT_Wy_B_inv
Definition: GPMSA.h:117
#define queso_assert_greater(expr1, expr2)
Definition: asserts.h:144
const VectorSpace< V, M > & m_simulationOutputSpace
Definition: GPMSA.h:86
const std::vector< V * > & m_experimentScenarios
Definition: GPMSA.h:95
const std::vector< V * > & m_experimentOutputs
Definition: GPMSA.h:96
const M & m_experimentErrors
Definition: GPMSA.h:108
const VectorSpace< V, M > & m_scenarioSpace
Definition: GPMSA.h:84
std::vector< V > m_discrepancyBases
Definition: GPMSA.h:98
const std::vector< V * > & m_simulationParameters
Definition: GPMSA.h:93
const VectorSpace< V, M > & m_experimentOutputSpace
Definition: GPMSA.h:87
const M & KT_K_inv
Definition: GPMSA.h:119
#define queso_assert_equal_to(expr1, expr2)
Definition: asserts.h:135
unsigned int num_svd_terms
Definition: GPMSA.h:105
const std::vector< V * > & m_simulationOutputs
Definition: GPMSA.h:94
const std::vector< M > & m_observationErrorMatrices
Definition: GPMSA.h:100
const unsigned int m_numSimulations
Definition: GPMSA.h:89
const std::vector< V * > & m_simulationScenarios
Definition: GPMSA.h:92
const VectorSpace< V, M > & m_parameterSpace
Definition: GPMSA.h:85
template<class V , class M >
QUESO::GPMSAEmulator< V, M >::~GPMSAEmulator ( )
virtual

Definition at line 87 of file GPMSA.C.

88 {
89  // heap allocations get deleted via ScopedPtr
90 }

Member Function Documentation

template<class V , class M >
double QUESO::GPMSAEmulator< V, M >::actualValue ( const V &  domainVector,
const V *  domainDirection,
V *  gradVector,
M *  hessianMatrix,
V *  hessianEffect 
) const
virtual

Actual value of the scalar function.

Implements QUESO::BaseScalarFunction< V, M >.

Definition at line 414 of file GPMSA.C.

419 {
420  // Do nothing?
421  return 1.0;
422 }
template<class V , class M >
double QUESO::GPMSAEmulator< V, M >::lnValue ( const V &  domainVector,
const V *  domainDirection,
V *  gradVector,
M *  hessianMatrix,
V *  hessianEffect 
) const
virtual

Logarithm of the value of the scalar function.

Implements QUESO::BaseScalarFunction< V, M >.

Definition at line 94 of file GPMSA.C.

References QUESO::MpiComm::Comm(), k, queso_assert, queso_assert_greater, queso_assert_greater_equal, queso_error, and QUESO::queso_isnan().

99 {
100  // Components of domainVector:
101  // theta(1) // = "theta", "t" in Higdon et. al. 2008
102  // theta(2)
103  // ...
104  // theta(dimParameter)
105  // emulator_mean // = "mu"
106  // emulator_precision // = "lambda_eta"
107  // weights_precision(1) // = "lambda_{wi}" in vector case
108  // ... // nonexistent in scalar case
109  // weights_precision(num_svd_terms)
110  // emulator_corr_strength(1) // = "rho_{eta k}"
111  // ... // dimScenario = "p_x", dimParameter = "p_t"
112  // emulator_corr_strength(dimScenario + dimParameter)
113  // discrepancy_precision(1) // = "lambda_delta" in scalar case,
114  // // "lambda_{vi}" in vector
115  // ...
116  // discrepancy_precision(F) // FIXME: F = 1, |G_1| = p_delta, for now.
117  // discrepancy_corr_strength(1) // = "rho_{deltak}"
118  // ...
119  // discrepancy_corr_strength(dimScenario)
120  // emulator_data_precision(1) // = "small white noise", "small ridge"
121  // observation_error_precision // = "lambda_y", only in vector case
122 
123  // Other variables:
124  // m_numSimulations // = "m"
125  // m_numExperiments // = "n"
126  // m_simulationScenarios // = "eta"
127  // m_experimentScenarios // = "y"
128  // m_experimentErrors // = "Sigma_y"
129  // numOutputs // = "n_eta"
130  // // "n_y" := sum(n_y_i)
131  // // (== n*n_eta for us for now)
132  // dimScenario // = "p_x"
133  // num_svd_terms // = "p_eta"
134  // num_discrepancy_bases // = "p_delta"
135  // m_TruncatedSVD_simulationOutputs // = "K_eta"
136  // covMatrix // = "Sigma_D" in scalar case,
137  // "Sigma_zhat" in vector
138  // m_discrepancyMatrices // = "D_i"
139  // m_observationErrorMatrices // = "W_i"
140  // m_observationErrorMatrix // = "W_y"
141  // m_BMatrix // = "B"
142  // num_discrepancy_groups // = "F"
143  // m_emulatorPrecisionShapeVec // = "a_eta"
144  // 1.0/m_emulatorPrecisionScaleVec // = "b_eta"
145  // m_observationalPrecisionShapeVec // = "a_y"
146  // 1.0/m_observationalPrecisionScaleVec // = "b_y"
147 
148  // Construct covariance matrix
149  const unsigned int totalRuns = this->m_numExperiments + this->m_numSimulations;
150  const unsigned int numOutputs = this->m_experimentOutputSpace.dimLocal();
151  const unsigned int totalOutputs = totalRuns * numOutputs;
152  const unsigned int num_discrepancy_bases = m_discrepancyBases.size();
153  const unsigned int residualSize = (numOutputs == 1) ? totalOutputs :
154  totalRuns * num_svd_terms + m_numExperiments * num_discrepancy_bases;
155 
156  double prodScenario = 1.0;
157  double prodParameter = 1.0;
158  double prodDiscrepancy = 1.0;
159  unsigned int dimScenario = (this->m_scenarioSpace).dimLocal();
160  unsigned int dimParameter = (this->m_parameterSpace).dimLocal();
161 
162  // Length of prior+hyperprior inputs
163  unsigned int dimSum = 3 +
164  (numOutputs > 1) * 2 +
165  num_svd_terms +
166  dimParameter +
167  dimParameter +
168  dimScenario +
169  dimScenario; // yum
170 
171  // Offset for Sigma_eta equivalent in vector case
172  const unsigned int offset1 = (numOutputs == 1) ?
173  0 : m_numExperiments * num_discrepancy_bases;
174 
175  // Offset for Sigma_w in vector case
176  const unsigned int offset1b = offset1 +
178 
179  // Offset for lambda_eta term in zhat covariance in vector case
180  const unsigned int offset2 = (numOutputs == 1) ?
181  0 : m_numExperiments * (num_discrepancy_bases + num_svd_terms);
182 
183  // This is cumbersome. All I want is a matrix.
184  const MpiComm & comm = domainVector.map().Comm();
185  Map z_map(residualSize, 0, comm);
186  M covMatrix(this->m_env, z_map, residualSize);
187 
188  V domainVectorParameter(*(this->m_simulationParameters[0]));
189  for (unsigned int k = 0; k < dimParameter; k++) {
190  queso_assert (!queso_isnan(domainVector[k]));
191  domainVectorParameter[k] = domainVector[k];
192  }
193 
194  // This for loop is a disaster and could do with a *lot* of optimisation
195  for (unsigned int i = 0; i < totalRuns; i++) {
196 
197  const V* scenario1;
198  const V* parameter1;
199 
200  // Decide whether to do experiment part of the covariance matrix
201  // Get i-th simulation-parameter pair
202  if (i < this->m_numExperiments) {
203  // Experiment scenario (known)
204  scenario1 = (this->m_experimentScenarios)[i];
205 
206  // Experiment parameter (unknown)
207  parameter1 = &domainVectorParameter;
208  }
209  else {
210  scenario1 =
211  (this->m_simulationScenarios)[i-this->m_numExperiments];
212  parameter1 =
213  (this->m_simulationParameters)[i-this->m_numExperiments];
214  }
215 
216  for (unsigned int j = 0; j < totalRuns; j++) {
217 
218  const V* scenario2;
219  const V* parameter2;
220 
221  if (j < this->m_numExperiments) {
222  scenario2 = (this->m_experimentScenarios)[j];
223  parameter2 = &domainVectorParameter;
224  }
225  else {
226  scenario2 =
227  (this->m_simulationScenarios)[j-this->m_numExperiments];
228  parameter2 =
229  (this->m_simulationParameters)[j-this->m_numExperiments];
230  }
231 
232  // Emulator component // = first term in (1)
233  prodScenario = 1.0;
234  unsigned int emulatorCorrStrStart =
235  dimParameter + 1 + num_svd_terms;
236  for (unsigned int k = 0; k < dimScenario; k++) {
237  const double & emulator_corr_strength =
238  domainVector[emulatorCorrStrStart+k];
239  prodScenario *= std::pow(emulator_corr_strength,
240  4.0 * ((*scenario1)[k] - (*scenario2)[k]) *
241  ((*scenario1)[k] - (*scenario2)[k]));
242  }
243 
244  queso_assert (!queso_isnan(prodScenario));
245 
246  // = second term in (1)
247  prodParameter = 1.0;
248  for (unsigned int k = 0; k < dimParameter; k++) {
249  queso_assert (!queso_isnan(domainVector[emulatorCorrStrStart+dimScenario+k]));
250  queso_assert (!queso_isnan((*parameter1)[k]));
251  queso_assert (!queso_isnan((*parameter2)[k]));
252  const double & emulator_corr_strength =
253  domainVector[emulatorCorrStrStart+dimScenario+k];
254  prodParameter *= std::pow(
255  emulator_corr_strength,
256  4.0 * ((*parameter1)[k] - (*parameter2)[k]) *
257  ((*parameter1)[k] - (*parameter2)[k]));
258  }
259 
260  queso_assert (!queso_isnan(prodParameter));
261 
262  // Sigma_eta in scalar case,
263  // [Sigma_u, Sigma_uw; Sigma_uw^T, Sigma_w] in vector case
264  for (unsigned int basis = 0; basis != num_svd_terms; ++basis)
265  {
266  // coefficient in (1)
267  // The relevant precision for Sigma_eta is lambda_eta; for
268  // Sigma_uw etc. it's lambda_wi and we skip lambda_eta
269  const double relevant_precision =
270  domainVector[dimParameter+basis+1+(numOutputs>1)];
271  queso_assert_greater(relevant_precision, 0.0);
272 
273  const unsigned int stridei =
274  (i < this->m_numExperiments) ? m_numExperiments : m_numSimulations;
275  const unsigned int offseti =
276  (i < this->m_numExperiments) ? offset1 : offset1b - m_numExperiments;
277  const unsigned int stridej =
278  (j < this->m_numExperiments) ? m_numExperiments : m_numSimulations;
279  const unsigned int offsetj =
280  (j < this->m_numExperiments) ? offset1 : offset1b - m_numExperiments;
281 
282  covMatrix(offseti+basis*stridei+i,
283  offsetj+basis*stridej+j) =
284  prodScenario * prodParameter / relevant_precision;
285  }
286 
287  // If we're in the experiment cross correlation part, need extra
288  // foo: Sigma_delta/Sigma_v and Sigma_y
289  if (i < this->m_numExperiments && j < this->m_numExperiments) {
290  V* cross_scenario1 = (this->m_simulationScenarios)[i];
291  V* cross_scenario2 = (this->m_simulationScenarios)[j];
292  prodDiscrepancy = 1.0;
293  unsigned int discrepancyCorrStrStart = dimParameter +
294  num_svd_terms +
295  dimParameter +
296  dimScenario + 2 +
297  (numOutputs > 1);
298  for (unsigned int k = 0; k < dimScenario; k++) {
299  const double & discrepancy_corr_strength =
300  domainVector[discrepancyCorrStrStart+k];
301  prodDiscrepancy *=
302  std::pow(discrepancy_corr_strength, 4.0 *
303  ((*cross_scenario1)[k] - (*cross_scenario2)[k]) *
304  ((*cross_scenario1)[k] - (*cross_scenario2)[k]));
305  }
306 
307  const double discrepancy_precision =
308  domainVector[discrepancyCorrStrStart-1];
309  queso_assert_greater(discrepancy_precision, 0);
310  queso_assert (!queso_isnan(prodDiscrepancy));
311 
312  // Sigma_delta term from below (3) in univariate case
313  // Sigma_v term from p. 576 in multivariate case
314  const double R_v = prodDiscrepancy / discrepancy_precision;
315  for (unsigned int disc = 0; disc != num_discrepancy_bases;
316  ++disc)
317  covMatrix(disc*m_numExperiments+i,
318  disc*m_numExperiments+j) += R_v;
319 
320  // Experimental error comes in via K in the multivariate
321  // case, but comes in via Sigma_y in the univariate case here
322  if (numOutputs == 1)
323  {
324  // Sigma_y term from below (3)
325  const double experimentalError =
326  (this->m_experimentErrors)(i,j);
327 
328  queso_assert_greater_equal (experimentalError, 0);
329 
330  covMatrix(i,j) += experimentalError;
331  }
332  }
333  }
334 
335  // Add small white noise component to diagonal to make stuff +ve def
336  // = "small ridge"
337  const double emulator_data_precision = domainVector[dimSum-1-(numOutputs>1)];
338  queso_assert_greater(emulator_data_precision, 0);
339  double nugget = 1.0 / emulator_data_precision;
340 
341  for (unsigned int disc = 0; disc != num_discrepancy_bases;
342  ++disc)
343  covMatrix(disc*m_numExperiments+i,
344  disc*m_numExperiments+i) += nugget;
345  }
346 
347  // If we're in the multivariate case, we've built the full Sigma_z
348  // matrix; now add the remaining Sigma_zhat terms
349  if (numOutputs > 1)
350  {
351  const double lambda_y = domainVector[dimSum-1];
352  const double inv_lambda_y = 1.0/lambda_y;
353 
354  unsigned int BT_Wy_B_size = BT_Wy_B_inv.numCols();
355  for (unsigned int i=0; i != BT_Wy_B_size; ++i)
356  for (unsigned int j=0; j != BT_Wy_B_size; ++j)
357  covMatrix(i,j) += BT_Wy_B_inv(i,j) * inv_lambda_y;
358 
359  const double emulator_precision =
360  domainVector[dimParameter+1];
361  const double inv_emulator_precision = 1.0/emulator_precision;
362 
363  unsigned int KT_K_size = KT_K_inv.numCols();
364  for (unsigned int i=0; i != KT_K_size; ++i)
365  for (unsigned int j=0; j != KT_K_size; ++j)
366  covMatrix(i+offset2,j+offset2) +=
367  KT_K_inv(i,j) * inv_emulator_precision;
368  }
369 
370 
371  // Solve covMatrix * sol = residual
372  // = Sigma_D^-1 * (D - mu 1) from (3)
373  V sol(covMatrix.invertMultiply(residual));
374 
375  // Premultiply by residual^T as in (3)
376  double minus_2_log_lhd = 0.0;
377  // There's no dot product function in GslVector.
378  for (unsigned int i = 0; i < residualSize; i++) {
379  minus_2_log_lhd += sol[i] * residual[i];
380  }
381 
382 if (queso_isnan(minus_2_log_lhd))
383  for (unsigned int i = 0; i < residualSize; i++) {
384  if (queso_isnan(sol[i]))
385  std::cout << "NaN sol[" << i << ']' << std::endl;
386  if (queso_isnan(residual[i]))
387  std::cout << "NaN residual[" << i << ']' << std::endl;
388 
389  std::cout << "Covariance Matrix:" << std::endl;
390  covMatrix.print(std::cout);
391  }
392 
393 // std::cout << "minus_2_log_lhd = " << minus_2_log_lhd << std::endl;
394 
395  queso_assert_greater(minus_2_log_lhd, 0);
396 
397  double cov_det = covMatrix.determinant();
398 
399  if (cov_det <= 0)
400  {
401  std::cout << "Non-positive determinant for covMatrix = " << std::endl;
402  covMatrix.print(std::cout);
403  queso_error();
404  }
405 
406  minus_2_log_lhd += std::log(covMatrix.determinant());
407 
408  // Multiply by -1/2 coefficient from (3)
409  return -0.5 * minus_2_log_lhd;
410 }
const V & residual
Definition: GPMSA.h:115
bool queso_isnan(T arg)
Definition: math_macros.h:39
const unsigned int m_numExperiments
Definition: GPMSA.h:90
#define queso_error()
Definition: asserts.h:53
const M & BT_Wy_B_inv
Definition: GPMSA.h:117
#define queso_assert_greater(expr1, expr2)
Definition: asserts.h:144
#define queso_assert_greater_equal(expr1, expr2)
Definition: asserts.h:150
int k
Definition: ann_sample.cpp:53
const std::vector< V * > & m_experimentScenarios
Definition: GPMSA.h:95
const M & m_experimentErrors
Definition: GPMSA.h:108
const VectorSpace< V, M > & m_scenarioSpace
Definition: GPMSA.h:84
std::vector< V > m_discrepancyBases
Definition: GPMSA.h:98
const std::vector< V * > & m_simulationParameters
Definition: GPMSA.h:93
const VectorSpace< V, M > & m_experimentOutputSpace
Definition: GPMSA.h:87
const M & KT_K_inv
Definition: GPMSA.h:119
#define queso_assert(asserted)
Definition: asserts.h:132
unsigned int num_svd_terms
Definition: GPMSA.h:105
const unsigned int m_numSimulations
Definition: GPMSA.h:89
const BaseEnvironment & m_env
const std::vector< V * > & m_simulationScenarios
Definition: GPMSA.h:92
const VectorSpace< V, M > & m_parameterSpace
Definition: GPMSA.h:85

Member Data Documentation

template<class V = GslVector, class M = GslMatrix>
const M& QUESO::GPMSAEmulator< V, M >::BT_Wy_B_inv

Definition at line 117 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const M& QUESO::GPMSAEmulator< V, M >::KT_K_inv

Definition at line 119 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
std::vector<V> QUESO::GPMSAEmulator< V, M >::m_discrepancyBases

Definition at line 98 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const M& QUESO::GPMSAEmulator< V, M >::m_experimentErrors

Definition at line 108 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const std::vector<V *>& QUESO::GPMSAEmulator< V, M >::m_experimentOutputs

Definition at line 96 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const VectorSpace<V, M>& QUESO::GPMSAEmulator< V, M >::m_experimentOutputSpace

Definition at line 87 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const std::vector<V *>& QUESO::GPMSAEmulator< V, M >::m_experimentScenarios

Definition at line 95 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const unsigned int QUESO::GPMSAEmulator< V, M >::m_numExperiments

Definition at line 90 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const unsigned int QUESO::GPMSAEmulator< V, M >::m_numSimulations

Definition at line 89 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const std::vector<M>& QUESO::GPMSAEmulator< V, M >::m_observationErrorMatrices

Definition at line 100 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const VectorSpace<V, M>& QUESO::GPMSAEmulator< V, M >::m_parameterSpace

Definition at line 85 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const VectorSpace<V, M>& QUESO::GPMSAEmulator< V, M >::m_scenarioSpace

Definition at line 84 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const std::vector<V *>& QUESO::GPMSAEmulator< V, M >::m_simulationOutputs

Definition at line 94 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const VectorSpace<V, M>& QUESO::GPMSAEmulator< V, M >::m_simulationOutputSpace

Definition at line 86 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const std::vector<V *>& QUESO::GPMSAEmulator< V, M >::m_simulationParameters

Definition at line 93 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const std::vector<V *>& QUESO::GPMSAEmulator< V, M >::m_simulationScenarios

Definition at line 92 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const ConcatenatedVectorRV<V, M>& QUESO::GPMSAEmulator< V, M >::m_totalPrior

Definition at line 110 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
unsigned int QUESO::GPMSAEmulator< V, M >::num_svd_terms

Definition at line 105 of file GPMSA.h.

Referenced by QUESO::GPMSAEmulator< V, M >::GPMSAEmulator().

template<class V = GslVector, class M = GslMatrix>
const V& QUESO::GPMSAEmulator< V, M >::residual

Definition at line 115 of file GPMSA.h.


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

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