library: libMatrix
#include "TDecompChol.h"

TDecompChol


class description - header file - source file - inheritance tree (.pdf)

class TDecompChol : public TDecompBase

Inheritance Chart:
TObject
<-
TDecompBase
<-
TDecompChol

    protected:
virtual const TMatrixDBase& GetDecompMatrix() const public:
TDecompChol() TDecompChol(Int_t nrows) TDecompChol(Int_t row_lwb, Int_t row_upb) TDecompChol(const TMatrixDSym& a, Double_t tol = 0.0) TDecompChol(const TMatrixD& a, Double_t tol = 0.0) TDecompChol(const TDecompChol& another) virtual ~TDecompChol() static TClass* Class() virtual Bool_t Decompose() virtual void Det(Double_t& d1, Double_t& d2) const TMatrixDSym GetMatrix() virtual Int_t GetNcols() const virtual Int_t GetNrows() const const TMatrixD& GetU() const void Invert(TMatrixDSym& inv) TMatrixDSym Invert() virtual TClass* IsA() const TDecompChol& operator=(const TDecompChol& source) virtual void Print(Option_t* opt = "") const virtual void SetMatrix(const TMatrixDSym& a) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual Bool_t Solve(TVectorD& b) virtual TVectorD Solve(const TVectorD& b, Bool_t& ok) virtual Bool_t Solve(TMatrixDColumn& b) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual Bool_t TransSolve(TVectorD& b) virtual TVectorD TransSolve(const TVectorD& b, Bool_t& ok) virtual Bool_t TransSolve(TMatrixDColumn& b)

Data Members


    protected:
TMatrixD fU decomposed matrix fU so that a = fU^T fU

Class Description

                                                                       
 Cholesky Decomposition class                                          
                                                                       
 Decompose a symmetric, positive definite matrix A = U^T * U           
                                                                       
 where U is a upper triangular matrix                                  
                                                                       
 The decomposition fails if a diagonal element of fU is <= 0, the      
 matrix is not positive negative . The matrix fU is made invalid .     
                                                                       
 fU has the same index range as A .                                    
                                                                       

TDecompChol(Int_t nrows)
 Constructor for (nrows x nrows) matrix
TDecompChol(Int_t row_lwb,Int_t row_upb)
 Constructor for ([row_lwb..row_upb] x [row_lwb..row_upb]) matrix
TDecompChol(const TMatrixDSym &a,Double_t tol)
 Constructor for symmetric matrix A . Matrix should be positive definite
TDecompChol(const TMatrixD &a,Double_t tol)
 Constructor for general matrix A . Matrix should be symmetric positive definite
TDecompChol(const TDecompChol &another)
 Copy constructor
Bool_t Decompose()
 Matrix A is decomposed in component U so that A = U^T*U^T
 If the decomposition succeeds, bit kDecomposed is set , otherwise kSingular
const TMatrixDSym GetMatrix()
 Reconstruct the original matrix using the decomposition parts
void SetMatrix(const TMatrixDSym &a)
 Set the matrix to be decomposed, decomposition status is reset.
Bool_t Solve(TVectorD &b)
 Solve equations Ax=b assuming A has been factored by Cholesky. The factor U is
 assumed to be in upper triang of fU. fTol is used to determine if diagonal
 element is zero. The solution is returned in b.
Bool_t Solve(TMatrixDColumn &cb)
 Solve equations Ax=b assuming A has been factored by Cholesky. The factor U is
 assumed to be in upper triang of fU. fTol is used to determine if diagonal
 element is zero. The solution is returned in b.
void Det(Double_t &d1,Double_t &d2)
 Matrix determinant det = d1*TMath::Power(2.,d2) is square of diagProd
 of cholesky factor
void Invert(TMatrixDSym &inv)
 For a symmetric matrix A(m,m), its inverse A_inv(m,m) is returned .
TMatrixDSym Invert()
 For a symmetric matrix A(m,m), its inverse A_inv(m,m) is returned .
void Print(Option_t *opt)
 Print class members .
TDecompChol & operator=(const TDecompChol &source)
 Assignment operator
TDecompChol()
virtual ~TDecompChol()

Last update: root/matrix:$Name: $:$Id: TDecompChol.cxx,v 1.22 2006/06/02 05:11:20 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.