MatRepSym Matrix storage representation for a symmetric matrix of dimension NxN This class is a template on the contained type and on the symmetric matrix size, N.
It has as data member an array of type T of size N*(N+1)/2, containing the lower diagonal block of the matrix. The order follows the lower diagonal block, still in a row-major convention. For example for a symmetric 3x3 matrix the order of the 6 elements \( \left[a_0,a_1.....a_5 \right]\) is:
\[ M = \left( \begin{array}{ccc} a_0 & a_1 & a_3 \\ a_1 & a_2 & a_4 \\ a_3 & a_4 & a_5 \end{array} \right) \]
Definition at line 213 of file MatrixRepresentationsStatic.h.
Public Types | |
| enum | { kRows = D , kCols = D , kSize = D*(D+1)/2 } | 
| typedef T | value_type | 
Public Member Functions | |
| MatRepSym () | |
| T | apply (unsigned int i) const | 
| T * | Array () | 
| const T * | Array () const | 
| T & | operator() (unsigned int i, unsigned int j) | 
| T const & | operator() (unsigned int i, unsigned int j) const | 
| MatRepSym< T, D > & | operator+= (const MatRepSym &rhs) | 
| template<class R > | |
| MatRepSym< T, D > & | operator+= (const R &) | 
| self addition : only symmetric to symmetric allowed   | |
| MatRepSym< T, D > & | operator-= (const MatRepSym &rhs) | 
| template<class R > | |
| MatRepSym< T, D > & | operator-= (const R &) | 
| self subtraction : only symmetric to symmetric allowed   | |
| MatRepSym< T, D > & | operator= (const MatRepSym &rhs) | 
| template<class R > | |
| MatRepSym< T, D > & | operator= (const R &) | 
| assignment : only symmetric to symmetric allowed   | |
| template<class R > | |
| bool | operator== (const R &rhs) const | 
| T & | operator[] (unsigned int i) | 
| T const & | operator[] (unsigned int i) const | 
Static Public Member Functions | |
| static int | off (int i) | 
| static constexpr int | off0 (int i) | 
| static constexpr int | off1 (int i) | 
| static constexpr int | off2 (int i, int j) | 
| static constexpr unsigned int | offset (unsigned int i, unsigned int j) | 
Private Attributes | |
| T | fArray [kSize] | 
#include <Math/MatrixRepresentationsStatic.h>
| typedef T ROOT::Math::MatRepSym< T, D >::value_type | 
Definition at line 219 of file MatrixRepresentationsStatic.h.
| Enumerator | |
|---|---|
| kRows | return no. of matrix rows  | 
| kCols | return no. of matrix columns  | 
| kSize | return no of elements: rows*columns  | 
Definition at line 294 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 217 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 236 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 240 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 242 of file MatrixRepresentationsStatic.h.
      
  | 
  inlinestatic | 
Definition at line 307 of file MatrixRepresentationsStatic.h.
      
  | 
  inlinestaticconstexpr | 
Definition at line 303 of file MatrixRepresentationsStatic.h.
      
  | 
  inlinestaticconstexpr | 
Definition at line 305 of file MatrixRepresentationsStatic.h.
Definition at line 304 of file MatrixRepresentationsStatic.h.
      
  | 
  inlinestaticconstexpr | 
Definition at line 313 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 222 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 225 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 267 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
self addition : only symmetric to symmetric allowed
Definition at line 262 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 281 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
self subtraction : only symmetric to symmetric allowed
Definition at line 276 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 253 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
assignment : only symmetric to symmetric allowed
Definition at line 248 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 286 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 228 of file MatrixRepresentationsStatic.h.
      
  | 
  inline | 
Definition at line 232 of file MatrixRepresentationsStatic.h.
      
  | 
  private | 
Definition at line 322 of file MatrixRepresentationsStatic.h.