58      Error(
"TDecompQRH(Int_t,Int_t",
"matrix rows should be >= columns");
 
 
   82      Error(
"TDecompQRH(Int_t,Int_t,Int_t,Int_t",
"matrix rows should be >= columns");
 
 
  106   if (
a.GetNrows() < 
a.GetNcols()) {
 
  107      Error(
"TDecompQRH(const TMatrixD &",
"matrix rows should be >= columns");
 
 
  155      Error(
"Decompose()",
"Matrix has not been set");
 
 
  196   for (
Int_t k = 0 ; k < 
n ; k++) {
 
 
  227   if (
a.GetNrows() < 
a.GetNcols()) {
 
  228      Error(
"TDecompQRH(const TMatrixD &",
"matrix rows should be >= columns");
 
 
  260      Error(
"Solve()",
"Matrix is singular");
 
  265         Error(
"Solve()",
"Decomposition failed");
 
  271      Error(
"Solve(TVectorD &",
"vector and matrix incompatible");
 
  280   for (
Int_t k = 0; k < 
nQ; k++) {
 
 
  316      Error(
"Solve()",
"Matrix is singular");
 
  321         Error(
"Solve()",
"Decomposition failed");
 
  328      Error(
"Solve(TMatrixDColumn &",
"vector and matrix incompatible");
 
  337   for (
Int_t k = 0; k < 
nQ; k++) {
 
  357         Error(
"Solve(TMatrixDColumn &)",
"R[%d,%d]=%.4e < %.4e",i,i,
pR[
off_i+i],
fTol);
 
 
  374      Error(
"TransSolve()",
"Matrix is singular");
 
  379         Error(
"TransSolve()",
"Decomposition failed");
 
  385      Error(
"TransSolve(TVectorD &",
"matrix should be square");
 
  390      Error(
"TransSolve(TVectorD &",
"vector and matrix incompatible");
 
  409         Error(
"TransSolve(TVectorD &)",
"R[%d,%d]=%.4e < %.4e",i,i,
pR[
off_i+i],
fTol);
 
 
  435      Error(
"TransSolve()",
"Matrix is singular");
 
  440         Error(
"TransSolve()",
"Decomposition failed");
 
  446      Error(
"TransSolve(TMatrixDColumn &",
"matrix should be square");
 
  451      Error(
"TransSolve(TMatrixDColumn &",
"vector and matrix incompatible");
 
  472         Error(
"TransSolve(TMatrixDColumn &)",
"R[%d,%d]=%.4e < %.4e",i,i,
pR[
off_i+i],
fTol);
 
 
  526   for (
int i = 0; i < 
nCol; ++i)
 
  531   for (
int j = 0; 
j < 
nCol; ++
j) {
 
 
  551      Error(
"Invert(TMatrixD &",
"Input matrix has wrong shape");
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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 .
void ApplyHouseHolder(const TVectorD &vc, Double_t up, Double_t b, Int_t lp, Int_t l, TMatrixDRow &cr)
Apply Householder-transformation.
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
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
TMatrixTColumn_const< Double_t > TMatrixDColumn_const
TMatrixTColumn< Double_t > TMatrixDColumn
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)
virtual void SetMatrix(const TMatrixD &a)
Set matrix to be decomposed.
Bool_t Solve(TVectorD &b) override
Solve Ax=b assuming the QR form of A is stored in fR,fQ and fW, but assume b has not been transformed...
Int_t GetNrows() const override
void Print(Option_t *opt="") const override
Print the class members.
void Det(Double_t &d1, Double_t &d2) override
This routine calculates the absolute (!) value of the determinant |det| = d1*TMath::Power(2....
TDecompQRH & operator=(const TDecompQRH &source)
Assignment operator.
TMatrixD GetOrthogonalMatrix() const
For a matrix A(m,n), return the OtrhogonalMatrix Q such as A = Q * R.
static Bool_t QRH(TMatrixD &q, TVectorD &diagR, TVectorD &up, TVectorD &w, Double_t tol)
Decomposition function .
Bool_t Decompose() override
QR decomposition of matrix a by Householder transformations, see Golub & Loan first edition p41 & Sec...
Int_t GetNcols() const override
Bool_t TransSolve(TVectorD &b) override
Solve A^T x=b assuming the QR form of A is stored in fR,fQ and fW, but assume b has not been transfor...
void Print(Option_t *name="") const override
Print the matrix as a table of elements.
virtual TMatrixTBase< Element > & Shift(Int_t row_shift, Int_t col_shift)
Shift the row index by adding row_shift and the column index by adding col_shift, respectively.
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.
TVectorT< Element > & ResizeTo(Int_t lwb, Int_t upb)
Resize the vector to [lwb:upb] .
void Print(Option_t *option="") const override
Print the vector as a list of elements.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
void inv(rsa_NUMBER *, rsa_NUMBER *, rsa_NUMBER *)