![]() |
Project
|
#include <MatrixSparse.h>
Inherits o2::fwdalign::MatrixSq.
Public Member Functions | |
MatrixSparse ()=default | |
MatrixSparse (Int_t size) | |
constructor | |
MatrixSparse (const MatrixSparse &mat) | |
copy c-tor | |
~MatrixSparse () override | |
VectorSparse * | GetRow (Int_t ir) const |
VectorSparse * | GetRowAdd (Int_t ir) |
Int_t | GetSize () const override |
virtual Int_t | GetNRows () const |
virtual Int_t | GetNCols () const |
void | Clear (Option_t *option="") override |
void | Reset () override |
void | Print (Option_t *option="") const override |
MatrixSparse & | operator= (const MatrixSparse &src) |
Double_t & | operator() (Int_t row, Int_t col) override |
Double_t | operator() (Int_t row, Int_t col) const override |
void | SetToZero (Int_t row, Int_t col) |
set existing element to 0 | |
Float_t | GetDensity () const override |
get fraction of non-zero elements | |
Double_t | DiagElem (Int_t r) const override |
get diag elem | |
Double_t & | DiagElem (Int_t r) override |
get diag elem | |
void | SortIndices (Bool_t valuesToo=kFALSE) |
sort columns in increasing order. Used to fix the matrix after ILUk decompostion | |
void | MultiplyByVec (const TVectorD &vecIn, TVectorD &vecOut) const override |
fill vecOut by matrix * vecIn (vector should be of the same size as the matrix) | |
void | MultiplyByVec (const Double_t *vecIn, Double_t *vecOut) const override |
fill vecOut by matrix * vecIn (vector should be of the same size as the matrix) | |
void | AddToRow (Int_t r, Double_t *valc, Int_t *indc, Int_t n) override |
![]() | |
MatrixSq () | |
MatrixSq (const MatrixSq &src) | |
~MatrixSq () override=default | |
MatrixSq & | operator= (const MatrixSq &src) |
= operator | |
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 (MatrixSparse, 0) | |
![]() | |
void | Swap (int &r, int &c) const |
ClassDefOverride (MatrixSq, 1) | |
Protected Attributes | |
VectorSparse ** | fVecs = nullptr |
![]() | |
Bool_t | fSymmetric |
is the matrix symmetric? Only lower triangle is filled | |
Additional Inherited Members | |
![]() | |
static Bool_t | IsZero (Double_t x, Double_t thresh=1e-64) |
Definition at line 28 of file MatrixSparse.h.
|
default |
MatrixSparse::MatrixSparse | ( | Int_t | size | ) |
constructor
Definition at line 25 of file MatrixSparse.cxx.
MatrixSparse::MatrixSparse | ( | const MatrixSparse & | mat | ) |
copy c-tor
Definition at line 38 of file MatrixSparse.cxx.
|
inlineoverride |
Definition at line 39 of file MatrixSparse.h.
|
overridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 169 of file MatrixSparse.cxx.
|
protected |
|
overridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 90 of file MatrixSparse.cxx.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
overridevirtual |
get fraction of non-zero elements
Implements o2::fwdalign::MatrixSq.
Definition at line 207 of file MatrixSparse.cxx.
|
inlinevirtual |
Definition at line 46 of file MatrixSparse.h.
|
inlinevirtual |
Definition at line 45 of file MatrixSparse.h.
|
inline |
Definition at line 41 of file MatrixSparse.h.
VectorSparse * MatrixSparse::GetRowAdd | ( | Int_t | ir | ) |
Definition at line 49 of file MatrixSparse.cxx.
|
inlineoverridevirtual |
Reimplemented from o2::fwdalign::MatrixSq.
Definition at line 44 of file MatrixSparse.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 117 of file MatrixSparse.cxx.
|
inlineoverridevirtual |
fill vecOut by matrix * vecIn (vector should be of the same size as the matrix)
multiplication
Reimplemented from o2::fwdalign::MatrixSq.
Definition at line 85 of file MatrixSparse.h.
|
inlineoverridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 104 of file MatrixSparse.h.
|
inlineoverridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 117 of file MatrixSparse.h.
MatrixSparse & MatrixSparse::operator= | ( | const MatrixSparse & | src | ) |
Definition at line 71 of file MatrixSparse.cxx.
|
overridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 100 of file MatrixSparse.cxx.
|
inlineoverridevirtual |
Implements o2::fwdalign::MatrixSq.
Definition at line 49 of file MatrixSparse.h.
|
inline |
set existing element to 0
Definition at line 92 of file MatrixSparse.h.
void MatrixSparse::SortIndices | ( | Bool_t | valuesToo = kFALSE | ) |
sort columns in increasing order. Used to fix the matrix after ILUk decompostion
Definition at line 155 of file MatrixSparse.cxx.
|
protected |
Definition at line 78 of file MatrixSparse.h.