|
| TCoordMatrix () |
| Creates a coordinate matrix of dimension 0 x 0.
|
|
| TCoordMatrix (int rows, int cols) |
| Creates a coordinate matrix of dimension rows x cols. More...
|
|
| TCoordMatrix (int rows, int cols, int vals, idxtype *_rowidx, idxtype *_colidx, MT *_data=0) |
|
| TCoordMatrix (const TCoordMatrix< MT > &m) |
|
MatrixStorage | StorageType () const |
| Matrix storage class. More...
|
|
void | New (int rows, int cols) |
| Reset the matrix dimensions. More...
|
|
void | Unlink () |
|
void | Initialise (int nv, idxtype *_rowidx, idxtype *_colidx, MT *data=0) |
|
TCoordMatrix & | operator= (const TCoordMatrix< MT > &m) |
|
MT & | operator() (int r, int c) |
|
MT | 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< MT > | Row (int r) const |
| Returns a vector containing a copy of row `r'. More...
|
|
TVector< MT > | Col (int c) const |
| Returns a vector containing a copy of column 'c'. More...
|
|
int | SparseRow (int r, idxtype *ci, MT *rv) const |
| Returns a row of the matrix in sparse format. More...
|
|
void | ColScale (const TVector< MT > &scale) |
|
void | RowScale (const TVector< MT > &scale) |
|
MT | GetNext (int &r, int &c) const |
|
void | Ax (const TVector< MT > &x, TVector< MT > &b) const |
|
void | Ax (const TVector< MT > &x, TVector< MT > &b, int r1, int r2) const |
|
void | ATx (const TVector< MT > &x, TVector< MT > &b) const |
|
void | Transpone () |
|
MT & | Val (int i) |
|
const MT & | Val (int i) const |
|
void | Sort (bool roworder=true) const |
|
const idxtype * | RowIndex () const |
|
const idxtype * | ColIndex () const |
|
idxtype | RowIndex (int i) const |
|
idxtype | ColIndex (int i) const |
|
| 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 |
|
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) |
|
virtual void | ExportRCV (std::ostream &os) |
| Write sparse matrix to ASCII output stream. More...
|
|
| 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 TVector< MT > | Diag () const |
| Returns the matrix diagonal as a vector. More...
|
|
virtual TVector< MT > | ColNorm () const |
| Returns vector of column norms. More...
|
|
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 |
|
template<class MT>
class TCoordMatrix< MT >
Coordinate-storage sparse matrix class.
This matrix class represents its data by a data array 'val' of length nz, a column index array 'colidx' of length nz, and a row index array 'rowidx' of length nz, where nz is the number of allocated elements. Elements can be stored unsorted, which makes it easier to dynamically re-allocate storage space, but reduces efficiency of various methods. Sorting can be applied once the matrix structure is fixed to improve performance.