ROOT logo
ROOT » MATH » MATRIX » TMatrixTSym<float>

class TMatrixTSym<float>: public TMatrixTBase<float>


TMatrixTSym

Template class of a symmetric matrix in 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 .


This class is also known as (typedefs to this class)

TMatrixFSym, TMatrixTSym<Float_t>

Function Members (Methods)

public:
TMatrixTSym<float>()
TMatrixTSym<float>(Int_t nrows)
TMatrixTSym<float>(const TMatrixTSym<float>& another)
TMatrixTSym<float>(const TMatrixTSymLazy<float>& lazy_constructor)
TMatrixTSym<float>(const TMatrixTSym<double>& another)
TMatrixTSym<float>(Int_t row_lwb, Int_t row_upb)
TMatrixTSym<float>(TMatrixTSym<float>::EMatrixCreatorsOp1 op, const TMatrixTSym<float>& prototype)
TMatrixTSym<float>(TMatrixTSym<float>::EMatrixCreatorsOp1 op, const TMatrixT<float>& prototype)
TMatrixTSym<float>(Int_t nrows, const float* data, Option_t* option = "")
TMatrixTSym<float>(const TMatrixTSym<float>& a, TMatrixTSym<float>::EMatrixCreatorsOp2 op, const TMatrixTSym<float>& b)
TMatrixTSym<float>(Int_t row_lwb, Int_t row_upb, const float* data, Option_t* option = "")
virtual~TMatrixTSym<float>()
virtual TMatrixTBase<float>&TMatrixTBase<float>::Abs()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual TMatrixTBase<float>&Apply(const TElementActionT<float>& action)
virtual TMatrixTBase<float>&Apply(const TElementPosActionT<float>& action)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual floatTMatrixTBase<float>::ColNorm() const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Double_tDeterminant() const
virtual voidDeterminant(Double_t& d1, Double_t& d2) const
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTMatrixTBase<float>::Draw(Option_t* option = "")MENU
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual floatTMatrixTBase<float>::E2Norm() const
const TMatrixT<float>EigenVectors(TVectorT<float>& eigenValues) const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTMatrixTBase<float>::ExtractRow(Int_t row, Int_t col, float* v, Int_t n = -1) const
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual const Int_t*GetColIndexArray() const
virtual Int_t*GetColIndexArray()
Int_tTMatrixTBase<float>::GetColLwb() const
Int_tTMatrixTBase<float>::GetColUpb() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual voidTMatrixTBase<float>::GetMatrix2Array(float* data, Option_t* option = "") const
virtual const float*GetMatrixArray() const
virtual float*GetMatrixArray()
virtual const char*TObject::GetName() const
Int_tTMatrixTBase<float>::GetNcols() const
Int_tTMatrixTBase<float>::GetNoElements() const
Int_tTMatrixTBase<float>::GetNrows() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const Int_t*GetRowIndexArray() const
virtual Int_t*GetRowIndexArray()
Int_tTMatrixTBase<float>::GetRowLwb() const
Int_tTMatrixTBase<float>::GetRowUpb() const
TMatrixTSym<float>&GetSub(Int_t row_lwb, Int_t row_upb, TMatrixTSym<float>& target, Option_t* option = "S") const
TMatrixTSym<float>GetSub(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Option_t* option = "S") const
virtual TMatrixTBase<float>&GetSub(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, TMatrixTBase<float>& target, Option_t* option = "S") const
virtual const char*TObject::GetTitle() const
floatTMatrixTBase<float>::GetTol() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual TMatrixTBase<float>&TMatrixTBase<float>::InsertRow(Int_t row, Int_t col, const float* v, Int_t n = -1)
virtual voidTObject::Inspect() constMENU
voidTMatrixTBase<float>::Invalidate()
TMatrixTSym<float>&Invert(Double_t* det = 0)
voidTObject::InvertBit(UInt_t f)
TMatrixTSym<float>&InvertFast(Double_t* det = 0)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tTMatrixTBase<float>::IsOwner() const
virtual Bool_tTObject::IsSortable() const
virtual Bool_tIsSymmetric() const
Bool_tTMatrixTBase<float>::IsValid() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTMatrixTBase<float>::MakeValid()
virtual floatTMatrixTBase<float>::Max() const
voidTObject::MayNotUse(const char* method) const
virtual floatTMatrixTBase<float>::Min() const
voidMinus(const TMatrixTSym<float>& a, const TMatrixTSym<float>& b)
voidMult(const TMatrixTSym<float>& a)
virtual Int_tTMatrixTBase<float>::NonZeros() const
floatTMatrixTBase<float>::Norm1() const
virtual TMatrixTBase<float>&TMatrixTBase<float>::NormByDiag(const TVectorT<float>& v, Option_t* option = "D")
floatTMatrixTBase<float>::NormInf() const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
Bool_tTMatrixTBase<float>::operator!=(float val) const
virtual floatoperator()(Int_t rown, Int_t coln) const
virtual float&operator()(Int_t rown, Int_t coln)
TMatrixTSym<float>&operator*=(float val)
TMatrixTSym<float>&operator+=(float val)
TMatrixTSym<float>&operator+=(const TMatrixTSym<float>& source)
TMatrixTSym<float>&operator-=(float val)
TMatrixTSym<float>&operator-=(const TMatrixTSym<float>& source)
Bool_tTMatrixTBase<float>::operator<(float val) const
Bool_tTMatrixTBase<float>::operator<=(float val) const
TMatrixTSym<float>&operator=(const TMatrixTSym<float>& source)
TMatrixTSym<float>&operator=(const TMatrixTSymLazy<float>& source)
TMatrixTSym<float>&operator=(float val)
Bool_tTMatrixTBase<float>::operator==(float val) const
Bool_tTMatrixTBase<float>::operator>(float val) const
Bool_tTMatrixTBase<float>::operator>=(float val) const
const TMatrixTRow_const<float>operator[](Int_t rown) const
TMatrixTRow<float>operator[](Int_t rown)
virtual voidTObject::Paint(Option_t* option = "")
voidPlus(const TMatrixTSym<float>& a, const TMatrixTSym<float>& b)
virtual voidTObject::Pop()
virtual voidTMatrixTBase<float>::Print(Option_t* name = "") constMENU
virtual TMatrixTBase<float>&Randomize(float alpha, float beta, Double_t& seed)
virtual TMatrixTSym<float>&RandomizePD(float alpha, float beta, Double_t& seed)
TMatrixTSym<float>&Rank1Update(const TVectorT<float>& v, float alpha = 1.0)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
TMatrixTBase<float>&ResizeTo(const TMatrixTSym<float>& m)
virtual TMatrixTBase<float>&ResizeTo(Int_t nrows, Int_t ncols, Int_t nr_nonzeros = -1)
virtual TMatrixTBase<float>&ResizeTo(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros = -1)
virtual floatTMatrixTBase<float>::RowNorm() const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual TMatrixTBase<float>&SetColIndexArray(Int_t*)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual TMatrixTBase<float>&SetMatrixArray(const float* data, Option_t* option = "")
static voidTObject::SetObjectStat(Bool_t stat)
virtual TMatrixTBase<float>&SetRowIndexArray(Int_t*)
TMatrixTSym<float>&SetSub(Int_t row_lwb, const TMatrixTBase<float>& source)
virtual TMatrixTBase<float>&SetSub(Int_t row_lwb, Int_t col_lwb, const TMatrixTBase<float>& source)
floatTMatrixTBase<float>::SetTol(float newTol)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual TMatrixTBase<float>&Shift(Int_t row_shift, Int_t col_shift)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
TMatrixTSym<float>&Similarity(const TMatrixT<float>& n)
TMatrixTSym<float>&Similarity(const TMatrixTSym<float>& n)
floatSimilarity(const TVectorT<float>& v) const
TMatrixTSym<float>&SimilarityT(const TMatrixT<float>& n)
virtual TMatrixTBase<float>&TMatrixTBase<float>::Sqr()
virtual TMatrixTBase<float>&TMatrixTBase<float>::Sqrt()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual floatTMatrixTBase<float>::Sum() const
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
TMatrixTSym<float>&T()
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidTMult(const TMatrixT<float>& a)
voidTMult(const TMatrixTSym<float>& a)
TMatrixTSym<float>&Transpose(const TMatrixTSym<float>& source)
virtual TMatrixTBase<float>&TMatrixTBase<float>::UnitMatrix()
TMatrixTSym<float>&Use(TMatrixTSym<float>& a)
const TMatrixTSym<float>&Use(const TMatrixTSym<float>& a) const
TMatrixTSym<float>&Use(Int_t nrows, float* data)
const TMatrixTSym<float>&Use(Int_t nrows, const float* data) const
TMatrixTSym<float>&Use(Int_t row_lwb, Int_t row_upb, float* data)
const TMatrixTSym<float>&Use(Int_t row_lwb, Int_t row_upb, const float* data) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual TMatrixTBase<float>&TMatrixTBase<float>::Zero()
protected:
voidAllocate(Int_t nrows, Int_t ncols, Int_t row_lwb = 0, Int_t col_lwb = 0, Int_t init = 0, Int_t nr_nonzeros = -1)
voidDelete_m(Int_t size, float*&)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
static voidTMatrixTBase<float>::DoubleLexSort(Int_t n, Int_t* first, Int_t* second, float* data)
static voidTMatrixTBase<float>::IndexedLexSort(Int_t n, Int_t* first, Int_t swapFirst, Int_t* second, Int_t swapSecond, Int_t* index)
voidTObject::MakeZombie()
Int_tMemcpy_m(float* newp, const float* oldp, Int_t copySize, Int_t newSize, Int_t oldSize)
float*New_m(Int_t size)

Data Members

public:
enum { kWorkMax
};
enum EMatrixCreatorsOp1 { kZero
kUnit
kTransposed
kInverted
kAtA
};
enum EMatrixCreatorsOp2 { kPlus
kMinus
};
enum TMatrixTBase::[unnamed] { kSizeMax
kWorkMax
};
enum TMatrixTBase::EMatrixStatusBits { kStatus
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Int_tTMatrixTBase<float>::fColLwblower bound of the col index
floatfDataStack[25]! data container
float*fElements[fNelems] elements themselves
Bool_tTMatrixTBase<float>::fIsOwner!default kTRUE, when Use array kFALSE
Int_tTMatrixTBase<float>::fNcolsnumber of columns
Int_tTMatrixTBase<float>::fNelemsnumber of elements in matrix
Int_tTMatrixTBase<float>::fNrowIndexlength of row index array (= fNrows+1) wich is only used for sparse matrices
Int_tTMatrixTBase<float>::fNrowsnumber of rows
Int_tTMatrixTBase<float>::fRowLwblower bound of the row index
floatTMatrixTBase<float>::fTolsqrt(epsilon); epsilon is smallest number number so that 1+epsilon > 1

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void TMatrixTSym<Element> Delete_m(Int_t size, float*& )
 delete data pointer m, if it was assigned on the heap
Element* TMatrixTSym<Element> New_m(Int_t size)
 return data pointer . if requested size <= kSizeMax, assign pointer
 to the stack space
Int_t TMatrixTSym<Element> Memcpy_m(float* newp, const float* oldp, Int_t copySize, Int_t newSize, Int_t oldSize)
 copy copySize doubles from *oldp to *newp . However take care of the
 situation where both pointers are assigned to the same stack space
void TMatrixTSym<Element> Allocate(Int_t nrows, Int_t ncols, Int_t row_lwb = 0, Int_t col_lwb = 0, Int_t init = 0, Int_t nr_nonzeros = -1)
 Allocate new matrix. Arguments are number of rows, columns, row
 lowerbound (0 default) and column lowerbound (0 default).
void TMatrixTSym<Element> Plus(const TMatrixTSym<float>& a, const TMatrixTSym<float>& b)
 Symmetric matrix summation. Create a matrix C such that C = A + B.
void TMatrixTSym<Element> Minus(const TMatrixTSym<float>& a, const TMatrixTSym<float>& b)
 Symmetric matrix summation. Create a matrix C such that C = A + B.
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] }.
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'
TMatrixTSym<Element> &TMatrixTSym<Element> Use(Int_t row_lwb,Int_t row_upb,Element *data)
TMatrixTSym<Element> &TMatrixTSym<Element> GetSub(Int_t row_lwb, Int_t row_upb, TMatrixTSym<float>& 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]
TMatrixTBase<Element> &TMatrixTSym<Element> GetSub(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, TMatrixTBase<float>& 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:

 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]
TMatrixTSym<Element> &TMatrixTSym<Element> SetSub(Int_t row_lwb, const TMatrixTBase<float>& 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];
TMatrixTBase<Element> &TMatrixTSym<Element> SetSub(Int_t row_lwb, Int_t col_lwb, const TMatrixTBase<float>& 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];
TMatrixTBase<Element> &TMatrixTSym<Element> SetMatrixArray(const float* data, Option_t* option = "")
TMatrixTBase<Element> &TMatrixTSym<Element> Shift(Int_t row_shift, Int_t col_shift)
TMatrixTBase<Element> &TMatrixTSym<Element> ResizeTo(Int_t nrows, Int_t ncols, Int_t nr_nonzeros = -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.
TMatrixTBase<Element> &TMatrixTSym<Element> ResizeTo(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros = -1)
 Set size of the matrix to [row_lwb:row_upb] x [col_lwb:col_upb]
 New dynamic elemenst are created, the overlapping part of the old ones are
 copied to the new structures, then the old elements are deleted.
Double_t TMatrixTSym<Element> Determinant() const
void TMatrixTSym<Element> Determinant(Double_t& d1, Double_t& d2) const
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 .
TMatrixTSym<Element> &TMatrixTSym<Element> InvertFast(Double_t* det = 0)
 Invert the matrix and calculate its determinant
TMatrixTSym<Element> &TMatrixTSym<Element> Transpose(const TMatrixTSym<float>& source)
 Transpose a matrix.
TMatrixTSym<Element> &TMatrixTSym<Element> Rank1Update(const TVectorT<float>& v, float alpha = 1.0)
 Perform a rank 1 operation on the matrix:
     A += alpha * v * v^T
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 .
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 .
Element TMatrixTSym<Element> Similarity(const TVectorT<Element> &v)
 Calculate scalar v * (*this) * v^T
TMatrixTSym<Element> &TMatrixTSym<Element> SimilarityT(const TMatrixT<float>& 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> &TMatrixTSym<Element> operator=(const TMatrixTSym<Element> &source)
TMatrixTSym<Element> &TMatrixTSym<Element> operator=(const TMatrixTSymLazy<Element> &lazy_constructor)
TMatrixTSym<Element> &TMatrixTSym<Element> operator=(Element val)
 Assign val to every element of the matrix.
TMatrixTSym<Element> &TMatrixTSym<Element> operator+=(Element val)
 Add val to every element of the matrix.
TMatrixTSym<Element> &TMatrixTSym<Element> operator-=(Element val)
 Subtract val from every element of the matrix.
TMatrixTSym<Element> &TMatrixTSym<Element> operator*=(float val)
 Multiply every element of the matrix with val.
TMatrixTSym<Element> &TMatrixTSym<Element> operator+=(const TMatrixTSym<Element> &source)
 Add the source matrix.
TMatrixTSym<Element> &TMatrixTSym<Element> operator-=(const TMatrixTSym<Element> &source)
 Subtract the source matrix.
TMatrixTBase<Element> &TMatrixTSym<Element> Apply(const TElementActionT<Element> &action)
TMatrixTBase<Element> &TMatrixTSym<Element> Apply(const TElementPosActionT<Element> &action)
 Apply action to each element of the matrix. To action the location
 of the current element is passed.
TMatrixTBase<Element> &TMatrixTSym<Element> Randomize(float alpha, float beta, Double_t& seed)
 randomize matrix element values but keep matrix symmetric
TMatrixTSym<Element> &TMatrixTSym<Element> RandomizePD(float alpha, float beta, Double_t& seed)
 randomize matrix element values but keep matrix symmetric positive definite
const TMatrixT<Element> TMatrixTSym<Element> EigenVectors(TVectorT<float>& eigenValues) const
 Return a matrix containing the eigen-vectors ordered by descending eigen-values.
 For full functionality use TMatrixDSymEigen .
void TMatrixTSym<Element> Streamer(TBuffer& b)
 Stream an object of class TMatrixTSym.
template <class Element> inline const Element *TMatrixTSym<Element> GetMatrixArray()
{ return fElements; }
template <class Element> inline Element *TMatrixTSym<Element> GetMatrixArray()
{ return fElements; }
template <class Element> inline TMatrixTSym<Element> &TMatrixTSym<Element> Use(Int_t nrows,Element *data)
{ return Use(0,nrows-1,data); }
template <class Element> inline const TMatrixTSym<Element> &TMatrixTSym<Element> Use(Int_t nrows,const Element *data)
{ return Use(0,nrows-1,data); }
template <class Element> inline TMatrixTSym<Element> &TMatrixTSym<Element> Use(TMatrixTSym<Element> &a)
{ return Use(a.GetRowLwb(),a.GetRowUpb(),a.GetMatrixArray()); }
template <class Element> inline const TMatrixTSym<Element> &TMatrixTSym<Element> Use(const TMatrixTSym<Element> &a)
{ return Use(a.GetRowLwb(),a.GetRowUpb(),a.GetMatrixArray()); }
template <class Element> inline TMatrixTSym<Element> TMatrixTSym<Element> GetSub(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Option_t* option = "S") const
template <class Element> inline Element TMatrixTSym<Element> operator()(Int_t rown,Int_t coln)
template <class Element> inline Element &TMatrixTSym<Element> operator()(Int_t rown,Int_t coln)
void Mult(const TMatrixTSym<float>& a)
{ TMult(a); }
const Int_t * GetRowIndexArray()
{ return 0; }
Int_t * GetRowIndexArray()
{ return 0; }
const Int_t * GetColIndexArray()
{ return 0; }
Int_t * GetColIndexArray()
{ return 0; }
TMatrixTBase<Element> & SetRowIndexArray(Int_t* )
{ MayNotUse("SetRowIndexArray(Int_t *)"); return *this; }
TMatrixTBase<Element> & SetColIndexArray(Int_t* )
{ MayNotUse("SetColIndexArray(Int_t *)"); return *this; }
void Clear(Option_t* = "")
Bool_t IsSymmetric() const
{ return kTRUE; }
TMatrixTSym <Element> & Use(Int_t row_lwb,Int_t row_upb,Element *data)
TMatrixTBase<Element> & ResizeTo(Int_t nrows, Int_t ncols, Int_t nr_nonzeros = -1)
const TMatrixTRow_const<Element> operator[](Int_t rown)
 or as a[i][j]
{ return TMatrixTRow_const<Element>(*this,rown); }
TMatrixTRow <Element> operator[](Int_t rown)
{ return TMatrixTRow <Element>(*this,rown); }