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

Go to the source code of this file.

Classes

class  mfem::DenseMatrix
 Data type dense matrix using column-major storage. More...
 
class  mfem::Factors
 
class  mfem::LUFactors
 
class  mfem::CholeskyFactors
 
class  mfem::DenseMatrixInverse
 
class  mfem::DenseMatrixEigensystem
 
class  mfem::DenseMatrixGeneralizedEigensystem
 
class  mfem::DenseMatrixSVD
 Class for Singular Value Decomposition of a DenseMatrix. More...
 
class  mfem::DenseTensor
 Rank 3 tensor (array of matrices) More...
 

Namespaces

namespace  mfem
 

Functions

void mfem::Add (const DenseMatrix &A, const DenseMatrix &B, real_t alpha, DenseMatrix &C)
 C = A + alpha*B.
 
void mfem::Add (real_t alpha, const real_t *A, real_t beta, const real_t *B, DenseMatrix &C)
 C = alpha*A + beta*B.
 
void mfem::Add (real_t alpha, const DenseMatrix &A, real_t beta, const DenseMatrix &B, DenseMatrix &C)
 C = alpha*A + beta*B.
 
bool mfem::LinearSolve (DenseMatrix &A, real_t *X, real_t TOL=1.e-9)
 Solves the dense linear system, A * X = B for X
 
void mfem::Mult (const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a)
 Matrix matrix multiplication. A = B * C.
 
void mfem::AddMult (const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a)
 Matrix matrix multiplication. A += B * C.
 
void mfem::AddMult_a (real_t alpha, const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a)
 Matrix matrix multiplication. A += alpha * B * C.
 
void mfem::CalcAdjugate (const DenseMatrix &a, DenseMatrix &adja)
 
void mfem::CalcAdjugateTranspose (const DenseMatrix &a, DenseMatrix &adjat)
 Calculate the transposed adjugate of a matrix (for NxN matrices, N=1,2,3)
 
void mfem::CalcInverse (const DenseMatrix &a, DenseMatrix &inva)
 
void mfem::CalcInverseTranspose (const DenseMatrix &a, DenseMatrix &inva)
 Calculate the inverse transpose of a matrix (for NxN matrices, N=1,2,3)
 
void mfem::CalcOrtho (const DenseMatrix &J, Vector &n)
 
void mfem::MultAAt (const DenseMatrix &a, DenseMatrix &aat)
 Calculate the matrix A.At.
 
void mfem::MultADAt (const DenseMatrix &A, const Vector &D, DenseMatrix &ADAt)
 ADAt = A D A^t, where D is diagonal.
 
void mfem::AddMultADAt (const DenseMatrix &A, const Vector &D, DenseMatrix &ADAt)
 ADAt += A D A^t, where D is diagonal.
 
void mfem::MultABt (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt)
 Multiply a matrix A with the transpose of a matrix B: A*Bt.
 
void mfem::MultADBt (const DenseMatrix &A, const Vector &D, const DenseMatrix &B, DenseMatrix &ADBt)
 ADBt = A D B^t, where D is diagonal.
 
void mfem::AddMultABt (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt)
 ABt += A * B^t.
 
void mfem::AddMultADBt (const DenseMatrix &A, const Vector &D, const DenseMatrix &B, DenseMatrix &ADBt)
 ADBt = A D B^t, where D is diagonal.
 
void mfem::AddMult_a_ABt (real_t a, const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt)
 ABt += a * A * B^t.
 
void mfem::MultAtB (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &AtB)
 Multiply the transpose of a matrix A with a matrix B: At*B.
 
void mfem::AddMultAtB (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &AtB)
 AtB += A^t * B.
 
void mfem::AddMult_a_AtB (real_t a, const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &AtB)
 AtB += a * A^t * B.
 
void mfem::AddMult_a_AAt (real_t a, const DenseMatrix &A, DenseMatrix &AAt)
 AAt += a * A * A^t.
 
void mfem::Mult_a_AAt (real_t a, const DenseMatrix &A, DenseMatrix &AAt)
 AAt = a * A * A^t.
 
void mfem::MultVVt (const Vector &v, DenseMatrix &vvt)
 Make a matrix from a vector V.Vt.
 
void mfem::MultVWt (const Vector &v, const Vector &w, DenseMatrix &VWt)
 
void mfem::AddMultVWt (const Vector &v, const Vector &w, DenseMatrix &VWt)
 VWt += v w^t.
 
void mfem::AddMultVVt (const Vector &v, DenseMatrix &VWt)
 VVt += v v^t.
 
void mfem::AddMult_a_VWt (const real_t a, const Vector &v, const Vector &w, DenseMatrix &VWt)
 VWt += a * v w^t.
 
void mfem::AddMult_a_VVt (const real_t a, const Vector &v, DenseMatrix &VVt)
 VVt += a * v v^t.
 
void mfem::RAP (const DenseMatrix &A, const DenseMatrix &P, DenseMatrix &RAP)
 
void mfem::RAP (const DenseMatrix &Rt, const DenseMatrix &A, const DenseMatrix &P, DenseMatrix &RAP)
 
void mfem::BatchLUFactor (DenseTensor &Mlu, Array< int > &P, const real_t TOL=0.0)
 Compute the LU factorization of a batch of matrices.
 
void mfem::BatchLUSolve (const DenseTensor &Mlu, const Array< int > &P, Vector &X)
 Solve batch linear systems.