12 #ifndef ROOT_TDecompBase 13 #define ROOT_TDecompBase
virtual Bool_t MultiSolve(TMatrixD &B)
Solve set of equations with RHS in columns of B.
virtual Bool_t TransSolve(TVectorD &b)=0
Int_t Hager(Double_t &est, Int_t iter=5)
virtual Bool_t Decompose()=0
Decomposition Base class.
TDecompBase()
Default constructor.
virtual const TMatrixDBase & GetDecompMatrix() const =0
Bool_t DefHouseHolder(const TVectorD &vc, Int_t lp, Int_t l, Double_t &up, Double_t &b, Double_t tol=0.0)
Define a Householder-transformation through the parameters up and b .
Double_t SetTol(Double_t tol)
#define ClassDef(name, id)
TDecompBase & operator=(const TDecompBase &source)
Assignment operator.
void ApplyGivens(Double_t &z1, Double_t &z2, Double_t c, Double_t s)
Apply a Givens transformation as defined by c and s to the vector components v1 and v2 ...
static void DiagProd(const TVectorD &diag, Double_t tol, Double_t &d1, Double_t &d2)
void ApplyHouseHolder(const TVectorD &vc, Double_t up, Double_t b, Int_t lp, Int_t l, TMatrixDRow &cr)
Apply Householder-transformation.
virtual Int_t GetNcols() const =0
void DefGivens(Double_t v1, Double_t v2, Double_t &c, Double_t &s)
Defines a Givens-rotation by calculating 2 rotation parameters c and s.
virtual Bool_t Solve(TVectorD &b)=0
void Print(Option_t *opt="") const
Print class members.
virtual Int_t GetNrows() const =0
static constexpr double s
virtual void Det(Double_t &d1, Double_t &d2)
Matrix determinant det = d1*TMath::Power(2.,d2)
Mother of all ROOT objects.
void DefAplGivens(Double_t &v1, Double_t &v2, Double_t &c, Double_t &s)
Define and apply a Givens-rotation by calculating 2 rotation parameters c and s.
virtual Double_t Condition()
Matrix condition number.
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
Double_t GetCondition() const