43#ifndef ROOT_TQpDataBase
44#define ROOT_TQpDataBase
#define ClassDef(name, id)
Mother of all ROOT objects.
Data for the general QP formulation.
TQpDataBase & operator=(const TQpDataBase &source)
Assignment operator.
virtual void GetDiagonalOfQ(TVectorD &dQ)=0
virtual Double_t ObjectiveValue(TQpVar *vars)=0
virtual TVectorD & GetBa()
virtual TVectorD & GetG()
virtual void PutQIntoAt(TMatrixDBase &M, Int_t row, Int_t col)=0
virtual TVectorD & GetiXupperBound()
virtual void PutAIntoAt(TMatrixDBase &M, Int_t row, Int_t col)=0
virtual void Amult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)=0
virtual void Cmult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)=0
virtual void ATransmult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)=0
virtual TVectorD & GetSlowerBound()
virtual Double_t DataNorm()=0
virtual TVectorD & GetiSupperBound()
TQpDataBase()
Default constructor.
virtual void PutCIntoAt(TMatrixDBase &M, Int_t row, Int_t col)=0
virtual void CTransmult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)=0
virtual TVectorD & GetXlowerBound()
virtual TVectorD & GetSupperBound()
virtual TVectorD & GetiSlowerBound()
virtual void DataRandom(TVectorD &x, TVectorD &y, TVectorD &z, TVectorD &s)=0
virtual void Qmult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x)=0
virtual TVectorD & GetXupperBound()
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.
virtual TVectorD & GetiXlowerBound()
Class containing the variables for the general QP formulation.
double beta(double x, double y)
Calculates the beta function.
static constexpr double s