MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
sparsemat.hpp File Reference

Go to the source code of this file.

Classes

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

Namespaces

namespace  mfem
 

Functions

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