35 #ifndef  NEKTAR_LIB_UTILITIES_LAPACK_HPP 
   36 #define  NEKTAR_LIB_UTILITIES_LAPACK_HPP 
   46                   double* ap, 
int *ipiv, 
int& info);
 
   48                   const int& nrhs, 
const double* ap,
 
   49                   const int  *ipiv, 
double* b,
 
   50                   const int& ldb, 
int& info);
 
   51         void F77NAME(
dtrtrs) (
const char& uplo, 
const char& trans, 
const char& diag,
 
   52                               const int& n, 
const int& nrhs, 
const double* a,
 
   53                               const int& lda, 
double* b, 
const int& ldb, 
int& info);
 
   54         void F77NAME(
dtptrs) (
const char& uplo, 
const char& trans, 
const char& diag,
 
   55                               const int& n, 
const int& nrhs, 
const double* a,
 
   56                               double* b, 
const int& ldb, 
int& info);
 
   58                   double* ap, 
int& info);
 
   60                   const int& nrhs, 
const double* ap,
 
   61                   double* b, 
const int& ldb, 
int& info);
 
   62         void F77NAME(
dpbtrf) (
const char& uplo, 
const int& n, 
const int& kd,
 
   63                   double* ab, 
const int& ldab, 
int& info);
 
   65                   const int& kd, 
const int& nrhs,
 
   66                   const double* ab, 
const int& ldab,
 
   67                   double* b, 
const int& ldb, 
int& info);
 
   68         void F77NAME(
dgbtrf) (
const int& m, 
const int& n, 
const int& kl,
 
   69                   const int& ku, 
double* a, 
const int& lda,
 
   70                   int* ipiv, 
int& info);
 
   71         void F77NAME(
dgbtrs) (
const char& trans, 
const int& n, 
const int& kl,
 
   72                   const int &ku, 
const int& nrhs,   
const double* a,
 
   73                   const int& lda, 
const int* ipiv, 
double* b,
 
   74                   const int& ldb, 
int& info);
 
   76                   const int& lda, 
int* ipiv, 
int& info);
 
   77         void F77NAME(
dgetrs) (
const char& trans, 
const int& n, 
const int& nrhs,
 
   78                   const double* a,   
const int& lda, 
int* ipiv,
 
   79                   double* b, 
const int& ldb, 
int& info);
 
   80         void F77NAME(
dgetri) (
const int& n, 
double *a, 
const int& lda,
 
   81                 const int *ipiv, 
double *wk,  
const int& lwk,
 
   83         void F77NAME(
dsterf) (
const int& n, 
double *d, 
double *e, 
int& info);
 
   84         void F77NAME(
dgeev)  (
const char& uplo, 
const char& lrev, 
const int& n,
 
   85                               const double* a, 
const int& lda, 
double* wr, 
double* wi,
 
   86                               double* rev,  
const int& ldr,
 
   87                               double* lev,  
const int& ldv,
 
   88                               double* work, 
const int& lwork, 
int& info);
 
   90         void F77NAME(
dspev)  (
const char& jobz, 
const char& uplo, 
const int& n,
 
   91                   double* ap, 
double* w, 
double* z, 
const int& ldz,
 
   92                   double* work, 
int& info);
 
   93         void F77NAME(
dsbev)  (
const char& jobz, 
const char& uplo, 
const int& kl,
 
   94                   const int& ku,  
double* ap, 
const int& lda,
 
   95                   double* w, 
double* z, 
const int& ldz,
 
   96                   double* work, 
int& info);
 
  100     void dgetrs(
char trans, 
int matrixRows, 
int matrixColumns, 
const double* A, 
double* x);
 
  102 #ifdef NEKTAR_USING_LAPACK 
  106     static inline void Dsptrf (
const char& uplo, 
const int& n,
 
  107               double* ap, 
int *ipiv, 
int& info)
 
  114     static inline void Dsptrs (
const char& uplo, 
const int& n, 
const int& nrhs,
 
  115               const double* ap, 
const int  *ipiv, 
double* b,
 
  116               const int& ldb, 
int& info)
 
  122     static inline void Dpptrf (
const char& uplo, 
const int& n,
 
  123               double *ap, 
int& info)
 
  130     static inline void Dpptrs (
const char& uplo, 
const int& n, 
const int& nrhs,
 
  131               const double *ap, 
double *b, 
const int& ldb,
 
  139     static inline void Dpbtrf (
const char& uplo, 
const int& n, 
const int& kd,
 
  140              double *ab, 
const int& ldab, 
int& info)
 
  148     static inline void Dpbtrs (
const char& uplo, 
const int& n,
 
  149               const int& kd, 
const int& nrhs,
 
  150               const double *ab, 
const int& ldab,
 
  151               double *b, 
const int& ldb, 
int& info)
 
  157     static inline void Dgbtrf (
const int& m, 
const int& n, 
const int& kl,
 
  158               const int& ku, 
double* a, 
const int& lda,
 
  159               int* ipiv, 
int& info)
 
  165     static inline void Dgbtrs (
const char& trans, 
const int& n, 
const int& kl,
 
  166               const int &ku, 
const int& nrhs,   
const double* a,
 
  167               const int& lda, 
const int* ipiv, 
double* b,
 
  168               const int& ldb, 
int& info)
 
  170         F77NAME(
dgbtrs)(trans,n,kl,ku,nrhs,a,lda,ipiv,b,ldb,info);
 
  174     static inline void Dgetrf (
const int& m, 
const int& n, 
double *a,
 
  175               const int& lda, 
int *ipiv, 
int& info)
 
  181     static inline void Dgetrs (
const char& trans, 
const int& n, 
const int& nrhs,
 
  182               const double* a, 
const int& lda, 
int* ipiv,
 
  183               double* b, 
const int& ldb, 
int& info)
 
  185         F77NAME(dgetrs) (trans,n,nrhs,a,lda,ipiv,b,ldb,info);
 
  189     static inline void Dgetri (
const int& n, 
double *a, 
const int& lda,
 
  190            const int *ipiv, 
double *wk,  
const int& lwk, 
int& info)
 
  196     static inline void Dsterf(
const int& n, 
double *d, 
double *e, 
int& info)
 
  202     static inline void Dgeev (
const char& uplo, 
const char& lrev, 
const int& n,
 
  203                               const double* a, 
const int& lda, 
double* wr, 
double* wi,
 
  204              double* rev,  
const int& ldr,
 
  205              double* lev,  
const int& ldv,
 
  206              double* work, 
const int& lwork, 
int& info)
 
  209             ldr, lev, ldv, work, lwork, info);
 
  213     static inline void Dspev (
const char& jobz, 
const char& uplo, 
const int& n,
 
  214              double* ap, 
double* w, 
double* z, 
const int& ldz,
 
  215              double* work, 
int& info)
 
  217         F77NAME(
dspev) (jobz, uplo, n, ap, w, z, ldz, work, info);
 
  221     static inline void Dsbev (
const char& jobz, 
const char& uplo, 
const int& kl,
 
  222              const int& ku,  
double* ap, 
const int& lda,
 
  223              double* w, 
double* z, 
const int& ldz,
 
  224              double* work, 
int& info)
 
  226         F77NAME(
dsbev) (jobz, uplo, kl, ku, ap, lda, w, z, ldz, work, info);
 
  229     static inline void Dtrtrs(
const char& uplo, 
const char& trans, 
const char& diag,
 
  230                               const int& n, 
const int& nrhs, 
const double* a,
 
  231                               const int& lda, 
double* b, 
const int& ldb, 
int& info)
 
  233         F77NAME(
dtrtrs) (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info);
 
  236     static inline void Dtptrs(
const char& uplo, 
const char& trans, 
const char& diag,
 
  237                               const int& n, 
const int& nrhs, 
const double* a,
 
  238                               double* b, 
const int& ldb, 
int& info)
 
  240         F77NAME(
dtptrs) (uplo, trans, diag, n, nrhs, a, b, ldb, info);
 
  244 #endif //NEKTAR_USING_LAPACK 
  246 #endif //NEKTAR_LIB_UTILITIES_LAPACK_HPP 
void F77NAME() dsptrs(const char &uplo, const int &n, const int &nrhs, const double *ap, const int *ipiv, double *b, const int &ldb, int &info)
 
void F77NAME() dpbtrf(const char &uplo, const int &n, const int &kd, double *ab, const int &ldab, int &info)
 
void F77NAME() dgetrf(const int &m, const int &n, double *a, const int &lda, int *ipiv, int &info)
 
void F77NAME() dtrtrs(const char &uplo, const char &trans, const char &diag, const int &n, const int &nrhs, const double *a, const int &lda, double *b, const int &ldb, int &info)
 
#define F77NAME(x)
Fortran routines need an underscore. 
 
void F77NAME() dpbtrs(const char &uplo, const int &n, const int &kd, const int &nrhs, const double *ab, const int &ldab, double *b, const int &ldb, int &info)
 
void F77NAME() dsterf(const int &n, double *d, double *e, int &info)
 
void F77NAME() dtptrs(const char &uplo, const char &trans, const char &diag, const int &n, const int &nrhs, const double *a, double *b, const int &ldb, int &info)
 
void F77NAME() dpptrf(const char &uplo, const int &n, double *ap, int &info)
 
void F77NAME() dgeev(const char &uplo, const char &lrev, const int &n, const double *a, const int &lda, double *wr, double *wi, double *rev, const int &ldr, double *lev, const int &ldv, double *work, const int &lwork, int &info)
 
void F77NAME() dgetrs(const char &trans, const int &n, const int &nrhs, const double *a, const int &lda, int *ipiv, double *b, const int &ldb, int &info)
 
void F77NAME() dspev(const char &jobz, const char &uplo, const int &n, double *ap, double *w, double *z, const int &ldz, double *work, int &info)
 
void F77NAME() dsbev(const char &jobz, const char &uplo, const int &kl, const int &ku, double *ap, const int &lda, double *w, double *z, const int &ldz, double *work, int &info)
 
void F77NAME() dgbtrf(const int &m, const int &n, const int &kl, const int &ku, double *a, const int &lda, int *ipiv, int &info)
 
void F77NAME() dpptrs(const char &uplo, const int &n, const int &nrhs, const double *ap, double *b, const int &ldb, int &info)
 
void F77NAME() dgetri(const int &n, double *a, const int &lda, const int *ipiv, double *wk, const int &lwk, int &info)
 
void F77NAME() dsptrf(const char &uplo, const int &n, double *ap, int *ipiv, int &info)
 
void F77NAME() dgbtrs(const char &trans, const int &n, const int &kl, const int &ku, const int &nrhs, const double *a, const int &lda, const int *ipiv, double *b, const int &ldb, int &info)