NGSolve
4.9
|
A symmetric sparse matrix. More...
#include <sparsematrix.hpp>
Public Types | |
typedef mat_traits< TM >::TSCAL | TSCAL |
typedef TV | TV_COL |
typedef TV | TV_ROW |
typedef TV | TVY |
typedef TV | TVX |
Public Member Functions | |
SparseMatrixSymmetric (int as, int max_elsperrow) | |
SparseMatrixSymmetric (const Array< int > &elsperrow) | |
SparseMatrixSymmetric (int size, const Table< int > &rowelements) | |
SparseMatrixSymmetric (const MatrixGraph &agraph, bool stealgraph) | |
SparseMatrixSymmetric (const SparseMatrixSymmetric &amat) | |
SparseMatrixSymmetric (const SparseMatrixSymmetricTM< TM > &amat) | |
SparseMatrixSymmetric & | operator= (double s) |
scalar assignment | |
virtual BaseMatrix * | CreateMatrix () const |
creates matrix of same type | |
virtual BaseJacobiPrecond * | CreateJacobiPrecond (const BitArray *inner) const |
virtual BaseBlockJacobiPrecond * | CreateBlockJacobiPrecond (Table< int > &blocks, const BaseVector *constraint=0, const ngcomp::Preconditioner *acoarsegridprecond=0, bool parallel=1, const BitArray *freedofs=NULL) const |
virtual BaseSparseMatrix * | Restrict (const SparseMatrixTM< double > &prol, BaseSparseMatrix *cmat=NULL) const |
virtual void | MultAdd (double s, const BaseVector &x, BaseVector &y) const |
y += s matrix * x | |
virtual void | MultTransAdd (double s, const BaseVector &x, BaseVector &y) const |
y += s Trans(matrix) * x | |
virtual void | MultAdd1 (double s, const BaseVector &x, BaseVector &y, const BitArray *ainner=NULL, const Array< int > *acluster=NULL) const |
to split mat x vec for symmetric matrices only rows with inner or cluster true need by added (but more can be ...) | |
virtual void | MultAdd2 (double s, const BaseVector &x, BaseVector &y, const BitArray *ainner=NULL, const Array< int > *acluster=NULL) const |
only cols with inner or cluster true need by added (but more can be ...) | |
TV_COL | RowTimesVectorNoDiag (int row, const FlatVector< TVX > &vec) const |
void | AddRowTransToVectorNoDiag (int row, TVY el, FlatVector< TVX > &vec) const |
BaseSparseMatrix & | AddMerge (double s, const SparseMatrixSymmetric &m2) |
virtual BaseMatrix * | InverseMatrix (const BitArray *subset=0) const |
virtual BaseMatrix * | InverseMatrix (const Array< int > *clusters) const |
A symmetric sparse matrix.