111 for (
Int_t ix = 0; ix <
fNx; ix++) {
112 vixlo[ix] = (ixlo[ix]) ? 1.0 : 0.0;
113 vixup[ix] = (ixup[ix]) ? 1.0 : 0.0;
118 for (
Int_t ic = 0; ic <
fMz; ic++) {
119 viclo[ic] = (iclo[ic]) ? 1.0 : 0.0;
120 vicup[ic] = (icup[ic]) ? 1.0 : 0.0;
123 TQpDataSparse *
data =
new TQpDataSparse(vc,mQ,vxlo,vixlo,vxup,vixup,mA,vbA,mC,vclo,
164 TQpDataSparse *
data =
new TQpDataSparse(
c,mQ,xlo,ixlo,xup,ixup,mA,bA,mC,clo,iclo,cup,icup);
238 data->SetNonZeros(nnzQ,nnzA,nnzC);
248 if (
this != &source) {
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
TMatrixTSparse< Element > & Use(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros, Int_t *pRowIndex, Int_t *pColIndex, Element *pData)
Data for the general QP formulation.
Data for the sparse QP formulation.
Implementation of main solver for linear systems.
Implements the aspects of the solvers for dense general QP formulation that are specific to the dense...
default general problem formulation:
TQpProbBase & operator=(const TQpProbBase &source)
Assignment operator.
dense matrix problem formulation
void JoinRHS(TVectorD &rhs_in, TVectorD &rhs1_in, TVectorD &rhs2_in, TVectorD &rhs3_in) override
Assembles a single vector object from three given vectors .
virtual TQpDataBase * MakeData(Double_t *c, Int_t nnzQ, Int_t *irowQ, Int_t *icolQ, Double_t *Q, Double_t *xlo, Bool_t *ixlo, Double_t *xup, Bool_t *ixup, Int_t nnzA, Int_t *irowA, Int_t *icolA, Double_t *A, Double_t *bA, Int_t nnzC, Int_t *irowC, Int_t *icolC, Double_t *C, Double_t *clo, Bool_t *iclo, Double_t *cup, Bool_t *icup)
Setup the data.
TQpProbSparse & operator=(const TQpProbSparse &source)
Assignment operator.
TQpVar * MakeVariables(const TQpDataBase *data) override
Setup the variables.
void MakeRandomData(TQpDataSparse *&data, TQpVar *&soln, Int_t nnzQ, Int_t nnzA, Int_t nnzC)
Create a random QP problem.
TQpResidual * MakeResiduals(const TQpDataBase *data) override
Setup the residuals.
void SeparateVars(TVectorD &x_in, TVectorD &y_in, TVectorD &z_in, TVectorD &vars_in) override
Extracts three component vectors from a given aggregated vector.
TQpLinSolverBase * MakeLinSys(const TQpDataBase *data) override
Setup the linear solver.
The Residuals class calculates and stores the quantities that appear on the right-hand side of the li...
Class containing the variables for the general QP formulation.
TVectorT< Element > & GetSub(Int_t row_lwb, Int_t row_upb, TVectorT< Element > &target, Option_t *option="S") const
Get subvector [row_lwb..row_upb]; The indexing range of the returned vector depends on the argument o...
TVectorT< Element > & SetSub(Int_t row_lwb, const TVectorT< Element > &source)
Insert vector source starting at [row_lwb], thereby overwriting the part [row_lwb....
TVectorT< Element > & Use(Int_t lwb, Int_t upb, Element *data)
Use the array data to fill the vector lwb..upb].