TDecompSVD Class Reference

#include <TDecompSVD.h>

Inheritance diagram for TDecompSVD:

TDecompBase TDecompBase TObject TObject TObject TObject List of all members.

Public Types

enum  
enum  

Public Member Functions

 TDecompSVD ()
 TDecompSVD (Int_t nrows, Int_t ncols)
 TDecompSVD (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb)
 TDecompSVD (const TMatrixD &m, Double_t tol=0.0)
 TDecompSVD (const TDecompSVD &another)
virtual ~TDecompSVD ()
const TMatrixD GetMatrix ()
virtual Int_t GetNrows () const
virtual Int_t GetNcols () const
const TMatrixDGetU ()
const TMatrixDGetV ()
const TVectorDGetSig ()
virtual void SetMatrix (const TMatrixD &a)
virtual Bool_t Decompose ()
virtual Bool_t Solve (TVectorD &b)
virtual TVectorD Solve (const TVectorD &b, Bool_t &ok)
virtual Bool_t Solve (TMatrixDColumn &b)
virtual Bool_t TransSolve (TVectorD &b)
virtual TVectorD TransSolve (const TVectorD &b, Bool_t &ok)
virtual Bool_t TransSolve (TMatrixDColumn &b)
virtual Double_t Condition ()
virtual void Det (Double_t &d1, Double_t &d2)
Bool_t Invert (TMatrixD &inv)
TMatrixD Invert (Bool_t &status)
TMatrixD Invert ()
void Print (Option_t *opt="") const
TDecompSVDoperator= (const TDecompSVD &source)
 TDecompSVD ()
 TDecompSVD (Int_t nrows, Int_t ncols)
 TDecompSVD (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb)
 TDecompSVD (const TMatrixD &m, Double_t tol=0.0)
 TDecompSVD (const TDecompSVD &another)
virtual ~TDecompSVD ()
const TMatrixD GetMatrix ()
virtual Int_t GetNrows () const
virtual Int_t GetNcols () const
const TMatrixDGetU ()
const TMatrixDGetV ()
const TVectorDGetSig ()
virtual void SetMatrix (const TMatrixD &a)
virtual Bool_t Decompose ()
virtual Bool_t Solve (TVectorD &b)
virtual TVectorD Solve (const TVectorD &b, Bool_t &ok)
virtual Bool_t Solve (TMatrixDColumn &b)
virtual Bool_t TransSolve (TVectorD &b)
virtual TVectorD TransSolve (const TVectorD &b, Bool_t &ok)
virtual Bool_t TransSolve (TMatrixDColumn &b)
virtual Double_t Condition ()
virtual void Det (Double_t &d1, Double_t &d2)
Bool_t Invert (TMatrixD &inv)
TMatrixD Invert (Bool_t &status)
TMatrixD Invert ()
void Print (Option_t *opt="") const
TDecompSVDoperator= (const TDecompSVD &source)

Protected Member Functions

virtual const TMatrixDBaseGetDecompMatrix () const
virtual const TMatrixDBaseGetDecompMatrix () const

Static Protected Member Functions

static Bool_t Bidiagonalize (TMatrixD &v, TMatrixD &u, TVectorD &sDiag, TVectorD &oDiag)
static Bool_t Diagonalize (TMatrixD &v, TMatrixD &u, TVectorD &sDiag, TVectorD &oDiag)
static void Diag_1 (TMatrixD &v, TVectorD &sDiag, TVectorD &oDiag, Int_t k)
static void Diag_2 (TVectorD &sDiag, TVectorD &oDiag, Int_t k, Int_t l)
static void Diag_3 (TMatrixD &v, TMatrixD &u, TVectorD &sDiag, TVectorD &oDiag, Int_t k, Int_t l)
static void SortSingular (TMatrixD &v, TMatrixD &u, TVectorD &sDiag)
static Bool_t Bidiagonalize (TMatrixD &v, TMatrixD &u, TVectorD &sDiag, TVectorD &oDiag)
static Bool_t Diagonalize (TMatrixD &v, TMatrixD &u, TVectorD &sDiag, TVectorD &oDiag)
static void Diag_1 (TMatrixD &v, TVectorD &sDiag, TVectorD &oDiag, Int_t k)
static void Diag_2 (TVectorD &sDiag, TVectorD &oDiag, Int_t k, Int_t l)
static void Diag_3 (TMatrixD &v, TMatrixD &u, TVectorD &sDiag, TVectorD &oDiag, Int_t k, Int_t l)
static void SortSingular (TMatrixD &v, TMatrixD &u, TVectorD &sDiag)

Protected Attributes

TMatrixD fU
TMatrixD fV
TVectorD fSig

Detailed Description

Definition at line 25 of file TDecompSVD.h.


Member Enumeration Documentation

anonymous enum

Definition at line 45 of file TDecompSVD.h.

anonymous enum

Definition at line 45 of file TDecompSVD.h.


Constructor & Destructor Documentation

TDecompSVD::TDecompSVD (  )  [inline]

Definition at line 47 of file TDecompSVD.h.

TDecompSVD::TDecompSVD ( Int_t  nrows,
Int_t  ncols 
)

TDecompSVD::TDecompSVD ( Int_t  row_lwb,
Int_t  row_upb,
Int_t  col_lwb,
Int_t  col_upb 
)

Definition at line 62 of file TDecompSVD.cxx.

References TObject::Error(), TDecompBase::fColLwb, TDecompBase::fRowLwb, fSig, fU, fV, nrows, TMatrixT< Element >::ResizeTo(), and TVectorT< Element >::ResizeTo().

TDecompSVD::TDecompSVD ( const TMatrixD m,
Double_t  tol = 0.0 
)

Definition at line 81 of file TDecompSVD.cxx.

References a, TObject::Error(), TDecompBase::fColLwb, TDecompBase::fRowLwb, fSig, TDecompBase::fTol, fU, fV, TMatrixT< Element >::GetMatrixArray(), TDecompBase::kMatrixSet, R__ASSERT, TMatrixT< Element >::ResizeTo(), TVectorT< Element >::ResizeTo(), TObject::SetBit(), and TMatrixTBase< Element >::UnitMatrix().

TDecompSVD::TDecompSVD ( const TDecompSVD another  ) 

Definition at line 110 of file TDecompSVD.cxx.

virtual TDecompSVD::~TDecompSVD (  )  [inline, virtual]

Definition at line 52 of file TDecompSVD.h.

TDecompSVD::TDecompSVD (  )  [inline]

Definition at line 47 of file TDecompSVD.h.

TDecompSVD::TDecompSVD ( Int_t  nrows,
Int_t  ncols 
)

TDecompSVD::TDecompSVD ( Int_t  row_lwb,
Int_t  row_upb,
Int_t  col_lwb,
Int_t  col_upb 
)

TDecompSVD::TDecompSVD ( const TMatrixD m,
Double_t  tol = 0.0 
)

TDecompSVD::TDecompSVD ( const TDecompSVD another  ) 

virtual TDecompSVD::~TDecompSVD (  )  [inline, virtual]

Definition at line 52 of file TDecompSVD.h.


Member Function Documentation

Bool_t TDecompSVD::Bidiagonalize ( TMatrixD v,
TMatrixD u,
TVectorD sDiag,
TVectorD oDiag 
) [static, protected]

Definition at line 158 of file TDecompSVD.cxx.

References ApplyHouseHolder(), ROOT::Math::Cephes::beta(), DefHouseHolder(), i, j, k, kTRUE, and u.

Referenced by Decompose().

Bool_t TDecompSVD::Diagonalize ( TMatrixD v,
TMatrixD u,
TVectorD sDiag,
TVectorD oDiag 
) [static, protected]

Definition at line 276 of file TDecompSVD.cxx.

References TMath::Abs(), Diag_1(), Diag_2(), Diag_3(), RootCsg::epsilon, TObject::Error(), i, k, kFALSE, kTRUE, l, TMath::Max(), ok, and u.

Referenced by Decompose().

void TDecompSVD::Diag_1 ( TMatrixD v,
TVectorD sDiag,
TVectorD oDiag,
Int_t  k 
) [static, protected]

Definition at line 366 of file TDecompSVD.cxx.

References ApplyGivens(), DefAplGivens(), h, i, and j.

Referenced by Diagonalize().

void TDecompSVD::Diag_2 ( TVectorD sDiag,
TVectorD oDiag,
Int_t  k,
Int_t  l 
) [static, protected]

Definition at line 390 of file TDecompSVD.cxx.

References ApplyGivens(), DefAplGivens(), h, and i.

Referenced by Diagonalize().

void TDecompSVD::Diag_3 ( TMatrixD v,
TMatrixD u,
TVectorD sDiag,
TVectorD oDiag,
Int_t  k,
Int_t  l 
) [static, protected]

Definition at line 408 of file TDecompSVD.cxx.

References ApplyGivens(), b, c, DefAplGivens(), DefGivens(), g, TVectorT< Element >::GetMatrixArray(), h, TMath::Hypot(), i, j, TMath::Sqrt(), t, and u.

Referenced by Diagonalize().

void TDecompSVD::SortSingular ( TMatrixD v,
TMatrixD u,
TVectorD sDiag 
) [static, protected]

Definition at line 482 of file TDecompSVD.cxx.

References TVectorT< Element >::GetMatrixArray(), i, j, k, kFALSE, kTRUE, t, and u.

Referenced by Decompose().

virtual const TMatrixDBase& TDecompSVD::GetDecompMatrix (  )  const [inline, protected, virtual]

Implements TDecompBase.

Definition at line 41 of file TDecompSVD.h.

References fU.

const TMatrixD TDecompSVD::GetMatrix (  ) 

Definition at line 549 of file TDecompSVD.cxx.

References Decompose(), diag, TObject::Error(), fSig, fU, fV, TDecompBase::GetColLwb(), TMatrixTBase< Element >::GetNcols(), TMatrixTBase< Element >::GetNrows(), TDecompBase::kDecomposed, TDecompBase::kSingular, TMatrixT< Element >::kTransposed, s, and TObject::TestBit().

virtual Int_t TDecompSVD::GetNrows (  )  const [inline, virtual]

Implements TDecompBase.

Definition at line 55 of file TDecompSVD.h.

References fU, and TMatrixTBase< Element >::GetNrows().

Referenced by Invert().

virtual Int_t TDecompSVD::GetNcols (  )  const [inline, virtual]

Implements TDecompBase.

Definition at line 56 of file TDecompSVD.h.

References fV, and TMatrixTBase< Element >::GetNcols().

Referenced by Condition(), Decompose(), Invert(), Solve(), and TransSolve().

const TMatrixD& TDecompSVD::GetU (  )  [inline]

Definition at line 57 of file TDecompSVD.h.

References Decompose(), fU, TDecompBase::kDecomposed, and TObject::TestBit().

Referenced by TMVA::LDA::Initialize(), test_svd_expansion(), and TSVDUnfold::Unfold().

const TMatrixD& TDecompSVD::GetV (  )  [inline]

Definition at line 59 of file TDecompSVD.h.

References Decompose(), fV, TDecompBase::kDecomposed, and TObject::TestBit().

Referenced by TMVA::LDA::Initialize(), test_svd_expansion(), and TSVDUnfold::Unfold().

const TVectorD& TDecompSVD::GetSig (  )  [inline]

Definition at line 61 of file TDecompSVD.h.

References Decompose(), fSig, TDecompBase::kDecomposed, and TObject::TestBit().

Referenced by astress_eigen(), TMVA::LDA::Initialize(), test_svd_expansion(), and TSVDUnfold::Unfold().

void TDecompSVD::SetMatrix ( const TMatrixD a  )  [virtual]

Definition at line 574 of file TDecompSVD.cxx.

References a, TObject::Error(), TDecompBase::fColLwb, TDecompBase::fCondition, TDecompBase::fRowLwb, fSig, fU, fV, TMatrixT< Element >::GetMatrixArray(), TDecompBase::kMatrixSet, R__ASSERT, TDecompBase::ResetStatus(), TMatrixT< Element >::ResizeTo(), TVectorT< Element >::ResizeTo(), TObject::SetBit(), and TMatrixTBase< Element >::UnitMatrix().

Bool_t TDecompSVD::Decompose (  )  [virtual]

Implements TDecompBase.

Definition at line 118 of file TDecompSVD.cxx.

References Bidiagonalize(), Diagonalize(), TObject::Error(), fSig, fU, fV, TDecompBase::GetColLwb(), GetNcols(), TDecompBase::GetRowLwb(), TDecompBase::kDecomposed, kFALSE, TDecompBase::kMatrixSet, kTRUE, kWorkMax, TMatrixT< Element >::ResizeTo(), TVectorT< Element >::ResizeTo(), TObject::SetBit(), TMatrixTBase< Element >::Shift(), TVectorT< Element >::Shift(), SortSingular(), TObject::TestBit(), TMatrixT< Element >::Transpose(), and TVectorT< Element >::Use().

Referenced by Condition(), Det(), GetMatrix(), GetSig(), GetU(), GetV(), TMVA::LDA::Initialize(), Solve(), and TransSolve().

Bool_t TDecompSVD::Solve ( TVectorD b  )  [virtual]

Implements TDecompBase.

Definition at line 603 of file TDecompSVD.cxx.

References b, Decompose(), TObject::Error(), fSig, TDecompBase::fTol, fU, fV, TMatrixTBase< Element >::GetColLwb(), TMatrixTBase< Element >::GetNcols(), TMatrixTBase< Element >::GetNrows(), TMatrixTBase< Element >::GetRowLwb(), TDecompBase::kDecomposed, kFALSE, TDecompBase::kSingular, kTRUE, R__ASSERT, and TObject::TestBit().

Referenced by astress_decomp_io(), astress_lineqn(), Solve(), and solveLinear().

virtual TVectorD TDecompSVD::Solve ( const TVectorD b,
Bool_t ok 
) [inline, virtual]

Implements TDecompBase.

Definition at line 68 of file TDecompSVD.h.

References b, GetNcols(), TDecompBase::GetRowLwb(), Solve(), and x.

Bool_t TDecompSVD::Solve ( TMatrixDColumn b  )  [virtual]

Implements TDecompBase.

Definition at line 657 of file TDecompSVD.cxx.

References b, Decompose(), TObject::Error(), fSig, TDecompBase::fTol, fU, fV, TMatrixTBase< Element >::GetColLwb(), TMatrixTBase< Element >::GetNcols(), TMatrixTBase< Element >::GetNrows(), TMatrixTBase< Element >::GetRowLwb(), TDecompBase::kDecomposed, kFALSE, TDecompBase::kSingular, kTRUE, R__ASSERT, TVectorT< Element >::SetSub(), and TObject::TestBit().

Bool_t TDecompSVD::TransSolve ( TVectorD b  )  [virtual]

Implements TDecompBase.

Definition at line 715 of file TDecompSVD.cxx.

References b, Decompose(), TObject::Error(), fSig, TDecompBase::fTol, fU, fV, TMatrixTBase< Element >::GetColLwb(), TMatrixTBase< Element >::GetNcols(), TMatrixTBase< Element >::GetNrows(), TMatrixTBase< Element >::GetRowLwb(), i, TDecompBase::kDecomposed, kFALSE, TDecompBase::kSingular, kTRUE, R__ASSERT, and TObject::TestBit().

Referenced by astress_decomp_io(), astress_lineqn(), and TransSolve().

virtual TVectorD TDecompSVD::TransSolve ( const TVectorD b,
Bool_t ok 
) [inline, virtual]

Implements TDecompBase.

Definition at line 74 of file TDecompSVD.h.

References b, GetNcols(), TDecompBase::GetRowLwb(), TransSolve(), and x.

Bool_t TDecompSVD::TransSolve ( TMatrixDColumn b  )  [virtual]

Implements TDecompBase.

Definition at line 764 of file TDecompSVD.cxx.

References b, Decompose(), TObject::Error(), fSig, TDecompBase::fTol, fU, fV, TMatrixTBase< Element >::GetColLwb(), TMatrixTBase< Element >::GetNcols(), TMatrixTBase< Element >::GetNrows(), TMatrixTBase< Element >::GetRowLwb(), i, TDecompBase::kDecomposed, kFALSE, TDecompBase::kSingular, kTRUE, R__ASSERT, and TObject::TestBit().

Double_t TDecompSVD::Condition (  )  [virtual]

Reimplemented from TDecompBase.

Definition at line 815 of file TDecompSVD.cxx.

References Decompose(), TDecompBase::fCondition, fSig, TDecompBase::GetColLwb(), GetNcols(), TDecompBase::kCondition, TDecompBase::kDecomposed, TDecompBase::kSingular, max, min, TObject::SetBit(), and TObject::TestBit().

Referenced by astress_pseudo().

void TDecompSVD::Det ( Double_t d1,
Double_t d2 
) [virtual]

Reimplemented from TDecompBase.

Definition at line 838 of file TDecompSVD.cxx.

References Decompose(), TDecompBase::DiagProd(), TDecompBase::fDet1, TDecompBase::fDet2, fSig, TDecompBase::fTol, TDecompBase::kDecomposed, TDecompBase::kDetermined, TDecompBase::kSingular, TObject::SetBit(), and TObject::TestBit().

Referenced by invertMatrix(), mstress_determinant(), and stress_determinant().

Bool_t TDecompSVD::Invert ( TMatrixD inv  ) 

Definition at line 858 of file TDecompSVD.cxx.

References TObject::Error(), TDecompBase::GetColLwb(), GetNrows(), TDecompBase::GetRowLwb(), inv(), kFALSE, and TDecompBase::MultiSolve().

Referenced by astress_pseudo(), invertMatrix(), mstress_inversion(), and solveLinear().

TMatrixD TDecompSVD::Invert ( Bool_t status  ) 

Definition at line 882 of file TDecompSVD.cxx.

References TDecompBase::GetColLwb(), GetNcols(), GetNrows(), TDecompBase::GetRowLwb(), inv(), and TDecompBase::MultiSolve().

TMatrixD TDecompSVD::Invert (  )  [inline]

Definition at line 84 of file TDecompSVD.h.

Referenced by Invert().

void TDecompSVD::Print ( Option_t opt = ""  )  const [virtual]

Reimplemented from TDecompBase.

Definition at line 899 of file TDecompSVD.cxx.

References fSig, fU, fV, TMatrixTBase< Element >::Print(), TDecompBase::Print(), and TVectorT< Element >::Print().

TDecompSVD & TDecompSVD::operator= ( const TDecompSVD source  ) 

Definition at line 910 of file TDecompSVD.cxx.

References fSig, fU, fV, TDecompBase::operator=(), TMatrixT< Element >::ResizeTo(), and TVectorT< Element >::ResizeTo().

static Bool_t TDecompSVD::Bidiagonalize ( TMatrixD v,
TMatrixD u,
TVectorD sDiag,
TVectorD oDiag 
) [static, protected]

static Bool_t TDecompSVD::Diagonalize ( TMatrixD v,
TMatrixD u,
TVectorD sDiag,
TVectorD oDiag 
) [static, protected]

static void TDecompSVD::Diag_1 ( TMatrixD v,
TVectorD sDiag,
TVectorD oDiag,
Int_t  k 
) [static, protected]

static void TDecompSVD::Diag_2 ( TVectorD sDiag,
TVectorD oDiag,
Int_t  k,
Int_t  l 
) [static, protected]

static void TDecompSVD::Diag_3 ( TMatrixD v,
TMatrixD u,
TVectorD sDiag,
TVectorD oDiag,
Int_t  k,
Int_t  l 
) [static, protected]

static void TDecompSVD::SortSingular ( TMatrixD v,
TMatrixD u,
TVectorD sDiag 
) [static, protected]

virtual const TMatrixDBase& TDecompSVD::GetDecompMatrix (  )  const [inline, protected, virtual]

Implements TDecompBase.

Definition at line 41 of file TDecompSVD.h.

References fU.

const TMatrixD TDecompSVD::GetMatrix (  ) 

virtual Int_t TDecompSVD::GetNrows (  )  const [inline, virtual]

Implements TDecompBase.

Definition at line 55 of file TDecompSVD.h.

References fU, and TMatrixTBase< Element >::GetNrows().

virtual Int_t TDecompSVD::GetNcols (  )  const [inline, virtual]

Implements TDecompBase.

Definition at line 56 of file TDecompSVD.h.

References fV, and TMatrixTBase< Element >::GetNcols().

const TMatrixD& TDecompSVD::GetU (  )  [inline]

Definition at line 57 of file TDecompSVD.h.

References Decompose(), fU, TDecompBase::kDecomposed, and TObject::TestBit().

const TMatrixD& TDecompSVD::GetV (  )  [inline]

Definition at line 59 of file TDecompSVD.h.

References Decompose(), fV, TDecompBase::kDecomposed, and TObject::TestBit().

const TVectorD& TDecompSVD::GetSig (  )  [inline]

Definition at line 61 of file TDecompSVD.h.

References Decompose(), fSig, TDecompBase::kDecomposed, and TObject::TestBit().

virtual void TDecompSVD::SetMatrix ( const TMatrixD a  )  [virtual]

virtual Bool_t TDecompSVD::Decompose (  )  [virtual]

Implements TDecompBase.

virtual Bool_t TDecompSVD::Solve ( TVectorD b  )  [virtual]

Implements TDecompBase.

virtual TVectorD TDecompSVD::Solve ( const TVectorD b,
Bool_t ok 
) [inline, virtual]

Implements TDecompBase.

Definition at line 68 of file TDecompSVD.h.

References b, GetNcols(), TDecompBase::GetRowLwb(), Solve(), and x.

virtual Bool_t TDecompSVD::Solve ( TMatrixDColumn b  )  [virtual]

Implements TDecompBase.

virtual Bool_t TDecompSVD::TransSolve ( TVectorD b  )  [virtual]

Implements TDecompBase.

virtual TVectorD TDecompSVD::TransSolve ( const TVectorD b,
Bool_t ok 
) [inline, virtual]

Implements TDecompBase.

Definition at line 74 of file TDecompSVD.h.

References b, GetNcols(), TDecompBase::GetRowLwb(), TransSolve(), and x.

virtual Bool_t TDecompSVD::TransSolve ( TMatrixDColumn b  )  [virtual]

Implements TDecompBase.

virtual Double_t TDecompSVD::Condition (  )  [virtual]

Reimplemented from TDecompBase.

virtual void TDecompSVD::Det ( Double_t d1,
Double_t d2 
) [virtual]

Reimplemented from TDecompBase.

Bool_t TDecompSVD::Invert ( TMatrixD inv  ) 

TMatrixD TDecompSVD::Invert ( Bool_t status  ) 

TMatrixD TDecompSVD::Invert (  )  [inline]

Definition at line 84 of file TDecompSVD.h.

References Invert().

void TDecompSVD::Print ( Option_t opt = ""  )  const [virtual]

Reimplemented from TDecompBase.

TDecompSVD& TDecompSVD::operator= ( const TDecompSVD source  ) 


Member Data Documentation

TMatrixD TDecompSVD::fU [protected]

Definition at line 30 of file TDecompSVD.h.

Referenced by Decompose(), GetDecompMatrix(), GetMatrix(), GetNrows(), GetU(), operator=(), Print(), SetMatrix(), Solve(), TDecompSVD(), and TransSolve().

TMatrixD TDecompSVD::fV [protected]

Definition at line 31 of file TDecompSVD.h.

Referenced by Decompose(), GetMatrix(), GetNcols(), GetV(), operator=(), Print(), SetMatrix(), Solve(), TDecompSVD(), and TransSolve().

TVectorD TDecompSVD::fSig [protected]

Definition at line 32 of file TDecompSVD.h.

Referenced by Condition(), Decompose(), Det(), GetMatrix(), GetSig(), operator=(), Print(), SetMatrix(), Solve(), TDecompSVD(), and TransSolve().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:36:02 2011 for ROOT_528-00b_version by  doxygen 1.5.1