NGSolve  4.9
Public Types | Public Member Functions
ngla::SparseMatrixSymmetric< TM, TV > Class Template Reference

A symmetric sparse matrix. More...

#include <sparsematrix.hpp>

Inheritance diagram for ngla::SparseMatrixSymmetric< TM, TV >:
ngla::SparseMatrixSymmetricTM< TM > ngla::SparseMatrix< TM, TV, TV > ngla::SparseMatrixTM< TM > ngla::SparseMatrixTM< TM > ngla::BaseSparseMatrix ngla::S_BaseMatrix< mat_traits< TM >::TSCAL > ngla::BaseSparseMatrix ngla::S_BaseMatrix< mat_traits< TM >::TSCAL > ngla::BaseMatrix ngla::MatrixGraph ngla::BaseMatrix ngla::BaseMatrix ngla::MatrixGraph ngla::BaseMatrix

List of all members.

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)
SparseMatrixSymmetricoperator= (double s)
 scalar assignment
virtual BaseMatrixCreateMatrix () const
 creates matrix of same type
virtual BaseJacobiPrecondCreateJacobiPrecond (const BitArray *inner) const
virtual BaseBlockJacobiPrecondCreateBlockJacobiPrecond (Table< int > &blocks, const BaseVector *constraint=0, const ngcomp::Preconditioner *acoarsegridprecond=0, bool parallel=1, const BitArray *freedofs=NULL) const
virtual BaseSparseMatrixRestrict (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
BaseSparseMatrixAddMerge (double s, const SparseMatrixSymmetric &m2)
virtual BaseMatrixInverseMatrix (const BitArray *subset=0) const
virtual BaseMatrixInverseMatrix (const Array< int > *clusters) const

Detailed Description

template<class TM, class TV>
class ngla::SparseMatrixSymmetric< TM, TV >

A symmetric sparse matrix.


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