12 #ifndef ROOT_TDecompBK 13 #define ROOT_TDecompBK 21 #ifndef ROOT_TDecompBase 24 #ifndef ROOT_TMatrixDSym 65 {
MayNotUse(
"Det(Double_t&,Double_t&)"); }
virtual Bool_t TransSolve(TMatrixDColumn &b)
virtual Bool_t Solve(TVectorD &b)
Solve Ax=b assuming the BK form of A is stored in fU . Solution returned in b.
Bool_t TestBit(UInt_t f) const
Decomposition Base class.
double inv(double x)
For comparisons.
virtual Int_t GetNcols() const
The Bunch-Kaufman diagonal pivoting method decomposes a real symmetric matrix A using.
#define ClassDef(name, id)
void MayNotUse(const char *method) const
Use this method to signal that a method (defined in a base class) may not be called in a derived clas...
virtual TVectorD TransSolve(const TVectorD &b, Bool_t &ok)
TDecompBK & operator=(const TDecompBK &source)
Assignment operator.
virtual void Det(Double_t &, Double_t &)
Matrix determinant det = d1*TMath::Power(2.,d2)
TDecompBK()
Default constructor.
virtual void SetMatrix(const TMatrixDSym &a)
Set the matrix to be decomposed, decomposition status is reset.
virtual Int_t GetNrows() const
virtual Bool_t TransSolve(TVectorD &b)
virtual const TMatrixDBase & GetDecompMatrix() const
virtual TVectorD Solve(const TVectorD &b, Bool_t &ok)
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
virtual Bool_t Decompose()
Matrix A is decomposed in components U and D so that A = U*D*U^T If the decomposition succeeds...
void Print(Option_t *opt="") const
Print the class members.