Logo ROOT   6.13/01
Reference Guide
List of all members | Public Member Functions | Protected Attributes | List of all members
TQpDataSparse Class Reference

Definition at line 59 of file TQpDataSparse.h.

Public Member Functions

 TQpDataSparse ()
 
 TQpDataSparse (Int_t nx, Int_t my, Int_t mz)
 Constructor. More...
 
 TQpDataSparse (TVectorD &c, TMatrixDSparse &Q, TVectorD &xlow, TVectorD &ixlow, TVectorD &xupp, TVectorD &ixupp, TMatrixDSparse &A, TVectorD &bA, TMatrixDSparse &C, TVectorD &clow, TVectorD &iclow, TVectorD &cupp, TVectorD &icupp)
 Constructor. More...
 
 TQpDataSparse (const TQpDataSparse &another)
 Copy constructor. More...
 
virtual ~TQpDataSparse ()
 
virtual void Amult (Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)
 calculate y = beta*y + alpha*(fA*x) More...
 
virtual void ATransmult (Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)
 calculate y = beta*y + alpha*(fA^T*x) More...
 
virtual void Cmult (Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)
 calculate y = beta*y + alpha*(fC*x) More...
 
virtual void CTransmult (Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)
 calculate y = beta*y + alpha*(fC^T*x) More...
 
virtual Double_t DataNorm ()
 Return the largest component of several vectors in the data class. More...
 
virtual void DataRandom (TVectorD &x, TVectorD &y, TVectorD &z, TVectorD &s)
 Choose randomly a QP problem. More...
 
virtual void GetDiagonalOfQ (TVectorD &dQ)
 Return in vector dq the diagonal of matrix fQ. More...
 
virtual Double_t ObjectiveValue (TQpVar *vars)
 Return value of the objective function. More...
 
TQpDataSparse & operator= (const TQpDataSparse &source)
 Assignment operator. More...
 
virtual void Print (Option_t *opt="") const
 Print class members. More...
 
virtual void PutAIntoAt (TMatrixDBase &M, Int_t row, Int_t col)
 Insert the constraint matrix A into the matrix M at index (row,col) for the fundamental linear system. More...
 
virtual void PutCIntoAt (TMatrixDBase &M, Int_t row, Int_t col)
 Insert the constraint matrix C into the matrix M at index (row,col) for the fundamental linear system. More...
 
virtual void PutQIntoAt (TMatrixDBase &M, Int_t row, Int_t col)
 Insert the Hessian Q into the matrix M at index (row,col) for the fundamental linear system. More...
 
virtual void Qmult (Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)
 calculate y = beta*y + alpha*(fQ*x) More...
 
void SetNonZeros (Int_t nnzQ, Int_t nnzA, Int_t nnzC)
 Allocate space for the appropriate number of non-zeros in the matrices. More...
 
- Public Member Functions inherited from TQpDataBase
 TQpDataBase ()
 Default constructor. More...
 
 TQpDataBase (Int_t nx, Int_t my, Int_t mz)
 Constructor. More...
 
 TQpDataBase (const TQpDataBase &another)
 Copy constructor. More...
 
virtual ~TQpDataBase ()
 
virtual TVectorD & GetBa ()
 
virtual TVectorD & GetG ()
 
virtual TVectorD & GetiSlowerBound ()
 
virtual TVectorD & GetiSupperBound ()
 
virtual TVectorD & GetiXlowerBound ()
 
virtual TVectorD & GetiXupperBound ()
 
virtual TVectorD & GetSlowerBound ()
 
virtual TVectorD & GetSupperBound ()
 
virtual TVectorD & GetXlowerBound ()
 
virtual TVectorD & GetXupperBound ()
 
TQpDataBase & operator= (const TQpDataBase &source)
 Assignment operator. More...
 

Protected Attributes

TMatrixDSparse fA
 
TMatrixDSparse fC
 
TMatrixDSparse fQ
 

Additional Inherited Members

- Public Attributes inherited from TQpDataBase
TVectorD fBa
 
TVectorD fCloBound
 
TVectorD fCloIndex
 
TVectorD fCupBound
 
TVectorD fCupIndex
 
TVectorD fG
 
Int_t fMy
 
Int_t fMz
 
Int_t fNx
 
TVectorD fXloBound
 
TVectorD fXloIndex
 
TVectorD fXupBound
 
TVectorD fXupIndex
 
- Static Protected Member Functions inherited from TQpDataBase
static void RandomlyChooseBoundedVariables (TVectorD &x, TVectorD &dualx, TVectorD &blx, TVectorD &ixlow, TVectorD &bux, TVectorD &ixupp, Double_t &ix, Double_t percentLowerOnly, Double_t percentUpperOnly, Double_t percentBound)
 Randomly choose x and its boundaries. More...
 

#include <TQpDataSparse.h>

Inheritance diagram for TQpDataSparse:
[legend]

Constructor & Destructor Documentation

◆ TQpDataSparse() [1/4]

TQpDataSparse::TQpDataSparse ( )
inline

Definition at line 71 of file TQpDataSparse.h.

◆ TQpDataSparse() [2/4]

TQpDataSparse::TQpDataSparse ( Int_t  nx,
Int_t  my,
Int_t  mz 
)

Constructor.

Definition at line 59 of file TQpDataSparse.cxx.

◆ TQpDataSparse() [3/4]

TQpDataSparse::TQpDataSparse ( TVectorD &  c,
TMatrixDSparse &  Q,
TVectorD &  xlow,
TVectorD &  ixlow,
TVectorD &  xupp,
TVectorD &  ixupp,
TMatrixDSparse &  A,
TVectorD &  bA,
TMatrixDSparse &  C,
TVectorD &  clow,
TVectorD &  iclow,
TVectorD &  cupp,
TVectorD &  icupp 
)

Constructor.

Definition at line 71 of file TQpDataSparse.cxx.

◆ TQpDataSparse() [4/4]

TQpDataSparse::TQpDataSparse ( const TQpDataSparse &  another)

Copy constructor.

Definition at line 116 of file TQpDataSparse.cxx.

◆ ~TQpDataSparse()

virtual TQpDataSparse::~TQpDataSparse ( )
inlinevirtual

Definition at line 81 of file TQpDataSparse.h.

Member Function Documentation

◆ Amult()

void TQpDataSparse::Amult ( Double_t  beta,
TVectorD &  y,
Double_t  alpha,
const TVectorD &  x 
)
virtual

calculate y = beta*y + alpha*(fA*x)

Implements TQpDataBase.

Definition at line 147 of file TQpDataSparse.cxx.

◆ ATransmult()

void TQpDataSparse::ATransmult ( Double_t  beta,
TVectorD &  y,
Double_t  alpha,
const TVectorD &  x 
)
virtual

calculate y = beta*y + alpha*(fA^T*x)

Implements TQpDataBase.

Definition at line 169 of file TQpDataSparse.cxx.

◆ Cmult()

void TQpDataSparse::Cmult ( Double_t  beta,
TVectorD &  y,
Double_t  alpha,
const TVectorD &  x 
)
virtual

calculate y = beta*y + alpha*(fC*x)

Implements TQpDataBase.

Definition at line 158 of file TQpDataSparse.cxx.

◆ CTransmult()

void TQpDataSparse::CTransmult ( Double_t  beta,
TVectorD &  y,
Double_t  alpha,
const TVectorD &  x 
)
virtual

calculate y = beta*y + alpha*(fC^T*x)

Implements TQpDataBase.

Definition at line 180 of file TQpDataSparse.cxx.

◆ DataNorm()

Double_t TQpDataSparse::DataNorm ( )
virtual

Return the largest component of several vectors in the data class.

Implements TQpDataBase.

Definition at line 191 of file TQpDataSparse.cxx.

◆ DataRandom()

void TQpDataSparse::DataRandom ( TVectorD &  x,
TVectorD &  y,
TVectorD &  z,
TVectorD &  s 
)
virtual

Choose randomly a QP problem.

Implements TQpDataBase.

Definition at line 315 of file TQpDataSparse.cxx.

◆ GetDiagonalOfQ()

void TQpDataSparse::GetDiagonalOfQ ( TVectorD &  dQ)
virtual

Return in vector dq the diagonal of matrix fQ.

Implements TQpDataBase.

Definition at line 292 of file TQpDataSparse.cxx.

◆ ObjectiveValue()

Double_t TQpDataSparse::ObjectiveValue ( TQpVar *  vars)
virtual

Return value of the objective function.

Implements TQpDataBase.

Definition at line 303 of file TQpDataSparse.cxx.

◆ operator=()

TQpDataSparse & TQpDataSparse::operator= ( const TQpDataSparse &  source)

Assignment operator.

Definition at line 356 of file TQpDataSparse.cxx.

◆ Print()

void TQpDataSparse::Print ( Option_t *  opt = "") const
virtual

Print class members.

Definition at line 236 of file TQpDataSparse.cxx.

◆ PutAIntoAt()

void TQpDataSparse::PutAIntoAt ( TMatrixDBase &  M,
Int_t  row,
Int_t  col 
)
virtual

Insert the constraint matrix A into the matrix M at index (row,col) for the fundamental linear system.

Implements TQpDataBase.

Definition at line 273 of file TQpDataSparse.cxx.

◆ PutCIntoAt()

void TQpDataSparse::PutCIntoAt ( TMatrixDBase &  M,
Int_t  row,
Int_t  col 
)
virtual

Insert the constraint matrix C into the matrix M at index (row,col) for the fundamental linear system.

Implements TQpDataBase.

Definition at line 283 of file TQpDataSparse.cxx.

◆ PutQIntoAt()

void TQpDataSparse::PutQIntoAt ( TMatrixDBase &  M,
Int_t  row,
Int_t  col 
)
virtual

Insert the Hessian Q into the matrix M at index (row,col) for the fundamental linear system.

Implements TQpDataBase.

Definition at line 263 of file TQpDataSparse.cxx.

◆ Qmult()

void TQpDataSparse::Qmult ( Double_t  beta,
TVectorD &  y,
Double_t  alpha,
const TVectorD &  x 
)
virtual

calculate y = beta*y + alpha*(fQ*x)

Implements TQpDataBase.

Definition at line 136 of file TQpDataSparse.cxx.

◆ SetNonZeros()

void TQpDataSparse::SetNonZeros ( Int_t  nnzQ,
Int_t  nnzA,
Int_t  nnzC 
)

Allocate space for the appropriate number of non-zeros in the matrices.

Definition at line 125 of file TQpDataSparse.cxx.

Member Data Documentation

◆ fA

TMatrixDSparse TQpDataSparse::fA
protected

Definition at line 66 of file TQpDataSparse.h.

◆ fC

TMatrixDSparse TQpDataSparse::fC
protected

Definition at line 67 of file TQpDataSparse.h.

◆ fQ

TMatrixDSparse TQpDataSparse::fQ
protected

Definition at line 65 of file TQpDataSparse.h.

Libraries for TQpDataSparse:
[legend]

The documentation for this class was generated from the following files: