library: libQuadp
#include "TQpSolverBase.h"

TQpSolverBase


class description - header file - source file
viewCVS header - viewCVS source

class TQpSolverBase: public TObject

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~TQpSolverBase()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Double_tDataNorm()
virtual voidDefMonitor(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Double_t alpha, Double_t sigma, Int_t i, Double_t mu, Int_t stop_code, Int_t level)
virtual voidDefStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step)
virtual Int_tDefStatus(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Int_t i, Double_t mu, Int_t level)
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidDoMonitor(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Double_t alpha, Double_t sigma, Int_t i, Double_t mu, Int_t stop_code, Int_t level)
virtual Int_tDoStatus(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Int_t i, Double_t mu, Int_t level)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidDumbStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step)
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual Double_tFinalStepLength(TQpVar* iterate, TQpVar* step)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetArTol()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TQpLinSolverBase*GetLinearSystem()
Double_tGetMuTol()
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TQpSolverBase&operator=(const TQpSolverBase& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidSetArTol(Double_t ar)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
voidSetMuTol(Double_t m)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tSolve(TQpDataBase* prob, TQpVar* iterate, TQpResidual* resids)
virtual voidStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step)
virtual voidSteveStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
Int_tfIteriteration counter
protected:
TQpLinSolverBase*fSys
Double_tfDnormnorm of problem data
Double_tfMutoltermination parameters
Double_tfArtol
Double_tfGamma_fparameters associated with the step length heuristic
Double_tfGamma_a
Double_tfPhimerit function, defined as the sum of the complementarity gap
Int_tfMaxitmaximum number of iterations allowed
Double_t*fMu_history[fMaxit] history of values of mu obtained on all iterations to date
Double_t*fRnorm_history[fMaxit] history of values of residual norm obtained on all iterations to date
Double_t*fPhi_history[fMaxit] history of values of phi obtained on all iterations to date
Double_t*fPhi_min_history[fMaxit] the i-th entry of this array contains the minimum value of phi

Class Description

                                                                      
 TSolverBase                                                          
                                                                      
 The Solver class contains methods for monitoring and checking the    
 convergence status of the algorithm, methods to determine the step   
 length along a given direction, methods to define the starting point,
 and the solve method that implements the interior-point algorithm    
                                                                      

~TQpSolverBase()
 Deconstructor
void Start(TQpProbBase *formulation,TQpVar *iterate,TQpDataBase *prob, TQpResidual *resid,TQpVar *step)
 Implements a default starting-point heuristic. While interior-point theory
  places fairly loose restrictions on the choice of starting point, the choice 
 of heuristic can significantly affect the robustness and efficiency of the
  algorithm.
void DefStart(TQpProbBase * /* formulation */,TQpVar *iterate, TQpDataBase *prob,TQpResidual *resid,TQpVar *step)
 Default starting point
void SteveStart(TQpProbBase * /* formulation */, TQpVar *iterate,TQpDataBase *prob, TQpResidual *resid,TQpVar *step)
 Starting point algoritm according to Stephen Wright
void DumbStart(TQpProbBase * /* formulation */, TQpVar *iterate,TQpDataBase * /* prob */, TQpResidual * /* resid */,TQpVar * /* step */)
 Alternative starting point heuristic: sets the "complementary" variables to a large
 positive value (based on the norm of the problem data) and the remaining variables
 to zero .
Double_t FinalStepLength(TQpVar *iterate,TQpVar *step)
 Implements a version of Mehrotra starting point heuristic,
  modified to ensure identical steps in the primal and dual variables.
void DoMonitor(TQpDataBase *data,TQpVar *vars,TQpResidual *resids, Double_t alpha,Double_t sigma,Int_t i,Double_t mu, Int_t stop_code,Int_t level)
 Monitor progress / convergence aat each interior-point iteration
Int_t DoStatus(TQpDataBase *data,TQpVar *vars,TQpResidual *resids, Int_t i,Double_t mu,Int_t level)
 Tests for termination. Unless the user supplies a specific termination 
 routine, this method calls another method defaultStatus, which returns 
 a code indicating the current convergence status.
Int_t DefStatus(TQpDataBase * /* data */,TQpVar * /* vars */, TQpResidual *resids,Int_t iterate,Double_t mu,Int_t /* level */)
 Default status method
TQpSolverBase & operator=(const TQpSolverBase &source)
 Assignment operator
TQpLinSolverBase * GetLinearSystem()
{ return fSys; }

Author: Eddy Offermann May 2004
Last update: root/quadp:$Name: $:$Id: TQpSolverBase.cxx,v 1.8 2006/06/28 05:17:13 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.