25 #ifndef UQ_GPMSA_HELPER_H 
   26 #define UQ_GPMSA_HELPER_H 
   30 #include <queso/Environment.h> 
   31 #include <queso/ScalarFunction.h> 
   32 #include <queso/VectorSpace.h> 
   33 #include <queso/VectorRV.h> 
   34 #include <queso/ConcatenatedVectorRV.h> 
   35 #include <queso/GammaVectorRV.h> 
   36 #include <queso/BetaVectorRV.h> 
   37 #include <queso/UniformVectorRV.h> 
   38 #include <queso/GPMSAOptions.h> 
   45 template <
class V = GslVector, 
class M = GslMatrix>
 
   66   virtual double lnValue(
const V & domainVector,
 
   67                          const V * domainDirection,
 
   70                          V * hessianEffect) 
const;
 
   73                              const V * domainDirection,
 
   76                              V * hessianEffect) 
const;
 
   98 template <
class V = GslVector, 
class M = GslMatrix>
 
  224                      V & simulationParameter,
 
  225                      V & simulationOutput);
 
  233                       const std::vector<V *> & simulationParameters,
 
  234                       const std::vector<V *> & simulationOutputs);
 
  247                       const std::vector<V *> & experimentOutputs,
 
  248                       const M * experimentErrors);
 
  252   void print(std::ostream& os) 
const;
 
  336   std::vector<const BaseVectorRV<V, M> *> 
priors;
 
  369 #endif // UQ_GPMSA_HELPER_H 
const std::vector< V * > & experimentOutputs() const 
Return all points in experimentOutputSpace for all experiments. 
 
const M & m_experimentErrors
 
BoxSubset< V, M > * emulatorPrecisionDomain
 
VectorSpace< V, M > * totalSpace
 
GammaVectorRV< V, M > * m_emulatorPrecision
 
ConcatenatedVectorRV< V, M > * m_totalPrior
 
This class defines the options that specify the behaviour of the Gaussian process emulator...
 
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 M &m_experimentErrors, const ConcatenatedVectorRV< V, M > &m_totalPrior)
 
void addExperiments(const std::vector< V * > &experimentScenarios, const std::vector< V * > &experimentOutputs, const M *experimentErrors)
Add all experiments to this. 
 
const V & experimentScenario(unsigned int experimentId) const 
Return the point in scenarioSpace for experiment experimentId. 
 
unsigned int m_numExperiments
 
GPMSAEmulator< V, M > * gpmsaEmulator
 
VectorSpace< V, M > * oneDSpace
 
friend std::ostream & operator<<(std::ostream &os, const GPMSAFactory< V, M > &obj)
 
A templated class for handling sets. 
 
UniformVectorRV< V, M > * m_emulatorMean
 
const VectorSpace< V, M > & simulationOutputSpace() const 
Return the vector space in which simulations live. 
 
const std::vector< V * > & m_simulationParameters
 
const VectorSpace< V, M > & parameterSpace() const 
Return the vector space in which parameters live. 
 
V * m_emulatorPrecisionShapeVec
 
const VectorSpace< V, M > & m_simulationOutputSpace
 
A templated base class for handling vector RV. 
 
GPMSAFactory(const BaseEnvironment &env, GPMSAOptions *opts, const BaseVectorRV< V, M > ¶meterPrior, const VectorSpace< V, M > &scenarioSpace, const VectorSpace< V, M > ¶meterSpace, const VectorSpace< V, M > &simulationOutputSpace, const VectorSpace< V, M > &experimentOutputSpace, unsigned int numSimulations, unsigned int numExperiments)
Constructor. 
 
VectorSpace< V, M > * discrepancyCorrelationSpace
 
const V & simulationScenario(unsigned int simulationId) const 
Return the point in scenarioSpace for simulation simulationId. 
 
V * discrepancyCorrelationMin
 
const BaseEnvironment & m_env
 
const VectorSpace< V, M > & m_experimentOutputSpace
 
const std::vector< V * > & m_experimentOutputs
 
~GPMSAFactory()
Destructor. 
 
const std::vector< V * > & simulationParameters() const 
Return all points in parameterSpace for all simulations. 
 
V * m_discrepancyCorrelationStrengthAlphaVec
 
const unsigned int m_numExperiments
 
virtual double actualValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const 
Actual value of the scalar function. 
 
GammaVectorRV< V, M > * m_discrepancyPrecision
 
const VectorSpace< V, M > & scenarioSpace() const 
Return the vector space in which scenarios live. 
 
V * emulatorDataPrecisionMin
 
V * discrepancyPrecisionMax
 
V * m_discrepancyPrecisionShapeVec
 
A class representing a vector RV constructed via Beta distribution. 
 
std::vector< V * > m_simulationOutputs
 
const BaseVectorRV< V, M > & m_parameterPrior
 
const V & experimentOutput(unsigned int experimentId) const 
Return the experiment output for experiment experimentId. 
 
const std::vector< V * > & simulationScenarios() const 
Return all points in scenarioSpace for all simulations. 
 
const std::vector< V * > & m_simulationOutputs
 
A templated (base) class for handling scalar functions. 
 
const M * m_experimentErrors
 
unsigned int numSimulations() const 
Return number of simulations. 
 
void addSimulations(const std::vector< V * > &simulationScenarios, const std::vector< V * > &simulationParameters, const std::vector< V * > &simulationOutputs)
Adds multiple simulations to this. 
 
virtual double lnValue(const V &domainVector, const V *domainDirection, V *gradVector, M *hessianMatrix, V *hessianEffect) const 
Logarithm of the value of the scalar function. 
 
const VectorSpace< V, M > & m_scenarioSpace
 
V * m_discrepancyPrecisionScaleVec
 
A class representing a vector RV constructed via Gamma distribution. 
 
V * emulatorDataPrecisionMax
 
const unsigned int m_numSimulations
 
const VectorSpace< V, M > & m_parameterSpace
 
const VectorSpace< V, M > & m_simulationOutputSpace
 
const ConcatenatedVectorRV< V, M > & m_totalPrior
 
V * m_emulatorCorrelationStrengthAlphaVec
 
BoxSubset< V, M > * discrepancyPrecisionDomain
 
const std::vector< V * > & m_simulationScenarios
 
BetaVectorRV< V, M > * m_discrepancyCorrelationStrength
 
unsigned int m_numExperimentAdds
 
std::vector< V * > m_simulationScenarios
 
V * emulatorCorrelationMin
 
V * discrepancyCorrelationMax
 
const std::vector< V * > & simulationOutputs() const 
Return all points in simulationOutputSpace for all simulations. 
 
const std::vector< V * > & experimentScenarios() const 
Return all points in scenarioSpace for all experiments. 
 
const VectorSpace< V, M > & experimentOutputSpace() const 
Return the vector space in which experiments live. 
 
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
 
const ConcatenatedVectorRV< V, M > & prior() const 
 
const VectorSpace< V, M > & m_parameterSpace
 
BoxSubset< V, M > * totalDomain
 
void addSimulation(V &simulationScenario, V &simulationParameter, V &simulationOutput)
Add a simulation to this. 
 
std::vector< V * > m_experimentOutputs
 
V * discrepancyPrecisionMin
 
const BaseEnvironment & env() const 
Return the QUESO environment. 
 
unsigned int numExperiments() const 
Return number of experiments. 
 
BoxSubset< V, M > * emulatorMeanDomain
 
const M & experimentErrors() const 
Return all observation error covarince matrices for all experiments. 
 
BoxSubset< V, M > * emulatorDataPrecisionDomain
 
unsigned int m_numSimulations
 
const GPMSAEmulator< V, M > & getGPMSAEmulator() const 
Return the GPMSAEmulator likelihood object. 
 
VectorSpace< V, M > * emulatorCorrelationSpace
 
A class representing a uniform vector RV. 
 
V * m_emulatorDataPrecisionShapeVec
 
V * m_emulatorCorrelationStrengthBetaVec
 
GammaVectorRV< V, M > * m_emulatorDataPrecision
 
std::vector< const BaseVectorRV< V, M > * > priors
 
V * m_emulatorPrecisionScaleVec
 
V * m_emulatorDataPrecisionScaleVec
 
Class representing a subset of a vector space shaped like a hypercube. 
 
BoxSubset< V, M > * discrepancyCorrelationDomain
 
const VectorSpace< V, M > & m_experimentOutputSpace
 
A class representing concatenated vector RVs. 
 
std::vector< V * > m_simulationParameters
 
A class representing a vector space. 
 
const V & simulationOutput(unsigned int simulationId) const 
Return the simulation output for simulation simulationId. 
 
V * emulatorCorrelationMax
 
const VectorSpace< V, M > & m_scenarioSpace
 
void print(std::ostream &os) const 
 
BetaVectorRV< V, M > * m_emulatorCorrelationStrength
 
unsigned int m_numSimulationAdds
 
const std::vector< V * > & m_experimentScenarios
 
BoxSubset< V, M > * emulatorCorrelationDomain
 
std::vector< V * > m_experimentScenarios
 
const V & simulationParameter(unsigned int simulationId) const 
Return the point in parameterSpace for simulation simulationId. 
 
V * m_discrepancyCorrelationStrengthBetaVec