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>
~ValidationCycle()
Destructor.
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.
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 class provides options for a Statistical Forward Problem if no input file is available...
This (virtual) class sets up the environment underlying the use of the QUESO library by an executable...
ValidationCycle(const BaseEnvironment &env, const char *prefix, const VectorSpace< P_V, P_M > ¶mSpace, const VectorSpace< P_V, P_M > &qoiSpace)
Constructor.
const StatisticalInverseProblem< P_V, P_M > & calIP() const
Inverse problem of the calibration stage (const) .
const BaseEnvironment & env() const
Access to the environment variable (m_env).
This class provides options for a Statistical Inverse Problem if no input file is available...
This templated class represents a Statistical Forward Problem.
A class for handling generic vector functions.
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.
const BaseEnvironment & m_env
const StatisticalForwardProblem< P_V, P_M, Q_V, Q_M > & valFP() const
Forward problem of the validation stage (const) .
This templated class represents a Statistical Inverse Problem.
A class for partitioning vectors and matrices.
void instantiateValIP(SipOptionsValues *optionsValues, const BaseScalarFunction< P_V, P_M > &likelihoodFunctionObj)
Instantiate an inverse problem for the validation stage.
const StatisticalInverseProblem< P_V, P_M > & valIP() const
Inverse problem of the validation stage (const) .
const StatisticalForwardProblem< P_V, P_M, Q_V, Q_M > & calFP() const
Forward problem of the calibration stage (const) .
std::ofstream * subDisplayFile() const
Access function for m_subDisplayFile (displays file on stream).
A templated class for validation cycle of the examples validationCycle and validationCycle2.