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.
anonymous enum |
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.
|
inlinestaticconstexpr |
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.