25 #include <queso/ValidationCycle.h> 
   26 #include <queso/GslVector.h> 
   27 #include <queso/GslMatrix.h> 
   32 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
   40   m_prefix                  ((std::string)(prefix) + 
"cycle_"),
 
   41   m_paramSpace              (paramSpace),
 
   42   m_qoiSpace                (qoiSpace),
 
   43   m_calLikelihoodFunctionObj(NULL),
 
   46   m_calQoiFunctionObj       (NULL),
 
   49   m_valLikelihoodFunctionObj(NULL),
 
   52   m_valQoiFunctionObj       (NULL),
 
   71 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
   74   if (m_env.subDisplayFile()) {
 
   75     *m_env.subDisplayFile() << 
"Entering ValidationCycle::destructor()" 
   76                            << 
": prefix = " << m_prefix
 
   80   if (m_valFP)             
delete m_valFP;
 
   81   if (m_valQoiRv)          
delete m_valQoiRv;
 
   82   if (m_valQoiFunctionObj) 
delete m_valQoiFunctionObj;
 
   83   if (m_valIP)             
delete m_valIP;
 
   84   if (m_valPostRv)         
delete m_valPostRv;
 
   85   if (m_calFP)             
delete m_calFP;
 
   86   if (m_calQoiRv)          
delete m_calQoiRv;
 
   87   if (m_calQoiFunctionObj) 
delete m_calQoiFunctionObj;
 
   88   if (m_calIP)             
delete m_calIP;
 
   89   if (m_calPostRv)         
delete m_calPostRv;
 
   91   if (m_env.subDisplayFile()) {
 
   92     *m_env.subDisplayFile() << 
"Leaving ValidationCycle::destructor()" 
   93                            << 
": prefix = " << m_prefix
 
   98 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  105 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  116   m_calPriorRv = &priorRv;
 
  119   m_calLikelihoodFunctionObj = &likelihoodFunctionObj;
 
  129                                                            *m_calLikelihoodFunctionObj,
 
  135 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  142 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  149 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  153   void (*qoiRoutinePtr)(
const P_V&                    domainVector,
 
  154                         const P_V*                    domainDirection,
 
  155                         const void*                   functionDataPtr,
 
  160   const void* qoiRoutineDataPtr)
 
  179                                                                    *m_calQoiFunctionObj,
 
  185 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  192 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  199 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  211   m_valLikelihoodFunctionObj = &likelihoodFunctionObj;
 
  221                                                            *m_valLikelihoodFunctionObj,
 
  227 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  234 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  241 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  245   void (*qoiRoutinePtr)(
const P_V&                    domainVector,
 
  246                         const P_V*                    domainDirection,
 
  247                         const void*                   functionDataPtr,
 
  252   const void* qoiRoutineDataPtr)
 
  271                                                                    *m_valQoiFunctionObj,
 
  277 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
  284 template <
class P_V,
class P_M,
class Q_V,
class Q_M>
 
This class provides options for a Statistical Inverse Problem if no input file is available...
 
std::ofstream * subDisplayFile() const 
Access function for m_subDisplayFile (displays file on stream). 
 
void instantiateCalIP(SipOptionsValues *optionsValues, const BaseVectorRV< P_V, P_M > &priorRv, const BaseScalarFunction< P_V, P_M > &likelihoodFunctionObj)
Instantiate an inverse problem for the calibration stage. 
 
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
 
void instantiateValFP(SfpOptionsValues *optionsValues, void(*qoiRoutinePtr)(const P_V &domainVector, const P_V *domainDirection, const void *functionDataPtr, Q_V &imageVector, DistArray< P_V * > *gradVectors, DistArray< P_M * > *hessianMatrices, DistArray< P_V * > *hessianEffects), const void *qoiRoutineDataPtr)
Instantiate a forward problem for the validation stage. 
 
This templated class represents a Statistical Forward Problem. 
 
A templated class for validation cycle of the examples validationCycle and validationCycle2. 
 
void instantiateCalFP(SfpOptionsValues *optionsValues, void(*qoiRoutinePtr)(const P_V &domainVector, const P_V *domainDirection, const void *functionDataPtr, Q_V &imageVector, DistArray< P_V * > *gradVectors, DistArray< P_M * > *hessianMatrices, DistArray< P_V * > *hessianEffects), const void *qoiRoutineDataPtr)
Instantiate a forward problem for the calibration stage. 
 
const StatisticalInverseProblem< P_V, P_M > & valIP() const 
Inverse problem of the validation stage (const) . 
 
const BaseEnvironment & env() const 
Access to the environment variable (m_env). 
 
const StatisticalInverseProblem< P_V, P_M > & calIP() const 
Inverse problem of the calibration stage (const) . 
 
This templated class represents a Statistical Inverse Problem. 
 
A class for handling generic vector functions. 
 
This class provides options for a Statistical Forward Problem if no input file is available...
 
const StatisticalForwardProblem< P_V, P_M, Q_V, Q_M > & calFP() const 
Forward problem of the calibration stage (const) . 
 
const BaseEnvironment & m_env
 
const StatisticalForwardProblem< P_V, P_M, Q_V, Q_M > & valFP() const 
Forward problem of the validation stage (const) . 
 
A class for partitioning vectors and matrices. 
 
ValidationCycle(const BaseEnvironment &env, const char *prefix, const VectorSpace< P_V, P_M > ¶mSpace, const VectorSpace< P_V, P_M > &qoiSpace)
Constructor. 
 
~ValidationCycle()
Destructor. 
 
void instantiateValIP(SipOptionsValues *optionsValues, const BaseScalarFunction< P_V, P_M > &likelihoodFunctionObj)
Instantiate an inverse problem for the validation stage.