12 #ifndef ROOT_TDecompChol 13 #define ROOT_TDecompChol 21 #ifndef ROOT_TDecompBase 24 #ifndef ROOT_TMatrixDSym TVectorD NormalEqn(const TMatrixD &A, const TVectorD &b)
Solve min {(A .
virtual void Det(Double_t &d1, Double_t &d2)
Matrix determinant det = d1*TMath::Power(2.,d2) is square of diagProd of cholesky factor...
virtual TVectorD Solve(const TVectorD &b, Bool_t &ok)
Decomposition Base class.
double inv(double x)
For comparisons.
const TMatrixDSym GetMatrix()
Reconstruct the original matrix using the decomposition parts.
#define ClassDef(name, id)
virtual void SetMatrix(const TMatrixDSym &a)
Set the matrix to be decomposed, decomposition status is reset.
virtual const TMatrixDBase & GetDecompMatrix() const
virtual Int_t GetNcols() const
Cholesky Decomposition class.
virtual Bool_t Solve(TVectorD &b)
Solve equations Ax=b assuming A has been factored by Cholesky.
const TMatrixD & GetU() const
virtual TVectorD TransSolve(const TVectorD &b, Bool_t &ok)
virtual Int_t GetNrows() const
virtual Bool_t TransSolve(TMatrixDColumn &b)
virtual Bool_t Decompose()
Matrix A is decomposed in component U so that A = U^T * U If the decomposition succeeds, bit kDecomposed is set , otherwise kSingular.
TDecompChol & operator=(const TDecompChol &source)
Assignment operator.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
void Print(Option_t *opt="") const
Print class members .
virtual Bool_t TransSolve(TVectorD &b)