ROOT logo
ROOT » MATH » QUADP » TQpLinSolverBase

class TQpLinSolverBase: public TObject


TQpLinSolverBase

Implementation of main solver for linear systems


Function Members (Methods)

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

public:
virtual~TQpLinSolverBase()
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 voidComputeDiagonals(TVectorD& dd, TVectorD& omega, TVectorD& t, TVectorD& lambda, TVectorD& u, TVectorD& pi, TVectorD& v, TVectorD& gamma, TVectorD& w, TVectorD& phi)
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
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 voidFactor(TQpDataBase* prob, TQpVar* vars)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
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() constMENU
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 voidJoinRHS(TVectorD& rhs, TVectorD& rhs1, TVectorD& rhs2, TVectorD& rhs3)
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
TQpLinSolverBase&operator=(const TQpLinSolverBase& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual voidPutXDiagonal(TVectorD& xdiag)
virtual voidPutZDiagonal(TVectorD& zdiag)
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 = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual voidSeparateVars(TVectorD& vars1, TVectorD& vars2, TVectorD& vars3, TVectorD& vars)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidSolve(TQpDataBase* prob, TQpVar* vars, TQpResidual* resids, TQpVar* step)
virtual voidSolveCompressed(TVectorD& rhs)
virtual voidSolveXYZS(TVectorD& stepx, TVectorD& stepy, TVectorD& stepz, TVectorD& steps, TVectorD& ztemp, TQpDataBase* data)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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

protected:
TVectorDfCloIndex
TVectorDfCupIndex
TVectorDfDdtemporary storage vectors
TVectorDfDq
TQpProbBase*fFactory
Int_tfMclo
Int_tfMcup
Int_tfMy
Int_tfMz
TVectorDfNomegaInvstores a critical diagonal matrix as a vector
Int_tfNxdimensions of the vectors in the general QP formulation
Int_tfNxlo
Int_tfNxupdimensions of the upper and lower bound vectors
TVectorDfRhsright-hand side of the system
TVectorDfXloIndex
TVectorDfXupIndexindex matrices for the upper and lower bounds on x and Cx

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void Factor(TQpDataBase* prob, TQpVar* vars)
 Sets up the matrix for the main linear system in "augmented system" form. The
 actual factorization is performed by a routine specific to either the sparse
 or dense case
void ComputeDiagonals(TVectorD& dd, TVectorD& omega, TVectorD& t, TVectorD& lambda, TVectorD& u, TVectorD& pi, TVectorD& v, TVectorD& gamma, TVectorD& w, TVectorD& phi)
 Computes the diagonal matrices in the augmented system from the current set of variables
void Solve(TQpDataBase* prob, TQpVar* vars, TQpResidual* resids, TQpVar* step)
 Solves the system for a given set of residuals. Assembles the right-hand side appropriate
 to the matrix factored in factor, solves the system using the factorization produced there,
 partitions the solution vector into step components, then recovers the step components
 eliminated during the block elimination that produced the augmented system form .
void SolveXYZS(TVectorD& stepx, TVectorD& stepy, TVectorD& stepz, TVectorD& steps, TVectorD& ztemp, TQpDataBase* data)
 Assemble right-hand side of augmented system and call SolveCompressed to solve it
void JoinRHS(TVectorD& rhs, TVectorD& rhs1, TVectorD& rhs2, TVectorD& rhs3)
 Assembles a single vector object from three given vectors .
     rhs_out (output) final joined vector
     rhs1_in (input) first part of rhs
     rhs2_in (input) middle part of rhs
     rhs3_in (input) last part of rhs .
void SeparateVars(TVectorD& vars1, TVectorD& vars2, TVectorD& vars3, TVectorD& vars)
 Extracts three component vectors from a given aggregated vector.
     vars_in  (input) aggregated vector
     x_in (output) first part of vars
     y_in (output) middle part of vars
     z_in (output) last part of vars
TQpLinSolverBase & operator=(const TQpLinSolverBase& source)
 Assignment opeartor
virtual ~TQpLinSolverBase()
{}
void SolveCompressed(TVectorD& rhs)
 assemble right-hand side of augmented system and call
 SolveCompressed to solve it
void PutXDiagonal(TVectorD& xdiag)
 perform the actual solve using the factors produced in
 factor.
  rhs on input contains the aggregated right-hand side of
  the augmented system; on output contains the solution in
  aggregated form
void PutZDiagonal(TVectorD& zdiag)
 places the diagonal resulting from the bounds on x into
 the augmented system matrix