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

Go to the source code of this file.

Namespaces

 mfem
 

Functions

void dgemm_ (char *, char *, int *, int *, int *, double *, double *, int *, double *, int *, double *, double *, int *)
 
void dgetrf_ (int *, int *, double *, int *, int *, int *)
 
void dgetrs_ (char *, int *, int *, double *, int *, int *, double *, int *, int *)
 
void dgetri_ (int *N, double *A, int *LDA, int *IPIV, double *WORK, int *LWORK, int *INFO)
 
void dsyevr_ (char *JOBZ, char *RANGE, char *UPLO, int *N, double *A, int *LDA, double *VL, double *VU, int *IL, int *IU, double *ABSTOL, int *M, double *W, double *Z, int *LDZ, int *ISUPPZ, double *WORK, int *LWORK, int *IWORK, int *LIWORK, int *INFO)
 
void dsyev_ (char *JOBZ, char *UPLO, int *N, double *A, int *LDA, double *W, double *WORK, int *LWORK, int *INFO)
 
void dsygv_ (int *ITYPE, char *JOBZ, char *UPLO, int *N, double *A, int *LDA, double *B, int *LDB, double *W, double *WORK, int *LWORK, int *INFO)
 
void dgesvd_ (char *JOBU, char *JOBVT, int *M, int *N, double *A, int *LDA, double *S, double *U, int *LDU, double *VT, int *LDVT, double *WORK, int *LWORK, int *INFO)
 
void dtrsm_ (char *side, char *uplo, char *transa, char *diag, int *m, int *n, double *alpha, double *a, int *lda, double *b, int *ldb)
 
void mfem::dsyevr_Eigensystem (DenseMatrix &a, Vector &ev, DenseMatrix *evect)
 
void mfem::dsyev_Eigensystem (DenseMatrix &a, Vector &ev, DenseMatrix *evect)
 
void mfem::dsygv_Eigensystem (DenseMatrix &a, DenseMatrix &b, Vector &ev, DenseMatrix *evect)
 
void mfem::Add (const DenseMatrix &A, const DenseMatrix &B, double alpha, DenseMatrix &C)
 C = A + alpha*B. More...
 
void mfem::Add (double alpha, const double *A, double beta, const double *B, DenseMatrix &C)
 C = alpha*A + beta*B. More...
 
void mfem::Add (double alpha, const DenseMatrix &A, double beta, const DenseMatrix &B, DenseMatrix &C)
 C = alpha*A + beta*B. More...
 
bool mfem::LinearSolve (DenseMatrix &A, double *X, double TOL=1.e-9)
 Solves the dense linear system, A * X = B for X More...
 
void mfem::Mult (const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a)
 Matrix matrix multiplication. A = B * C. More...
 
void mfem::AddMult_a (double alpha, const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a)
 Matrix matrix multiplication. A += alpha * B * C. More...
 
void mfem::AddMult (const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a)
 Matrix matrix multiplication. A += B * C. More...
 
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) More...
 
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) More...
 
void mfem::CalcOrtho (const DenseMatrix &J, Vector &n)
 
void mfem::MultAAt (const DenseMatrix &a, DenseMatrix &aat)
 Calculate the matrix A.At. More...
 
void mfem::AddMultADAt (const DenseMatrix &A, const Vector &D, DenseMatrix &ADAt)
 ADAt += A D A^t, where D is diagonal. More...
 
void mfem::MultADAt (const DenseMatrix &A, const Vector &D, DenseMatrix &ADAt)
 ADAt = A D A^t, where D is diagonal. More...
 
void mfem::MultABt (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt)
 Multiply a matrix A with the transpose of a matrix B: A*Bt. More...
 
void mfem::MultADBt (const DenseMatrix &A, const Vector &D, const DenseMatrix &B, DenseMatrix &ADBt)
 ADBt = A D B^t, where D is diagonal. More...
 
void mfem::AddMultABt (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt)
 ABt += A * B^t. More...
 
void mfem::AddMultADBt (const DenseMatrix &A, const Vector &D, const DenseMatrix &B, DenseMatrix &ADBt)
 ADBt = A D B^t, where D is diagonal. More...
 
void mfem::AddMult_a_ABt (double a, const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &ABt)
 ABt += a * A * B^t. More...
 
void mfem::MultAtB (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &AtB)
 Multiply the transpose of a matrix A with a matrix B: At*B. More...
 
void mfem::AddMult_a_AAt (double a, const DenseMatrix &A, DenseMatrix &AAt)
 AAt += a * A * A^t. More...
 
void mfem::Mult_a_AAt (double a, const DenseMatrix &A, DenseMatrix &AAt)
 AAt = a * A * A^t. More...
 
void mfem::MultVVt (const Vector &v, DenseMatrix &vvt)
 Make a matrix from a vector V.Vt. More...
 
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. More...
 
void mfem::AddMultVVt (const Vector &v, DenseMatrix &VWt)
 VVt += v v^t. More...
 
void mfem::AddMult_a_VWt (const double a, const Vector &v, const Vector &w, DenseMatrix &VWt)
 VWt += a * v w^t. More...
 
void mfem::AddMult_a_VVt (const double a, const Vector &v, DenseMatrix &VVt)
 VVt += a * v v^t. More...
 

Function Documentation

void dgemm_ ( char *  ,
char *  ,
int *  ,
int *  ,
int *  ,
double *  ,
double *  ,
int *  ,
double *  ,
int *  ,
double *  ,
double *  ,
int *   
)
void dgesvd_ ( char *  JOBU,
char *  JOBVT,
int *  M,
int *  N,
double *  A,
int *  LDA,
double *  S,
double *  U,
int *  LDU,
double *  VT,
int *  LDVT,
double *  WORK,
int *  LWORK,
int *  INFO 
)
void dgetrf_ ( int *  ,
int *  ,
double *  ,
int *  ,
int *  ,
int *   
)
void dgetri_ ( int *  N,
double *  A,
int *  LDA,
int *  IPIV,
double *  WORK,
int *  LWORK,
int *  INFO 
)
void dgetrs_ ( char *  ,
int *  ,
int *  ,
double *  ,
int *  ,
int *  ,
double *  ,
int *  ,
int *   
)
void dsyev_ ( char *  JOBZ,
char *  UPLO,
int *  N,
double *  A,
int *  LDA,
double *  W,
double *  WORK,
int *  LWORK,
int *  INFO 
)
void dsyevr_ ( char *  JOBZ,
char *  RANGE,
char *  UPLO,
int *  N,
double *  A,
int *  LDA,
double *  VL,
double *  VU,
int *  IL,
int *  IU,
double *  ABSTOL,
int *  M,
double *  W,
double *  Z,
int *  LDZ,
int *  ISUPPZ,
double *  WORK,
int *  LWORK,
int *  IWORK,
int *  LIWORK,
int *  INFO 
)
void dsygv_ ( int *  ITYPE,
char *  JOBZ,
char *  UPLO,
int *  N,
double *  A,
int *  LDA,
double *  B,
int *  LDB,
double *  W,
double *  WORK,
int *  LWORK,
int *  INFO 
)
void dtrsm_ ( char *  side,
char *  uplo,
char *  transa,
char *  diag,
int *  m,
int *  n,
double *  alpha,
double *  a,
int *  lda,
double *  b,
int *  ldb 
)