![]() |
Project
|
Symmetric Matrix Class. More...
#include <SymBDMatrix.h>
Inherits o2::fwdalign::MatrixSq.
Public Types | |
| enum | { kDecomposedBit = 0x1 } |
Public Member Functions | |
| SymBDMatrix () | |
| def. c-tor | |
| SymBDMatrix (Int_t size, Int_t w=0) | |
| c-tor for given size | |
| SymBDMatrix (const SymBDMatrix &mat) | |
| copy c-tor | |
| ~SymBDMatrix () override | |
| d-tor | |
| Int_t | GetBandHWidth () const |
| Int_t | GetNElemsStored () const |
| void | Clear (Option_t *option="") override |
| clear dynamic part | |
| void | Reset () override |
| set all elems to 0 | |
| Float_t | GetDensity () const override |
| get fraction of non-zero elements | |
| SymBDMatrix & | operator= (const SymBDMatrix &src) |
| assignment operator | |
| Double_t | operator() (Int_t rown, Int_t coln) const override |
| Double_t & | operator() (Int_t rown, Int_t coln) override |
| Double_t | operator() (Int_t rown) const |
| Double_t & | operator() (Int_t rown) |
| Double_t | DiagElem (Int_t r) const override |
| Double_t & | DiagElem (Int_t r) override |
| void | DecomposeLDLT () |
| decomposition to L Diag L^T | |
| void | Solve (Double_t *rhs) |
| solve matrix equation | |
| void | Solve (const Double_t *rhs, Double_t *sol) |
| solve matrix equation | |
| void | Solve (TVectorD &rhs) |
| void | Solve (const TVectorD &rhs, TVectorD &sol) |
| void | Print (Option_t *option="") const override |
| print data | |
| void | SetDecomposed (Bool_t v=kTRUE) |
| Bool_t | IsDecomposed () const |
| void | MultiplyByVec (const Double_t *vecIn, Double_t *vecOut) const override |
| fill vecOut by matrix*vecIn | |
| void | MultiplyByVec (const TVectorD &vecIn, TVectorD &vecOut) const override |
| void | AddToRow (Int_t r, Double_t *valc, Int_t *indc, Int_t n) override |
| add list of elements to row r | |
| virtual Int_t | GetIndex (Int_t row, Int_t col) const |
| virtual Int_t | GetIndex (Int_t diagID) const |
| Get index of the diagonal element on row diagID. | |
| Double_t | GetEl (Int_t row, Int_t col) const |
| void | SetEl (Int_t row, Int_t col, Double_t val) |
Public Member Functions inherited from o2::fwdalign::MatrixSq | |
| MatrixSq () | |
| MatrixSq (const MatrixSq &src) | |
| ~MatrixSq () override=default | |
| MatrixSq & | operator= (const MatrixSq &src) |
| = operator | |
| virtual Int_t | GetSize () const |
| virtual Double_t | Query (Int_t rown, Int_t coln) const |
| virtual Double_t | QueryDiag (Int_t rc) const |
| virtual void | PrintCOO () const |
| print matrix in COO sparse format | |
| Bool_t | IsSymmetric () const override |
| void | SetSymmetric (Bool_t v=kTRUE) |
| const Double_t * | GetMatrixArray () const override |
| Double_t * | GetMatrixArray () override |
| const Int_t * | GetRowIndexArray () const override |
| Int_t * | GetRowIndexArray () override |
| const Int_t * | GetColIndexArray () const override |
| Int_t * | GetColIndexArray () override |
| TMatrixDBase & | SetRowIndexArray (Int_t *) override |
| TMatrixDBase & | SetColIndexArray (Int_t *) override |
| TMatrixDBase & | GetSub (Int_t, Int_t, Int_t, Int_t, TMatrixDBase &, Option_t *) const override |
| TMatrixDBase & | SetSub (Int_t, Int_t, const TMatrixDBase &) override |
| TMatrixDBase & | ResizeTo (Int_t, Int_t, Int_t) override |
| TMatrixDBase & | ResizeTo (Int_t, Int_t, Int_t, Int_t, Int_t) override |
| virtual void | Allocate (Int_t, Int_t, Int_t, Int_t, Int_t, Int_t) |
Protected Member Functions | |
| ClassDefOverride (SymBDMatrix, 0) | |
Protected Member Functions inherited from o2::fwdalign::MatrixSq | |
| void | Swap (int &r, int &c) const |
| ClassDefOverride (MatrixSq, 1) | |
Protected Attributes | |
| Double_t * | fElems |
| Elements booked by constructor. | |
Protected Attributes inherited from o2::fwdalign::MatrixSq | |
| Bool_t | fSymmetric |
| is the matrix symmetric? Only lower triangle is filled | |
Additional Inherited Members | |
Static Public Member Functions inherited from o2::fwdalign::MatrixSq | |
| static Bool_t | IsZero (Double_t x, Double_t thresh=1e-64) |
Symmetric Matrix Class.
Only lower triangle is stored in the "profile" format
Definition at line 32 of file SymBDMatrix.h.
| anonymous enum |
| Enumerator | |
|---|---|
| kDecomposedBit | |
Definition at line 36 of file SymBDMatrix.h.
| SymBDMatrix::SymBDMatrix | ( | ) |
def. c-tor
Definition at line 25 of file SymBDMatrix.cxx.
| SymBDMatrix::SymBDMatrix | ( | Int_t | size, |
| Int_t | w = 0 |
||
| ) |
c-tor for given size
Definition at line 32 of file SymBDMatrix.cxx.
| SymBDMatrix::SymBDMatrix | ( | const SymBDMatrix & | mat | ) |
copy c-tor
Definition at line 54 of file SymBDMatrix.cxx.
|
override |
d-tor
Definition at line 69 of file SymBDMatrix.cxx.
|
overridevirtual |
add list of elements to row r
Implements o2::fwdalign::MatrixSq.
Definition at line 186 of file SymBDMatrix.cxx.
|
protected |
|
overridevirtual |
clear dynamic part
Implements o2::fwdalign::MatrixSq.
Definition at line 97 of file SymBDMatrix.cxx.
| void SymBDMatrix::DecomposeLDLT | ( | ) |
decomposition to L Diag L^T
Definition at line 194 of file SymBDMatrix.cxx.
|
inlineoverridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 70 of file SymBDMatrix.h.
|
inlineoverridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 71 of file SymBDMatrix.h.
|
inline |
Definition at line 50 of file SymBDMatrix.h.
|
overridevirtual |
get fraction of non-zero elements
Implements o2::fwdalign::MatrixSq.
Definition at line 107 of file SymBDMatrix.cxx.
|
inline |
Definition at line 103 of file SymBDMatrix.h.
|
inlinevirtual |
Get index of the diagonal element on row diagID.
Definition at line 128 of file SymBDMatrix.h.
|
inlinevirtual |
Definition at line 113 of file SymBDMatrix.h.
|
inline |
Definition at line 51 of file SymBDMatrix.h.
|
inline |
Definition at line 89 of file SymBDMatrix.h.
|
overridevirtual |
fill vecOut by matrix*vecIn
vector should be of the same size as the matrix
Reimplemented from o2::fwdalign::MatrixSq.
Definition at line 144 of file SymBDMatrix.cxx.
|
inlineoverridevirtual |
Reimplemented from o2::fwdalign::MatrixSq.
Definition at line 168 of file SymBDMatrix.h.
|
inline |
Definition at line 161 of file SymBDMatrix.h.
|
inline |
Definition at line 154 of file SymBDMatrix.h.
|
inlineoverridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 134 of file SymBDMatrix.h.
|
inlineoverridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 142 of file SymBDMatrix.h.
| SymBDMatrix & SymBDMatrix::operator= | ( | const SymBDMatrix & | src | ) |
assignment operator
Definition at line 75 of file SymBDMatrix.cxx.
|
overridevirtual |
|
overridevirtual |
set all elems to 0
Implements o2::fwdalign::MatrixSq.
Definition at line 177 of file SymBDMatrix.cxx.
|
inline |
Definition at line 88 of file SymBDMatrix.h.
|
inline |
Definition at line 104 of file SymBDMatrix.h.
| void SymBDMatrix::Solve | ( | const Double_t * | rhs, |
| Double_t * | sol | ||
| ) |
solve matrix equation
Definition at line 297 of file SymBDMatrix.cxx.
|
inline |
Definition at line 83 of file SymBDMatrix.h.
| void SymBDMatrix::Solve | ( | Double_t * | rhs | ) |
solve matrix equation
Definition at line 273 of file SymBDMatrix.cxx.
|
inline |
Definition at line 82 of file SymBDMatrix.h.
|
protected |
Elements booked by constructor.
Definition at line 107 of file SymBDMatrix.h.