library: libMatrix #include "TDecompChol.h" |
TDecompChol
class description - source file - inheritance tree (.pdf)
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)
protected:
TMatrixD fU decomposed matrix fU so that a = fU^T fU
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.