KASKADE 7 development version
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Kaskade::HomotopyBase Class Referenceabstract

Base class for homotopy methods. Here, the main algorithm is programmed. More...

#include <homotopy_base.hh>

Detailed Description

Base class for homotopy methods. Here, the main algorithm is programmed.

Definition at line 96 of file homotopy_base.hh.

Inheritance diagram for Kaskade::HomotopyBase:
Kaskade::Algorithm Kaskade::InteriorPointSimple Kaskade::InteriorPointSlopeEstimate Kaskade::InteriorPointSqrtModel

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

NewtonsMethodcorrector
 
InteriorPointParametersp
 
AbstractParameterFunctionalfunctional
 
std::unique_ptr< AbstractFunctionSpaceElementtrialIterate
 
int step
 
int report
 

Constructor & Destructor Documentation

◆ HomotopyBase()

Kaskade::HomotopyBase::HomotopyBase ( NewtonsMethod n_,
InteriorPointParameters p_ 
)
inline

Definition at line 99 of file homotopy_base.hh.

◆ ~HomotopyBase()

virtual Kaskade::HomotopyBase::~HomotopyBase ( )
inlinevirtual

Definition at line 102 of file homotopy_base.hh.

Member Function Documentation

◆ algorithmWrapper()

int Kaskade::Algorithm::algorithmWrapper ( )
protectedinherited

Run algorithm, completely with initialization and finalization.

◆ computePredictor()

virtual void Kaskade::HomotopyBase::computePredictor ( int  step)
protectedvirtual

Default: classical predictor.

Reimplemented in Kaskade::InteriorPointSlopeEstimate.

◆ convergenceTest()

virtual int Kaskade::HomotopyBase::convergenceTest ( )
protectedvirtual

convergence test. returns true if method converged and solution is found.

◆ finalize() [1/2]

virtual void Kaskade::HomotopyBase::finalize ( )
inlineprotectedvirtual

Optional overload by derived class.

Reimplemented in Kaskade::InteriorPointSlopeEstimate.

Definition at line 112 of file homotopy_base.hh.

◆ finalize() [2/2]

virtual void Kaskade::Algorithm::finalize ( int  )
inlineprotectedvirtualinherited

◆ finalizeCorrector()

virtual void Kaskade::HomotopyBase::finalizeCorrector ( )
protectedpure virtual

◆ finalizeHomotopy()

virtual void Kaskade::HomotopyBase::finalizeHomotopy ( )
inlineprotectedvirtual

to be performed, if convergence of path has occured

Reimplemented in Kaskade::InteriorPointSlopeEstimate.

Definition at line 150 of file homotopy_base.hh.

◆ initialize()

virtual void Kaskade::HomotopyBase::initialize ( )
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.

◆ initializeCorrector()

virtual void Kaskade::HomotopyBase::initializeCorrector ( )
protectedpure virtual

what should be done before corrector

Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.

◆ lengthOfPath()

virtual double Kaskade::HomotopyBase::lengthOfPath ( )
protectedpure virtual

◆ logQuantities()

virtual void Kaskade::HomotopyBase::logQuantities ( )
protectedvirtual

◆ muFinal()

virtual double Kaskade::HomotopyBase::muFinal ( )
protectedpure virtual

◆ muOnFailure()

virtual double Kaskade::HomotopyBase::muOnFailure ( )
protectedpure virtual

◆ muOnSuccess()

virtual double Kaskade::HomotopyBase::muOnSuccess ( int  step)
protectedpure virtual

◆ oneStepWrapper()

int Kaskade::Algorithm::oneStepWrapper ( )
protectedinherited

Run one step of algorithm.

◆ performTiming()

void Kaskade::Algorithm::performTiming ( bool  doit)
inlineinherited

Definition at line 181 of file algorithm_base.hh.

◆ recoverIterate()

virtual void Kaskade::HomotopyBase::recoverIterate ( )
protectedpure virtual

make old iterate to current iterate (on failed corrector)

Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.

◆ reportOnIteration()

void Kaskade::Algorithm::reportOnIteration ( int  level)
inlineinherited

Definition at line 182 of file algorithm_base.hh.

◆ solve()

void Kaskade::HomotopyBase::solve ( AbstractParameterFunctional f,
AbstractFunctionSpaceElement x 
)

◆ terminationMessage()

virtual void Kaskade::HomotopyBase::terminationMessage ( int  errorFlag)
protectedvirtual

output of a termination message

Reimplemented from Kaskade::Algorithm.

◆ updateIterate()

virtual void Kaskade::HomotopyBase::updateIterate ( )
protectedpure virtual

make trial iterate to current iterate (on successful corrector)

Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.

◆ updateModelOfHomotopy()

virtual void Kaskade::HomotopyBase::updateModelOfHomotopy ( int  step)
protectedpure virtual

update of path parameters, e.g. eta and omega

Implemented in Kaskade::InteriorPointSimple, Kaskade::InteriorPointSqrtModel, and Kaskade::InteriorPointSlopeEstimate.

Member Data Documentation

◆ corrector

NewtonsMethod& Kaskade::HomotopyBase::corrector
protected

◆ functional

AbstractParameterFunctional* Kaskade::HomotopyBase::functional
protected

Definition at line 157 of file homotopy_base.hh.

◆ p

InteriorPointParameters& Kaskade::HomotopyBase::p
protected

◆ report

int Kaskade::Algorithm::report
protectedinherited

Definition at line 193 of file algorithm_base.hh.

Referenced by Kaskade::Algorithm::reportOnIteration().

◆ step

int Kaskade::HomotopyBase::step
protected

Definition at line 160 of file homotopy_base.hh.

◆ trialIterate

std::unique_ptr<AbstractFunctionSpaceElement> Kaskade::HomotopyBase::trialIterate
protected

The documentation for this class was generated from the following file: