library: libQuadp #include "TQpSolverBase.h"

# TQpSolverBase

class description - source file - inheritance tree (.pdf)

## class TQpSolverBase : public TObject

| Inheritance Chart:

`TObject`

<-

`TQpSolverBase`

<-

`TGondzioSolver` |

`TMehrotraSolver` |

This is an abstract class, constructors will not be documented.
Look at the header to check for available constructors.

        public:

                    virtual ~TQpSolverBase()
             static TClass* Class()
                   Double_t DataNorm()
               virtual void DefMonitor(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 void DefStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step)
              virtual Int_t DefStatus(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Int_t i, Double_t mu, Int_t level)
               virtual 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)
              virtual Int_t DoStatus(TQpDataBase* data, TQpVar* vars, TQpResidual* resids, Int_t i, Double_t mu, Int_t level)
               virtual void DumbStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step)
           virtual Double_t FinalStepLength(TQpVar* iterate, TQpVar* step)
                   Double_t GetArTol()
          TQpLinSolverBase* GetLinearSystem()
                   Double_t GetMuTol()
            virtual TClass* IsA() const
             TQpSolverBase& operator=(const TQpSolverBase& source)
                       void SetArTol(Double_t ar)
                       void SetMuTol(Double_t m)
               virtual void ShowMembers(TMemberInspector& insp, char* parent)
              virtual Int_t Solve(TQpDataBase* prob, TQpVar* iterate, TQpResidual* resids)
               virtual void Start(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step)
               virtual void SteveStart(TQpProbBase* formulation, TQpVar* iterate, TQpDataBase* prob, TQpResidual* resid, TQpVar* step)
               virtual void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          TQpLinSolverBase* fSys
                   Double_t fDnorm            norm of problem data
                   Double_t fMutol            termination parameters
                   Double_t fArtol
                   Double_t fGamma_f          parameters associated with the step length heuristic
                   Double_t fGamma_a
                   Double_t fPhi              merit function, defined as the sum of the complementarity gap
                      Int_t fMaxit            maximum 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

        public:

          Int_t fIter  iteration counter

## Class Description

     TSolverBase

~TQpSolverBase()

void Start(TQpProbBase *formulation,TQpVar *iterate,TQpDataBase *prob, TQpResidual *resid,TQpVar *step)

void DefStart(TQpProbBase * /* formulation */,TQpVar *iterate, TQpDataBase *prob,TQpResidual *resid,TQpVar *step)

void SteveStart(TQpProbBase * /* formulation */, TQpVar *iterate,TQpDataBase *prob, TQpResidual *resid,TQpVar *step)

void DumbStart(TQpProbBase * /* formulation */, TQpVar *iterate,TQpDataBase * /* prob */, TQpResidual * /* resid */,TQpVar * /* step */)

Double_t FinalStepLength(TQpVar *iterate,TQpVar *step)

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)

Int_t DoStatus(TQpDataBase *data,TQpVar *vars,TQpResidual *resids, Int_t i,Double_t mu,Int_t level)

Int_t DefStatus(TQpDataBase * /* data */,TQpVar * /* vars */, TQpResidual *resids,Int_t iterate,Double_t mu,Int_t /* level */)

### Inline Functions

                        Int_t Solve(TQpDataBase* prob, TQpVar* iterate, TQpResidual* resids)
                         void DefMonitor(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)
            TQpLinSolverBase* GetLinearSystem()
                         void SetMuTol(Double_t m)
                     Double_t GetMuTol()
                         void SetArTol(Double_t ar)
                     Double_t GetArTol()
                     Double_t DataNorm()
               TQpSolverBase& operator=(const TQpSolverBase& source)
                      TClass* Class()
                      TClass* IsA() const
                         void ShowMembers(TMemberInspector& insp, char* parent)
                         void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)

Author: Eddy Offermann May 2004
Last update: root/quadp:$Name: $:$Id: TQpSolverBase.cxx,v 1.3 2004/06/09 12:23:16 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *