|
| TDenseMatrixMPI () |
| Defines a matrix of size 0 x 0.
|
|
| TDenseMatrixMPI (int r, int c) |
| Defines a matrix of size r x c, and allocates space for a sub-set of rows. More...
|
|
| ~TDenseMatrixMPI () |
|
MatrixStorage | StorageType () const |
| Matrix storage class. More...
|
|
void | New (int r, int c) |
| Resize matrix to new dimensions. More...
|
|
void | MPIRange (int *_r0, int *_r1) const |
| Returns the row range of the current process. More...
|
|
MT | Get (int r, int c) const |
| Retrieve a matrix element. More...
|
|
MT & | operator() (int r, int c) |
|
TVector< MT > | Row (int r) const |
| Returns a row of the matrix. More...
|
|
TVector< MT > | Col (int c) const |
| Returns a vector containing a copy of column 'c'. More...
|
|
int | SparseRow (int r, int *ci, MT *rv) const |
| Returns a row of the matrix in sparse format. More...
|
|
void | SetRow (int r, const TVector< MT > &rval) |
| Replace entries in row r with the values provided in rval. More...
|
|
void | ColScale (const TVector< MT > &scale) |
|
void | RowScale (const TVector< MT > &scale) |
|
TVector< MT > | RowSum () const |
| Returns a vector of row sums. More...
|
|
TVector< MT > | RowSumSq () const |
| Returns a vector of sum of squares for each row. More...
|
|
TVector< MT > | ColSum () const |
| Returns a vector of column sums. More...
|
|
TVector< MT > | ColSumSq () const |
| Returns a vector of sum of squares for each column. More...
|
|
void | Ax (const TVector< MT > &x, TVector< MT > &b) const |
| Matrix x vector product. More...
|
|
void | ATx (const TVector< MT > &x, TVector< MT > &b) const |
| Matrix-transpose x vector product. More...
|
|
MPI_Datatype | MPIType () const |
| Returns MPI type compatible with template type.
|
|
| 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 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 void | Transpone () |
|
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 TDenseMatrixMPI< MT >
Distributed dense matrix class.
A dense matrix type that distributes itself across the available processes, by assigning blocks of rows of equal size to each process.
Each process only allocates the memory required to store the associated sub-block. Methods such as matrix x vector (Ax) and transpose(matrix) x vector (ATx) are automaticall performed in parallel, without the need for any special code by the application developer.