Toast++
1.0.2 (r.539)
Forward and inverse modelling in optical tomography
|
Public Member Functions | |
SCCompRowMatrixMixed (int rows, int cols) | |
SCCompRowMatrixMixed (int rows, int cols, const idxtype *_rowptr, const idxtype *_colidx, const std::complex< float > *data=0) | |
SCCompRowMatrixMixed (const SCCompRowMatrixMixed &m) | |
int | SparseRow (int r, idxtype *ci, std::complex< double > *rv) const |
void | Ax (const CVector &x, CVector &b) const |
void | Ax (const CVector &x, CVector &b, int r1, int r2) const |
void | ATx (const CVector &x, CVector &b) const |
CVector | operator* (const CVector &x) const |
Public Member Functions inherited from TCompRowMatrix< std::complex< float > > | |
TCompRowMatrix () | |
Creates a compressed-row matrix of dimension 0 x 0. | |
TCompRowMatrix (int rows, int cols) | |
Creates a compressed-row matrix of dimension rows x cols. More... | |
TCompRowMatrix (int rows, int cols, const idxtype *_rowptr, const idxtype *_colidx, const std::complex< float > *data=0) | |
Creates a compressed-row matrix of dimension rows x cols, and sets up data storage with specified fill structure. More... | |
TCompRowMatrix (int rows, int cols, idxtype *_rowptr, idxtype *_colidx, std::complex< float > *data, CopyMode cmode) | |
TCompRowMatrix (const TCompRowMatrix< std::complex< float > > &m) | |
Creates a compressed-row matrix as a copy of matrix m. More... | |
TCompRowMatrix (const TCoordMatrix< std::complex< float > > &m) | |
TCompRowMatrix (const TDenseMatrix< std::complex< float > > &m) | |
MatrixStorage | StorageType () const |
Matrix storage class. More... | |
TCompRowMatrix< std::complex < float > > | Submatrix (int r1, int r2, int c1, int c2) const |
TCompRowMatrix< std::complex < float > > | Subrows (int r1, int r2) const |
TCompRowMatrix< std::complex < float > > | Subcols (int c1, int c2) const |
TCoordMatrix< std::complex < float > > | MakeCoordMatrix () const |
void | New (int nrows, int ncols) |
Reset the matrix dimensions. More... | |
void | Identity (int n) |
void | DiagV (const TVector< std::complex< float > > &x) |
void | Unlink () |
void | Initialise (const idxtype *_rowptr, const idxtype *_colidx, const std::complex< float > *data=0) |
int | GetSparseStructure (const idxtype **_rowptr, const idxtype **_colidx) const |
TCompRowMatrix & | operator= (const TCompRowMatrix< std::complex< float > > &m) |
TCompRowMatrix & | operator= (const TCoordMatrix< std::complex< float > > &m) |
TCompRowMatrix< std::complex < float > > | operator- () const |
TCompRowMatrix< std::complex < float > > | operator- (const TCompRowMatrix< std::complex< float > > &m) const |
TCompRowMatrix< std::complex < float > > | operator* (std::complex< float >f) const |
TCompRowMatrix< std::complex < float > > | operator* (const TDiagMatrix< std::complex< float > > &D) const |
TVector< std::complex< float > > | operator* (const TVector< std::complex< float > > &x) const |
TCompRowMatrix< std::complex < float > > | operator* (const TCompRowMatrix< std::complex< float > > &m) const |
TCompRowMatrix< std::complex < float > > | operator+ (const TCompRowMatrix< std::complex< float > > &m) const |
TCompRowMatrix< std::complex < float > > & | operator+= (const TCompRowMatrix< std::complex< float > > &m) |
TCompRowMatrix< std::complex < float > > & | operator-= (const TCompRowMatrix< std::complex< float > > &m) |
TCompRowMatrix & | merge (const TCompRowMatrix< std::complex< float > > &m) |
std::complex< float > & | operator() (int r, int c) |
std::complex< float > | Get (int r, int c) const |
Retrieve a matrix element. More... | |
bool | Exists (int r, int c) const |
Checks allocation of a matrix element. More... | |
TVector< std::complex< float > > | Row (int r) const |
Returns a vector containing a copy of row `r'. More... | |
TVector< std::complex< float > > | Col (int c) const |
Returns a vector containing a copy of column 'c'. More... | |
int | SparseRow (int r, idxtype *ci, std::complex< float > *rv) const |
Returns a row of the matrix in sparse format. More... | |
void | SetRow (int r, const TVector< std::complex< float > > &row) |
Substitute a row of the matrix. More... | |
void | SetRows (int r0, const TCompRowMatrix< std::complex< float > > &rows) |
void | RemoveRow (int c) |
void | ColScale (const TVector< std::complex< float > > &scale) |
void | RowScale (const TVector< std::complex< float > > &scale) |
std::complex< float > | GetNext (int &r, int &c) const |
void | Ax (const TVector< std::complex< float > > &x, TVector< std::complex< float > > &b) const |
void | Ax (const TVector< std::complex< float > > &x, TVector< std::complex< float > > &b, int r1, int r2) const |
void | Ax (const TVector< std::complex< float > > *x, TVector< std::complex< float > > *b, int nrhs) const |
void | ATx (const TVector< std::complex< float > > &x, TVector< std::complex< float > > &b) const |
void | Ax_cplx (const TVector< std::complex< double > > &x, TVector< std::complex< double > > &b) const |
void | ATx_cplx (const TVector< std::complex< double > > &x, TVector< std::complex< double > > &b) const |
void | AB (const TCompRowMatrix< std::complex< float > > &B, TCompRowMatrix< std::complex< float > > &C) const |
void | Transpone () |
std::complex< float > | RowMult (int r, std::complex< float > *x) const |
void | Sort () const |
int | Shrink () |
void | SetColAccess (bool yes=true) const |
void | SetDiagAccess (bool yes=true) const |
double | LargestInRow (int r, int i=0) const |
double | LargestInCol (int c, int i=0) const |
int | pcg (const TVector< std::complex< float > > &b, TVector< std::complex< float > > &x, double &tol, TPreconditioner< std::complex< float > > *precon=0, int maxit=0) const |
void | pcg (const TVector< std::complex< float > > *b, TVector< std::complex< float > > *x, int nrhs, double tol, int maxit=0, TPreconditioner< std::complex< float > > *precon=0, IterativeSolverResult *res=0) const |
int | bicgstab (const TVector< std::complex< float > > &b, TVector< std::complex< float > > &x, double &tol, TPreconditioner< std::complex< float > > *precon=0, int maxit=0) const |
void | bicgstab (const TVector< std::complex< float > > *b, TVector< std::complex< float > > *x, int nrhs, double tol, int maxit=0, TPreconditioner< std::complex< float > > *precon=0, IterativeSolverResult *res=0) const |
void | SymbolicCholeskyFactorize (idxtype *&frowptr, idxtype *&fcolidx) const |
void | CalculateIncompleteCholeskyFillin (idxtype *&frowptr, idxtype *&fcolidx) const |
void | ExportHB (std::ostream &os) |
void | ExportRCV (std::ostream &os) |
Write sparse matrix to ASCII output stream. More... | |
void | SplitExport (const char *rootname) |
Public Member Functions inherited from TGenericSparseMatrix< MT > | |
TGenericSparseMatrix () | |
Create a sparse matrix of size 0 x 0. | |
TGenericSparseMatrix (int rows, int cols, int nv=0, const MT *data=0) | |
Create a sparse matrix of logical size rows x cols. More... | |
TGenericSparseMatrix (int rows, int cols, int nv, MT *data, CopyMode cmode=DEEP_COPY) | |
TGenericSparseMatrix (const TGenericSparseMatrix< MT > &m) | |
Constructs a matrix as a copy of 'm'. | |
virtual | ~TGenericSparseMatrix () |
Destructor. | |
void | Initialise (int nv, const MT *data) |
void | Initialise (int nv, MT *data, CopyMode cmode) |
void | Zero () |
int | nVal () const |
MT & | Val (int i) |
MT * | ValPtr () |
const MT * | ValPtr () const |
virtual void | Add (int r, int c, const MT &val) |
TGenericSparseMatrix & | operator*= (const MT &sc) |
TVector< MT > | operator* (const TVector< MT > &x) const |
virtual void | Ax (const TVector< MT > &x, TVector< MT > &b) const =0 |
virtual void | Ax (const TVector< MT > &x, TVector< MT > &b, int i1, int i2) const =0 |
virtual void | ATx (const TVector< MT > &x, TVector< MT > &b) const =0 |
TVector< MT > | ATx (const TVector< MT > &x) const |
double | FillFraction () const |
virtual void | Display (std::ostream &os) const |
virtual void | PrintFillinGraph (const char *fname, int maxdim=600, bool binary=true, bool antialias=true) |
Public Member Functions inherited from TMatrix< MT > | |
TMatrix () | |
Create a matrix of size 0 x 0. | |
TMatrix (int nrows, int ncols) | |
Create a matrix of logical size nrows x ncols. More... | |
TMatrix (const TMatrix< MT > &m) | |
Create a matrix as a copy of another matrix. More... | |
virtual | ~TMatrix () |
Destroy the matrix. More... | |
int | Dim (RC rc) const |
Return a matrix dimension. More... | |
int | nRows () const |
Return number of rows of the matrix. More... | |
int | nCols () const |
Return number of columns of the matrix. More... | |
bool | isSparse () const |
Return sparse storage flag. More... | |
bool | isFull () const |
Return dense storage flag. More... | |
MT | operator() (int r, int c) const |
Matrix element access (read only) More... | |
virtual void | SetRow (int r, const TVector< MT > &row) |
Substitute a row of the matrix. More... | |
virtual int | SparseRow (int r, idxtype *colidx, MT *val) const =0 |
Returns a row of the matrix in sparse format. More... | |
virtual TVector< MT > | Diag () const |
Returns the matrix diagonal as a vector. More... | |
virtual TVector< MT > | ColNorm () const |
Returns vector of column norms. More... | |
virtual void | ColScale (const TVector< MT > &scale)=0 |
virtual void | RowScale (const TVector< MT > &scale)=0 |
TVector< MT > | operator* (const TVector< MT > &x) const |
TVector< MT > | ATx (const TVector< MT > &x) const |
virtual MT | RowMult (int r, MT *x) const |
void | Export (std::ostream &os) const |
Write matrix to ASCII stream. More... | |
void | Print (std::ostream &os=std::cout, int n=80) const |
void | PrintNzeroGraph (char *fname) |
virtual int | pcg (const TVector< MT > &b, TVector< MT > &x, double &tol, TPreconditioner< MT > *precon=0, int maxit=0) const |
virtual void | pcg (const TVector< MT > *b, TVector< MT > *x, int nrhs, double tol, int maxit=0, TPreconditioner< MT > *precon=0, IterativeSolverResult *res=0) const |
virtual int | bicgstab (const TVector< MT > &b, TVector< MT > &x, double &tol, TPreconditioner< MT > *precon=0, int maxit=0) const |
virtual void | bicgstab (const TVector< MT > *b, TVector< MT > *x, int nrhs, double tol, int maxit=0, TPreconditioner< MT > *precon=0, IterativeSolverResult *res=0) const |
template<> | |
int | pcg (const FVector &b, FVector &x, double &tol, TPreconditioner< float > *precon, int maxit) const |
template<> | |
void | pcg (const FVector *b, FVector *x, int nrhs, double tol, int maxit, TPreconditioner< float > *precon, IterativeSolverResult *res) const |
template<> | |
int | bicgstab (const FVector &b, FVector &x, double &tol, TPreconditioner< float > *precon, int maxit) const |
template<> | |
void | bicgstab (const FVector *b, FVector *x, int nrhs, double tol, int maxit, TPreconditioner< float > *precon, IterativeSolverResult *res) const |
Additional Inherited Members | |
Public Types inherited from TMatrix< MT > | |
enum | RC { ROW, COL } |
Static Public Member Functions inherited from TGenericSparseMatrix< MT > | |
static void | GlobalSelectIterativeSolver (IterativeMethod method) |
static void | GlobalSelectIterativeSolver_complex (IterativeMethod method) |
static IterativeMethod | GetGlobalIterativeSolver () |
static IterativeMethod | GetGlobalIterativeSolver_complex () |
Public Attributes inherited from TCompRowMatrix< std::complex< float > > | |
idxtype * | rowptr |
idxtype * | colidx |
Protected Member Functions inherited from TCompRowMatrix< std::complex< float > > | |
void | ReplaceRow (int row, int nz, int *rcolidx, std::complex< float > *rval=0) |
void | ReplaceRow (int row, const TVector< std::complex< float > > &vec) |
std::complex< float > | row_mult (int r1, int r2, int from, int to) const |
std::complex< float > | sparsevec_mult (int *idx1, std::complex< float > *val1, int n1, int *idx2, std::complex< float > *val2, int n2) const |
Protected Member Functions inherited from TGenericSparseMatrix< MT > | |
void | Append (MT v=0) |
Protected Attributes inherited from TGenericSparseMatrix< MT > | |
MT * | val |
int | nbuf |
int | nval |
Protected Attributes inherited from TMatrix< MT > | |
int | rows |
int | cols |