TMatrixTSym
class description - source file - inheritance tree (.pdf)
protected:
void 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)
void AMultA(const TMatrixTSym<double>& a, Int_t constr = 1)
void AtMultA(const TMatrixT<double>& a, Int_t constr = 1)
void AtMultA(const TMatrixTSym<double>& a, Int_t constr = 1)
void Delete_m(Int_t size, double*&)
Int_t Memcpy_m(double* newp, const double* oldp, Int_t copySize, Int_t newSize, Int_t oldSize)
double* New_m(Int_t size)
public:
TMatrixTSym<double>()
TMatrixTSym<double>(Int_t nrows)
TMatrixTSym<double>(Int_t row_lwb, Int_t row_upb)
TMatrixTSym<double>(Int_t nrows, const double* data, Option_t* option = "")
TMatrixTSym<double>(Int_t row_lwb, Int_t row_upb, const double* data, Option_t* option = "")
TMatrixTSym<double>(const TMatrixTSym<double>& another)
TMatrixTSym<double>(TMatrixTSym<double>::EMatrixCreatorsOp1 op, const TMatrixTSym<double>& prototype)
TMatrixTSym<double>(TMatrixTSym<double>::EMatrixCreatorsOp1 op, const TMatrixT<double>& prototype)
TMatrixTSym<double>(const TMatrixTSym<double>& a, TMatrixTSym<double>::EMatrixCreatorsOp2 op, const TMatrixTSym<double>& b)
TMatrixTSym<double>(const TMatrixTSymLazy<double>& lazy_constructor)
TMatrixTSym<double> GetSub(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Option_t* option = "S") const
virtual ~TMatrixTSym<double>()
virtual TMatrixTBase<double>& Apply(const TElementActionT<double>& action)
virtual TMatrixTBase<double>& Apply(const TElementPosActionT<double>& action)
static TClass* Class()
virtual void Clear(Option_t* = "")
virtual Double_t Determinant() const
virtual void Determinant(Double_t& d1, Double_t& d2) const
const TMatrixT<double> EigenVectors(TVectorT<double>& eigenValues) const
virtual const Int_t* GetColIndexArray() const
virtual Int_t* GetColIndexArray()
virtual const double* GetMatrixArray() const
virtual double* GetMatrixArray()
virtual const Int_t* GetRowIndexArray() const
virtual Int_t* GetRowIndexArray()
TMatrixTSym<double>& GetSub(Int_t row_lwb, Int_t row_upb, TMatrixTSym<double>& target, Option_t* option = "S") const
virtual TMatrixTBase<double>& GetSub(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, TMatrixTBase<double>& target, Option_t* option = "S") const
TMatrixTSym<double>& Invert(Double_t* det = 0)
TMatrixTSym<double>& InvertFast(Double_t* det = 0)
virtual TClass* IsA() const
virtual Bool_t IsSymmetric() const
virtual double operator()(Int_t rown, Int_t coln) const
virtual double& operator()(Int_t rown, Int_t coln)
TMatrixTSym<double>& operator*=(double val)
TMatrixTSym<double>& operator+=(double val)
TMatrixTSym<double>& operator+=(const TMatrixTSym<double>& source)
TMatrixTSym<double>& operator-=(double val)
TMatrixTSym<double>& operator-=(const TMatrixTSym<double>& source)
TMatrixTSym<double>& operator=(const TMatrixTSym<double>& source)
TMatrixTSym<double>& operator=(const TMatrixTSymLazy<double>& source)
TMatrixTSym<double>& operator=(double val)
const TMatrixTRow_const<double> operator[](Int_t rown) const
TMatrixTRow<double> operator[](Int_t rown)
virtual TMatrixTBase<double>& Randomize(double alpha, double beta, Double_t& seed)
virtual TMatrixTSym<double>& RandomizePD(double alpha, double beta, Double_t& seed)
TMatrixTSym<double>& Rank1Update(const TVectorT<double>& v, double alpha = 1.0)
virtual TMatrixTBase<double>& ResizeTo(Int_t nrows, Int_t ncols, Int_t nr_nonzeros = -1)
virtual TMatrixTBase<double>& ResizeTo(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros = -1)
TMatrixTBase<double>& ResizeTo(const TMatrixTSym<double>& m)
virtual TMatrixTBase<double>& SetColIndexArray(Int_t*)
virtual TMatrixTBase<double>& SetMatrixArray(const double* data, Option_t* option = "")
virtual TMatrixTBase<double>& SetRowIndexArray(Int_t*)
TMatrixTSym<double>& SetSub(Int_t row_lwb, const TMatrixTBase<double>& source)
virtual TMatrixTBase<double>& SetSub(Int_t row_lwb, Int_t col_lwb, const TMatrixTBase<double>& source)
virtual TMatrixTBase<double>& Shift(Int_t row_shift, Int_t col_shift)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
TMatrixTSym<double>& Similarity(const TMatrixT<double>& n)
TMatrixTSym<double>& Similarity(const TMatrixTSym<double>& n)
double Similarity(const TVectorT<double>& v)
TMatrixTSym<double>& SimilarityT(const TMatrixT<double>& n)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TMatrixTSym<double>& T()
TMatrixTSym<double>& Transpose(const TMatrixTSym<double>& source)
TMatrixTSym<double>& Use(Int_t nrows, double* data)
TMatrixTSym<double>& Use(Int_t row_lwb, Int_t row_upb, double* data)
TMatrixTSym<double>& Use(TMatrixTSym<double>& a)
protected:
double fDataStack[25] ! data container
double* fElements [fNelems] elements themselves
public:
static const TMatrixTSym<double>::EMatrixCreatorsOp1 kZero
static const TMatrixTSym<double>::EMatrixCreatorsOp1 kUnit
static const TMatrixTSym<double>::EMatrixCreatorsOp1 kTransposed
static const TMatrixTSym<double>::EMatrixCreatorsOp1 kInverted
static const TMatrixTSym<double>::EMatrixCreatorsOp1 kAtA
static const TMatrixTSym<double>::EMatrixCreatorsOp2 kPlus
static const TMatrixTSym<double>::EMatrixCreatorsOp2 kMinus
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 .
Inline Functions
void ~TMatrixTSym()
double* New_m(Int_t size)
void Delete_m(Int_t size, double*&)
Int_t Memcpy_m(double* newp, const double* oldp, Int_t copySize, Int_t newSize, Int_t oldSize)
void 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)
void AtMultA(const TMatrixT<double>& a, Int_t constr = 1)
void AtMultA(const TMatrixTSym<double>& a, Int_t constr = 1)
void AMultA(const TMatrixTSym<double>& a, Int_t constr = 1)
TMatrixTSym<double> TMatrixTSym()
TMatrixTSym<double> TMatrixTSym(Int_t nrows)
TMatrixTSym<double> TMatrixTSym(Int_t row_lwb, Int_t row_upb)
TMatrixTSym<double> TMatrixTSym(Int_t nrows, const double* data, Option_t* option = "")
TMatrixTSym<double> TMatrixTSym(Int_t row_lwb, Int_t row_upb, const double* data, Option_t* option = "")
TMatrixTSym<double> TMatrixTSym(const TMatrixTSym<double>& another)
TMatrixTSym<double> TMatrixTSym(TMatrixTSym<double>::EMatrixCreatorsOp1 op, const TMatrixTSym<double>& prototype)
TMatrixTSym<double> TMatrixTSym(TMatrixTSym<double>::EMatrixCreatorsOp1 op, const TMatrixT<double>& prototype)
TMatrixTSym<double> TMatrixTSym(const TMatrixTSym<double>& a, TMatrixTSym<double>::EMatrixCreatorsOp2 op, const TMatrixTSym<double>& b)
TMatrixTSym<double> TMatrixTSym(const TMatrixTSymLazy<double>& lazy_constructor)
const double* GetMatrixArray() const
double* GetMatrixArray()
const Int_t* GetRowIndexArray() const
Int_t* GetRowIndexArray()
const Int_t* GetColIndexArray() const
Int_t* GetColIndexArray()
TMatrixTBase<double>& SetRowIndexArray(Int_t*)
TMatrixTBase<double>& SetColIndexArray(Int_t*)
void Clear(Option_t* = "")
Bool_t IsSymmetric() const
TMatrixTSym<double>& Use(Int_t nrows, double* data)
TMatrixTSym<double>& Use(Int_t row_lwb, Int_t row_upb, double* data)
TMatrixTSym<double>& Use(TMatrixTSym<double>& a)
TMatrixTSym<double>& GetSub(Int_t row_lwb, Int_t row_upb, TMatrixTSym<double>& target, Option_t* option = "S") const
TMatrixTBase<double>& GetSub(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, TMatrixTBase<double>& target, Option_t* option = "S") const
TMatrixTSym<double> GetSub(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Option_t* option = "S") const
TMatrixTSym<double>& SetSub(Int_t row_lwb, const TMatrixTBase<double>& source)
TMatrixTBase<double>& SetSub(Int_t row_lwb, Int_t col_lwb, const TMatrixTBase<double>& source)
TMatrixTBase<double>& SetMatrixArray(const double* data, Option_t* option = "")
TMatrixTBase<double>& Shift(Int_t row_shift, Int_t col_shift)
TMatrixTBase<double>& ResizeTo(Int_t nrows, Int_t ncols, Int_t nr_nonzeros = -1)
TMatrixTBase<double>& ResizeTo(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros = -1)
TMatrixTBase<double>& ResizeTo(const TMatrixTSym<double>& m)
Double_t Determinant() const
void Determinant(Double_t& d1, Double_t& d2) const
TMatrixTSym<double>& Invert(Double_t* det = 0)
TMatrixTSym<double>& InvertFast(Double_t* det = 0)
TMatrixTSym<double>& Transpose(const TMatrixTSym<double>& source)
TMatrixTSym<double>& T()
TMatrixTSym<double>& Rank1Update(const TVectorT<double>& v, double alpha = 1.0)
TMatrixTSym<double>& Similarity(const TMatrixT<double>& n)
TMatrixTSym<double>& Similarity(const TMatrixTSym<double>& n)
double Similarity(const TVectorT<double>& v)
TMatrixTSym<double>& SimilarityT(const TMatrixT<double>& n)
double operator()(Int_t rown, Int_t coln) const
double& operator()(Int_t rown, Int_t coln)
const TMatrixTRow_const<double> operator[](Int_t rown) const
TMatrixTRow<double> operator[](Int_t rown)
TMatrixTSym<double>& operator=(const TMatrixTSym<double>& source)
TMatrixTSym<double>& operator=(const TMatrixTSymLazy<double>& source)
TMatrixTSym<double>& operator=(double val)
TMatrixTSym<double>& operator-=(double val)
TMatrixTSym<double>& operator+=(double val)
TMatrixTSym<double>& operator*=(double val)
TMatrixTSym<double>& operator+=(const TMatrixTSym<double>& source)
TMatrixTSym<double>& operator-=(const TMatrixTSym<double>& source)
TMatrixTBase<double>& Apply(const TElementActionT<double>& action)
TMatrixTBase<double>& Apply(const TElementPosActionT<double>& action)
TMatrixTBase<double>& Randomize(double alpha, double beta, Double_t& seed)
TMatrixTSym<double>& RandomizePD(double alpha, double beta, Double_t& seed)
const TMatrixT<double> EigenVectors(TVectorT<double>& eigenValues) const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Last update: root/matrix:$Name: $:$Id: TMatrixTSym.cxx,v 1.4 2006/01/25 18:49:03 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.