class TQpResidual: public TObject


TQpResidual

The Residuals class calculates and stores the quantities that appear
on the right-hand side of the linear systems that arise at each
interior-point iteration. These residuals can be partitioned into
two fundamental categories: the components arising from the linear
quations in the KKT conditions, and the components arising from th
complementarity conditions.


Function Members (Methods)

public:
TQpResidual()
TQpResidual(const TQpResidual& another)
TQpResidual(Int_t nx, Int_t my, Int_t mz, TVectorD& ixlow, TVectorD& ixupp, TVectorD& iclow, TVectorD& icupp)
virtual~TQpResidual()
voidTObject::AbstractMethod(const char* method) const
voidAdd_r3_xz_alpha(TQpVar* vars, Double_t alpha)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidCalcResids(TQpDataBase* problem, TQpVar* vars)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
voidClear_r1r2()
voidClear_r3()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
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 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()
Double_tGetDualityGap()
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
Double_tGetResidualNorm()
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)
TQpResidual&operator=(const TQpResidual& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidProject_r3(Double_t rmin, Double_t rmax)
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(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSet_r3_xz_alpha(TQpVar* vars, Double_t alpha)
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 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()
Bool_tValidNonZeroPattern()
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
static voidGondzioProjection(TVectorD& v, Double_t rmin, Double_t rmax)
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:
TVectorDfRA
TVectorDfRC
TVectorDfRQ
TVectorDfRgamma
TVectorDfRlambda
TVectorDfRphi
TVectorDfRpi
TVectorDfRt
TVectorDfRu
TVectorDfRv
TVectorDfRw
TVectorDfRz
protected:
TVectorDfCloIndex
TVectorDfCupIndex
Double_tfDualityGapA quantity that measures progress toward feasibility. In terms
Double_tfMclo
Double_tfMcup
Int_tfMy
Int_tfMz
Int_tfNx
Double_tfNxlo
Double_tfNxup
Double_tfResidualNormThe norm of the residuals, ommiting the complementariy conditions
TVectorDfXloIndex
TVectorDfXupIndex

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TQpResidual(const TQpResidual& another)
 Constructor
TQpResidual(Int_t nx, Int_t my, Int_t mz, TVectorD& ixlow, TVectorD& ixupp, TVectorD& iclow, TVectorD& icupp)
 Constructor
TQpResidual(const TQpResidual& another)
 Copy constructor
void CalcResids(TQpDataBase* problem, TQpVar* vars)
 Calculate residuals, their norms, and duality complementarity gap,
 given a problem and variable set.
void Add_r3_xz_alpha(TQpVar* vars, Double_t alpha)
 Modify the "complementarity" component of the residuals, by adding the pairwise
 products of the complementary variables plus a constant alpha to this term.
void Set_r3_xz_alpha(TQpVar* vars, Double_t alpha)
 Set the "complementarity" component of the residuals to the pairwise products of
 the complementary variables plus a constant alpha .
void Clear_r3()
 set the complementarity component of the residuals to 0.
void Clear_r1r2()
 set the noncomplementarity components of the residual (the terms arising from
 the linear equalities in the KKT conditions) to 0.
void Project_r3(Double_t rmin, Double_t rmax)
 Perform the projection operation required by Gondzio algorithm: replace each
 component r3_i of the complementarity component of the residuals by r3p_i-r3_i,
 where r3p_i is the projection of r3_i onto the box [rmin, rmax]. Then if the
 resulting value is less than -rmax, replace it by -rmax.
Bool_t ValidNonZeroPattern()
 Check if vector elements as selected through array indices are non-zero
void GondzioProjection(TVectorD& v, Double_t rmin, Double_t rmax)
 Replace each component r3_i of the complementarity component of the residuals
 by r3p_i-r3_i, where r3p_i is the projection of r3_i onto the box [rmin, rmax].
 Then if the resulting value is less than -rmax, replace it by -rmax.
TQpResidual & operator=(const TQpResidual& source)
 Assignment operator
virtual ~TQpResidual()
{}
Double_t GetResidualNorm()
{ return fResidualNorm; }
Double_t GetDualityGap()
{ return fDualityGap; }

Author: Eddy Offermann May 2004
Last update: root/quadp:$Id: TQpResidual.h 20882 2007-11-19 11:31:26Z rdm $
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.