Toast++  1.0.2 (r.539)
Forward and inverse modelling in optical tomography
Public Member Functions | List of all members
SCCompRowMatrixMixed Class Reference
Inheritance diagram for SCCompRowMatrixMixed:
TCompRowMatrix< std::complex< float > > TGenericSparseMatrix< MT > TMatrix< MT >

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
 
TCompRowMatrixoperator= (const TCompRowMatrix< std::complex< float > > &m)
 
TCompRowMatrixoperator= (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)
 
TCompRowMatrixmerge (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)
 
TGenericSparseMatrixoperator*= (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
 

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