+
class TQpLinSolverBase
-
library: libQuadp
#include "TQpLinSolverBase.h"
Display options:
Show inherited
Show non-public

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 = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
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 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() 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 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()
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 = "") const
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 = "")
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
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& 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
};
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
 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 PutXDiagonal(TVectorD& xdiag)
 places the diagonal resulting from the bounds on x into
 the augmented system matrix
void PutZDiagonal(TVectorD& zdiag)
 places the diagonal resulting from the bounds on Cx into
 the augmented system matrix

Author: Eddy Offermann May 2004
Last update: root/quadp:$Name: $:$Id: TQpLinSolverBase.cxx,v 1.8 2006/06/30 04:35:12 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *

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.