ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <new>
#include <stdexcept>
#include <iostream>
#include <cassert>
#include "../matrix.h"
#include "../complexmatrix.h"
#include "../global_function.h"
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) |
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 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 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 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 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 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 cpotrf_ | ( | const char *const | uplo, |
const int *const | n, | ||
std::complex< float > *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 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 dgetrf_ | ( | const int * | m, |
const int * | n, | ||
double * | a, | ||
const int * | lda, | ||
int * | ipiv, | ||
int * | info | ||
) |
void dgetri_ | ( | const int * | n, |
double * | a, | ||
const int * | lda, | ||
const int * | ipiv, | ||
double * | work, | ||
const int * | lwork, | ||
int * | info | ||
) |
void dgtsv_ | ( | int * | N, |
int * | NRHS, | ||
double * | DL, | ||
double * | D, | ||
double * | DU, | ||
double * | B, | ||
int * | LDB, | ||
int * | INFO | ||
) |
void dlacpy_ | ( | char * | uplo, |
int * | m, | ||
int * | n, | ||
double * | a, | ||
int * | lda, | ||
double * | b, | ||
int * | ldb | ||
) |
void dlarfg_ | ( | int * | n, |
double * | alpha, | ||
double * | x, | ||
int * | incx, | ||
double * | tau | ||
) |
void dpotf2_ | ( | char * | uplo, |
int * | n, | ||
double * | a, | ||
int * | lda, | ||
int * | info | ||
) |
void dpotrf_ | ( | const char *const | uplo, |
const int *const | n, | ||
double *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 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 dsterf_ | ( | int * | n, |
double * | d, | ||
double * | e, | ||
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 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 dsygs2_ | ( | int * | itype, |
char * | uplo, | ||
int * | n, | ||
double * | a, | ||
int * | lda, | ||
double * | b, | ||
int * | ldb, | ||
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 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 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 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 | ||
) |
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 spotri_ | ( | const char *const | uplo, |
const int *const | n, | ||
float *const | A, | ||
const int *const | lda, | ||
int *const | 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 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 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 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 zhegs2_ | ( | int * | itype, |
char * | uplo, | ||
int * | n, | ||
std::complex< double > * | a, | ||
int * | lda, | ||
std::complex< double > * | b, | ||
int * | ldb, | ||
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 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 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 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 zlacpy_ | ( | char * | uplo, |
int * | m, | ||
int * | n, | ||
std::complex< double > * | a, | ||
int * | lda, | ||
std::complex< double > * | b, | ||
int * | ldb | ||
) |
void zlarfg_ | ( | int * | n, |
std::complex< double > * | alpha, | ||
std::complex< double > * | x, | ||
int * | incx, | ||
std::complex< double > * | tau | ||
) |
void zpotf2_ | ( | char * | uplo, |
int * | n, | ||
std::complex< double > * | a, | ||
int * | lda, | ||
int * | info | ||
) |
void zpotrf_ | ( | const char *const | uplo, |
const int *const | n, | ||
std::complex< double > *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 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 | ||
) |