library: libMatrix
#include "TDecompChol.h"

TDecompChol


class description - 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() const 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)

TDecompChol(Int_t row_lwb,Int_t row_upb)

TDecompChol(const TMatrixDSym &a,Double_t tol)

TDecompChol(const TMatrixD &a,Double_t tol)

TDecompChol(const TDecompChol &another) : TDecompBase(another)

Bool_t Decompose()

const TMatrixDSym GetMatrix()
 Reconstruct the original matrix using the decomposition parts

void SetMatrix(const TMatrixDSym &a)

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)

void Det(Double_t &d1,Double_t &d2)
 determinant 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) const



Inline Functions


                       void ~TDecompChol()
        const TMatrixDBase& GetDecompMatrix() const
                TDecompChol TDecompChol(const TDecompChol& another)
                      Int_t GetNrows() const
                      Int_t GetNcols() const
            const TMatrixD& GetU() const
                     Bool_t Solve(TMatrixDColumn& b)
                     Bool_t TransSolve(TVectorD& b)
                   TVectorD TransSolve(const TVectorD& b, Bool_t& ok)
                     Bool_t TransSolve(TMatrixDColumn& b)
               TDecompChol& operator=(const TDecompChol& source)
                    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: TDecompChol.cxx,v 1.17 2005/09/03 13:12:35 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.