45 mpParmSteadyStateCN(NULL),
46 mpParmTimeCourseCN(NULL),
47 mpExperimentSet(NULL),
50 mExperimentUpdateMethods(0, 0),
51 mExperimentUndoMethods(0, 0),
52 mExperimentConstraints(0, 0),
53 mExperimentDependentValues(0),
54 mpCrossValidationSet(NULL),
55 mCrossValidationUpdateMethods(0, 0),
56 mCrossValidationConstraints(0, 0),
57 mCrossValidationDependentValues(0),
58 mCrossValidationSolutionValue(mWorstValue),
59 mCrossValidationRMS(std::numeric_limits<
C_FLOAT64>::quiet_NaN()),
60 mCrossValidationSD(std::numeric_limits<
C_FLOAT64>::quiet_NaN()),
61 mCrossValidationObjective(mWorstValue),
63 mpTrajectoryProblem(NULL),
66 mRMS(std::numeric_limits<
C_FLOAT64>::quiet_NaN()),
67 mSD(std::numeric_limits<
C_FLOAT64>::quiet_NaN()),
70 mpFisherMatrixInterface(NULL),
72 mFisherEigenvalues(0, 0),
73 mpFisherEigenvaluesMatrixInterface(NULL),
74 mpFisherEigenvaluesMatrix(NULL),
75 mFisherEigenvectors(0, 0),
76 mpFisherEigenvectorsMatrixInterface(NULL),
77 mpFisherEigenvectorsMatrix(NULL),
79 mpFisherScaledMatrixInterface(NULL),
80 mpFisherScaledMatrix(NULL),
81 mFisherScaledEigenvalues(0, 0),
82 mpFisherScaledEigenvaluesMatrixInterface(NULL),
83 mpFisherScaledEigenvaluesMatrix(NULL),
84 mFisherScaledEigenvectors(0, 0),
85 mpFisherScaledEigenvectorsMatrixInterface(NULL),
86 mpFisherScaledEigenvectorsMatrix(NULL),
88 mpCorrelationMatrixInterface(NULL),
89 mpCorrelationMatrix(NULL),
90 mpCreateParameterSets(NULL),
91 mTrajectoryUpdate(false)
102 mpParmSteadyStateCN(NULL),
103 mpParmTimeCourseCN(NULL),
104 mpExperimentSet(NULL),
107 mExperimentUpdateMethods(0, 0),
108 mExperimentUndoMethods(0, 0),
109 mExperimentConstraints(0, 0),
110 mExperimentDependentValues(src.mExperimentDependentValues),
111 mpCrossValidationSet(NULL),
112 mCrossValidationUpdateMethods(0, 0),
113 mCrossValidationConstraints(0, 0),
114 mCrossValidationDependentValues(src.mCrossValidationDependentValues),
115 mCrossValidationSolutionValue(mWorstValue),
116 mCrossValidationRMS(std::numeric_limits<
C_FLOAT64>::quiet_NaN()),
117 mCrossValidationSD(std::numeric_limits<
C_FLOAT64>::quiet_NaN()),
118 mCrossValidationObjective(mWorstValue),
119 mThresholdCounter(0),
120 mpTrajectoryProblem(NULL),
121 mpInitialState(NULL),
122 mResiduals(src.mResiduals),
125 mParameterSD(src.mParameterSD),
126 mFisher(src.mFisher),
127 mpFisherMatrixInterface(NULL),
128 mpFisherMatrix(NULL),
129 mFisherEigenvalues(src.mFisherEigenvalues),
130 mpFisherEigenvaluesMatrixInterface(NULL),
131 mpFisherEigenvaluesMatrix(NULL),
132 mFisherEigenvectors(src.mFisherEigenvectors),
133 mpFisherEigenvectorsMatrixInterface(NULL),
134 mpFisherEigenvectorsMatrix(NULL),
135 mFisherScaled(src.mFisherScaled),
136 mpFisherScaledMatrixInterface(NULL),
137 mpFisherScaledMatrix(NULL),
138 mFisherScaledEigenvalues(src.mFisherScaledEigenvalues),
139 mpFisherScaledEigenvaluesMatrixInterface(NULL),
140 mpFisherScaledEigenvaluesMatrix(NULL),
141 mFisherScaledEigenvectors(src.mFisherScaledEigenvectors),
142 mpFisherScaledEigenvectorsMatrixInterface(NULL),
143 mpFisherScaledEigenvectorsMatrix(NULL),
144 mCorrelation(src.mCorrelation),
145 mpCorrelationMatrixInterface(NULL),
146 mpCorrelationMatrix(NULL),
147 mpCreateParameterSets(NULL),
148 mTrajectoryUpdate(false)
182 mpFisherMatrix->setDescription(
"Fisher Information Matrix");
183 mpFisherMatrix->setDimensionDescription(0,
"Parameters");
184 mpFisherMatrix->setDimensionDescription(1,
"Parameters");
189 mpFisherEigenvaluesMatrix->setDescription(
"FIM Eigenvalues");
190 mpFisherEigenvaluesMatrix->setDimensionDescription(0,
"Eigenvalues");
191 mpFisherEigenvaluesMatrix->setDimensionDescription(1,
"Result");
196 mpFisherEigenvectorsMatrix->setDescription(
"FIM Eigenvectors");
197 mpFisherEigenvectorsMatrix->setDimensionDescription(0,
"Eigenvectors");
198 mpFisherEigenvectorsMatrix->setDimensionDescription(1,
"Parameters");
204 mpFisherScaledMatrix->setDescription(
"Fisher Information Matrix (scaled)");
205 mpFisherScaledMatrix->setDimensionDescription(0,
"Parameters");
206 mpFisherScaledMatrix->setDimensionDescription(1,
"Parameters");
211 mpFisherScaledEigenvaluesMatrix->setDescription(
"FIM Eigenvalues (scaled)");
212 mpFisherScaledEigenvaluesMatrix->setDimensionDescription(0,
"Eigenvalues");
213 mpFisherScaledEigenvaluesMatrix->setDimensionDescription(1,
"Result");
218 mpFisherScaledEigenvectorsMatrix->setDescription(
"FIM Eigenvectors (scaled)");
219 mpFisherScaledEigenvectorsMatrix->setDimensionDescription(0,
"Eigenvectors");
220 mpFisherScaledEigenvectorsMatrix->setDimensionDescription(1,
"Parameters");
226 mpCorrelationMatrix->setDescription(
"Correlation Matrix");
227 mpCorrelationMatrix->setDimensionDescription(0,
"Parameters");
228 mpCorrelationMatrix->setDimensionDescription(1,
"Parameters");
284 size_t i, imax = pTasks->
size();
288 for (i = 0; i < imax; i++)
297 for (i = 0; i < imax; i++)
305 std::map<std::string, std::string> ExperimentMap;
309 std::vector<CCopasiParameter *> * pExperiments =
310 getGroup(
"Experiment Set")->CCopasiParameter::getValue().pGROUP;
311 std::vector<CCopasiParameter *>::iterator itExp;
312 std::vector<CCopasiParameter *>::iterator endExp;
314 for (itExp = pExperiments->begin(), endExp = pExperiments->end(); itExp != endExp; ++itExp)
315 if ((pGroup = dynamic_cast< CCopasiParameterGroup * >(*itExp)) != NULL &&
317 ExperimentMap[*pGroup->
getValue(
"Key").
pKEY] = (*itExp)->getObjectName();
320 elevate<CExperimentSet, CCopasiParameterGroup>(
getGroup(
"Experiment Set"));
324 std::map<std::string, std::string>::iterator itMap;
325 std::map<std::string, std::string>::iterator endMap;
327 for (itMap = ExperimentMap.begin(), endMap = ExperimentMap.end(); itMap != endMap; ++itMap)
330 itMap->second = pExperiment->CCopasiParameter::getKey();
331 pExperiment->
setValue(
"Key", itMap->second);
334 std::map<std::string, std::string> CrossValidationMap;
338 pGroup =
getGroup(
"Cross Validation Set");
347 getGroup(
"Validation Set")->CCopasiParameter::getValue().pGROUP;
349 for (itExp = pExperiments->begin(), endExp = pExperiments->end(); itExp != endExp; ++itExp)
350 if ((pGroup = dynamic_cast< CCopasiParameterGroup * >(*itExp)) != NULL &&
352 CrossValidationMap[*pGroup->
getValue(
"Key").
pKEY] = (*itExp)->getObjectName();
356 elevate< CExperimentSet, CCopasiParameterGroup >(
getGroup(
"Validation Set"));
358 elevate< CCrossValidationSet, CCopasiParameterGroup >(
getGroup(
"Validation Set"));
360 if (!mpCrossValidationSet)
return false;
362 for (itMap = CrossValidationMap.begin(), endMap = CrossValidationMap.end(); itMap != endMap; ++itMap)
364 pExperiment = mpCrossValidationSet->getExperiment(itMap->second);
365 itMap->second = pExperiment->CCopasiParameter::getKey();
366 pExperiment->
setValue(
"Key", itMap->second);
369 std::vector<COptItem * >::iterator it =
mpOptItems->begin();
370 std::vector<COptItem * >::iterator end =
mpOptItems->end();
372 for (; it != end; ++it)
374 if (!((*it) = elevate<CFitItem, COptItem>(*it)))
378 (*it)->getParameter(
"Affected Experiments")->getValue().pGROUP;
380 for (itExp = pExperiments->begin(), endExp = pExperiments->end(); itExp != endExp; ++itExp)
381 (*itExp)->setValue(ExperimentMap[*(*itExp)->getValue().pKEY]);
384 (*it)->getParameter(
"Affected Cross Validation Experiments")->getValue().pGROUP;
386 for (itExp = pExperiments->begin(), endExp = pExperiments->end(); itExp != endExp; ++itExp)
387 (*itExp)->setValue(CrossValidationMap[*(*itExp)->getValue().pKEY]);
393 for (; it != end; ++it)
395 if (!((*it) = elevate<CFitConstraint, COptItem>(*it)))
399 (*it)->getParameter(
"Affected Experiments")->getValue().pGROUP;
401 for (itExp = pExperiments->begin(), endExp = pExperiments->end(); itExp != endExp; ++itExp)
402 (*itExp)->setValue(ExperimentMap[*(*itExp)->getValue().pKEY]);
405 (*it)->getParameter(
"Affected Cross Validation Experiments")->getValue().pGROUP;
407 for (itExp = pExperiments->begin(), endExp = pExperiments->end(); itExp != endExp; ++itExp)
408 (*itExp)->setValue(CrossValidationMap[*(*itExp)->getValue().pKEY]);
439 std::vector< CCopasiContainer * > ContainerList;
442 assert(pDataModel != NULL);
498 ContainerList.clear();
500 ContainerList.push_back(
mpModel);
506 ContainerList.push_back(pTask);
522 std::vector< std::set< const CCopasiObject * > >
ObjectSet;
543 std::vector<COptItem * >::iterator it =
mpOptItems->begin();
544 std::vector<COptItem * >::iterator end =
mpOptItems->end();
546 std::vector<COptItem * >::iterator itTmp;
569 for (j = 0; it != end; ++it, j++)
571 pItem =
static_cast<CFitItem *
>(*it);
590 for (i = 0; i < imax; i++)
596 ObjectSet[Index].insert(pItem->
getObject());
617 ObjectSet[i].erase(NULL);
633 std::set< const CCopasiObject * >::const_iterator itDepend;
634 std::set< const CCopasiObject * >::const_iterator endDepend;
636 for (j = 0; it != end; ++it, j++)
648 ObjectSet[i].insert(itDepend, endDepend);
653 for (i = 0; i < imax; i++)
659 ObjectSet[Index].insert(itDepend, endDepend);
695 for (j = 0; it != end; ++it, j++)
697 pItem =
static_cast<CFitItem *
>(*it);
712 for (i = 0; i < imax; i++)
718 ObjectSet[Index].insert(pItem->
getObject());
744 for (j = 0; it != end; ++it, j++)
755 ObjectSet[i].insert(pConstraint->
getObject());
760 for (i = 0; i < imax; i++)
766 ObjectSet[Index].insert(pConstraint->
getObject());
794 for (; it != end; ++it)
795 if (static_cast<CFitConstraint *>(*it)->getConstraintViolation() > 0.0)
809 if (pExp == NULL)
return;
813 std::string name = origname;
818 std::stringstream str; str << origname <<
" (" << ++count <<
")";
830 bool Continue =
true;
843 std::vector<COptItem *>::iterator itItem;
844 std::vector<COptItem *>::iterator endItem =
mpOptItems->end();
845 std::vector<COptItem *>::iterator itConstraint;
848 std::vector< Refresh *>::const_iterator itRefresh;
849 std::vector< Refresh *>::const_iterator endRefresh;
852 for (itConstraint =
mpConstraintItems->begin(); itConstraint != endConstraint; ++itConstraint)
853 static_cast<CFitConstraint *>(*itConstraint)->resetConstraintViolation();
860 for (i = 0; i < imax && Continue; i++)
870 for (itItem =
mpOptItems->begin(); itItem != endItem; itItem++, pUpdate++)
881 for (j = 0; j < kmax && Continue; j++)
890 while (itRefresh != endRefresh)
907 for (; itRefresh != endRefresh; ++itRefresh)
913 for (; ppConstraint != ppConstraintEnd; ++ppConstraint)
914 if (*ppConstraint)(*ppConstraint)->calculateConstraintViolation();
931 size_t numIntermediateSteps;
936 numIntermediateSteps = 4;
941 for (j = 0; j < kmax && Continue; j++)
951 for (ic = 1; ic < numIntermediateSteps; ++ic)
974 while (itRefresh != endRefresh)
991 for (; itRefresh != endRefresh; ++itRefresh)
997 for (; ppConstraint != ppConstraintEnd; ++ppConstraint)
998 if (*ppConstraint)(*ppConstraint)->calculateConstraintViolation();
1029 bool RefreshNeeded =
false;
1032 for (; pOriginal != pOriginalEnd; pOriginal++, pUndo++)
1035 (**pUndo)(*pOriginal);
1036 RefreshNeeded =
true;
1045 while (itRefresh != endRefresh)
1058 std::vector<COptItem * >::iterator it =
mpOptItems->begin();
1059 std::vector<COptItem * >::iterator end =
mpOptItems->end();
1061 for (; it != end; it++)
1062 std::cout << *(*it)->getObjectValue() <<
" ";
1064 std::cout << std::endl;
1076 while (itRefresh != endRefresh)
1093 while (itRefresh != endRefresh)
1108 bool success =
true;
1131 {*ostream << *
this;}
1135 std::ostream & os = *ostream;
1142 os <<
"Objective Function Value:\t" <<
mSolutionValue << std::endl;
1143 os <<
"Standard Deviation:\t" <<
mSD << std::endl;
1147 os <<
"Function Evaluations:\t" <<
mCounter << std::endl;
1148 os <<
"CPU Time [s]:\t"
1154 std::vector< COptItem * >::const_iterator itItem =
1156 std::vector< COptItem * >::const_iterator endItem =
1164 os <<
"\tParameter\tValue\tGradient\tStandard Deviation" << std::endl;
1166 for (i = 0; itItem != endItem; ++itItem, i++)
1169 pFitItem =
static_cast<CFitItem *
>(*itItem);
1197 os <<
":\t" << std::numeric_limits<C_FLOAT64>::quiet_NaN();
1198 os <<
"\t" << std::numeric_limits<C_FLOAT64>::quiet_NaN();
1199 os <<
"\t" << std::numeric_limits<C_FLOAT64>::quiet_NaN();
1209 for (k = 0; k < kmax; k++)
1217 os <<
"Fisher Information Matrix:" << std::endl;
1218 os <<
" " <<
mFisher << std::endl;
1220 os <<
"FIM Eigenvalues:" << std::endl;
1223 os <<
"FIM Eigenvectors corresponding to Eigenvalues:" << std::endl;
1226 os <<
"Fisher Information Matrix (scaled):" << std::endl;
1229 os <<
"FIM Eigenvalues (scaled):" << std::endl;
1232 os <<
"FIM Eigenvectors (scaled) corresponding to Eigenvalues:" << std::endl;
1235 os <<
"Correlation Matrix:" << std::endl;
1242 os <<
"Problem Description:" << std::endl;
1244 os <<
"Subtask: " << std::endl;
1253 os <<
"No Subtask specified.";
1257 os <<
"List of Fitting Items:" << std::endl;
1259 std::vector< COptItem * >::const_iterator itItem =
1261 std::vector< COptItem * >::const_iterator endItem =
1264 for (; itItem != endItem; ++itItem)
1265 os <<
" " << *static_cast<CFitItem *>(*itItem) << std::endl;
1270 for (; itItem != endItem; ++itItem)
1271 os <<
" " << *static_cast<CFitItem *>(*itItem) << std::endl;
1315 mRMS = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1316 mSD = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1322 mParameterSD = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1324 mFisher = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1327 mFisherScaled = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1331 mGradient = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1334 for (i = 0; i < imax; i++)
1349 if (ValidDataCount > imax)
1383 bool CalculateFIM =
true;
1387 DeltaResidualDeltaParameter.
resize(imax, jmax);
1392 CalculateFIM =
false;
1395 C_FLOAT64 * pDeltaResidualDeltaParameter = DeltaResidualDeltaParameter.
array();
1401 for (i = 0; i < imax; i++)
1405 if (fabs(Current) > resolution)
1408 Delta = 1.0 / (Current * factor);
1413 Delta = 1.0 / resolution;
1424 for (j = 0; j < jmax; j++, ++pDeltaResidualDeltaParameter, ++pSolutionResidual, ++pResidual)
1425 *pDeltaResidualDeltaParameter = (*pResidual - *pSolutionResidual) * Delta;
1441 for (i = 0; i < imax; i++)
1442 for (l = 0; l <= i; l++)
1448 C_FLOAT64 * pI = DeltaResidualDeltaParameter[i];
1449 C_FLOAT64 * pL = DeltaResidualDeltaParameter[l];
1451 for (j = 0; j < jmax; j++, ++pI, ++pL)
1530 C_INT LDA = std::max< C_INT >(1, N);
1546 LWORK = (
C_INT) WORK[0];
1568 for (i = 0; i < imax; i++)
1570 for (j = 0; j < imax; j++)
1658 mCorrelation = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1659 mParameterSD = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1712 mCorrelation = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1713 mParameterSD = std::numeric_limits<C_FLOAT64>::quiet_NaN();
1725 for (i = 0; i < imax; i++)
1726 for (l = 0; l < i; l++)
1732 for (i = 0; i < imax; i++)
1754 for (i = 0; i < imax; i++)
1755 for (l = 0; l < imax; l++)
1831 bool Continue =
true;
1849 std::vector<COptItem *>::iterator itConstraint;
1852 std::vector< Refresh *>::const_iterator itRefresh;
1853 std::vector< Refresh *>::const_iterator endRefresh;
1856 for (itConstraint =
mpConstraintItems->begin(); itConstraint != endConstraint; ++itConstraint)
1857 static_cast<CFitConstraint *>(*itConstraint)->resetConstraintViolation();
1864 for (i = 0; i < imax && Continue; i++)
1872 for (; pSolution != pSolutionEnd; pSolution++, pUpdate++)
1874 (**pUpdate)(*pSolution);
1883 for (j = 0; j < kmax && Continue; j++)
1892 for (; itRefresh != endRefresh; ++itRefresh)
1908 for (; itRefresh != endRefresh; ++itRefresh)
1914 for (; ppConstraint != ppConstraintEnd; ++ppConstraint)
1915 if (*ppConstraint)(*ppConstraint)->checkConstraint();
1927 size_t numIntermediateSteps;
1932 numIntermediateSteps = 4;
1937 for (j = 0; j < kmax && Continue; j++)
1947 for (ic = 1; ic < numIntermediateSteps; ++ic)
1970 for (; itRefresh != endRefresh; ++itRefresh)
1987 for (; itRefresh != endRefresh; ++itRefresh)
1993 for (; ppConstraint != ppConstraintEnd; ++ppConstraint)
1994 if (*ppConstraint)(*ppConstraint)->checkConstraint();
2020 bool RefreshNeeded =
false;
2023 for (; pOriginal != pOriginalEnd; pOriginal++, pUndo++)
2026 (**pUndo)(*pOriginal);
2027 RefreshNeeded =
true;
2036 while (itRefresh != endRefresh)
2058 while (itRefresh != endRefresh)
2076 while (itRefresh != endRefresh)
2081 if (isnan(CalculateValue))
CMatrix< C_FLOAT64 > mFisherEigenvectors
CCopasiDataModel * getObjectDataModel()
const std::string & getExperiment(const size_t &index) const
virtual Refresh * getRefresh() const
CCopasiContainer * getObjectAncestor(const std::string &type) const
CArrayAnnotation * mpFisherMatrix
CFitProblem(const CCopasiTask::Type &type=CCopasiTask::parameterFitting, const CCopasiContainer *pParent=NULL)
static const CCopasiMessage & peekLastMessage()
CCopasiMatrixInterface< CMatrix< C_FLOAT64 > > * mpFisherScaledMatrixInterface
CVector< C_FLOAT64 > mSolutionVariables
virtual void printResult(std::ostream *ostream) const
bool * mpCreateParameterSets
CVector< std::vector< Refresh * > > mCrossValidationInitialRefreshes
CArrayAnnotation * mpFisherEigenvectorsMatrix
std::string * mpParmSteadyStateCN
C_FLOAT64 mCrossValidationObjective
virtual bool initialize(const OutputFlag &of, COutputHandler *pOutputHandler, std::ostream *pOstream)
virtual bool process(const bool &useInitialValues)
unsigned C_INT32 mCounter
CCopasiProblem * getProblem()
CMatrix< C_FLOAT64 > mFisher
bool setResidualsRequired(const bool &required)
virtual CCopasiObjectName getCN() const
const C_FLOAT64 & getCrossValidationSolutionValue() const
void updateInitialState()
const CCopasiObject * getObject() const
const std::string & getObjectName() const
bool * mpParmCalculateStatistics
virtual size_t size() const
int dpotrf_(char *uplo, integer *n, doublereal *a, integer *lda, integer *info)
std::vector< COptItem * > * mpConstraintItems
const bool & isUpdateModel() const
std::vector< UpdateMethod * > mUpdateMethods
CMatrix< UpdateMethod * > mExperimentUpdateMethods
CCopasiObject * get(const std::string &key)
CVector< C_FLOAT64 > mGradient
unsigned C_INT32 mFailedCounter
void setInitialState(const CState &state)
bool processStep(const C_FLOAT64 &nextTime)
virtual bool initialize()
C_FLOAT64 mCrossValidationSolutionValue
CCopasiMatrixInterface< CMatrix< C_FLOAT64 > > * mpFisherScaledEigenvectorsMatrixInterface
CArrayAnnotation & getScaledFisherInformationEigenvectors() const
CMatrix< C_FLOAT64 > mCorrelation
const CVector< C_FLOAT64 > & getVariableStdDeviations() const
const bool & getCreateParameterSets() const
virtual bool setModel(CModel *pModel)
CTrajectoryProblem * mpTrajectoryProblem
std::string * mpParmTimeCourseCN
bool calculateCrossValidation()
virtual bool calculateStatistics(const C_FLOAT64 &factor=1.0e-003, const C_FLOAT64 &resolution=1.0e-009)
void resize(size_t size, const bool ©=false)
const std::set< const CCopasiObject * > & getUptoDateObjects() const
CVector< C_FLOAT64 > mCrossValidationDependentValues
const CVector< C_FLOAT64 > & getResiduals() const
const CExperimentSet & getExperiementSet() const
CMatrix< CFitConstraint * > mExperimentConstraints
CExperiment * getExperiment(const size_t &index)
virtual size_t getIndex(const std::string &name) const
CArrayAnnotation * mpFisherEigenvaluesMatrix
std::ostream & operator<<(std::ostream &os, const CFitProblem &o)
void initExtendedTimeSeries(size_t s)
void processStart(const bool &useInitialValues)
CTrajectoryTask * mpTrajectory
CVector< C_FLOAT64 > mExperimentDependentValues
CArrayAnnotation * mpCorrelationMatrix
bool calculateStatistics()
CArrayAnnotation & getCorrelations() const
const std::set< const CCopasiObject * > & getIndependentObjects() const
const C_FLOAT64 & getCrossValidationRMS() const
virtual bool elevateChildren()
virtual bool progressItem(const size_t &handle)
virtual bool setSolution(const C_FLOAT64 &value, const CVector< C_FLOAT64 > &variables)
unsigned C_INT32 mThresholdCounter
CArrayAnnotation * mpFisherScaledEigenvaluesMatrix
const C_FLOAT64 & getLocalValue() const
virtual bool restore(const bool &updateModel)
CMatrix< C_FLOAT64 > mFisherEigenvalues
unsigned C_INT32 mConstraintCounter
CRegisteredObjectName * pCN
const CCopasiTimeVariable & getElapsedTime() const
void setAnnotationString(size_t d, size_t i, const std::string s)
unsigned C_INT32 mFailedConstraintCounter
CCopasiMatrixInterface< CMatrix< C_FLOAT64 > > * mpFisherMatrixInterface
virtual bool restore(const bool &updateModel)
const size_t & getValidValueCount() const
CArrayAnnotation & getFisherInformation() const
virtual bool setCallBack(CProcessReport *pCallBack)
size_t getNumDataRows() const
bool removeParameter(const std::string &name)
CVector< std::vector< Refresh * > > mExperimentInitialRefreshes
C_FLOAT64 mCalculateValue
int dpotri_(char *uplo, integer *n, doublereal *a, integer *lda, integer *info)
static std::string LL2String(const C_INT64 &value, const C_INT32 &digits=0)
const CDescription & getDescription() const
std::vector< COptItem * > * mpOptItems
CVector< C_FLOAT64 > mParameterSD
void storeExtendedTimeSeriesData(C_FLOAT64 time)
virtual bool add(const CType &src)
const C_FLOAT64 & getWeight() const
CCopasiMatrixInterface< CMatrix< C_FLOAT64 > > * mpFisherEigenvaluesMatrixInterface
CArrayAnnotation & getScaledFisherInformation() const
virtual bool setModel(CModel *pModel)
bool restoreModelIndependentData()
CSteadyStateTask * mpSteadyState
CMatrix< C_FLOAT64 > mFisherScaledEigenvalues
CArrayAnnotation & getFisherInformationEigenvalues() const
std::string * mpParmSubtaskCN
CArrayAnnotation * mpFisherScaledEigenvectorsMatrix
const Value & getValue() const
CArrayAnnotation & getFisherInformationEigenvectors() const
const C_FLOAT64 & getInitialTime() const
const CCrossValidationSet & getCrossValidationSet() const
CCopasiVectorN< CCopasiTask > * getTaskList()
bool hasDataForTaskType(const CCopasiTask::Type &type) const
bool setValue(const std::string &name, const CType &value)
bool compile(const std::vector< CCopasiContainer * > listOfContainer=CCopasiContainer::EmptyList)
virtual bool setSolution(const C_FLOAT64 &value, const CVector< C_FLOAT64 > &variables)
CCopasiMatrixInterface< CMatrix< C_FLOAT64 > > * mpFisherScaledEigenvaluesMatrixInterface
CCopasiParameterGroup * assertGroup(const std::string &name)
std::string * mpParmObjectiveExpression
CArrayAnnotation & getScaledFisherInformationEigenvalues() const
const CCopasiVectorN< CModelParameterSet > & getModelParameterSets() const
C_FLOAT64 sumOfSquares(const size_t &index, C_FLOAT64 *&residuals) const
CCopasiMatrixInterface< CMatrix< C_FLOAT64 > > * mpCorrelationMatrixInterface
CCopasiParameter * getParameter(const std::string &name)
CMatrix< UpdateMethod * > mExperimentUndoMethods
C_FLOAT64 sumOfSquaresStore(const size_t &index, C_FLOAT64 *&dependentValues)
virtual void resize(size_t rows, size_t cols, const bool ©=false)
CMatrix< C_FLOAT64 > mFisherScaledEigenvectors
CMatrix< CFitConstraint * > mCrossValidationConstraints
virtual bool initialize()
virtual bool elevateChildren()
size_t keyToIndex(const std::string &key) const
virtual bool setCallBack(CProcessReport *pCallBack)
C_FLOAT64 mCrossValidationRMS
virtual bool createObjectiveFunction()
const C_FLOAT64 & getStdDeviation() const
std::set< const CObjectInterface * > ObjectSet
int dsyev_(char *jobz, char *uplo, integer *n, doublereal *a, integer *lda, doublereal *w, doublereal *work, integer *lwork, integer *info)
virtual const DataObjectSet & getDirectDependencies(const DataObjectSet &context=DataObjectSet()) const
const CCopasiTask::Type & getExperimentType() const
virtual std::string getObjectDisplayName(bool regular=true, bool richtext=false) const
const CVector< C_FLOAT64 > & getTimeData() const
size_t getCrossValidationCount() const
static CKeyFactory * getKeyFactory()
C_INT64 getSeconds(const bool &bounded=false) const
virtual bool checkFunctionalConstraints()
Header file of class CArrayAnnotation.
const CState & getInitialState() const
CCrossValidationSet * mpCrossValidationSet
virtual bool initialize(const OutputFlag &of, COutputHandler *pOutputHandler, std::ostream *pOstream)
virtual void print(std::ostream *ostream) const
bool updateBounds(std::vector< COptItem * >::iterator it)
size_t getDataPointCount() const
const unsigned C_INT32 & getThreshold() const
virtual void print(std::ostream *ostream) const
static CCopasiMessage getLastMessage()
const C_FLOAT64 & getCrossValidationSD() const
std::string UTCTimeStamp()
static std::vector< Refresh * > buildUpdateSequence(const DataObjectSet &objects, const DataObjectSet &uptoDateObjects, const DataObjectSet &context=DataObjectSet())
CMatrix< C_FLOAT64 > mFisherScaled
void initializeParameter()
void createParameterSetsForExperiment(CExperiment *pExp)
CVector< std::vector< Refresh * > > mCrossValidationConstraintRefreshes
bool updateInitialValues()
CVector< C_FLOAT64 > mOriginalVariables
const CCopasiParameter::Value & getValue(const std::string &name) const
CCopasiParameter * assertParameter(const std::string &name, const CCopasiParameter::Type type, const CType &defaultValue)
CCopasiMatrixInterface< CMatrix< C_FLOAT64 > > * mpFisherEigenvectorsMatrixInterface
void setCreateParameterSets(const bool &create)
CCopasiParameterGroup * getGroup(const std::string &name)
CExperimentSet * mpExperimentSet
CArrayAnnotation * mpFisherScaledMatrix
virtual void printResult(std::ostream *ostream) const
virtual size_t numCols() const
std::vector< Refresh * > buildInitialRefreshSequence(std::set< const CCopasiObject * > &changedObjects)
bool updateModelWithIndependentData(const size_t &index)
CProcessReport * mpCallBack
std::string getObjectDisplayName() const
bool setObjectName(const std::string &name)
void setUpdateModel(const bool &updateModel)
const C_FLOAT64 & getRMS() const
C_INT64 getMilliSeconds(const bool &bounded=false) const
CCopasiObject * ObjectFromName(const std::vector< CCopasiContainer * > &listOfContainer, const CCopasiObjectName &CN) const
CMatrix< UpdateMethod * > mCrossValidationUndoMethods
CCopasiObject * addObjectReference(const std::string &name, CType &reference, const unsigned C_INT32 &flag=0)
std::string getExperiments() const
size_t getExperimentCount() const
const std::string & getCrossValidation(const size_t &index) const
CMatrix< UpdateMethod * > mCrossValidationUpdateMethods
C_FLOAT64 mCrossValidationSD
size_t getExperimentCount() const
CCopasiContainer * getObjectParent() const
CVector< C_FLOAT64 > mResiduals
CVector< std::vector< Refresh * > > mExperimentConstraintRefreshes
static CCopasiMessage::Type getHighestSeverity()