ROOT::Math::MatRepSym< T, D > Class Template Reference
[Matrix Storage Representation]

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. More...

#include <MatrixRepresentationsStatic.h>

Collaboration diagram for ROOT::Math::MatRepSym< T, D >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef T value_type
enum  { kRows = D, kCols = D, kSize = D*(D+1)/2 }

Public Member Functions

 MatRepSym ()
const T & operator() (unsigned int i, unsigned int j) const
T & operator() (unsigned int i, unsigned int j)
T & operator[] (unsigned int i)
const T & operator[] (unsigned int i) const
apply (unsigned int i) const
T * Array ()
const T * Array () const
template<class R>
MatRepSym< T, D > & operator= (const R &rhs)
 assignment : only symmetric to symmetric allowed
MatRepSym< T, D > & operator= (const MatRepSym &rhs)
template<class R>
MatRepSym< T, D > & operator+= (const R &rhs)
 self addition : only symmetric to symmetric allowed
MatRepSym< T, D > & operator+= (const MatRepSym &rhs)
template<class R>
MatRepSym< T, D > & operator-= (const R &rhs)
 self subtraction : only symmetric to symmetric allowed
MatRepSym< T, D > & operator-= (const MatRepSym &rhs)
template<class R>
bool operator== (const R &rhs) const
void CreateOffsets ()
const RowOffsets< D > & Offsets () const

Detailed Description

template<class T, unsigned int D>
class ROOT::Math::MatRepSym< T, D >

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 160 of file MatrixRepresentationsStatic.h.


Member Typedef Documentation

template<class T, unsigned int D>
typedef T ROOT::Math::MatRepSym< T, D >::value_type
 

Definition at line 166 of file MatrixRepresentationsStatic.h.


Member Enumeration Documentation

template<class T, unsigned int D>
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 242 of file MatrixRepresentationsStatic.h.


Constructor & Destructor Documentation

template<class T, unsigned int D>
ROOT::Math::MatRepSym< T, D >::MatRepSym  )  [inline]
 

Definition at line 164 of file MatrixRepresentationsStatic.h.


Member Function Documentation

template<class T, unsigned int D>
T ROOT::Math::MatRepSym< T, D >::apply unsigned int  i  )  const [inline]
 

Definition at line 183 of file MatrixRepresentationsStatic.h.

template<class T, unsigned int D>
const T* ROOT::Math::MatRepSym< T, D >::Array  )  const [inline]
 

Definition at line 190 of file MatrixRepresentationsStatic.h.

template<class T, unsigned int D>
T* ROOT::Math::MatRepSym< T, D >::Array  )  [inline]
 

Definition at line 188 of file MatrixRepresentationsStatic.h.

Referenced by ROOT::Math::Inverter< 2 >::Dinv(), ROOT::Math::Inverter< idim, n >::InvertBunchKaufman(), ROOT::Math::MatRepSym< T, D >::operator+=(), ROOT::Math::MatRepSym< T, D >::operator-=(), and ROOT::Math::MatRepSym< T, D >::operator=().

template<class T, unsigned int D>
void ROOT::Math::MatRepSym< T, D >::CreateOffsets  )  [inline]
 

Definition at line 252 of file MatrixRepresentationsStatic.h.

template<class T, unsigned int D>
const RowOffsets<D>& ROOT::Math::MatRepSym< T, D >::Offsets  )  const [inline]
 

Definition at line 257 of file MatrixRepresentationsStatic.h.

template<class T, unsigned int D>
T& ROOT::Math::MatRepSym< T, D >::operator() unsigned int  i,
unsigned int  j
[inline]
 

Definition at line 171 of file MatrixRepresentationsStatic.h.

template<class T, unsigned int D>
const T& ROOT::Math::MatRepSym< T, D >::operator() unsigned int  i,
unsigned int  j
const [inline]
 

Definition at line 168 of file MatrixRepresentationsStatic.h.

template<class T, unsigned int D>
MatRepSym<T, D>& ROOT::Math::MatRepSym< T, D >::operator+= const MatRepSym< T, D > &  rhs  )  [inline]
 

Definition at line 215 of file MatrixRepresentationsStatic.h.

References ROOT::Math::MatRepSym< T, D >::Array().

template<class T, unsigned int D>
template<class R>
MatRepSym<T, D>& ROOT::Math::MatRepSym< T, D >::operator+= const R &  rhs  )  [inline]
 

self addition : only symmetric to symmetric allowed

Definition at line 210 of file MatrixRepresentationsStatic.h.

References STATIC_CHECK.

template<class T, unsigned int D>
MatRepSym<T, D>& ROOT::Math::MatRepSym< T, D >::operator-= const MatRepSym< T, D > &  rhs  )  [inline]
 

Definition at line 229 of file MatrixRepresentationsStatic.h.

References ROOT::Math::MatRepSym< T, D >::Array().

template<class T, unsigned int D>
template<class R>
MatRepSym<T, D>& ROOT::Math::MatRepSym< T, D >::operator-= const R &  rhs  )  [inline]
 

self subtraction : only symmetric to symmetric allowed

Definition at line 224 of file MatrixRepresentationsStatic.h.

References STATIC_CHECK.

template<class T, unsigned int D>
MatRepSym<T, D>& ROOT::Math::MatRepSym< T, D >::operator= const MatRepSym< T, D > &  rhs  )  [inline]
 

Definition at line 201 of file MatrixRepresentationsStatic.h.

References ROOT::Math::MatRepSym< T, D >::Array().

template<class T, unsigned int D>
template<class R>
MatRepSym<T, D>& ROOT::Math::MatRepSym< T, D >::operator= const R &  rhs  )  [inline]
 

assignment : only symmetric to symmetric allowed

Definition at line 196 of file MatrixRepresentationsStatic.h.

References STATIC_CHECK.

template<class T, unsigned int D>
template<class R>
bool ROOT::Math::MatRepSym< T, D >::operator== const R &  rhs  )  const [inline]
 

Definition at line 234 of file MatrixRepresentationsStatic.h.

template<class T, unsigned int D>
const T& ROOT::Math::MatRepSym< T, D >::operator[] unsigned int  i  )  const [inline]
 

Definition at line 179 of file MatrixRepresentationsStatic.h.

template<class T, unsigned int D>
T& ROOT::Math::MatRepSym< T, D >::operator[] unsigned int  i  )  [inline]
 

Definition at line 175 of file MatrixRepresentationsStatic.h.


The documentation for this class was generated from the following file:
Generated on Fri Jun 29 11:36:02 2007 for SMatrix by  doxygen 1.4.6