16 #ifndef OHMMS_BLAS_FUNCTIONDEFS_H    17 #define OHMMS_BLAS_FUNCTIONDEFS_H    29 #define scnrm2 scnrm2_    30 #define dznrm2 dznrm2_    39 #define csscal csscal_    40 #define zdscal zdscal_    53 #define dsyr2k dsyr2k_    54 #define dgetrf dgetrf_    55 #define dgetri dgetri_    56 #define sgetrf sgetrf_    57 #define sgetri sgetri_    58 #define zgetrf zgetrf_    59 #define zgetri zgetri_    60 #define cgetrf cgetrf_    61 #define cgetri cgetri_    62 #define dgesvd dgesvd_    63 #define sgesvd sgesvd_    64 #define cgesvd cgesvd_    65 #define zgesvd zgesvd_    77 #define dgeqrf dgeqrf_    78 #define dormqr dormqr_    79 #define dgghrd dgghrd_    80 #define dhgeqz dhgeqz_    81 #define dtgexc dtgexc_    82 #define dtgevc dtgevc_    84 #define dsyevr dsyevr_    86 #define zheevr zheevr_    87 #define ssyevr ssyevr_    88 #define cheevr cheevr_    90 #define zhegvx zhegvx_    91 #define zgeqrf zgeqrf_    92 #define zungqr zungqr_    94 #define cgeqrf cgeqrf_    95 #define sgeqrf sgeqrf_    96 #define dorgqr dorgqr_    97 #define sorgqr sorgqr_    98 #define cungqr cungqr_    99 #define zgelqf zgelqf_   100 #define dgelqf dgelqf_   101 #define cgelqf cgelqf_   102 #define sgelqf sgelqf_   103 #define dorglq dorglq_   104 #define sorglq sorglq_   105 #define zunglq zunglq_   106 #define cunglq cunglq_   108 #define spotrf spotrf_   109 #define cpotrf cpotrf_   110 #define dpotrf dpotrf_   111 #define zpotrf zpotrf_   118   void saxpy(
const int& 
n, 
const float& da, 
const float* dx, 
const int& incx, 
float* dy, 
const int& incy);
   121              const std::complex<float>& da,
   122              const std::complex<float>* dx,
   124              std::complex<float>* dy,
   127   void daxpy(
const int& 
n, 
const double& da, 
const double* dx, 
const int& incx, 
double* dy, 
const int& incy);
   130              const std::complex<double>& da,
   131              const std::complex<double>* dx,
   133              std::complex<double>* dy,
   137   float snrm2(
const int& 
n, 
const float* dx, 
const int& incx);
   138   float scnrm2(
const int& 
n, 
const std::complex<float>* dx, 
const int& incx);
   139   double dnrm2(
const int& 
n, 
const double* dx, 
const int& incx);
   140   double dznrm2(
const int& 
n, 
const std::complex<double>* dx, 
const int& incx);
   143   void sscal(
const int& 
n, 
const float&, 
float* x, 
const int&);
   144   void cscal(
const int& 
n, 
const std::complex<float>&, std::complex<float>* x, 
const int&);
   145   void dscal(
const int& 
n, 
const double&, 
double* x, 
const int&);
   146   void zscal(
const int& 
n, 
const std::complex<double>&, std::complex<double>* x, 
const int&);
   147   void csscal(
const int& 
n, 
const float&, std::complex<float>* x, 
const int&);
   148   void zdscal(
const int& 
n, 
const double&, std::complex<double>* x, 
const int&);
   150   void dsymv(
const char& uplo,
   161   void ssymv(
const char& uplo,
   172   void zsymv(
const char& uplo,
   174              const std::complex<double>& alpha,
   175              std::complex<double>* a,
   177              std::complex<double>* x,
   179              const std::complex<double>& beta,
   180              std::complex<double>* y,
   183   void csymv(
const char& uplo,
   185              const std::complex<float>& alpha,
   186              std::complex<float>* a,
   188              std::complex<float>* x,
   190              const std::complex<float>& beta,
   191              std::complex<float>* y,
   194   void zcopy(
const int& 
n, 
const std::complex<double>* x, 
const int& incx, std::complex<double>* y, 
const int& incy);
   195   void dcopy(
const int& 
n, 
const double*, 
const int&, 
double*, 
const int&);
   211   void dsymm(
const char&,
   224   void dgemm(
const char&,
   238   void sgemm(
const char&,
   252   void zgemm(
const char&,
   257              const std::complex<double>&,
   258              const std::complex<double>*,
   260              const std::complex<double>*,
   262              const std::complex<double>&,
   263              std::complex<double>*,
   266   void cgemm(
const char&,
   271              const std::complex<float>&,
   272              const std::complex<float>*,
   274              const std::complex<float>*,
   276              const std::complex<float>&,
   277              std::complex<float>*,
   280   void dgemv(
const char& trans,
   292   void sgemv(
const char& trans,
   304   void zgemv(
const char& trans,
   307              const std::complex<double>& alpha,
   308              const std::complex<double>* amat,
   310              const std::complex<double>* bv,
   312              const std::complex<double>& beta,
   313              std::complex<double>* cv,
   316   void cgemv(
const char& trans,
   319              const std::complex<float>& alpha,
   320              const std::complex<float>* amat,
   322              const std::complex<float>* bv,
   324              const std::complex<float>& beta,
   325              std::complex<float>* cv,
   328   void dsyrk(
const char&,
   339   void dgetrf(
const int& 
n, 
const int& 
m, 
double* a, 
const int& n0, 
int* piv, 
int& st);
   341   void sgetrf(
const int& 
n, 
const int& 
m, 
float* a, 
const int& n0, 
int* piv, 
int& st);
   343   void zgetrf(
const int& 
n, 
const int& 
m, std::complex<double>* a, 
const int& n0, 
int* piv, 
int& st);
   345   void cgetrf(
const int& 
n, 
const int& 
m, std::complex<float>* a, 
const int& n0, 
int* piv, 
int& st);
   347   void dgetri(
const int& 
n, 
double* a, 
const int& n0, 
int const* piv, 
double* work, 
const int&, 
int& st);
   349   void sgetri(
const int& 
n, 
float* a, 
const int& n0, 
int const* piv, 
float* work, 
const int&, 
int& st);
   352               std::complex<double>* a,
   355               std::complex<double>* work,
   360               std::complex<float>* a,
   363               std::complex<float>* work,
   367   void dgesvd(
const char& JOBU,
   382   void sgesvd(
const char& JOBU,
   397   void zgesvd(
const char& JOBU,
   401               std::complex<double>* 
A,
   404               std::complex<double>* U,
   406               std::complex<double>* VT,
   408               std::complex<double>* work,
   413   void cgesvd(
const char& JOBU,
   417               std::complex<float>* 
A,
   420               std::complex<float>* U,
   422               std::complex<float>* VT,
   424               std::complex<float>* work,
   429   void dgeev(
char* JOBVL,
   444   void sgeev(
char* JOBVL,
   459   void zgeev(
char* JOBVL,
   462              std::complex<double>* 
A,
   464              std::complex<double>* ALPHA,
   465              std::complex<double>* VL,
   467              std::complex<double>* VR,
   469              std::complex<double>* WORK,
   474   void cgeev(
char* JOBVL,
   477              std::complex<float>* 
A,
   479              std::complex<float>* ALPHA,
   480              std::complex<float>* VL,
   482              std::complex<float>* VR,
   484              std::complex<float>* WORK,
   489   void dggev(
char* JOBVL,
   507   void sggev(
char* JOBVL,
   551               std::complex<float>* 
A,
   560               std::complex<float>* Z,
   563               std::complex<float>* WORK,
   593   void cheev(
char& JOBZ,
   596              std::complex<float>* 
A,
   599              std::complex<float>* WORK,
   604   void zheev(
char& JOBZ,
   607              std::complex<double>* 
A,
   610              std::complex<double>* WORK,
   619               std::complex<double>* 
A,
   628               std::complex<double>* Z,
   631               std::complex<double>* WORK,
   644               std::complex<double>* 
A,
   646               std::complex<double>* 
B,
   655               std::complex<double>* Z,
   657               std::complex<double>* WORK,
   666               std::complex<double>* 
A,
   668               std::complex<double>* TAU,
   669               std::complex<double>* WORK,
   675               std::complex<float>* 
A,
   677               std::complex<float>* TAU,
   678               std::complex<float>* WORK,
   704               std::complex<double>* 
A,
   706               std::complex<double>* TAU,
   707               std::complex<double>* WORK,
   714               std::complex<float>* 
A,
   716               std::complex<float>* TAU,
   717               std::complex<float>* WORK,
   743               std::complex<double>* 
A,
   745               std::complex<double>* TAU,
   746               std::complex<double>* WORK,
   752               std::complex<float>* 
A,
   754               std::complex<float>* TAU,
   755               std::complex<float>* WORK,
   781               std::complex<double>* 
A,
   783               std::complex<double>* TAU,
   784               std::complex<double>* WORK,
   791               std::complex<float>* 
A,
   793               std::complex<float>* TAU,
   794               std::complex<float>* WORK,
   819   void dger(
const int* 
m,
   829   void sger(
const int* 
m,
   841              const std::complex<double>* alpha,
   842              const std::complex<double>* x,
   844              const std::complex<double>* y,
   846              std::complex<double>* a,
   851              const std::complex<float>* alpha,
   852              const std::complex<float>* x,
   854              const std::complex<float>* y,
   856              std::complex<float>* a,
   859   void dormqr(
const char* SIDE,
   873   void dgghrd(
const char* COMPQ,
   888   void dhgeqz(
const char* JOB,
   909   void dtgexc(
const bool* WANTQ,
   926   void dtgevc(
const char* SIDE,
   943   void spotrf(
const char& 
UPLO, 
const int& 
N, 
float* 
A, 
const int& LDA, 
int& INFO);
   944   void dpotrf(
const char& 
UPLO, 
const int& 
N, 
double* 
A, 
const int& LDA, 
int& INFO);
   945   void cpotrf(
const char& 
UPLO, 
const int& 
N, std::complex<float>* 
A, 
const int& LDA, 
int& INFO);
   946   void zpotrf(
const char& 
UPLO, 
const int& 
N, std::complex<double>* 
A, 
const int& LDA, 
int& INFO);
 void zungqr(const int &M, const int &N, const int &K, std::complex< double > *A, const int &LDA, std::complex< double > *TAU, std::complex< double > *WORK, const int &LWORK, int &INFO)
 
void zgemm(const char &, const char &, const int &, const int &, const int &, const std::complex< double > &, const std::complex< double > *, const int &, const std::complex< double > *, const int &, const std::complex< double > &, std::complex< double > *, const int &)
 
void sgemm(const char &, const char &, const int &, const int &, const int &, const float &, const float *, const int &, const float *, const int &, const float &, float *, const int &)
 
void ssymv(const char &uplo, const int &n, const float &alpha, const float &a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 
void zheev(char &JOBZ, char &UPLO, int &N, std::complex< double > *A, int &LDA, double *W, std::complex< double > *WORK, int &LWORK, double *RWORK, int &INFO)
 
void zgeru(const int *m, const int *n, const std::complex< double > *alpha, const std::complex< double > *x, const int *incx, const std::complex< double > *y, const int *incy, std::complex< double > *a, const int *lda)
 
void zcopy(const int &n, const std::complex< double > *x, const int &incx, std::complex< double > *y, const int &incy)
 
double dnrm2(const int &n, const double *dx, const int &incx)
 
void saxpy(const int &n, const float &da, const float *dx, const int &incx, float *dy, const int &incy)
 
void cscal(const int &n, const std::complex< float > &, std::complex< float > *x, const int &)
 
void dorgqr(const int &M, const int &N, const int &K, double *A, const int &LDA, double *TAU, double *WORK, const int &LWORK, int &INFO)
 
void zdscal(const int &n, const double &, std::complex< double > *x, const int &)
 
void sgelqf(const int &M, const int &N, float *A, const int &LDA, float *TAU, float *WORK, const int &LWORK, int &INFO)
 
void cgetri(const int &n, std::complex< float > *a, const int &n0, int const *piv, std::complex< float > *work, const int &, int &st)
 
void csymv(const char &uplo, const int &n, const std::complex< float > &alpha, std::complex< float > *a, const int &lda, std::complex< float > *x, const int &incx, const std::complex< float > &beta, std::complex< float > *y, const int &incy)
 
void sgeqrf(const int &M, const int &N, float *A, const int &LDA, float *TAU, float *WORK, const int &LWORK, int &INFO)
 
void cgeru(const int *m, const int *n, const std::complex< float > *alpha, const std::complex< float > *x, const int *incx, const std::complex< float > *y, const int *incy, std::complex< float > *a, const int *lda)
 
void dgghrd(const char *COMPQ, const char *COMPZ, const int *N, const int *ILO, const int *IHI, double *A, const int *LDA, double *B, const int *LDB, double *Q, const int *LDQ, double *Z, const int *LDZ, int *INFO)
 
void dpotrf(const char &UPLO, const int &N, double *A, const int &LDA, int &INFO)
 
void dormqr(const char *SIDE, const char *TRANS, const int *M, const int *N, const int *K, const double *A, const int *LDA, const double *TAU, double *C, const int *LDC, double *WORK, 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 dtgevc(const char *SIDE, const char *HOWMNY, const bool *SELECT, const int *N, double *S, const int *LDS, double *P, const int *LDP, double *VL, const int *LDVL, double *VR, const int *LDVR, const int *MM, int *M, double *WORK, int *INFO)
 
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 zgesvd(const char &JOBU, const char &JOBVT, const int &M, const int &N, std::complex< double > *A, const int &LDA, double *S, std::complex< double > *U, const int &LDU, std::complex< double > *VT, const int &LDVT, std::complex< double > *work, const int &LWORK, double *RWORK, int &INFO)
 
void zsymv(const char &uplo, const int &n, const std::complex< double > &alpha, std::complex< double > *a, const int &lda, std::complex< double > *x, const int &incx, const std::complex< double > &beta, std::complex< double > *y, const int &incy)
 
void dsymm(const char &, const char &, const int &, const int &, const double &, const double *A, const int &lda, const double *B, const int &ldb, const double &beta, double *C, const int &ldc)
 
void dgemm(const char &, const char &, const int &, const int &, const int &, const double &, const double *, const int &, const double *, const int &, const double &, double *, const int &)
 
void dgelqf(const int &M, const int &N, double *A, const int &LDA, double *TAU, double *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 sorglq(const int &M, const int &N, const int &K, float *A, const int &LDA, float *TAU, float *WORK, const int &LWORK, int &INFO)
 
void dorglq(const int &M, const int &N, const int &K, double *A, const int &LDA, double *TAU, double *WORK, const int &LWORK, int &INFO)
 
void cgeev(char *JOBVL, char *JOBVR, int *N, std::complex< float > *A, int *LDA, std::complex< float > *ALPHA, std::complex< float > *VL, int *LDVL, std::complex< float > *VR, int *LDVR, std::complex< float > *WORK, int *LWORK, float *RWORK, int *INFO)
 
void dscal(const int &n, const double &, double *x, const int &)
 
void zaxpy(const int &n, const std::complex< double > &da, const std::complex< double > *dx, const int &incx, std::complex< double > *dy, const int &incy)
 
void zgemv(const char &trans, const int &nr, const int &nc, const std::complex< double > &alpha, const std::complex< double > *amat, const int &lda, const std::complex< double > *bv, const int &incx, const std::complex< double > &beta, std::complex< double > *cv, const int &incy)
 
void sscal(const int &n, const float &, float *x, const int &)
 
void dggev(char *JOBVL, char *JOBVR, int *N, double *A, int *LDA, double *B, int *LDB, double *ALPHAR, double *ALPHAI, double *BETA, double *VL, int *LDVL, double *VR, int *LDVR, double *WORK, int *LWORK, int *INFO)
 
void cgelqf(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 sorgqr(const int &M, const int &N, const int &K, float *A, const int &LDA, float *TAU, float *WORK, const int &LWORK, int &INFO)
 
void zheevr(char &JOBZ, char &RANGE, char &UPLO, int &N, std::complex< double > *A, int &LDA, double &VL, double &VU, int &IL, int &IU, double &ABSTOL, int &M, double *W, std::complex< double > *Z, int &LDZ, int *ISUPPZ, std::complex< double > *WORK, int &LWORK, double *RWORK, int &LRWORK, int *IWORK, int &LIWORK, int &INFO)
 
void sgetri(const int &n, float *a, const int &n0, int const *piv, float *work, const int &, int &st)
 
void sgeev(char *JOBVL, char *JOBVR, int *N, float *A, int *LDA, float *ALPHAR, float *ALPHAI, float *VL, int *LDVL, float *VR, int *LDVR, float *WORK, int *LWORK, int *INFO)
 
void dger(const int *m, const int *n, const double *alpha, const double *x, const int *incx, const double *y, const int *incy, double *a, const int *lda)
 
void ssyevr(char &JOBZ, char &RANGE, char &UPLO, int &N, float *A, int &LDA, float &VL, float &VU, int &IL, int &IU, float &ABSTOL, int &M, float *W, float *Z, int &LDZ, int *ISUPPZ, float *WORK, int &LWORK, int *IWORK, int &LIWORK, int &INFO)
 
void dgetrf(const int &n, const int &m, double *a, const int &n0, int *piv, int &st)
 
void zgeev(char *JOBVL, char *JOBVR, int *N, std::complex< double > *A, int *LDA, std::complex< double > *ALPHA, std::complex< double > *VL, int *LDVL, std::complex< double > *VR, int *LDVR, std::complex< double > *WORK, int *LWORK, double *RWORK, int *INFO)
 
void dhgeqz(const char *JOB, const char *COMPQ, const char *COMPZ, const int *N, const int *ILO, const int *IHI, double *H, const int *LDH, double *T, const int *LDT, double *ALPHAR, double *ALPHAI, double *BETA, double *Q, const int *LDQ, double *Z, const int *LDZ, double *WORK, int *LWORK, int *INFO)
 
void sggev(char *JOBVL, char *JOBVR, int *N, float *A, int *LDA, float *B, int *LDB, float *ALPHAR, float *ALPHAI, float *BETA, float *VL, int *LDVL, float *VR, int *LDVR, float *WORK, int *LWORK, int *INFO)
 
void dcopy(const int &n, const double *, const int &, double *, const int &)
 
void cgemm(const char &, const char &, const int &, const int &, const int &, const std::complex< float > &, const std::complex< float > *, const int &, const std::complex< float > *, const int &, const std::complex< float > &, std::complex< float > *, const int &)
 
void cgetrf(const int &n, const int &m, std::complex< float > *a, const int &n0, int *piv, int &st)
 
void zgetri(const int &n, std::complex< double > *a, const int &n0, int const *piv, std::complex< double > *work, const int &, int &st)
 
float scnrm2(const int &n, const std::complex< float > *dx, const int &incx)
 
void sgetrf(const int &n, const int &m, float *a, const int &n0, int *piv, int &st)
 
void zpotrf(const char &UPLO, const int &N, std::complex< double > *A, const int &LDA, int &INFO)
 
void cgemv(const char &trans, const int &nr, const int &nc, const std::complex< float > &alpha, const std::complex< float > *amat, const int &lda, const std::complex< float > *bv, const int &incx, const std::complex< float > &beta, std::complex< float > *cv, const int &incy)
 
void cgesvd(const char &JOBU, const char &JOBVT, const int &M, const int &N, std::complex< float > *A, const int &LDA, float *S, std::complex< float > *U, const int &LDU, std::complex< float > *VT, const int &LDVT, std::complex< float > *work, const int &LWORK, float *RWORK, int &INFO)
 
void cunglq(const int &M, const int &N, const int &K, std::complex< float > *A, const int &LDA, std::complex< float > *TAU, std::complex< float > *WORK, const int &LWORK, int &INFO)
 
void dsyr2k(const char &, const char &, const int &, const int &, const double &, const double *, const int &, const double *, const int &, const double &, double *, const int &)
 
double dznrm2(const int &n, const std::complex< double > *dx, const int &incx)
 
void caxpy(const int &n, const std::complex< float > &da, const std::complex< float > *dx, const int &incx, std::complex< float > *dy, const int &incy)
 
void cheevr(char &JOBZ, char &RANGE, char &UPLO, int &N, std::complex< float > *A, int &LDA, float &VL, float &VU, int &IL, int &IU, float &ABSTOL, int &M, float *W, std::complex< float > *Z, int &LDZ, int *ISUPPZ, std::complex< float > *WORK, int &LWORK, float *RWORK, int &LRWORK, int *IWORK, int &LIWORK, int &INFO)
 
void cungqr(const int &M, const int &N, const int &K, std::complex< float > *A, const int &LDA, std::complex< float > *TAU, std::complex< float > *WORK, const int &LWORK, int &INFO)
 
float snrm2(const int &n, const float *dx, const int &incx)
 
void cpotrf(const char &UPLO, const int &N, std::complex< float > *A, const int &LDA, int &INFO)
 
void sger(const int *m, const int *n, const float *alpha, const float *x, const int *incx, const float *y, const int *incy, float *a, const int *lda)
 
void spotrf(const char &UPLO, const int &N, float *A, const int &LDA, int &INFO)
 
void zgelqf(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 csscal(const int &n, const float &, std::complex< float > *x, const int &)
 
void dsyrk(const char &, const char &, const int &, const int &, const double &, const double *, const int &, const double &, double *, const int &)
 
void sgesvd(const char &JOBU, const char &JOBVT, const int &M, const int &N, float *A, const int &LDA, float *S, float *U, const int &LDU, float *VT, const int &LDVT, float *work, const int &LWORK, int &INFO)
 
void zscal(const int &n, const std::complex< double > &, std::complex< double > *x, const int &)
 
void zunglq(const int &M, const int &N, const int &K, std::complex< double > *A, const int &LDA, std::complex< double > *TAU, std::complex< double > *WORK, const int &LWORK, int &INFO)
 
void dtgexc(const bool *WANTQ, const bool *WANTZ, const int *N, double *A, const int *LDA, double *B, const int *LDB, double *Q, const int *LDQ, double *Z, const int *LDZ, int *IFST, int *ILST, double *WORK, int *LWORK, int *INFO)
 
void daxpy(const int &n, const double &da, const double *dx, const int &incx, double *dy, const int &incy)
 
void dgeev(char *JOBVL, char *JOBVR, int *N, double *A, int *LDA, double *ALPHAR, double *ALPHAI, double *VL, int *LDVL, double *VR, int *LDVR, double *WORK, int *LWORK, int *INFO)
 
double B(double x, int k, int i, const std::vector< double > &t)
 
void dsymv(const char &uplo, const int &n, const double &alpha, const double &a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
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 dgemv(const char &trans, const int &nr, const int &nc, const double &alpha, const double *amat, const int &lda, const double *bv, const int &incx, const double &beta, double *cv, const int &incy)
 
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 zhegvx(int &, char &JOBZ, char &RANGE, char &UPLO, int &N, std::complex< double > *A, int &LDA, std::complex< double > *B, int &LDB, double &VL, double &VU, int &IL, int &IU, double &ABSTOL, int &M, double *W, std::complex< double > *Z, int &LDZ, std::complex< double > *WORK, int &LWORK, double *RWORK, int *IWORK, int *IFAIL, int &INFO)
 
void zgetrf(const int &n, const int &m, std::complex< double > *a, const int &n0, int *piv, int &st)
 
void dgetri(const int &n, double *a, const int &n0, int const *piv, double *work, const int &, int &st)
 
void sgemv(const char &trans, const int &nr, const int &nc, const float &alpha, const float *amat, const int &lda, const float *bv, const int &incx, const float &beta, float *cv, const int &incy)
 
void cheev(char &JOBZ, char &UPLO, int &N, std::complex< float > *A, int &LDA, float *W, std::complex< float > *WORK, int &LWORK, float *RWORK, int &INFO)