77   if (
a.GetNrows() != 
a.GetNcols() || 
a.GetRowLwb() != 
a.GetColLwb()) {
 
   78      Error(
"TDecompChol(const TMatrixD &",
"matrix should be square");
 
 
  111      Error(
"Decompose()",
"Matrix has not been set");
 
  128         Error(
"Decompose()",
"matrix not positive definite");
 
  137            for (i = 0; i < 
icol; i++) {
 
 
  164      Error(
"GetMatrix()",
"Matrix is singular");
 
  169         Error(
"GetMatrix()",
"Decomposition failed");
 
 
  185   if (
a.GetNrows() != 
a.GetNcols() || 
a.GetRowLwb() != 
a.GetColLwb()) {
 
  186      Error(
"SetMatrix(const TMatrixDSym &",
"matrix should be square");
 
 
  208      Error(
"Solve()",
"Matrix is singular");
 
  213         Error(
"Solve()",
"Decomposition failed");
 
  219      Error(
"Solve(TVectorD &",
"vector and matrix incompatible");
 
  230   for (i = 0; i < 
n; i++) {
 
  246   for (i = 
n-1; i >= 0; i--) {
 
 
  267      Error(
"Solve()",
"Matrix is singular");
 
  272         Error(
"Solve()",
"Decomposition failed");
 
  279      Error(
"Solve(TMatrixDColumn &cb",
"vector and matrix incompatible");
 
  291   for (i = 0; i < 
n; i++) {
 
  296         Error(
"Solve(TMatrixDColumn &cb)",
"u[%d,%d]=%.4e < %.4e",i,i,
pU[
off_i+i],
fTol);
 
  308   for (i = 
n-1; i >= 0; i--) {
 
 
  345      Error(
"Invert(TMatrixDSym &",
"Input matrix has wrong shape");
 
 
  423      ::Error(
"NormalEqn",
"vectors b and std are not compatible");
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
TVectorD NormalEqn(const TMatrixD &A, const TVectorD &b)
Solve min {(A .
 
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
 
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
 
TMatrixTSym< Double_t > TMatrixDSym
 
TMatrixTRow< Double_t > TMatrixDRow
 
TMatrixT< Double_t > TMatrixD
 
TVectorT< Double_t > TVectorD
 
Decomposition Base class.
 
virtual Bool_t MultiSolve(TMatrixD &B)
Solve set of equations with RHS in columns of B.
 
TDecompBase & operator=(const TDecompBase &source)
Assignment operator.
 
void Print(Option_t *opt="") const override
Print class members.
 
virtual void Det(Double_t &d1, Double_t &d2)
Matrix determinant det = d1*TMath::Power(2.,d2)
 
Cholesky Decomposition class.
 
void Print(Option_t *opt="") const override
Print class members .
 
Bool_t Decompose() override
Matrix A is decomposed in component U so that A = U^T * U If the decomposition succeeds,...
 
Int_t GetNrows() const override
 
virtual void SetMatrix(const TMatrixDSym &a)
Set the matrix to be decomposed, decomposition status is reset.
 
Bool_t Solve(TVectorD &b) override
Solve equations Ax=b assuming A has been factored by Cholesky.
 
TDecompChol & operator=(const TDecompChol &source)
Assignment operator.
 
const TMatrixDSym GetMatrix()
Reconstruct the original matrix using the decomposition parts.
 
void Det(Double_t &d1, Double_t &d2) override
Matrix determinant det = d1*TMath::Power(2.,d2) is square of diagProd of cholesky factor.
 
void Print(Option_t *name="") const override
Print the matrix as a table of elements.
 
const TMatrixTBase< Element > * GetMatrix() const
 
const Element * GetMatrixArray() const override
 
TMatrixTBase< Element > & ResizeTo(Int_t nrows, Int_t ncols, Int_t=-1) override
Set size of the matrix to nrows x ncols New dynamic elements are created, the overlapping part of the...
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
Double_t Sqrt(Double_t x)
Returns the square root of x.
 
Bool_t AreCompatible(const TMatrixTBase< Element1 > &m1, const TMatrixTBase< Element2 > &m2, Int_t verbose=0)
Check that matrice sm1 and m2 areboth valid and have identical shapes .
 
void inv(rsa_NUMBER *, rsa_NUMBER *, rsa_NUMBER *)