28 #include <queso/GpmsaComputerModelOptions.h>
29 #include <queso/ExperimentStorage.h>
30 #include <queso/ExperimentModel.h>
31 #include <queso/SimulationStorage.h>
32 #include <queso/SimulationModel.h>
33 #include <queso/GcmSimulationInfo.h>
34 #include <queso/GcmExperimentInfo.h>
35 #include <queso/GcmJointInfo.h>
36 #include <queso/GcmZInfo.h>
37 #include <queso/GcmTotalInfo.h>
38 #include <queso/GcmSimulationTildeInfo.h>
39 #include <queso/GcmJointTildeInfo.h>
40 #include <queso/GcmZTildeInfo.h>
41 #include <queso/VectorRV.h>
42 #include <queso/InstantiateIntersection.h>
43 #include <queso/Miscellaneous.h>
50 template <
class S_V = GslVector,
class S_M = GslMatrix,
class D_V = GslVector,
51 class D_M = GslMatrix,
class P_V = GslVector,
class P_M = GslMatrix,
52 class Q_V = GslVector,
class Q_M = GslMatrix>
66 const P_V& totalInitialValues,
67 const P_M* totalInitialProposalCovMatrix);
69 const P_V& totalInitialValues,
70 const P_M* totalInitialProposalCovMatrix);
79 const P_V& newParameterVec,
90 const P_V& newParameterVec,
91 const P_V* forcingSampleVecForDebug,
95 const D_M& newKmat_interp,
97 D_V& simulationOutputMeanVec,
98 D_V& discrepancyMeanVec);
100 const P_V& newParameterVec,
101 Q_V& simulationOutputMeanVec);
108 void print (std::ostream& os)
const;
120 const P_V* totalDirection,
121 const void* functionDataPtr,
129 const P_V* totalDirection,
130 const void* functionDataPtr,
139 const P_V& input_2lambdaWVec,
140 const P_V& input_3rhoWVec,
141 const P_V& input_4lambdaSVec,
142 const P_V& input_5lambdaYVec,
143 const P_V& input_6lambdaVVec,
144 const P_V& input_7rhoVVec,
145 const P_V& input_8thetaVec,
146 unsigned int outerCounter);
148 const P_V& input_2lambdaWVec,
149 const P_V& input_3rhoWVec,
150 const P_V& input_4lambdaSVec,
151 unsigned int outerCounter);
157 const P_V& input_2lambdaWVec,
158 const P_V& input_3rhoWVec,
159 const P_V& input_4lambdaSVec,
160 const P_V& input_5lambdaYVec,
161 const P_V& input_6lambdaVVec,
162 const P_V& input_7rhoVVec,
163 const P_V& input_8thetaVec,
164 unsigned int outerCounter);
173 const P_V& input_3rhoWVec,
174 const P_V& input_4lambdaSVec,
175 const P_V& input_6lambdaVVec,
176 const P_V& input_7rhoVVec,
177 const P_V& input_8thetaVec,
178 unsigned int outerCounter);
180 const P_V& input_3rhoWVec,
181 const P_V& input_4lambdaSVec,
182 unsigned int outerCounter);
186 const P_V& input_2lambdaWVec,
187 const P_V& input_3rhoWVec,
188 const P_V& input_4lambdaSVec,
189 const P_V& input_8thetaVec,
190 unsigned int outerCounter);
193 const P_V& rho_v_vec,
195 unsigned int outerCounter);
198 const P_V& rho_w_vec,
200 unsigned int outerCounter);
205 const std::vector<const P_V* >& tVecs,
206 const P_V& rho_w_vec,
208 unsigned int outerCounter);
211 const std::vector<const S_V* >& xVecs2,
212 const std::vector<const P_V* >& tVecs2,
213 const P_V& rho_w_vec,
215 unsigned int outerCounter);
218 const std::vector<const P_V* >& tVecs1,
221 const P_V& rho_v_vec,
223 unsigned int outerCounter);
225 const std::vector<const P_V* >& tVecs1,
228 const P_V& rho_w_vec,
230 unsigned int outerCounter);
232 const std::vector<const P_V* >& tVecs1,
235 const P_V& rho_w_vec,
237 unsigned int outerCounter);
239 const std::vector<const P_V* >& tVecs1,
242 const P_V& rho_w_vec,
244 unsigned int outerCounter);
const GcmOptionsValues * m_optionsObj
GcmJointInfo< S_V, S_M, D_V, D_M, P_V, P_M, Q_V, Q_M > * m_j
const BaseVectorRV< P_V, P_M > & totalPriorRv() const
void predictSimulationOutputs(const S_V &newScenarioVec, const P_V &newParameterVec, Q_V &simulationOutputMeanVec)
void memoryCheck(unsigned int codePositionId)
GcmJointTildeInfo< S_V, S_M, D_V, D_M, P_V, P_M, Q_V, Q_M > * m_jt
BaseScalarFunction< P_V, P_M > * m_likelihoodFunction
bool m_thereIsExperimentalData
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
void fillR_formula1_for_Sigma_w_hat_u_asterisk(const std::vector< const S_V * > &xVecs1, const std::vector< const P_V * > &tVecs1, const S_V &xVec2, const P_V &tVec2, const P_V &rho_w_vec, D_M &Rmat, unsigned int outerCounter)
void formSigma_z_hat(const P_V &input_1lambdaEtaVec, const P_V &input_2lambdaWVec, const P_V &input_3rhoWVec, const P_V &input_4lambdaSVec, const P_V &input_5lambdaYVec, const P_V &input_6lambdaVVec, const P_V &input_7rhoVVec, const P_V &input_8thetaVec, unsigned int outerCounter)
void calibrateWithBayesMLSampling()
void fillR_formula1_for_Sigma_uw(const std::vector< const S_V * > &xVecs1, const P_V &tVec1, const std::vector< const S_V * > &xVecs2, const std::vector< const P_V * > &tVecs2, const P_V &rho_w_vec, D_M &Rmat, unsigned int outerCounter)
GcmSimulationInfo< S_V, S_M, P_V, P_M, Q_V, Q_M > * m_s
void calibrateWithLanlMcmc(const MhOptionsValues *alternativeOptionsValues, const P_V &totalInitialValues, const P_M *totalInitialProposalCovMatrix)
Struct for handling data input and output from files.
void formSigma_z_tilde_hat(const P_V &input_1lambdaEtaVec, const P_V &input_2lambdaWVec, const P_V &input_3rhoWVec, const P_V &input_4lambdaSVec, const P_V &input_5lambdaYVec, const P_V &input_6lambdaVVec, const P_V &input_7rhoVVec, const P_V &input_8thetaVec, unsigned int outerCounter)
GcmTotalInfo< S_V, S_M, D_V, D_M, P_V, P_M, Q_V, Q_M > * m_t
void calibrateWithBayesMetropolisHastings(const MhOptionsValues *alternativeOptionsValues, const P_V &totalInitialValues, const P_M *totalInitialProposalCovMatrix)
GcmSimulationTildeInfo< S_V, S_M, P_V, P_M, Q_V, Q_M > * m_st
unsigned int m_like_counter
void formSigma_w_hat(const P_V &input_1lambdaEtaVec, const P_V &input_2lambdaWVec, const P_V &input_3rhoWVec, const P_V &input_4lambdaSVec, const P_V &input_8thetaVec, unsigned int outerCounter)
FilePtrSetStruct m_dataOutputFilePtrSet
friend std::ostream & operator<<(std::ostream &os, const GpmsaComputerModel< S_V, S_M, D_V, D_M, P_V, P_M, Q_V, Q_M > &obj)
void fillR_formula1_for_Sigma_u(const std::vector< const S_V * > &xVecs, const P_V &tVec, const P_V &rho_w_vec, D_M &Rmat, unsigned int outerCounter)
GcmExperimentInfo< S_V, S_M, D_V, D_M, P_V, P_M > * m_e
static double staticLikelihoodRoutine(const P_V &totalValues, const P_V *totalDirection, const void *functionDataPtr, P_V *gradVector, P_M *hessianMatrix, P_V *hessianEffect)
void fillR_formula1_for_Sigma_w_hat_w_asterisk(const std::vector< const S_V * > &xVecs1, const std::vector< const P_V * > &tVecs1, const S_V &xVec2, const P_V &tVec2, const P_V &rho_w_vec, D_M &Rmat, unsigned int outerCounter)
GcmZInfo< S_V, S_M, D_V, D_M, P_V, P_M, Q_V, Q_M > * m_z
const BaseEnvironment & m_env
const VectorSpace< P_V, P_M > & unique_vu_space() const
void print(std::ostream &os) const
double likelihoodRoutine(const P_V &totalValues, const P_V *totalDirection, const void *functionDataPtr, P_V *gradVector, P_M *hessianMatrix, P_V *hessianEffect)
void fillR_formula1_for_Sigma_w(const std::vector< const S_V * > &xVecs, const std::vector< const P_V * > &tVecs, const P_V &rho_w_vec, D_M &Rmat, unsigned int outerCounter)
const GenericVectorRV< P_V, P_M > & totalPostRv() const
GpmsaComputerModel(const char *prefix, const GcmOptionsValues *alternativeOptionsValues, const SimulationStorage< S_V, S_M, P_V, P_M, Q_V, Q_M > &simulationStorage, const SimulationModel< S_V, S_M, P_V, P_M, Q_V, Q_M > &simulationModel, const ExperimentStorage< S_V, S_M, D_V, D_M > *experimentStorage, const ExperimentModel< S_V, S_M, D_V, D_M > *experimentModel, const BaseVectorRV< P_V, P_M > *thetaPriorRv)
bool m_allOutputsAreScalar
void predictVUsAtGridPoint(const S_V &newScenarioVec, const P_V &newParameterVec, P_V &vuMeanVec, P_M &vuCovMatrix, P_V &vMeanVec, P_M &vCovMatrix, P_V &uMeanVec, P_M &uCovMatrix)
This class provides options for the Metropolis-Hastings generator of samples if no input file is avai...
void formSigma_z(const P_V &input_2lambdaWVec, const P_V &input_3rhoWVec, const P_V &input_4lambdaSVec, const P_V &input_6lambdaVVec, const P_V &input_7rhoVVec, const P_V &input_8thetaVec, unsigned int outerCounter)
void fillR_formula1_for_Sigma_u_hat_u_asterisk(const std::vector< const S_V * > &xVecs1, const std::vector< const P_V * > &tVecs1, const S_V &xVec2, const P_V &tVec2, const P_V &rho_w_vec, D_M &Rmat, unsigned int outerCounter)
void fillR_formula2_for_Sigma_v(const std::vector< const S_V * > &xVecs, const P_V &rho_v_vec, D_M &Rmat, unsigned int outerCounter)
bool m_cMatIsRankDefficient
void predictWsAtGridPoint(const S_V &newScenarioVec, const P_V &newParameterVec, const P_V *forcingSampleVecForDebug, P_V &wMeanVec, P_M &wCovMatrix)
void fillR_formula2_for_Sigma_v_hat_v_asterisk(const std::vector< const S_V * > &xVecs1, const std::vector< const P_V * > &tVecs1, const S_V &xVec2, const P_V &tVec2, const P_V &rho_v_vec, D_M &Rmat, unsigned int outerCounter)
GcmZTildeInfo< S_V, S_M, D_V, D_M, P_V, P_M, Q_V, Q_M > * m_zt
const VectorSpace< P_V, P_M > & totalSpace() const
void predictExperimentResults(const S_V &newScenarioVec, const D_M &newKmat_interp, const D_M &newDmat, D_V &simulationOutputMeanVec, D_V &discrepancyMeanVec)