36 #ifndef MADNESS_LINALG_CLAPACK_H__INCLUDED
37 #define MADNESS_LINALG_CLAPACK_H__INCLUDED
45 #ifdef FORTRAN_LINKAGE_LC
46 # define sgesvd_ sgesvd
47 # define dgesvd_ dgesvd
48 # define cgesvd_ cgesvd
49 # define zgesvd_ zgesvd
56 # define sgelss_ sgelss
57 # define dgelss_ dgelss
58 # define cgelss_ cgelss
59 # define zgelss_ zgelss
66 #ifndef MADNESS_HAS_ELEMENTAL
73 # define dpotrf_ dpotrf
77 # define dlamch_ dlamch
78 # define slamch_ slamch
81 # ifndef FORTRAN_LINKAGE_LCU
82 # error "clapack.h does not support the current Fortran symbol convention -- please, edit and check in the changes."
87 double dlamch_(
const char* mode,
int modelen);
90 float slamch_(
const char* mode,
int modelen);
282 void dtrsm_(
const char* side,
const char* uplo,
const char* transa,
const char* diag,
292 #endif // MADNESS_LINALG_CLAPACK_H__INCLUDED
void sgesvd_(const char *jobu, const char *jobvt, integer *m, integer *n, real4 *a, integer *lda, real4 *s, real4 *u, integer *ldu, real4 *vt, integer *ldvt, real4 *work, integer *lwork, integer *info, char_len jobulen, char_len jobvtlen)
Corresponding C and Fortran types.
void sgeqp3_(integer *m, integer *n, real4 *a, integer *lda, integer *jpvt, real4 *tau, real4 *work, integer *lwork, integer *infoOUT)
void dsygv_(integer *itype, const char *jobz, const char *uplo, integer *n, real8 *a, integer *lda, real8 *b, integer *ldb, real8 *w, real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
void cgeqp3_(integer *m, integer *n, complex_real4 *a, integer *lda, integer *jpvt, complex_real4 *tau, complex_real4 *work, integer *lwork, real4 *rwork, integer *infoOUT)
void ssyev_(const char *jobz, const char *uplo, integer *n, real4 *a, integer *lda, real4 *w, real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
void zheev_(const char *jobz, const char *uplo, integer *n, complex_real8 *a, integer *lda, real8 *w, complex_real8 *work, integer *lwork, real8 *rwork, integer *info, char_len jobzlen, char_len uplo_len)
void dsyev_(const char *jobz, const char *uplo, integer *n, real8 *a, integer *lda, real8 *w, real8 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
double dlamch_(const char *mode, int modelen)
void sgesv_(integer *n, integer *nrhs, real4 *AT, integer *lda, integer *piv, real4 *x, integer *ldx, integer *info)
void cungqr_(integer *m, integer *n, integer *k, complex_real4 *a, integer *lda, complex_real4 *tau, complex_real4 *work, integer *lwork, integer *info)
void dgeqp3_(integer *m, integer *n, real8 *a, integer *lda, integer *jpvt, real8 *tau, real8 *work, integer *lwork, integer *infoOUT)
void dpotrf_(const char *uplo, const integer *n, real8 *a, const integer *lda, integer *info, char_len uplo_len)
void zungqr_(integer *m, integer *n, integer *k, complex_real8 *a, integer *lda, complex_real8 *tau, complex_real8 *work, integer *lwork, integer *info)
void zgeqp3_(integer *m, integer *n, complex_real8 *a, integer *lda, integer *jpvt, complex_real8 *tau, complex_real8 *work, integer *lwork, real8 *rwork, integer *infoOUT)
float real4
Fortran single precision.
Definition: fortran_ctypes.h:78
std::complex< float > complex_real4
Fortran single complex.
Definition: fortran_ctypes.h:86
void zgelss_(integer *m, integer *n, integer *nrhs, complex_real8 *a, integer *lda, complex_real8 *b, integer *ldb, real8 *sOUT, real8 *rcondIN, integer *rankOUT, complex_real8 *work, integer *lwork, real8 *rwork, integer *infoOUT)
void cheev_(const char *jobz, const char *uplo, integer *n, complex_real4 *a, integer *lda, real4 *w, complex_real4 *work, integer *lwork, real4 *rwork, integer *info, char_len jobzlen, char_len uplo_len)
void ssygv_(integer *itype, const char *jobz, const char *uplo, integer *n, real4 *a, integer *lda, real4 *b, integer *ldb, real4 *w, real4 *work, integer *lwork, integer *info, char_len jobzlen, char_len uplo_len)
void zgesv_(integer *n, integer *nrhs, complex_real8 *AT, integer *lda, integer *piv, complex_real8 *x, integer *ldx, integer *info)
void dgeqrf_(integer *m, integer *n, real8 *a, integer *lda, real8 *tau, real8 *work, integer *lwork, integer *infoOUT)
void cgelss_(integer *m, integer *n, integer *nrhs, complex_real4 *a, integer *lda, complex_real4 *b, integer *ldb, real4 *sOUT, real4 *rcondIN, integer *rankOUT, complex_real4 *work, integer *lwork, real4 *rwork, integer *infoOUT)
void sgelss_(integer *m, integer *n, integer *nrhs, real4 *a, integer *lda, real4 *b, integer *ldb, real4 *sOUT, real4 *rcondIN, integer *rankOUT, real4 *work, integer *lwork, integer *infoOUT)
void dgesvd_(const char *jobu, const char *jobvt, integer *m, integer *n, real8 *a, integer *lda, real8 *s, real8 *u, integer *ldu, real8 *vt, integer *ldvt, real8 *work, integer *lwork, integer *info, char_len jobulen, char_len jobvtlen)
void cgesv_(integer *n, integer *nrhs, complex_real4 *AT, integer *lda, integer *piv, complex_real4 *x, integer *ldx, integer *info)
FLOAT a(int j, FLOAT z)
Definition: y1.cc:86
void chegv_(integer *itype, const char *jobz, const char *uplo, integer *n, complex_real4 *a, integer *lda, complex_real4 *b, integer *ldb, real4 *w, complex_real4 *work, integer *lwork, real4 *rwork, integer *info, char_len jobzlen, char_len uplo_len)
std::complex< double > complex_real8
Fortran double complex.
Definition: fortran_ctypes.h:82
void dgesv_(integer *n, integer *nrhs, real8 *AT, integer *lda, integer *piv, real8 *x, integer *ldx, integer *info)
void dtrsm_(const char *side, const char *uplo, const char *transa, const char *diag, const integer *m, const integer *n, const real8 *alpha, const real8 *a, const integer *lda, real8 *b, const integer *ldb, char_len sidelen, char_len uplolen, char_len transalen, char_len diaglen)
void cgesvd_(const char *jobu, const char *jobvt, integer *m, integer *n, complex_real4 *a, integer *lda, real4 *s, complex_real4 *u, integer *ldu, complex_real4 *vt, integer *ldvt, complex_real4 *work, integer *lwork, real4 *rwork, integer *info, char_len jobulen, char_len jobvtlen)
void dtrtri_(const char *uplo, const char *diag, const integer *n, const real8 *a, const integer *lda, integer *info)
int integer
Definition: DFcode/fci/crayio.c:25
const double m
Definition: gfit.cc:199
double real8
Fortran double precision.
Definition: fortran_ctypes.h:74
void sgeqrf_(integer *m, integer *n, real4 *a, integer *lda, real4 *tau, real4 *work, integer *lwork, integer *infoOUT)
void sorgqr_(integer *m, integer *n, integer *k, real4 *a, integer *lda, real4 *tau, real4 *work, integer *lwork, integer *info)
float slamch_(const char *mode, int modelen)
void dorgqr_(integer *m, integer *n, integer *k, real8 *a, integer *lda, real8 *tau, real8 *work, integer *lwork, integer *info)
void dgelss_(integer *m, integer *n, integer *nrhs, real8 *a, integer *lda, real8 *b, integer *ldb, real8 *sOUT, real8 *rcondIN, integer *rankOUT, real8 *work, integer *lwork, integer *infoOUT)
void zgesvd_(const char *jobu, const char *jobvt, integer *m, integer *n, complex_real8 *a, integer *lda, real8 *s, complex_real8 *u, integer *ldu, complex_real8 *vt, integer *ldvt, complex_real8 *work, integer *lwork, real8 *rwork, integer *info, char_len jobulen, char_len jobvtlen)
void zhegv_(integer *itype, const char *jobz, const char *uplo, integer *n, complex_real8 *a, integer *lda, complex_real8 *b, integer *ldb, real8 *w, complex_real8 *work, integer *lwork, real8 *rwork, integer *info, char_len jobzlen, char_len uplo_len)
FLOAT b(int j, FLOAT z)
Definition: y1.cc:79
int char_len
Type of variable appended to argument list for length of fortran character strings.
Definition: fortran_ctypes.h:90