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

#include <GPMSA.h>

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

Public Member Functions

 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. More...
 
 ~GPMSAFactory ()
 Destructor. More...
 
void addSimulation (V &simulationScenario, V &simulationParameter, V &simulationOutput)
 Add a simulation to this. More...
 
void addSimulations (const std::vector< V * > &simulationScenarios, const std::vector< V * > &simulationParameters, const std::vector< V * > &simulationOutputs)
 Adds multiple simulations to this. More...
 
void addExperiments (const std::vector< V * > &experimentScenarios, const std::vector< V * > &experimentOutputs, const M *experimentErrors)
 Add all experiments to this. More...
 
void setDiscrepancyBases (const std::vector< V * > &discrepancyBases)
 Add all discrepancy bases to this. More...
 
M & getObservationErrorCovariance (unsigned int simulationNumber)
 
const M & getObservationErrorCovariance (unsigned int simulationNumber) const
 
const ConcatenatedVectorRV< V,
M > & 
prior () const
 
void print (std::ostream &os) const
 
void setUpEmulator ()
 
void setUpHyperpriors ()
 
Getters
unsigned int numSimulations () const
 Return number of simulations. More...
 
unsigned int numExperiments () const
 Return number of experiments. More...
 
const VectorSpace< V, M > & scenarioSpace () const
 Return the vector space in which scenarios live. More...
 
const VectorSpace< V, M > & parameterSpace () const
 Return the vector space in which parameters live. More...
 
const VectorSpace< V, M > & simulationOutputSpace () const
 Return the vector space in which simulations live. More...
 
const VectorSpace< V, M > & experimentOutputSpace () const
 Return the vector space in which experiments live. More...
 
const V & simulationScenario (unsigned int simulationId) const
 Return the point in scenarioSpace for simulation simulationId. More...
 
const std::vector< V * > & simulationScenarios () const
 Return all points in scenarioSpace for all simulations. More...
 
const V & simulationParameter (unsigned int simulationId) const
 Return the point in parameterSpace for simulation simulationId. More...
 
const std::vector< V * > & simulationParameters () const
 Return all points in parameterSpace for all simulations. More...
 
const V & simulationOutput (unsigned int simulationId) const
 Return the simulation output for simulation simulationId. More...
 
const std::vector< V * > & simulationOutputs () const
 Return all points in simulationOutputSpace for all simulations. More...
 
const V & experimentScenario (unsigned int experimentId) const
 Return the point in scenarioSpace for experiment experimentId. More...
 
const std::vector< V * > & experimentScenarios () const
 Return all points in scenarioSpace for all experiments. More...
 
const V & experimentOutput (unsigned int experimentId) const
 Return the experiment output for experiment experimentId. More...
 
const std::vector< V * > & experimentOutputs () const
 Return all points in experimentOutputSpace for all experiments. More...
 
const M & experimentErrors () const
 Return all observation error covarince matrices for all experiments. More...
 
const BaseEnvironmentenv () const
 Return the QUESO environment. More...
 
const GPMSAEmulator< V, M > & getGPMSAEmulator () const
 Return the GPMSAEmulator likelihood object. More...
 

Public Attributes

const BaseEnvironmentm_env
 
const BaseVectorRV< V, M > & m_parameterPrior
 
const VectorSpace< V, M > & m_scenarioSpace
 
const VectorSpace< V, M > & m_parameterSpace
 
const VectorSpace< V, M > & m_simulationOutputSpace
 
const VectorSpace< V, M > & m_experimentOutputSpace
 
unsigned int m_numSimulations
 
unsigned int m_numExperiments
 
std::vector< V * > m_simulationScenarios
 
std::vector< V * > m_simulationParameters
 
std::vector< V * > m_simulationOutputs
 
std::vector< V * > m_experimentScenarios
 
std::vector< V * > m_experimentOutputs
 
ScopedPtr< V >::Type simulationOutputMeans
 
std::vector< V > m_discrepancyBases
 
std::vector< M > m_observationErrorMatrices
 
const M * m_experimentErrors
 
unsigned int m_numSimulationAdds
 
unsigned int m_numExperimentAdds
 
ScopedPtr< VectorSpace< V, M >
>::Type 
oneDSpace
 
ScopedPtr< V >::Type emulatorMeanMin
 
ScopedPtr< V >::Type emulatorMeanMax
 
ScopedPtr< BoxSubset< V, M >
>::Type 
emulatorMeanDomain
 
ScopedPtr< VectorSpace< V, M >
>::Type 
emulatorPrecisionSpace
 
ScopedPtr< V >::Type emulatorPrecisionMin
 
ScopedPtr< V >::Type emulatorPrecisionMax
 
ScopedPtr< BoxSubset< V, M >
>::Type 
emulatorPrecisionDomain
 
ScopedPtr< VectorSpace< V, M >
>::Type 
emulatorCorrelationSpace
 
ScopedPtr< V >::Type emulatorCorrelationMin
 
ScopedPtr< V >::Type emulatorCorrelationMax
 
ScopedPtr< BoxSubset< V, M >
>::Type 
emulatorCorrelationDomain
 
ScopedPtr< VectorSpace< V, M >
>::Type 
observationalPrecisionSpace
 
ScopedPtr< V >::Type observationalPrecisionMin
 
ScopedPtr< V >::Type observationalPrecisionMax
 
ScopedPtr< BoxSubset< V, M >
>::Type 
observationalPrecisionDomain
 
ScopedPtr< V >::Type discrepancyPrecisionMin
 
ScopedPtr< V >::Type discrepancyPrecisionMax
 
ScopedPtr< BoxSubset< V, M >
>::Type 
discrepancyPrecisionDomain
 
ScopedPtr< VectorSpace< V, M >
>::Type 
discrepancyCorrelationSpace
 
ScopedPtr< V >::Type discrepancyCorrelationMin
 
ScopedPtr< V >::Type discrepancyCorrelationMax
 
ScopedPtr< BoxSubset< V, M >
>::Type 
discrepancyCorrelationDomain
 
ScopedPtr< V >::Type emulatorDataPrecisionMin
 
ScopedPtr< V >::Type emulatorDataPrecisionMax
 
ScopedPtr< BoxSubset< V, M >
>::Type 
emulatorDataPrecisionDomain
 
ScopedPtr< VectorSpace< V, M >
>::Type 
totalSpace
 
ScopedPtr< V >::Type totalMins
 
ScopedPtr< V >::Type totalMaxs
 
ScopedPtr< BoxSubset< V, M >
>::Type 
totalDomain
 
std::vector< const
BaseVectorRV< V, M > * > 
priors
 
ScopedPtr< UniformVectorRV< V,
M > >::Type 
m_emulatorMean
 
ScopedPtr< GammaVectorRV< V, M >
>::Type 
m_emulatorPrecision
 
ScopedPtr< GammaVectorRV< V, M >
>::Type 
m_observationalPrecision
 
ScopedPtr< BetaVectorRV< V, M >
>::Type 
m_emulatorCorrelationStrength
 
ScopedPtr< GammaVectorRV< V, M >
>::Type 
m_discrepancyPrecision
 
ScopedPtr< BetaVectorRV< V, M >
>::Type 
m_discrepancyCorrelationStrength
 
ScopedPtr< GammaVectorRV< V, M >
>::Type 
m_emulatorDataPrecision
 
ScopedPtr
< ConcatenatedVectorRV< V, M >
>::Type 
m_totalPrior
 
ScopedPtr< V >::Type m_emulatorPrecisionShapeVec
 
ScopedPtr< V >::Type m_emulatorPrecisionScaleVec
 
ScopedPtr< V >::Type m_observationalPrecisionShapeVec
 
ScopedPtr< V >::Type m_observationalPrecisionScaleVec
 
ScopedPtr< V >::Type m_emulatorCorrelationStrengthAlphaVec
 
ScopedPtr< V >::Type m_emulatorCorrelationStrengthBetaVec
 
ScopedPtr< V >::Type m_discrepancyPrecisionShapeVec
 
ScopedPtr< V >::Type m_discrepancyPrecisionScaleVec
 
ScopedPtr< V >::Type m_discrepancyCorrelationStrengthAlphaVec
 
ScopedPtr< V >::Type m_discrepancyCorrelationStrengthBetaVec
 
ScopedPtr< V >::Type m_emulatorDataPrecisionShapeVec
 
ScopedPtr< V >::Type m_emulatorDataPrecisionScaleVec
 
ScopedPtr< GPMSAEmulator< V, M >
>::Type 
gpmsaEmulator
 
bool m_constructedGP
 
ScopedPtr< M >::Type m_observationErrorMatrix
 
ScopedPtr< M >::Type m_TruncatedSVD_simulationOutputs
 
std::vector< M > m_discrepancyMatrices
 
ScopedPtr< M >::Type m_BMatrix
 
ScopedPtr< M >::Type K
 
ScopedPtr< V >::Type residual
 
ScopedPtr< M >::Type BT_Wy_B_inv
 
ScopedPtr< M >::Type KT_K_inv
 

Private Attributes

bool allocated_m_opts
 
GPMSAOptionsm_opts
 

Friends

std::ostream & operator<< (std::ostream &os, const GPMSAFactory< V, M > &obj)
 

Detailed Description

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

Definition at line 123 of file GPMSA.h.

Constructor & Destructor Documentation

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

References QUESO::GPMSAFactory< V, M >::allocated_m_opts, QUESO::VectorSpace< V, M >::dimGlobal(), QUESO::GPMSAFactory< V, M >::m_discrepancyBases, QUESO::GPMSAFactory< V, M >::m_env, QUESO::GPMSAFactory< V, M >::m_experimentOutputSpace, QUESO::GPMSAFactory< V, M >::m_observationErrorMatrices, QUESO::GPMSAFactory< V, M >::m_opts, QUESO::VectorSpace< V, M >::map(), QUESO::GPMSAFactory< V, M >::numExperiments(), QUESO::BaseEnvironment::optionsInputFileName(), queso_assert_equal_to, and queso_error_msg.

435  :
436  m_env(env),
437  m_parameterPrior(parameterPrior),
451  priors(7, (const BaseVectorRV<V, M> *)NULL), // Needed for gcc 4.3.2
452  m_constructedGP(false)
453 {
454  // We should have the same number of outputs from both simulations
455  // and experiments
457  experimentOutputSpace.dimGlobal());
458 
459  {
460  const unsigned int numOutputs =
461  this->m_experimentOutputSpace.dimLocal();
462  const Map & output_map = experimentOutputSpace.map();
463 
464  // Set up the default discrepancy basis:
465  V all_ones_basis(env, output_map);
466  for (unsigned int i=0; i != numOutputs; ++i)
467  all_ones_basis[i] = 1;
468  m_discrepancyBases.push_back(all_ones_basis);
469 
470  // Set up the default observation error covariance matrix:
471 
472  M identity_matrix(env, output_map, 1.0);
473 
474  for (unsigned int i = 0; i != numExperiments; ++i)
475  m_observationErrorMatrices.push_back(identity_matrix);
476  }
477 
478  // DM: Not sure if the logic in these 3 if-blocks is correct
479  if ((opts == NULL) && (this->m_env.optionsInputFileName() == "")) {
480  queso_error_msg("Must options object or an input file");
481  }
482 
483  if (opts != NULL) {
484  allocated_m_opts = false;
485  this->m_opts = opts;
486  }
487  else {
488  // Create a default one
489  allocated_m_opts = true;
490  this->m_opts = new GPMSAOptions(this->m_env, "");
491  }
492 
493  // FIXME: WTF? - RHS
494  // this->m_constructedGP = false;
495 }
const BaseVectorRV< V, M > & m_parameterPrior
Definition: GPMSA.h:309
std::vector< V > m_discrepancyBases
Definition: GPMSA.h:328
std::string optionsInputFileName() const
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
Definition: Environment.C:353
const VectorSpace< V, M > & m_parameterSpace
Definition: GPMSA.h:312
unsigned int numSimulations() const
Return number of simulations.
Definition: GPMSA.C:506
unsigned int numExperiments() const
Return number of experiments.
Definition: GPMSA.C:513
unsigned int m_numExperimentAdds
Definition: GPMSA.h:337
unsigned int m_numSimulationAdds
Definition: GPMSA.h:336
std::vector< V * > m_experimentScenarios
Definition: GPMSA.h:322
std::vector< V * > m_simulationScenarios
Definition: GPMSA.h:319
unsigned int m_numSimulations
Definition: GPMSA.h:316
const VectorSpace< V, M > & m_experimentOutputSpace
Definition: GPMSA.h:314
const BaseEnvironment & m_env
Definition: GPMSA.h:307
bool allocated_m_opts
Definition: GPMSA.h:454
const VectorSpace< V, M > & simulationOutputSpace() const
Return the vector space in which simulations live.
Definition: GPMSA.C:534
#define queso_assert_equal_to(expr1, expr2)
Definition: asserts.h:135
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
bool m_constructedGP
Definition: GPMSA.h:427
GPMSAOptions * m_opts
Definition: GPMSA.h:455
const BaseEnvironment & env() const
Return the QUESO environment.
Definition: GPMSA.C:650
const VectorSpace< V, M > & m_scenarioSpace
Definition: GPMSA.h:311
const VectorSpace< V, M > & m_simulationOutputSpace
Definition: GPMSA.h:313
#define queso_error_msg(msg)
Definition: asserts.h:47
std::vector< V * > m_simulationParameters
Definition: GPMSA.h:320
std::vector< V * > m_simulationOutputs
Definition: GPMSA.h:321
unsigned int m_numExperiments
Definition: GPMSA.h:317
const VectorSpace< V, M > & parameterSpace() const
Return the vector space in which parameters live.
Definition: GPMSA.C:527
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
std::vector< M > m_observationErrorMatrices
Definition: GPMSA.h:330
template<class V , class M >
QUESO::GPMSAFactory< V, M >::~GPMSAFactory ( )

Destructor.

Definition at line 498 of file GPMSA.C.

499 {
500  if (this->allocated_m_opts)
501  delete this->m_opts;
502 }
bool allocated_m_opts
Definition: GPMSA.h:454
GPMSAOptions * m_opts
Definition: GPMSA.h:455

Member Function Documentation

template<class V , class M >
void QUESO::GPMSAFactory< V, M >::addExperiments ( const std::vector< V * > &  experimentScenarios,
const std::vector< V * > &  experimentOutputs,
const M *  experimentErrors 
)

Add all experiments to this.

This method takes a vector of all the experimental data and associated observation errors/correlations and stores them. This cannot be done piecemeal like the simulation data.

Each experiment ([i]) is assumed to correspond to the point expermientScenarios[i] in scenario space. The observation error covariance matrix is assumed to be stored in experimentErrors.

Definition at line 894 of file GPMSA.C.

References queso_require_less_equal_msg.

898 {
899  queso_require_less_equal_msg(experimentScenarios.size(), this->m_numExperiments, "too many experiments...");
900 
901  for (unsigned int i = 0; i < this->m_experimentScenarios.size(); i++) {
904  }
907 
908  if ((this->m_numSimulationAdds == this->m_numSimulations) &&
909  (this->m_numExperimentAdds == this->m_numExperiments) &&
910  (this->m_constructedGP == false)) {
911  this->setUpEmulator();
912  }
913 }
void setUpEmulator()
Definition: GPMSA.C:699
unsigned int m_numExperimentAdds
Definition: GPMSA.h:337
unsigned int m_numSimulationAdds
Definition: GPMSA.h:336
std::vector< V * > m_experimentScenarios
Definition: GPMSA.h:322
unsigned int m_numSimulations
Definition: GPMSA.h:316
const M * m_experimentErrors
Definition: GPMSA.h:333
std::vector< V * > m_experimentOutputs
Definition: GPMSA.h:323
const std::vector< V * > & experimentScenarios() const
Return all points in scenarioSpace for all experiments.
Definition: GPMSA.C:617
bool m_constructedGP
Definition: GPMSA.h:427
const M & experimentErrors() const
Return all observation error covarince matrices for all experiments.
Definition: GPMSA.C:643
#define queso_require_less_equal_msg(expr1, expr2, msg)
Definition: asserts.h:77
const std::vector< V * > & experimentOutputs() const
Return all points in experimentOutputSpace for all experiments.
Definition: GPMSA.C:636
unsigned int m_numExperiments
Definition: GPMSA.h:317
template<class V , class M >
void QUESO::GPMSAFactory< V, M >::addSimulation ( V &  simulationScenario,
V &  simulationParameter,
V &  simulationOutput 
)

Add a simulation to this.

The simulation added to this is assumed to correspond to the point simulationScenario in scenario space and simulationParameter in parameter space. The simulation output is assumed to be stored in simulationOutput.

Definition at line 664 of file GPMSA.C.

References queso_require_less_msg.

667 {
668  queso_require_less_msg(this->m_numSimulationAdds, this->m_numSimulations, "too many simulation adds...");
669 
673  this->m_numSimulationAdds++;
674 
675  if ((this->m_numSimulationAdds == this->m_numSimulations) &&
676  (this->m_numExperimentAdds == this->m_numExperiments) &&
677  (this->m_constructedGP == false)) {
678  this->setUpEmulator();
679  }
680 }
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
unsigned int m_numSimulationAdds
Definition: GPMSA.h:336
#define queso_require_less_msg(expr1, expr2, msg)
Definition: asserts.h:75
const V & simulationOutput(unsigned int simulationId) const
Return the simulation output for simulation simulationId.
Definition: GPMSA.C:586
std::vector< V * > m_simulationScenarios
Definition: GPMSA.h:319
unsigned int m_numSimulations
Definition: GPMSA.h:316
bool m_constructedGP
Definition: GPMSA.h:427
const V & simulationScenario(unsigned int simulationId) const
Return the point in scenarioSpace for simulation simulationId.
Definition: GPMSA.C:548
std::vector< V * > m_simulationParameters
Definition: GPMSA.h:320
std::vector< V * > m_simulationOutputs
Definition: GPMSA.h:321
unsigned int m_numExperiments
Definition: GPMSA.h:317
template<class V , class M >
void QUESO::GPMSAFactory< V, M >::addSimulations ( const std::vector< V * > &  simulationScenarios,
const std::vector< V * > &  simulationParameters,
const std::vector< V * > &  simulationOutputs 
)

Adds multiple simulations to this.

This method takes a vector of simulations and calls addSimulation on each element

Definition at line 684 of file GPMSA.C.

688 {
689  for (unsigned int i = 0; i < this->m_numSimulations; i++) {
691  *(simulationOutputs[i]));
692  }
693 }
unsigned int m_numSimulations
Definition: GPMSA.h:316
void addSimulation(V &simulationScenario, V &simulationParameter, V &simulationOutput)
Add a simulation to this.
Definition: GPMSA.C:664
const std::vector< V * > & simulationScenarios() const
Return all points in scenarioSpace for all simulations.
Definition: GPMSA.C:560
const std::vector< V * > & simulationParameters() const
Return all points in parameterSpace for all simulations.
Definition: GPMSA.C:579
const std::vector< V * > & simulationOutputs() const
Return all points in simulationOutputSpace for all simulations.
Definition: GPMSA.C:598
template<class V , class M >
const BaseEnvironment & QUESO::GPMSAFactory< V, M >::env ( ) const

Return the QUESO environment.

Definition at line 650 of file GPMSA.C.

651 {
652  return this->m_env;
653 }
const BaseEnvironment & m_env
Definition: GPMSA.h:307
template<class V , class M >
const M & QUESO::GPMSAFactory< V, M >::experimentErrors ( ) const

Return all observation error covarince matrices for all experiments.

Definition at line 643 of file GPMSA.C.

644 {
645  return *(this->m_experimentErrors);
646 }
const M * m_experimentErrors
Definition: GPMSA.h:333
template<class V , class M >
const V & QUESO::GPMSAFactory< V, M >::experimentOutput ( unsigned int  experimentId) const

Return the experiment output for experiment experimentId.

The returned vector is a point in experimentOutputSpace

Definition at line 624 of file GPMSA.C.

References queso_require_less_msg, and queso_require_msg.

626 {
627  queso_require_less_msg(experimentId, (this->m_experimentOutputs).size(), "experimentId is too large");
628 
629  queso_require_msg(this->m_experimentOutputs[experimentId], "vector is NULL");
630 
631  return *(this->m_experimentOutputs[experimentId]);
632 }
#define queso_require_less_msg(expr1, expr2, msg)
Definition: asserts.h:75
std::vector< V * > m_experimentOutputs
Definition: GPMSA.h:323
#define queso_require_msg(asserted, msg)
Definition: asserts.h:69
template<class V , class M >
const std::vector< V * > & QUESO::GPMSAFactory< V, M >::experimentOutputs ( ) const

Return all points in experimentOutputSpace for all experiments.

This returns all points in experiment output space at which experiments were executed

Definition at line 636 of file GPMSA.C.

637 {
638  return this->m_experimentOutputs;
639 }
std::vector< V * > m_experimentOutputs
Definition: GPMSA.h:323
template<class V , class M >
const VectorSpace< V, M > & QUESO::GPMSAFactory< V, M >::experimentOutputSpace ( ) const

Return the vector space in which experiments live.

Definition at line 541 of file GPMSA.C.

542 {
543  return this->m_experimentOutputSpace;
544 }
const VectorSpace< V, M > & m_experimentOutputSpace
Definition: GPMSA.h:314
template<class V , class M >
const V & QUESO::GPMSAFactory< V, M >::experimentScenario ( unsigned int  experimentId) const

Return the point in scenarioSpace for experiment experimentId.

This returns the point in scenario space at which experiment experimentId was executed

Definition at line 605 of file GPMSA.C.

References queso_require_less_msg, and queso_require_msg.

607 {
608  queso_require_less_msg(experimentId, (this->m_experimentScenarios).size(), "experimentId is too large");
609 
610  queso_require_msg(this->m_experimentScenarios[experimentId], "vector is NULL");
611 
612  return *(this->m_experimentScenarios[experimentId]);
613 }
#define queso_require_less_msg(expr1, expr2, msg)
Definition: asserts.h:75
std::vector< V * > m_experimentScenarios
Definition: GPMSA.h:322
#define queso_require_msg(asserted, msg)
Definition: asserts.h:69
template<class V , class M >
const std::vector< V * > & QUESO::GPMSAFactory< V, M >::experimentScenarios ( ) const

Return all points in scenarioSpace for all experiments.

This returns all points in scenario space at which experiments were executed

Definition at line 617 of file GPMSA.C.

618 {
619  return this->m_experimentScenarios;
620 }
std::vector< V * > m_experimentScenarios
Definition: GPMSA.h:322
template<class V , class M >
const GPMSAEmulator< V, M > & QUESO::GPMSAFactory< V, M >::getGPMSAEmulator ( ) const

Return the GPMSAEmulator likelihood object.

Definition at line 657 of file GPMSA.C.

658 {
659  return *(this->gpmsaEmulator);
660 }
ScopedPtr< GPMSAEmulator< V, M > >::Type gpmsaEmulator
Definition: GPMSA.h:426
template<class V , class M >
M & QUESO::GPMSAFactory< V, M >::getObservationErrorCovariance ( unsigned int  simulationNumber)

Definition at line 936 of file GPMSA.C.

References queso_assert_equal_to, and queso_assert_less.

937 {
938  queso_assert_less(simulationNumber, m_numSimulations);
940 
941  return m_observationErrorMatrices[simulationNumber];
942 }
unsigned int m_numSimulations
Definition: GPMSA.h:316
#define queso_assert_equal_to(expr1, expr2)
Definition: asserts.h:135
#define queso_assert_less(expr1, expr2)
Definition: asserts.h:141
std::vector< M > m_observationErrorMatrices
Definition: GPMSA.h:330
template<class V , class M >
const M & QUESO::GPMSAFactory< V, M >::getObservationErrorCovariance ( unsigned int  simulationNumber) const

Definition at line 948 of file GPMSA.C.

References queso_assert_equal_to, and queso_assert_less.

949 {
950  queso_assert_less(simulationNumber, m_numSimulations);
952 
953  return m_observationErrorMatrices[simulationNumber];
954 }
unsigned int m_numSimulations
Definition: GPMSA.h:316
#define queso_assert_equal_to(expr1, expr2)
Definition: asserts.h:135
#define queso_assert_less(expr1, expr2)
Definition: asserts.h:141
std::vector< M > m_observationErrorMatrices
Definition: GPMSA.h:330
template<class V , class M >
unsigned int QUESO::GPMSAFactory< V, M >::numExperiments ( ) const

Return number of experiments.

Definition at line 513 of file GPMSA.C.

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

514 {
515  return this->m_numExperiments;
516 }
unsigned int m_numExperiments
Definition: GPMSA.h:317
template<class V , class M >
unsigned int QUESO::GPMSAFactory< V, M >::numSimulations ( ) const

Return number of simulations.

Definition at line 506 of file GPMSA.C.

507 {
508  return this->m_numSimulations;
509 }
unsigned int m_numSimulations
Definition: GPMSA.h:316
template<class V , class M >
const VectorSpace< V, M > & QUESO::GPMSAFactory< V, M >::parameterSpace ( ) const

Return the vector space in which parameters live.

Definition at line 527 of file GPMSA.C.

528 {
529  return this->m_parameterSpace;
530 }
const VectorSpace< V, M > & m_parameterSpace
Definition: GPMSA.h:312
template<class V , class M >
void QUESO::GPMSAFactory< V, M >::print ( std::ostream &  os) const

Definition at line 967 of file GPMSA.C.

968 {
969  // Do nothing
970 }
template<class V , class M >
const ConcatenatedVectorRV< V, M > & QUESO::GPMSAFactory< V, M >::prior ( ) const

Definition at line 960 of file GPMSA.C.

961 {
962  return *(this->m_totalPrior);
963 }
ScopedPtr< ConcatenatedVectorRV< V, M > >::Type m_totalPrior
Definition: GPMSA.h:410
template<class V , class M >
const VectorSpace< V, M > & QUESO::GPMSAFactory< V, M >::scenarioSpace ( ) const

Return the vector space in which scenarios live.

Definition at line 520 of file GPMSA.C.

521 {
522  return this->m_scenarioSpace;
523 }
const VectorSpace< V, M > & m_scenarioSpace
Definition: GPMSA.h:311
template<class V , class M >
void QUESO::GPMSAFactory< V, M >::setDiscrepancyBases ( const std::vector< V * > &  discrepancyBases)

Add all discrepancy bases to this.

This method takes a vector of all the bases to use in the discrepancy model and stores a copy.

The user is responsible for normalizing each basis vector to be consistent with the discrepancy precision coefficients which will multiply them.

If no discrepancy basis is provided, a single "1 for each output" vector will be used.

For now we will assume that outputs are the same for each experiment (tau_ij and phi_ij are independent of i, in the notation of Higdon et al), and so each discrepancy basis can be expressed as a vector indexed by output index.

Definition at line 918 of file GPMSA.C.

References queso_assert_equal_to.

920 {
921  m_discrepancyBases.clear();
922 
923  for (unsigned int i = 0; i < discrepancyBases.size(); i++) {
924  m_discrepancyBases.push_back(*(discrepancyBases[i]));
925  }
926 
927  // We should not yet have constructed the underlying GP model
929 }
std::vector< V > m_discrepancyBases
Definition: GPMSA.h:328
#define queso_assert_equal_to(expr1, expr2)
Definition: asserts.h:135
bool m_constructedGP
Definition: GPMSA.h:427
template<class V , class M >
void QUESO::GPMSAFactory< V, M >::setUpEmulator ( )

Definition at line 699 of file GPMSA.C.

References QUESO::Map::Comm(), and k.

700 {
701  const unsigned int numOutputs =
702  this->m_experimentOutputSpace.dimLocal();
703  const unsigned int MAX_SVD_TERMS =
704  std::min(m_numSimulations,(unsigned int)(5));
705  const unsigned int num_svd_terms =
706  std::min(MAX_SVD_TERMS, numOutputs);
707 
708  const Map & output_map = m_simulationOutputs[0]->map();
709 
710  const MpiComm & comm = output_map.Comm();
711 
712  Map serial_map(m_numSimulations, 0, comm);
713 
714  const BaseEnvironment &env = m_simulationOutputs[0]->env();
715 
717  (new V (env, output_map));
718 
719  for (unsigned int i=0; i != m_numSimulations; ++i)
720  for (unsigned int j=0; j != numOutputs; ++j)
721  (*simulationOutputMeans)[j] += (*m_simulationOutputs[i])[j];
722 
723  for (unsigned int j=0; j != numOutputs; ++j)
725 
726  M simulation_matrix(env, serial_map, numOutputs);
727 
728  for (unsigned int i=0; i != m_numSimulations; ++i)
729  for (unsigned int j=0; j != numOutputs; ++j)
730  simulation_matrix(i,j) =
732 
733  // GSL only finds left singular vectors if n_rows>=n_columns, so we need to
734  // calculate them indirectly from the eigenvalues of M^T*M
735 
736  M S_trans(simulation_matrix.transpose());
737 
738  M SM_squared(S_trans*simulation_matrix);
739 
740  M SM_singularVectors(env, SM_squared.map(), numOutputs);
741  V SM_singularValues(env, SM_squared.map());
742 
743  SM_squared.eigen(SM_singularValues, &SM_singularVectors);
744 
745  // Copy only those vectors we want into K_eta
747  (new M(env, output_map, num_svd_terms));
748 
749  for (unsigned int i=0; i != numOutputs; ++i)
750  for (unsigned int k = 0; k != num_svd_terms; ++k)
751  (*m_TruncatedSVD_simulationOutputs)(i,k) = SM_singularVectors(i,k);
752 
753  Map copied_map(numOutputs * m_numSimulations, 0, comm);
754 
755  K.reset
756  (new M(env, copied_map, m_numSimulations * num_svd_terms));
757  for (unsigned int k=0; k != num_svd_terms; ++k)
758  for (unsigned int i1=0; i1 != m_numSimulations; ++i1)
759  for (unsigned int i2=0; i2 != numOutputs; ++i2)
760  {
761  const unsigned int i = i1 * numOutputs + i2;
762  const unsigned int j = k * m_numSimulations + i1;
763  (*K)(i,j) = SM_singularVectors(i2,k);
764  }
765 
766  KT_K_inv.reset
767  (new M((K->transpose() * *K).inverse()));
768 
769  Map serial_output_map(numOutputs, 0, comm);
770 
771  for (unsigned int i = 0; i != m_numExperiments; ++i)
772  {
773  M D_i(env, serial_output_map,
774  (unsigned int)(m_discrepancyBases.size()));
775 
776  for (unsigned int j=0; j != numOutputs; ++j)
777  for (unsigned int k=0; k != m_discrepancyBases.size(); ++k)
778  D_i(j,k) = m_discrepancyBases[k][j];
779 
780  m_discrepancyMatrices.push_back(D_i);
781  }
782 
783  // Create the giant matrices!
784 
785  // We build B from two parts, the diag(D_i)*P_D^T block and
786  // the diag(K_i)*P_K^T block, but we build simultaneously so we only
787  // need one loop over experiments.
788  // Since P_D and P_K are permutation matrices we'll just apply the
789  // permutations as we insert.
790 
791  // W_y is simple block diagonal.
792 
793  // Neither of these ought to be dense matrices but we're sacrificing
794  // efficiency for clarity for now.
795 
796  const unsigned int num_discrepancy_bases = m_discrepancyBases.size();
797  const unsigned int Brows = m_numExperiments * numOutputs;
798  const unsigned int Bcols =
799  m_numExperiments * (num_discrepancy_bases + num_svd_terms);
800 
801  const Map B_row_map(Brows, 0, comm);
802 
803  m_BMatrix.reset
804  (new M(env, B_row_map, Bcols));
805 
806  const unsigned int Wyrows = m_numExperiments * numOutputs;
807 
808  const Map Wy_row_map(Wyrows, 0, comm);
809 
811  (new M(env, Wy_row_map, Wyrows));
812 
813  M& B = *m_BMatrix;
814  M& Wy = *m_observationErrorMatrix;
815 
816  for (unsigned int ex = 0; ex != m_numExperiments; ++ex)
817  {
818  const M & D_i = m_discrepancyMatrices[ex];
819 
820  // For the multivariate case, the bases K_eta computed from
821  // simulator outputs are the same as the bases K_i which apply
822  // to quantities of interest, because simulator outputs are QoIs
823  // alone.
824  //
825  // FIXME - we need to interpolate K_i in the functional case.
826 
827  for (unsigned int outi = 0; outi != numOutputs; ++outi)
828  {
829  unsigned int i = ex*numOutputs+outi;
830  for (unsigned int outj = 0; outj != num_discrepancy_bases; ++outj)
831  {
832  unsigned int j = ex + m_numExperiments * outj;
833 
834  B(i,j) = D_i(outi,outj);
835  }
836 
837  for (unsigned int outj = 0; outj != num_svd_terms; ++outj)
838  {
839  unsigned int j = ex +
840  m_numExperiments * (num_discrepancy_bases + outj);
841 
842  B(i,j) = (*m_TruncatedSVD_simulationOutputs)(outi,outj);
843  }
844 
845  for (unsigned int outj = 0; outj != numOutputs; ++outj)
846  {
847  // No fancy perturbation here
848  unsigned int j = ex*numOutputs+outj;
849 
850  Wy(i,j) = m_observationErrorMatrices[ex](outi,outj);
851  }
852  }
853  }
854 
855  M BT_Wy_B (B.transpose() * Wy * B);
856 
857  // Adding a "small ridge" to make sure this is invertible, as on
858  // p.577 - using 1e-4 from discussion notes.
859  for (unsigned int i=0; i != Brows; ++i)
860  BT_Wy_B(i,i) += 1.e-4;
861 
862  BT_Wy_B_inv.reset(new M(BT_Wy_B.inverse()));
863 
864  this->setUpHyperpriors();
865 
866  this->m_constructedGP = true;
867  this->gpmsaEmulator.reset
868  (new GPMSAEmulator<V, M>(
869  this->prior().imageSet(),
870  this->m_scenarioSpace,
871  this->m_parameterSpace,
874  this->m_numSimulations,
875  this->m_numExperiments,
876  this->m_simulationScenarios,
878  this->m_simulationOutputs,
879  this->m_experimentScenarios,
880  this->m_experimentOutputs,
881  this->m_discrepancyBases,
883  *(this->m_experimentErrors),
884  *(this->m_totalPrior),
885  *this->residual,
886  *this->BT_Wy_B_inv,
887  *this->KT_K_inv));
888 }
ScopedPtr< V >::Type residual
Definition: GPMSA.h:444
std::vector< V > m_discrepancyBases
Definition: GPMSA.h:328
const ConcatenatedVectorRV< V, M > & prior() const
Definition: GPMSA.C:960
const VectorSpace< V, M > & m_parameterSpace
Definition: GPMSA.h:312
ScopedPtr< M >::Type m_BMatrix
Definition: GPMSA.h:439
void setUpHyperpriors()
Definition: GPMSA.C:975
ScopedPtr< M >::Type K
Definition: GPMSA.h:442
std::vector< V * > m_experimentScenarios
Definition: GPMSA.h:322
std::vector< M > m_discrepancyMatrices
Definition: GPMSA.h:437
int k
Definition: ann_sample.cpp:53
ScopedPtr< M >::Type BT_Wy_B_inv
Definition: GPMSA.h:447
std::vector< V * > m_simulationScenarios
Definition: GPMSA.h:319
unsigned int m_numSimulations
Definition: GPMSA.h:316
const M * m_experimentErrors
Definition: GPMSA.h:333
const VectorSpace< V, M > & m_experimentOutputSpace
Definition: GPMSA.h:314
ScopedPtr< M >::Type m_TruncatedSVD_simulationOutputs
Definition: GPMSA.h:435
ScopedPtr< GPMSAEmulator< V, M > >::Type gpmsaEmulator
Definition: GPMSA.h:426
std::vector< V * > m_experimentOutputs
Definition: GPMSA.h:323
ScopedPtr< M >::Type m_observationErrorMatrix
Definition: GPMSA.h:430
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 BaseEnvironment & env() const
Return the QUESO environment.
Definition: GPMSA.C:650
ScopedPtr< ConcatenatedVectorRV< V, M > >::Type m_totalPrior
Definition: GPMSA.h:410
const VectorSpace< V, M > & m_scenarioSpace
Definition: GPMSA.h:311
const VectorSpace< V, M > & m_simulationOutputSpace
Definition: GPMSA.h:313
std::vector< V * > m_simulationParameters
Definition: GPMSA.h:320
std::vector< V * > m_simulationOutputs
Definition: GPMSA.h:321
unsigned int m_numExperiments
Definition: GPMSA.h:317
std::vector< M > m_observationErrorMatrices
Definition: GPMSA.h:330
template<class V , class M >
void QUESO::GPMSAFactory< V, M >::setUpHyperpriors ( )

Definition at line 975 of file GPMSA.C.

References QUESO::MpiComm::Comm(), k, queso_assert_equal_to, and QUESO::scalarProduct().

976 {
977  const unsigned int numOutputs =
978  this->m_experimentOutputSpace.dimLocal();
979  const unsigned int MAX_SVD_TERMS =
980  std::min(m_numSimulations,(unsigned int)(5));
981  const unsigned int num_svd_terms =
982  std::min(MAX_SVD_TERMS, numOutputs);
983  const unsigned int num_discrepancy_bases = m_discrepancyBases.size();
984 
985  const MpiComm & comm = m_simulationOutputs[0]->map().Comm();
986 
987  unsigned int rank_B;
988  if (m_BMatrix->numRowsGlobal() > m_BMatrix->numCols())
989  rank_B = m_BMatrix->rank(0, 1.e-4);
990  else
991  rank_B = m_BMatrix->transpose().rank(0, 1.e-4);
992 
993  double emulatorPrecisionShape = this->m_opts->m_emulatorPrecisionShape;
994  double emulatorPrecisionScale = this->m_opts->m_emulatorPrecisionScale;
995 
996  double observationalPrecisionShape = this->m_opts->m_observationalPrecisionShape;
997  double observationalPrecisionScale = this->m_opts->m_observationalPrecisionScale;
998 
999  if (numOutputs > 1)
1000  {
1001  Map y_map(m_numExperiments * numOutputs, 0, comm);
1002  Map eta_map(m_numSimulations * numOutputs, 0, comm);
1003 
1004  const unsigned int yhat_size =
1005  m_numExperiments * (num_discrepancy_bases + num_svd_terms);
1006 
1007  const unsigned int etahat_size =
1008  m_numSimulations * num_svd_terms;
1009 
1010  Map zhat_map(yhat_size + etahat_size, 0, comm);
1011 
1012  V y(this->m_env, y_map);
1013  V eta(this->m_env, eta_map);
1014 
1015  for (unsigned int i = 0; i < this->m_numExperiments; i++) {
1016  for (unsigned int k = 0; k != numOutputs; ++k)
1017  y[i*numOutputs+k] =
1018  (*((this->m_experimentOutputs)[i]))[k] -
1019  (*simulationOutputMeans)[k];
1020  }
1021 
1022  for (unsigned int i = 0; i < this->m_numSimulations; i++) {
1023  for (unsigned int k = 0; k != numOutputs; ++k)
1024  eta[i*numOutputs+k] =
1025  (*((this->m_simulationOutputs)[i]))[k] -
1026  (*simulationOutputMeans)[k];
1027  }
1028 
1029  M& B = *m_BMatrix;
1030  M& Wy = *m_observationErrorMatrix;
1031 
1032  V yhat(*BT_Wy_B_inv * (B.transpose() * (Wy * y)));
1033 
1034  queso_assert_equal_to(yhat.sizeGlobal(), yhat_size);
1035 
1036  V etahat(*KT_K_inv * (K->transpose() * eta));
1037 
1038  residual.reset(new V(this->m_env, zhat_map));
1039  for (unsigned int i = 0; i < yhat_size; ++i)
1040  (*residual)[i] = yhat[i];
1041 
1042  for (unsigned int i = 0; i < etahat_size; ++i)
1043  (*residual)[yhat_size+i] = etahat[i];
1044 
1045  emulatorPrecisionShape +=
1046  (this->m_numSimulations * (numOutputs - num_svd_terms)) / 2.0;
1047 
1048  V eta_temp(eta);
1049  eta_temp -= *K * etahat;
1050 
1051  emulatorPrecisionScale +=
1052  scalarProduct(eta, eta_temp) / 2.0;
1053 
1054  observationalPrecisionShape +=
1055  (this->m_numExperiments * numOutputs - rank_B) / 2.0;
1056 
1057  V y_temp(Wy * y);
1058  y_temp -= Wy * B * yhat;
1059 
1060  observationalPrecisionScale +=
1061  scalarProduct(y, y_temp) / 2.0;
1062  }
1063  else
1064  {
1065  const unsigned int totalRuns = this->m_numExperiments + this->m_numSimulations;
1066  Map z_map(totalRuns, 0, comm);
1067  residual.reset(new V (this->m_env, z_map));
1068 
1069  // Form residual = D - mean // = D - mu*1 in (3)
1070  // We currently use the mean of the simulation data, not a free
1071  // hyperparameter mean
1072  for (unsigned int i = 0; i < this->m_numExperiments; i++) {
1073  (*residual)[i] = (*((this->m_experimentOutputs)[i]))[0] -
1074  (*simulationOutputMeans)[0];
1075  }
1076  for (unsigned int i = 0; i < this->m_numSimulations; i++) {
1077  (*residual)[i+this->m_numExperiments] =
1078  (*((this->m_simulationOutputs)[i]))[0] -
1079  (*simulationOutputMeans)[0];
1080  }
1081  }
1082 
1083 
1084  double emulatorCorrelationStrengthAlpha = this->m_opts->m_emulatorCorrelationStrengthAlpha;
1085  double emulatorCorrelationStrengthBeta = this->m_opts->m_emulatorCorrelationStrengthBeta;
1086  double discrepancyPrecisionShape = this->m_opts->m_discrepancyPrecisionShape;
1087  double discrepancyPrecisionScale = this->m_opts->m_discrepancyPrecisionScale;
1088  double discrepancyCorrelationStrengthAlpha = this->m_opts->m_discrepancyCorrelationStrengthAlpha;
1089  double discrepancyCorrelationStrengthBeta = this->m_opts->m_discrepancyCorrelationStrengthBeta;
1090  double emulatorDataPrecisionShape = this->m_opts->m_emulatorDataPrecisionShape;
1091  double emulatorDataPrecisionScale = this->m_opts->m_emulatorDataPrecisionScale;
1092 
1093  this->oneDSpace.reset
1094  (new VectorSpace<V, M>(this->m_env, "", 1, NULL));
1095 
1096  // Emulator mean
1097  this->emulatorMeanMin.reset(new V(this->oneDSpace->zeroVector()));
1098  this->emulatorMeanMax.reset(new V(this->oneDSpace->zeroVector()));
1099  this->emulatorMeanMin->cwSet(-INFINITY);
1100  this->emulatorMeanMax->cwSet(INFINITY);
1101 
1102  this->emulatorMeanDomain.reset
1103  (new BoxSubset<V, M>
1104  ("",
1105  *(this->oneDSpace),
1106  *(this->emulatorMeanMin),
1107  *(this->emulatorMeanMax)));
1108 
1109  this->m_emulatorMean.reset
1110  (new UniformVectorRV<V, M>
1111  ("",
1112  *(this->emulatorMeanDomain)));
1113 
1114  // Emulator precision
1115  this->emulatorPrecisionSpace.reset
1116  (new VectorSpace<V, M>
1117  (this->m_env,
1118  "",
1119  num_svd_terms + (numOutputs > 1),
1120  NULL));
1121 
1122  this->emulatorPrecisionMin.reset
1123  (new V(this->emulatorPrecisionSpace->zeroVector()));
1124  this->emulatorPrecisionMax.reset
1125  (new V(this->emulatorPrecisionSpace->zeroVector()));
1126  this->m_emulatorPrecisionShapeVec.reset
1127  (new V(this->emulatorPrecisionSpace->zeroVector()));
1128  this->m_emulatorPrecisionScaleVec.reset
1129  (new V(this->emulatorPrecisionSpace->zeroVector()));
1130  this->emulatorPrecisionMin->cwSet(0.3);
1131  this->emulatorPrecisionMax->cwSet(INFINITY);
1132  this->m_emulatorPrecisionShapeVec->cwSet(emulatorPrecisionShape);
1133  this->m_emulatorPrecisionScaleVec->cwSet(emulatorPrecisionScale);
1134 
1135  this->emulatorPrecisionDomain.reset
1136  (new BoxSubset<V, M>
1137  ("",
1138  *(this->emulatorPrecisionSpace),
1139  *(this->emulatorPrecisionMin),
1140  *(this->emulatorPrecisionMax)));
1141 
1142  this->m_emulatorPrecision.reset
1143  (new GammaVectorRV<V, M>
1144  ("",
1145  *(this->emulatorPrecisionDomain),
1146  *(this->m_emulatorPrecisionShapeVec),
1147  *(this->m_emulatorPrecisionScaleVec)));
1148 
1149  // Emulator correlation strength
1150  unsigned int dimScenario = (this->scenarioSpace()).dimLocal();
1151  unsigned int dimParameter = (this->parameterSpace()).dimLocal();
1152  this->emulatorCorrelationSpace.reset
1153  (new VectorSpace<V, M>
1154  (this->m_env,
1155  "",
1156  dimScenario + dimParameter,
1157  NULL));
1158 
1159  this->emulatorCorrelationMin.reset
1160  (new V(this->emulatorCorrelationSpace->zeroVector()));
1161  this->emulatorCorrelationMax.reset
1162  (new V(this->emulatorCorrelationSpace->zeroVector()));
1164  (new V(this->emulatorCorrelationSpace->zeroVector()));
1166  (new V(this->emulatorCorrelationSpace->zeroVector()));
1167  this->emulatorCorrelationMin->cwSet(0);
1168  this->emulatorCorrelationMax->cwSet(1);
1169  this->m_emulatorCorrelationStrengthAlphaVec->cwSet(emulatorCorrelationStrengthAlpha);
1170  this->m_emulatorCorrelationStrengthBetaVec->cwSet(emulatorCorrelationStrengthBeta);
1171 
1172  this->emulatorCorrelationDomain.reset
1173  (new BoxSubset<V, M>
1174  ("",
1175  *(this->emulatorCorrelationSpace),
1176  *(this->emulatorCorrelationMin),
1177  *(this->emulatorCorrelationMax)));
1178 
1179  this->m_emulatorCorrelationStrength.reset
1180  (new BetaVectorRV<V, M>
1181  ("",
1182  *(this->emulatorCorrelationDomain),
1185 
1186  // Observation precision
1187  this->observationalPrecisionSpace.reset
1188  (new VectorSpace<V, M>
1189  (this->m_env,
1190  "",
1191  1,
1192  NULL));
1193 
1194  this->observationalPrecisionMin.reset
1195  (new V(this->observationalPrecisionSpace->zeroVector()));
1196  this->observationalPrecisionMax.reset
1197  (new V(this->observationalPrecisionSpace->zeroVector()));
1199  (new V(this->observationalPrecisionSpace->zeroVector()));
1201  (new V(this->observationalPrecisionSpace->zeroVector()));
1202  this->observationalPrecisionMin->cwSet(0.3);
1203  this->observationalPrecisionMax->cwSet(INFINITY);
1208 
1209  this->observationalPrecisionDomain.reset
1210  (new BoxSubset<V, M>
1211  ("",
1212  *(this->observationalPrecisionSpace),
1213  *(this->observationalPrecisionMin),
1214  *(this->observationalPrecisionMax)));
1215 
1216  this->m_observationalPrecision.reset
1217  (new GammaVectorRV<V, M>
1218  ("",
1222 
1223  // Discrepancy precision
1224  this->discrepancyPrecisionMin.reset
1225  (new V(this->oneDSpace->zeroVector()));
1226  this->discrepancyPrecisionMax.reset
1227  (new V(this->oneDSpace->zeroVector()));
1228  this->m_discrepancyPrecisionShapeVec.reset
1229  (new V(this->oneDSpace->zeroVector()));
1230  this->m_discrepancyPrecisionScaleVec.reset
1231  (new V(this->oneDSpace->zeroVector()));
1232  this->discrepancyPrecisionMin->cwSet(0);
1233  this->discrepancyPrecisionMax->cwSet(INFINITY);
1234  this->m_discrepancyPrecisionShapeVec->cwSet(discrepancyPrecisionShape);
1235  this->m_discrepancyPrecisionScaleVec->cwSet(discrepancyPrecisionScale);
1236 
1237  this->discrepancyPrecisionDomain.reset
1238  (new BoxSubset<V, M>
1239  ("",
1240  *(this->oneDSpace),
1241  *(this->discrepancyPrecisionMin),
1242  *(this->discrepancyPrecisionMax)));
1243 
1244  this->m_discrepancyPrecision.reset
1245  (new GammaVectorRV<V, M>
1246  ("",
1247  *(this->discrepancyPrecisionDomain),
1249  *(this->m_discrepancyPrecisionScaleVec)));
1250 
1251  // Discrepancy correlation strength
1252  this->discrepancyCorrelationSpace.reset
1253  (new VectorSpace<V, M>
1254  (this->m_env,
1255  "",
1256  dimScenario,
1257  NULL));
1258 
1259  this->discrepancyCorrelationMin.reset
1260  (new V(this->discrepancyCorrelationSpace->zeroVector()));
1261  this->discrepancyCorrelationMax.reset
1262  (new V(this->discrepancyCorrelationSpace->zeroVector()));
1264  (new V(this->discrepancyCorrelationSpace->zeroVector()));
1266  (new V(this->discrepancyCorrelationSpace->zeroVector()));
1267  this->discrepancyCorrelationMin->cwSet(0);
1268  this->discrepancyCorrelationMax->cwSet(1);
1269  this->m_discrepancyCorrelationStrengthAlphaVec->cwSet(discrepancyCorrelationStrengthAlpha);
1270  this->m_discrepancyCorrelationStrengthBetaVec->cwSet(discrepancyCorrelationStrengthBeta);
1271 
1272  this->discrepancyCorrelationDomain.reset
1273  (new BoxSubset<V, M>
1274  ("",
1275  *(this->discrepancyCorrelationSpace),
1276  *(this->discrepancyCorrelationMin),
1277  *(this->discrepancyCorrelationMax)));
1278 
1280  (new BetaVectorRV<V, M>
1281  ("",
1285 
1286  // Emulator data precision
1287  this->emulatorDataPrecisionMin.reset
1288  (new V(this->oneDSpace->zeroVector()));
1289  this->emulatorDataPrecisionMax.reset
1290  (new V(this->oneDSpace->zeroVector()));
1292  (new V(this->oneDSpace->zeroVector()));
1294  (new V(this->oneDSpace->zeroVector()));
1295  this->emulatorDataPrecisionMin->cwSet(60.0);
1296  this->emulatorDataPrecisionMax->cwSet(1e5);
1297  this->m_emulatorDataPrecisionShapeVec->cwSet(emulatorDataPrecisionShape);
1298  this->m_emulatorDataPrecisionScaleVec->cwSet(emulatorDataPrecisionScale);
1299 
1300  this->emulatorDataPrecisionDomain.reset
1301  (new BoxSubset<V, M>
1302  ("",
1303  *(this->oneDSpace),
1304  *(this->emulatorDataPrecisionMin),
1305  *(this->emulatorDataPrecisionMax)));
1306 
1307  this->m_emulatorDataPrecision.reset
1308  (new GammaVectorRV<V, M>
1309  ("",
1310  *(this->emulatorDataPrecisionDomain),
1313 
1314  // Now form full prior
1315  unsigned int dimSum = 3 +
1316  (numOutputs > 1) * 2 +
1317  num_svd_terms +
1318  dimParameter +
1319  dimParameter +
1320  dimScenario +
1321  dimScenario; // yum
1322 
1323  this->totalSpace.reset
1324  (new VectorSpace<V, M>
1325  (this->m_env,
1326  "",
1327  dimSum,
1328  NULL));
1329  this->totalMins.reset(new V(this->totalSpace->zeroVector()));
1330  this->totalMaxs.reset(new V(this->totalSpace->zeroVector()));
1331 
1332  // Hackety hack McHackington. There's no better way to do this unfortunately
1333  this->totalMins->cwSet(0);
1334  this->totalMaxs->cwSet(1);
1335 
1336  (*(this->totalMins))[dimParameter] = -INFINITY; // Min mean
1337  (*(this->totalMaxs))[dimParameter] = INFINITY; // Max mean
1338 
1339  // Min emulator precision
1340  (*(this->totalMins))[dimParameter+1] = 0.3;
1341  // Max emulator precision
1342  (*(this->totalMaxs))[dimParameter+1] = INFINITY;
1343 
1344  if (numOutputs > 1)
1345  for (unsigned int basis = 0; basis != num_svd_terms; ++basis)
1346  {
1347  // Min weights precision
1348  (*(this->totalMins))[dimParameter+2+basis] = 0.3;
1349  // Max weights precision
1350  (*(this->totalMaxs))[dimParameter+2+basis] = INFINITY;
1351  }
1352 
1353  // FIXME: F = 1 for now
1354  // Min discrepancy precision
1355  (*(this->totalMins))[dimParameter+1+(numOutputs>1)+num_svd_terms+dimScenario+dimParameter] = 0;
1356  // Max discrepancy precision
1357  (*(this->totalMaxs))[dimParameter+1+(numOutputs>1)+num_svd_terms+dimScenario+dimParameter] = INFINITY;
1358 
1359  (*(this->totalMins))[dimSum-1-(numOutputs>1)] = 60.0; // Min emulator data precision
1360  (*(this->totalMaxs))[dimSum-1-(numOutputs>1)] = 1e5; // Max emulator data precision
1361 
1362  if (numOutputs>1) {
1363  (*(this->totalMins))[dimSum-1] = 0.3; // Min observation error precision
1364  (*(this->totalMaxs))[dimSum-1] = INFINITY; // Max observation error precision
1365  }
1366 
1367  this->totalDomain.reset
1368  (new BoxSubset<V, M>
1369  ("",
1370  *(this->totalSpace),
1371  *(this->totalMins),
1372  *(this->totalMaxs)));
1373 
1374  this->priors[0] = &(this->m_parameterPrior);
1375  this->priors[1] = this->m_emulatorMean.get();
1376  this->priors[2] = this->m_emulatorPrecision.get();
1377  this->priors[3] = this->m_emulatorCorrelationStrength.get();
1378  this->priors[4] = this->m_discrepancyPrecision.get();
1379  this->priors[5] = this->m_discrepancyCorrelationStrength.get();
1380  this->priors[6] = this->m_emulatorDataPrecision.get();
1381  if (numOutputs > 1)
1382  this->priors.push_back(this->m_observationalPrecision.get());
1383 
1384  // Finally
1385  this->m_totalPrior.reset
1386  (new ConcatenatedVectorRV<V, M>
1387  ("",
1388  this->priors,
1389  *(this->totalDomain)));
1390 }
double m_emulatorCorrelationStrengthAlpha
The alpha paramter for the Beta hyperprior for the emulator correlation strength. ...
Definition: GPMSAOptions.h:75
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
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
std::vector< V > m_discrepancyBases
Definition: GPMSA.h:328
ScopedPtr< V >::Type m_discrepancyCorrelationStrengthBetaVec
Definition: GPMSA.h:421
ScopedPtr< V >::Type totalMins
Definition: GPMSA.h:395
ScopedPtr< V >::Type m_emulatorPrecisionScaleVec
Definition: GPMSA.h:413
double m_emulatorPrecisionShape
The shape parameter for the Gamma hyperprior for the emulator precision.
Definition: GPMSAOptions.h:62
ScopedPtr< V >::Type discrepancyCorrelationMin
Definition: GPMSA.h:384
ScopedPtr< V >::Type emulatorPrecisionMin
Definition: GPMSA.h:361
ScopedPtr< M >::Type m_BMatrix
Definition: GPMSA.h:439
ScopedPtr< BoxSubset< V, M > >::Type emulatorMeanDomain
Definition: GPMSA.h:357
ScopedPtr< V >::Type m_emulatorCorrelationStrengthBetaVec
Definition: GPMSA.h:417
ScopedPtr< V >::Type emulatorCorrelationMax
Definition: GPMSA.h:368
ScopedPtr< V >::Type emulatorMeanMin
Definition: GPMSA.h:355
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
double m_observationalPrecisionShape
The shape parameter for the Gamma hyperprior for the observational precision.
Definition: GPMSAOptions.h:68
ScopedPtr< BoxSubset< V, M > >::Type emulatorPrecisionDomain
Definition: GPMSA.h:363
ScopedPtr< M >::Type K
Definition: GPMSA.h:442
int k
Definition: ann_sample.cpp:53
double m_discrepancyCorrelationStrengthBeta
The beta paramter for the Beta hyperprior for the discrepancy correlation strength.
Definition: GPMSAOptions.h:90
ScopedPtr< M >::Type BT_Wy_B_inv
Definition: GPMSA.h:447
ScopedPtr< VectorSpace< V, M > >::Type observationalPrecisionSpace
Definition: GPMSA.h:372
unsigned int m_numSimulations
Definition: GPMSA.h:316
const VectorSpace< V, M > & m_experimentOutputSpace
Definition: GPMSA.h:314
ScopedPtr< V >::Type m_emulatorDataPrecisionShapeVec
Definition: GPMSA.h:422
double m_emulatorPrecisionScale
The scale parameter for the Gamma hyperprior for the emulator precision.
Definition: GPMSAOptions.h:65
double m_discrepancyCorrelationStrengthAlpha
The alpha paramter for the Beta hyperprior for the discrepancy correlation strength.
Definition: GPMSAOptions.h:87
const BaseEnvironment & m_env
Definition: GPMSA.h:307
ScopedPtr< VectorSpace< V, M > >::Type discrepancyCorrelationSpace
Definition: GPMSA.h:383
ScopedPtr< V >::Type observationalPrecisionMax
Definition: GPMSA.h:374
ScopedPtr< V >::Type m_observationalPrecisionScaleVec
Definition: GPMSA.h:415
ScopedPtr< V >::Type emulatorMeanMax
Definition: GPMSA.h:356
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
ScopedPtr< V >::Type m_observationalPrecisionShapeVec
Definition: GPMSA.h:414
#define queso_assert_equal_to(expr1, expr2)
Definition: asserts.h:135
ScopedPtr< BoxSubset< V, M > >::Type emulatorDataPrecisionDomain
Definition: GPMSA.h:391
const VectorSpace< V, M > & scenarioSpace() const
Return the vector space in which scenarios live.
Definition: GPMSA.C:520
std::vector< V * > m_experimentOutputs
Definition: GPMSA.h:323
ScopedPtr< M >::Type m_observationErrorMatrix
Definition: GPMSA.h:430
ScopedPtr< V >::Type observationalPrecisionMin
Definition: GPMSA.h:373
ScopedPtr< V >::Type emulatorDataPrecisionMax
Definition: GPMSA.h:390
ScopedPtr< V >::Type simulationOutputMeans
Definition: GPMSA.h:326
ScopedPtr< M >::Type KT_K_inv
Definition: GPMSA.h:450
double scalarProduct(const GslVector &x, const GslVector &y)
Definition: GslVector.C:1136
GPMSAOptions * m_opts
Definition: GPMSA.h:455
ScopedPtr< BoxSubset< V, M > >::Type emulatorCorrelationDomain
Definition: GPMSA.h:369
ScopedPtr< VectorSpace< V, M > >::Type emulatorCorrelationSpace
Definition: GPMSA.h:366
ScopedPtr< V >::Type m_emulatorDataPrecisionScaleVec
Definition: GPMSA.h:423
double m_discrepancyPrecisionShape
The shape parameter for the Gamma hyperprior for the discrepancy precision.
Definition: GPMSAOptions.h:81
ScopedPtr< GammaVectorRV< V, M > >::Type m_discrepancyPrecision
Definition: GPMSA.h:407
ScopedPtr< ConcatenatedVectorRV< V, M > >::Type m_totalPrior
Definition: GPMSA.h:410
double m_emulatorDataPrecisionScale
The scale parameter for the Gamma hyperprior for the emulator data precision.
Definition: GPMSAOptions.h:99
double m_emulatorCorrelationStrengthBeta
The beta paramter for the Beta hyperprior for the emulator correlation strength.
Definition: GPMSAOptions.h:78
ScopedPtr< GammaVectorRV< V, M > >::Type m_observationalPrecision
Definition: GPMSA.h:405
ScopedPtr< V >::Type m_discrepancyPrecisionScaleVec
Definition: GPMSA.h:419
ScopedPtr< V >::Type m_emulatorCorrelationStrengthAlphaVec
Definition: GPMSA.h:416
ScopedPtr< V >::Type discrepancyPrecisionMin
Definition: GPMSA.h:378
double m_observationalPrecisionScale
The scale parameter for the Gamma hyperprior for the observational precision.
Definition: GPMSAOptions.h:71
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
ScopedPtr< VectorSpace< V, M > >::Type totalSpace
Definition: GPMSA.h:394
ScopedPtr< GammaVectorRV< V, M > >::Type m_emulatorDataPrecision
Definition: GPMSA.h:409
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
double m_discrepancyPrecisionScale
The scale parameter for the Gamma hyperprior for the discrepancy precision.
Definition: GPMSAOptions.h:84
std::vector< const BaseVectorRV< V, M > * > priors
Definition: GPMSA.h:400
ScopedPtr< BoxSubset< V, M > >::Type totalDomain
Definition: GPMSA.h:398
ScopedPtr< V >::Type emulatorDataPrecisionMin
Definition: GPMSA.h:389
double m_emulatorDataPrecisionShape
The shape parameter for the Gamma hyperprior for the emulator data precision.
Definition: GPMSAOptions.h:96
ScopedPtr< UniformVectorRV< V, M > >::Type m_emulatorMean
Definition: GPMSA.h:403
ScopedPtr< V >::Type emulatorPrecisionMax
Definition: GPMSA.h:362
template<class V , class M >
const V & QUESO::GPMSAFactory< V, M >::simulationOutput ( unsigned int  simulationId) const

Return the simulation output for simulation simulationId.

The returned vector is a point in simulationOutputSpace

Definition at line 586 of file GPMSA.C.

References queso_require_less_msg, and queso_require_msg.

588 {
589  queso_require_less_msg(simulationId, m_simulationOutputs.size(), "simulationId is too large");
590 
591  queso_require_msg(m_simulationOutputs[simulationId], "vector is NULL");
592 
593  return *(this->m_simulationOutputs[simulationId]);
594 }
#define queso_require_less_msg(expr1, expr2, msg)
Definition: asserts.h:75
#define queso_require_msg(asserted, msg)
Definition: asserts.h:69
std::vector< V * > m_simulationOutputs
Definition: GPMSA.h:321
template<class V , class M >
const std::vector< V * > & QUESO::GPMSAFactory< V, M >::simulationOutputs ( ) const

Return all points in simulationOutputSpace for all simulations.

This returns all points in simulation output space at which simulations were executed

Definition at line 598 of file GPMSA.C.

599 {
600  return this->m_simulationOutputs;
601 }
std::vector< V * > m_simulationOutputs
Definition: GPMSA.h:321
template<class V , class M >
const VectorSpace< V, M > & QUESO::GPMSAFactory< V, M >::simulationOutputSpace ( ) const

Return the vector space in which simulations live.

Definition at line 534 of file GPMSA.C.

535 {
536  return this->m_simulationOutputSpace;
537 }
const VectorSpace< V, M > & m_simulationOutputSpace
Definition: GPMSA.h:313
template<class V , class M >
const V & QUESO::GPMSAFactory< V, M >::simulationParameter ( unsigned int  simulationId) const

Return the point in parameterSpace for simulation simulationId.

This returns the point in parameter space at which simulation simulationId was executed

Definition at line 567 of file GPMSA.C.

References queso_require_less_msg, and queso_require_msg.

569 {
570  queso_require_less_msg(simulationId, m_simulationParameters.size(), "simulationId is too large");
571 
572  queso_require_msg(m_simulationParameters[simulationId], "vector is NULL");
573 
574  return *(this->m_simulationParameters[simulationId]);
575 }
#define queso_require_less_msg(expr1, expr2, msg)
Definition: asserts.h:75
#define queso_require_msg(asserted, msg)
Definition: asserts.h:69
std::vector< V * > m_simulationParameters
Definition: GPMSA.h:320
template<class V , class M >
const std::vector< V * > & QUESO::GPMSAFactory< V, M >::simulationParameters ( ) const

Return all points in parameterSpace for all simulations.

This returns all points in parameter space at which simulations were executed

Definition at line 579 of file GPMSA.C.

580 {
581  return this->m_simulationParameters;
582 }
std::vector< V * > m_simulationParameters
Definition: GPMSA.h:320
template<class V , class M >
const V & QUESO::GPMSAFactory< V, M >::simulationScenario ( unsigned int  simulationId) const

Return the point in scenarioSpace for simulation simulationId.

This returns the point in scenario space at which simulation simulationId was executed

Definition at line 548 of file GPMSA.C.

References queso_require_less_msg, and queso_require_msg.

550 {
551  queso_require_less_msg(simulationId, m_simulationScenarios.size(), "simulationId is too large");
552 
553  queso_require_msg(m_simulationScenarios[simulationId], "vector is NULL");
554 
555  return *(this->m_simulationScenarios[simulationId]);
556 }
#define queso_require_less_msg(expr1, expr2, msg)
Definition: asserts.h:75
std::vector< V * > m_simulationScenarios
Definition: GPMSA.h:319
#define queso_require_msg(asserted, msg)
Definition: asserts.h:69
template<class V , class M >
const std::vector< V * > & QUESO::GPMSAFactory< V, M >::simulationScenarios ( ) const

Return all points in scenarioSpace for all simulations.

This returns all points in scenario space at which simulations were executed

Definition at line 560 of file GPMSA.C.

561 {
562  return this->m_simulationScenarios;
563 }
std::vector< V * > m_simulationScenarios
Definition: GPMSA.h:319

Friends And Related Function Documentation

template<class V = GslVector, class M = GslMatrix>
std::ostream& operator<< ( std::ostream &  os,
const GPMSAFactory< V, M > &  obj 
)
friend

Definition at line 300 of file GPMSA.h.

302  {
303  obj.print(os);
304  return os;
305  }

Member Data Documentation

template<class V = GslVector, class M = GslMatrix>
bool QUESO::GPMSAFactory< V, M >::allocated_m_opts
private

Definition at line 454 of file GPMSA.h.

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

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<M>::Type QUESO::GPMSAFactory< V, M >::BT_Wy_B_inv

Definition at line 447 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BoxSubset<V, M> >::Type QUESO::GPMSAFactory< V, M >::discrepancyCorrelationDomain

Definition at line 386 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::discrepancyCorrelationMax

Definition at line 385 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::discrepancyCorrelationMin

Definition at line 384 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<VectorSpace<V, M> >::Type QUESO::GPMSAFactory< V, M >::discrepancyCorrelationSpace

Definition at line 383 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BoxSubset<V, M> >::Type QUESO::GPMSAFactory< V, M >::discrepancyPrecisionDomain

Definition at line 380 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::discrepancyPrecisionMax

Definition at line 379 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::discrepancyPrecisionMin

Definition at line 378 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BoxSubset<V, M> >::Type QUESO::GPMSAFactory< V, M >::emulatorCorrelationDomain

Definition at line 369 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::emulatorCorrelationMax

Definition at line 368 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::emulatorCorrelationMin

Definition at line 367 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<VectorSpace<V, M> >::Type QUESO::GPMSAFactory< V, M >::emulatorCorrelationSpace

Definition at line 366 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BoxSubset<V, M> >::Type QUESO::GPMSAFactory< V, M >::emulatorDataPrecisionDomain

Definition at line 391 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::emulatorDataPrecisionMax

Definition at line 390 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::emulatorDataPrecisionMin

Definition at line 389 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BoxSubset<V, M> >::Type QUESO::GPMSAFactory< V, M >::emulatorMeanDomain

Definition at line 357 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::emulatorMeanMax

Definition at line 356 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::emulatorMeanMin

Definition at line 355 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BoxSubset<V, M> >::Type QUESO::GPMSAFactory< V, M >::emulatorPrecisionDomain

Definition at line 363 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::emulatorPrecisionMax

Definition at line 362 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::emulatorPrecisionMin

Definition at line 361 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<VectorSpace<V, M> >::Type QUESO::GPMSAFactory< V, M >::emulatorPrecisionSpace

Definition at line 360 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<GPMSAEmulator<V, M> >::Type QUESO::GPMSAFactory< V, M >::gpmsaEmulator

Definition at line 426 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<M>::Type QUESO::GPMSAFactory< V, M >::K

Definition at line 442 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<M>::Type QUESO::GPMSAFactory< V, M >::KT_K_inv

Definition at line 450 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<M>::Type QUESO::GPMSAFactory< V, M >::m_BMatrix

Definition at line 439 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
bool QUESO::GPMSAFactory< V, M >::m_constructedGP

Definition at line 427 of file GPMSA.h.

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

Definition at line 328 of file GPMSA.h.

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

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BetaVectorRV<V, M> >::Type QUESO::GPMSAFactory< V, M >::m_discrepancyCorrelationStrength

Definition at line 408 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_discrepancyCorrelationStrengthAlphaVec

Definition at line 420 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_discrepancyCorrelationStrengthBetaVec

Definition at line 421 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
std::vector<M> QUESO::GPMSAFactory< V, M >::m_discrepancyMatrices

Definition at line 437 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<GammaVectorRV<V, M> >::Type QUESO::GPMSAFactory< V, M >::m_discrepancyPrecision

Definition at line 407 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_discrepancyPrecisionScaleVec

Definition at line 419 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_discrepancyPrecisionShapeVec

Definition at line 418 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BetaVectorRV<V, M> >::Type QUESO::GPMSAFactory< V, M >::m_emulatorCorrelationStrength

Definition at line 406 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_emulatorCorrelationStrengthAlphaVec

Definition at line 416 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_emulatorCorrelationStrengthBetaVec

Definition at line 417 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<GammaVectorRV<V, M> >::Type QUESO::GPMSAFactory< V, M >::m_emulatorDataPrecision

Definition at line 409 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_emulatorDataPrecisionScaleVec

Definition at line 423 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_emulatorDataPrecisionShapeVec

Definition at line 422 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<UniformVectorRV<V, M> >::Type QUESO::GPMSAFactory< V, M >::m_emulatorMean

Definition at line 403 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<GammaVectorRV<V, M> >::Type QUESO::GPMSAFactory< V, M >::m_emulatorPrecision

Definition at line 404 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_emulatorPrecisionScaleVec

Definition at line 413 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_emulatorPrecisionShapeVec

Definition at line 412 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
const BaseEnvironment& QUESO::GPMSAFactory< V, M >::m_env

Definition at line 307 of file GPMSA.h.

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

template<class V = GslVector, class M = GslMatrix>
const M* QUESO::GPMSAFactory< V, M >::m_experimentErrors

Definition at line 333 of file GPMSA.h.

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

Definition at line 323 of file GPMSA.h.

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

Definition at line 314 of file GPMSA.h.

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

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

Definition at line 322 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
unsigned int QUESO::GPMSAFactory< V, M >::m_numExperimentAdds

Definition at line 337 of file GPMSA.h.

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

Definition at line 317 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
unsigned int QUESO::GPMSAFactory< V, M >::m_numSimulationAdds

Definition at line 336 of file GPMSA.h.

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

Definition at line 316 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<GammaVectorRV<V, M> >::Type QUESO::GPMSAFactory< V, M >::m_observationalPrecision

Definition at line 405 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_observationalPrecisionScaleVec

Definition at line 415 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::m_observationalPrecisionShapeVec

Definition at line 414 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
std::vector<M> QUESO::GPMSAFactory< V, M >::m_observationErrorMatrices

Definition at line 330 of file GPMSA.h.

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

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<M>::Type QUESO::GPMSAFactory< V, M >::m_observationErrorMatrix

Definition at line 430 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
GPMSAOptions* QUESO::GPMSAFactory< V, M >::m_opts
private

Definition at line 455 of file GPMSA.h.

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

template<class V = GslVector, class M = GslMatrix>
const BaseVectorRV<V, M>& QUESO::GPMSAFactory< V, M >::m_parameterPrior

Definition at line 309 of file GPMSA.h.

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

Definition at line 312 of file GPMSA.h.

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

Definition at line 311 of file GPMSA.h.

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

Definition at line 321 of file GPMSA.h.

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

Definition at line 313 of file GPMSA.h.

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

Definition at line 320 of file GPMSA.h.

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

Definition at line 319 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<ConcatenatedVectorRV<V, M> >::Type QUESO::GPMSAFactory< V, M >::m_totalPrior

Definition at line 410 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<M>::Type QUESO::GPMSAFactory< V, M >::m_TruncatedSVD_simulationOutputs

Definition at line 435 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BoxSubset<V, M> >::Type QUESO::GPMSAFactory< V, M >::observationalPrecisionDomain

Definition at line 375 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::observationalPrecisionMax

Definition at line 374 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::observationalPrecisionMin

Definition at line 373 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<VectorSpace<V, M> >::Type QUESO::GPMSAFactory< V, M >::observationalPrecisionSpace

Definition at line 372 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<VectorSpace<V, M> >::Type QUESO::GPMSAFactory< V, M >::oneDSpace

Definition at line 352 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
std::vector<const BaseVectorRV<V, M> *> QUESO::GPMSAFactory< V, M >::priors

Definition at line 400 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::residual

Definition at line 444 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::simulationOutputMeans

Definition at line 326 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<BoxSubset<V, M> >::Type QUESO::GPMSAFactory< V, M >::totalDomain

Definition at line 398 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::totalMaxs

Definition at line 396 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<V>::Type QUESO::GPMSAFactory< V, M >::totalMins

Definition at line 395 of file GPMSA.h.

template<class V = GslVector, class M = GslMatrix>
ScopedPtr<VectorSpace<V, M> >::Type QUESO::GPMSAFactory< V, M >::totalSpace

Definition at line 394 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