MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
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.