Template class of a symmetric matrix in the linear algebra package.
See MatrixPage for the documentation of the linear algebra package.
Note that in this implementation both matrix element m[i][j] and m[j][i] are updated and stored in memory . However, when making the object persistent only the upper right triangle is stored .
Definition at line 34 of file TMatrixTSym.h.
Public Types | |
| enum | { kWorkMax = 100 } | 
| enum | EMatrixCreatorsOp1 {  kZero , kUnit , kTransposed , kInverted , kAtA }  | 
| enum | EMatrixCreatorsOp2 { kPlus , kMinus } | 
  Public Types inherited from TObject | |
| enum | {  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff }  | 
| enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } | 
| enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } | 
| enum | EStatusBits {  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) }  | 
Public Member Functions | |
| TMatrixTSym () | |
| TMatrixTSym (const TMatrixTSym< Element > &a, EMatrixCreatorsOp2 op, const TMatrixTSym< Element > &b) | |
| TMatrixTSym (const TMatrixTSym< Element > &another) | |
| template<class Element2 > | |
| TMatrixTSym (const TMatrixTSym< Element2 > &another) | |
| TMatrixTSym (const TMatrixTSymLazy< Element > &lazy_constructor) | |
| TMatrixTSym (EMatrixCreatorsOp1 op, const TMatrixT< Element > &prototype) | |
| TMatrixTSym (EMatrixCreatorsOp1 op, const TMatrixTSym< Element > &prototype) | |
| Create a matrix applying a specific operation to the prototype.   | |
| TMatrixTSym (Int_t nrows) | |
| TMatrixTSym (Int_t nrows, const Element *data, Option_t *option="") | |
| option=   | |
| TMatrixTSym (Int_t row_lwb, Int_t row_upb) | |
| TMatrixTSym (Int_t row_lwb, Int_t row_upb, const Element *data, Option_t *option="") | |
| array elements are copied   | |
| virtual | ~TMatrixTSym () | 
| TMatrixTBase< Element > & | Apply (const TElementActionT< Element > &action) | 
| Apply action to each matrix element.   | |
| TMatrixTBase< Element > & | Apply (const TElementPosActionT< Element > &action) | 
| Apply action to each element of the matrix.   | |
| TClass * | Class () | 
| virtual void | Clear (Option_t *="") | 
| virtual Double_t | Determinant () const | 
| virtual void | Determinant (Double_t &d1, Double_t &d2) const | 
| const TMatrixT< Element > | EigenVectors (TVectorT< Element > &eigenValues) const | 
| Return a matrix containing the eigen-vectors ordered by descending eigen-values.   | |
| virtual Int_t * | GetColIndexArray () | 
| virtual const Int_t * | GetColIndexArray () const | 
| virtual Element * | GetMatrixArray () | 
| virtual const Element * | GetMatrixArray () const | 
| virtual Int_t * | GetRowIndexArray () | 
| virtual const Int_t * | GetRowIndexArray () const | 
| TMatrixTSym< Element > | GetSub (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Option_t *option="S") const | 
| virtual TMatrixTBase< Element > & | GetSub (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, TMatrixTBase< Element > &target, Option_t *option="S") const | 
| Get submatrix [row_lwb..row_upb][col_lwb..col_upb]; The indexing range of the returned matrix depends on the argument option:   | |
| TMatrixTSym< Element > & | GetSub (Int_t row_lwb, Int_t row_upb, TMatrixTSym< Element > &target, Option_t *option="S") const | 
| Get submatrix [row_lwb..row_upb][row_lwb..row_upb]; The indexing range of the returned matrix depends on the argument option:   | |
| TMatrixTSym< Element > & | Invert (Double_t *det=0) | 
| Invert the matrix and calculate its determinant Notice that the LU decomposition is used instead of Bunch-Kaufman Bunch-Kaufman guarantees a symmetric inverted matrix but is slower than LU .   | |
| TMatrixTSym< Element > & | InvertFast (Double_t *det=0) | 
| Invert the matrix and calculate its determinant.   | |
| virtual Bool_t | IsSymmetric () const | 
| Check whether matrix is symmetric.   | |
| void | Minus (const TMatrixTSym< Element > &a, const TMatrixTSym< Element > &b) | 
| Symmetric matrix summation. Create a matrix C such that C = A + B.   | |
| void | Mult (const TMatrixTSym< Element > &a) | 
| Element & | operator() (Int_t rown, Int_t coln) | 
| Element | operator() (Int_t rown, Int_t coln) const | 
| TMatrixTSym< Element > & | operator*= (Element val) | 
| Multiply every element of the matrix with val.   | |
| TMatrixTSym & | operator+= (const TMatrixTSym &source) | 
| Add the source matrix.   | |
| TMatrixTSym< Element > & | operator+= (Element val) | 
| Add val to every element of the matrix.   | |
| TMatrixTSym & | operator-= (const TMatrixTSym &source) | 
| Subtract the source matrix.   | |
| TMatrixTSym< Element > & | operator-= (Element val) | 
| Subtract val from every element of the matrix.   | |
| TMatrixTSym< Element > & | operator= (const TMatrixTSym< Element > &source) | 
| template<class Element2 > | |
| TMatrixTSym< Element > & | operator= (const TMatrixTSym< Element2 > &source) | 
| TMatrixTSym< Element > & | operator= (const TMatrixTSymLazy< Element > &source) | 
| TMatrixTSym< Element > & | operator= (Element val) | 
| Assign val to every element of the matrix.   | |
| TMatrixTRow< Element > | operator[] (Int_t rown) | 
| const TMatrixTRow_const< Element > | operator[] (Int_t rown) const | 
| void | Plus (const TMatrixTSym< Element > &a, const TMatrixTSym< Element > &b) | 
| Symmetric matrix summation. Create a matrix C such that C = A + B.   | |
| virtual TMatrixTBase< Element > & | Randomize (Element alpha, Element beta, Double_t &seed) | 
| randomize matrix element values but keep matrix symmetric   | |
| virtual TMatrixTSym< Element > & | RandomizePD (Element alpha, Element beta, Double_t &seed) | 
| randomize matrix element values but keep matrix symmetric positive definite   | |
| TMatrixTSym< Element > & | Rank1Update (const TVectorT< Element > &v, Element alpha=1.0) | 
| Perform a rank 1 operation on the matrix: A += alpha * v * v^T.   | |
| TMatrixTBase< Element > & | ResizeTo (const TMatrixTSym< Element > &m) | 
| virtual TMatrixTBase< Element > & | ResizeTo (Int_t nrows, Int_t ncols, Int_t=-1) | 
| Set size of the matrix to nrows x ncols New dynamic elements are created, the overlapping part of the old ones are copied to the new structures, then the old elements are deleted.   | |
| virtual TMatrixTBase< Element > & | ResizeTo (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t=-1) | 
| Set size of the matrix to [row_lwb:row_upb] x [col_lwb:col_upb] New dynamic elements are created, the overlapping part of the old ones are copied to the new structures, then the old elements are deleted.   | |
| virtual TMatrixTBase< Element > & | SetColIndexArray (Int_t *) | 
| virtual TMatrixTBase< Element > & | SetMatrixArray (const Element *data, Option_t *option="") | 
| Copy array data to matrix .   | |
| virtual TMatrixTBase< Element > & | SetRowIndexArray (Int_t *) | 
| TMatrixTSym< Element > & | SetSub (Int_t row_lwb, const TMatrixTBase< Element > &source) | 
| Insert matrix source starting at [row_lwb][row_lwb], thereby overwriting the part [row_lwb..row_lwb+nrows_source][row_lwb..row_lwb+nrows_source];.   | |
| virtual TMatrixTBase< Element > & | SetSub (Int_t row_lwb, Int_t col_lwb, const TMatrixTBase< Element > &source) | 
| Insert matrix source starting at [row_lwb][col_lwb] in a symmetric fashion, thereby overwriting the part [row_lwb..row_lwb+nrows_source][row_lwb..row_lwb+nrows_source];.   | |
| virtual TMatrixTBase< Element > & | Shift (Int_t row_shift, Int_t col_shift) | 
| Shift the row index by adding row_shift and the column index by adding col_shift, respectively.   | |
| TMatrixTSym< Element > & | Similarity (const TMatrixT< Element > &n) | 
| Calculate B * (*this) * B^T , final matrix will be (nrowsb x nrowsb) This is a similarity transform when B is orthogonal .   | |
| TMatrixTSym< Element > & | Similarity (const TMatrixTSym< Element > &n) | 
| Calculate B * (*this) * B^T , final matrix will be (nrowsb x nrowsb) This is a similarity transform when B is orthogonal .   | |
| Element | Similarity (const TVectorT< Element > &v) const | 
| Calculate scalar v * (*this) * v^T.   | |
| TMatrixTSym< Element > & | SimilarityT (const TMatrixT< Element > &n) | 
| Calculate B^T * (*this) * B , final matrix will be (ncolsb x ncolsb) It is more efficient than applying the actual multiplication because this routine realizes that the final matrix is symmetric .   | |
| TMatrixTSym< Element > & | T () | 
| void | TMult (const TMatrixT< Element > &a) | 
| Create a matrix C such that C = A' * A.   | |
| void | TMult (const TMatrixTSym< Element > &a) | 
| Matrix multiplication, with A symmetric Create a matrix C such that C = A' * A = A * A = A * A'.   | |
| TMatrixTSym< Element > & | Transpose (const TMatrixTSym< Element > &source) | 
| Transpose a matrix.   | |
| const TMatrixTSym< Element > & | Use (const TMatrixTSym< Element > &a) const | 
| const TMatrixTSym< Element > & | Use (Int_t nrows, const Element *data) const | 
| TMatrixTSym< Element > & | Use (Int_t nrows, Element *data) | 
| const TMatrixTSym< Element > & | Use (Int_t row_lwb, Int_t row_upb, const Element *data) const | 
| TMatrixTSym< Element > & | Use (Int_t row_lwb, Int_t row_upb, Element *data) | 
| TMatrixTSym< Element > & | Use (TMatrixTSym< Element > &a) | 
  Public Member Functions inherited from TMatrixTBase< Element > | |
| TMatrixTBase () | |
| virtual | ~TMatrixTBase () | 
| virtual TMatrixTBase< Element > & | Abs () | 
| Take an absolute value of a matrix, i.e. apply Abs() to each element.   | |
| TClass * | Class () | 
| virtual Element | ColNorm () const | 
| Column matrix norm, MAX{ SUM{ |M(i,j)|, over i}, over j}.   | |
| void | Draw (Option_t *option="") | 
| Draw this matrix The histogram is named "TMatrixT" by default and no title.   | |
| virtual Element | E2Norm () const | 
| Square of the Euclidian norm, SUM{ m(i,j)^2 }.   | |
| virtual void | ExtractRow (Int_t row, Int_t col, Element *v, Int_t n=-1) const | 
| Store in array v, n matrix elements of row rown starting at column coln.   | |
| Int_t | GetColLwb () const | 
| Int_t | GetColUpb () const | 
| virtual void | GetMatrix2Array (Element *data, Option_t *option="") const | 
| Copy matrix data to array .   | |
| Int_t | GetNcols () const | 
| Int_t | GetNoElements () const | 
| Int_t | GetNrows () const | 
| Int_t | GetRowLwb () const | 
| Int_t | GetRowUpb () const | 
| Element | GetTol () const | 
| virtual TMatrixTBase< Element > & | InsertRow (Int_t row, Int_t col, const Element *v, Int_t n=-1) | 
| Copy n elements from array v to row rown starting at column coln.   | |
| void | Invalidate () | 
| Bool_t | IsOwner () const | 
| Bool_t | IsValid () const | 
| void | MakeValid () | 
| virtual Element | Max () const | 
| return maximum vector element value   | |
| virtual Element | Min () const | 
| return minimum matrix element value   | |
| virtual Int_t | NonZeros () const | 
| Compute the number of elements != 0.0.   | |
| Element | Norm1 () const | 
| virtual TMatrixTBase< Element > & | NormByDiag (const TVectorT< Element > &v, Option_t *option="D") | 
| option:   | |
| Element | NormInf () const | 
| Bool_t | operator!= (Element val) const | 
| Are all matrix elements not equal to val?   | |
| Bool_t | operator< (Element val) const | 
| Are all matrix elements < val?   | |
| Bool_t | operator<= (Element val) const | 
| Are all matrix elements <= val?   | |
| Bool_t | operator== (Element val) const | 
| Are all matrix elements equal to val?   | |
| Bool_t | operator> (Element val) const | 
| Are all matrix elements > val?   | |
| Bool_t | operator>= (Element val) const | 
| Are all matrix elements >= val?   | |
| void | Print (Option_t *name="") const | 
| Print the matrix as a table of elements.   | |
| virtual Element | RowNorm () const | 
| Row matrix norm, MAX{ SUM{ |M(i,j)|, over j}, over i}.   | |
| Element | SetTol (Element tol) | 
| virtual TMatrixTBase< Element > & | Sqr () | 
| Square each element of the matrix.   | |
| virtual TMatrixTBase< Element > & | Sqrt () | 
| Take square root of all elements.   | |
| virtual Element | Sum () const | 
| Compute sum of elements.   | |
| virtual TMatrixTBase< Element > & | UnitMatrix () | 
| Make a unit matrix (matrix need not be a square one).   | |
| virtual TMatrixTBase< Element > & | Zero () | 
| Set matrix elements to zero.   | |
  Public Member Functions inherited from TObject | |
| TObject () | |
| TObject constructor.   | |
| TObject (const TObject &object) | |
| TObject copy ctor.   | |
| virtual | ~TObject () | 
| TObject destructor.   | |
| void | AbstractMethod (const char *method) const | 
| Use this method to implement an "abstract" method that you don't want to leave purely abstract.   | |
| virtual void | AppendPad (Option_t *option="") | 
| Append graphics object to current pad.   | |
| virtual void | Browse (TBrowser *b) | 
| Browse object. May be overridden for another default action.   | |
| ULong_t | CheckedHash () | 
| Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.   | |
| virtual const char * | ClassName () const | 
| Returns name of class to which the object belongs.   | |
| virtual TObject * | Clone (const char *newname="") const | 
| Make a clone of an object using the Streamer facility.   | |
| virtual Int_t | Compare (const TObject *obj) const | 
| Compare abstract method.   | |
| virtual void | Copy (TObject &object) const | 
| Copy this to obj.   | |
| virtual void | Delete (Option_t *option="") | 
| Delete this object.   | |
| virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) | 
| Computes distance from point (px,py) to the object.   | |
| virtual void | DrawClass () const | 
| Draw class inheritance tree of the class to which this object belongs.   | |
| virtual TObject * | DrawClone (Option_t *option="") const | 
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad).   | |
| virtual void | Dump () const | 
| Dump contents of object on stdout.   | |
| virtual void | Error (const char *method, const char *msgfmt,...) const | 
| Issue error message.   | |
| virtual void | Execute (const char *method, const char *params, Int_t *error=0) | 
| Execute method on this object with the given parameter string, e.g.   | |
| virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) | 
| Execute method on this object with parameters stored in the TObjArray.   | |
| virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) | 
| Execute action corresponding to an event at (px,py).   | |
| virtual void | Fatal (const char *method, const char *msgfmt,...) const | 
| Issue fatal error message.   | |
| virtual TObject * | FindObject (const char *name) const | 
| Must be redefined in derived classes.   | |
| virtual TObject * | FindObject (const TObject *obj) const | 
| Must be redefined in derived classes.   | |
| virtual Option_t * | GetDrawOption () const | 
| Get option used by the graphics system to draw this object.   | |
| virtual const char * | GetIconName () const | 
| Returns mime type name of object.   | |
| virtual const char * | GetName () const | 
| Returns name of object.   | |
| virtual char * | GetObjectInfo (Int_t px, Int_t py) const | 
| Returns string containing info about the object at position (px,py).   | |
| virtual Option_t * | GetOption () const | 
| virtual const char * | GetTitle () const | 
| Returns title of object.   | |
| virtual UInt_t | GetUniqueID () const | 
| Return the unique object id.   | |
| virtual Bool_t | HandleTimer (TTimer *timer) | 
| Execute action in response of a timer timing out.   | |
| virtual ULong_t | Hash () const | 
| Return hash value for this object.   | |
| Bool_t | HasInconsistentHash () const | 
| Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.   | |
| virtual void | Info (const char *method, const char *msgfmt,...) const | 
| Issue info message.   | |
| virtual Bool_t | InheritsFrom (const char *classname) const | 
| Returns kTRUE if object inherits from class "classname".   | |
| virtual Bool_t | InheritsFrom (const TClass *cl) const | 
| Returns kTRUE if object inherits from TClass cl.   | |
| virtual void | Inspect () const | 
| Dump contents of this object in a graphics canvas.   | |
| void | InvertBit (UInt_t f) | 
| Bool_t | IsDestructed () const | 
| IsDestructed.   | |
| virtual Bool_t | IsEqual (const TObject *obj) const | 
| Default equal comparison (objects are equal if they have the same address in memory).   | |
| virtual Bool_t | IsFolder () const | 
| Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).   | |
| R__ALWAYS_INLINE Bool_t | IsOnHeap () const | 
| virtual Bool_t | IsSortable () const | 
| R__ALWAYS_INLINE Bool_t | IsZombie () const | 
| virtual void | ls (Option_t *option="") const | 
| The ls function lists the contents of a class on stdout.   | |
| void | MayNotUse (const char *method) const | 
| Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).   | |
| virtual Bool_t | Notify () | 
| This method must be overridden to handle object notification.   | |
| void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const | 
| Use this method to declare a method obsolete.   | |
| void | operator delete (void *ptr) | 
| Operator delete.   | |
| void | operator delete[] (void *ptr) | 
| Operator delete [].   | |
| void * | operator new (size_t sz) | 
| void * | operator new (size_t sz, void *vp) | 
| void * | operator new[] (size_t sz) | 
| void * | operator new[] (size_t sz, void *vp) | 
| TObject & | operator= (const TObject &rhs) | 
| TObject assignment operator.   | |
| virtual void | Paint (Option_t *option="") | 
| This method must be overridden if a class wants to paint itself.   | |
| virtual void | Pop () | 
| Pop on object drawn in a pad to the top of the display list.   | |
| virtual Int_t | Read (const char *name) | 
| Read contents of object with specified name from the current directory.   | |
| virtual void | RecursiveRemove (TObject *obj) | 
| Recursively remove this object from a list.   | |
| void | ResetBit (UInt_t f) | 
| virtual void | SaveAs (const char *filename="", Option_t *option="") const | 
| Save this object in the file specified by filename.   | |
| virtual void | SavePrimitive (std::ostream &out, Option_t *option="") | 
| Save a primitive as a C++ statement(s) on output stream "out".   | |
| void | SetBit (UInt_t f) | 
| void | SetBit (UInt_t f, Bool_t set) | 
| Set or unset the user status bits as specified in f.   | |
| virtual void | SetDrawOption (Option_t *option="") | 
| Set drawing option for object.   | |
| virtual void | SetUniqueID (UInt_t uid) | 
| Set the unique object id.   | |
| virtual void | SysError (const char *method, const char *msgfmt,...) const | 
| Issue system error message.   | |
| R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const | 
| Int_t | TestBits (UInt_t f) const | 
| virtual void | UseCurrentStyle () | 
| Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.   | |
| virtual void | Warning (const char *method, const char *msgfmt,...) const | 
| Issue warning message.   | |
| virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) | 
| Write this object to the current directory.   | |
| virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const | 
| Write this object to the current directory.   | |
Protected Member Functions | |
| void | Allocate (Int_t nrows, Int_t ncols, Int_t row_lwb=0, Int_t col_lwb=0, Int_t init=0, Int_t=-1) | 
| Allocate new matrix.   | |
| void | Delete_m (Int_t size, Element *&) | 
| delete data pointer m, if it was assigned on the heap   | |
| Int_t | Memcpy_m (Element *newp, const Element *oldp, Int_t copySize, Int_t newSize, Int_t oldSize) | 
| copy copySize doubles from *oldp to *newp .   | |
| Element * | New_m (Int_t size) | 
| return data pointer .   | |
  Protected Member Functions inherited from TObject | |
| virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const | 
| Interface to ErrorHandler (protected).   | |
| void | MakeZombie () | 
Protected Attributes | |
| Element | fDataStack [TMatrixTBase< Element >::kSizeMax] | 
| Element * | fElements | 
| data container   | |
  Protected Attributes inherited from TMatrixTBase< Element > | |
| Int_t | fColLwb | 
| Bool_t | fIsOwner | 
| Int_t | fNcols | 
| Int_t | fNelems | 
| Int_t | fNrowIndex | 
| Int_t | fNrows | 
| Int_t | fRowLwb | 
| Element | fTol | 
Additional Inherited Members | |
  Static Public Member Functions inherited from TMatrixTBase< Element > | |
| static Element & | NaNValue () | 
  Static Public Member Functions inherited from TObject | |
| static Longptr_t | GetDtorOnly () | 
| Return destructor only flag.   | |
| static Bool_t | GetObjectStat () | 
| Get status of object stat flag.   | |
| static void | SetDtorOnly (void *obj) | 
| Set destructor only flag.   | |
| static void | SetObjectStat (Bool_t stat) | 
| Turn on/off tracking of objects in the TObjectTable.   | |
  Protected Types inherited from TMatrixTBase< Element > | |
| enum | { kSizeMax = 25 } | 
| enum | { kWorkMax = 100 } | 
| enum | EMatrixStatusBits { kStatus = BIT(14) } | 
  Protected Types inherited from TObject | |
| enum | { kOnlyPrepStep = BIT(3) } | 
  Static Protected Member Functions inherited from TMatrixTBase< Element > | |
| static void | DoubleLexSort (Int_t n, Int_t *first, Int_t *second, Element *data) | 
| default kTRUE, when Use array kFALSE   | |
| static void | IndexedLexSort (Int_t n, Int_t *first, Int_t swapFirst, Int_t *second, Int_t swapSecond, Int_t *index) | 
| Lexical sort on array data using indices first and second.   | |
#include <TMatrixTSym.h>
| anonymous enum | 
| Enumerator | |
|---|---|
| kWorkMax | |
Definition at line 50 of file TMatrixTSym.h.
| enum TMatrixTSym::EMatrixCreatorsOp1 | 
| Enumerator | |
|---|---|
| kZero | |
| kUnit | |
| kTransposed | |
| kInverted | |
| kAtA | |
Definition at line 51 of file TMatrixTSym.h.
| enum TMatrixTSym::EMatrixCreatorsOp2 | 
| Enumerator | |
|---|---|
| kPlus | |
| kMinus | |
Definition at line 52 of file TMatrixTSym.h.
      
  | 
  inline | 
Definition at line 54 of file TMatrixTSym.h.
      
  | 
  explicit | 
Definition at line 41 of file TMatrixTSym.cxx.
| TMatrixTSym< Element >::TMatrixTSym | ( | Int_t | row_lwb, | 
| Int_t | row_upb | ||
| ) | 
Definition at line 49 of file TMatrixTSym.cxx.
| TMatrixTSym< Element >::TMatrixTSym | ( | Int_t | no_rows, | 
| const Element * | elements, | ||
| Option_t * | option = ""  | 
        ||
| ) | 
option=
array elements are copied
Definition at line 65 of file TMatrixTSym.cxx.
| TMatrixTSym< Element >::TMatrixTSym | ( | Int_t | row_lwb, | 
| Int_t | row_upb, | ||
| const Element * | data, | ||
| Option_t * | option = ""  | 
        ||
| ) | 
array elements are copied
Definition at line 78 of file TMatrixTSym.cxx.
| TMatrixTSym< Element >::TMatrixTSym | ( | const TMatrixTSym< Element > & | another | ) | 
Definition at line 91 of file TMatrixTSym.cxx.
      
  | 
  inline | 
Definition at line 60 of file TMatrixTSym.h.
| TMatrixTSym< Element >::TMatrixTSym | ( | EMatrixCreatorsOp1 | op, | 
| const TMatrixTSym< Element > & | prototype | ||
| ) | 
Create a matrix applying a specific operation to the prototype.
Example: TMatrixTSym<Element> a(10,12); ...; TMatrixTSym<Element> b(TMatrixT::kTransposed, a); Supported operations are: kZero, kUnit, kTransposed, kInverted and kAtA.
Definition at line 104 of file TMatrixTSym.cxx.
| TMatrixTSym< Element >::TMatrixTSym | ( | EMatrixCreatorsOp1 | op, | 
| const TMatrixT< Element > & | prototype | ||
| ) | 
Definition at line 153 of file TMatrixTSym.cxx.
| TMatrixTSym< Element >::TMatrixTSym | ( | const TMatrixTSym< Element > & | a, | 
| EMatrixCreatorsOp2 | op, | ||
| const TMatrixTSym< Element > & | b | ||
| ) | 
Definition at line 172 of file TMatrixTSym.cxx.
| TMatrixTSym< Element >::TMatrixTSym | ( | const TMatrixTSymLazy< Element > & | lazy_constructor | ) | 
Definition at line 200 of file TMatrixTSym.cxx.
      
  | 
  inlinevirtual | 
Definition at line 72 of file TMatrixTSym.h.
      
  | 
  protected | 
Allocate new matrix.
Arguments are number of rows, columns, row lowerbound (0 default) and column lowerbound (0 default).
Definition at line 274 of file TMatrixTSym.cxx.
      
  | 
  virtual | 
Apply action to each matrix element.
Reimplemented from TMatrixTBase< Element >.
Definition at line 1553 of file TMatrixTSym.cxx.
      
  | 
  virtual | 
Apply action to each element of the matrix.
To action the location of the current element is passed.
Reimplemented from TMatrixTBase< Element >.
Definition at line 1580 of file TMatrixTSym.cxx.
| TClass * TMatrixTSym< double >::Class | ( | ) | 
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 92 of file TMatrixTSym.h.
      
  | 
  protected | 
delete data pointer m, if it was assigned on the heap
Definition at line 215 of file TMatrixTSym.cxx.
      
  | 
  virtual | 
Reimplemented from TMatrixTBase< Element >.
Definition at line 935 of file TMatrixTSym.cxx.
      
  | 
  virtual | 
Reimplemented from TMatrixTBase< Element >.
Definition at line 947 of file TMatrixTSym.cxx.
| const TMatrixT< Element > TMatrixTSym< Element >::EigenVectors | ( | TVectorT< Element > & | eigenValues | ) | const | 
Return a matrix containing the eigen-vectors ordered by descending eigen-values.
For full functionality use TMatrixDSymEigen .
Definition at line 1681 of file TMatrixTSym.cxx.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 87 of file TMatrixTSym.h.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 86 of file TMatrixTSym.h.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 190 of file TMatrixTSym.h.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 189 of file TMatrixTSym.h.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 85 of file TMatrixTSym.h.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 84 of file TMatrixTSym.h.
      
  | 
  inline | 
Definition at line 200 of file TMatrixTSym.h.
      
  | 
  virtual | 
Get submatrix [row_lwb..row_upb][col_lwb..col_upb]; The indexing range of the returned matrix depends on the argument option:
option == "S" : return [0..row_upb-row_lwb+1][0..col_upb-col_lwb+1] (default) else : return [row_lwb..row_upb][col_lwb..col_upb]
Implements TMatrixTBase< Element >.
Definition at line 569 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::GetSub | ( | Int_t | row_lwb, | 
| Int_t | row_upb, | ||
| TMatrixTSym< Element > & | target, | ||
| Option_t * | option = "S"  | 
        ||
| ) | const | 
Get submatrix [row_lwb..row_upb][row_lwb..row_upb]; The indexing range of the returned matrix depends on the argument option:
option == "S" : return [0..row_upb-row_lwb+1][0..row_upb-row_lwb+1] (default) else : return [row_lwb..row_upb][row_lwb..row_upb]
Definition at line 503 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::Invert | ( | Double_t * | det = 0 | ) | 
Invert the matrix and calculate its determinant Notice that the LU decomposition is used instead of Bunch-Kaufman Bunch-Kaufman guarantees a symmetric inverted matrix but is slower than LU .
The user can access Bunch-Kaufman through the TDecompBK class .
Definition at line 961 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::InvertFast | ( | Double_t * | det = 0 | ) | 
Invert the matrix and calculate its determinant.
Definition at line 979 of file TMatrixTSym.cxx.
      
  | 
  inlinevirtual | 
Check whether matrix is symmetric.
Reimplemented from TMatrixTBase< Element >.
Definition at line 95 of file TMatrixTSym.h.
      
  | 
  protected | 
copy copySize doubles from *oldp to *newp .
However take care of the situation where both pointers are assigned to the same stack space
Definition at line 247 of file TMatrixTSym.cxx.
| void TMatrixTSym< Element >::Minus | ( | const TMatrixTSym< Element > & | a, | 
| const TMatrixTSym< Element > & | b | ||
| ) | 
Symmetric matrix summation. Create a matrix C such that C = A + B.
Definition at line 346 of file TMatrixTSym.cxx.
      
  | 
  inline | 
Definition at line 77 of file TMatrixTSym.h.
      
  | 
  protected | 
return data pointer .
if requested size <= kSizeMax, assign pointer to the stack space
Definition at line 229 of file TMatrixTSym.cxx.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 224 of file TMatrixTSym.h.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 208 of file TMatrixTSym.h.
| TMatrixTSym< Element > & TMatrixTSym< Element >::operator*= | ( | Element | val | ) | 
Multiply every element of the matrix with val.
Definition at line 1498 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::operator+= | ( | const TMatrixTSym< Element > & | source | ) | 
Add the source matrix.
Definition at line 1514 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::operator+= | ( | Element | val | ) | 
Add val to every element of the matrix.
Definition at line 1466 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::operator-= | ( | const TMatrixTSym< Element > & | source | ) | 
Subtract the source matrix.
Definition at line 1534 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::operator-= | ( | Element | val | ) | 
Subtract val from every element of the matrix.
Definition at line 1482 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::operator= | ( | const TMatrixTSym< Element > & | source | ) | 
Definition at line 1414 of file TMatrixTSym.cxx.
      
  | 
  inline | 
Definition at line 144 of file TMatrixTSym.h.
| TMatrixTSym< Element > & TMatrixTSym< Element >::operator= | ( | const TMatrixTSymLazy< Element > & | source | ) | 
Definition at line 1431 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::operator= | ( | Element | val | ) | 
Assign val to every element of the matrix.
Definition at line 1450 of file TMatrixTSym.cxx.
      
  | 
  inline | 
Definition at line 140 of file TMatrixTSym.h.
      
  | 
  inline | 
Definition at line 139 of file TMatrixTSym.h.
| void TMatrixTSym< Element >::Plus | ( | const TMatrixTSym< Element > & | a, | 
| const TMatrixTSym< Element > & | b | ||
| ) | 
Symmetric matrix summation. Create a matrix C such that C = A + B.
Definition at line 312 of file TMatrixTSym.cxx.
      
  | 
  virtual | 
randomize matrix element values but keep matrix symmetric
Reimplemented from TMatrixTBase< Element >.
Definition at line 1608 of file TMatrixTSym.cxx.
      
  | 
  virtual | 
randomize matrix element values but keep matrix symmetric positive definite
Definition at line 1639 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::Rank1Update | ( | const TVectorT< Element > & | v, | 
| Element | alpha = 1.0  | 
        ||
| ) | 
Perform a rank 1 operation on the matrix: A += alpha * v * v^T.
Definition at line 1063 of file TMatrixTSym.cxx.
      
  | 
  inline | 
Definition at line 118 of file TMatrixTSym.h.
      
  | 
  virtual | 
Set size of the matrix to nrows x ncols New dynamic elements are created, the overlapping part of the old ones are copied to the new structures, then the old elements are deleted.
Implements TMatrixTBase< Element >.
Definition at line 771 of file TMatrixTSym.cxx.
      
  | 
  virtual | 
Set size of the matrix to [row_lwb:row_upb] x [col_lwb:col_upb] New dynamic elements are created, the overlapping part of the old ones are copied to the new structures, then the old elements are deleted.
Implements TMatrixTBase< Element >.
Definition at line 841 of file TMatrixTSym.cxx.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 90 of file TMatrixTSym.h.
      
  | 
  virtual | 
Copy array data to matrix .
It is assumed that array is of size >= fNelems (=)))) fNrows*fNcols option indicates how the data is stored in the array: option =
Reimplemented from TMatrixTBase< Element >.
Definition at line 743 of file TMatrixTSym.cxx.
      
  | 
  inlinevirtual | 
Implements TMatrixTBase< Element >.
Definition at line 89 of file TMatrixTSym.h.
| TMatrixTSym< Element > & TMatrixTSym< Element >::SetSub | ( | Int_t | row_lwb, | 
| const TMatrixTBase< Element > & | source | ||
| ) | 
Insert matrix source starting at [row_lwb][row_lwb], thereby overwriting the part [row_lwb..row_lwb+nrows_source][row_lwb..row_lwb+nrows_source];.
Definition at line 636 of file TMatrixTSym.cxx.
      
  | 
  virtual | 
Insert matrix source starting at [row_lwb][col_lwb] in a symmetric fashion, thereby overwriting the part [row_lwb..row_lwb+nrows_source][row_lwb..row_lwb+nrows_source];.
Implements TMatrixTBase< Element >.
Definition at line 686 of file TMatrixTSym.cxx.
      
  | 
  virtual | 
Shift the row index by adding row_shift and the column index by adding col_shift, respectively.
So [rowLwb..rowUpb][colLwb..colUpb] becomes [rowLwb+row_shift..rowUpb+row_shift][colLwb+col_shift..colUpb+col_shift]
Reimplemented from TMatrixTBase< Element >.
Definition at line 756 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::Similarity | ( | const TMatrixT< Element > & | b | ) | 
Calculate B * (*this) * B^T , final matrix will be (nrowsb x nrowsb) This is a similarity transform when B is orthogonal .
It is more efficient than applying the actual multiplication because this routine realizes that the final matrix is symmetric .
Definition at line 1099 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::Similarity | ( | const TMatrixTSym< Element > & | b | ) | 
Calculate B * (*this) * B^T , final matrix will be (nrowsb x nrowsb) This is a similarity transform when B is orthogonal .
It is more efficient than applying the actual multiplication because this routine realizes that the final matrix is symmetric .
Definition at line 1190 of file TMatrixTSym.cxx.
| Element TMatrixTSym< Element >::Similarity | ( | const TVectorT< Element > & | v | ) | const | 
Calculate scalar v * (*this) * v^T.
Definition at line 1292 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::SimilarityT | ( | const TMatrixT< Element > & | n | ) | 
Calculate B^T * (*this) * B , final matrix will be (ncolsb x ncolsb) It is more efficient than applying the actual multiplication because this routine realizes that the final matrix is symmetric .
Definition at line 1327 of file TMatrixTSym.cxx.
      
  | 
  inline | 
Definition at line 127 of file TMatrixTSym.h.
| void TMatrixTSym< Element >::TMult | ( | const TMatrixT< Element > & | a | ) | 
Create a matrix C such that C = A' * A.
In other words, c[i,j] = SUM{ a[k,i] * a[k,j] }.
Definition at line 381 of file TMatrixTSym.cxx.
| void TMatrixTSym< Element >::TMult | ( | const TMatrixTSym< Element > & | a | ) | 
Matrix multiplication, with A symmetric Create a matrix C such that C = A' * A = A * A = A * A'.
Definition at line 429 of file TMatrixTSym.cxx.
| TMatrixTSym< Element > & TMatrixTSym< Element >::Transpose | ( | const TMatrixTSym< Element > & | source | ) | 
Transpose a matrix.
Definition at line 1041 of file TMatrixTSym.cxx.
      
  | 
  inline | 
Definition at line 197 of file TMatrixTSym.h.
      
  | 
  inline | 
Definition at line 193 of file TMatrixTSym.h.
      
  | 
  inline | 
Definition at line 192 of file TMatrixTSym.h.
      
  | 
  inline | 
Definition at line 98 of file TMatrixTSym.h.
| TMatrixTSym< Element > & TMatrixTSym< Element >::Use | ( | Int_t | row_lwb, | 
| Int_t | row_upb, | ||
| Element * | data | ||
| ) | 
Definition at line 475 of file TMatrixTSym.cxx.
      
  | 
  inline | 
Definition at line 195 of file TMatrixTSym.h.
      
  | 
  protected | 
Definition at line 38 of file TMatrixTSym.h.
      
  | 
  protected | 
data container
Definition at line 39 of file TMatrixTSym.h.