Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

TMatrixD Class Reference

#include <TMatrixD.h>

Inheritance diagram for TMatrixD:

Inheritance graph
[legend]
Collaboration diagram for TMatrixD:

Collaboration graph
[legend]
List of all members.

Public Types

enum  EMatrixCreatorsOp1 {
  kZero, kUnit, kTransposed, kInverted,
  kInvertedPosDef
}
enum  EMatrixCreatorsOp2 {
  kMult, kTransposeMult, kInvMult, kInvPosDefMult,
  kAtBA
}

Public Methods

 TMatrixD ()
 TMatrixD (Int_t nrows, Int_t ncols)
 TMatrixD (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb)
 TMatrixD (Int_t nrows, Int_t ncols, const Double_t *elements, Option_t *option="")
 TMatrixD (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, const Double_t *elements, Option_t *option="")
 TMatrixD (const TMatrixD &another)
 TMatrixD (EMatrixCreatorsOp1 op, const TMatrixD &prototype)
 TMatrixD (const TMatrixD &a, EMatrixCreatorsOp2 op, const TMatrixD &b)
 TMatrixD (const TLazyMatrixD &lazy_constructor)
virtual ~TMatrixD ()
void Draw (Option_t *option="")
void ResizeTo (Int_t nrows, Int_t ncols)
void ResizeTo (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb)
void ResizeTo (const TMatrixD &m)
Bool_t IsValid () const
Bool_t IsSymmetric () const
Int_t GetRowLwb () const
Int_t GetRowUpb () const
Int_t GetNrows () const
Int_t GetColLwb () const
Int_t GetColUpb () const
Int_t GetNcols () const
Int_t GetNoElements () const
const Double_t * GetElements () const
Double_t * GetElements ()
void GetElements (Double_t *elements, Option_t *option="") const
void SetElements (const Double_t *elements, Option_t *option="")
const Double_t & operator() (Int_t rown, Int_t coln) const
Double_t & operator() (Int_t rown, Int_t coln)
const TMatrixDRow operator[] (Int_t rown) const
TMatrixDRow operator[] (Int_t rown)
TMatrixD & operator= (const TMatrixD &source)
TMatrixD & operator= (const TLazyMatrixD &source)
TMatrixD & operator= (Double_t val)
TMatrixD & operator-= (Double_t val)
TMatrixD & operator+= (Double_t val)
TMatrixD & operator *= (Double_t val)
Bool_t operator== (Double_t val) const
Bool_t operator!= (Double_t val) const
Bool_t operator< (Double_t val) const
Bool_t operator<= (Double_t val) const
Bool_t operator> (Double_t val) const
Bool_t operator>= (Double_t val) const
TMatrixD & Zero ()
TMatrixD & Abs ()
TMatrixD & Sqr ()
TMatrixD & Sqrt ()
TMatrixD & Apply (const TElementActionD &action)
TMatrixD & Apply (const TElementPosActionD &action)
TMatrixD & Invert (Double_t *determ_ptr=0)
TMatrixD & InvertPosDef ()
const TMatrixD EigenVectors (TVectorD &eigenValues) const
TMatrixD & MakeSymmetric ()
TMatrixD & UnitMatrix ()
TMatrixD & operator *= (const TMatrixD &source)
TMatrixD & operator *= (const TMatrixDDiag &diag)
TMatrixD & operator/= (const TMatrixDDiag &diag)
TMatrixD & operator *= (const TMatrixDRow &row)
TMatrixD & operator/= (const TMatrixDRow &row)
TMatrixD & operator *= (const TMatrixDColumn &col)
TMatrixD & operator/= (const TMatrixDColumn &col)
void Mult (const TMatrixD &a, const TMatrixD &b)
Double_t RowNorm () const
Double_t NormInf () const
Double_t ColNorm () const
Double_t Norm1 () const
Double_t E2Norm () const
TMatrixD & NormByDiag (const TVectorD &v, Option_t *option="D")
TMatrixD & NormByColumn (const TVectorD &v, Option_t *option="D")
TMatrixD & NormByRow (const TVectorD &v, Option_t *option="D")
Double_t Determinant () const
void Print (Option_t *option="") const

Protected Methods

void Allocate (Int_t nrows, Int_t ncols, Int_t row_lwb=0, Int_t col_lwb=0)
 index[i] = &matrix(0,i) (col index)

void Invalidate ()
void Transpose (const TMatrixD &m)
void Invert (const TMatrixD &m)
void InvertPosDef (const TMatrixD &m)
void AMultB (const TMatrixD &a, const TMatrixD &b)
void AtMultB (const TMatrixD &a, const TMatrixD &b)

Static Protected Methods

Int_t Pdcholesky (const Double_t *a, Double_t *u, const Int_t n)
void MakeTridiagonal (TMatrixD &a, TVectorD &d, TVectorD &e)
void MakeEigenVectors (TVectorD &d, TVectorD &e, TMatrixD &z)
void EigenSort (TMatrixD &eigenVectors, TVectorD &eigenValues)

Protected Attributes

Int_t fNrows
Int_t fNcols
Int_t fNelems
Int_t fRowLwb
Int_t fColLwb
Double_t * fElements
Double_t ** fIndex

Friends

class TVectorD
class TMatrixDRow
class TMatrixDColumn
class TMatrixDDiag
class TMatrixDFlat
class TMatrixDPivoting
void MakeHaarMatrixD (TMatrixD &m)
void MakeHilbertMatrixD (TMatrixD &m)
TMatrixD & operator+= (TMatrixD &target, const TMatrixD &source)
TMatrixD & operator-= (TMatrixD &target, const TMatrixD &source)
TMatrixD & Add (TMatrixD &target, Double_t scalar, const TMatrixD &source)
TMatrixD & ElementMult (TMatrixD &target, const TMatrixD &source)
TMatrixD & ElementDiv (TMatrixD &target, const TMatrixD &source)
TMatrixD operator+ (const TMatrixD &source1, const TMatrixD &source2)
TMatrixD operator- (const TMatrixD &source1, const TMatrixD &source2)
TMatrixD operator * (const TMatrixD &source1, const TMatrixD &source2)
Bool_t operator== (const TMatrixD &im1, const TMatrixD &im2)
void Compare (const TMatrixD &im1, const TMatrixD &im2)
Bool_t AreCompatible (const TMatrixD &im1, const TMatrixD &im2)
Double_t E2Norm (const TMatrixD &m1, const TMatrixD &m2)

Member Enumeration Documentation

enum TMatrixD::EMatrixCreatorsOp1
 

Enumeration values:
kZero 
kUnit 
kTransposed 
kInverted 
kInvertedPosDef 

Definition at line 111 of file TMatrixD.h.

enum TMatrixD::EMatrixCreatorsOp2
 

Enumeration values:
kMult 
kTransposeMult 
kInvMult 
kInvPosDefMult 
kAtBA 

Definition at line 112 of file TMatrixD.h.


Constructor & Destructor Documentation

TMatrixD::TMatrixD  
 

Definition at line 114 of file TMatrixD.h.

References Invalidate().

TMatrixD::TMatrixD Int_t    nrows,
Int_t    ncols
 

Definition at line 243 of file TMatrixD.h.

References Allocate().

TMatrixD::TMatrixD Int_t    row_lwb,
Int_t    row_upb,
Int_t    col_lwb,
Int_t    col_upb
 

Definition at line 248 of file TMatrixD.h.

References Allocate().

TMatrixD::TMatrixD Int_t    nrows,
Int_t    ncols,
const Double_t *    elements,
Option_t *    option = ""
 

Definition at line 275 of file TMatrixD.h.

References Allocate(), and SetElements().

TMatrixD::TMatrixD Int_t    row_lwb,
Int_t    row_upb,
Int_t    col_lwb,
Int_t    col_upb,
const Double_t *    elements,
Option_t *    option = ""
 

Definition at line 287 of file TMatrixD.h.

References Allocate(), and SetElements().

TMatrixD::TMatrixD const TMatrixD &    another
 

Definition at line 372 of file TMatrixD.h.

References Allocate(), and TObject::Error().

TMatrixD::TMatrixD EMatrixCreatorsOp1    op,
const TMatrixD &    prototype
 

TMatrixD::TMatrixD const TMatrixD &    a,
EMatrixCreatorsOp2    op,
const TMatrixD &    b
 

TMatrixD::TMatrixD const TLazyMatrixD   lazy_constructor
 

Definition at line 316 of file TMatrixD.h.

References Allocate(), TLazyMatrixD::fColLwb, TLazyMatrixD::fColUpb, TLazyMatrixD::FillIn(), TLazyMatrixD::fRowLwb, and TLazyMatrixD::fRowUpb.

virtual TMatrixD::~TMatrixD   [virtual]
 


Member Function Documentation

void TMatrixD::Allocate Int_t    nrows,
Int_t    ncols,
Int_t    row_lwb = 0,
Int_t    col_lwb = 0
[protected]
 

index[i] = &matrix(0,i) (col index)

Referenced by TMatrixD().

void TMatrixD::Invalidate   [protected]
 

Definition at line 93 of file TMatrixD.h.

References fElements, fIndex, fNcols, fNelems, and fNrows.

Referenced by TMatrixD().

Int_t TMatrixD::Pdcholesky const Double_t *    a,
Double_t *    u,
const Int_t    n
[static, protected]
 

void TMatrixD::MakeTridiagonal TMatrixD &    a,
TVectorD   d,
TVectorD   e
[static, protected]
 

void TMatrixD::MakeEigenVectors TVectorD   d,
TVectorD   e,
TMatrixD &    z
[static, protected]
 

void TMatrixD::EigenSort TMatrixD &    eigenVectors,
TVectorD   eigenValues
[static, protected]
 

void TMatrixD::Transpose const TMatrixD &    m [protected]
 

void TMatrixD::Invert const TMatrixD &    m [protected]
 

void TMatrixD::InvertPosDef const TMatrixD &    m [protected]
 

void TMatrixD::AMultB const TMatrixD &    a,
const TMatrixD &    b
[protected]
 

void TMatrixD::AtMultB const TMatrixD &    a,
const TMatrixD &    b
[protected]
 

void TMatrixD::Draw Option_t *    option = "" [virtual]
 

Reimplemented from TObject.

void TMatrixD::ResizeTo Int_t    nrows,
Int_t    ncols
 

Referenced by ResizeTo().

void TMatrixD::ResizeTo Int_t    row_lwb,
Int_t    row_upb,
Int_t    col_lwb,
Int_t    col_upb
 

void TMatrixD::ResizeTo const TMatrixD &    m
 

Definition at line 381 of file TMatrixD.h.

References GetColLwb(), GetColUpb(), GetRowLwb(), GetRowUpb(), and ResizeTo().

Bool_t TMatrixD::IsValid   const
 

Definition at line 230 of file TMatrixD.h.

References fNrows.

Referenced by Apply(), AreCompatible(), GetElements(), operator=(), SetElements(), TMatrixDColumn::TMatrixDColumn(), TMatrixDRow::TMatrixDRow(), and Zero().

Bool_t TMatrixD::IsSymmetric   const
 

Int_t TMatrixD::GetRowLwb   const
 

Definition at line 135 of file TMatrixD.h.

References fRowLwb.

Referenced by operator=(), and ResizeTo().

Int_t TMatrixD::GetRowUpb   const
 

Definition at line 136 of file TMatrixD.h.

References fNrows, and fRowLwb.

Referenced by operator=(), and ResizeTo().

Int_t TMatrixD::GetNrows   const
 

Definition at line 137 of file TMatrixD.h.

References fNrows.

Int_t TMatrixD::GetColLwb   const
 

Definition at line 138 of file TMatrixD.h.

References fColLwb.

Referenced by operator=(), and ResizeTo().

Int_t TMatrixD::GetColUpb   const
 

Definition at line 139 of file TMatrixD.h.

References fColLwb, and fNcols.

Referenced by operator=(), and ResizeTo().

Int_t TMatrixD::GetNcols   const
 

Definition at line 140 of file TMatrixD.h.

References fNcols.

Int_t TMatrixD::GetNoElements   const
 

Definition at line 141 of file TMatrixD.h.

References fNelems.

const Double_t* TMatrixD::GetElements   const
 

Definition at line 142 of file TMatrixD.h.

References fElements.

Double_t* TMatrixD::GetElements  
 

Definition at line 143 of file TMatrixD.h.

References fElements.

void TMatrixD::GetElements Double_t *    elements,
Option_t *    option = ""
const
 

Definition at line 294 of file TMatrixD.h.

References TString::Contains(), TObject::Error(), fElements, fNcols, fNelems, fNrows, IsValid(), and TString::ToUpper().

void TMatrixD::SetElements const Double_t *    elements,
Option_t *    option = ""
 

Definition at line 253 of file TMatrixD.h.

References TString::Contains(), TObject::Error(), fElements, fNcols, fNelems, fNrows, IsValid(), and TString::ToUpper().

Referenced by TMatrixD().

const Double_t& TMatrixD::operator() Int_t    rown,
Int_t    coln
const
 

Double_t & TMatrixD::operator() Int_t    rown,
Int_t    coln
 

Definition at line 386 of file TMatrixD.h.

const TMatrixDRow TMatrixD::operator[] Int_t    rown const
 

TMatrixDRow TMatrixD::operator[] Int_t    rown
 

TMatrixD & TMatrixD::operator= const TMatrixD &    source
 

Definition at line 363 of file TMatrixD.h.

References AreCompatible, fElements, fNelems, and TObject::operator=().

TMatrixD & TMatrixD::operator= const TLazyMatrixD   source
 

Definition at line 324 of file TMatrixD.h.

References TObject::Error(), TLazyMatrixD::fColLwb, TLazyMatrixD::fColUpb, TLazyMatrixD::FillIn(), TLazyMatrixD::fRowLwb, TLazyMatrixD::fRowUpb, GetColLwb(), GetColUpb(), GetRowLwb(), GetRowUpb(), and IsValid().

TMatrixD& TMatrixD::operator= Double_t    val
 

TMatrixD& TMatrixD::operator-= Double_t    val
 

TMatrixD& TMatrixD::operator+= Double_t    val
 

TMatrixD& TMatrixD::operator *= Double_t    val
 

Bool_t TMatrixD::operator== Double_t    val const
 

Bool_t TMatrixD::operator!= Double_t    val const
 

Bool_t TMatrixD::operator< Double_t    val const
 

Bool_t TMatrixD::operator<= Double_t    val const
 

Bool_t TMatrixD::operator> Double_t    val const
 

Bool_t TMatrixD::operator>= Double_t    val const
 

TMatrixD & TMatrixD::Zero  
 

Definition at line 401 of file TMatrixD.h.

References TObject::Error(), fElements, fNelems, and IsValid().

TMatrixD& TMatrixD::Abs  
 

TMatrixD& TMatrixD::Sqr  
 

TMatrixD& TMatrixD::Sqrt  
 

TMatrixD & TMatrixD::Apply const TElementActionD   action
 

Definition at line 410 of file TMatrixD.h.

References TObject::Error(), fElements, fNelems, IsValid(), and TElementActionD::Operation().

TMatrixD & TMatrixD::Apply const TElementPosActionD   action
 

Definition at line 420 of file TMatrixD.h.

References Assert, TObject::Error(), fColLwb, fElements, TElementPosActionD::fI, TElementPosActionD::fJ, fNcols, fNelems, fNrows, fRowLwb, IsValid(), and TElementPosActionD::Operation().

TMatrixD& TMatrixD::Invert Double_t *    determ_ptr = 0
 

TMatrixD& TMatrixD::InvertPosDef  
 

const TMatrixD TMatrixD::EigenVectors TVectorD   eigenValues const
 

TMatrixD& TMatrixD::MakeSymmetric  
 

TMatrixD& TMatrixD::UnitMatrix  
 

TMatrixD& TMatrixD::operator *= const TMatrixD &    source
 

TMatrixD& TMatrixD::operator *= const TMatrixDDiag   diag
 

TMatrixD& TMatrixD::operator/= const TMatrixDDiag   diag
 

TMatrixD& TMatrixD::operator *= const TMatrixDRow   row
 

TMatrixD& TMatrixD::operator/= const TMatrixDRow   row
 

TMatrixD& TMatrixD::operator *= const TMatrixDColumn   col
 

TMatrixD& TMatrixD::operator/= const TMatrixDColumn   col
 

void TMatrixD::Mult const TMatrixD &    a,
const TMatrixD &    b
 

Double_t TMatrixD::RowNorm   const
 

Referenced by NormInf().

Double_t TMatrixD::NormInf   const
 

Definition at line 193 of file TMatrixD.h.

References RowNorm().

Double_t TMatrixD::ColNorm   const
 

Referenced by Norm1().

Double_t TMatrixD::Norm1   const
 

Definition at line 195 of file TMatrixD.h.

References ColNorm().

Double_t TMatrixD::E2Norm   const
 

TMatrixD& TMatrixD::NormByDiag const TVectorD   v,
Option_t *    option = "D"
 

TMatrixD& TMatrixD::NormByColumn const TVectorD   v,
Option_t *    option = "D"
 

TMatrixD& TMatrixD::NormByRow const TVectorD   v,
Option_t *    option = "D"
 

Double_t TMatrixD::Determinant   const
 

void TMatrixD::Print Option_t *    option = "" const [virtual]
 

Reimplemented from TObject.


Friends And Related Function Documentation

friend class TVectorD [friend]
 

Definition at line 76 of file TMatrixD.h.

friend class TMatrixDRow [friend]
 

Definition at line 77 of file TMatrixD.h.

friend class TMatrixDColumn [friend]
 

Definition at line 78 of file TMatrixD.h.

friend class TMatrixDDiag [friend]
 

Definition at line 79 of file TMatrixD.h.

friend class TMatrixDFlat [friend]
 

Definition at line 80 of file TMatrixD.h.

friend class TMatrixDPivoting [friend]
 

Definition at line 81 of file TMatrixD.h.

void MakeHaarMatrixD TMatrixD &    m [friend]
 

void MakeHilbertMatrixD TMatrixD &    m [friend]
 

TMatrixD& operator+= TMatrixD &    target,
const TMatrixD &    source
[friend]
 

TMatrixD& operator-= TMatrixD &    target,
const TMatrixD &    source
[friend]
 

TMatrixD& Add TMatrixD &    target,
Double_t    scalar,
const TMatrixD &    source
[friend]
 

TMatrixD& ElementMult TMatrixD &    target,
const TMatrixD &    source
[friend]
 

TMatrixD& ElementDiv TMatrixD &    target,
const TMatrixD &    source
[friend]
 

TMatrixD operator+ const TMatrixD &    source1,
const TMatrixD &    source2
[friend]
 

TMatrixD operator- const TMatrixD &    source1,
const TMatrixD &    source2
[friend]
 

TMatrixD operator * const TMatrixD &    source1,
const TMatrixD &    source2
[friend]
 

Bool_t operator== const TMatrixD &    im1,
const TMatrixD &    im2
[friend]
 

void Compare const TMatrixD &    im1,
const TMatrixD &    im2
[friend]
 

Bool_t AreCompatible const TMatrixD &    im1,
const TMatrixD &    im2
[friend]
 

Definition at line 343 of file TMatrixD.h.

Referenced by operator=().

Double_t E2Norm const TMatrixD &    m1,
const TMatrixD &    m2
[friend]
 


Member Data Documentation

Int_t TMatrixD::fNrows [protected]
 

Definition at line 84 of file TMatrixD.h.

Referenced by Apply(), AreCompatible(), GetElements(), GetNrows(), GetRowUpb(), Invalidate(), IsValid(), TMatrixDColumn::operator=(), SetElements(), and TMatrixDRow::TMatrixDRow().

Int_t TMatrixD::fNcols [protected]
 

Definition at line 85 of file TMatrixD.h.

Referenced by Apply(), AreCompatible(), GetColUpb(), GetElements(), GetNcols(), Invalidate(), SetElements(), and TMatrixDColumn::TMatrixDColumn().

Int_t TMatrixD::fNelems [protected]
 

Definition at line 86 of file TMatrixD.h.

Referenced by Apply(), GetElements(), GetNoElements(), Invalidate(), TMatrixDFlat::operator=(), TMatrixDRow::operator=(), operator=(), SetElements(), and Zero().

Int_t TMatrixD::fRowLwb [protected]
 

Definition at line 87 of file TMatrixD.h.

Referenced by Apply(), AreCompatible(), GetRowLwb(), GetRowUpb(), and TMatrixDRow::TMatrixDRow().

Int_t TMatrixD::fColLwb [protected]
 

Definition at line 88 of file TMatrixD.h.

Referenced by Apply(), AreCompatible(), GetColLwb(), GetColUpb(), and TMatrixDColumn::TMatrixDColumn().

Double_t* TMatrixD::fElements [protected]
 

Definition at line 89 of file TMatrixD.h.

Referenced by Apply(), GetElements(), Invalidate(), operator=(), SetElements(), and Zero().

Double_t** TMatrixD::fIndex [protected]
 

Definition at line 90 of file TMatrixD.h.

Referenced by Invalidate(), TMatrixDColumn::TMatrixDColumn(), and TMatrixDRow::TMatrixDRow().


The documentation for this class was generated from the following file:
Generated on Thu Dec 18 15:04:27 2003 for ROOT by doxygen1.2.16