ROOT 6.08/07 Reference Guide |
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 35 of file HelperOps.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 |
template<class R > | |
MatRepSym< T, D > & | operator+= (const R &) |
self addition : only symmetric to symmetric allowed More... | |
MatRepSym< T, D > & | operator+= (const MatRepSym &rhs) |
template<class R > | |
MatRepSym< T, D > & | operator-= (const R &) |
self subtraction : only symmetric to symmetric allowed More... | |
MatRepSym< T, D > & | operator-= (const MatRepSym &rhs) |
template<class R > | |
MatRepSym< T, D > & | operator= (const R &) |
assignment : only symmetric to symmetric allowed More... | |
MatRepSym< T, D > & | operator= (const MatRepSym &rhs) |
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/HelperOps.h>
typedef T ROOT::Math::MatRepSym< T, D >::value_type |
Definition at line 220 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 295 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 218 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 237 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 241 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 243 of file MatrixRepresentationsStatic.h.
|
inlinestatic |
Definition at line 308 of file MatrixRepresentationsStatic.h.
|
inlinestatic |
Definition at line 304 of file MatrixRepresentationsStatic.h.
|
inlinestatic |
Definition at line 306 of file MatrixRepresentationsStatic.h.
|
inlinestatic |
Definition at line 305 of file MatrixRepresentationsStatic.h.
|
inlinestatic |
Definition at line 314 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 223 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 226 of file MatrixRepresentationsStatic.h.
|
inline |
self addition : only symmetric to symmetric allowed
Definition at line 263 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 268 of file MatrixRepresentationsStatic.h.
|
inline |
self subtraction : only symmetric to symmetric allowed
Definition at line 277 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 282 of file MatrixRepresentationsStatic.h.
|
inline |
assignment : only symmetric to symmetric allowed
Definition at line 249 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 254 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 287 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 229 of file MatrixRepresentationsStatic.h.
|
inline |
Definition at line 233 of file MatrixRepresentationsStatic.h.
|
private |
Definition at line 323 of file MatrixRepresentationsStatic.h.