Toast++  1.0.2 (r.539)
Forward and inverse modelling in optical tomography
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
TSparseMatrix< MT > Class Template Reference
Inheritance diagram for TSparseMatrix< MT >:

Public Member Functions

 TSparseMatrix (int r, int c)
 
 TSparseMatrix (const TSparseMatrix< MT > &mat)
 
 operator TMatrix< MT > ()
 
MatrixStorage StorageType () const
 
void Copy (const TSparseMatrix< MT > &mat)
 
void New (int r, int c)
 
void Initialise (int *pindex)
 
void Initialise (int pindex)
 
void Initialise (int *rowptr, int *colidx)
 
virtual MT Get (int r, int c) const
 
virtual void Put (int r, int c, MT val)
 
virtual void Add (int r, int c, MT val)
 
TVector< MT > Row (int r) const
 
TVector< MT > Col (int c) const
 
void Unlink ()
 
void Shrink ()
 
void GetFillIn (int *fillin)
 
void Clear ()
 
TSparseMatrix< MT > operator= (const TSparseMatrix< MT > &mat)
 
TSparseMatrix< MT > operator* (const MT &mt) const
 
TVector< MT > operator* (const TVector< MT > &x) const
 
virtual void Ax (const TVector< MT > &x, TVector< MT > &b) const
 
TVector< MT > ATx (const TVector< MT > &x) const
 
void ATx (const TVector< MT > &x, TVector< MT > &b) const
 
TVector< MT > diag () const
 
void SparseOutput (ostream &os) const
 
TSparseVector< MT > & operator[] (int i) const
 

Protected Member Functions

virtual void Allocate (int r, int c)
 

Protected Attributes

TSparseVector< MT > * data
 

Friends

TSparseMatrix< MT > transpose (const TSparseMatrix< MT > &A)
 
void CHdecompFill (const TSparseMatrix< MT > &A, TSparseMatrix< int > &L)
 
bool CHdecomp (const TSparseMatrix< MT > &A, TSparseMatrix< MT > &L, TSparseMatrix< MT > &LT, TVector< MT > &d, bool reallocate, bool recover)
 
bool IncompleteCHdecomp (const TSparseMatrix< MT > &A, TSparseMatrix< MT > &L, TSparseMatrix< MT > &LT, TVector< MT > &d, bool reallocate, bool recover)
 
void LineCHdecomp (const TSparseMatrix< MT > &A, TMatrix< MT > &T, int p)
 
TVector< MT > CHsubst (const TSparseMatrix< MT > &L, const TSparseMatrix< MT > &LT, const TVector< MT > &d, const TVector< MT > &b)
 
void CHsubst (const TSparseMatrix< MT > &L, const TSparseMatrix< MT > &LT, const TVector< MT > &d, const TVector< MT > &b, TVector< MT > &x)
 
TVector< MT > CGsolve (const TSparseMatrix< MT > &A, const TVector< MT > &b, TVector< MT > *xinit=0, double err_limit=1e-18, int *niter=0)
 
TVector< MT > PCGsolve (const TSparseMatrix< MT > &A, const TVector< MT > &b, TVector< MT > *xinit=0, double err_limit=1e-18, int *niter=0)
 
TVector< MT > PCGsolve (const TSparseMatrix< MT > &A, TVector< MT > P, const TVector< MT > &b, TVector< MT > *xinit=0, double err_limit=1e-18, int *niter=0)
 
TVector< MT > XCGsolve (const TSparseMatrix< MT > &A, const TVector< MT > &P, const TVector< MT > &b, TVector< MT > *xinit, double err_limit, int *niter)
 
TVector< MT > PCGsolve (const TSparseMatrix< MT > &A, const TSparseMatrix< MT > &Pr, const TSparseMatrix< MT > &PrT, const TVector< MT > &PrD, const TVector< MT > &b, TVector< MT > *xinit, double err_limit, int *niter)
 
TVector< MT > BiPCGsolve (const TSparseMatrix< MT > &A, const TVector< MT > &b, TVector< MT > *xinit=0, double err_limit=1e-18, int *niter=0)
 
void ComplexBiCGsolve (const TSparseMatrix< MT > &Are, const TSparseMatrix< MT > &Aim, const TVector< MT > &bre, const TVector< MT > &bim, TVector< MT > &xre, TVector< MT > &xim, double err_limit, int *niter)
 

The documentation for this class was generated from the following file: