MFEM  v4.4.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Classes | Namespaces | Functions
sparsemat.hpp File Reference

Go to the source code of this file.

Classes

class  mfem::SparseMatrix
 Data type sparse matrix. More...
 

Namespaces

 mfem
 

Functions

class if mfem::defined (__alignas_is_defined) alignas(double) RowNode
 
std::ostream & mfem::operator<< (std::ostream &os, SparseMatrix const &mat)
 
void mfem::SparseMatrixFunction (SparseMatrix &S, double(*f)(double))
 Applies f() to each element of the matrix (after it is finalized). More...
 
SparseMatrix * mfem::Transpose (const SparseMatrix &A)
 Transpose of a sparse matrix. A must be finalized. More...
 
SparseMatrix * mfem::TransposeAbstractSparseMatrix (const AbstractSparseMatrix &A, int useActualWidth)
 Transpose of a sparse matrix. A does not need to be a CSR matrix. More...
 
SparseMatrix * mfem::Mult (const SparseMatrix &A, const SparseMatrix &B, SparseMatrix *OAB=NULL)
 Matrix product A.B. More...
 
SparseMatrix * mfem::TransposeMult (const SparseMatrix &A, const SparseMatrix &B)
 C = A^T B. More...
 
SparseMatrix * mfem::MultAbstractSparseMatrix (const AbstractSparseMatrix &A, const AbstractSparseMatrix &B)
 Matrix product of sparse matrices. A and B do not need to be CSR matrices. More...
 
DenseMatrix * mfem::Mult (const SparseMatrix &A, DenseMatrix &B)
 Matrix product A.B. More...
 
DenseMatrix * mfem::RAP (const SparseMatrix &A, DenseMatrix &P)
 RAP matrix product (with R=P^T) More...
 
DenseMatrix * mfem::RAP (DenseMatrix &A, const SparseMatrix &P)
 RAP matrix product (with R=P^T) More...
 
SparseMatrix * mfem::RAP (const SparseMatrix &A, const SparseMatrix &R, SparseMatrix *ORAP)
 
SparseMatrix * mfem::RAP (const SparseMatrix &Rt, const SparseMatrix &A, const SparseMatrix &P)
 General RAP with given R^T, A and P. More...
 
SparseMatrix * mfem::Mult_AtDA (const SparseMatrix &A, const Vector &D, SparseMatrix *OAtDA=NULL)
 Matrix multiplication A^t D A. All matrices must be finalized. More...
 
SparseMatrix * mfem::Add (const SparseMatrix &A, const SparseMatrix &B)
 Matrix addition result = A + B. More...
 
SparseMatrix * mfem::Add (double a, const SparseMatrix &A, double b, const SparseMatrix &B)
 Matrix addition result = a*A + b*B. More...
 
SparseMatrix * mfem::Add (Array< SparseMatrix * > &Ai)
 Matrix addition result = sum_i A_i. More...
 
void mfem::Add (const SparseMatrix &A, double alpha, DenseMatrix &B)
 B += alpha * A. More...
 
DenseMatrix * mfem::OuterProduct (const DenseMatrix &A, const DenseMatrix &B)
 Produces a block matrix with blocks A_{ij}*B. More...
 
SparseMatrix * mfem::OuterProduct (const DenseMatrix &A, const SparseMatrix &B)
 Produces a block matrix with blocks A_{ij}*B. More...
 
SparseMatrix * mfem::OuterProduct (const SparseMatrix &A, const DenseMatrix &B)
 Produces a block matrix with blocks A_{ij}*B. More...
 
SparseMatrix * mfem::OuterProduct (const SparseMatrix &A, const SparseMatrix &B)
 Produces a block matrix with blocks A_{ij}*B. More...
 
template<>
void mfem::Swap< SparseMatrix > (SparseMatrix &a, SparseMatrix &b)
 Specialization of the template function Swap<> for class SparseMatrix. More...