PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
LAPACK_utilities.cpp File Reference
Include dependency graph for LAPACK_utilities.cpp:

Namespaces

namespace  LAPACK_utilities
 

Functions

void dgesvd_ (const char *JOBU, const char *JOBVT, const int *M, const int *N, double *A, const int *LDA, double *S, double *U, const int *LDU, double *VT, const int *LDVT, double *WORK, const int *LWORK, int *INFO)
 
void dggev_ (const char *JOBVL, const char *JOBVR, const int *N, double *A, const int *LDA, double *B, const int *LDB, double *ALPHAR, double *ALPHAI, double *BETA, double *VL, const int *LDVL, double *VR, const int *LDVR, double *WORK, const int *LWORK, int *INFO)
 
void dgesdd_ (const char *JOBZ, const int *M, const int *N, double *A, const int *LDA, double *S, double *U, const int *LDU, double *VT, const int *LDVT, double *WORK, const int *LWORK, int *IWORK, int *INFO)
 
void dsyev_ (const char *JOBZ, const char *UPLO, const int *N, double *A, const int *LDA, double *D, double *WORK, const int *LWORK, int *INFO)
 SSYEV computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A.
 
void dtrtri_ (const char *UPLO, const char *DIAG, const int *N, double *A, const int *LDA, int *INFO)
 DTRTRI computes the inverse of a real upper or lower triangular matrix A.
 
int dgecon_ (const char *norm, const int *n, double *a, const int *lda, const double *anorm, double *rcond, double *work, int *iwork, int *info, int len)
 
int dgetrf_ (const int *m, const int *n, double *a, const int *lda, int *lpiv, int *info)
 
double dlange_ (const char *norm, const int *m, const int *n, const double *a, const int *lda, double *work, const int norm_len)
 
void dgeqrf_ (const int *m, const int *n, double *A, const int *lda, double *tau, double *work, int *lwork, int *info)
 DORGQR and DGEQRF computes the QR decomposition of a real M-by-N matrix A.
 
void dorgqr_ (const int *m, const int *n, const int *k, double *A, const int *lda, double *tau, double *work, int *lwork, int *info)
 
void dgeqp3_ (const int *m, const int *n, double *a, const int *lda, int *jpvt, double *tau, double *work, const int *lwork, int *info)
 DGEQP3 computes the QR decomposition with pivoting of a real M-by-N matrix A.
 
void LAPACK_utilities::MGS (const Eigen::MatrixXd &X, Eigen::MatrixXd &Q, Eigen::MatrixXd &R)
 Compute the modified Gram-Schmidt factorization of matrix X.
 
double LAPACK_utilities::rcondest (const Eigen::SparseMatrix< double > &sparseA)
 
Eigen::MatrixXd LAPACK_utilities::triu (const Eigen::MatrixXd &X, const unsigned int &i)
 Extract upper triangular part of matrix X.
 
void LAPACK_utilities::svd (Eigen::MatrixXd A, Eigen::MatrixXd &V, Eigen::VectorXd &S)
 Given A = U * S * V' returns only S and V'.
 
void LAPACK_utilities::inverseTri (const Eigen::MatrixXd A, Eigen::MatrixXd &InvA, const char &UPLO, const char &DIAG)
 Compute inverse of triangular matrix.
 
void LAPACK_utilities::eig (const Eigen::MatrixXd A, Eigen::VectorXd &D, Eigen::MatrixXd &R)
 Compute eigenvalues and eigenvectors of A = R * D * R'.
 
Eigen::VectorXd LAPACK_utilities::svd (Eigen::MatrixXd A)
 Given A = U * S * V' returns only S.
 
void LAPACK_utilities::svd (Eigen::MatrixXd A, Eigen::MatrixXd &U, Eigen::MatrixXd &V, Eigen::VectorXd &S)
 Given A = U * S * V' returns U, S and V'.
 
QR_Factorization LAPACK_utilities::MGS (const Eigen::MatrixXd &X, const double &tolerance=std::numeric_limits< double >::epsilon())
 Compute the modified Gram-Schmidt factorization of matrix X with no maximum rank.
 
QR_Factorization LAPACK_utilities::QR (const Eigen::MatrixXd &X, const double &tolerance=std::numeric_limits< double >::epsilon())
 Compute the QR matrix based on Householder reflectors.
 
QR_Factorization LAPACK_utilities::QRP (const Eigen::MatrixXd &X, const double &tolerance=std::numeric_limits< double >::epsilon())
 Compute the QR with pivoting matrix based on Householder reflectors.
 
unsigned int LAPACK_utilities::rank (const Eigen::VectorXd &s, const double &tolerance)
 

Function Documentation

◆ dgecon_()

int dgecon_ ( const char *  norm,
const int *  n,
double *  a,
const int *  lda,
const double *  anorm,
double *  rcond,
double *  work,
int *  iwork,
int *  info,
int  len 
)

◆ dgeqp3_()

void dgeqp3_ ( const int *  m,
const int *  n,
double *  a,
const int *  lda,
int *  jpvt,
double *  tau,
double *  work,
const int *  lwork,
int *  info 
)

DGEQP3 computes the QR decomposition with pivoting of a real M-by-N matrix A.

◆ dgeqrf_()

void dgeqrf_ ( const int *  m,
const int *  n,
double *  A,
const int *  lda,
double *  tau,
double *  work,
int *  lwork,
int *  info 
)

DORGQR and DGEQRF computes the QR decomposition of a real M-by-N matrix A.

◆ dgesdd_()

void dgesdd_ ( const char *  JOBZ,
const int *  M,
const int *  N,
double *  A,
const int *  LDA,
double *  S,
double *  U,
const int *  LDU,
double *  VT,
const int *  LDVT,
double *  WORK,
const int *  LWORK,
int *  IWORK,
int *  INFO 
)

DGESVD computes the singular value decomposition (SVD) of a real M-by-N matrix A. ( Double precision, Divide and conquer driver)

◆ dgesvd_()

void dgesvd_ ( const char *  JOBU,
const char *  JOBVT,
const int *  M,
const int *  N,
double *  A,
const int *  LDA,
double *  S,
double *  U,
const int *  LDU,
double *  VT,
const int *  LDVT,
double *  WORK,
const int *  LWORK,
int *  INFO 
)

DGESVD computes the singular value decomposition (SVD) of a real M-by-N matrix A. ( Double precision, simple driver)

◆ dgetrf_()

int dgetrf_ ( const int *  m,
const int *  n,
double *  a,
const int *  lda,
int *  lpiv,
int *  info 
)

◆ dggev_()

void dggev_ ( const char *  JOBVL,
const char *  JOBVR,
const int *  N,
double *  A,
const int *  LDA,
double *  B,
const int *  LDB,
double *  ALPHAR,
double *  ALPHAI,
double *  BETA,
double *  VL,
const int *  LDVL,
double *  VR,
const int *  LDVR,
double *  WORK,
const int *  LWORK,
int *  INFO 
)

DGGEV computes for a pair of N-by-N real nonsymmetric matrices (A,B) the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors.

◆ dlange_()

double dlange_ ( const char *  norm,
const int *  m,
const int *  n,
const double *  a,
const int *  lda,
double *  work,
const int  norm_len 
)

◆ dorgqr_()

void dorgqr_ ( const int *  m,
const int *  n,
const int *  k,
double *  A,
const int *  lda,
double *  tau,
double *  work,
int *  lwork,
int *  info 
)

◆ dsyev_()

void dsyev_ ( const char *  JOBZ,
const char *  UPLO,
const int *  N,
double *  A,
const int *  LDA,
double *  D,
double *  WORK,
const int *  LWORK,
int *  INFO 
)

SSYEV computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A.

◆ dtrtri_()

void dtrtri_ ( const char *  UPLO,
const char *  DIAG,
const int *  N,
double *  A,
const int *  LDA,
int *  INFO 
)

DTRTRI computes the inverse of a real upper or lower triangular matrix A.