154   if (componentNorm > norm) norm = componentNorm;
 
  160   gap -= prob->
fBa*vars->
fY;
 
  163   if( componentNorm > norm ) norm = componentNorm;
 
  169   if( componentNorm > norm ) norm = componentNorm;
 
  184      if( componentNorm > norm ) norm = componentNorm;
 
  198      if( componentNorm > norm ) norm = componentNorm;
 
  202   if( componentNorm > norm ) norm = componentNorm;
 
  213      if( componentNorm > norm ) norm = componentNorm;
 
  225      if (componentNorm > norm) norm = componentNorm;
 
  360   const Double_t * 
const fep = ep+
v.GetNrows();
 
  369      if (*ep < -rmax) *ep = -rmax;
 
  380   if (
this != &source) {
 
Mother of all ROOT objects.
 
TObject & operator=(const TObject &rhs)
TObject assignment operator.
 
Data for the general QP formulation.
 
virtual TVectorD & GetSlowerBound()
 
virtual TVectorD & GetXlowerBound()
 
virtual TVectorD & GetSupperBound()
 
virtual TVectorD & GetXupperBound()
 
Data for the dense QP formulation.
 
void Qmult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x) override
calculate y = beta*y + alpha*(fQ*x)
 
void Cmult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x) override
calculate y = beta*y + alpha*(fC*x)
 
void Amult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x) override
calculate y = beta*y + alpha*(fA*x)
 
void ATransmult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x) override
calculate y = beta*y + alpha*(fA^T*x)
 
void CTransmult(Double_t beta, TVectorD &y, Double_t alpha, const TVectorD &x) override
calculate y = beta*y + alpha*(fC^T*x)
 
The Residuals class calculates and stores the quantities that appear on the right-hand side of the li...
 
void Clear_r1r2()
set the noncomplementarity components of the residual (the terms arising from the linear equalities i...
 
void Clear_r3()
set the complementarity component of the residuals to 0.
 
TQpResidual()
Constructor.
 
void Set_r3_xz_alpha(TQpVar *vars, Double_t alpha)
Set the "complementarity" component of the residuals to the pairwise products of the complementary va...
 
Bool_t ValidNonZeroPattern()
Check if vector elements as selected through array indices are non-zero.
 
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 compl...
 
TQpResidual & operator=(const TQpResidual &source)
Assignment operator.
 
void Project_r3(Double_t rmin, Double_t rmax)
Perform the projection operation required by Gondzio algorithm: replace each component r3_i of the co...
 
static 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,...
 
Class containing the variables for the general QP formulation.
 
TVectorT< Element > & Zero()
Set vector elements to zero.
 
Element NormInf() const
Compute the infinity-norm of the vector MAX{ |v[i]| }.
 
void AddSomeConstant(Element val, const TVectorT< Element > &select)
Add to vector elements as selected through array select the value val.
 
Bool_t MatchesNonZeroPattern(const TVectorT< Element > &select)
Check if vector elements as selected through array select are non-zero.
 
TVectorT< Element > & ResizeTo(Int_t lwb, Int_t upb)
Resize the vector to [lwb:upb] .
 
TVectorT< Element > & Use(Int_t lwb, Int_t upb, Element *data)
Use the array data to fill the vector lwb..upb].
 
TVectorT< Element > & SelectNonZeros(const TVectorT< Element > &select)
Keep only element as selected through array select non-zero.
 
Int_t NonZeros() const
Compute the number of elements != 0.0.
 
Element * GetMatrixArray()
 
TVectorT< Element > & AddElemMult(TVectorT< Element > &target, Element scalar, const TVectorT< Element > &source1, const TVectorT< Element > &source2)
Modify addition: target += scalar * ElementMult(source1,source2) .
 
TMatrixT< Element > & Add(TMatrixT< Element > &target, Element scalar, const TMatrixT< Element > &source)
Modify addition: target += scalar * source.