ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Namespaces | Functions
lapack.h File Reference

This is a direct wrapper of some LAPACK routines. Column-Major version. Direct wrapping of standard LAPACK routines. (Column-Major, fortran style) More...

#include <complex>
Include dependency graph for lapack.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  container
 
namespace  container::lapackConnector
 

Functions

int ilaenv_ (const int *ispec, const char *name, const char *opts, const int *n1, const int *n2, const int *n3, const int *n4)
 
void ssygvd_ (const int *itype, const char *jobz, const char *uplo, const int *n, float *a, const int *lda, float *b, const int *ldb, float *w, float *work, const int *lwork, int *iwork, const int *liwork, int *info)
 
void dsygvd_ (const int *itype, const char *jobz, const char *uplo, const int *n, double *a, const int *lda, double *b, const int *ldb, double *w, double *work, const int *lwork, int *iwork, const int *liwork, int *info)
 
void chegvd_ (const int *itype, const char *jobz, const char *uplo, const int *n, std::complex< float > *a, const int *lda, std::complex< float > *b, const int *ldb, float *w, std::complex< float > *work, const int *lwork, float *rwork, const int *lrwork, int *iwork, const int *liwork, int *info)
 
void zhegvd_ (const int *itype, const char *jobz, const char *uplo, const int *n, std::complex< double > *a, const int *lda, std::complex< double > *b, const int *ldb, double *w, std::complex< double > *work, const int *lwork, double *rwork, const int *lrwork, int *iwork, const int *liwork, int *info)
 
void ssygvx_ (const int *itype, const char *jobz, const char *range, const char *uplo, const int *n, float *A, const int *lda, float *B, const int *ldb, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, float *Z, const int *ldz, float *work, const int *lwork, int *iwork, int *ifail, int *info)
 
void dsygvx_ (const int *itype, const char *jobz, const char *range, const char *uplo, const int *n, double *A, const int *lda, double *B, const int *ldb, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, double *Z, const int *ldz, double *work, const int *lwork, int *iwork, int *ifail, int *info)
 
void chegvx_ (const int *itype, const char *jobz, const char *range, const char *uplo, const int *n, std::complex< float > *A, const int *lda, std::complex< float > *B, const int *ldb, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, std::complex< float > *Z, const int *ldz, std::complex< float > *work, const int *lwork, float *rwork, int *iwork, int *ifail, int *info)
 
void zhegvx_ (const int *itype, const char *jobz, const char *range, const char *uplo, const int *n, std::complex< double > *A, const int *lda, std::complex< double > *B, const int *ldb, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, std::complex< double > *Z, const int *ldz, std::complex< double > *work, const int *lwork, double *rwork, int *iwork, int *ifail, int *info)
 
void ssyevx_ (const char *jobz, const char *range, const char *uplo, const int *n, float *a, const int *lda, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, float *z, const int *ldz, float *work, const int *lwork, int *iwork, int *ifail, int *info)
 
void dsyevx_ (const char *jobz, const char *range, const char *uplo, const int *n, double *a, const int *lda, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, double *z, const int *ldz, double *work, const int *lwork, int *iwork, int *ifail, int *info)
 
void cheevx_ (const char *jobz, const char *range, const char *uplo, const int *n, std::complex< float > *a, const int *lda, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, std::complex< float > *z, const int *ldz, std::complex< float > *work, const int *lwork, float *rwork, int *iwork, int *ifail, int *info)
 
void zheevx_ (const char *jobz, const char *range, const char *uplo, const int *n, std::complex< double > *a, const int *lda, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, std::complex< double > *z, const int *ldz, std::complex< double > *work, const int *lwork, double *rwork, int *iwork, int *ifail, int *info)
 
void ssyevd_ (const char *jobz, const char *uplo, const int *n, float *a, const int *lda, float *w, float *work, const int *lwork, int *iwork, const int *liwork, int *info)
 
void dsyevd_ (const char *jobz, const char *uplo, const int *n, double *a, const int *lda, double *w, double *work, const int *lwork, int *iwork, const int *liwork, int *info)
 
void cheevd_ (const char *jobz, const char *uplo, const int *n, std::complex< float > *a, const int *lda, float *w, std::complex< float > *work, const int *lwork, float *rwork, const int *lrwork, int *iwork, const int *liwork, int *info)
 
void zheevd_ (const char *jobz, const char *uplo, const int *n, std::complex< double > *a, const int *lda, double *w, std::complex< double > *work, const int *lwork, double *rwork, const int *lrwork, int *iwork, const int *liwork, int *info)
 
void spotrf_ (const char *uplo, const int *n, float *A, const int *lda, int *info)
 
void dpotrf_ (const char *uplo, const int *n, double *A, const int *lda, int *info)
 
void cpotrf_ (const char *uplo, const int *n, std::complex< float > *A, const int *lda, int *info)
 
void zpotrf_ (const char *uplo, const int *n, std::complex< double > *A, const int *lda, int *info)
 
void spotri_ (const char *uplo, const int *n, float *A, const int *lda, int *info)
 
void dpotri_ (const char *uplo, const int *n, double *A, const int *lda, int *info)
 
void cpotri_ (const char *uplo, const int *n, std::complex< float > *A, const int *lda, int *info)
 
void zpotri_ (const char *uplo, const int *n, std::complex< double > *A, const int *lda, int *info)
 
void strtri_ (const char *uplo, const char *diag, const int *n, float *a, const int *lda, int *info)
 
void dtrtri_ (const char *uplo, const char *diag, const int *n, double *a, const int *lda, int *info)
 
void ctrtri_ (const char *uplo, const char *diag, const int *n, std::complex< float > *a, const int *lda, int *info)
 
void ztrtri_ (const char *uplo, const char *diag, const int *n, std::complex< double > *a, const int *lda, int *info)
 
void sgetrf_ (const int *m, const int *n, float *a, const int *lda, int *ipiv, int *info)
 
void dgetrf_ (const int *m, const int *n, double *a, const int *lda, int *ipiv, int *info)
 
void cgetrf_ (const int *m, const int *n, std::complex< float > *a, const int *lda, int *ipiv, int *info)
 
void zgetrf_ (const int *m, const int *n, std::complex< double > *a, const int *lda, int *ipiv, int *info)
 
void sgetri_ (const int *n, float *A, const int *lda, const int *ipiv, float *work, const int *lwork, int *info)
 
void dgetri_ (const int *n, double *A, const int *lda, const int *ipiv, double *work, const int *lwork, int *info)
 
void cgetri_ (const int *n, std::complex< float > *A, const int *lda, const int *ipiv, std::complex< float > *work, const int *lwork, int *info)
 
void zgetri_ (const int *n, std::complex< double > *A, const int *lda, const int *ipiv, std::complex< double > *work, const int *lwork, int *info)
 
void sgetrs_ (const char *trans, const int *n, const int *nrhs, const float *A, const int *lda, const int *ipiv, float *B, const int *ldb, int *info)
 
void dgetrs_ (const char *trans, const int *n, const int *nrhs, const double *A, const int *lda, const int *ipiv, double *B, const int *ldb, int *info)
 
void cgetrs_ (const char *trans, const int *n, const int *nrhs, const std::complex< float > *A, const int *lda, const int *ipiv, std::complex< float > *B, const int *ldb, int *info)
 
void zgetrs_ (const char *trans, const int *n, const int *nrhs, const std::complex< double > *A, const int *lda, const int *ipiv, std::complex< double > *B, const int *ldb, int *info)
 
void sgeqrf_ (const int *m, const int *n, float *A, const int *lda, float *tau, float *work, const int *lwork, int *info)
 
void dgeqrf_ (const int *m, const int *n, double *A, const int *lda, double *tau, double *work, const int *lwork, int *info)
 
void cgeqrf_ (const int *m, const int *n, std::complex< float > *A, const int *lda, std::complex< float > *tau, std::complex< float > *work, const int *lwork, int *info)
 
void zgeqrf_ (const int *m, const int *n, std::complex< double > *A, const int *lda, std::complex< double > *tau, std::complex< double > *work, const int *lwork, int *info)
 
void sorgqr_ (const int *m, const int *n, const int *k, float *A, const int *lda, const float *tau, float *work, const int *lwork, int *info)
 
void dorgqr_ (const int *m, const int *n, const int *k, double *A, const int *lda, const double *tau, double *work, const int *lwork, int *info)
 
void cungqr_ (const int *m, const int *n, const int *k, std::complex< float > *A, const int *lda, const std::complex< float > *tau, std::complex< float > *work, const int *lwork, int *info)
 
void zungqr_ (const int *m, const int *n, const int *k, std::complex< double > *A, const int *lda, const std::complex< double > *tau, std::complex< double > *work, const int *lwork, int *info)
 

Detailed Description

This is a direct wrapper of some LAPACK routines. Column-Major version. Direct wrapping of standard LAPACK routines. (Column-Major, fortran style)

Warning
For Row-major version, please refer to source/source_base/module_external/lapack_connector.h.
Note
Some slight modification are made to fit the C++ style for overloading purpose. You can find some function with different parameter list than the original LAPACK routine. And some of these parameters are not referred in the function body. They are included just to ensure the same parameter list for overloaded functions with a uniform name.

Function Documentation

◆ cgeqrf_()

void cgeqrf_ ( const int *  m,
const int *  n,
std::complex< float > *  A,
const int *  lda,
std::complex< float > *  tau,
std::complex< float > *  work,
const int *  lwork,
int *  info 
)

◆ cgetrf_()

void cgetrf_ ( const int *  m,
const int *  n,
std::complex< float > *  a,
const int *  lda,
int *  ipiv,
int *  info 
)

◆ cgetri_()

void cgetri_ ( const int *  n,
std::complex< float > *  A,
const int *  lda,
const int *  ipiv,
std::complex< float > *  work,
const int *  lwork,
int *  info 
)

◆ cgetrs_()

void cgetrs_ ( const char *  trans,
const int *  n,
const int *  nrhs,
const std::complex< float > *  A,
const int *  lda,
const int *  ipiv,
std::complex< float > *  B,
const int *  ldb,
int *  info 
)

◆ cheevd_()

void cheevd_ ( const char *  jobz,
const char *  uplo,
const int *  n,
std::complex< float > *  a,
const int *  lda,
float *  w,
std::complex< float > *  work,
const int *  lwork,
float *  rwork,
const int *  lrwork,
int *  iwork,
const int *  liwork,
int *  info 
)

◆ cheevx_()

void cheevx_ ( const char *  jobz,
const char *  range,
const char *  uplo,
const int *  n,
std::complex< float > *  a,
const int *  lda,
const float *  vl,
const float *  vu,
const int *  il,
const int *  iu,
const float *  abstol,
int *  m,
float *  w,
std::complex< float > *  z,
const int *  ldz,
std::complex< float > *  work,
const int *  lwork,
float *  rwork,
int *  iwork,
int *  ifail,
int *  info 
)

◆ chegvd_()

void chegvd_ ( const int *  itype,
const char *  jobz,
const char *  uplo,
const int *  n,
std::complex< float > *  a,
const int *  lda,
std::complex< float > *  b,
const int *  ldb,
float *  w,
std::complex< float > *  work,
const int *  lwork,
float *  rwork,
const int *  lrwork,
int *  iwork,
const int *  liwork,
int *  info 
)

◆ chegvx_()

void chegvx_ ( const int *  itype,
const char *  jobz,
const char *  range,
const char *  uplo,
const int *  n,
std::complex< float > *  A,
const int *  lda,
std::complex< float > *  B,
const int *  ldb,
const float *  vl,
const float *  vu,
const int *  il,
const int *  iu,
const float *  abstol,
int *  m,
float *  w,
std::complex< float > *  Z,
const int *  ldz,
std::complex< float > *  work,
const int *  lwork,
float *  rwork,
int *  iwork,
int *  ifail,
int *  info 
)

◆ cpotrf_()

void cpotrf_ ( const char *  uplo,
const int *  n,
std::complex< float > *  A,
const int *  lda,
int *  info 
)

◆ cpotri_()

void cpotri_ ( const char *  uplo,
const int *  n,
std::complex< float > *  A,
const int *  lda,
int *  info 
)

◆ ctrtri_()

void ctrtri_ ( const char *  uplo,
const char *  diag,
const int *  n,
std::complex< float > *  a,
const int *  lda,
int *  info 
)

◆ cungqr_()

void cungqr_ ( const int *  m,
const int *  n,
const int *  k,
std::complex< float > *  A,
const int *  lda,
const std::complex< float > *  tau,
std::complex< float > *  work,
const int *  lwork,
int *  info 
)

◆ dgeqrf_()

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

◆ dgetrf_()

void dgetrf_ ( const int *  m,
const int *  n,
double *  a,
const int *  lda,
int *  ipiv,
int *  info 
)
Here is the caller graph for this function:

◆ dgetri_()

void dgetri_ ( const int *  n,
double *  A,
const int *  lda,
const int *  ipiv,
double *  work,
const int *  lwork,
int *  info 
)
Here is the caller graph for this function:

◆ dgetrs_()

void dgetrs_ ( const char *  trans,
const int *  n,
const int *  nrhs,
const double *  A,
const int *  lda,
const int *  ipiv,
double *  B,
const int *  ldb,
int *  info 
)

◆ dorgqr_()

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

◆ dpotrf_()

void dpotrf_ ( const char *  uplo,
const int *  n,
double *  A,
const int *  lda,
int *  info 
)

◆ dpotri_()

void dpotri_ ( const char *  uplo,
const int *  n,
double *  A,
const int *  lda,
int *  info 
)

◆ dsyevd_()

void dsyevd_ ( const char *  jobz,
const char *  uplo,
const int *  n,
double *  a,
const int *  lda,
double *  w,
double *  work,
const int *  lwork,
int *  iwork,
const int *  liwork,
int *  info 
)

◆ dsyevx_()

void dsyevx_ ( const char *  jobz,
const char *  range,
const char *  uplo,
const int *  n,
double *  a,
const int *  lda,
const double *  vl,
const double *  vu,
const int *  il,
const int *  iu,
const double *  abstol,
int *  m,
double *  w,
double *  z,
const int *  ldz,
double *  work,
const int *  lwork,
int *  iwork,
int *  ifail,
int *  info 
)

◆ dsygvd_()

void dsygvd_ ( const int *  itype,
const char *  jobz,
const char *  uplo,
const int *  n,
double *  a,
const int *  lda,
double *  b,
const int *  ldb,
double *  w,
double *  work,
const int *  lwork,
int *  iwork,
const int *  liwork,
int *  info 
)

◆ dsygvx_()

void dsygvx_ ( const int *  itype,
const char *  jobz,
const char *  range,
const char *  uplo,
const int *  n,
double *  A,
const int *  lda,
double *  B,
const int *  ldb,
const double *  vl,
const double *  vu,
const int *  il,
const int *  iu,
const double *  abstol,
int *  m,
double *  w,
double *  Z,
const int *  ldz,
double *  work,
const int *  lwork,
int *  iwork,
int *  ifail,
int *  info 
)

◆ dtrtri_()

void dtrtri_ ( const char *  uplo,
const char *  diag,
const int *  n,
double *  a,
const int *  lda,
int *  info 
)

◆ ilaenv_()

int ilaenv_ ( const int *  ispec,
const char *  name,
const char *  opts,
const int *  n1,
const int *  n2,
const int *  n3,
const int *  n4 
)

This is a wrapper of some LAPACK routines. Direct wrapping of standard LAPACK routines. (column major, fortran style) with some slight modification to fit the C++ style for overloading purpose.

◆ sgeqrf_()

void sgeqrf_ ( const int *  m,
const int *  n,
float *  A,
const int *  lda,
float *  tau,
float *  work,
const int *  lwork,
int *  info 
)

◆ sgetrf_()

void sgetrf_ ( const int *  m,
const int *  n,
float *  a,
const int *  lda,
int *  ipiv,
int *  info 
)

◆ sgetri_()

void sgetri_ ( const int *  n,
float *  A,
const int *  lda,
const int *  ipiv,
float *  work,
const int *  lwork,
int *  info 
)

◆ sgetrs_()

void sgetrs_ ( const char *  trans,
const int *  n,
const int *  nrhs,
const float *  A,
const int *  lda,
const int *  ipiv,
float *  B,
const int *  ldb,
int *  info 
)

◆ sorgqr_()

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

◆ spotrf_()

void spotrf_ ( const char *  uplo,
const int *  n,
float *  A,
const int *  lda,
int *  info 
)

◆ spotri_()

void spotri_ ( const char *  uplo,
const int *  n,
float *  A,
const int *  lda,
int *  info 
)

◆ ssyevd_()

void ssyevd_ ( const char *  jobz,
const char *  uplo,
const int *  n,
float *  a,
const int *  lda,
float *  w,
float *  work,
const int *  lwork,
int *  iwork,
const int *  liwork,
int *  info 
)

◆ ssyevx_()

void ssyevx_ ( const char *  jobz,
const char *  range,
const char *  uplo,
const int *  n,
float *  a,
const int *  lda,
const float *  vl,
const float *  vu,
const int *  il,
const int *  iu,
const float *  abstol,
int *  m,
float *  w,
float *  z,
const int *  ldz,
float *  work,
const int *  lwork,
int *  iwork,
int *  ifail,
int *  info 
)

◆ ssygvd_()

void ssygvd_ ( const int *  itype,
const char *  jobz,
const char *  uplo,
const int *  n,
float *  a,
const int *  lda,
float *  b,
const int *  ldb,
float *  w,
float *  work,
const int *  lwork,
int *  iwork,
const int *  liwork,
int *  info 
)

◆ ssygvx_()

void ssygvx_ ( const int *  itype,
const char *  jobz,
const char *  range,
const char *  uplo,
const int *  n,
float *  A,
const int *  lda,
float *  B,
const int *  ldb,
const float *  vl,
const float *  vu,
const int *  il,
const int *  iu,
const float *  abstol,
int *  m,
float *  w,
float *  Z,
const int *  ldz,
float *  work,
const int *  lwork,
int *  iwork,
int *  ifail,
int *  info 
)

◆ strtri_()

void strtri_ ( const char *  uplo,
const char *  diag,
const int *  n,
float *  a,
const int *  lda,
int *  info 
)

◆ zgeqrf_()

void zgeqrf_ ( const int *  m,
const int *  n,
std::complex< double > *  A,
const int *  lda,
std::complex< double > *  tau,
std::complex< double > *  work,
const int *  lwork,
int *  info 
)

◆ zgetrf_()

void zgetrf_ ( const int *  m,
const int *  n,
std::complex< double > *  a,
const int *  lda,
int *  ipiv,
int *  info 
)

◆ zgetri_()

void zgetri_ ( const int *  n,
std::complex< double > *  A,
const int *  lda,
const int *  ipiv,
std::complex< double > *  work,
const int *  lwork,
int *  info 
)

◆ zgetrs_()

void zgetrs_ ( const char *  trans,
const int *  n,
const int *  nrhs,
const std::complex< double > *  A,
const int *  lda,
const int *  ipiv,
std::complex< double > *  B,
const int *  ldb,
int *  info 
)

◆ zheevd_()

void zheevd_ ( const char *  jobz,
const char *  uplo,
const int *  n,
std::complex< double > *  a,
const int *  lda,
double *  w,
std::complex< double > *  work,
const int *  lwork,
double *  rwork,
const int *  lrwork,
int *  iwork,
const int *  liwork,
int *  info 
)

◆ zheevx_()

void zheevx_ ( const char *  jobz,
const char *  range,
const char *  uplo,
const int *  n,
std::complex< double > *  a,
const int *  lda,
const double *  vl,
const double *  vu,
const int *  il,
const int *  iu,
const double *  abstol,
int *  m,
double *  w,
std::complex< double > *  z,
const int *  ldz,
std::complex< double > *  work,
const int *  lwork,
double *  rwork,
int *  iwork,
int *  ifail,
int *  info 
)

◆ zhegvd_()

void zhegvd_ ( const int *  itype,
const char *  jobz,
const char *  uplo,
const int *  n,
std::complex< double > *  a,
const int *  lda,
std::complex< double > *  b,
const int *  ldb,
double *  w,
std::complex< double > *  work,
const int *  lwork,
double *  rwork,
const int *  lrwork,
int *  iwork,
const int *  liwork,
int *  info 
)

◆ zhegvx_()

void zhegvx_ ( const int *  itype,
const char *  jobz,
const char *  range,
const char *  uplo,
const int *  n,
std::complex< double > *  A,
const int *  lda,
std::complex< double > *  B,
const int *  ldb,
const double *  vl,
const double *  vu,
const int *  il,
const int *  iu,
const double *  abstol,
int *  m,
double *  w,
std::complex< double > *  Z,
const int *  ldz,
std::complex< double > *  work,
const int *  lwork,
double *  rwork,
int *  iwork,
int *  ifail,
int *  info 
)
Here is the caller graph for this function:

◆ zpotrf_()

void zpotrf_ ( const char *  uplo,
const int *  n,
std::complex< double > *  A,
const int *  lda,
int *  info 
)

◆ zpotri_()

void zpotri_ ( const char *  uplo,
const int *  n,
std::complex< double > *  A,
const int *  lda,
int *  info 
)

◆ ztrtri_()

void ztrtri_ ( const char *  uplo,
const char *  diag,
const int *  n,
std::complex< double > *  a,
const int *  lda,
int *  info 
)

◆ zungqr_()

void zungqr_ ( const int *  m,
const int *  n,
const int *  k,
std::complex< double > *  A,
const int *  lda,
const std::complex< double > *  tau,
std::complex< double > *  work,
const int *  lwork,
int *  info 
)