27 #include <queso/GpmsaComputerModel.h> 
   28 #include <queso/GenericScalarFunction.h> 
   29 #include <queso/SequentialVectorRealizer.h> 
   30 #include <queso/GslVector.h> 
   31 #include <queso/GslMatrix.h> 
   32 #include <queso/BayesianJointPdf.h> 
   36 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
   47   m_env                     (simulationStorage.env()),
 
   48   m_optionsObj              (alternativeOptionsValues),
 
   57   m_thereIsExperimentalData ((experimentStorage != NULL) && (experimentModel != NULL) && (thetaPriorRv != NULL)),
 
   58   m_allOutputsAreScalar     (simulationStorage.outputSpace().dimLocal() == 1), 
 
   60   m_cMatIsRankDefficient    (false),
 
   61   m_likelihoodFunction      (NULL),
 
   65     *
m_env.
subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
   66                             << 
": prefix = "                       << prefix
 
   67                             << 
", alternativeOptionsValues = "     << alternativeOptionsValues
 
   73   if ((experimentStorage == NULL) &&
 
   74       (experimentModel   == NULL) &&
 
   75       (thetaPriorRv      == NULL)) {
 
   81   else if ((experimentStorage != NULL) &&
 
   82            (experimentModel   != NULL) &&
 
   83            (thetaPriorRv      != NULL)) {
 
   97     *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
   98                             << 
": prefix = "                << prefix
 
  120     *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  121                             << 
": prefix = "        << prefix
 
  183     *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  184                             << 
": finished instantiating m_s" 
  185                             << 
", experimentStorage = " << experimentStorage
 
  186                             << 
", experimentModel = "   << experimentModel
 
  187                             << 
", thetaPriorRv = "      << thetaPriorRv
 
  195       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  196                               << 
": about to instantiate m_e" 
  206       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  207                               << 
": finished instantiating m_e" 
  216       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  217                               << 
": finished instantiating m_j" 
  221     if (m_allOutputsAreScalar) {
 
  234       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  235                               << 
": finished instantiating m_z" 
  242       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  243                               << 
": finished instantiating m_t" 
  249       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  250                               << 
": about to instantiate m_z (no experiments)" 
  258       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  259                               << 
": finished instantiating m_z (no experiments)" 
  265       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  266                               << 
": finished instantiating m_t (no experiments)" 
  272     *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  273                             << 
": finished instantiating non-tilde auxiliary structures" 
  286       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  287                               << 
": m_z->m_Cmat_rank = "       << 
m_z->m_Cmat_rank
 
  288                               << 
", m_z->m_Cmat = "            << 
m_z->m_Cmat
 
  289                               << 
", m_z->m_Cmat->numCols() = " << 
m_z->m_Cmat->numCols()
 
  320           m_zt = 
new GcmZTildeInfo<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>(*gpmsaComputerModelOptions,*
m_j,*
m_z,*
m_st,*
m_jt);
 
  323           queso_error_msg(
"incomplete code for the situation 'm_useTildeLogicForRankDefficientC == true' and 'm_thereIsExperimentalData == false'");
 
  337           queso_error_msg(
"incomplete code for the situation 'm_useTildeLogicForRankDefficientC == false' and 'm_thereIsExperimentalData == false'");
 
  349       *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  350                               << 
": finished instantiating tilde auxiliary structures" 
  380     *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  381                             << 
": finished generating prior sequence" 
  398     *
m_env.
subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  399                             << 
": finished instantiating likelihood Function" 
  406   delete gpmsaComputerModelOptions;
 
  412     *
m_env.
subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::constructor()" 
  418 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  421   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  422     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::destructor()..." 
  435   delete m_dataOutputFilePtrSet.ofsVar;
 
  436   if (m_optionsObj) 
delete m_optionsObj;
 
  438   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  439     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::destructor()" 
  444 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  448   const P_V&                    totalInitialValues,
 
  449   const P_M*                    totalInitialProposalCovMatrix)
 
  451   struct timeval timevalBegin;
 
  452   gettimeofday(&timevalBegin, NULL);
 
  454   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  455     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithBayesMetropolisHastings()..." 
  456                             << 
": m_optionsObj->m_prefix.c_str() = " << m_optionsObj->m_prefix.c_str()
 
  457                             << 
", m_env.subComm().NumProc() = "      << m_env.subComm().NumProc()
 
  458                             << 
", my subRank = "                     << m_env.subRank()
 
  459                             << 
", totalInitialValues = "             << totalInitialValues
 
  463   m_env.fullComm().Barrier();
 
  464   m_env.fullComm().syncPrintDebugMsg(
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithBayesMetropolisHastings()",1,3000000);
 
  466   queso_require_equal_to_msg(m_t->m_totalPriorRv.imageSet().vectorSpace().dimLocal(), totalInitialValues.sizeLocal(), 
"'m_totalPriorRv' and 'totalInitialValues' should have equal dimensions");
 
  468   if (totalInitialProposalCovMatrix) {
 
  469     queso_require_equal_to_msg(m_t->m_totalPriorRv.imageSet().vectorSpace().dimLocal(), totalInitialProposalCovMatrix->numRowsLocal(), 
"'m_totalPriorRv' and 'totalInitialProposalCovMatrix' should have equal dimensions");
 
  470     queso_require_equal_to_msg(totalInitialProposalCovMatrix->numCols(), totalInitialProposalCovMatrix->numRowsGlobal(), 
"'totalInitialProposalCovMatrix' should be a square matrix");
 
  474   P_V currPosition (totalInitialValues);
 
  475   currPosition.cwSet(0.);
 
  476   P_V epsilonVector             (currPosition);
 
  477   P_V plusVectorOfLnLikelihoods (currPosition);
 
  478   P_V minusVectorOfLnLikelihoods(currPosition);
 
  479   P_V deltaVectorOfLnLikelihoods(currPosition);
 
  480   P_V vectorOfLnAbsGrads        (currPosition);
 
  482   currPosition = totalInitialValues;
 
  483   double referenceValue = staticLikelihoodRoutine(currPosition,
 
  490   for (
unsigned int paramId = 0; paramId < totalInitialValues.sizeLocal(); ++paramId) {
 
  491     currPosition = totalInitialValues;
 
  492     epsilonVector[paramId] = 1.e-8 * totalInitialValues[paramId];
 
  493     if (epsilonVector[paramId] == 0.) epsilonVector[paramId] = 1.e-8;
 
  495     currPosition[paramId] = totalInitialValues[paramId] + epsilonVector[paramId];
 
  496     plusVectorOfLnLikelihoods[paramId] = staticLikelihoodRoutine(currPosition,
 
  503     currPosition[paramId] = totalInitialValues[paramId] - epsilonVector[paramId];
 
  504     minusVectorOfLnLikelihoods[paramId] = staticLikelihoodRoutine(currPosition,
 
  511     deltaVectorOfLnLikelihoods[paramId] = plusVectorOfLnLikelihoods[paramId] - minusVectorOfLnLikelihoods[paramId];
 
  512     if (deltaVectorOfLnLikelihoods[paramId] > 0.) {
 
  513       vectorOfLnAbsGrads[paramId] =  minusVectorOfLnLikelihoods[paramId] + std::log( std::exp( deltaVectorOfLnLikelihoods[paramId]) - 1. ) - std::log(2.*epsilonVector[paramId]);
 
  515     else if (deltaVectorOfLnLikelihoods[paramId] == 0.) {
 
  516       vectorOfLnAbsGrads[paramId] = -INFINITY;
 
  519       vectorOfLnAbsGrads[paramId] =  plusVectorOfLnLikelihoods [paramId] + std::log( std::exp(-deltaVectorOfLnLikelihoods[paramId]) - 1. ) - std::log(2.*epsilonVector[paramId]);
 
  522   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  523     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithBayesMetropolisHastings()" 
  524                             << 
": referenceValue = "              << referenceValue
 
  525                             << 
"\n epsilonVector              = " << epsilonVector
 
  526                             << 
"\n plusVectorOfLnLikelihoods  = " << plusVectorOfLnLikelihoods
 
  527                             << 
"\n minusVectorOfLnLikelihoods = " << minusVectorOfLnLikelihoods
 
  528                             << 
"\n deltaVectorOfLnLikelihoods = " << deltaVectorOfLnLikelihoods
 
  529                             << 
"\n vectorOfLnAbsGrads         = " << vectorOfLnAbsGrads
 
  539   m_t->m_solutionDomain = 
InstantiateIntersection(m_t->m_totalPriorRv.pdf().domainSet(),m_likelihoodFunction->domainSet());
 
  546                                                             m_t->m_totalPriorRv.pdf(),
 
  547                                                             *m_likelihoodFunction,
 
  549                                                             *(m_t->m_solutionDomain));
 
  555   m_t->m_totalPostRv.setPdf(*(m_t->m_solutionPdf));
 
  569                                                                    alternativeOptionsValues,
 
  572                                                                    totalInitialProposalCovMatrix);
 
  591   m_t->m_totalPostRv.setRealizer(*(m_t->m_solutionRealizer));
 
  596   m_env.fullComm().Barrier();
 
  599   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  600     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithBayesMetropolisHastings()..." 
  601                             << 
": m_optionsObj->m_prefix.c_str() = " << m_optionsObj->m_prefix.c_str()
 
  602                             << 
", m_env.subComm().NumProc() = "      << m_env.subComm().NumProc()
 
  603                             << 
", my subRank = "                     << m_env.subRank()
 
  604                             << 
", after "                            << totalTime
 
  612 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  616   const P_V&                    totalInitialValues,
 
  617   const P_M*                    totalInitialProposalCovMatrix)
 
  619   struct timeval timevalBegin;
 
  620   gettimeofday(&timevalBegin, NULL);
 
  622   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  623     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithLanlMcmc()..." 
  624                             << 
": m_optionsObj->m_prefix.c_str() = " << m_optionsObj->m_prefix.c_str()
 
  625                             << 
", m_env.subComm().NumProc() = "      << m_env.subComm().NumProc()
 
  626                             << 
", my subRank = "                     << m_env.subRank()
 
  627                             << 
", totalInitialValues = "             << totalInitialValues
 
  631   m_env.fullComm().Barrier();
 
  632   m_env.fullComm().syncPrintDebugMsg(
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithLanlMcmc()",1,3000000);
 
  636   m_env.fullComm().syncPrintDebugMsg(
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithLanlMcmc()",1,3000000);
 
  637   m_env.fullComm().Barrier();
 
  640   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  641     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithLanlMcmc()..." 
  642                             << 
": m_optionsObj->m_prefix.c_str() = " << m_optionsObj->m_prefix.c_str()
 
  643                             << 
", m_env.subComm().NumProc() = "      << m_env.subComm().NumProc()
 
  644                             << 
", my subRank = "                     << m_env.subRank()
 
  645                             << 
", after "                            << totalTime
 
  653 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  657   struct timeval timevalBegin;
 
  658   gettimeofday(&timevalBegin, NULL);
 
  660   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  661     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithBayesMLSampling()..." 
  662                             << 
": m_optionsObj->m_prefix.c_str() = " << m_optionsObj->m_prefix.c_str()
 
  663                             << 
", m_env.subComm().NumProc() = "      << m_env.subComm().NumProc()
 
  664                             << 
", my subRank = "                     << m_env.subRank()
 
  668   m_env.fullComm().Barrier();
 
  669   m_env.fullComm().syncPrintDebugMsg(
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithBayesMLSampling()",1,3000000);
 
  672   m_t->m_solutionDomain = 
InstantiateIntersection(m_t->m_totalPriorRv.pdf().domainSet(),m_likelihoodFunction->domainSet());
 
  679                                                             m_t->m_totalPriorRv.pdf(),
 
  680                                                             *m_likelihoodFunction,
 
  682                                                             *(m_t->m_solutionDomain));
 
  688   m_t->m_totalPostRv.setPdf(*(m_t->m_solutionPdf));
 
  703                                                     *m_likelihoodFunction);
 
  722   m_t->m_totalPostRv.setRealizer(*(m_t->m_solutionRealizer));
 
  724   m_env.fullComm().syncPrintDebugMsg(
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithBayesMLSampling()",1,3000000);
 
  725   m_env.fullComm().Barrier();
 
  728   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  729     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::calibrateWithBayesMLSampling()..." 
  730                             << 
": m_optionsObj->m_prefix.c_str() = " << m_optionsObj->m_prefix.c_str()
 
  731                             << 
", m_env.subComm().NumProc() = "      << m_env.subComm().NumProc()
 
  732                             << 
", my subRank = "                     << m_env.subRank()
 
  733                             << 
", after "                            << totalTime
 
  741 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  744   const S_V& newScenarioVec,
 
  745   const P_V& newParameterVec,
 
  753   struct timeval timevalBegin;
 
  754   gettimeofday(&timevalBegin, NULL);
 
  756   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  757     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictVUsAtGridPoint(1)" 
  758                             << 
", m_predVU_counter = " << m_j->m_predVU_counter
 
  759                             << 
", newScenarioVec = "   << newScenarioVec
 
  760                             << 
", newParameterVec = "  << newParameterVec
 
  770   queso_require_equal_to_msg(vuCovMatrix.numRowsLocal(), (m_e->m_paper_p_delta + m_s->m_paper_p_eta), 
"invalid 'vuCovMatrix.numRowsLocal()'");
 
  772   queso_require_equal_to_msg(vuCovMatrix.numCols(), (m_e->m_paper_p_delta + m_s->m_paper_p_eta), 
"invalid 'vuCovMatrix.numCols()'");
 
  786   if (m_optionsObj->m_predVUsBySamplingRVs) {
 
  789   if (m_optionsObj->m_predVUsBySummingRVs) {
 
  790     unsigned int numSamples = (
unsigned int) ((
double) m_t->m_totalPostRv.realizer().subPeriod())/((
double) m_optionsObj->m_predLag);
 
  791     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
  792       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictVUsAtGridPoint(1)" 
  793                               << 
": m_t->m_totalPostRv.realizer().subPeriod() = " << m_t->m_totalPostRv.realizer().subPeriod()
 
  794                               << 
", m_optionsObj->m_predLag = "              << m_optionsObj->m_predLag
 
  799     P_M mean_of_unique_vu_covMatrices(m_j->m_unique_vu_space.zeroVector());
 
  801     P_V totalSample(m_t->m_totalSpace.zeroVector());
 
  802     P_V muVec1     (m_z->m_z_space.zeroVector());
 
  803     P_V muVec2     (m_j->m_vu_space.zeroVector());
 
  804     P_M sigmaMat11 (m_z->m_z_space.zeroVector());
 
  805     P_M sigmaMat12 (m_env,muVec1.map(),muVec2.sizeGlobal());
 
  806     P_M sigmaMat21 (m_env,muVec2.map(),muVec1.sizeGlobal());
 
  807     P_M sigmaMat22 (m_j->m_vu_space.zeroVector());
 
  809     P_M here_Smat_z_hat_v_asterisk  (m_env, m_z->m_z_space.map(),        m_e->m_paper_p_delta);
 
  810     P_M here_Smat_z_hat_v_asterisk_t(m_env, m_e->m_unique_v_space.map(), m_z->m_z_size       );
 
  811     P_M here_Smat_z_hat_u_asterisk  (m_env, m_z->m_z_space.map(),        m_s->m_paper_p_eta  );
 
  812     P_M here_Smat_z_hat_u_asterisk_t(m_env, m_j->m_unique_u_space.map(), m_z->m_z_size       );
 
  817     std::vector<const P_M*> twoMats_uw(2,(P_M *)NULL);
 
  818     std::vector<const P_M*> twoMats_12(2,(P_M *)NULL);
 
  819     std::vector<const P_M*> twoMats_21(2,(P_M *)NULL);
 
  820     std::vector<const P_M*> twoMats_22(2,(P_M *)NULL);
 
  821     for (
unsigned int sampleId = 0; sampleId < numSamples; ++sampleId) {
 
  822       m_j->m_predVU_counter++;
 
  825         for (
unsigned int i = 1; i < m_optionsObj->m_predLag; ++i) { 
 
  826           m_t->m_totalPostRv.realizer().realization(totalSample);
 
  829       m_t->m_totalPostRv.realizer().realization(totalSample);
 
  831       unsigned int currPosition = 0;
 
  832       totalSample.cwExtract(currPosition,m_s->m_tmp_1lambdaEtaVec); 
 
  833       currPosition += m_s->m_tmp_1lambdaEtaVec.sizeLocal();
 
  834       totalSample.cwExtract(currPosition,m_s->m_tmp_2lambdaWVec);   
 
  835       currPosition += m_s->m_tmp_2lambdaWVec.sizeLocal();
 
  836       totalSample.cwExtract(currPosition,m_s->m_tmp_3rhoWVec);      
 
  837       currPosition += m_s->m_tmp_3rhoWVec.sizeLocal();
 
  838       totalSample.cwExtract(currPosition,m_s->m_tmp_4lambdaSVec);   
 
  839       currPosition += m_s->m_tmp_4lambdaSVec.sizeLocal();
 
  840       totalSample.cwExtract(currPosition,m_e->m_tmp_5lambdaYVec);   
 
  841       currPosition += m_e->m_tmp_5lambdaYVec.sizeLocal();
 
  842       totalSample.cwExtract(currPosition,m_e->m_tmp_6lambdaVVec);   
 
  843       currPosition += m_e->m_tmp_6lambdaVVec.sizeLocal();
 
  844       totalSample.cwExtract(currPosition,m_e->m_tmp_7rhoVVec);      
 
  845       currPosition += m_e->m_tmp_7rhoVVec.sizeLocal();
 
  846       totalSample.cwExtract(currPosition,m_e->m_tmp_8thetaVec);     
 
  847       currPosition += m_e->m_tmp_8thetaVec.sizeLocal();
 
  848       queso_require_equal_to_msg(currPosition, totalSample.sizeLocal(), 
"'currPosition' and 'totalSample.sizeLocal()' should be equal");
 
  860       this->formSigma_z_hat(m_s->m_tmp_1lambdaEtaVec, 
 
  861                             m_s->m_tmp_2lambdaWVec,
 
  863                             m_s->m_tmp_4lambdaSVec,
 
  864                             m_e->m_tmp_5lambdaYVec,
 
  865                             m_e->m_tmp_6lambdaVVec,
 
  868                             m_j->m_predVU_counter);
 
  874       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
  875         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictVUsAtGridPoint(1)" 
  876                                 << 
", m_predVU_counter = " << m_j->m_predVU_counter
 
  877                                 << 
": about to populate 'm_Smat_v_hat_v_asterisk'" 
  878                                 << 
", m_e->m_Smat_v_hat_v_asterisk_is.size() = " << m_e->m_Smat_v_hat_v_asterisk_is.size() 
 
  879                                 << 
", m_e->m_tmp_rho_v_vec.sizeLocal() = "       << m_e->m_tmp_rho_v_vec.sizeLocal()       
 
  880                                 << 
", m_e->m_tmp_7rhoVVec.sizeLocal() = "        << m_e->m_tmp_7rhoVVec.sizeLocal()        
 
  883       queso_require_equal_to_msg((m_e->m_Smat_v_hat_v_asterisk_is.size() * m_e->m_tmp_rho_v_vec.sizeLocal()), m_e->m_tmp_7rhoVVec.sizeLocal(), 
"invalid size for 'v' variables");
 
  884       unsigned int initialPos = 0;
 
  885       for (
unsigned int i = 0; i < m_e->m_Smat_v_hat_v_asterisk_is.size(); ++i) {
 
  886         m_e->m_tmp_7rhoVVec.cwExtract(initialPos,m_e->m_tmp_rho_v_vec);
 
  887         initialPos += m_e->m_tmp_rho_v_vec.sizeLocal();
 
  888         m_e->m_Rmat_v_hat_v_asterisk_is[i]->cwSet(0.);
 
  889         this->fillR_formula2_for_Sigma_v_hat_v_asterisk(m_s->m_paper_xs_asterisks_standard,
 
  890                                                         m_s->m_paper_ts_asterisks_standard,
 
  893                                                         m_e->m_tmp_rho_v_vec,
 
  894                                                         *(m_e->m_Rmat_v_hat_v_asterisk_is[i]), 
 
  895                                                         m_j->m_predVU_counter);
 
  896         m_e->m_Smat_v_hat_v_asterisk_is[i]->cwSet(0.);
 
  898   *(m_e->m_Smat_v_hat_v_asterisk_is[i]) = (1./m_e->m_tmp_6lambdaVVec[i]) * *(m_e->m_Rmat_v_hat_v_asterisk_is[i]);
 
  900       m_e->m_Smat_v_hat_v_asterisk.cwSet(0.);
 
  901       m_e->m_Smat_v_hat_v_asterisk.fillWithBlocksDiagonally(0,0,m_e->m_Smat_v_hat_v_asterisk_is,
true,
true);
 
  902       m_e->m_Smat_v_hat_v_asterisk_t.fillWithTranspose(0,0,m_e->m_Smat_v_hat_v_asterisk,
true,
true);
 
  904       here_Smat_z_hat_v_asterisk.cwSet(0.);
 
  905       here_Smat_z_hat_v_asterisk.cwSet(0,0,m_e->m_Smat_v_hat_v_asterisk); 
 
  906       here_Smat_z_hat_v_asterisk_t.fillWithTranspose(0,0,here_Smat_z_hat_v_asterisk,
true,
true);
 
  908       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
  909         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictVUsAtGridPoint(1)" 
  910                                 << 
", m_predVU_counter = " << m_j->m_predVU_counter
 
  911                                 << 
": finished instantiating 'm_Smat_v_hat_v_asterisk'" 
  920       for (
unsigned int i = 0; i < m_j->m_Smat_u_hat_u_asterisk_is.size(); ++i) {
 
  921   m_s->m_tmp_3rhoWVec.cwExtract(initialPos,m_s->m_tmp_rho_w_vec);
 
  922         initialPos += m_s->m_tmp_rho_w_vec.sizeLocal();
 
  924         m_j->m_Rmat_u_hat_u_asterisk_is[i]->cwSet(0.);
 
  925         this->fillR_formula1_for_Sigma_u_hat_u_asterisk(m_s->m_paper_xs_asterisks_standard,
 
  926                                                         m_s->m_paper_ts_asterisks_standard,
 
  929                                                         m_s->m_tmp_rho_w_vec,
 
  930                                                         *(m_j->m_Rmat_u_hat_u_asterisk_is[i]),
 
  931                                                         m_j->m_predVU_counter);
 
  932         m_j->m_Smat_u_hat_u_asterisk_is[i]->cwSet(0.);
 
  933         *(m_j->m_Smat_u_hat_u_asterisk_is[i]) = (1./m_s->m_tmp_2lambdaWVec[i]) * *(m_j->m_Rmat_u_hat_u_asterisk_is[i]);
 
  935         m_j->m_Rmat_w_hat_u_asterisk_is[i]->cwSet(0.);
 
  936         this->fillR_formula1_for_Sigma_w_hat_u_asterisk(m_s->m_paper_xs_asterisks_standard,
 
  937                                                         m_s->m_paper_ts_asterisks_standard,
 
  940                                                         m_s->m_tmp_rho_w_vec,
 
  941                                                         *(m_j->m_Rmat_w_hat_u_asterisk_is[i]),
 
  942                                                         m_j->m_predVU_counter);
 
  943         m_j->m_Smat_w_hat_u_asterisk_is[i]->cwSet(0.);
 
  944         *(m_j->m_Smat_w_hat_u_asterisk_is[i]) = (1./m_s->m_tmp_2lambdaWVec[i]) * *(m_j->m_Rmat_w_hat_u_asterisk_is[i]);
 
  947       m_j->m_Smat_u_hat_u_asterisk.cwSet(0.);
 
  948       m_j->m_Smat_u_hat_u_asterisk.fillWithBlocksDiagonally(0,0,m_j->m_Smat_u_hat_u_asterisk_is,
true,
true);
 
  949       m_j->m_Smat_u_hat_u_asterisk_t.fillWithTranspose(0,0,m_j->m_Smat_u_hat_u_asterisk,
true,
true);
 
  951       m_j->m_Smat_w_hat_u_asterisk.cwSet(0.);
 
  952       m_j->m_Smat_w_hat_u_asterisk.fillWithBlocksDiagonally(0,0,m_j->m_Smat_w_hat_u_asterisk_is,
true,
true);
 
  953       m_j->m_Smat_w_hat_u_asterisk_t.fillWithTranspose(0,0,m_j->m_Smat_w_hat_u_asterisk,
true,
true);
 
  955       twoMats_uw[0] = &m_j->m_Smat_u_hat_u_asterisk;
 
  956       twoMats_uw[1] = &m_j->m_Smat_w_hat_u_asterisk;
 
  957       here_Smat_z_hat_u_asterisk.cwSet(0.);
 
  958       here_Smat_z_hat_u_asterisk.fillWithBlocksVertically(m_e->m_v_size,0,twoMats_uw,
true,
true); 
 
  959       here_Smat_z_hat_u_asterisk_t.fillWithTranspose(0,0,here_Smat_z_hat_u_asterisk,
true,
true);
 
  961       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
  962         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictVUsAtGridPoint(1)" 
  963                                 << 
", m_predVU_counter = " << m_j->m_predVU_counter
 
  964                                 << 
": finished instantiating '>m_Smat_z_hat_u_asterisk'" 
  971       queso_require_equal_to_msg(m_e->m_Smat_v_asterisk_v_asterisk.numRowsLocal(), m_e->m_paper_p_delta, 
"invalid 'm_Smat_v_asterisk_v_asterisk.numRowsLocal()'");
 
  972       queso_require_equal_to_msg(m_e->m_tmp_6lambdaVVec.sizeLocal(), m_e->m_paper_p_delta, 
"invalid 'm_tmp_6lambdaVVec.sizeLocal()'");
 
  974       m_e->m_Smat_v_asterisk_v_asterisk.cwSet(0.);
 
  975       for (
unsigned int i = 0; i < m_e->m_paper_p_delta; ++i) {
 
  976         m_e->m_Smat_v_asterisk_v_asterisk(i,i) = 1./m_e->m_tmp_6lambdaVVec[i];
 
  982       queso_require_equal_to_msg(m_j->m_Smat_u_asterisk_u_asterisk.numRowsLocal(), m_s->m_paper_p_eta, 
"invalid 'm_Smat_u_asterisk_u_asterisk.numRowsLocal()'");
 
  983       queso_require_equal_to_msg(m_s->m_tmp_2lambdaWVec.sizeLocal(), m_s->m_paper_p_eta, 
"invalid 'm_tmp_2lambdaWVec.sizeLocal()'");
 
  985       m_j->m_Smat_u_asterisk_u_asterisk.cwSet(0.);
 
  986       for (
unsigned int i = 0; i < m_s->m_paper_p_eta; ++i) {
 
  987         m_j->m_Smat_u_asterisk_u_asterisk(i,i) = 1./m_s->m_tmp_2lambdaWVec[i] + 1/m_s->m_tmp_4lambdaSVec[i]; 
 
  995       P_V unique_vu_vec(m_j->m_unique_vu_space.zeroVector());
 
  996       P_M unique_vu_mat(m_j->m_unique_vu_space.zeroVector());
 
  998       twoMats_12[0] = &here_Smat_z_hat_v_asterisk_t;
 
  999       twoMats_12[1] = &here_Smat_z_hat_u_asterisk_t;
 
 1000       twoMats_21[0] = &here_Smat_z_hat_v_asterisk;
 
 1001       twoMats_21[1] = &here_Smat_z_hat_u_asterisk;
 
 1002       twoMats_22[0] = &m_e->m_Smat_v_asterisk_v_asterisk;
 
 1003       twoMats_22[1] = &m_j->m_Smat_u_asterisk_u_asterisk;
 
 1005       sigmaMat11 = m_z->m_tmp_Smat_z_hat;
 
 1006       sigmaMat12.fillWithBlocksHorizontally(0,0,twoMats_12,
true,
true);
 
 1007       sigmaMat21.fillWithBlocksVertically  (0,0,twoMats_21,
true,
true);
 
 1008       sigmaMat22.fillWithBlocksDiagonally  (0,0,twoMats_22,
true,
true);
 
 1012       m_j->m_predVU_summingRVs_mean_of_unique_vu_covMatrices += unique_vu_mat;
 
 1018     m_j->m_predVU_summingRVs_mean_of_unique_vu_covMatrices *= (1./(double) numSamples);
 
 1020     m_j->m_predVU_summingRVs_unique_vu_meanVec = unique_vu_means.
unifiedMeanPlain();
 
 1022     m_j->m_predVU_summingRVs_covMatrix_of_unique_vu_means.cwSet(0.);
 
 1023     m_j->m_predVU_summingRVs_corrMatrix_of_unique_vu_means.cwSet(0.);
 
 1027                                                    m_j->m_predVU_summingRVs_covMatrix_of_unique_vu_means,
 
 1028                                                    m_j->m_predVU_summingRVs_corrMatrix_of_unique_vu_means);
 
 1030     vuMeanVec = m_j->m_predVU_summingRVs_unique_vu_meanVec;
 
 1031     vuMeanVec.cwExtract(0,vMeanVec);
 
 1032     vuMeanVec.cwExtract(m_e->m_paper_p_delta,uMeanVec);
 
 1034     P_M vuCovMatrix(m_j->m_unique_vu_space.zeroVector());
 
 1035     vuCovMatrix = m_j->m_predVU_summingRVs_mean_of_unique_vu_covMatrices + m_j->m_predVU_summingRVs_covMatrix_of_unique_vu_means;
 
 1036     vuCovMatrix.cwExtract(0,0,vCovMatrix);                                       
 
 1037     vuCovMatrix.cwExtract(m_e->m_paper_p_delta,m_e->m_paper_p_delta,uCovMatrix); 
 
 1039     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1040       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictVUsAtGridPoint(1)" 
 1041                               << 
", m_predVU_counter = " << m_j->m_predVU_counter
 
 1042                               << 
": finished computing all means and covariances" 
 1043                               << 
"\n  vuMeanVec = "                                        << vuMeanVec
 
 1044                               << 
"\n  m_predW_summingRVs_covMatrix_of_unique_vu_means = "  << m_j->m_predVU_summingRVs_covMatrix_of_unique_vu_means
 
 1045                               << 
"\n  m_predW_summingRVs_mean_of_unique_vu_covMatrices = " << m_j->m_predVU_summingRVs_mean_of_unique_vu_covMatrices
 
 1046                               << 
"\n  vuCovMatrix = "                                      << vuCovMatrix
 
 1051     mean_of_unique_vu_covMatrices *= (1./(double) numSamples);
 
 1054   if (m_optionsObj->m_predVUsAtKeyPoints) {
 
 1058   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1059     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictVUsAtGridPoint(1)" 
 1060                             << 
", m_predVU_counter = " << m_j->m_predVU_counter
 
 1061                             << 
", newScenarioVec = "   << newScenarioVec
 
 1062                             << 
", after "              << totalTime
 
 1070 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1073   const S_V& newScenarioVec,
 
 1074   const P_V& newParameterVec,
 
 1075   const P_V* forcingSampleVecForDebug, 
 
 1079   struct timeval timevalBegin;
 
 1080   gettimeofday(&timevalBegin, NULL);
 
 1082   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1083     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1084                             << 
", m_predW_counter = " << m_s->m_predW_counter
 
 1085                             << 
", newScenarioVec = "  << newScenarioVec
 
 1086                             << 
", newParameterVec = " << newParameterVec
 
 1100   if (m_optionsObj->m_predWsBySamplingRVs) {
 
 1103   if (m_optionsObj->m_predWsBySummingRVs) {
 
 1104     unsigned int numSamples = (
unsigned int) ((
double) m_t->m_totalPostRv.realizer().subPeriod())/((
double) m_optionsObj->m_predLag);
 
 1105     if (forcingSampleVecForDebug) {
 
 1108     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1109       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1110                               << 
": m_t->m_totalPostRv.realizer().subPeriod() = " << m_t->m_totalPostRv.realizer().subPeriod()
 
 1111                               << 
", m_optionsObj->m_predLag = "              << m_optionsObj->m_predLag
 
 1112                               << 
", numSamples = "                                << numSamples
 
 1118     P_V totalSample(m_t->m_totalSpace.zeroVector());
 
 1119     P_V muVec1     (m_s->m_unique_w_space.zeroVector());
 
 1120     P_V muVec2     (m_s->m_w_space.zeroVector());
 
 1121     P_M sigmaMat11 (m_s->m_unique_w_space.zeroVector());
 
 1122     P_M sigmaMat12 (m_env,muVec1.map(),muVec2.sizeGlobal());
 
 1123     P_M sigmaMat21 (m_env,muVec2.map(),muVec1.sizeGlobal());
 
 1124     P_M sigmaMat22 (m_s->m_w_space.zeroVector());
 
 1125     for (
unsigned int sampleId = 0; sampleId < numSamples; ++sampleId) {
 
 1126       m_s->m_predW_counter++;
 
 1129         for (
unsigned int i = 1; i < m_optionsObj->m_predLag; ++i) { 
 
 1130           m_t->m_totalPostRv.realizer().realization(totalSample);
 
 1133       m_t->m_totalPostRv.realizer().realization(totalSample);
 
 1134       if (forcingSampleVecForDebug) {
 
 1135         totalSample = *forcingSampleVecForDebug;
 
 1138       unsigned int currPosition = 0;
 
 1139       totalSample.cwExtract(currPosition,m_s->m_tmp_1lambdaEtaVec); 
 
 1140       currPosition += m_s->m_tmp_1lambdaEtaVec.sizeLocal();
 
 1141       totalSample.cwExtract(currPosition,m_s->m_tmp_2lambdaWVec);   
 
 1142       currPosition += m_s->m_tmp_2lambdaWVec.sizeLocal();
 
 1143       totalSample.cwExtract(currPosition,m_s->m_tmp_3rhoWVec);      
 
 1144       currPosition += m_s->m_tmp_3rhoWVec.sizeLocal();
 
 1145       totalSample.cwExtract(currPosition,m_s->m_tmp_4lambdaSVec);   
 
 1146       currPosition += m_s->m_tmp_4lambdaSVec.sizeLocal();
 
 1147       totalSample.cwExtract(currPosition,m_e->m_tmp_5lambdaYVec);   
 
 1148       currPosition += m_e->m_tmp_5lambdaYVec.sizeLocal();
 
 1149       totalSample.cwExtract(currPosition,m_e->m_tmp_6lambdaVVec);   
 
 1150       currPosition += m_e->m_tmp_6lambdaVVec.sizeLocal();
 
 1151       totalSample.cwExtract(currPosition,m_e->m_tmp_7rhoVVec);      
 
 1152       currPosition += m_e->m_tmp_7rhoVVec.sizeLocal();
 
 1153       totalSample.cwExtract(currPosition,m_e->m_tmp_8thetaVec);     
 
 1154       currPosition += m_e->m_tmp_8thetaVec.sizeLocal();
 
 1155       queso_require_equal_to_msg(currPosition, totalSample.sizeLocal(), 
"'currPosition' and 'totalSample.sizeLocal()' should be equal");
 
 1162       this->formSigma_w_hat(m_s->m_tmp_1lambdaEtaVec,
 
 1163                             m_s->m_tmp_2lambdaWVec,
 
 1164                             m_s->m_tmp_3rhoWVec,
 
 1165                             m_s->m_tmp_4lambdaSVec,
 
 1167                             m_s->m_predW_counter);
 
 1169       if (forcingSampleVecForDebug) {
 
 1170         if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 1171           *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1172                                   << 
": m_s->m_Smat_w_hat = " << m_s->m_Smat_w_hat
 
 1181       unsigned int initialPos = 0;
 
 1182       for (
unsigned int i = 0; i < m_s->m_Smat_w_hat_w_asterisk_is.size(); ++i) {
 
 1183         m_s->m_tmp_3rhoWVec.cwExtract(initialPos,m_s->m_tmp_rho_w_vec);
 
 1184         initialPos += m_s->m_tmp_rho_w_vec.sizeLocal();
 
 1185         m_s->m_Rmat_w_hat_w_asterisk_is[i]->cwSet(0.); 
 
 1186         this->fillR_formula1_for_Sigma_w_hat_w_asterisk(m_s->m_paper_xs_asterisks_standard, 
 
 1187                                                         m_s->m_paper_ts_asterisks_standard,
 
 1190                                                         m_s->m_tmp_rho_w_vec,
 
 1191                                                         *(m_s->m_Rmat_w_hat_w_asterisk_is[i]),
 
 1192                                                         m_s->m_predW_counter);
 
 1193         m_s->m_Smat_w_hat_w_asterisk_is[i]->cwSet(0.);
 
 1194         *(m_s->m_Smat_w_hat_w_asterisk_is[i]) = (1./m_s->m_tmp_2lambdaWVec[i]) * *(m_s->m_Rmat_w_hat_w_asterisk_is[i]);
 
 1196       m_s->m_Smat_w_hat_w_asterisk.cwSet(0.);
 
 1197       m_s->m_Smat_w_hat_w_asterisk.fillWithBlocksDiagonally(0,0,m_s->m_Smat_w_hat_w_asterisk_is,
true,
true);
 
 1198       m_s->m_Smat_w_hat_w_asterisk_t.fillWithTranspose(0,0,m_s->m_Smat_w_hat_w_asterisk,
true,
true);
 
 1199       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 1200         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1201                                 << 
", m_predW_counter = " << m_s->m_predW_counter
 
 1202                                 << 
": finished instantiating 'm_Smat_w_hat_w_asterisk'" 
 1206       if (forcingSampleVecForDebug) {
 
 1207         if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 1208           *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1209                                   << 
": m_s->m_Smat_w_hat_w_asterisk = " << m_s->m_Smat_w_hat_w_asterisk
 
 1217       queso_require_equal_to_msg(m_s->m_Smat_w_asterisk_w_asterisk.numRowsLocal(), m_s->m_paper_p_eta, 
"invalid 'm_Smat_w_asterisk_w_asterisk.numRowsLocal()'");
 
 1218       queso_require_equal_to_msg(m_s->m_tmp_2lambdaWVec.sizeLocal(), m_s->m_paper_p_eta, 
"invalid 'm_tmp_2lambdaWVec.sizeLocal()'");
 
 1220       m_s->m_Smat_w_asterisk_w_asterisk.cwSet(0.);
 
 1221       for (
unsigned int i = 0; i < m_s->m_paper_p_eta; ++i) {
 
 1222         m_s->m_Smat_w_asterisk_w_asterisk(i,i) = 1./m_s->m_tmp_2lambdaWVec[i] + 1/m_s->m_tmp_4lambdaSVec[i]; 
 
 1225       if (forcingSampleVecForDebug) {
 
 1226         if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 1227           *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1228                                   << 
": m_s->m_Smat_w_asterisk_w_asterisk = " << m_s->m_Smat_w_asterisk_w_asterisk
 
 1238       if (forcingSampleVecForDebug) {
 
 1239         if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 1240           *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1241                                   << 
": muVec1 = "            << muVec1
 
 1242                                   << 
", muVec2 = "            << muVec2
 
 1243                                   << 
", m_s->m_Zvec_hat_w = " << m_s->m_Zvec_hat_w
 
 1248       P_V unique_w_vec(m_s->m_unique_w_space.zeroVector());
 
 1249       P_M unique_w_mat(m_s->m_unique_w_space.zeroVector());
 
 1251       sigmaMat11 = m_s->m_Smat_w_asterisk_w_asterisk;
 
 1252       sigmaMat12 = m_s->m_Smat_w_hat_w_asterisk_t;
 
 1253       sigmaMat21 = m_s->m_Smat_w_hat_w_asterisk;
 
 1254       sigmaMat22 = m_s->m_Smat_w_hat;
 
 1257       if (forcingSampleVecForDebug) {
 
 1258         if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 1259           *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1260                                   << 
", unique_w_vec = " << unique_w_vec
 
 1261                                   << 
", unique_w_mat = " << unique_w_mat
 
 1267       m_s->m_predW_summingRVs_mean_of_unique_w_covMatrices += unique_w_mat;
 
 1275     m_s->m_predW_summingRVs_mean_of_unique_w_covMatrices *= (1./(double) numSamples);
 
 1277     m_s->m_predW_summingRVs_unique_w_meanVec = unique_w_means.
unifiedMeanPlain();
 
 1279     m_s->m_predW_summingRVs_covMatrix_of_unique_w_means.cwSet(0.);
 
 1280     m_s->m_predW_summingRVs_corrMatrix_of_unique_w_means.cwSet(0.);
 
 1284                                                    m_s->m_predW_summingRVs_covMatrix_of_unique_w_means,
 
 1285                                                    m_s->m_predW_summingRVs_corrMatrix_of_unique_w_means);
 
 1287     wMeanVec   = m_s->m_predW_summingRVs_unique_w_meanVec;
 
 1288     wCovMatrix = m_s->m_predW_summingRVs_mean_of_unique_w_covMatrices + m_s->m_predW_summingRVs_covMatrix_of_unique_w_means;
 
 1290     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 1291       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1292                               << 
", m_predW_counter = " << m_s->m_predW_counter
 
 1293                               << 
": finished computing all means and covariances" 
 1294                               << 
"\n  wMeanVec = "                                        << wMeanVec
 
 1295                               << 
"\n  m_predW_summingRVs_covMatrix_of_unique_w_means = "  << m_s->m_predW_summingRVs_covMatrix_of_unique_w_means
 
 1296                               << 
"\n  m_predW_summingRVs_mean_of_unique_w_covMatrices = " << m_s->m_predW_summingRVs_mean_of_unique_w_covMatrices
 
 1297                               << 
"\n  wCovMatrix = "                                      << wCovMatrix
 
 1303   if (m_optionsObj->m_predWsAtKeyPoints) {
 
 1307   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1308     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictWsAtGridPoint()" 
 1309                             << 
", m_predW_counter = " << m_s->m_predW_counter
 
 1310                             << 
", newScenarioVec = "  << newScenarioVec
 
 1311                             << 
", newParameterVec = " << newParameterVec
 
 1312                             << 
", after "             << totalTime
 
 1320 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1323   const S_V& newScenarioVec,
 
 1324   const D_M& newKmat_interp,
 
 1326         D_V& simulationOutputMeanVec, 
 
 1327         D_V& discrepancyMeanVec)      
 
 1329   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1330     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictExperimentResults()" 
 1336   queso_require_msg(!((newKmat_interp.numRowsLocal() != m_s->m_paper_n_eta) || (newKmat_interp.numCols() != m_s->m_paper_p_eta)), 
"invalid 'newKmat_interp'");
 
 1338   queso_require_msg(!((newDmat.numRowsLocal() != m_s->m_paper_n_eta) || (newDmat.numCols() != m_e->m_paper_p_delta)), 
"invalid 'newDmat'");
 
 1344   P_V vMeanVec  (m_e->m_unique_v_space.zeroVector());
 
 1345   P_M vCovMatrix(m_e->m_unique_v_space.zeroVector());
 
 1349   P_V uMeanVec  (m_s->m_unique_w_space.zeroVector());
 
 1350   P_M uCovMatrix(m_s->m_unique_w_space.zeroVector());
 
 1352   this->predictVUsAtGridPoint(newScenarioVec,
 
 1358   simulationOutputMeanVec = newKmat_interp * uMeanVec;
 
 1359   discrepancyMeanVec = newDmat * vMeanVec;
 
 1361   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1362     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictExperimentResults()" 
 1369 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1372   const S_V& newScenarioVec,
 
 1373   const P_V& newParameterVec,
 
 1374         Q_V& simulationOutputMeanVec)
 
 1376   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1377     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictSimulationOutputs()" 
 1387   P_V wMeanVec  (m_s->m_unique_w_space.zeroVector());
 
 1388   P_M wCovMatrix(m_s->m_unique_w_space.zeroVector());
 
 1389   this->predictWsAtGridPoint(newScenarioVec,
 
 1397   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1398     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::predictSimulationOutputs()" 
 1405 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1410   return m_t->m_totalSpace;
 
 1413 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1418   return m_j->m_unique_vu_space;
 
 1421 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1426   return m_t->m_totalPriorRv;
 
 1429 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1434   return m_t->m_totalPostRv;
 
 1437 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1444 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1449   std::cout << 
"Entering memoryCheck(), m_like_counter = " << m_like_counter << 
", codePositionId = " << codePositionId << std::endl;
 
 1452   for (
unsigned int i = 0; i < m_z->m_tmp_Smat_z.numRowsLocal(); ++i) {
 
 1454     for (
unsigned int j = 0; j < m_z->m_tmp_Smat_z.numCols(); ++j) {
 
 1456       sumZ += m_z->m_tmp_Smat_z(i,j);
 
 1462   for (
unsigned int i = 0; i < m_e->m_Smat_v.numRowsLocal(); ++i) {
 
 1463     for (
unsigned int j = 0; j < m_e->m_Smat_v.numCols(); ++j) {
 
 1464       sumV += m_e->m_Smat_v(i,j);
 
 1469   for (
unsigned int i = 0; i < m_j->m_Smat_u.numRowsLocal(); ++i) {
 
 1470     for (
unsigned int j = 0; j < m_j->m_Smat_u.numCols(); ++j) {
 
 1471       sumU += m_j->m_Smat_u(i,j);
 
 1476   for (
unsigned int i = 0; i < m_s->m_Smat_w.numRowsLocal(); ++i) {
 
 1477     for (
unsigned int j = 0; j < m_s->m_Smat_w.numCols(); ++j) {
 
 1478       sumW += m_s->m_Smat_w(i,j);
 
 1483   for (
unsigned int i = 0; i < m_j->m_Smat_uw.numRowsLocal(); ++i) {
 
 1484     for (
unsigned int j = 0; j < m_j->m_Smat_uw.numCols(); ++j) {
 
 1485       sumUW += m_j->m_Smat_uw(i,j);
 
 1489   double sumUW_T = 0.;
 
 1490   for (
unsigned int i = 0; i < m_j->m_Smat_uw_t.numRowsLocal(); ++i) {
 
 1491     for (
unsigned int j = 0; j < m_j->m_Smat_uw_t.numCols(); ++j) {
 
 1492       sumUW_T += m_j->m_Smat_uw_t(i,j);
 
 1496   std::cout << 
"Leaving memoryCheck(), m_like_counter = " << m_like_counter << 
", codePositionId = " << codePositionId << std::endl;
 
 1501 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1505   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1506     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::generatePriorSeq()..." 
 1507                             << 
": m_optionsObj->m_prefix.c_str() = "          << m_optionsObj->m_prefix.c_str()
 
 1508                             << 
", m_optionsObj->m_priorSeqNumSamples = " << m_optionsObj->m_priorSeqNumSamples
 
 1513   P_V totalSample(m_t->m_totalSpace.zeroVector());
 
 1514   for (
unsigned int sampleId = 0; sampleId < m_optionsObj->m_priorSeqNumSamples; ++sampleId) {
 
 1515     m_t->m_totalPriorRv.realizer().realization(totalSample);
 
 1519                                 m_optionsObj->m_priorSeqDataOutputFileType);
 
 1521   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1522     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::generatePriorSeq()..." 
 1523                             << 
": m_optionsObj->m_prefix.c_str() = " << m_optionsObj->m_prefix.c_str()
 
 1530 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1533   const P_V&  totalValues,
 
 1534   const P_V*  totalDirection,
 
 1535   const void* functionDataPtr,
 
 1548 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 1551   const P_V&  totalValues,
 
 1552   const P_V*  totalDirection,
 
 1553   const void* functionDataPtr,
 
 1558   struct timeval timevalBegin;
 
 1559   gettimeofday(&timevalBegin, NULL);
 
 1563   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1564     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine()..." 
 1565                             << 
": m_like_counter = "            << m_like_counter
 
 1566                             << 
", totalValues = "               << totalValues
 
 1567                             << 
", m_env.subComm().NumProc() = " << m_env.subComm().NumProc()
 
 1568                             << 
", my subRank = "                << m_env.subRank()
 
 1569                             << 
", m_formCMatrix = "             << m_formCMatrix
 
 1570                             << 
", m_cMatIsRankDefficient = "    << m_cMatIsRankDefficient
 
 1574   double lnLikelihoodValue = 0.;
 
 1576   if (totalDirection  &&
 
 1590                          m_s->m_paper_p_eta);
 
 1593                          (m_s->m_paper_p_eta*(m_s->m_paper_p_x+m_s->m_paper_p_t)));
 
 1596   if (m_thereIsExperimentalData) {
 
 1603                            m_e->m_paper_F*m_s->m_paper_p_x);
 
 1606   this->memoryCheck(50);
 
 1608   unsigned int currPosition = 0;
 
 1609   totalValues.cwExtract(currPosition,m_s->m_tmp_1lambdaEtaVec); 
 
 1610   currPosition += m_s->m_tmp_1lambdaEtaVec.sizeLocal();
 
 1611   totalValues.cwExtract(currPosition,m_s->m_tmp_2lambdaWVec);   
 
 1612   currPosition += m_s->m_tmp_2lambdaWVec.sizeLocal();
 
 1613   totalValues.cwExtract(currPosition,m_s->m_tmp_3rhoWVec);      
 
 1614   currPosition += m_s->m_tmp_3rhoWVec.sizeLocal();
 
 1615   totalValues.cwExtract(currPosition,m_s->m_tmp_4lambdaSVec);   
 
 1616   currPosition += m_s->m_tmp_4lambdaSVec.sizeLocal();
 
 1618   if (m_thereIsExperimentalData) {
 
 1619     totalValues.cwExtract(currPosition,m_e->m_tmp_5lambdaYVec);   
 
 1620     currPosition += m_e->m_tmp_5lambdaYVec.sizeLocal();
 
 1621     totalValues.cwExtract(currPosition,m_e->m_tmp_6lambdaVVec);   
 
 1622     currPosition += m_e->m_tmp_6lambdaVVec.sizeLocal();
 
 1623     totalValues.cwExtract(currPosition,m_e->m_tmp_7rhoVVec);      
 
 1624     currPosition += m_e->m_tmp_7rhoVVec.sizeLocal();
 
 1625     totalValues.cwExtract(currPosition,m_e->m_tmp_8thetaVec);     
 
 1626     currPosition += m_e->m_tmp_8thetaVec.sizeLocal();
 
 1628   queso_require_equal_to_msg(currPosition, totalValues.sizeLocal(), 
"'currPosition' and 'totalValues.sizeLocal()' should be equal");
 
 1630   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 1631     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine()" 
 1632                             << 
", m_like_counter = " << m_like_counter
 
 1633                             << 
": finished extracting components from 'totalValues'" 
 1634                             << 
", m_tmp_1lambdaEtaVec = " << m_s->m_tmp_1lambdaEtaVec
 
 1635                             << 
", m_tmp_2lambdaWVec = "   << m_s->m_tmp_2lambdaWVec
 
 1636                             << 
", m_tmp_3rhoWVec = "      << m_s->m_tmp_3rhoWVec
 
 1637                             << 
", m_tmp_4lambdaSVec = "   << m_s->m_tmp_4lambdaSVec;
 
 1638     if (m_thereIsExperimentalData) {
 
 1639       *m_env.subDisplayFile() << 
", m_tmp_5lambdaYVec = " << m_e->m_tmp_5lambdaYVec
 
 1640                               << 
", m_tmp_6lambdaVVec = " << m_e->m_tmp_6lambdaVVec
 
 1641                               << 
", m_tmp_7rhoVVec = "    << m_e->m_tmp_7rhoVVec
 
 1642                               << 
", m_tmp_8thetaVec = "   << m_e->m_tmp_8thetaVec;
 
 1644     *m_env.subDisplayFile() << std::endl;
 
 1650   bool here_1_repeats = 
false;
 
 1651   bool here_2_repeats = 
false;
 
 1652   bool here_3_repeats = 
false;
 
 1653   bool here_4_repeats = 
false;
 
 1654   bool here_5_repeats = 
false;
 
 1655   bool here_6_repeats = 
false;
 
 1656   bool here_7_repeats = 
false;
 
 1657   bool here_8_repeats = 
false;
 
 1658   if ((m_optionsObj->m_checkAgainstPreviousSample) &&
 
 1659       (m_like_counter == 1                            )) {
 
 1660     here_1_repeats = (m_s->m_like_previous1 == m_s->m_tmp_1lambdaEtaVec);
 
 1661     here_2_repeats = (m_s->m_like_previous2 == m_s->m_tmp_2lambdaWVec);
 
 1662     here_3_repeats = (m_s->m_like_previous3 == m_s->m_tmp_3rhoWVec);
 
 1663     here_4_repeats = (m_s->m_like_previous2 == m_s->m_tmp_4lambdaSVec);
 
 1664     if (m_thereIsExperimentalData) {
 
 1665       here_5_repeats = (m_e->m_like_previous5 == m_e->m_tmp_5lambdaYVec);
 
 1666       here_6_repeats = (m_e->m_like_previous6 == m_e->m_tmp_6lambdaVVec);
 
 1667       here_7_repeats = (m_e->m_like_previous7 == m_e->m_tmp_7rhoVVec);
 
 1668       here_8_repeats = (m_e->m_like_previous8 == m_e->m_tmp_8thetaVec);
 
 1670     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 1671       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine()" 
 1672                               << 
", m_like_counter = "     << m_like_counter
 
 1673                               << 
"\n  m_like_previous1 = " << m_s->m_like_previous1
 
 1674                               << 
"\n  m_like_previous2 = " << m_s->m_like_previous2
 
 1675                               << 
"\n  m_like_previous3 = " << m_s->m_like_previous3;
 
 1676       if (m_thereIsExperimentalData) {
 
 1677         *m_env.subDisplayFile() << 
"\n  m_like_previous5 = " << m_e->m_like_previous5
 
 1678                                 << 
"\n  m_like_previous6 = " << m_e->m_like_previous6
 
 1679                                 << 
"\n  m_like_previous7 = " << m_e->m_like_previous7
 
 1680                                 << 
"\n  m_like_previous8 = " << m_e->m_like_previous8;
 
 1682       *m_env.subDisplayFile() << std::endl;
 
 1684     if (here_1_repeats ||
 
 1694   lnLikelihoodValue = 0.;
 
 1695   if ((m_formCMatrix         ) &&
 
 1696       (m_cMatIsRankDefficient)) {
 
 1700     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1701       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(tilde)" 
 1702                               << 
", m_like_counter = " << m_like_counter
 
 1703                               << 
": going through true 'm_cMatIsRankDefficient' case" 
 1707     this->memoryCheck(57);
 
 1709     if (m_optionsObj->m_useTildeLogicForRankDefficientC) {
 
 1720       this->formSigma_z_tilde_hat(m_s->m_tmp_1lambdaEtaVec,
 
 1721                                   m_s->m_tmp_2lambdaWVec,
 
 1722                                   m_s->m_tmp_3rhoWVec,
 
 1723                                   m_s->m_tmp_4lambdaSVec,
 
 1724                                   m_e->m_tmp_5lambdaYVec,
 
 1725                                   m_e->m_tmp_6lambdaVVec,
 
 1726                                   m_e->m_tmp_7rhoVVec,
 
 1727                                   m_e->m_tmp_8thetaVec,
 
 1730       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1731         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(tilde)" 
 1732                                 << 
", m_like_counter = "                               << m_like_counter
 
 1733                                 << 
": finished computing 'm_tmp_Smat_z_tilde_hat' =\n" << m_zt->m_tmp_Smat_z_tilde_hat
 
 1737       this->memoryCheck(58);
 
 1742       double Smat_z_tilde_hat_lnDeterminant = m_zt->m_tmp_Smat_z_tilde_hat.lnDeterminant();
 
 1744       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1745         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(tilde)" 
 1746                                 << 
", m_like_counter = "                                               << m_like_counter
 
 1747                                 << 
": finished computing 'm_tmp_Smat_z_tilde_hat->lnDeterminant()' = " << Smat_z_tilde_hat_lnDeterminant
 
 1750       lnLikelihoodValue += -0.5*Smat_z_tilde_hat_lnDeterminant;
 
 1752       this->memoryCheck(59);
 
 1757       double tmpValue1 = 
scalarProduct(m_zt->m_Zvec_tilde_hat,m_zt->m_tmp_Smat_z_tilde_hat.invertMultiply(m_zt->m_Zvec_tilde_hat)); 
 
 1758       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1759         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(tilde)" 
 1760                                 << 
", m_like_counter = "                << m_like_counter
 
 1761                                 << 
": finished computing 'tmpValue1 = " << tmpValue1
 
 1764       lnLikelihoodValue += -0.5*tmpValue1;
 
 1766       this->memoryCheck(60);
 
 1771       double tmpValue2 = m_st->m_a_eta_modifier_tilde*std::log(m_s->m_tmp_1lambdaEtaVec[0]) - m_st->m_b_eta_modifier_tilde*m_s->m_tmp_1lambdaEtaVec[0];
 
 1772       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1773         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(tilde)" 
 1774                                 << 
", m_like_counter = "                << m_like_counter
 
 1775                                 << 
": finished computing 'tmpValue2 = " << tmpValue2
 
 1778       lnLikelihoodValue += tmpValue2;
 
 1780       this->memoryCheck(61);
 
 1782       double tmpValue3 = m_jt->m_a_y_modifier_tilde*std::log(m_e->m_tmp_5lambdaYVec[0]) - m_jt->m_b_y_modifier_tilde*m_e->m_tmp_5lambdaYVec[0];
 
 1783       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1784         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(tilde)" 
 1785                                 << 
", m_like_counter = "                << m_like_counter
 
 1786                                 << 
": finished computing 'tmpValue3 = " << tmpValue3
 
 1789       lnLikelihoodValue += tmpValue3;
 
 1791       this->memoryCheck(62);
 
 1794       queso_error_msg(
"incomplete code for situation 'm_useTildeLogicForRankDefficientC == false'");
 
 1801     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 1802       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(non-tilde)" 
 1803                               << 
", m_like_counter = " << m_like_counter
 
 1804                               << 
": going through case where C matrix (i) does not exist or (ii) is full rank" 
 1805                               << 
", m_thereIsExperimentalData = " << m_thereIsExperimentalData
 
 1809     this->memoryCheck(51);
 
 1822     if (m_thereIsExperimentalData) {
 
 1823       this->formSigma_z_hat(m_s->m_tmp_1lambdaEtaVec,
 
 1824                             m_s->m_tmp_2lambdaWVec,
 
 1825                             m_s->m_tmp_3rhoWVec,
 
 1826                             m_s->m_tmp_4lambdaSVec,
 
 1827                             m_e->m_tmp_5lambdaYVec,
 
 1828                             m_e->m_tmp_6lambdaVVec,
 
 1829                             m_e->m_tmp_7rhoVVec,
 
 1830                             m_e->m_tmp_8thetaVec,
 
 1834       queso_error_msg(
"incomplete code for situation 'm_thereIsExperimentalData == false'");
 
 1836       this->formSigma_z_hat(m_s->m_tmp_1lambdaEtaVec,
 
 1837                             m_s->m_tmp_2lambdaWVec,
 
 1838                             m_s->m_tmp_3rhoWVec,
 
 1839                             m_s->m_tmp_4lambdaSVec,
 
 1843     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 1844       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(non-tilde)" 
 1845                               << 
", m_like_counter = "                         << m_like_counter
 
 1846                               << 
": finished computing 'm_tmp_Smat_z_hat' =\n" << m_z->m_tmp_Smat_z_hat
 
 1850     this->memoryCheck(52);
 
 1855     double Smat_z_hat_lnDeterminant = m_z->m_tmp_Smat_z_hat.lnDeterminant();
 
 1857     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1858       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(non-tilde)" 
 1859                               << 
", m_like_counter = "                                        << m_like_counter
 
 1860                               << 
": finished computing 'm_tmp_Smat_z_hat.lnDeterminant()' = " << Smat_z_hat_lnDeterminant
 
 1863     lnLikelihoodValue += -0.5*Smat_z_hat_lnDeterminant;
 
 1865     this->memoryCheck(53);
 
 1870     double tmpValue1 = 
scalarProduct(m_z->m_Zvec_hat,m_z->m_tmp_Smat_z_hat.invertMultiply(m_z->m_Zvec_hat)); 
 
 1871     if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1872       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(non-tilde)" 
 1873                               << 
", m_like_counter = "                << m_like_counter
 
 1874                               << 
": finished computing 'tmpValue1 = " << tmpValue1
 
 1877     lnLikelihoodValue += -0.5*tmpValue1;
 
 1879     this->memoryCheck(54);
 
 1881     if (m_allOutputsAreScalar) {
 
 1888       double tmpValue2 = m_s->m_a_eta_modifier*std::log(m_s->m_tmp_1lambdaEtaVec[0]) - m_s->m_b_eta_modifier*m_s->m_tmp_1lambdaEtaVec[0];
 
 1889       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1890         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(non-tilde)" 
 1891                                 << 
", m_like_counter = "                << m_like_counter
 
 1892                                 << 
": finished computing 'tmpValue2 = " << tmpValue2
 
 1895       lnLikelihoodValue += tmpValue2;
 
 1897       this->memoryCheck(55);
 
 1899       double tmpValue3 = m_j->m_a_y_modifier*std::log(m_e->m_tmp_5lambdaYVec[0]) - m_j->m_b_y_modifier*m_e->m_tmp_5lambdaYVec[0];
 
 1900       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1901         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine(non-tilde)" 
 1902                                 << 
", m_like_counter = "                << m_like_counter
 
 1903                                 << 
": finished computing 'tmpValue3 = " << tmpValue3
 
 1906       lnLikelihoodValue += tmpValue3;
 
 1908       this->memoryCheck(56);
 
 1916   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 3)) {
 
 1917     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine()" 
 1918                             << 
", m_like_counter = " << m_like_counter
 
 1919                             << 
": finished computing ln(likelihood)" 
 1920                             << 
", lnLikelihoodValue = " << lnLikelihoodValue
 
 1924   this->memoryCheck(63);
 
 1929   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 1930     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine()" 
 1931                             << 
", m_like_counter = " << m_like_counter
 
 1932                             << 
": starting saving current samples as previous" 
 1936   m_t->m_like_previousTotal = totalValues;
 
 1937   m_s->m_like_previous1 = m_s->m_tmp_1lambdaEtaVec;
 
 1938   m_s->m_like_previous2 = m_s->m_tmp_2lambdaWVec;
 
 1939   m_s->m_like_previous3 = m_s->m_tmp_3rhoWVec;
 
 1940   m_s->m_like_previous2 = m_s->m_tmp_4lambdaSVec;
 
 1941   m_e->m_like_previous5 = m_e->m_tmp_5lambdaYVec;
 
 1942   m_e->m_like_previous6 = m_e->m_tmp_6lambdaVVec;
 
 1943   m_e->m_like_previous7 = m_e->m_tmp_7rhoVVec;
 
 1944   m_e->m_like_previous8 = m_e->m_tmp_8thetaVec;
 
 1949   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 1950     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine()" 
 1951                             << 
": m_like_counter = "    << m_like_counter
 
 1952                             << 
", totalValues = "       << totalValues
 
 1953                             << 
", lnLikelihoodValue = " << lnLikelihoodValue
 
 1954                             << 
" after "                << totalTime
 
 1959   if (m_env.subRank() == 0) {
 
 1961     std::cout << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::likelihoodRoutine()" 
 1962               << 
", m_like_counter = "      << m_like_counter
 
 1963               << 
": totalValues = "         << totalValues
 
 1964               << 
", lnLikelihoodValue = "   << lnLikelihoodValue
 
 1965               << 
" after "                  << totalTime
 
 1978   m_env.subComm().Barrier();
 
 1981     if (gradVector->sizeLocal() >= 4) {
 
 1982       (*gradVector)[0] = lnLikelihoodValue;
 
 1983       (*gradVector)[1] = 0.;
 
 1984       (*gradVector)[2] = 0.;
 
 1985       (*gradVector)[3] = 0.;
 
 1989   if (m_like_counter == 0) {
 
 1994   return lnLikelihoodValue;
 
 1997 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 2000   const P_V&         input_1lambdaEtaVec,
 
 2001   const P_V&         input_2lambdaWVec,
 
 2002   const P_V&         input_3rhoWVec,
 
 2003   const P_V&         input_4lambdaSVec,
 
 2004   const P_V&         input_5lambdaYVec,
 
 2005   const P_V&         input_6lambdaVVec,
 
 2006   const P_V&         input_7rhoVVec,
 
 2007   const P_V&         input_8thetaVec,
 
 2008         unsigned int outerCounter)
 
 2010   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2011     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(1)" 
 2012                             << 
", outerCounter = " << outerCounter
 
 2013                             << 
": m_formCMatrix = "                                        << m_formCMatrix
 
 2014                             << 
", m_optionsObj->m_useTildeLogicForRankDefficientC = " << m_optionsObj->m_useTildeLogicForRankDefficientC
 
 2015                             << 
", m_Cmat = "                                               << m_z->m_Cmat
 
 2016                             << 
", m_cMatIsRankDefficient = "                               << m_cMatIsRankDefficient
 
 2021                     "'m_useTildeLogicForRankDefficientC' should be 'false'");
 
 2030   this->formSigma_z(input_2lambdaWVec,
 
 2038   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 2039     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(1)" 
 2040                             << 
", outerCounter = "           << outerCounter
 
 2041                             << 
": finished forming 'm_tmp_Smat_z'" 
 2042                             << 
"\n m_tmp_Smat_z contents = " << m_z->m_tmp_Smat_z
 
 2046   if (m_env.displayVerbosity() >= 4) {
 
 2047     double       sigmaZLnDeterminant = m_z->m_tmp_Smat_z.lnDeterminant();
 
 2048     unsigned int sigmaZRank          = m_z->m_tmp_Smat_z.rank(0.,1.e-8 ); 
 
 2049     unsigned int sigmaZRank14        = m_z->m_tmp_Smat_z.rank(0.,1.e-14);
 
 2050     if (m_env.subDisplayFile()) {
 
 2051       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(1)" 
 2052                               << 
", outerCounter = "                 << outerCounter
 
 2053                               << 
", m_tmp_Smat_z.numRowsLocal() = "  << m_z->m_tmp_Smat_z.numRowsLocal()
 
 2054                               << 
", m_tmp_Smat_z.numCols() = "       << m_z->m_tmp_Smat_z.numCols()
 
 2055                               << 
", m_tmp_Smat_z.lnDeterminant() = " << sigmaZLnDeterminant
 
 2056                               << 
", m_tmp_Smat_z.rank(0.,1.e-8) = "  << sigmaZRank
 
 2057                               << 
", m_tmp_Smat_z.rank(0.,1.e-14) = " << sigmaZRank14
 
 2062   std::set<unsigned int> tmpSet;
 
 2063   tmpSet.insert(m_env.subId());
 
 2064   if (outerCounter == 1) {
 
 2065     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2066       m_z->m_tmp_Smat_z.subWriteContents(
"Sigma_z",
 
 2076   if (m_allOutputsAreScalar) {
 
 2080     m_z->m_tmp_Smat_extra.cwSet(0.);
 
 2081     m_z->m_tmp_Smat_extra.cwSet(                                         0,                                    0,(1./input_5lambdaYVec  [0]) * *m_j->m_Bop_t__Wy__Bop__inv);
 
 2082     m_z->m_tmp_Smat_extra.cwSet(m_j->m_Bop_t__Wy__Bop__inv->numRowsLocal(),m_j->m_Bop_t__Wy__Bop__inv->numCols(),(1./input_1lambdaEtaVec[0]) * *m_s->m_Kt_K_inv           );
 
 2085   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 2086     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(1)" 
 2087                             << 
", outerCounter = "               << outerCounter
 
 2088                             << 
": finished forming 'm_tmp_Smat_extra'" 
 2089                             << 
", input_5lambdaYVec[0] = "       << input_5lambdaYVec[0]
 
 2090                             << 
", input_1lambdaEtaVec[0] = "     << input_1lambdaEtaVec[0]
 
 2091                             << 
"\n m_Bop_t__Wy__Bop__inv = "     << *m_j->m_Bop_t__Wy__Bop__inv
 
 2092                             << 
"\n m_Kt_K_inv = "                << *m_s->m_Kt_K_inv
 
 2093                             << 
"\n m_tmp_Smat_extra contents = " << m_z->m_tmp_Smat_extra
 
 2097   if (m_env.displayVerbosity() >= 4) {
 
 2098     double       extraLnDeterminant = m_z->m_tmp_Smat_extra.lnDeterminant();
 
 2099     unsigned int extraRank          = m_z->m_tmp_Smat_extra.rank(0.,1.e-8 ); 
 
 2100     unsigned int extraRank14        = m_z->m_tmp_Smat_extra.rank(0.,1.e-14);
 
 2101     if (m_env.subDisplayFile()) {
 
 2102       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(1)" 
 2103                               << 
", outerCounter = "                     << outerCounter
 
 2104                               << 
", m_tmp_Smat_extra.numRowsLocal() = "  << m_z->m_tmp_Smat_extra.numRowsLocal()
 
 2105                               << 
", m_tmp_Smat_extra.numCols() = "       << m_z->m_tmp_Smat_extra.numCols()
 
 2106                               << 
", m_tmp_Smat_extra.lnDeterminant() = " << extraLnDeterminant
 
 2107                               << 
", m_tmp_Smat_extra.rank(0.,1.e-8) = "  << extraRank
 
 2108                               << 
", m_tmp_Smat_extra.rank(0.,1.e-14) = " << extraRank14
 
 2113   if (outerCounter == 1) {
 
 2114     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2115       m_z->m_tmp_Smat_extra.subWriteContents(
"Sigma_extra",
 
 2125   m_z->m_tmp_Smat_z_hat = m_z->m_tmp_Smat_z + m_z->m_tmp_Smat_extra;
 
 2127   if (m_env.displayVerbosity() >= 4) {
 
 2128     double       zHatLnDeterminant = m_z->m_tmp_Smat_z_hat.lnDeterminant();
 
 2129     unsigned int zHatRank          = m_z->m_tmp_Smat_z_hat.rank(0.,1.e-8 ); 
 
 2130     unsigned int zHatRank14        = m_z->m_tmp_Smat_z_hat.rank(0.,1.e-14);
 
 2131     if (m_env.subDisplayFile()) {
 
 2132       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(1)" 
 2133                               << 
", outerCounter = "                     << outerCounter
 
 2134                               << 
", m_tmp_Smat_z_hat.numRowsLocal() = "  << m_z->m_tmp_Smat_z_hat.numRowsLocal()
 
 2135                               << 
", m_tmp_Smat_z_hat.numCols() = "       << m_z->m_tmp_Smat_z_hat.numCols()
 
 2136                               << 
", m_tmp_Smat_z_hat.lnDeterminant() = " << zHatLnDeterminant
 
 2137                               << 
", m_tmp_Smat_z_hat.rank(0.,1.e-8) = "  << zHatRank
 
 2138                               << 
", m_tmp_Smat_z_hat.rank(0.,1.e-14) = " << zHatRank14
 
 2143   if (outerCounter == 1) {
 
 2144     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2145       m_z->m_tmp_Smat_z_hat.subWriteContents(
"Sigma_z_hat",
 
 2152   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2153     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(1)" 
 2154                             << 
", outerCounter = " << outerCounter
 
 2162 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 2165   const P_V&         input_1lambdaEtaVec,
 
 2166   const P_V&         input_2lambdaWVec,
 
 2167   const P_V&         input_3rhoWVec,
 
 2168   const P_V&         input_4lambdaSVec,
 
 2169         unsigned int outerCounter)
 
 2171   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2172     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(2)" 
 2173                             << 
", outerCounter = " << outerCounter
 
 2174                             << 
": m_formCMatrix = "                                        << m_formCMatrix
 
 2175                             << 
", m_optionsObj->m_useTildeLogicForRankDefficientC = " << m_optionsObj->m_useTildeLogicForRankDefficientC
 
 2176                             << 
", m_Cmat = "                                               << m_z->m_Cmat
 
 2177                             << 
", m_cMatIsRankDefficient = "                               << m_cMatIsRankDefficient
 
 2182                     "'m_useTildeLogicForRankDefficientC' should be 'false'");
 
 2191   this->formSigma_z(input_2lambdaWVec,
 
 2196   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 2197     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(2)" 
 2198                             << 
", outerCounter = "           << outerCounter
 
 2199                             << 
": finished forming 'm_tmp_Smat_z'" 
 2200                             << 
"\n m_tmp_Smat_z contents = " << m_z->m_tmp_Smat_z
 
 2204   if (m_env.displayVerbosity() >= 4) {
 
 2205     double       sigmaZLnDeterminant = m_z->m_tmp_Smat_z.lnDeterminant();
 
 2206     unsigned int sigmaZRank          = m_z->m_tmp_Smat_z.rank(0.,1.e-8 ); 
 
 2207     unsigned int sigmaZRank14        = m_z->m_tmp_Smat_z.rank(0.,1.e-14);
 
 2208     if (m_env.subDisplayFile()) {
 
 2209       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(2)" 
 2210                               << 
", outerCounter = "                 << outerCounter
 
 2211                               << 
", m_tmp_Smat_z.numRowsLocal() = "  << m_z->m_tmp_Smat_z.numRowsLocal()
 
 2212                               << 
", m_tmp_Smat_z.numCols() = "       << m_z->m_tmp_Smat_z.numCols()
 
 2213                               << 
", m_tmp_Smat_z.lnDeterminant() = " << sigmaZLnDeterminant
 
 2214                               << 
", m_tmp_Smat_z.rank(0.,1.e-8) = "  << sigmaZRank
 
 2215                               << 
", m_tmp_Smat_z.rank(0.,1.e-14) = " << sigmaZRank14
 
 2220 #if 0 // Case with no experimental data // checar 
 2224   if (m_allOutputsAreScalar) {
 
 2228     m_z->m_tmp_Smat_extra.cwSet(0.);
 
 2229     m_z->m_tmp_Smat_extra.cwSet(                                         0,                                    0,(1./input_5lambdaYVec  [0]) * *m_j->m_Bop_t__Wy__Bop__inv);
 
 2230     m_z->m_tmp_Smat_extra.cwSet(m_j->m_Bop_t__Wy__Bop__inv->numRowsLocal(),m_j->m_Bop_t__Wy__Bop__inv->numCols(),(1./input_1lambdaEtaVec[0]) * *m_s->m_Kt_K_inv           );
 
 2233   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 2234     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(2)" 
 2235                             << 
", outerCounter = "               << outerCounter
 
 2236                             << 
": finished forming 'm_tmp_Smat_extra'" 
 2237                             << 
", input_5lambdaYVec[0] = "       << input_5lambdaYVec[0]
 
 2238                             << 
", input_1lambdaEtaVec[0] = "     << input_1lambdaEtaVec[0]
 
 2239                             << 
"\n m_Bop_t__Wy__Bop__inv = "     << *m_j->m_Bop_t__Wy__Bop__inv
 
 2240                             << 
"\n m_Kt_K_inv = "                << *m_s->m_Kt_K_inv
 
 2241                             << 
"\n m_tmp_Smat_extra contents = " << m_z->m_tmp_Smat_extra
 
 2245   if (m_env.displayVerbosity() >= 4) {
 
 2246     double       extraLnDeterminant = m_z->m_tmp_Smat_extra.lnDeterminant();
 
 2247     unsigned int extraRank          = m_z->m_tmp_Smat_extra.rank(0.,1.e-8 ); 
 
 2248     unsigned int extraRank14        = m_z->m_tmp_Smat_extra.rank(0.,1.e-14);
 
 2249     if (m_env.subDisplayFile()) {
 
 2250       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(2)" 
 2251                               << 
", outerCounter = "                     << outerCounter
 
 2252                               << 
", m_tmp_Smat_extra.numRowsLocal() = "  << m_z->m_tmp_Smat_extra.numRowsLocal()
 
 2253                               << 
", m_tmp_Smat_extra.numCols() = "       << m_z->m_tmp_Smat_extra.numCols()
 
 2254                               << 
", m_tmp_Smat_extra.lnDeterminant() = " << extraLnDeterminant
 
 2255                               << 
", m_tmp_Smat_extra.rank(0.,1.e-8) = "  << extraRank
 
 2256                               << 
", m_tmp_Smat_extra.rank(0.,1.e-14) = " << extraRank14
 
 2264   m_z->m_tmp_Smat_z_hat = m_z->m_tmp_Smat_z + m_z->m_tmp_Smat_extra;
 
 2266   if (m_env.displayVerbosity() >= 4) {
 
 2267     double       zHatLnDeterminant = m_z->m_tmp_Smat_z_hat.lnDeterminant();
 
 2268     unsigned int zHatRank          = m_z->m_tmp_Smat_z_hat.rank(0.,1.e-8 ); 
 
 2269     unsigned int zHatRank14        = m_z->m_tmp_Smat_z_hat.rank(0.,1.e-14);
 
 2270     if (m_env.subDisplayFile()) {
 
 2271       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(2)" 
 2272                               << 
", outerCounter = "                     << outerCounter
 
 2273                               << 
", m_tmp_Smat_z_hat.numRowsLocal() = "  << m_z->m_tmp_Smat_z_hat.numRowsLocal()
 
 2274                               << 
", m_tmp_Smat_z_hat.numCols() = "       << m_z->m_tmp_Smat_z_hat.numCols()
 
 2275                               << 
", m_tmp_Smat_z_hat.lnDeterminant() = " << zHatLnDeterminant
 
 2276                               << 
", m_tmp_Smat_z_hat.rank(0.,1.e-8) = "  << zHatRank
 
 2277                               << 
", m_tmp_Smat_z_hat.rank(0.,1.e-14) = " << zHatRank14
 
 2282   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2283     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_hat(2)" 
 2284                             << 
", outerCounter = " << outerCounter
 
 2291 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 2294   const P_V&         input_1lambdaEtaVec,
 
 2295   const P_V&         input_2lambdaWVec,
 
 2296   const P_V&         input_3rhoWVec,
 
 2297   const P_V&         input_4lambdaSVec,
 
 2298   const P_V&         input_5lambdaYVec,
 
 2299   const P_V&         input_6lambdaVVec,
 
 2300   const P_V&         input_7rhoVVec,
 
 2301   const P_V&         input_8thetaVec,
 
 2302         unsigned int outerCounter)
 
 2304   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2305     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_tilde_hat()" 
 2306                             << 
", outerCounter = " << outerCounter
 
 2307                             << 
": m_formCMatrix = "                                        << m_formCMatrix
 
 2308                             << 
", m_optionsObj->m_useTildeLogicForRankDefficientC = " << m_optionsObj->m_useTildeLogicForRankDefficientC
 
 2309                             << 
", m_Cmat = "                                               << m_z->m_Cmat
 
 2310                             << 
", m_cMatIsRankDefficient = "                               << m_cMatIsRankDefficient
 
 2318   queso_require_msg(m_cMatIsRankDefficient, 
"'m_Cmat' should be rank defficient");
 
 2320   queso_require_msg(m_optionsObj->m_useTildeLogicForRankDefficientC, 
"'m_useTildeLogicForRankDefficientC' should be 'true'");
 
 2329   this->formSigma_z(input_2lambdaWVec,
 
 2337   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 2338     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_tilde_hat()" 
 2339                             << 
", outerCounter = "           << outerCounter
 
 2340                             << 
": finished forming 'm_tmp_Smat_z'" 
 2341                             << 
"\n m_tmp_Smat_z contents = " << m_z->m_tmp_Smat_z
 
 2345   if (m_env.displayVerbosity() >= 4) {
 
 2346     double       sigmaZLnDeterminant = m_z->m_tmp_Smat_z.lnDeterminant();
 
 2347     unsigned int sigmaZRank          = m_z->m_tmp_Smat_z.rank(0.,1.e-8 ); 
 
 2348     unsigned int sigmaZRank14        = m_z->m_tmp_Smat_z.rank(0.,1.e-14);
 
 2349     if (m_env.subDisplayFile()) {
 
 2350       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_tilde_hat()" 
 2351                               << 
", outerCounter = "                 << outerCounter
 
 2352                               << 
", m_tmp_Smat_z.numRowsLocal() = "  << m_z->m_tmp_Smat_z.numRowsLocal()
 
 2353                               << 
", m_tmp_Smat_z.numCols() = "       << m_z->m_tmp_Smat_z.numCols()
 
 2354                               << 
", m_tmp_Smat_z.lnDeterminant() = " << sigmaZLnDeterminant
 
 2355                               << 
", m_tmp_Smat_z.rank(0.,1.e-8) = "  << sigmaZRank
 
 2356                               << 
", m_tmp_Smat_z.rank(0.,1.e-14) = " << sigmaZRank14
 
 2364   m_zt->m_tmp_Smat_z_tilde = m_zt->m_Lmat * (m_z->m_tmp_Smat_z * m_zt->m_Lmat_t);
 
 2366   if (m_env.displayVerbosity() >= 4) {
 
 2367     double       sigmaZTildeLnDeterminant = m_zt->m_tmp_Smat_z_tilde.lnDeterminant();
 
 2368     unsigned int sigmaZTildeRank          = m_zt->m_tmp_Smat_z_tilde.rank(0.,1.e-8 ); 
 
 2369     unsigned int sigmaZTildeRank14        = m_zt->m_tmp_Smat_z_tilde.rank(0.,1.e-14);
 
 2370     if (m_env.subDisplayFile()) {
 
 2371       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_tilde_hat()" 
 2372                               << 
", outerCounter = "                        << outerCounter
 
 2373                               << 
", m_tmp_Smat_z_tilde->numRowsLocal() = "  << m_zt->m_tmp_Smat_z_tilde.numRowsLocal()
 
 2374                               << 
", m_tmp_Smat_z_tilde->numCols() = "       << m_zt->m_tmp_Smat_z_tilde.numCols()
 
 2375                               << 
", m_tmp_Smat_z_tilde->lnDeterminant() = " << sigmaZTildeLnDeterminant
 
 2376                               << 
", m_tmp_Smat_z_tilde->rank(0.,1.e-8) = "  << sigmaZTildeRank
 
 2377                               << 
", m_tmp_Smat_z_tilde->rank(0.,1.e-14) = " << sigmaZTildeRank14
 
 2385   m_zt->m_tmp_Smat_extra_tilde.cwSet(0.);
 
 2386   m_zt->m_tmp_Smat_extra_tilde.cwSet(                                           0,                                      0,(1./input_5lambdaYVec  [0]) * (m_jt->m_Btildet_Wy_Btilde_inv));
 
 2387   m_zt->m_tmp_Smat_extra_tilde.cwSet(m_jt->m_Btildet_Wy_Btilde_inv.numRowsLocal(),m_jt->m_Btildet_Wy_Btilde_inv.numCols(),(1./input_1lambdaEtaVec[0]) * (m_st->m_Ktildet_Ktilde_inv)   );
 
 2389   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 2390     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_tilde_hat()" 
 2391                             << 
", outerCounter = "                     << outerCounter
 
 2392                             << 
": finished forming 'm_tmp_Smat_extra_tilde'" 
 2393                             << 
", input_5lambdaYVec[0] = "             << input_5lambdaYVec[0]
 
 2394                             << 
", input_1lambdaEtaVec[0] = "           << input_1lambdaEtaVec[0]
 
 2395                             << 
"\n m_Btildet_Wy_Btilde_inv = "         << m_jt->m_Btildet_Wy_Btilde_inv
 
 2396                             << 
"\n m_Ktildet_Ktilde_inv = "            << m_st->m_Ktildet_Ktilde_inv
 
 2397                             << 
"\n m_tmp_Smat_extra_tilde contents = " << m_zt->m_tmp_Smat_extra_tilde
 
 2401   if (m_env.displayVerbosity() >= 4) {
 
 2402     double       extraTildeLnDeterminant = m_zt->m_tmp_Smat_extra_tilde.lnDeterminant();
 
 2403     unsigned int extraTildeRank          = m_zt->m_tmp_Smat_extra_tilde.rank(0.,1.e-8 ); 
 
 2404     unsigned int extraTildeRank14        = m_zt->m_tmp_Smat_extra_tilde.rank(0.,1.e-14);
 
 2405     if (m_env.subDisplayFile()) {
 
 2406       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_tilde_hat()" 
 2407                               << 
", outerCounter = "                           << outerCounter
 
 2408                               << 
", m_tmp_Smat_extra_tilde.numRowsLocal() = "  << m_zt->m_tmp_Smat_extra_tilde.numRowsLocal()
 
 2409                               << 
", m_tmp_Smat_extra_tilde.numCols() = "       << m_zt->m_tmp_Smat_extra_tilde.numCols()
 
 2410                               << 
", m_tmp_Smat_extra_tilde.lnDeterminant() = " << extraTildeLnDeterminant
 
 2411                               << 
", m_tmp_Smat_extra_tilde.rank(0.,1.e-8) = "  << extraTildeRank
 
 2412                               << 
", m_tmp_Smat_extra_tilde.rank(0.,1.e-14) = " << extraTildeRank14
 
 2420   m_zt->m_tmp_Smat_z_tilde_hat = m_zt->m_tmp_Smat_z_tilde + m_zt->m_tmp_Smat_extra_tilde;
 
 2422   if (m_env.displayVerbosity() >= 4) {
 
 2423     double       zTildeHatLnDeterminant = m_zt->m_tmp_Smat_z_tilde_hat.lnDeterminant();
 
 2424     unsigned int zTildeHatRank          = m_zt->m_tmp_Smat_z_tilde_hat.rank(0.,1.e-8 ); 
 
 2425     unsigned int zTildeHatRank14        = m_zt->m_tmp_Smat_z_tilde_hat.rank(0.,1.e-14);
 
 2426     if (m_env.subDisplayFile()) {
 
 2427       *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_tilde_hat()" 
 2428                               << 
", outerCounter = "                            << outerCounter
 
 2429                               << 
", m_tmp_Smat_z_tilde_hat->numRowsLocal() = "  << m_zt->m_tmp_Smat_z_tilde_hat.numRowsLocal()
 
 2430                               << 
", m_tmp_Smat_z_tilde_hat->numCols() = "       << m_zt->m_tmp_Smat_z_tilde_hat.numCols()
 
 2431                               << 
", m_tmp_Smat_z_tilde_hat->lnDeterminant() = " << zTildeHatLnDeterminant
 
 2432                               << 
", m_tmp_Smat_z_tilde_hat->rank(0.,1.e-8) = "  << zTildeHatRank
 
 2433                               << 
", m_tmp_Smat_z_tilde_hat->rank(0.,1.e-14) = " << zTildeHatRank14
 
 2438   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2439     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z_tilde_hat()" 
 2440                             << 
", outerCounter = " << outerCounter
 
 2447 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 2450   const P_V&         input_2lambdaWVec,
 
 2451   const P_V&         input_3rhoWVec,
 
 2452   const P_V&         input_4lambdaSVec,
 
 2453   const P_V&         input_6lambdaVVec,
 
 2454   const P_V&         input_7rhoVVec,
 
 2455   const P_V&         input_8thetaVec,
 
 2456         unsigned int outerCounter)
 
 2458   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2459     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(1)" 
 2460                             << 
", outerCounter = " << outerCounter
 
 2464   std::set<unsigned int> tmpSet;
 
 2465   tmpSet.insert(m_env.subId());
 
 2467   this->memoryCheck(90);
 
 2496   unsigned int initialPos = 0;
 
 2497   for (
unsigned int i = 0; i < m_e->m_Smat_v_i_spaces.size(); ++i) {
 
 2498     input_7rhoVVec.cwExtract(initialPos,m_e->m_tmp_rho_v_vec);
 
 2499     initialPos += m_e->m_tmp_rho_v_vec.sizeLocal();
 
 2500     m_e->m_Rmat_v_is[i]->cwSet(0.);
 
 2501     this->fillR_formula2_for_Sigma_v(m_e->m_paper_xs_standard,
 
 2502                                      m_e->m_tmp_rho_v_vec,
 
 2503                                      *(m_e->m_Rmat_v_is[i]), 
 
 2506     m_e->m_Smat_v_is[i]->cwSet(0.);
 
 2507     m_e->m_Smat_v_is[i]->fillWithTensorProduct(0,0,*(m_e->m_Imat_v_is[i]),*(m_e->m_Rmat_v_is[i]),
true,
true); 
 
 2508     *(m_e->m_Smat_v_is[i]) *= (1./input_6lambdaVVec[i]);
 
 2510   m_e->m_Smat_v.cwSet(0.);
 
 2511   m_e->m_Smat_v.fillWithBlocksDiagonally(0,0,m_e->m_Smat_v_is,
true,
true);
 
 2512   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2513     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(1)" 
 2514                             << 
", outerCounter = " << outerCounter
 
 2515                             << 
": finished instantiating 'm_Smat_v'" 
 2519   if (outerCounter == 1) {
 
 2520     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2521       m_e->m_Smat_v.subWriteContents(
"Sigma_v",
 
 2528   this->memoryCheck(91);
 
 2531   for (
unsigned int i = 0; i < m_j->m_Smat_u_is.size(); ++i) {
 
 2532     input_3rhoWVec.cwExtract(initialPos,m_s->m_tmp_rho_w_vec);
 
 2533     initialPos += m_s->m_tmp_rho_w_vec.sizeLocal();
 
 2534     m_j->m_Rmat_u_is[i]->cwSet(0.);
 
 2535     this->fillR_formula1_for_Sigma_u(m_e->m_paper_xs_standard,
 
 2537                                      m_s->m_tmp_rho_w_vec,
 
 2538                                      *(m_j->m_Rmat_u_is[i]),
 
 2541     m_j->m_Smat_u_is[i]->cwSet(0.);
 
 2542     *(m_j->m_Smat_u_is[i]) = (1./input_2lambdaWVec[i]) * *(m_j->m_Rmat_u_is[i]);
 
 2543     for (
unsigned int j = 0; j < m_j->m_Smat_u_is[i]->numRowsLocal(); ++j) {
 
 2544       (*(m_j->m_Smat_u_is[i]))(j,j) +=  1/m_s->m_tmp_4lambdaSVec[i]; 
 
 2547   m_j->m_Smat_u.cwSet(0.);
 
 2548   m_j->m_Smat_u.fillWithBlocksDiagonally(0,0,m_j->m_Smat_u_is,
true,
true);
 
 2549   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2550     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(1)" 
 2551                             << 
", outerCounter = " << outerCounter
 
 2552                             << 
": finished instantiating 'm_Smat_u'" 
 2556   if (outerCounter == 1) {
 
 2557     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2558       m_j->m_Smat_u.subWriteContents(
"Sigma_u",
 
 2565   this->memoryCheck(92);
 
 2568   for (
unsigned int i = 0; i < m_s->m_Smat_w_is.size(); ++i) {
 
 2569     input_3rhoWVec.cwExtract(initialPos,m_s->m_tmp_rho_w_vec);
 
 2570     initialPos += m_s->m_tmp_rho_w_vec.sizeLocal();
 
 2571     m_s->m_Rmat_w_is[i]->cwSet(0.); 
 
 2572     this->fillR_formula1_for_Sigma_w(m_s->m_paper_xs_asterisks_standard, 
 
 2573                                      m_s->m_paper_ts_asterisks_standard,
 
 2574                                      m_s->m_tmp_rho_w_vec,
 
 2575                                      *(m_s->m_Rmat_w_is[i]),
 
 2578     m_s->m_Smat_w_is[i]->cwSet(0.);
 
 2579     *(m_s->m_Smat_w_is[i]) = (1./input_2lambdaWVec[i]) * *(m_s->m_Rmat_w_is[i]);
 
 2581     if ((outerCounter == 1) &&
 
 2583       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 2584         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(1)" 
 2585                                 << 
", outerCounter = " << outerCounter
 
 2586                                 << 
": during the calculation of 'm_Smat_w'" 
 2587                                 << 
"\n  m_s->m_paper_xs_asterisks_standard.size() = " << m_s->m_paper_xs_asterisks_standard.size();
 
 2588         for (
unsigned int tmpId = 0; tmpId < m_s->m_paper_xs_asterisks_standard.size(); ++tmpId) {
 
 2589           *m_env.subDisplayFile() << 
"\n  m_s->m_paper_xs_asterisks_standard[" << tmpId << 
"] = " 
 2590                                   << *(m_s->m_paper_xs_asterisks_standard[tmpId])
 
 2593         *m_env.subDisplayFile() << 
"\n  m_s->m_paper_ts_asterisks_standard.size() = " << m_s->m_paper_ts_asterisks_standard.size();
 
 2594         for (
unsigned int tmpId = 0; tmpId < m_s->m_paper_ts_asterisks_standard.size(); ++tmpId) {
 
 2595           *m_env.subDisplayFile() << 
"\n  m_s->m_paper_ts_asterisks_standard[" << tmpId << 
"] = " 
 2596                                   << *(m_s->m_paper_ts_asterisks_standard[tmpId])
 
 2599         *m_env.subDisplayFile() << 
"\n  m_s->m_tmp_rho_w_vec                      = " << m_s->m_tmp_rho_w_vec
 
 2600                                 << 
"\n  (*(m_s->m_Rmat_w_is[i=0]))(0,0)           = " << (*(m_s->m_Rmat_w_is[i]))(0,0)
 
 2601                                 << 
"\n  input_2lambdaWVec[i=0]                    = " << input_2lambdaWVec[i]
 
 2602                                 << 
"\n  (*(m_s->m_Smat_w_is[i=0]))(0,0)           = " << (*(m_s->m_Smat_w_is[i]))(0,0)
 
 2603                                 << 
"\n  m_s->m_tmp_4lambdaSVec[i=0]               = " << m_s->m_tmp_4lambdaSVec[i]
 
 2608     for (
unsigned int j = 0; j < m_s->m_Smat_w_is[i]->numRowsLocal(); ++j) {
 
 2609       (*(m_s->m_Smat_w_is[i]))(j,j) +=  1/m_s->m_tmp_4lambdaSVec[i]; 
 
 2612     if ((outerCounter == 1) &&
 
 2614       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 2)) {
 
 2615         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(1)" 
 2616                                 << 
", outerCounter = " << outerCounter
 
 2617                                 << 
": during the calculation of 'm_Smat_w'" 
 2618                                 << 
"\n  (*(m_s->m_Smat_w_is[i=0]))(0,0) = " << (*(m_s->m_Smat_w_is[i]))(0,0)
 
 2623   m_s->m_Smat_w.cwSet(0.);
 
 2624   m_s->m_Smat_w.fillWithBlocksDiagonally(0,0,m_s->m_Smat_w_is,
true,
true);
 
 2625   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2626     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(1)" 
 2627                             << 
", outerCounter = " << outerCounter
 
 2628                             << 
": finished instantiating 'm_Smat_w'" 
 2632   if (outerCounter == 1) {
 
 2633     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2634       m_s->m_Smat_w.subWriteContents(
"Sigma_w",
 
 2641   this->memoryCheck(93);
 
 2644   for (
unsigned int i = 0; i < m_j->m_Smat_uw_is.size(); ++i) {
 
 2645     input_3rhoWVec.cwExtract(initialPos,m_s->m_tmp_rho_w_vec);
 
 2646     initialPos += m_s->m_tmp_rho_w_vec.sizeLocal();
 
 2647     m_j->m_Rmat_uw_is[i]->cwSet(0.);
 
 2648     this->fillR_formula1_for_Sigma_uw(m_e->m_paper_xs_standard,
 
 2650                                       m_s->m_paper_xs_asterisks_standard,
 
 2651                                       m_s->m_paper_ts_asterisks_standard,
 
 2652                                       m_s->m_tmp_rho_w_vec,*(m_j->m_Rmat_uw_is[i]),
 
 2655     m_j->m_Smat_uw_is[i]->cwSet(0.);
 
 2656     *(m_j->m_Smat_uw_is[i]) = (1./input_2lambdaWVec[i]) * *(m_j->m_Rmat_uw_is[i]);
 
 2658   m_j->m_Smat_uw.cwSet(0.);
 
 2659   m_j->m_Smat_uw.fillWithBlocksDiagonally(0,0,m_j->m_Smat_uw_is,
true,
true);
 
 2660   m_j->m_Smat_uw_t.fillWithTranspose(0,0,m_j->m_Smat_uw,
true,
true);
 
 2661   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2662     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(1)" 
 2663                             << 
", outerCounter = " << outerCounter
 
 2664                             << 
": finished instantiating 'm_j->m_Smat_uw'" 
 2668   if (outerCounter == 1) {
 
 2669     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2670       m_j->m_Smat_uw.subWriteContents(
"Sigma_uw",
 
 2677   this->memoryCheck(94);
 
 2682   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2683     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(1)" 
 2684                             << 
", outerCounter = " << outerCounter
 
 2685                             << 
": m_tmp_Smat_z.numRowsLocal() = " << m_z->m_tmp_Smat_z.numRowsLocal()
 
 2686                             << 
", m_tmp_Smat_z.numCols() = "      << m_z->m_tmp_Smat_z.numCols()
 
 2687                             << 
", m_Smat_v.numRowsLocal() = "     << m_e->m_Smat_v.numRowsLocal()
 
 2688                             << 
", m_Smat_v.numCols() = "          << m_e->m_Smat_v.numCols()
 
 2689                             << 
", m_Smat_u.numRowsLocal() = "     << m_j->m_Smat_u.numRowsLocal()
 
 2690                             << 
", m_Smat_u.numCols() = "          << m_j->m_Smat_u.numCols()
 
 2691                             << 
", m_Smat_w.numRowsLocal() = "     << m_s->m_Smat_w.numRowsLocal()
 
 2692                             << 
", m_Smat_w.numCols() = "          << m_s->m_Smat_w.numCols()
 
 2693                             << 
", m_Smat_uw.numRowsLocal() = "    << m_j->m_Smat_uw.numRowsLocal()
 
 2694                             << 
", m_Smat_uw.numCols() = "         << m_j->m_Smat_uw.numCols()
 
 2695                             << 
", m_Smat_v_i_spaces.size() = "    << m_e->m_Smat_v_i_spaces.size()
 
 2696                             << 
", m_Smat_u_is.size() = "          << m_j->m_Smat_u_is.size()
 
 2697                             << 
", m_Smat_w_is.size() = "          << m_s->m_Smat_w_is.size()
 
 2701   this->memoryCheck(95);
 
 2703   m_z->m_tmp_Smat_z.cwSet(0.);
 
 2704   if (m_allOutputsAreScalar) {
 
 2708     m_z->m_tmp_Smat_z.cwSet(0,0,m_e->m_Smat_v);
 
 2709     m_z->m_tmp_Smat_z.cwSet(m_e->m_Smat_v.numRowsLocal(),                             m_e->m_Smat_v.numCols(),                        m_j->m_Smat_u);
 
 2710     m_z->m_tmp_Smat_z.cwSet(m_e->m_Smat_v.numRowsLocal(),                             m_e->m_Smat_v.numCols()+m_j->m_Smat_u.numCols(),m_j->m_Smat_uw);
 
 2711     m_z->m_tmp_Smat_z.cwSet(m_e->m_Smat_v.numRowsLocal()+m_j->m_Smat_u.numRowsLocal(),m_e->m_Smat_v.numCols(),                        m_j->m_Smat_uw_t);
 
 2712     m_z->m_tmp_Smat_z.cwSet(m_e->m_Smat_v.numRowsLocal()+m_j->m_Smat_u.numRowsLocal(),m_e->m_Smat_v.numCols()+m_j->m_Smat_u.numCols(),m_s->m_Smat_w);
 
 2715   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2716     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(1)" 
 2717                             << 
", outerCounter = " << outerCounter
 
 2725 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 2728   const P_V&         input_2lambdaWVec,
 
 2729   const P_V&         input_3rhoWVec,
 
 2730   const P_V&         input_4lambdaSVec,
 
 2731         unsigned int outerCounter)
 
 2733   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2734     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(2)" 
 2735                             << 
", outerCounter = " << outerCounter
 
 2739   std::set<unsigned int> tmpSet;
 
 2740   tmpSet.insert(m_env.subId());
 
 2742   this->memoryCheck(90);
 
 2771 #if 0 // Case with no experimental data // checar 
 2772   unsigned int initialPos = 0;
 
 2773   for (
unsigned int i = 0; i < m_e->m_Smat_v_i_spaces.size(); ++i) {
 
 2774     input_7rhoVVec.cwExtract(initialPos,m_e->m_tmp_rho_v_vec);
 
 2775     initialPos += m_e->m_tmp_rho_v_vec.sizeLocal();
 
 2776     m_e->m_Rmat_v_is[i]->cwSet(0.);
 
 2777     this->fillR_formula2_for_Sigma_v(m_e->m_paper_xs_standard,
 
 2778                                      m_e->m_tmp_rho_v_vec,
 
 2779                                      *(m_e->m_Rmat_v_is[i]),
 
 2782     m_e->m_Smat_v_is[i]->cwSet(0.);
 
 2783     m_e->m_Smat_v_is[i]->fillWithTensorProduct(0,0,*(m_e->m_Imat_v_is[i]),*(m_e->m_Rmat_v_is[i]),
true,
true);
 
 2784     *(m_e->m_Smat_v_is[i]) *= (1./input_6lambdaVVec[i]);
 
 2786   m_e->m_Smat_v.cwSet(0.);
 
 2787   m_e->m_Smat_v.fillWithBlocksDiagonally(0,0,m_e->m_Smat_v_is,
true,
true);
 
 2788   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2789     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(2)" 
 2790                             << 
", outerCounter = " << outerCounter
 
 2791                             << 
": finished instantiating 'm_Smat_v'" 
 2795   if (outerCounter == 1) {
 
 2796     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2797       m_e->m_Smat_v.subWriteContents(
"Sigma_v",
 
 2803   this->memoryCheck(91);
 
 2806   for (
unsigned int i = 0; i < m_j->m_Smat_u_is.size(); ++i) {
 
 2807     input_3rhoWVec.cwExtract(initialPos,m_s->m_tmp_rho_w_vec);
 
 2808     initialPos += m_s->m_tmp_rho_w_vec.sizeLocal();
 
 2809     m_j->m_Rmat_u_is[i]->cwSet(0.);
 
 2810     this->fillR_formula1_for_Sigma_u(m_e->m_paper_xs_standard,
 
 2812                                      m_s->m_tmp_rho_w_vec,
 
 2813                                      *(m_j->m_Rmat_u_is[i]),
 
 2816     m_j->m_Smat_u_is[i]->cwSet(0.);
 
 2817     *(m_j->m_Smat_u_is[i]) = (1./input_2lambdaWVec[i]) * *(m_j->m_Rmat_u_is[i]);
 
 2818     for (
unsigned int j = 0; j < m_j->m_Smat_u_is[i]->numRowsLocal(); ++j) {
 
 2819       (*(m_j->m_Smat_u_is[i]))(j,j) +=  1/m_s->m_tmp_4lambdaSVec[i]; 
 
 2822   m_j->m_Smat_u.cwSet(0.);
 
 2823   m_j->m_Smat_u.fillWithBlocksDiagonally(0,0,m_j->m_Smat_u_is,
true,
true);
 
 2824   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2825     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(2)" 
 2826                             << 
", outerCounter = " << outerCounter
 
 2827                             << 
": finished instantiating 'm_Smat_u'" 
 2831   if (outerCounter == 1) {
 
 2832     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2833       m_j->m_Smat_u.subWriteContents(
"Sigma_u",
 
 2840   this->memoryCheck(92);
 
 2843   for (
unsigned int i = 0; i < m_s->m_Smat_w_is.size(); ++i) {
 
 2844     input_3rhoWVec.cwExtract(initialPos,m_s->m_tmp_rho_w_vec);
 
 2845     initialPos += m_s->m_tmp_rho_w_vec.sizeLocal();
 
 2846     m_s->m_Rmat_w_is[i]->cwSet(0.); 
 
 2847     this->fillR_formula1_for_Sigma_w(m_s->m_paper_xs_asterisks_standard,
 
 2848                                      m_s->m_paper_ts_asterisks_standard,
 
 2849                                      m_s->m_tmp_rho_w_vec,
 
 2850                                      *(m_s->m_Rmat_w_is[i]),
 
 2853     m_s->m_Smat_w_is[i]->cwSet(0.);
 
 2854     *(m_s->m_Smat_w_is[i]) = (1./input_2lambdaWVec[i]) * *(m_s->m_Rmat_w_is[i]);
 
 2855     for (
unsigned int j = 0; j < m_s->m_Smat_w_is[i]->numRowsLocal(); ++j) {
 
 2856       (*(m_s->m_Smat_w_is[i]))(j,j) +=  1/m_s->m_tmp_4lambdaSVec[i]; 
 
 2859   m_s->m_Smat_w.cwSet(0.);
 
 2860   m_s->m_Smat_w.fillWithBlocksDiagonally(0,0,m_s->m_Smat_w_is,
true,
true);
 
 2861   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2862     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(2)" 
 2863                             << 
", outerCounter = " << outerCounter
 
 2864                             << 
": finished instantiating 'm_Smat_w'" 
 2868   if (outerCounter == 1) {
 
 2869     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2870       m_s->m_Smat_w.subWriteContents(
"Sigma_w",
 
 2877   this->memoryCheck(93);
 
 2880   for (
unsigned int i = 0; i < m_j->m_Smat_uw_is.size(); ++i) {
 
 2881     input_3rhoWVec.cwExtract(initialPos,m_s->m_tmp_rho_w_vec);
 
 2882     initialPos += m_s->m_tmp_rho_w_vec.sizeLocal();
 
 2883     m_j->m_Rmat_uw_is[i]->cwSet(0.);
 
 2884     this->fillR_formula1_for_Sigma_uw(m_e->m_paper_xs_standard,
 
 2886                                       m_s->m_paper_xs_asterisks_standard,
 
 2887                                       m_s->m_paper_ts_asterisks_standard,
 
 2888                                       m_s->m_tmp_rho_w_vec,*(m_j->m_Rmat_uw_is[i]),
 
 2891     m_j->m_Smat_uw_is[i]->cwSet(0.);
 
 2892     *(m_j->m_Smat_uw_is[i]) = (1./input_2lambdaWVec[i]) * *(m_j->m_Rmat_uw_is[i]);
 
 2894   m_j->m_Smat_uw.cwSet(0.);
 
 2895   m_j->m_Smat_uw.fillWithBlocksDiagonally(0,0,m_j->m_Smat_uw_is,
true,
true);
 
 2896   m_j->m_Smat_uw_t.fillWithTranspose(0,0,m_j->m_Smat_uw,
true,
true);
 
 2897   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2898     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(2)" 
 2899                             << 
", outerCounter = " << outerCounter
 
 2900                             << 
": finished instantiating 'm_j->m_Smat_uw'" 
 2904   if (outerCounter == 1) {
 
 2905     if (m_optionsObj->m_dataOutputAllowedSet.find(m_env.subId()) != m_optionsObj->m_dataOutputAllowedSet.end()) {
 
 2906       m_j->m_Smat_uw.subWriteContents(
"Sigma_uw",
 
 2913   this->memoryCheck(94);
 
 2918   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2919     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(2)" 
 2920                             << 
", outerCounter = " << outerCounter
 
 2921                             << 
": m_tmp_Smat_z.numRowsLocal() = " << m_z->m_tmp_Smat_z.numRowsLocal()
 
 2922                             << 
", m_tmp_Smat_z.numCols() = "      << m_z->m_tmp_Smat_z.numCols()
 
 2923                             << 
", m_Smat_v.numRowsLocal() = "     << m_e->m_Smat_v.numRowsLocal()
 
 2924                             << 
", m_Smat_v.numCols() = "          << m_e->m_Smat_v.numCols()
 
 2925                             << 
", m_Smat_u.numRowsLocal() = "     << m_j->m_Smat_u.numRowsLocal()
 
 2926                             << 
", m_Smat_u.numCols() = "          << m_j->m_Smat_u.numCols()
 
 2927                             << 
", m_Smat_w.numRowsLocal() = "     << m_s->m_Smat_w.numRowsLocal()
 
 2928                             << 
", m_Smat_w.numCols() = "          << m_s->m_Smat_w.numCols()
 
 2929                             << 
", m_Smat_uw.numRowsLocal() = "    << m_j->m_Smat_uw.numRowsLocal()
 
 2930                             << 
", m_Smat_uw.numCols() = "         << m_j->m_Smat_uw.numCols()
 
 2931                             << 
", m_Smat_v_i_spaces.size() = "    << m_e->m_Smat_v_i_spaces.size()
 
 2932                             << 
", m_Smat_u_is.size() = "          << m_j->m_Smat_u_is.size()
 
 2933                             << 
", m_Smat_w_is.size() = "          << m_s->m_Smat_w_is.size()
 
 2937   this->memoryCheck(95);
 
 2939   m_z->m_tmp_Smat_z.cwSet(0.);
 
 2940   if (m_allOutputsAreScalar) {
 
 2944     m_z->m_tmp_Smat_z.cwSet(0,0,m_e->m_Smat_v);
 
 2945     m_z->m_tmp_Smat_z.cwSet(m_e->m_Smat_v.numRowsLocal(),                             m_e->m_Smat_v.numCols(),                        m_j->m_Smat_u);
 
 2946     m_z->m_tmp_Smat_z.cwSet(m_e->m_Smat_v.numRowsLocal(),                             m_e->m_Smat_v.numCols()+m_j->m_Smat_u.numCols(),m_j->m_Smat_uw);
 
 2947     m_z->m_tmp_Smat_z.cwSet(m_e->m_Smat_v.numRowsLocal()+m_j->m_Smat_u.numRowsLocal(),m_e->m_Smat_v.numCols(),                        m_j->m_Smat_uw_t);
 
 2948     m_z->m_tmp_Smat_z.cwSet(m_e->m_Smat_v.numRowsLocal()+m_j->m_Smat_u.numRowsLocal(),m_e->m_Smat_v.numCols()+m_j->m_Smat_u.numCols(),m_s->m_Smat_w);
 
 2951   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2952     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_z(2)" 
 2953                             << 
", outerCounter = " << outerCounter
 
 2960 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 2963   const P_V&         input_1lambdaEtaVec,
 
 2964   const P_V&         input_2lambdaWVec,
 
 2965   const P_V&         input_3rhoWVec,
 
 2966   const P_V&         input_4lambdaSVec,
 
 2967   const P_V&         input_8thetaVec,
 
 2968         unsigned int outerCounter)
 
 2970   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2971     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_w_hat()" 
 2972                             << 
", outerCounter = " << outerCounter
 
 2976   unsigned int initialPos = 0;
 
 2977   for (
unsigned int i = 0; i < m_s->m_Smat_w_is.size(); ++i) {
 
 2978     input_3rhoWVec.cwExtract(initialPos,m_s->m_tmp_rho_w_vec);
 
 2979     initialPos += m_s->m_tmp_rho_w_vec.sizeLocal();
 
 2980     m_s->m_Rmat_w_is[i]->cwSet(0.); 
 
 2981     this->fillR_formula1_for_Sigma_w(m_s->m_paper_xs_asterisks_standard,
 
 2982                                      m_s->m_paper_ts_asterisks_standard,
 
 2983                                      m_s->m_tmp_rho_w_vec,
 
 2984                                      *(m_s->m_Rmat_w_is[i]),
 
 2987     m_s->m_Smat_w_is[i]->cwSet(0.);
 
 2988     *(m_s->m_Smat_w_is[i]) = (1./input_2lambdaWVec[i]) * *(m_s->m_Rmat_w_is[i]);
 
 2989     for (
unsigned int j = 0; j < m_s->m_Smat_w_is[i]->numRowsLocal(); ++j) {
 
 2990       (*(m_s->m_Smat_w_is[i]))(j,j) +=  1/m_s->m_tmp_4lambdaSVec[i]; 
 
 2993   m_s->m_Smat_w.cwSet(0.);
 
 2994   m_s->m_Smat_w.fillWithBlocksDiagonally(0,0,m_s->m_Smat_w_is,
true,
true);
 
 2995   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 2996     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_w_hat()" 
 2997                             << 
", outerCounter = " << outerCounter
 
 2998                             << 
": finished instantiating 'm_Smat_w'" 
 3002   if (m_allOutputsAreScalar) {
 
 3006     m_s->m_Smat_w_hat = m_s->m_Smat_w + (1./input_1lambdaEtaVec[0]) * (*m_s->m_Kt_K_inv);
 
 3009   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3010     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::formSigma_w_hat()" 
 3011                             << 
", outerCounter = " << outerCounter
 
 3018 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 3021   const std::vector<const S_V* >& xVecs,
 
 3022   const P_V&                      rho_v_vec,
 
 3024         unsigned int              outerCounter)
 
 3026   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3027     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula2_for_Sigma_v()" 
 3028                             << 
", outerCounter = " << outerCounter
 
 3033   for (
unsigned int i = 0; i < xVecs.size(); ++i) {
 
 3036   queso_require_msg(!((rho_v_vec.sizeLocal() == 0) || (rho_v_vec.sizeLocal() > m_s->m_paper_p_x)), 
"rho_v_vec.sizeLocal() is wrong");
 
 3040   S_V vecI(*(xVecs[0]));
 
 3041   S_V vecJ(*(xVecs[0]));
 
 3042   for (
unsigned int i = 0; i < m_e->m_paper_n; ++i) {
 
 3044     for (
unsigned int j = 0; j < m_e->m_paper_n; ++j) {
 
 3047       for (
unsigned int k = 0; 
k < m_s->m_paper_p_x; ++
k) {
 
 3048         double diffTerm = vecI[
k] - vecJ[
k];
 
 3049         Rmat(i,j) *= std::pow(rho_v_vec[
k],4.*diffTerm*diffTerm);
 
 3050         if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 3051           *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula2_for_Sigma_v()" 
 3052                                   << 
", outerCounter = " << outerCounter
 
 3056                                   << 
", vecI[k] = "      << vecI[
k]
 
 3057                                   << 
", vecJ[k] = "      << vecJ[
k]
 
 3058                                   << 
", diffTerm = "     << diffTerm
 
 3059                                   << 
", rho_v_vec[k] = " << rho_v_vec[
k]
 
 3063       if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 99)) {
 
 3064         *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula2_for_Sigma_v()" 
 3065                                 << 
", outerCounter = " << outerCounter
 
 3068                                 << 
", Rmat(i,j) = "    << Rmat(i,j)
 
 3074   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3075     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula2_for_Sigma_v()" 
 3076                             << 
", outerCounter = " << outerCounter
 
 3083 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 3086   const std::vector<const S_V* >& xVecs,
 
 3088   const P_V&                      rho_w_vec,
 
 3090         unsigned int              outerCounter)
 
 3092   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3093     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_u()" 
 3094                             << 
", outerCounter = " << outerCounter
 
 3099   for (
unsigned int i = 0; i < xVecs.size(); ++i) {
 
 3107   S_V vecI(*(xVecs[0]));
 
 3108   S_V vecJ(*(xVecs[0]));
 
 3109   for (
unsigned int i = 0; i < m_e->m_paper_n; ++i) {
 
 3111     for (
unsigned int j = 0; j < m_e->m_paper_n; ++j) {
 
 3114       for (
unsigned int k = 0; 
k < m_s->m_paper_p_x; ++
k) { 
 
 3115         double diffTerm = vecI[
k] - vecJ[
k];
 
 3116         Rmat(i,j) *= std::pow(rho_w_vec[
k],4.*diffTerm*diffTerm);
 
 3121   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3122     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_u()" 
 3123                             << 
", outerCounter = " << outerCounter
 
 3130 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 3133   const std::vector<const S_V* >& xVecs,
 
 3134   const std::vector<const P_V* >& tVecs,
 
 3135   const P_V&                      rho_w_vec,
 
 3137         unsigned int              outerCounter)
 
 3139   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3140     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_w()" 
 3141                             << 
", outerCounter = " << outerCounter
 
 3146   for (
unsigned int i = 0; i < xVecs.size(); ++i) {
 
 3150   for (
unsigned int i = 0; i < tVecs.size(); ++i) {
 
 3157   S_V xVecI(*(xVecs[0]));
 
 3158   S_V xVecJ(*(xVecs[0]));
 
 3159   P_V tVecI(*(tVecs[0]));
 
 3160   P_V tVecJ(*(tVecs[0]));
 
 3161   for (
unsigned int i = 0; i < m_s->m_paper_m; ++i) {
 
 3162     xVecI = *(xVecs[i]);
 
 3163     tVecI = *(tVecs[i]);
 
 3164     for (
unsigned int j = 0; j < m_s->m_paper_m; ++j) {
 
 3165       xVecJ = *(xVecs[j]);
 
 3166       tVecJ = *(tVecs[j]);
 
 3168       for (
unsigned int k = 0; 
k < m_s->m_paper_p_x; ++
k) {
 
 3169         double diffTerm = xVecI[
k] - xVecJ[
k];
 
 3170         Rmat(i,j) *= std::pow(rho_w_vec[
k],4.*diffTerm*diffTerm);
 
 3172       for (
unsigned int k = 0; 
k < m_s->m_paper_p_t; ++
k) {
 
 3173         double diffTerm = tVecI[
k] - tVecJ[
k];
 
 3174         Rmat(i,j) *= std::pow(rho_w_vec[m_s->m_paper_p_x+
k],4.*diffTerm*diffTerm);
 
 3179   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3180     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_w()" 
 3181                             << 
", outerCounter = " << outerCounter
 
 3188 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 3191   const std::vector<const S_V* >& xVecs1,
 
 3193   const std::vector<const S_V* >& xVecs2,
 
 3194   const std::vector<const P_V* >& tVecs2,
 
 3195   const P_V&                      rho_w_vec,
 
 3197         unsigned int              outerCounter)
 
 3199   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3200     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_uw()" 
 3201                             << 
", outerCounter = " << outerCounter
 
 3206   for (
unsigned int i = 0; i < xVecs1.size(); ++i) {
 
 3211   for (
unsigned int i = 0; i < xVecs2.size(); ++i) {
 
 3215   for (
unsigned int i = 0; i < tVecs2.size(); ++i) {
 
 3222   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3223     *m_env.subDisplayFile() << 
"In GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_uw()" 
 3224                             << 
", outerCounter = " << outerCounter
 
 3228   S_V xVecI(*(xVecs1[0]));
 
 3229   S_V xVecJ(*(xVecs2[0]));
 
 3231   P_V tVecJ(*(tVecs2[0]));
 
 3232   for (
unsigned int i = 0; i < m_e->m_paper_n; ++i) {
 
 3233     xVecI = *(xVecs1[i]);
 
 3235     for (
unsigned int j = 0; j < m_s->m_paper_m; ++j) {
 
 3236       xVecJ = *(xVecs2[j]);
 
 3237       tVecJ = *(tVecs2[j]);
 
 3239       for (
unsigned int k = 0; 
k < m_s->m_paper_p_x; ++
k) {
 
 3240         double diffTerm = xVecI[
k] - xVecJ[
k];
 
 3241         Rmat(i,j) *= std::pow(rho_w_vec[
k],4.*diffTerm*diffTerm);
 
 3243       for (
unsigned int k = 0; 
k < m_s->m_paper_p_t; ++
k) {
 
 3244         double diffTerm = tVecI[
k] - tVecJ[
k];
 
 3245         Rmat(i,j) *= std::pow(rho_w_vec[m_s->m_paper_p_x+
k],4.*diffTerm*diffTerm);
 
 3250   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3251     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_uw()" 
 3252                             << 
", outerCounter = " << outerCounter
 
 3259 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 3262   const std::vector<const S_V* >& xVecs1,
 
 3263   const std::vector<const P_V* >& tVecs1,
 
 3266   const P_V&                      rho_v_vec,
 
 3268         unsigned int              outerCounter)
 
 3270   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3271     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula2_for_Sigma_v_hat_v_asterisk()" 
 3272                             << 
", outerCounter = " << outerCounter
 
 3277   for (
unsigned int i = 0; i < xVecs1.size(); ++i) {
 
 3281   for (
unsigned int i = 0; i < tVecs1.size(); ++i) {
 
 3286   queso_require_msg(!((rho_v_vec.sizeLocal() == 0) || (rho_v_vec.sizeLocal() > m_s->m_paper_p_x)), 
"rho_v_vec.sizeLocal() is wrong");
 
 3290   S_V xVecI(*(xVecs1[0]));
 
 3292   P_V tVecI(*(tVecs1[0]));
 
 3294   for (
unsigned int i = 0; i < m_e->m_paper_n; ++i) {
 
 3295     xVecI = *(xVecs1[i]);
 
 3296     tVecI = *(tVecs1[i]);
 
 3297     for (
unsigned int j = 0; j < 1; ++j) { 
 
 3302       for (
unsigned int k = 0; 
k < m_s->m_paper_p_x; ++
k) {
 
 3303         double diffTerm = xVecI[
k] - xVecJ[
k];
 
 3304         Rmat(i,j) *= std::pow(rho_v_vec[
k],4.*diffTerm*diffTerm);
 
 3308   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3309     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula2_for_Sigma_v_hat_v_asterisk()" 
 3310                             << 
", outerCounter = " << outerCounter
 
 3317 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 3320   const std::vector<const S_V* >& xVecs1,
 
 3321   const std::vector<const P_V* >& tVecs1,
 
 3324   const P_V&                      rho_w_vec,
 
 3326         unsigned int              outerCounter)
 
 3328   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3329     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_u_hat_u_asterisk()" 
 3330                             << 
", outerCounter = " << outerCounter
 
 3334   for (
unsigned int i = 0; i < xVecs1.size(); ++i) {
 
 3338   for (
unsigned int i = 0; i < tVecs1.size(); ++i) {
 
 3347   S_V xVecI(*(xVecs1[0]));
 
 3349   P_V tVecI(*(tVecs1[0]));
 
 3351   for (
unsigned int i = 0; i < m_s->m_paper_m; ++i) {
 
 3352     xVecI = *(xVecs1[i]);
 
 3353     tVecI = *(tVecs1[i]);
 
 3354     for (
unsigned int j = 0; j < 1; ++j) { 
 
 3359       for (
unsigned int k = 0; 
k < m_s->m_paper_p_x; ++
k) {
 
 3360         double diffTerm = xVecI[
k] - xVecJ[
k];
 
 3361         Rmat(i,j) *= std::pow(rho_w_vec[
k],4.*diffTerm*diffTerm);
 
 3363       for (
unsigned int k = 0; 
k < m_s->m_paper_p_t; ++
k) {
 
 3364         double diffTerm = tVecI[
k] - tVecJ[
k];
 
 3365         Rmat(i,j) *= std::pow(rho_w_vec[m_s->m_paper_p_x+
k],4.*diffTerm*diffTerm);
 
 3369   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3370     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_u_hat_u_asterisk()" 
 3371                             << 
", outerCounter = " << outerCounter
 
 3378 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 3381   const std::vector<const S_V* >& xVecs1,
 
 3382   const std::vector<const P_V* >& tVecs1,
 
 3385   const P_V&                      rho_w_vec,
 
 3387         unsigned int              outerCounter)
 
 3389   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3390     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_w_hat_u_asterisk()" 
 3391                             << 
", outerCounter = " << outerCounter
 
 3395   for (
unsigned int i = 0; i < xVecs1.size(); ++i) {
 
 3399   for (
unsigned int i = 0; i < tVecs1.size(); ++i) {
 
 3408   S_V xVecI(*(xVecs1[0]));
 
 3410   P_V tVecI(*(tVecs1[0]));
 
 3412   for (
unsigned int i = 0; i < m_s->m_paper_m; ++i) {
 
 3413     xVecI = *(xVecs1[i]);
 
 3414     tVecI = *(tVecs1[i]);
 
 3415     for (
unsigned int j = 0; j < 1; ++j) { 
 
 3420       for (
unsigned int k = 0; 
k < m_s->m_paper_p_x; ++
k) {
 
 3421         double diffTerm = xVecI[
k] - xVecJ[
k];
 
 3422         Rmat(i,j) *= std::pow(rho_w_vec[
k],4.*diffTerm*diffTerm);
 
 3424       for (
unsigned int k = 0; 
k < m_s->m_paper_p_t; ++
k) {
 
 3425         double diffTerm = tVecI[
k] - tVecJ[
k];
 
 3426         Rmat(i,j) *= std::pow(rho_w_vec[m_s->m_paper_p_x+
k],4.*diffTerm*diffTerm);
 
 3430   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3431     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_w_hat_u_asterisk()" 
 3432                             << 
", outerCounter = " << outerCounter
 
 3439 template <
class S_V,
class S_M,
class D_V,
class D_M,
class P_V,
class P_M,
class Q_V,
class Q_M>
 
 3442   const std::vector<const S_V* >& xVecs1,
 
 3443   const std::vector<const P_V* >& tVecs1,
 
 3446   const P_V&                      rho_w_vec,
 
 3448         unsigned int              outerCounter)
 
 3450   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3451     *m_env.subDisplayFile() << 
"Entering GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_w_hat_w_asterisk()" 
 3452                             << 
", outerCounter = " << outerCounter
 
 3457   for (
unsigned int i = 0; i < xVecs1.size(); ++i) {
 
 3461   for (
unsigned int i = 0; i < tVecs1.size(); ++i) {
 
 3470   S_V xVecI(*(xVecs1[0]));
 
 3472   P_V tVecI(*(tVecs1[0]));
 
 3474   for (
unsigned int i = 0; i < m_s->m_paper_m; ++i) {
 
 3475     xVecI = *(xVecs1[i]);
 
 3476     tVecI = *(tVecs1[i]);
 
 3477     for (
unsigned int j = 0; j < 1; ++j) { 
 
 3481       for (
unsigned int k = 0; 
k < m_s->m_paper_p_x; ++
k) {
 
 3482         double diffTerm = xVecI[
k] - xVecJ[
k];
 
 3483         Rmat(i,j) *= std::pow(rho_w_vec[
k],4.*diffTerm*diffTerm);
 
 3485       for (
unsigned int k = 0; 
k < m_s->m_paper_p_t; ++
k) {
 
 3486         double diffTerm = tVecI[
k] - tVecJ[
k];
 
 3487         Rmat(i,j) *= std::pow(rho_w_vec[m_s->m_paper_p_x+
k],4.*diffTerm*diffTerm);
 
 3492   if ((m_env.subDisplayFile()) && (m_env.displayVerbosity() >= 4)) {
 
 3493     *m_env.subDisplayFile() << 
"Leaving GpmsaComputerModel<S_V,S_M,D_V,D_M,P_V,P_M,Q_V,Q_M>::fillR_formula1_for_Sigma_w_hat_w_asterisk()" 
 3494                             << 
", outerCounter = " << 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 
 
A class for handling sequential draws (sampling) from probability density distributions. 
 
void predictSimulationOutputs(const S_V &newScenarioVec, const P_V &newParameterVec, Q_V &simulationOutputMeanVec)
 
void memoryCheck(unsigned int codePositionId)
 
void setPositionValues(unsigned int posId, const V &vec)
Set the values in vec at position posId of the sequence. 
 
GcmJointTildeInfo< S_V, S_M, D_V, D_M, P_V, P_M, Q_V, Q_M > * m_jt
 
double MiscGetEllapsedSeconds(struct timeval *timeval0)
 
std::ofstream * subDisplayFile() const 
Access function for m_subDisplayFile (displays file on stream). 
 
BaseScalarFunction< P_V, P_M > * m_likelihoodFunction
 
bool m_thereIsExperimentalData
 
std::string optionsInputFileName() const 
Access to the attribute m_optionsInputFileName, which stores the name of the input file passed by the...
 
std::set< unsigned int > m_dataOutputAllowedSet
 
std::string m_dataOutputFileName
 
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)
 
VectorSet< V, M > * InstantiateIntersection(const VectorSet< V, M > &domain1, const VectorSet< V, M > &domain2)
This method calculates the intersection of domain1 and domain2. 
 
unsigned int m_priorSeqNumSamples
 
A class for handling generic scalar functions. 
 
void calibrateWithBayesMLSampling()
 
unsigned int subSequenceSize() const 
Size of the sub-sequence of vectors. 
 
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)
 
#define queso_require_equal_to_msg(expr1, expr2, msg)
 
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)
 
const std::vector< unsigned int > & n_ys_transformed() const 
 
void ComputeConditionalGaussianVectorRV(const V &muVec1, const V &muVec2, const M &sigmaMat11, const M &sigmaMat12, const M &sigmaMat21, const M &sigmaMat22, const V &sampleVec2, V &muVec1_cond_on_2, M &sigmaMat11_cond_on_2)
 
unsigned int subId() const 
Access function to the number of each sub-environment Id: m_subId. 
 
unsigned int numExperiments() const 
 
A templated class that represents a Metropolis-Hastings generator of samples. 
 
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
 
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
 
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)
 
#define queso_require_equal_to(expr1, expr2)
 
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 VectorSpace< S_V, S_M > & scenarioSpace() const 
 
void generateSequence(BaseVectorSequence< P_V, P_M > &workingChain, ScalarSequence< double > *workingLogLikelihoodValues, ScalarSequence< double > *workingLogTargetValues)
Method to generate the chain. 
 
std::ofstream * ofsVar
Provides a stream interface to write data to files. 
 
void unifiedWriteContents(const std::string &fileName, const std::string &fileType) const 
 
bool openOutputFile(const std::string &fileName, const std::string &fileType, const std::set< unsigned int > &allowedSubEnvIds, bool writeOver, FilePtrSetStruct &filePtrSet) const 
Opens an output file for each sub-environment that was chosen to send data to the file...
 
double scalarProduct(const GslVector &x, const GslVector &y)
 
const BaseEnvironment & m_env
 
const VectorSpace< P_V, P_M > & unique_vu_space() const 
 
unsigned int displayVerbosity() const 
 
void print(std::ostream &os) const 
 
#define UQ_FILE_EXTENSION_FOR_MATLAB_FORMAT
 
double likelihoodRoutine(const P_V &totalValues, const P_V *totalDirection, const void *functionDataPtr, P_V *gradVector, P_M *hessianMatrix, P_V *hessianEffect)
 
#define queso_require_msg(asserted, msg)
 
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)
 
unsigned int MiscUintDebugMessage(unsigned int value, const char *message)
 
bool m_useTildeLogicForRankDefficientC
 
void ComputeCovCorrMatricesBetweenVectorSequences(const BaseVectorSequence< P_V, P_M > &subPSeq, const BaseVectorSequence< Q_V, Q_M > &subQSeq, unsigned int subNumSamples, P_M &pqCovMatrix, P_M &pqCorrMatrix)
 
const V & unifiedMeanPlain() const 
Finds the mean value of the unified sequence. 
 
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)
 
#define queso_error_msg(msg)
 
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)
 
unsigned int numBasis() const 
 
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 generateSequence(BaseVectorSequence< P_V, P_M > &workingChain, ScalarSequence< double > *workingLogLikelihoodValues, ScalarSequence< double > *workingLogTargetValues)
Method to generate the chain. 
 
A templated class that represents a Multilevel generator of samples. 
 
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)
 
unsigned int numBasis() const 
 
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)
 
unsigned int dimLocal() const