ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Classes | Functions
lapack_connector.h File Reference
#include <new>
#include <stdexcept>
#include <iostream>
#include <cassert>
#include "../matrix.h"
#include "../complexmatrix.h"
#include "../global_function.h"
Include dependency graph for lapack_connector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  LapackConnector
 

Functions

void dsygvd_ (const int *itype, const char *jobz, const char *uplo, const int *n, double *a, const int *lda, const double *b, const int *ldb, double *w, double *work, int *lwork, int *iwork, 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, const std::complex< float > *b, const int *ldb, float *w, std::complex< float > *work, int *lwork, float *rwork, int *lrwork, int *iwork, 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, const std::complex< double > *b, const int *ldb, double *w, std::complex< double > *work, int *lwork, double *rwork, int *lrwork, int *iwork, int *liwork, 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, const int *m, double *w, double *z, const int *ldz, double *work, const int *lwork, double *rwork, 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, const 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, const 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 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, const 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, const 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, const 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 zhegv_ (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, int *lwork, double *rwork, int *info)
 
void chegv_ (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, int *lwork, float *rwork, int *info)
 
void dsygv_ (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, int *lwork, int *info)
 
void zheev_ (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, int *info)
 
void cheev_ (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, int *info)
 
void dsyev_ (const char *jobz, const char *uplo, const int *n, double *a, const int *lda, double *w, double *work, const int *lwork, int *info)
 
void dgeev_ (const char *jobvl, const char *jobvr, const int *n, double *a, const int *lda, double *wr, double *wi, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info)
 
void zgeev_ (const char *jobvl, const char *jobvr, const int *n, std::complex< double > *a, const int *lda, std::complex< double > *w, std::complex< double > *vl, const int *ldvl, std::complex< double > *vr, const int *ldvr, std::complex< double > *work, const int *lwork, double *rwork, int *info)
 
void dgetri_ (const int *n, double *a, const int *lda, const int *ipiv, double *work, const int *lwork, int *info)
 
void dgetrf_ (const int *m, const int *n, double *a, const int *lda, int *ipiv, int *info)
 
void dsytrf_ (const char *uplo, const int *n, double *a, const int *lda, int *ipiv, double *work, const int *lwork, int *info)
 
void dsytri_ (const char *uplo, const int *n, double *a, const int *lda, int *ipiv, double *work, int *info)
 
void spotrf_ (const char *const uplo, const int *const n, float *const A, const int *const lda, int *const info)
 
void dpotrf_ (const char *const uplo, const int *const n, double *const A, const int *const lda, int *const info)
 
void cpotrf_ (const char *const uplo, const int *const n, std::complex< float > *const A, const int *const lda, int *const info)
 
void zpotrf_ (const char *const uplo, const int *const n, std::complex< double > *const A, const int *const lda, int *const info)
 
void spotri_ (const char *const uplo, const int *const n, float *const A, const int *const lda, int *const info)
 
void dpotri_ (const char *const uplo, const int *const n, double *const A, const int *const lda, int *const info)
 
void cpotri_ (const char *const uplo, const int *const n, std::complex< float > *const A, const int *const lda, int *const info)
 
void zpotri_ (const char *const uplo, const int *const n, std::complex< double > *const A, const int *const lda, int *const info)
 
void zgetrf_ (const int *m, const int *n, std::complex< double > *A, const int *lda, int *ipiv, 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 zherk_ (const char *uplo, const char *trans, const int *n, const int *k, const double *alpha, const std::complex< double > *A, const int *lda, const double *beta, std::complex< double > *C, const int *ldc)
 
void cherk_ (const char *uplo, const char *trans, const int *n, const int *k, const float *alpha, const std::complex< float > *A, const int *lda, const float *beta, std::complex< float > *C, const int *ldc)
 
void dsterf_ (int *n, double *d, double *e, int *info)
 
void dstein_ (int *n, double *d, double *e, int *m, double *w, int *block, int *isplit, double *z, int *lda, double *work, int *iwork, int *ifail, int *info)
 
void zstein_ (int *n, double *d, double *e, int *m, double *w, int *block, int *isplit, std::complex< double > *z, int *lda, double *work, int *iwork, int *ifail, int *info)
 
void dpotf2_ (char *uplo, int *n, double *a, int *lda, int *info)
 
void zpotf2_ (char *uplo, int *n, std::complex< double > *a, int *lda, int *info)
 
void dsygs2_ (int *itype, char *uplo, int *n, double *a, int *lda, double *b, int *ldb, int *info)
 
void zhegs2_ (int *itype, char *uplo, int *n, std::complex< double > *a, int *lda, std::complex< double > *b, int *ldb, int *info)
 
void dlacpy_ (char *uplo, int *m, int *n, double *a, int *lda, double *b, int *ldb)
 
void zlacpy_ (char *uplo, int *m, int *n, std::complex< double > *a, int *lda, std::complex< double > *b, int *ldb)
 
void dlarfg_ (int *n, double *alpha, double *x, int *incx, double *tau)
 
void zlarfg_ (int *n, std::complex< double > *alpha, std::complex< double > *x, int *incx, std::complex< double > *tau)
 
void dgtsv_ (int *N, int *NRHS, double *DL, double *D, double *DU, double *B, int *LDB, int *INFO)
 
void dsysv_ (const char *uplo, const int *n, const int *m, double *a, const int *lda, int *ipiv, double *b, const int *ldb, double *work, const int *lwork, int *info)
 

Function Documentation

◆ cheev_()

void cheev_ ( 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,
int *  info 
)
Here is the caller graph for this function:

◆ 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,
const 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 
)

◆ chegv_()

void chegv_ ( 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,
int *  lwork,
float *  rwork,
int *  info 
)

◆ chegvd_()

void chegvd_ ( const int *  itype,
const char *  jobz,
const char *  uplo,
const int *  n,
std::complex< float > *  a,
const int *  lda,
const std::complex< float > *  b,
const int *  ldb,
float *  w,
std::complex< float > *  work,
int *  lwork,
float *  rwork,
int *  lrwork,
int *  iwork,
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,
const 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 
)

◆ cherk_()

void cherk_ ( const char *  uplo,
const char *  trans,
const int *  n,
const int *  k,
const float *  alpha,
const std::complex< float > *  A,
const int *  lda,
const float *  beta,
std::complex< float > *  C,
const int *  ldc 
)
Here is the caller graph for this function:

◆ cpotrf_()

void cpotrf_ ( const char *const  uplo,
const int *const  n,
std::complex< float > *const  A,
const int *const  lda,
int *const  info 
)
Here is the caller graph for this function:

◆ cpotri_()

void cpotri_ ( const char *const  uplo,
const int *const  n,
std::complex< float > *const  A,
const int *const  lda,
int *const  info 
)
Here is the caller graph for this function:

◆ dgeev_()

void dgeev_ ( const char *  jobvl,
const char *  jobvr,
const int *  n,
double *  a,
const int *  lda,
double *  wr,
double *  wi,
double *  vl,
const int *  ldvl,
double *  vr,
const int *  ldvr,
double *  work,
const int *  lwork,
int *  info 
)
Here is the caller graph for this function:

◆ dgetrf_()

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

◆ dgetri_()

void dgetri_ ( const int *  n,
double *  a,
const int *  lda,
const int *  ipiv,
double *  work,
const int *  lwork,
int *  info 
)

◆ dgtsv_()

void dgtsv_ ( int *  N,
int *  NRHS,
double *  DL,
double *  D,
double *  DU,
double *  B,
int *  LDB,
int *  INFO 
)

◆ dlacpy_()

void dlacpy_ ( char *  uplo,
int *  m,
int *  n,
double *  a,
int *  lda,
double *  b,
int *  ldb 
)

◆ dlarfg_()

void dlarfg_ ( int *  n,
double *  alpha,
double *  x,
int *  incx,
double *  tau 
)

◆ dpotf2_()

void dpotf2_ ( char *  uplo,
int *  n,
double *  a,
int *  lda,
int *  info 
)

◆ dpotrf_()

void dpotrf_ ( const char *const  uplo,
const int *const  n,
double *const  A,
const int *const  lda,
int *const  info 
)
Here is the caller graph for this function:

◆ dpotri_()

void dpotri_ ( const char *const  uplo,
const int *const  n,
double *const  A,
const int *const  lda,
int *const  info 
)
Here is the caller graph for this function:

◆ dstein_()

void dstein_ ( int *  n,
double *  d,
double *  e,
int *  m,
double *  w,
int *  block,
int *  isplit,
double *  z,
int *  lda,
double *  work,
int *  iwork,
int *  ifail,
int *  info 
)

◆ dsterf_()

void dsterf_ ( int *  n,
double *  d,
double *  e,
int *  info 
)

◆ dsyev_()

void dsyev_ ( const char *  jobz,
const char *  uplo,
const int *  n,
double *  a,
const int *  lda,
double *  w,
double *  work,
const int *  lwork,
int *  info 
)
Here is the caller graph for this function:

◆ 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,
const int *  m,
double *  w,
double *  z,
const int *  ldz,
double *  work,
const int *  lwork,
double *  rwork,
int *  iwork,
int *  ifail,
int *  info 
)

◆ dsygs2_()

void dsygs2_ ( int *  itype,
char *  uplo,
int *  n,
double *  a,
int *  lda,
double *  b,
int *  ldb,
int *  info 
)

◆ dsygv_()

void dsygv_ ( 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,
int *  lwork,
int *  info 
)
Here is the caller graph for this function:

◆ dsygvd_()

void dsygvd_ ( const int *  itype,
const char *  jobz,
const char *  uplo,
const int *  n,
double *  a,
const int *  lda,
const double *  b,
const int *  ldb,
double *  w,
double *  work,
int *  lwork,
int *  iwork,
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,
const int *  m,
double *  w,
double *  Z,
const int *  ldz,
double *  work,
const int *  lwork,
int *  iwork,
int *  ifail,
int *  info 
)

◆ dsysv_()

void dsysv_ ( const char *  uplo,
const int *  n,
const int *  m,
double *  a,
const int *  lda,
int *  ipiv,
double *  b,
const int *  ldb,
double *  work,
const int *  lwork,
int *  info 
)
Here is the caller graph for this function:

◆ dsytrf_()

void dsytrf_ ( const char *  uplo,
const int *  n,
double *  a,
const int *  lda,
int *  ipiv,
double *  work,
const int *  lwork,
int *  info 
)
Here is the caller graph for this function:

◆ dsytri_()

void dsytri_ ( const char *  uplo,
const int *  n,
double *  a,
const int *  lda,
int *  ipiv,
double *  work,
int *  info 
)
Here is the caller graph for this function:

◆ spotrf_()

void spotrf_ ( const char *const  uplo,
const int *const  n,
float *const  A,
const int *const  lda,
int *const  info 
)
Here is the caller graph for this function:

◆ spotri_()

void spotri_ ( const char *const  uplo,
const int *const  n,
float *const  A,
const int *const  lda,
int *const  info 
)
Here is the caller graph for this function:

◆ zgeev_()

void zgeev_ ( const char *  jobvl,
const char *  jobvr,
const int *  n,
std::complex< double > *  a,
const int *  lda,
std::complex< double > *  w,
std::complex< double > *  vl,
const int *  ldvl,
std::complex< double > *  vr,
const int *  ldvr,
std::complex< double > *  work,
const int *  lwork,
double *  rwork,
int *  info 
)
Here is the caller graph for this function:

◆ zgetrf_()

void zgetrf_ ( const int *  m,
const int *  n,
std::complex< double > *  A,
const int *  lda,
int *  ipiv,
int *  info 
)
Here is the caller graph for this function:

◆ 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 
)
Here is the caller graph for this function:

◆ zheev_()

void zheev_ ( 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,
int *  info 
)
Here is the caller graph for this function:

◆ 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,
const 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 
)

◆ zhegs2_()

void zhegs2_ ( int *  itype,
char *  uplo,
int *  n,
std::complex< double > *  a,
int *  lda,
std::complex< double > *  b,
int *  ldb,
int *  info 
)

◆ zhegv_()

void zhegv_ ( 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,
int *  lwork,
double *  rwork,
int *  info 
)
Here is the caller graph for this function:

◆ zhegvd_()

void zhegvd_ ( const int *  itype,
const char *  jobz,
const char *  uplo,
const int *  n,
std::complex< double > *  a,
const int *  lda,
const std::complex< double > *  b,
const int *  ldb,
double *  w,
std::complex< double > *  work,
int *  lwork,
double *  rwork,
int *  lrwork,
int *  iwork,
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,
const 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:

◆ zherk_()

void zherk_ ( const char *  uplo,
const char *  trans,
const int *  n,
const int *  k,
const double *  alpha,
const std::complex< double > *  A,
const int *  lda,
const double *  beta,
std::complex< double > *  C,
const int *  ldc 
)
Here is the caller graph for this function:

◆ zlacpy_()

void zlacpy_ ( char *  uplo,
int *  m,
int *  n,
std::complex< double > *  a,
int *  lda,
std::complex< double > *  b,
int *  ldb 
)

◆ zlarfg_()

void zlarfg_ ( int *  n,
std::complex< double > *  alpha,
std::complex< double > *  x,
int *  incx,
std::complex< double > *  tau 
)

◆ zpotf2_()

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

◆ zpotrf_()

void zpotrf_ ( const char *const  uplo,
const int *const  n,
std::complex< double > *const  A,
const int *const  lda,
int *const  info 
)
Here is the caller graph for this function:

◆ zpotri_()

void zpotri_ ( const char *const  uplo,
const int *const  n,
std::complex< double > *const  A,
const int *const  lda,
int *const  info 
)
Here is the caller graph for this function:

◆ zstein_()

void zstein_ ( int *  n,
double *  d,
double *  e,
int *  m,
double *  w,
int *  block,
int *  isplit,
std::complex< double > *  z,
int *  lda,
double *  work,
int *  iwork,
int *  ifail,
int *  info 
)