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