| library: libMatrix #include "TVectorD.h"
 | 
TVectorD
class description - source file - inheritance tree (.pdf)
    protected:
           void Allocate(Int_t nrows, Int_t row_lwb = 0, Int_t init = 0)
           void Delete_m(Int_t size, Double_t*&)
          Int_t Memcpy_m(Double_t* newp, const Double_t* oldp, Int_t copySize, Int_t newSize, Int_t oldSize)
      Double_t* New_m(Int_t size)
    public:
                      TVectorD()
                      TVectorD(Int_t n)
                      TVectorD(Int_t lwb, Int_t upb)
                      TVectorD(Int_t n, const Double_t* elements)
                      TVectorD(Int_t lwb, Int_t upb, const Double_t* elements)
                      TVectorD(const TVectorD& another)
                      TVectorD(const TVectorF& another)
                      TVectorD(const TMatrixDRow_const& mr)
                      TVectorD(const TMatrixDColumn_const& mc)
                      TVectorD(const TMatrixDDiag_const& md)
             TVectorD GetSub(Int_t row_lwb, Int_t row_upb, Option_t* option = "S") const
              virtual ~TVectorD()
            TVectorD& Abs()
                 void AddSomeConstant(Double_t val, const TVectorD& select)
            TVectorD& Apply(const TElementActionD& action)
            TVectorD& Apply(const TElementPosActionD& action)
       static TClass* Class()
         virtual void Clear(Option_t* = "")
         virtual void Draw(Option_t* option = "")
                Int_t GetLwb() const
            Double_t* GetMatrixArray()
      const Double_t* GetMatrixArray() const
                Int_t GetNoElements() const
                Int_t GetNrows() const
            TVectorD& GetSub(Int_t row_lwb, Int_t row_upb, TVectorD& target, Option_t* option = "S") const
                Int_t GetUpb() const
                 void Invalidate()
            TVectorD& Invert()
      virtual TClass* IsA() const
               Bool_t IsOwner() const
               Bool_t IsValid() const
                 void MakeValid()
               Bool_t MatchesNonZeroPattern(const TVectorD& select)
             Double_t Max() const
             Double_t Min() const
                Int_t NonZeros() const
             Double_t Norm1() const
             Double_t Norm2Sqr() const
             Double_t NormInf() const
               Bool_t operator!=(Double_t val) const
      const Double_t& operator()(Int_t ind) const
            Double_t& operator()(Int_t index)
            TVectorD& operator*=(Double_t val)
            TVectorD& operator*=(const TMatrixD& a)
            TVectorD& operator*=(const TMatrixDSym& a)
            TVectorD& operator*=(const TMatrixDSparse& a)
            TVectorD& operator+=(Double_t val)
            TVectorD& operator+=(const TVectorD& source)
            TVectorD& operator-=(Double_t val)
            TVectorD& operator-=(const TVectorD& source)
               Bool_t operator<(Double_t val) const
               Bool_t operator<=(Double_t val) const
            TVectorD& operator=(const TVectorD& source)
            TVectorD& operator=(const TVectorF& source)
            TVectorD& operator=(const TMatrixDRow_const& mr)
            TVectorD& operator=(const TMatrixDColumn_const& mc)
            TVectorD& operator=(const TMatrixDDiag_const& md)
            TVectorD& operator=(const TMatrixDSparseRow_const& md)
            TVectorD& operator=(const TMatrixDSparseDiag_const& md)
            TVectorD& operator=(Double_t val)
               Bool_t operator==(Double_t val) const
               Bool_t operator>(Double_t val) const
               Bool_t operator>=(Double_t val) const
      const Double_t& operator[](Int_t index) const
            Double_t& operator[](Int_t index)
         virtual void Print(Option_t* option = "") const
                 void Randomize(Double_t alpha, Double_t beta, Double_t& seed)
            TVectorD& ResizeTo(Int_t lwb, Int_t upb)
            TVectorD& ResizeTo(Int_t n)
            TVectorD& ResizeTo(const TVectorD& v)
            TVectorD& SelectNonZeros(const TVectorD& select)
                 void SetElements(const Double_t* elements)
            TVectorD& SetSub(Int_t row_lwb, const TVectorD& source)
            TVectorD& Shift(Int_t row_shift)
         virtual void ShowMembers(TMemberInspector& insp, char* parent)
               Bool_t SomePositive(const TVectorD& select)
            TVectorD& Sqr()
            TVectorD& Sqrt()
         virtual void Streamer(TBuffer& b)
                 void StreamerNVirtual(TBuffer& b)
             Double_t Sum() const
            TVectorD& Use(Int_t n, Double_t* data)
            TVectorD& Use(Int_t lwb, Int_t upb, Double_t* data)
            TVectorD& Use(TVectorD& v)
            TVectorD& Zero()
    protected:
          Int_t fNrows         number of rows
          Int_t fRowLwb        lower bound of the row index
      Double_t* fElements      [fNrows] elements themselves
       Double_t fDataStack[5]  ! data container
         Bool_t fIsOwner       !default kTRUE, when Use array kFALSE
    public:
      static const enum TVectorD:: kSizeMax  
      static const enum TVectorD:: kWorkMax  
                                                                      
 TVectorD                                                             
                                                                      
 Implementation of Vectors in the linear algebra package              
                                                                      
 Unless otherwise specified, vector indices always start with 0,      
 spanning up to the specified limit-1.                                
                                                                      
 For (n) vectors where n <= kSizeMax (5 currently) storage space is   
 available on the stack, thus avoiding expensive allocation/          
 deallocation of heap space . However, this introduces of course      
 kSizeMax overhead for each vector object . If this is an issue       
 recompile with a new appropriate value (>=0) for kSizeMax            
                                                                      
 Another way to assign and store vector data is through Use           
 see for instance stress_linalg.cxx file .                            
                                                                      
 Note that Constructors/assignments exists for all different matrix   
 views                                                                
                                                                      
 For usage examples see $ROOTSYS/test/stress_linalg.cxx               
                                                                      
void Delete_m(Int_t size,Double_t *&m)
Double_t* New_m(Int_t size)
Int_t Memcpy_m(Double_t *newp,const Double_t *oldp,Int_t copySize,
                         Int_t newSize,Int_t oldSize)
void Allocate(Int_t nrows,Int_t row_lwb,Int_t init)
 Allocate new vector. Arguments are number of rows and row
 lowerbound (0 default).
 TVectorD(Int_t n)
 TVectorD(Int_t lwb,Int_t upb)
 TVectorD(Int_t n,const Double_t *elements)
 TVectorD(Int_t lwb,Int_t upb,const Double_t *elements)
 TVectorD(const TVectorD &another) : TObject(another)
 TVectorD(const TVectorF &another) : TObject(another)
 TVectorD(const TMatrixDRow_const &mr) : TObject()
 TVectorD(const TMatrixDColumn_const &mc) : TObject()
 TVectorD(const TMatrixDDiag_const &md) : TObject()
 TVectorD(Int_t lwb,Int_t upb,Double_t va_(iv1), ...)
 Make a vector and assign initial values. Argument list should contain
 Double_t values to assign to vector elements. The list must be
 terminated by the string "END". Example:
 TVectorD foo(1,3,0.0,1.0,1.5,"END");
TVectorD& ResizeTo(Int_t lwb,Int_t upb)
 Resize the vector to [lwb:upb] .
 New dynamic elemenst are created, the overlapping part of the old ones are
 copied to the new structures, then the old elements are deleleted.
TVectorD& Use(Int_t lwb,Int_t upb,Double_t *data)
TVectorD& GetSub(Int_t row_lwb,Int_t row_upb,TVectorD &target,Option_t *option) const
 Get subvector [row_lwb..row_upb]; The indexing range of the
 returned vector depends on the argument option:
 option == "S" : return [0..row_upb-row_lwb+1] (default)
 else          : return [row_lwb..row_upb]
TVectorD& SetSub(Int_t row_lwb,const TVectorD &source)
 Insert vector source starting at [row_lwb], thereby overwriting the part
 [row_lwb..row_lwb+nrows_source];
TVectorD& Zero()
TVectorD& Abs()
 Take an absolute value of a vector, i.e. apply Abs() to each element.
TVectorD& Sqr()
 Square each element of the vector.
TVectorD& Sqrt()
 Take square root of all elements.
TVectorD& Invert()
 v[i] = 1/v[i]
TVectorD& SelectNonZeros(const TVectorD &select)
Double_t Norm1() const
 Compute the 1-norm of the vector SUM{ |v[i]| }.
Double_t Norm2Sqr() const
 Compute the square of the 2-norm SUM{ v[i]^2 }.
Double_t NormInf() const
 Compute the infinity-norm of the vector MAX{ |v[i]| }.
Int_t NonZeros() const
 Compute the number of elements != 0.0
Double_t Sum() const
 Compute sum of elements
Double_t Min() const
 return minimum vector element value
Double_t Max() const
 return maximum vector element value
Bool_t MatchesNonZeroPattern(const TVectorD &select)
Bool_t SomePositive(const TVectorD &select)
void AddSomeConstant(Double_t val,const TVectorD &select)
void Randomize(Double_t alpha,Double_t beta,Double_t &seed)
 randomize vector elements value
TVectorD& Apply(const TElementActionD &action)
 Apply action to each element of the vector.
TVectorD& Apply(const TElementPosActionD &action)
 Apply action to each element of the vector. In action the location
 of the current element is known.
void Draw(Option_t *option)
 Draw this vector using an intermediate histogram
 The histogram is named "TVectorD" by default and no title
void Print(Option_t *flag) const
 Print the vector as a list of elements.
void Streamer(TBuffer &R__b)
 Stream an object of class TVectorD.
Inline Functions
                   void ~TVectorD()
                  Int_t GetLwb() const
                  Int_t GetUpb() const
                  Int_t GetNrows() const
                  Int_t GetNoElements() const
              Double_t* GetMatrixArray()
        const Double_t* GetMatrixArray() const
                   void Invalidate()
                   void MakeValid()
                 Bool_t IsValid() const
                 Bool_t IsOwner() const
                   void SetElements(const Double_t* elements)
              TVectorD& Shift(Int_t row_shift)
              TVectorD& ResizeTo(Int_t n)
              TVectorD& ResizeTo(const TVectorD& v)
              TVectorD& Use(Int_t lwb, Int_t upb, Double_t* data)
              TVectorD& Use(TVectorD& v)
               TVectorD GetSub(Int_t row_lwb, Int_t row_upb, Option_t* option = "S") const
        const Double_t& operator()(Int_t ind) const
              Double_t& operator()(Int_t index)
        const Double_t& operator[](Int_t index) const
              Double_t& operator[](Int_t index)
              TVectorD& operator=(const TVectorD& source)
              TVectorD& operator=(const TVectorF& source)
              TVectorD& operator=(const TMatrixDRow_const& mr)
              TVectorD& operator=(const TMatrixDColumn_const& mc)
              TVectorD& operator=(const TMatrixDDiag_const& md)
              TVectorD& operator=(const TMatrixDSparseRow_const& md)
              TVectorD& operator=(const TMatrixDSparseDiag_const& md)
              TVectorD& operator=(Double_t val)
              TVectorD& operator+=(Double_t val)
              TVectorD& operator-=(Double_t val)
              TVectorD& operator*=(Double_t val)
              TVectorD& operator+=(const TVectorD& source)
              TVectorD& operator-=(const TVectorD& source)
              TVectorD& operator*=(const TMatrixD& a)
              TVectorD& operator*=(const TMatrixDSym& a)
              TVectorD& operator*=(const TMatrixDSparse& a)
                 Bool_t operator==(Double_t val) const
                 Bool_t operator!=(Double_t val) const
                 Bool_t operator<(Double_t val) const
                 Bool_t operator<=(Double_t val) const
                 Bool_t operator>(Double_t val) const
                 Bool_t operator>=(Double_t val) const
                   void Clear(Option_t* = "")
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void StreamerNVirtual(TBuffer& b)
Last update: root/matrix:$Name:  $:$Id: TVectorD.cxx,v 1.57 2005/12/09 22:38:38 brun Exp $
Copyright  (C) 1995-2000, Rene Brun and Fons Rademakers.               *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.