KASKADE 7 development version
|
Base class for homotopy methods. Here, the main algorithm is programmed. More...
#include <homotopy_base.hh>
Base class for homotopy methods. Here, the main algorithm is programmed.
Definition at line 96 of file homotopy_base.hh.
Public Member Functions | |
HomotopyBase (NewtonsMethod &n_, InteriorPointParameters &p_) | |
virtual | ~HomotopyBase () |
void | solve (AbstractParameterFunctional *f, AbstractFunctionSpaceElement &x) |
void | performTiming (bool doit) |
void | reportOnIteration (int level) |
Protected Member Functions | |
virtual void | initialize () |
Optional overload by derived class. More... | |
virtual void | finalize () |
Optional overload by derived class. More... | |
virtual void | logQuantities () |
virtual void | computePredictor (int step) |
Default: classical predictor. More... | |
virtual double | muOnSuccess (int step)=0 |
New mu if corrector was successful. More... | |
virtual double | muOnFailure ()=0 |
New mu if corrector failed. More... | |
virtual double | muFinal ()=0 |
mu for successful termination More... | |
virtual void | updateModelOfHomotopy (int step)=0 |
update of path parameters, e.g. eta and omega More... | |
virtual void | initializeCorrector ()=0 |
what should be done before corrector More... | |
virtual void | finalizeCorrector ()=0 |
what should be done after corrector More... | |
virtual void | updateIterate ()=0 |
make trial iterate to current iterate (on successful corrector) More... | |
virtual void | recoverIterate ()=0 |
make old iterate to current iterate (on failed corrector) More... | |
virtual double | lengthOfPath ()=0 |
estimate of length of homopoty path More... | |
virtual int | convergenceTest () |
convergence test. returns true if method converged and solution is found. More... | |
virtual void | finalizeHomotopy () |
to be performed, if convergence of path has occured More... | |
virtual void | terminationMessage (int errorFlag) |
output of a termination message More... | |
virtual void | finalize (int) |
int | algorithmWrapper () |
Run algorithm, completely with initialization and finalization. More... | |
int | oneStepWrapper () |
Run one step of algorithm. More... | |
Protected Attributes | |
NewtonsMethod & | corrector |
InteriorPointParameters & | p |
AbstractParameterFunctional * | functional |
std::unique_ptr< AbstractFunctionSpaceElement > | trialIterate |
int | step |
int | report |
|
inline |
Definition at line 99 of file homotopy_base.hh.
|
inlinevirtual |
Definition at line 102 of file homotopy_base.hh.
|
protectedinherited |
Run algorithm, completely with initialization and finalization.
|
protectedvirtual |
Default: classical predictor.
Reimplemented in Kaskade::InteriorPointSlopeEstimate.
|
protectedvirtual |
convergence test. returns true if method converged and solution is found.
|
inlineprotectedvirtual |
Optional overload by derived class.
Reimplemented in Kaskade::InteriorPointSlopeEstimate.
Definition at line 112 of file homotopy_base.hh.
|
inlineprotectedvirtualinherited |
Reimplemented in Kaskade::SimpleAdaptiveRefinement, Kaskade::TestErrorEstimator, and Kaskade::NewtonsMethod.
Definition at line 186 of file algorithm_base.hh.
|
protectedpure virtual |
what should be done after corrector
Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
|
inlineprotectedvirtual |
to be performed, if convergence of path has occured
Reimplemented in Kaskade::InteriorPointSlopeEstimate.
Definition at line 150 of file homotopy_base.hh.
|
inlineprotectedvirtual |
Optional overload by derived class.
Reimplemented from Kaskade::Algorithm.
Reimplemented in Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
Definition at line 109 of file homotopy_base.hh.
|
protectedpure virtual |
what should be done before corrector
Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
|
protectedpure virtual |
estimate of length of homopoty path
Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
|
protectedvirtual |
Reimplemented in Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
Referenced by Kaskade::InteriorPointSqrtModel::logQuantities(), and Kaskade::InteriorPointSlopeEstimate::logQuantities().
|
protectedpure virtual |
mu for successful termination
Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
|
protectedpure virtual |
New mu if corrector failed.
Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
|
protectedpure virtual |
New mu if corrector was successful.
Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
|
protectedinherited |
Run one step of algorithm.
|
inlineinherited |
Definition at line 181 of file algorithm_base.hh.
|
protectedpure virtual |
make old iterate to current iterate (on failed corrector)
Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
|
inlineinherited |
Definition at line 182 of file algorithm_base.hh.
void Kaskade::HomotopyBase::solve | ( | AbstractParameterFunctional * | f, |
AbstractFunctionSpaceElement & | x | ||
) |
|
protectedvirtual |
output of a termination message
Reimplemented from Kaskade::Algorithm.
|
protectedpure virtual |
make trial iterate to current iterate (on successful corrector)
Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
|
protectedpure virtual |
update of path parameters, e.g. eta and omega
Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.
|
protected |
Definition at line 155 of file homotopy_base.hh.
Referenced by Kaskade::InteriorPointSqrtModel::finalizeCorrector(), and Kaskade::InteriorPointSlopeEstimate::finalizeCorrector().
|
protected |
Definition at line 157 of file homotopy_base.hh.
|
protected |
Definition at line 156 of file homotopy_base.hh.
Referenced by Kaskade::InteriorPointSimple::lengthOfPath(), Kaskade::InteriorPointSqrtModel::lengthOfPath(), Kaskade::InteriorPointSlopeEstimate::lengthOfPath(), Kaskade::InteriorPointSqrtModel::muFinal(), Kaskade::InteriorPointSlopeEstimate::muFinal(), Kaskade::InteriorPointSimple::muOnFailure(), Kaskade::InteriorPointSlopeEstimate::muOnFailure(), and Kaskade::InteriorPointSimple::muOnSuccess().
|
protectedinherited |
Definition at line 193 of file algorithm_base.hh.
Referenced by Kaskade::Algorithm::reportOnIteration().
|
protected |
Definition at line 160 of file homotopy_base.hh.
|
protected |
Definition at line 159 of file homotopy_base.hh.
Referenced by Kaskade::InteriorPointSqrtModel::initialize(), Kaskade::InteriorPointSlopeEstimate::initialize(), Kaskade::InteriorPointSqrtModel::recoverIterate(), and Kaskade::InteriorPointSlopeEstimate::recoverIterate().