12#ifndef ROOT_TMatrixTBase 
   13#define ROOT_TMatrixTBase 
   78template<
class Element> 
class TVectorT;
 
  173   virtual Element 
RowNorm    () 
const;
 
  174   virtual Element 
ColNorm    () 
const;
 
  175   virtual Element 
E2Norm     () 
const;
 
  179   virtual Element 
Sum        () 
const;
 
  180   virtual Element 
Min        () 
const;
 
  181   virtual Element 
Max        () 
const;
 
  221   const Element  
oldTol = fTol;
 
 
 
  231template<
class Element1,
class Element2>
 
 
#define ClassDefOverride(name, id)
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Bool_t operator==(const TDatime &d1, const TDatime &d2)
 
Int_t Compare(const void *item1, const void *item2)
 
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 Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t target
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
 
R__EXTERN Int_t gMatrixCheck
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
virtual Element Sum() const
Compute sum of elements.
 
virtual Element RowNorm() const
Row matrix norm, MAX{ SUM{ |M(i,j)|, over j}, over i}.
 
virtual Int_t * GetColIndexArray()=0
 
virtual Element ColNorm() const
Column matrix norm, MAX{ SUM{ |M(i,j)|, over i}, over j}.
 
virtual TMatrixTBase< Element > & Randomize(Element alpha, Element beta, Double_t &seed)
Randomize matrix element values.
 
virtual Int_t * GetRowIndexArray()=0
 
virtual TMatrixTBase< Element > & Sqr()
Square each element of the matrix.
 
virtual const Element * GetMatrixArray() const =0
 
virtual void Determinant(Double_t &d1, Double_t &d2) const
 
virtual TMatrixTBase< Element > & UnitMatrix()
Make a unit matrix (matrix need not be a square one).
 
Bool_t operator!=(Element val) const
Are all matrix elements not equal to val?
 
virtual TMatrixTBase< Element > & SetColIndexArray(Int_t *data)=0
 
virtual const Int_t * GetRowIndexArray() const =0
 
virtual TMatrixTBase< Element > & Zero()
Set matrix elements to zero.
 
virtual TMatrixTBase< Element > & GetSub(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, TMatrixTBase< Element > &target, Option_t *option="S") const =0
 
void Print(Option_t *name="") const override
Print the matrix as a table of elements.
 
virtual Int_t NonZeros() const
Compute the number of elements != 0.0.
 
virtual Double_t Determinant() const
 
virtual const Int_t * GetColIndexArray() const =0
 
virtual Element E2Norm() const
Square of the Euclidean norm, SUM{ m(i,j)^2 }.
 
virtual TMatrixTBase< Element > & Apply(const TElementActionT< Element > &action)
Apply action to each matrix element.
 
virtual TMatrixTBase< Element > & ResizeTo(Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros=-1)=0
 
virtual TMatrixTBase< Element > & ResizeTo(Int_t nrows, Int_t ncols, Int_t nr_nonzeros=-1)=0
 
virtual Element Min() const
return minimum matrix element value
 
virtual Element * GetMatrixArray()=0
 
virtual Element Max() const
return maximum vector element value
 
virtual void GetMatrix2Array(Element *data, Option_t *option="") const
Copy matrix data to array .
 
Int_t GetNoElements() const
 
Bool_t operator<(Element val) const
Are all matrix elements < val?
 
virtual TMatrixTBase< Element > & InsertRow(Int_t row, Int_t col, const Element *v, Int_t n=-1)
Copy n elements from array v to row rown starting at column coln.
 
static Element & NaNValue()
 
static void DoubleLexSort(Int_t n, Int_t *first, Int_t *second, Element *data)
default kTRUE, when Use array kFALSE
 
virtual TMatrixTBase< Element > & SetSub(Int_t row_lwb, Int_t col_lwb, const TMatrixTBase< Element > &source)=0
 
Bool_t operator>(Element val) const
Are all matrix elements > val?
 
virtual Element operator()(Int_t rown, Int_t coln) const =0
 
virtual TMatrixTBase< Element > & SetRowIndexArray(Int_t *data)=0
 
virtual TMatrixTBase< Element > & Sqrt()
Take square root of all elements.
 
Bool_t operator==(Element val) const
Are all matrix elements equal to val?
 
virtual Element & operator()(Int_t rown, Int_t coln)=0
 
void Clear(Option_t *option="") override=0
 
virtual TMatrixTBase< Element > & Abs()
Take an absolute value of a matrix, i.e. apply Abs() to each element.
 
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.
 
static void IndexedLexSort(Int_t n, Int_t *first, Int_t swapFirst, Int_t *second, Int_t swapSecond, Int_t *index)
Lexical sort on array data using indices first and second.
 
Bool_t operator<=(Element val) const
Are all matrix elements <= val?
 
Element SetTol(Element tol)
 
virtual Bool_t IsSymmetric() const
Check whether matrix is symmetric.
 
virtual TMatrixTBase< Element > & SetMatrixArray(const Element *data, Option_t *option="")
Copy array data to matrix .
 
Bool_t operator>=(Element val) const
Are all matrix elements >= val?
 
virtual void ExtractRow(Int_t row, Int_t col, Element *v, Int_t n=-1) const
Store in array v, n matrix elements of row rown starting at column coln.
 
virtual TMatrixTBase< Element > & NormByDiag(const TVectorT< Element > &v, Option_t *option="D")
option:
 
Mother of all ROOT objects.
 
void AbstractMethod(const char *method) const
Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
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.
 
Bool_t VerifyMatrixIdentity(const TMatrixTBase< Element > &m1, const TMatrixTBase< Element > &m2, Int_t verbose, Element maxDevAllow)
Verify that elements of the two matrices are equal within MaxDevAllow .
 
Bool_t VerifyMatrixValue(const TMatrixTBase< Element > &m, Element val, Int_t verbose, Element maxDevAllow)
Validate that all elements of matrix have value val within maxDevAllow.
 
Element E2Norm(const TMatrixTBase< Element > &m1, const TMatrixTBase< Element > &m2)
Square of the Euclidean norm of the difference between two matrices.
 
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 .