20 #ifndef TENSOR_TENSOR_LAPACK_H 
   21 #define TENSOR_TENSOR_LAPACK_H 
   23 #include <tensor/tensor_blas.h> 
   30 #include <mkl_lapack.h> 
   32 #ifdef TENSOR_USE_ESSL 
   42 #if defined(TENSOR_USE_ATLAS) || defined(TENSOR_USE_ESSL) 
   45     (__CLPK_integer *n, __CLPK_integer *nrhs, __CLPK_doublereal *a,
 
   46      __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_doublereal *b,
 
   47      __CLPK_integer *ldb, __CLPK_integer *info);
 
   49     (__CLPK_integer *n, __CLPK_integer *nrhs, __CLPK_doublecomplex *a,
 
   50      __CLPK_integer *lda, __CLPK_integer *ipiv, __CLPK_doublecomplex *b,
 
   51      __CLPK_integer *ldb, __CLPK_integer *info);
 
   53     (
char *jobvl, 
char *jobvr, __CLPK_integer *n, __CLPK_doublereal *
 
   54      a, __CLPK_integer *lda, __CLPK_doublereal *wr, __CLPK_doublereal *wi,
 
   55      __CLPK_doublereal *vl, __CLPK_integer *ldvl, __CLPK_doublereal *vr,
 
   56      __CLPK_integer *ldvr, __CLPK_doublereal *work,
 
   57      __CLPK_integer *lwork, __CLPK_integer *info);
 
   59     (
char *jobz, 
char *uplo,
 
   60      __CLPK_integer *n, __CLPK_doublereal *a, __CLPK_integer *lda,
 
   61      __CLPK_doublereal *w, __CLPK_doublereal *work, __CLPK_integer *lwork,
 
   62      __CLPK_integer *info);
 
   64     (
char *jobvl, 
char *jobvr, __CLPK_integer *n, 
 
   65      __CLPK_doublecomplex *a, __CLPK_integer *lda, __CLPK_doublecomplex *w,
 
   66      __CLPK_doublecomplex *vl, __CLPK_integer *ldvl, __CLPK_doublecomplex *vr,
 
   67      __CLPK_integer *ldvr, __CLPK_doublecomplex *work,
 
   68      __CLPK_integer *lwork, __CLPK_doublereal *rwork, __CLPK_integer *info);
 
   70     (
char *jobu, 
char *jobvt, __CLPK_integer *m, __CLPK_integer *n, 
 
   71      __CLPK_doublereal *a, __CLPK_integer *lda, __CLPK_doublereal *s,
 
   72      __CLPK_doublereal *u, __CLPK_integer *ldu, __CLPK_doublereal *vt,
 
   73      __CLPK_integer *ldvt, __CLPK_doublereal *work, __CLPK_integer *lwork, 
 
   74      __CLPK_integer *info);
 
   76     (
char *jobu, 
char *jobvt, __CLPK_integer *m, __CLPK_integer *n, 
 
   77      __CLPK_doublecomplex *a, __CLPK_integer *lda, __CLPK_doublereal *s,
 
   78      __CLPK_doublecomplex *u, __CLPK_integer *ldu, __CLPK_doublecomplex *vt,
 
   79      __CLPK_integer *ldvt, __CLPK_doublecomplex *work, 
 
   80      __CLPK_integer *lwork, __CLPK_doublereal *rwork, __CLPK_integer *info);
 
   82     (
char *jobz, 
char *uplo,
 
   83      __CLPK_integer *n, __CLPK_doublecomplex *a, __CLPK_integer *lda,
 
   84      __CLPK_doublereal *w, __CLPK_doublecomplex *work,
 
   85      __CLPK_integer *lwork, __CLPK_doublereal *rwork, __CLPK_integer *info);
 
   91 #endif // TENSOR_TENSOR_LAPACK_H