ROOT
6.06/09
Reference Guide
|
Definition at line 24 of file TMatrixDSparsefwd.h.
Public Types | |
enum | EMatrixCreatorsOp1 { kZero, kUnit, kTransposed, kAtA } |
enum | EMatrixCreatorsOp2 { kMult, kMultTranspose, kPlus, kMinus } |
Public Types inherited from TObject | |
enum | EStatusBits { kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4), kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13) } |
enum | { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) } |
Public Member Functions | |
TMatrixTSparse () | |
TMatrixTSparse (Int_t nrows, Int_t ncols) | |
TMatrixTSparse (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb) | |
Space is allocated for row/column indices and data, but the sparse structure information has still to be set ! More... | |
TMatrixTSparse (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros, Int_t *row, Int_t *col, Element *data) | |
Space is allocated for row/column indices and data. More... | |
TMatrixTSparse (const TMatrixTSparse< Element > &another) | |
TMatrixTSparse (const TMatrixT< Element > &another) | |
TMatrixTSparse (EMatrixCreatorsOp1 op, const TMatrixTSparse< Element > &prototype) | |
Create a matrix applying a specific operation to the prototype. More... | |
TMatrixTSparse (const TMatrixTSparse< Element > &a, EMatrixCreatorsOp2 op, const TMatrixTSparse< Element > &b) | |
Create a matrix applying a specific operation to two prototypes. More... | |
TMatrixTSparse (const TMatrixTSparse< Element > &a, EMatrixCreatorsOp2 op, const TMatrixT< Element > &b) | |
Create a matrix applying a specific operation to two prototypes. More... | |
TMatrixTSparse (const TMatrixT< Element > &a, EMatrixCreatorsOp2 op, const TMatrixTSparse< Element > &b) | |
Create a matrix applying a specific operation to two prototypes. More... | |
virtual | ~TMatrixTSparse () |
virtual const Element * | GetMatrixArray () const |
virtual Element * | GetMatrixArray () |
virtual const Int_t * | GetRowIndexArray () const |
virtual Int_t * | GetRowIndexArray () |
virtual const Int_t * | GetColIndexArray () const |
virtual Int_t * | GetColIndexArray () |
virtual TMatrixTBase< Element > & | SetRowIndexArray (Int_t *data) |
virtual TMatrixTBase< Element > & | SetColIndexArray (Int_t *data) |
TMatrixTSparse< Element > & | SetSparseIndex (Int_t nelem_new) |
Increase/decrease the number of non-zero elements to nelems_new. More... | |
TMatrixTSparse< Element > & | SetSparseIndex (const TMatrixTBase< Element > &another) |
Use non-zero data of matrix source to set the sparse structure. More... | |
TMatrixTSparse< Element > & | SetSparseIndexAB (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b) |
Set the row/column indices to the "sum" of matrices a and b It is checked that enough space has been allocated. More... | |
TMatrixTSparse< Element > & | SetSparseIndexAB (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b) |
Set the row/column indices to the "sum" of matrices a and b It is checked that enough space has been allocated. More... | |
TMatrixTSparse< Element > & | SetSparseIndexAB (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b) |
virtual void | GetMatrix2Array (Element *data, Option_t *="") const |
Copy matrix data to array . It is assumed that array is of size >= fNelems. More... | |
virtual TMatrixTBase< Element > & | SetMatrixArray (const Element *data, Option_t *="") |
Copy array data to matrix . More... | |
virtual TMatrixTBase< Element > & | SetMatrixArray (Int_t nr_nonzeros, Int_t *irow, Int_t *icol, Element *data) |
Copy nr elements from row/col index and data array to matrix . More... | |
virtual TMatrixTBase< Element > & | InsertRow (Int_t row, Int_t col, const Element *v, Int_t n=-1) |
Insert in row rown, n elements of array v at column coln. More... | |
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. More... | |
virtual TMatrixTBase< Element > & | ResizeTo (Int_t nrows, Int_t ncols, Int_t nr_nonzeros=-1) |
Set size of the matrix to nrows x ncols with nr_nonzeros non-zero entries if nr_nonzeros > 0 . More... | |
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) |
Set size of the matrix to [row_lwb:row_upb] x [col_lwb:col_upb] with nr_nonzeros non-zero entries if nr_nonzeros > 0 . More... | |
TMatrixTBase< Element > & | ResizeTo (const TMatrixTSparse< Element > &m) |
virtual void | Clear (Option_t *="") |
TMatrixTSparse< Element > & | Use (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros, Int_t *pRowIndex, Int_t *pColIndex, Element *pData) |
const TMatrixTSparse< Element > & | Use (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Int_t nr_nonzeros, const Int_t *pRowIndex, const Int_t *pColIndex, const Element *pData) const |
TMatrixTSparse< Element > & | Use (Int_t nrows, Int_t ncols, Int_t nr_nonzeros, Int_t *pRowIndex, Int_t *pColIndex, Element *pData) |
const TMatrixTSparse< Element > & | Use (Int_t nrows, Int_t ncols, Int_t nr_nonzeros, const Int_t *pRowIndex, const Int_t *pColIndex, const Element *pData) const |
TMatrixTSparse< Element > & | Use (TMatrixTSparse< Element > &a) |
const TMatrixTSparse< Element > & | Use (const TMatrixTSparse< Element > &a) const |
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 |
Get submatrix [row_lwb..row_upb][col_lwb..col_upb]; The indexing range of the returned matrix depends on the argument option: More... | |
TMatrixTSparse< Element > | GetSub (Int_t row_lwb, Int_t row_upb, Int_t col_lwb, Int_t col_upb, Option_t *option="S") const |
virtual TMatrixTBase< Element > & | SetSub (Int_t row_lwb, Int_t col_lwb, const TMatrixTBase< Element > &source) |
Insert matrix source starting at [row_lwb][col_lwb], thereby overwriting the part [row_lwb..row_lwb+nrows_source-1][col_lwb..col_lwb+ncols_source-1];. More... | |
virtual Bool_t | IsSymmetric () const |
Check whether matrix is symmetric. More... | |
TMatrixTSparse< Element > & | Transpose (const TMatrixTSparse< Element > &source) |
Transpose a matrix. More... | |
TMatrixTSparse< Element > & | T () |
void | Mult (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b) |
virtual TMatrixTBase< Element > & | Zero () |
Set matrix elements to zero. More... | |
virtual TMatrixTBase< Element > & | UnitMatrix () |
Make a unit matrix (matrix need not be a square one). More... | |
virtual Element | RowNorm () const |
Row matrix norm, MAX{ SUM{ |M(i,j)|, over j}, over i}. More... | |
virtual Element | ColNorm () const |
Column matrix norm, MAX{ SUM{ |M(i,j)|, over i}, over j}. More... | |
virtual Int_t | NonZeros () const |
Compute the number of elements != 0.0. More... | |
virtual TMatrixTBase< Element > & | NormByDiag (const TVectorT< Element > &, Option_t *) |
option: "D" : b(i,j) = a(i,j)/sqrt(abs*(v(i)*v(j))) (default) else : b(i,j) = a(i,j)*sqrt(abs*(v(i)*v(j))) (default) More... | |
Element | operator() (Int_t rown, Int_t coln) const |
Element & | operator() (Int_t rown, Int_t coln) |
const TMatrixTSparseRow_const< Element > | operator[] (Int_t rown) const |
TMatrixTSparseRow< Element > | operator[] (Int_t rown) |
TMatrixTSparse< Element > & | operator= (const TMatrixT< Element > &source) |
Notice that the sparsity of the matrix is NOT changed : its fRowIndex/fColIndex are used ! More... | |
TMatrixTSparse< Element > & | operator= (const TMatrixTSparse< Element > &source) |
Notice that the sparsity of the matrix is NOT changed : its fRowIndex/fColIndex are used ! More... | |
TMatrixTSparse< Element > & | operator= (Element val) |
Assign val to every element of the matrix. More... | |
TMatrixTSparse< Element > & | operator-= (Element val) |
Subtract val from every element of the matrix. More... | |
TMatrixTSparse< Element > & | operator+= (Element val) |
Add val to every element of the matrix. More... | |
TMatrixTSparse< Element > & | operator*= (Element val) |
Multiply every element of the matrix with val. More... | |
TMatrixTSparse< Element > & | operator+= (const TMatrixTSparse< Element > &source) |
TMatrixTSparse< Element > & | operator+= (const TMatrixT< Element > &source) |
TMatrixTSparse< Element > & | operator-= (const TMatrixTSparse< Element > &source) |
TMatrixTSparse< Element > & | operator-= (const TMatrixT< Element > &source) |
TMatrixTSparse< Element > & | operator*= (const TMatrixTSparse< Element > &source) |
TMatrixTSparse< Element > & | operator*= (const TMatrixT< Element > &source) |
virtual TMatrixTBase< Element > & | Randomize (Element alpha, Element beta, Double_t &seed) |
randomize matrix element values More... | |
virtual TMatrixTSparse< Element > & | RandomizePD (Element alpha, Element beta, Double_t &seed) |
randomize matrix element values but keep matrix symmetric positive definite More... | |
Public Member Functions inherited from TMatrixTBase< Element > | |
TMatrixTBase () | |
virtual | ~TMatrixTBase () |
Int_t | GetRowLwb () const |
Int_t | GetRowUpb () const |
Int_t | GetNrows () const |
Int_t | GetColLwb () const |
Int_t | GetColUpb () const |
Int_t | GetNcols () const |
Int_t | GetNoElements () const |
Element | GetTol () const |
Element | SetTol (Element tol) |
void | Invalidate () |
void | MakeValid () |
Bool_t | IsValid () const |
Bool_t | IsOwner () const |
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. More... | |
virtual Double_t | Determinant () const |
virtual void | Determinant (Double_t &d1, Double_t &d2) const |
virtual TMatrixTBase< Element > & | Abs () |
Take an absolute value of a matrix, i.e. apply Abs() to each element. More... | |
virtual TMatrixTBase< Element > & | Sqr () |
Square each element of the matrix. More... | |
virtual TMatrixTBase< Element > & | Sqrt () |
Take square root of all elements. More... | |
virtual Element | E2Norm () const |
Square of the Euclidian norm, SUM{ m(i,j)^2 }. More... | |
Element | NormInf () const |
Element | Norm1 () const |
virtual Element | Sum () const |
Compute sum of elements. More... | |
virtual Element | Min () const |
return minimum matrix element value More... | |
virtual Element | Max () const |
return maximum vector element value More... | |
void | Draw (Option_t *option="") |
Draw this matrix The histogram is named "TMatrixT" by default and no title. More... | |
void | Print (Option_t *name="") const |
Print the matrix as a table of elements. More... | |
Bool_t | operator== (Element val) const |
Are all matrix elements equal to val? More... | |
Bool_t | operator!= (Element val) const |
Are all matrix elements not equal to val? More... | |
Bool_t | operator< (Element val) const |
Are all matrix elements < val? More... | |
Bool_t | operator<= (Element val) const |
Are all matrix elements <= val? More... | |
Bool_t | operator> (Element val) const |
Are all matrix elements > val? More... | |
Bool_t | operator>= (Element val) const |
Are all matrix elements >= val? More... | |
virtual TMatrixTBase< Element > & | Apply (const TElementActionT< Element > &action) |
Apply action to each matrix element. More... | |
virtual TMatrixTBase< Element > & | Apply (const TElementPosActionT< Element > &action) |
Apply action to each element of the matrix. More... | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. More... | |
virtual | ~TObject () |
TObject destructor. More... | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. More... | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. More... | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. More... | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. More... | |
virtual Int_t | Compare (const TObject *obj) const |
Compare abstract method. More... | |
virtual void | Copy (TObject &object) const |
Copy this to obj. More... | |
virtual void | Delete (Option_t *option="") |
Delete this object. More... | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. More... | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. More... | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current pad. More... | |
virtual void | Dump () const |
Dump contents of object on stdout. More... | |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
Execute method on this object with the given parameter string, e.g. More... | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. More... | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). More... | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. More... | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual const char * | GetIconName () const |
Returns mime type name of object. More... | |
virtual Option_t * | GetOption () const |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). More... | |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". More... | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. More... | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. More... | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More... | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). More... | |
virtual Bool_t | IsSortable () const |
Bool_t | IsOnHeap () const |
Bool_t | IsZombie () const |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. More... | |
virtual void | ls (Option_t *option="") const |
The ls function lists the contents of a class on stdout. More... | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. More... | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. More... | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. More... | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. More... | |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. More... | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". More... | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. More... | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. More... | |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. More... | |
void * | operator new (size_t sz) |
void * | operator new[] (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz, void *vp) |
void | operator delete (void *ptr) |
Operator delete. More... | |
void | operator delete[] (void *ptr) |
Operator delete []. More... | |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. More... | |
void | SetBit (UInt_t f) |
void | ResetBit (UInt_t f) |
Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
void | InvertBit (UInt_t f) |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. More... | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. More... | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. More... | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. More... | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. More... | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. More... | |
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 class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More... | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. More... | |
Protected Member Functions | |
void | Allocate (Int_t nrows, Int_t ncols, Int_t row_lwb=0, Int_t col_lwb=0, Int_t init=0, Int_t nr_nonzeros=0) |
Allocate new matrix. More... | |
void | AMultB (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0) |
void | AMultB (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b, Int_t constr=0) |
void | AMultB (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0) |
void | AMultBt (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0) |
General matrix multiplication. More... | |
void | AMultBt (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b, Int_t constr=0) |
General matrix multiplication. More... | |
void | AMultBt (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0) |
General matrix multiplication. More... | |
void | APlusB (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0) |
General matrix addition. More... | |
void | APlusB (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b, Int_t constr=0) |
General matrix addition. More... | |
void | APlusB (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0) |
void | AMinusB (const TMatrixTSparse< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0) |
General matrix subtraction. More... | |
void | AMinusB (const TMatrixTSparse< Element > &a, const TMatrixT< Element > &b, Int_t constr=0) |
General matrix subtraction. More... | |
void | AMinusB (const TMatrixT< Element > &a, const TMatrixTSparse< Element > &b, Int_t constr=0) |
General matrix subtraction. More... | |
Protected Member Functions inherited from TObject | |
void | MakeZombie () |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). More... | |
Protected Attributes | |
Int_t * | fRowIndex |
Int_t * | fColIndex |
Element * | fElements |
Protected Attributes inherited from TMatrixTBase< Element > | |
Int_t | fNrows |
Int_t | fNcols |
Int_t | fRowLwb |
Int_t | fColLwb |
Int_t | fNelems |
Int_t | fNrowIndex |
Element | fTol |
Bool_t | fIsOwner |
Additional Inherited Members | |
Static Public Member Functions inherited from TMatrixTBase< Element > | |
static Element & | NaNValue () |
Static Public Member Functions inherited from TObject | |
static Long_t | GetDtorOnly () |
Return destructor only flag. More... | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. More... | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. More... | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. More... | |
Protected Types inherited from TMatrixTBase< Element > | |
enum | { kSizeMax = 25 } |
enum | { kWorkMax = 100 } |
enum | EMatrixStatusBits { kStatus = BIT(14) } |
Static Protected Member Functions inherited from TMatrixTBase< Element > | |
static void | DoubleLexSort (Int_t n, Int_t *first, Int_t *second, Element *data) |
default kTRUE, when Use array kFALSE More... | |
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. More... | |
#include <TMatrixDSparsefwd.h>
enum TMatrixTSparse::EMatrixCreatorsOp1 |
Enumerator | |
---|---|
kZero | |
kUnit | |
kTransposed | |
kAtA |
Definition at line 73 of file TMatrixTSparse.h.
enum TMatrixTSparse::EMatrixCreatorsOp2 |
Enumerator | |
---|---|
kMult | |
kMultTranspose | |
kPlus | |
kMinus |
Definition at line 74 of file TMatrixTSparse.h.
|
inline |
Definition at line 76 of file TMatrixTSparse.h.
TMatrixTSparse< Element >::TMatrixTSparse | ( | Int_t | nrows, |
Int_t | ncols | ||
) |
TMatrixTSparse< Element >::TMatrixTSparse | ( | Int_t | row_lwb, |
Int_t | row_upb, | ||
Int_t | col_lwb, | ||
Int_t | col_upb | ||
) |
Space is allocated for row/column indices and data, but the sparse structure information has still to be set !
Definition at line 95 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element >::TMatrixTSparse | ( | Int_t | row_lwb, |
Int_t | row_upb, | ||
Int_t | col_lwb, | ||
Int_t | col_upb, | ||
Int_t | nr, | ||
Int_t * | row, | ||
Int_t * | col, | ||
Element * | data | ||
) |
Space is allocated for row/column indices and data.
Sparse row/column index structure together with data is coming from the arrays, row, col and data, resp .
Definition at line 105 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element >::TMatrixTSparse | ( | const TMatrixTSparse< Element > & | another | ) |
Definition at line 144 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element >::TMatrixTSparse | ( | const TMatrixT< Element > & | another | ) |
Definition at line 157 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element >::TMatrixTSparse | ( | EMatrixCreatorsOp1 | op, |
const TMatrixTSparse< Element > & | prototype | ||
) |
Create a matrix applying a specific operation to the prototype.
Supported operations are: kZero, kUnit, kTransposed and kAtA
Definition at line 170 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element >::TMatrixTSparse | ( | const TMatrixTSparse< Element > & | a, |
EMatrixCreatorsOp2 | op, | ||
const TMatrixTSparse< Element > & | b | ||
) |
Create a matrix applying a specific operation to two prototypes.
Supported operations are: kMult (a*b), kMultTranspose (a*b'), kPlus (a+b), kMinus (a-b)
Definition at line 220 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element >::TMatrixTSparse | ( | const TMatrixTSparse< Element > & | a, |
EMatrixCreatorsOp2 | op, | ||
const TMatrixT< Element > & | b | ||
) |
Create a matrix applying a specific operation to two prototypes.
Supported operations are: kMult (a*b), kMultTranspose (a*b'), kPlus (a+b), kMinus (a-b)
Definition at line 252 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element >::TMatrixTSparse | ( | const TMatrixT< Element > & | a, |
EMatrixCreatorsOp2 | op, | ||
const TMatrixTSparse< Element > & | b | ||
) |
Create a matrix applying a specific operation to two prototypes.
Supported operations are: kMult (a*b), kMultTranspose (a*b'), kPlus (a+b), kMinus (a-b)
Definition at line 284 of file TMatrixTSparse.cxx.
|
inlinevirtual |
Definition at line 89 of file TMatrixTSparse.h.
|
protected |
Allocate new matrix.
Arguments are number of rows, columns, row lowerbound (0 default) and column lowerbound (0 default), 0 initialization flag and number of non-zero elements (only relevant for sparse format).
Definition at line 317 of file TMatrixTSparse.cxx.
Referenced by TMatrixTSparse< Element >::TMatrixTSparse().
|
protected |
General matrix subtraction.
Create a matrix C such that C = A - B. Note, matrix C is allocated for constr=1.
Definition at line 927 of file TMatrixTSparse.cxx.
Referenced by TMatrixTSparse< Double_t >::operator-=().
|
protected |
General matrix subtraction.
Create a matrix C such that C = A - B. Note, matrix C is allocated for constr=1.
Definition at line 1009 of file TMatrixTSparse.cxx.
|
protected |
General matrix subtraction.
Create a matrix C such that C = A - B. Note, matrix C is allocated for constr=1.
Definition at line 1080 of file TMatrixTSparse.cxx.
|
inlineprotected |
Definition at line 51 of file TMatrixTSparse.h.
Referenced by TMatrixTSparse< Double_t >::Mult(), and TMatrixTSparse< Double_t >::operator*=().
|
inlineprotected |
Definition at line 53 of file TMatrixTSparse.h.
|
inlineprotected |
Definition at line 56 of file TMatrixTSparse.h.
|
protected |
General matrix multiplication.
Create a matrix C such that C = A * B'. Note, matrix C is allocated for constr=1.
Definition at line 483 of file TMatrixTSparse.cxx.
Referenced by TMatrixTSparse< Double_t >::AMultB().
|
protected |
General matrix multiplication.
Create a matrix C such that C = A * B'. Note, matrix C is allocated for constr=1.
Definition at line 591 of file TMatrixTSparse.cxx.
|
protected |
General matrix multiplication.
Create a matrix C such that C = A * B'. Note, matrix C is allocated for constr=1.
Definition at line 682 of file TMatrixTSparse.cxx.
|
protected |
General matrix addition.
Create a matrix C such that C = A + B. Note, matrix C is allocated for constr=1.
Definition at line 774 of file TMatrixTSparse.cxx.
Referenced by TMatrixTSparse< Double_t >::operator+=().
|
protected |
General matrix addition.
Create a matrix C such that C = A + B. Note, matrix C is allocated for constr=1.
Definition at line 856 of file TMatrixTSparse.cxx.
|
inlineprotected |
Definition at line 65 of file TMatrixTSparse.h.
Referenced by TMatrixTSparse< Double_t >::APlusB().
|
inlinevirtual |
Implements TMatrixTBase< Element >.
Definition at line 120 of file TMatrixTSparse.h.
Referenced by TMatrixTSparse< Double_t >::operator*=(), TMatrixTSparse< Double_t >::operator+=(), TMatrixTSparse< Double_t >::operator-=(), and TMatrixTSparse< Double_t >::~TMatrixTSparse().
|
virtual |
Column matrix norm, MAX{ SUM{ |M(i,j)|, over i}, over j}.
The norm is induced by the 1 vector norm.
Reimplemented from TMatrixTBase< Element >.
Definition at line 2121 of file TMatrixTSparse.cxx.
|
virtual |
Store in array v, n matrix elements of row rown starting at column coln.
Reimplemented from TMatrixTBase< Element >.
Definition at line 442 of file TMatrixTSparse.cxx.
|
inlinevirtual |
Implements TMatrixTBase< Element >.
Definition at line 212 of file TMatrixTSparse.h.
Referenced by Add(), TUnfold::AddMSparse(), TMatrixTSparse< Element >::AMinusB(), TMatrixTSparse< Element >::AMultBt(), TMatrixTSparse< Element >::APlusB(), AreCompatible(), TDecompSparse::CopyUpperTriang(), TUnfoldSys::DoBackgroundSubtraction(), TUnfold::DoUnfold(), TUnfold::ErrorMatrixToHist(), TUnfold::GetFoldedOutput(), TUnfold::GetInput(), TUnfold::GetInputInverseEmatrix(), TUnfold::GetL(), TUnfold::GetLsquared(), TUnfold::GetOutput(), TUnfold::GetProbabilityMatrix(), TUnfold::GetRhoI(), TUnfold::GetRhoIFromMatrix(), TUnfold::InvertMSparseSymmPos(), TUnfold::MultiplyMSparseM(), TUnfold::MultiplyMSparseMSparse(), TUnfold::MultiplyMSparseMSparseTranspVector(), TUnfold::MultiplyMSparseTranspMSparse(), TDecompSparse::NonZerosUpperTriang(), TMatrixTSparseRow< Element >::operator()(), TMatrixTSparseDiag< Element >::operator()(), TVectorT< Element >::operator*=(), TMatrixT< Element >::operator=(), TUnfoldSys::ScaleColumnsByVector(), TDecompSparse::SetMatrix(), TMatrixTSparse< Element >::SetSparseIndexAB(), TMatrixTSparse< Element >::TMatrixTSparse(), TMatrixTSparseRow_const< Element >::TMatrixTSparseRow_const(), TMatrixTSparse< Element >::Transpose(), and TMatrixTSparse< Element >::Use().
|
inlinevirtual |
Implements TMatrixTBase< Element >.
Definition at line 213 of file TMatrixTSparse.h.
|
virtual |
Copy matrix data to array . It is assumed that array is of size >= fNelems.
Reimplemented from TMatrixTBase< Element >.
Definition at line 1150 of file TMatrixTSparse.cxx.
|
inlinevirtual |
Implements TMatrixTBase< Element >.
Definition at line 208 of file TMatrixTSparse.h.
Referenced by Add(), TUnfold::AddMSparse(), TMatrixTSparse< Element >::AMinusB(), TMatrixTSparse< Element >::AMultBt(), TMatrixTSparse< Element >::APlusB(), TMatrixTSparse< Element >::ColNorm(), TDecompSparse::CopyUpperTriang(), TUnfoldSys::DoBackgroundSubtraction(), TUnfold::DoUnfold(), ElementDiv(), ElementMult(), TUnfold::ErrorMatrixToHist(), TUnfoldSys::GetChi2Sys(), TUnfold::GetFoldedOutput(), TUnfold::GetInput(), TUnfold::GetInputInverseEmatrix(), TUnfold::GetL(), TUnfold::GetLsquared(), TUnfoldDensity::GetLxMinusBias(), TUnfold::GetOutput(), TUnfold::GetProbabilityMatrix(), TUnfold::GetRhoI(), TUnfold::GetRhoIFromMatrix(), TUnfold::InvertMSparseSymmPos(), TUnfold::MultiplyMSparseM(), TUnfold::MultiplyMSparseMSparse(), TUnfold::MultiplyMSparseMSparseTranspVector(), TUnfold::MultiplyMSparseTranspMSparse(), TMatrixTSparseRow< Element >::operator()(), TMatrixTSparseDiag< Element >::operator()(), TVectorT< Element >::operator*=(), TMatrixT< Element >::operator=(), TMatrixTSparse< Element >::operator=(), TUnfoldSys::PrepareSysError(), TUnfoldSys::PrepareUncorrEmat(), TUnfoldSys::ScaleColumnsByVector(), TMatrixTSparseDiag_const< Element >::TMatrixTSparseDiag_const(), TMatrixTSparseRow_const< Element >::TMatrixTSparseRow_const(), TMatrixTSparse< Element >::Transpose(), TMatrixTSparse< Element >::Use(), and TUnfoldSys::VectorMapToHist().
|
inlinevirtual |
Implements TMatrixTBase< Element >.
Definition at line 209 of file TMatrixTSparse.h.
|
inlinevirtual |
Implements TMatrixTBase< Element >.
Definition at line 210 of file TMatrixTSparse.h.
Referenced by Add(), TUnfold::AddMSparse(), TMatrixTSparse< Element >::AMinusB(), TMatrixTSparse< Element >::AMultBt(), TMatrixTSparse< Element >::APlusB(), AreCompatible(), TDecompSparse::CopyUpperTriang(), TUnfoldSys::DoBackgroundSubtraction(), TUnfold::DoUnfold(), TUnfold::ErrorMatrixToHist(), TUnfoldSys::GetChi2Sys(), TUnfold::GetFoldedOutput(), TUnfold::GetInput(), TUnfold::GetInputInverseEmatrix(), TUnfold::GetL(), TUnfold::GetLsquared(), TUnfoldDensity::GetLxMinusBias(), TUnfold::GetOutput(), TUnfold::GetProbabilityMatrix(), TUnfold::GetRhoI(), TUnfold::GetRhoIFromMatrix(), TUnfold::InvertMSparseSymmPos(), TUnfold::MultiplyMSparseM(), TUnfold::MultiplyMSparseMSparse(), TUnfold::MultiplyMSparseMSparseTranspVector(), TUnfold::MultiplyMSparseTranspMSparse(), TDecompSparse::NonZerosUpperTriang(), TMatrixTSparseRow< Element >::operator()(), TMatrixTSparseDiag< Element >::operator()(), TVectorT< Element >::operator*=(), TMatrixT< Element >::operator=(), TUnfoldSys::PrepareSysError(), TUnfoldSys::PrepareUncorrEmat(), TUnfoldSys::ScaleColumnsByVector(), TUnfold::SetInput(), TDecompSparse::SetMatrix(), TMatrixTSparse< Element >::SetSparseIndexAB(), TMatrixTSparse< Element >::TMatrixTSparse(), TMatrixTSparseRow_const< Element >::TMatrixTSparseRow_const(), TMatrixTSparse< Element >::Transpose(), TMatrixTSparse< Element >::Use(), and TUnfoldSys::VectorMapToHist().
|
inlinevirtual |
Implements TMatrixTBase< Element >.
Definition at line 211 of file TMatrixTSparse.h.
|
virtual |
Get submatrix [row_lwb..row_upb][col_lwb..col_upb]; The indexing range of the returned matrix depends on the argument option:
option == "S" : return [0..row_upb-row_lwb+1][0..col_upb-col_lwb+1] (default) else : return [row_lwb..row_upb][col_lwb..col_upb]
Implements TMatrixTBase< Element >.
Definition at line 1743 of file TMatrixTSparse.cxx.
|
inline |
Definition at line 237 of file TMatrixTSparse.h.
|
virtual |
Insert in row rown, n elements of array v at column coln.
Reimplemented from TMatrixTBase< Element >.
Definition at line 359 of file TMatrixTSparse.cxx.
Referenced by TMatrixTSparseRow< Element >::operator()(), and TMatrixTSparseDiag< Element >::operator()().
|
inlinevirtual |
Check whether matrix is symmetric.
Reimplemented from TMatrixTBase< Element >.
Definition at line 150 of file TMatrixTSparse.h.
|
inline |
Definition at line 154 of file TMatrixTSparse.h.
|
inlinevirtual |
Compute the number of elements != 0.0.
Reimplemented from TMatrixTBase< Element >.
Definition at line 161 of file TMatrixTSparse.h.
Referenced by TMatrixTSparse< Element >::Transpose().
|
inlinevirtual |
option: "D" : b(i,j) = a(i,j)/sqrt(abs*(v(i)*v(j))) (default) else : b(i,j) = a(i,j)*sqrt(abs*(v(i)*v(j))) (default)
Reimplemented from TMatrixTBase< Element >.
Definition at line 163 of file TMatrixTSparse.h.
|
virtual |
Implements TMatrixTBase< Element >.
Definition at line 2193 of file TMatrixTSparse.cxx.
|
virtual |
Implements TMatrixTBase< Element >.
Definition at line 2149 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator*= | ( | Element | val | ) |
Multiply every element of the matrix with val.
Definition at line 2332 of file TMatrixTSparse.cxx.
|
inline |
Definition at line 194 of file TMatrixTSparse.h.
|
inline |
Definition at line 198 of file TMatrixTSparse.h.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator+= | ( | Element | val | ) |
Add val to every element of the matrix.
Definition at line 2300 of file TMatrixTSparse.cxx.
|
inline |
Definition at line 182 of file TMatrixTSparse.h.
|
inline |
Definition at line 186 of file TMatrixTSparse.h.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator-= | ( | Element | val | ) |
Subtract val from every element of the matrix.
Definition at line 2316 of file TMatrixTSparse.cxx.
|
inline |
Definition at line 188 of file TMatrixTSparse.h.
|
inline |
Definition at line 192 of file TMatrixTSparse.h.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator= | ( | const TMatrixT< Element > & | source | ) |
Notice that the sparsity of the matrix is NOT changed : its fRowIndex/fColIndex are used !
Definition at line 2248 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator= | ( | const TMatrixTSparse< Element > & | source | ) |
Notice that the sparsity of the matrix is NOT changed : its fRowIndex/fColIndex are used !
Definition at line 2225 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::operator= | ( | Element | val | ) |
Assign val to every element of the matrix.
Check that the row/col indices are set !
Definition at line 2279 of file TMatrixTSparse.cxx.
|
inline |
Definition at line 171 of file TMatrixTSparse.h.
|
inline |
Definition at line 172 of file TMatrixTSparse.h.
|
virtual |
randomize matrix element values
Reimplemented from TMatrixTBase< Element >.
Definition at line 2348 of file TMatrixTSparse.cxx.
Referenced by TQpDataSparse::DataRandom().
|
virtual |
randomize matrix element values but keep matrix symmetric positive definite
Definition at line 2395 of file TMatrixTSparse.cxx.
Referenced by TQpDataSparse::DataRandom().
|
virtual |
Set size of the matrix to nrows x ncols with nr_nonzeros non-zero entries if nr_nonzeros > 0 .
New dynamic elements are created, the overlapping part of the old ones are copied to the new structures, then the old elements are deleted.
Implements TMatrixTBase< Element >.
Definition at line 1510 of file TMatrixTSparse.cxx.
Referenced by TQpLinSolverSparse::operator=(), and TQpDataSparse::operator=().
|
virtual |
Set size of the matrix to [row_lwb:row_upb] x [col_lwb:col_upb] with nr_nonzeros non-zero entries if nr_nonzeros > 0 .
New dynamic elemenst are created, the overlapping part of the old ones are copied to the new structures, then the old elements are deleted.
Implements TMatrixTBase< Element >.
Definition at line 1604 of file TMatrixTSparse.cxx.
|
inline |
Definition at line 117 of file TMatrixTSparse.h.
Referenced by TMatrixTSparse< Double_t >::ResizeTo().
|
virtual |
Row matrix norm, MAX{ SUM{ |M(i,j)|, over j}, over i}.
The norm is induced by the infinity vector norm.
Reimplemented from TMatrixTBase< Element >.
Definition at line 2092 of file TMatrixTSparse.cxx.
|
inlinevirtual |
Implements TMatrixTBase< Element >.
Definition at line 99 of file TMatrixTSparse.h.
|
inlinevirtual |
Copy array data to matrix .
It is assumed that array is of size >= fNelems (=)))) fNrows*fNcols option indicates how the data is stored in the array: option = 'F' : column major (Fortran) m[i][j] = array[i+j*fNrows] else : row major (C) m[i][j] = array[i*fNcols+j] (default)
Reimplemented from TMatrixTBase< Element >.
Definition at line 109 of file TMatrixTSparse.h.
Referenced by TUnfold::AddMSparse(), TUnfold::CreateSparseMatrix(), TUnfold::MultiplyMSparseM(), TUnfold::MultiplyMSparseMSparse(), and TUnfold::MultiplyMSparseTranspMSparse().
|
virtual |
Copy nr elements from row/col index and data array to matrix .
It is assumed that arrays are of size >= nr Note that the input arrays are not passed as const since they will be modified !
Definition at line 1164 of file TMatrixTSparse.cxx.
|
inlinevirtual |
Implements TMatrixTBase< Element >.
Definition at line 98 of file TMatrixTSparse.h.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::SetSparseIndex | ( | Int_t | nelem_new | ) |
Increase/decrease the number of non-zero elements to nelems_new.
Definition at line 1254 of file TMatrixTSparse.cxx.
Referenced by TQpDataSparse::SetNonZeros(), and TMatrixTSparse< Element >::TMatrixTSparse().
TMatrixTSparse< Element > & TMatrixTSparse< Element >::SetSparseIndex | ( | const TMatrixTBase< Element > & | another | ) |
Use non-zero data of matrix source to set the sparse structure.
Definition at line 1288 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::SetSparseIndexAB | ( | const TMatrixTSparse< Element > & | a, |
const TMatrixTSparse< Element > & | b | ||
) |
Set the row/column indices to the "sum" of matrices a and b It is checked that enough space has been allocated.
Definition at line 1331 of file TMatrixTSparse.cxx.
Referenced by TMatrixTSparse< Double_t >::SetSparseIndexAB().
TMatrixTSparse< Element > & TMatrixTSparse< Element >::SetSparseIndexAB | ( | const TMatrixT< Element > & | a, |
const TMatrixTSparse< Element > & | b | ||
) |
Set the row/column indices to the "sum" of matrices a and b It is checked that enough space has been allocated.
Definition at line 1425 of file TMatrixTSparse.cxx.
|
inline |
Definition at line 105 of file TMatrixTSparse.h.
|
virtual |
Insert matrix source starting at [row_lwb][col_lwb], thereby overwriting the part [row_lwb..row_lwb+nrows_source-1][col_lwb..col_lwb+ncols_source-1];.
Implements TMatrixTBase< Element >.
Definition at line 1843 of file TMatrixTSparse.cxx.
|
inline |
Definition at line 152 of file TMatrixTSparse.h.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::Transpose | ( | const TMatrixTSparse< Element > & | source | ) |
Transpose a matrix.
Definition at line 1979 of file TMatrixTSparse.cxx.
Referenced by TMatrixTSparse< Double_t >::T().
|
virtual |
Make a unit matrix (matrix need not be a square one).
Reimplemented from TMatrixTBase< Element >.
Definition at line 2050 of file TMatrixTSparse.cxx.
TMatrixTSparse< Element > & TMatrixTSparse< Element >::Use | ( | Int_t | row_lwb, |
Int_t | row_upb, | ||
Int_t | col_lwb, | ||
Int_t | col_upb, | ||
Int_t | nr_nonzeros, | ||
Int_t * | pRowIndex, | ||
Int_t * | pColIndex, | ||
Element * | pData | ||
) |
Definition at line 1703 of file TMatrixTSparse.cxx.
Referenced by TQpProbSparse::MakeData(), TDecompSparse::operator=(), TDecompSparse::SetMatrix(), and TQpDataSparse::TQpDataSparse().
|
inline |
Definition at line 131 of file TMatrixTSparse.h.
|
inline |
Definition at line 216 of file TMatrixTSparse.h.
|
inline |
Definition at line 220 of file TMatrixTSparse.h.
|
inline |
Definition at line 224 of file TMatrixTSparse.h.
|
inline |
Definition at line 230 of file TMatrixTSparse.h.
|
virtual |
Set matrix elements to zero.
Reimplemented from TMatrixTBase< Element >.
Definition at line 2034 of file TMatrixTSparse.cxx.
|
protected |
Definition at line 44 of file TMatrixTSparse.h.
Referenced by TMatrixTSparse< Double_t >::Clear(), and TMatrixTSparse< Element >::TMatrixTSparse().
|
protected |
Definition at line 45 of file TMatrixTSparse.h.
Referenced by TMatrixTSparse< Double_t >::Clear().
|
protected |
Definition at line 43 of file TMatrixTSparse.h.
Referenced by TMatrixTSparse< Double_t >::Clear(), and TMatrixTSparse< Element >::TMatrixTSparse().