Skip to content

Commit

Permalink
Some explanation in the doc for non linear systems
Browse files Browse the repository at this point in the history
  • Loading branch information
deseilligny committed Jan 31, 2024
1 parent 719f98c commit 0297f38
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 10 deletions.
6 changes: 6 additions & 0 deletions MMVII/Doc/Programmer/NonLinearOptim.tex
Original file line number Diff line number Diff line change
Expand Up @@ -970,6 +970,12 @@ \subsection{General principle}

\end{itemize}


Some detailled pseudo code will illustration of the main step are presented in
the file \tt{include/MMVII\_SysSurR.h} as commentaries under the tag \tt{cObjWithUnkowns::TypicalScenario}.
It's highly recommanded to give a look at it, in parallel to this document.


%---------------------------------------------

\subsection{Class {\tt cSetInterUK\_MultipeObj}}
Expand Down
2 changes: 1 addition & 1 deletion MMVII/git_help_mpd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ git branch mpd
git checkout mpd


git config --global credential.helper 'store --file ~/.git-credential'
git config --global credential.helper 'store --file ~/.git-credential'


git config --global credential.useHttpPath true
Expand Down
24 changes: 15 additions & 9 deletions MMVII/include/MMVII_SysSurR.h
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,7 @@ template <class Type> class cSetIntervUK_OneObj;
template <class Type> class cSetInterUK_MultipeObj;
template <class Type> class cObjWithUnkowns;

/* Typical scenario
/* cObjWithUnkowns::TypicalScenario
// for object having unknowns, make them inherit of cObjWithUnkowns, describe behaviour with P-utUknowsInSetInterval
class cObj: public cObjWithUnkowns
Expand All @@ -664,26 +664,32 @@ template <class Type> class cObjWithUnkowns;
... do stuff specific to cObj ...
void P-utUknowsInSetInterval() override
{
void PutUknowsInSetInterval() override
{
// the object communicate, to the set it belongs to, all its unknowns
mSetInterv->AddOneInterv(mUK1,4);
mSetInterv->AddOneInterv(mUK2,7);
}
};
void SomeFunctionSomeWhere()
{
cObj aO1,aO2;
cSetInterUK_MultipeObj<Type> aSet; // create the object
aSet.AddOneObj(aO1); // in this call aSet will call O1->P-utUknowsInSetInterval()
aSet.AddOneObj(aO1); // in this call aSet will call aO1->PutUknowsInSetInterval()
aSet.AddOneObj(aO2);
// create a sys with the vector of all unkwnon
cResolSysNonLinear<double> * aSys = new cResolSysNonLinear<double>(eModeSSR::eSSR_LsqDense,mSetInterv.GetVUnKnowns());
// create a sys with the vector of all unkwnon
cResolSysNonLinear<double> * aSys = new cResolSysNonLinear<double>(eModeSSR::eSSR_LsqDense,mSetInterv.GetVUnKnowns());
const auto & aVectSol = mSys->SolveUpdateReset();
// modify all unkowns with new solution, call the method OnUpdate in case object have something to do
mSetInterv.SetVUnKnowns(aVectSol);
for ( ...)
{
....
const auto & aVectSol = mSys->SolveUpdateReset();
// modify all unkowns with new solution, call the method OnUpdate in case object have something to do
mSetInterv.SetVUnKnowns(aVectSol);
}
}
*/
Expand Down

0 comments on commit 0297f38

Please sign in to comment.