library: libQuadp #include "TQpVar.h"

# TQpVar

class description - source file - inheritance tree (.pdf)

## class TQpVar : public TObject

| Inheritance Chart:
`TObject`
| <- | `TQpVar` |

        protected:

          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)
          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)
          static Double_t StepBound(TVectorD& v, TVectorD& dir, Double_t maxStep)

        public:

                           TQpVar()
                           TQpVar(TVectorD& x_in, TVectorD& s_in, TVectorD& y_in, TVectorD& z_in, TVectorD& v_in, TVectorD& gamma_in, TVectorD& w_in, TVectorD& phi_in, TVectorD& t_in, TVectorD& lambda_in, TVectorD& u_in, TVectorD& pi_in, TVectorD& ixlow_in, TVectorD& ixupp_in, TVectorD& iclow_in, TVectorD& icupp_in)
                           TQpVar(Int_t nx, Int_t my, Int_t mz, TVectorD& ixlow, TVectorD& ixupp, TVectorD& iclow, TVectorD& icupp)
                           TQpVar(const TQpVar& another)
                   virtual ~TQpVar()
            static TClass* Class()
          virtual Double_t FindBlocking(TQpVar* step, Double_t& primalValue, Double_t& primalStep, Double_t& dualValue, Double_t& dualStep, Int_t& firstOrSecond)
          virtual Double_t GetMu()
              virtual void InteriorPoint(Double_t alpha, Double_t beta)
           virtual TClass* IsA() const
            virtual Bool_t IsInteriorPoint()
          virtual Double_t MuStep(TQpVar* step, Double_t alpha)
              virtual void Negate()
          virtual Double_t Norm1()
          virtual Double_t NormInf()
                   TQpVar& operator=(const TQpVar& source)
              virtual void Print(Option_t* option = "") const
              virtual void Saxpy(TQpVar* b, Double_t alpha)
              virtual void ShiftBoundVariables(Double_t alpha, Double_t beta)
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
          virtual Double_t StepBound(TQpVar* b)
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
            virtual Bool_t ValidNonZeroPattern()
          virtual Double_t Violation()

### Data Members

        protected:

             Int_t fNx
             Int_t fMy
             Int_t fMz
             Int_t fNxup
             Int_t fNxlo
             Int_t fMcup
             Int_t fMclo
          TVectorD fXloIndex
          TVectorD fXupIndex
          TVectorD fCupIndex
          TVectorD fCloIndex

        public:

                                   Int_t fNComplementaryVariables  number of complementary primal-dual variables.
                                TVectorD fX
                                TVectorD fS
                                TVectorD fY
                                TVectorD fZ
                                TVectorD fV
                                TVectorD fPhi
                                TVectorD fW
                                TVectorD fGamma
                                TVectorD fT
                                TVectorD fLambda
                                TVectorD fU
                                TVectorD fPi
          static const TQpVar::EVarBlock kno_block
          static const TQpVar::EVarBlock kt_block
          static const TQpVar::EVarBlock klambda_block
          static const TQpVar::EVarBlock ku_block
          static const TQpVar::EVarBlock kpi_block
          static const TQpVar::EVarBlock kv_block
          static const TQpVar::EVarBlock kgamma_block
          static const TQpVar::EVarBlock kw_block
          static const TQpVar::EVarBlock kphi_block

## Class Description

     Class containing the variables for the general QP formulation

TQpVar()

TQpVar(TVectorD &x_in,TVectorD &s_in,TVectorD &y_in,TVectorD &z_in, TVectorD &v_in,TVectorD &gamma_in,TVectorD &w_in,TVectorD &phi_in, TVectorD &t_in,TVectorD &lambda_in,TVectorD &u_in,TVectorD &pi_in, TVectorD &ixlow_in,TVectorD &ixupp_in,TVectorD &iclow_in,TVectorD &icupp_in)

TQpVar(Int_t nx,Int_t my,Int_t mz,TVectorD &ixlow,TVectorD &ixupp, TVectorD &iclow,TVectorD &icupp)

TQpVar(const TQpVar &another) : TObject(another)

Double_t GetMu()

Double_t MuStep(TQpVar *step,Double_t alpha)

void Saxpy(TQpVar *b,Double_t alpha)

void Negate()

Double_t StepBound(TQpVar *b)

Double_t StepBound(TVectorD &v,TVectorD &dir,Double_t maxStep)

Bool_t IsInteriorPoint()

Double_t FindBlocking(TQpVar *step, Double_t &primalValue, Double_t &primalStep, Double_t &dualValue, Double_t &dualStep, Int_t &fIrstOrSecond)

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)

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)

void InteriorPoint(Double_t alpha,Double_t beta)

Double_t Violation()

void ShiftBoundVariables(Double_t alpha,Double_t beta)

void Print(Option_t * /*option*/) const

Double_t Norm1()

Double_t NormInf()

Bool_t ValidNonZeroPattern()

### Inline Functions

                   void ~TQpVar()
                TQpVar& operator=(const TQpVar& source)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)

Author: Eddy Offermann May 2004
Last update: root/quadp:$Name: $:$Id: TQpVar.cxx,v 1.4 2004/06/09 12:23:16 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *