|
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().