79 Double_t maxStep,Double_t &w_elt,Double_t &wstep_elt,Double_t &u_elt,
80 Double_t &ustep_elt,
int& first_or_second);
81 static Double_t
FindBlockingSub(Int_t n,Double_t *w,Int_t incw,Double_t *wstep,Int_t incwstep,
82 Double_t *u,Int_t incu,Double_t *ustep,Int_t incustep,
83 Double_t maxStep,Double_t &w_elt,Double_t &wstep_elt,
84 Double_t &u_elt,Double_t &ustep_elt,Int_t &first_or_second);
116 TQpVar(Int_t nx,Int_t my,Int_t mz,
130 virtual Double_t
GetMu ();
151 virtual Double_t
FindBlocking(
TQpVar *step,Double_t &primalValue,Double_t &primalStep,Double_t &dualValue,
152 Double_t &dualStep,Int_t &firstOrSecond);
176 (Double_t alpha,Double_t
beta);
183 virtual void Print (Option_t *option=
"")
const;
184 virtual Double_t
Norm1 ();
static Double_t FindBlockingSub(Int_t n, Double_t *w, Int_t incw, Double_t *wstep, Int_t incwstep, Double_t *u, Int_t incu, Double_t *ustep, Int_t incustep, Double_t maxStep, Double_t &w_elt, Double_t &wstep_elt, Double_t &u_elt, Double_t &ustep_elt, Int_t &first_or_second)
See FindBlocking function.
virtual Double_t MuStep(TQpVar *step, Double_t alpha)
Compute the complementarity gap resulting from a step of length "alpha" along direction "step"...
double beta(double x, double y)
Calculates the beta function.
virtual Double_t Violation()
The amount by which the current variables violate the non-negativity constraints. ...
virtual Double_t GetMu()
compute complementarity gap, obtained by taking the inner product of the complementary vectors and di...
static Double_t StepBound(TVectorD &v, TVectorD &dir, Double_t maxStep)
Find the maximum stepsize of v in direction dir before violating the nonnegativity constraints...
virtual void ShiftBoundVariables(Double_t alpha, Double_t beta)
Add alpha to components of (u,t,v,w) and beta to components of (lambda,pi,phi,gamma) ...
virtual Bool_t ValidNonZeroPattern()
Check that the variables conform to the non-zero indices.
virtual void Negate()
Perform a "negate" operation on all data vectors : x = -x.
virtual Bool_t IsInteriorPoint()
Is the current position an interior point ?
static Double_t FindBlocking(TVectorD &w, TVectorD &wstep, TVectorD &u, TVectorD &ustep, Double_t maxStep, Double_t &w_elt, Double_t &wstep_elt, Double_t &u_elt, Double_t &ustep_elt, int &first_or_second)
See other FindBlocking function.
virtual void Saxpy(TQpVar *b, Double_t alpha)
Perform a "saxpy" operation on all data vectors : x += alpha*y.
virtual void InteriorPoint(Double_t alpha, Double_t beta)
Sets components of (u,t,v,w) to alpha and of (lambda,pi,phi,gamma) to beta.
virtual Double_t Norm1()
Return the sum of the vector-norm1's.
TQpVar()
Default constructor.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
virtual void Print(Option_t *option="") const
Print class members.
virtual Double_t NormInf()
Return the sum of the vector-normInf's.
TQpVar & operator=(const TQpVar &source)
Assignment operator.
Int_t fNComplementaryVariables