15 #ifdef HAVE_TEUCHOSCORE_QUADMATH 
   17 #endif // HAVE_TEUCHOSCORE_QUADMATH 
   18 #ifdef HAVE_TEUCHOS_LONG_DOUBLE 
   20 #endif // HAVE_TEUCHOS_LONG_DOUBLE 
   31 #if defined (INTEL_CXML) 
   32 #define CHAR_MACRO(char_var) &char_var, one 
   34 #define CHAR_MACRO(char_var) &char_var 
   40 #if defined (INTEL_CXML) 
   41 #define CHARPTR_MACRO(charptr_var) charptr_var, one 
   43 #define CHARPTR_MACRO(charptr_var) charptr_var 
   48 #if defined (INTEL_CXML) 
   58   const int* ispec, 
const char* name, 
const unsigned int& name_length,
 
   59   const char* opts, 
const unsigned int& opts_length,
 
   60   const int* N1, 
const int* N2, 
const int* N3, 
const int* N4 )
 
   62 #if defined (INTEL_CXML) 
   63     return ILAENV_F77(ispec, name, name_length, opts, opts_length, N1, N2, N3, N4 );
 
   65     return ILAENV_F77(ispec, name, opts, N1, N2, N3, N4, name_length, opts_length );
 
   98   void LAPACK<int, float>::POTRS(
const char& UPLO, 
const int& 
n, 
const int& nrhs, 
const float* 
A, 
const int& lda, 
float* 
B, 
const int& ldb, 
int* info)
 const 
  106   void LAPACK<int, float>::POCON(
const char& UPLO, 
const int& 
n, 
const float* 
A, 
const int& lda, 
const float& anorm, 
float* rcond, 
float* WORK, 
int* IWORK, 
int* info)
 const 
  110   void LAPACK<int, float>::POSV(
const char& UPLO, 
const int& 
n, 
const int& nrhs, 
float* 
A, 
const int& lda, 
float* 
B, 
const int& ldb, 
int* info)
 const 
  115   { 
SPOEQU_F77(&n, A, &lda, S, scond, amax, info); }
 
  117   void LAPACK<int, float>::PORFS(
const char& UPLO, 
const int& 
n, 
const int& nrhs, 
const float* 
A, 
const int& lda, 
const float* AF, 
const int& ldaf, 
const float* 
B, 
const int& ldb, 
float* X, 
const int& ldx, 
float* FERR, 
float* BERR, 
float* WORK, 
int* IWORK, 
int* info)
 const 
  118   { 
SPORFS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  120   void LAPACK<int, float>::POSVX(
const char& FACT, 
const char& UPLO, 
const int& 
n, 
const int& nrhs, 
float* 
A, 
const int& lda, 
float* AF, 
const int& ldaf, 
char* EQUED, 
float* S, 
float* 
B, 
const int& ldb, 
float* X, 
const int& ldx, 
float* rcond, 
float* FERR, 
float* BERR, 
float* WORK, 
int* IWORK, 
int* info)
 const 
  121   { 
SPOSVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, 
CHARPTR_MACRO(EQUED), S, B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
 
  124   void LAPACK<int,float>::GELS(
const char& 
TRANS, 
const int& m, 
const int& 
n, 
const int& nrhs, 
float* 
A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  125   { 
SGELS_F77(
CHAR_MACRO(TRANS), &m, &n, &nrhs, A, &lda, B, &ldb, WORK, &lwork, info); }
 
  127   void LAPACK<int,float>::GELSS (
const int& m, 
const int& 
n, 
const int& nrhs, 
float* 
A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* S, 
const float& rcond, 
int* rank, 
float* WORK, 
const int& lwork, 
float* rwork, 
int* info)
 const 
  130     SGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, info);
 
  133   void LAPACK<int,float>::GELSS(
const int& m, 
const int& 
n, 
const int& nrhs, 
float* 
A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* S, 
const float& rcond, 
int* rank, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  134   { 
SGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, info); }
 
  137   void LAPACK<int,float>::GGLSE(
const int& m, 
const int& 
n, 
const int& p, 
float* 
A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* 
C, 
float* 
D, 
float* X, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  138   { 
SGGLSE_F77(&m, &n, &p, A, &lda, B, &ldb, C, D, X, WORK, &lwork, info); }
 
  141   void LAPACK<int,float>::GEQRF( 
const int& m, 
const int& 
n, 
float* 
A, 
const int& lda, 
float* TAU, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  142   { 
SGEQRF_F77(&m, &n, A, &lda, TAU, WORK, &lwork, info); }
 
  153   void LAPACK<int,float>::GETRS(
const char& 
TRANS, 
const int& 
n, 
const int& nrhs, 
const float* 
A, 
const int& lda, 
const int* IPIV, 
float* 
B, 
const int& ldb, 
int* info)
 const 
  157   void LAPACK<int,float>::LASCL(
const char& TYPE, 
const int& kl, 
const int& ku, 
const float& cfrom, 
const float& cto, 
const int& m, 
const int& 
n, 
float* 
A, 
const int& lda, 
int* info)
 const 
  160   void LAPACK<int,float>::GEQP3 (
const int& m, 
const int& 
n, 
float* 
A, 
const int& lda, 
int* jpvt, 
float* TAU, 
float* WORK, 
const int& lwork, 
float* RWORK, 
int* info)
 const 
  163     SGEQP3_F77(&m, &n, A, &lda, jpvt, TAU, WORK, &lwork, info);
 
  166   void LAPACK<int, float>::LASWP (
const int& N, 
float* 
A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX)
 const 
  168     SLASWP_F77(&N, A, &LDA, &K1, &K2, IPIV, &INCX);
 
  171   void LAPACK<int,float>::GBTRF(
const int& m, 
const int& 
n, 
const int& kl, 
const int& ku, 
float* 
A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
  172   { 
SGBTRF_F77(&m, &n, &kl, &ku, A, &lda, IPIV, info); }
 
  175   void LAPACK<int,float>::GBTRS(
const char& 
TRANS, 
const int& 
n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const float* 
A, 
const int& lda, 
const int* IPIV, 
float* 
B, 
const int& ldb, 
int* info)
 const 
  176   { 
SGBTRS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, IPIV, B, &ldb, info); }
 
  180   { 
SGTTRF_F77(&n, dl, d, du, du2, IPIV, info); }
 
  183   void LAPACK<int,float>::GTTRS(
const char& 
TRANS, 
const int& 
n, 
const int& nrhs, 
const float* dl, 
const float* d, 
const float* du, 
const float* du2, 
const int* IPIV, 
float* 
B, 
const int& ldb, 
int* info)
 const 
  184   { 
SGTTRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, dl, d, du, du2, IPIV, B, &ldb, info); }
 
  188   { 
SGETRI_F77(&n, A, &lda, IPIV, WORK, &lwork, info); }
 
  190   void LAPACK<int, float>::LATRS (
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const float* 
A, 
const int& LDA, 
float* X, 
float* SCALE, 
float* CNORM, 
int* INFO)
 const 
  192     SLATRS_F77(
CHAR_MACRO(UPLO), 
CHAR_MACRO(TRANS), 
CHAR_MACRO(DIAG), 
CHAR_MACRO(NORMIN), &N, A, &LDA, X, SCALE, CNORM, INFO);
 
  195   void LAPACK<int,float>::GECON(
const char& NORM, 
const int& 
n, 
const float* 
A, 
const int& lda, 
const float& anorm, 
float* rcond, 
float* WORK, 
int* IWORK, 
int* info)
 const 
  199   void LAPACK<int,float>::GBCON(
const char& NORM, 
const int& 
n, 
const int& kl, 
const int& ku, 
const float* 
A, 
const int& lda, 
const int* IPIV, 
const float& anorm, 
float* rcond, 
float* WORK, 
int* IWORK, 
int* info)
 const 
  200   { 
SGBCON_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, IPIV, &anorm, rcond, WORK, IWORK, info); }
 
  203   float LAPACK<int,float>::LANGB(
const char& NORM, 
const int& 
n, 
const int& kl, 
const int& ku, 
const float* 
A, 
const int& lda, 
float* WORK)
 const 
  208   { 
SGESV_F77(&n, &nrhs, A, &lda, IPIV, B, &ldb, info); }
 
  211   void LAPACK<int,float>::GEEQU(
const int& m, 
const int& 
n, 
const float* 
A, 
const int& lda, 
float* R, 
float* 
C, 
float* rowcond, 
float* colcond, 
float* amax, 
int* info)
 const 
  212   { 
SGEEQU_F77(&m, &n, A, &lda, R, C, rowcond, colcond, amax, info); }
 
  215   void LAPACK<int,float>::GERFS(
const char& 
TRANS, 
const int& 
n, 
const int& nrhs, 
const float* 
A, 
const int& lda, 
const float* AF, 
const int& ldaf, 
const int* IPIV, 
const float* 
B, 
const int& ldb, 
float* X, 
const int& ldx, 
float* FERR, 
float* BERR, 
float* WORK, 
int* IWORK, 
int* info)
 const 
  216   { 
SGERFS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  219   void LAPACK<int,float>::GBEQU(
const int& m, 
const int& 
n, 
const int& kl, 
const int& ku, 
const float* 
A, 
const int& lda, 
float* R, 
float* 
C, 
float* rowcond, 
float* colcond, 
float* amax, 
int* info)
 const 
  220   { 
SGBEQU_F77(&m, &n, &kl, &ku, A, &lda, R, C, rowcond, colcond, amax, info); }
 
  223   void LAPACK<int,float>::GBRFS(
const char& 
TRANS, 
const int& 
n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const float* 
A, 
const int& lda, 
const float* AF, 
const int& ldaf, 
const int* IPIV, 
const float* 
B, 
const int& ldb, 
float* X, 
const int& ldx, 
float* FERR, 
float* BERR, 
float* WORK, 
int* IWORK, 
int* info)
 const 
  224   { 
SGBRFS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  226   void LAPACK<int,float>::GESVX(
const char& FACT, 
const char& 
TRANS, 
const int& 
n, 
const int& nrhs, 
float* 
A, 
const int& lda, 
float* AF, 
const int& ldaf, 
int* IPIV, 
char* EQUED, 
float* R, 
float* 
C, 
float* 
B, 
const int& ldb, 
float* X, 
const int& ldx, 
float* rcond, 
float* FERR, 
float* BERR, 
float* WORK, 
int* IWORK, 
int* info)
 const 
  227   { 
SGESVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, 
CHARPTR_MACRO(EQUED), R, C, B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
 
  230   void LAPACK<int,float>::SYTRD(
const char& UPLO, 
const int& 
n, 
float* 
A, 
const int& lda, 
float* 
D, 
float* 
E, 
float* TAU, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  234   void LAPACK<int,float>::GEHRD(
const int& 
n, 
const int& ilo, 
const int& ihi, 
float* 
A, 
const int& lda, 
float* TAU, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  235   { 
SGEHRD_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info); }
 
  238   void LAPACK<int,float>::TRTRS(
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const int& 
n, 
const int& nrhs, 
const float* 
A, 
const int& lda, 
float* 
B, 
const int& ldb, 
int* info)
 const 
  246   void LAPACK<int,float>::SPEV(
const char& JOBZ, 
const char& UPLO, 
const int& 
n, 
float* AP, 
float* W, 
float* Z, 
const int& ldz, 
float* WORK, 
int* info)
 const 
  250   void LAPACK<int,float>::SYEV(
const char& JOBZ, 
const char& UPLO, 
const int& 
n, 
float* 
A, 
const int& lda, 
float* W, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  254   void LAPACK<int,float>::SYGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& 
n, 
float* 
A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* W, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  255   { 
SSYGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, info); }
 
  258   void LAPACK<int,float>::HEEV(
const char& JOBZ, 
const char& UPLO, 
const int& 
n, 
float* 
A, 
const int& lda, 
float* W, 
float* WORK, 
const int& lwork, 
float* , 
int* info)
 const 
  262   void LAPACK<int,float>::HEGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& 
n, 
float* 
A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* W, 
float* WORK, 
const int& lwork, 
float* , 
int* info)
 const 
  263   { 
SSYGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, info); }
 
  274   void LAPACK<int, float>::HSEQR(
const char& JOB, 
const char& COMPZ, 
const int& 
n, 
const int& ilo, 
const int& ihi, 
float* H, 
const int& ldh, 
float* WR, 
float* WI, 
float* Z, 
const int& ldz, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  275   { 
SHSEQR_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPZ), &n, &ilo, &ihi, H, &ldh, WR, WI, Z, &ldz, WORK, &lwork, info); }
 
  278   void LAPACK<int, float>::GEES(
const char& JOBVS, 
const char& SORT, 
int (*ptr2func)(
float*, 
float*), 
const int& 
n, 
float* 
A, 
const int& lda, 
int* sdim, 
float* WR, 
float* WI, 
float* VS, 
const int& ldvs, 
float* WORK, 
const int& lwork, 
int* BWORK, 
int* info)
 const 
  279   { 
SGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info); }
 
  282   void LAPACK<int, float>::GEES(
const char& JOBVS, 
const int& n, 
float* A, 
const int& lda, 
int* sdim, 
float* WR, 
float* WI, 
float* VS, 
const int& ldvs, 
float* WORK, 
const int& lwork, 
float* , 
int* BWORK, 
int* info)
 const 
  284     int (*nullfptr)(
float*,
float*) = NULL;
 
  285     const char sort = 
'N';
 
  286     SGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(sort), nullfptr, &n, A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info);
 
  290   void LAPACK<int, float>::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
float* A, 
const int& lda, 
float* WR, 
float* WI, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  291   { 
SGEEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, WORK, &lwork, info); }
 
  293   void LAPACK<int, float>::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
float* A, 
const int& lda, 
float* WR, 
float* WI, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
float* WORK, 
const int& lwork, 
float* , 
int* info)
 const 
  295     GEEV (JOBVL, JOBVR, n, A, lda, WR, WI, VL, ldvl, VR, ldvr, WORK, lwork, info);
 
  299   void LAPACK<int, float>::GESVD(
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* V, 
const int& ldv, 
float* WORK, 
const int& lwork, 
float* , 
int* info)
 const 
  300   { 
SGESVD_F77(
CHAR_MACRO(JOBU), 
CHAR_MACRO(JOBVT), &m, &n, A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, info); }
 
  303   void LAPACK<int,float>::GEEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
float* A, 
const int& lda, 
float* WR, 
float* WI, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
float* SCALE, 
float* abnrm, 
float* RCONDE, 
float* RCONDV, 
float* WORK, 
const int& lwork, 
int* IWORK, 
int* info)
 const 
  304   { 
SGEEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, ilo, ihi, SCALE, abnrm, RCONDE, RCONDV, WORK, &lwork, IWORK, info); }
 
  307   void LAPACK<int,float>::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
float* A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* ALPHAR, 
float* ALPHAI, 
float* BETA, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
float* lscale, 
float* rscale, 
float* abnrm, 
float* bbnrm, 
float* RCONDE, 
float* RCONDV, 
float* WORK, 
const int& lwork, 
int* IWORK, 
int* BWORK, 
int* info)
 const 
  308   { 
SGGEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, A, &lda, B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, &lwork, IWORK, BWORK, info); }
 
  310   void LAPACK<int,float>::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
float* A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* ALPHAR, 
float* ALPHAI, 
float* BETA, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
float* lscale, 
float* rscale, 
float* abnrm, 
float* bbnrm, 
float* RCONDE, 
float* RCONDV, 
float* WORK, 
const int& lwork, 
float* , 
int* IWORK, 
int* BWORK, 
int* info)
 const 
  312     GGEVX(BALANC, JOBVL, JOBVR, SENSE, n, A, lda, B, ldb, ALPHAR, ALPHAI, BETA, VL, ldvl, VR, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, lwork, IWORK, BWORK, info);
 
  315   void LAPACK<int, float>::GGEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
float* A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* ALPHAR, 
float* ALPHAI, 
float* BETA, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  316   { 
SGGEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, info); }
 
  319   void LAPACK<int, float>::TRSEN(
const char& JOB, 
const char& COMPQ, 
const int* SELECT, 
const int& n, 
float* T, 
const int& ldt, 
float* Q, 
const int& ldq, 
float* WR, 
float* WI, 
int* M, 
float* S, 
float* SEP, 
float* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info )
 const 
  320   { 
STRSEN_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPQ), SELECT, &n, T, &ldt, Q, &ldq, WR, WI, M, S, SEP, WORK, &lwork, IWORK, &liwork, info); }
 
  323   void LAPACK<int, float>::TGSEN(
const int& ijob, 
const int& wantq, 
const int& wantz, 
const int* SELECT, 
const int& n, 
float* A, 
const int& lda, 
float* 
B, 
const int& ldb, 
float* ALPHAR, 
float* ALPHAI, 
float* BETA, 
float* Q, 
const int& ldq, 
float* Z, 
const int& ldz, 
int* M, 
float* PL, 
float* PR, 
float* DIF, 
float* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info )
 const 
  324   { 
STGSEN_F77(&ijob, &wantq, &wantz, SELECT, &n, A, &lda, B, &ldb, ALPHAR, ALPHAI, BETA, Q, &ldq, Z, &ldz, M, PL, PR, DIF, WORK, &lwork, IWORK, &liwork, info); }
 
  327   void LAPACK<int, float>::GGES(
const char& JOBVL, 
const char& JOBVR, 
const char& SORT, 
int (*ptr2func)(
float* , 
float* , 
float* ), 
const int& n, 
float* A, 
const int& lda, 
float* 
B, 
const int& ldb, 
int* sdim, 
float* ALPHAR, 
float* ALPHAI, 
float* BETA, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
float* WORK, 
const int& lwork, 
int* BWORK, 
int* info )
 const 
  328   { 
SGGES_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, B, &ldb, sdim, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, BWORK, info); }
 
  331   void LAPACK<int, float>::ORMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const float* A, 
const int& lda, 
const float* TAU, 
float* 
C, 
const int& ldc, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  332   { 
SORMQR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, &lwork, info); }
 
  335   void LAPACK<int, float>::ORM2R(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const float* A, 
const int& lda, 
const float* TAU, 
float* 
C, 
const int& ldc, 
float* WORK, 
int* 
const info)
 const 
  336   { 
SORM2R_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, info); }
 
  339   void LAPACK<int, float>::UNMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const float* A, 
const int& lda, 
const float* TAU, 
float* 
C, 
const int& ldc, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  342     ORMQR (SIDE, TRANS, m, n, k, A, lda, TAU, C, ldc, WORK, lwork, info);
 
  345   void LAPACK<int, float>::UNM2R (
const char& SIDE, 
const char& 
TRANS, 
const int& M, 
const int& N, 
const int& K, 
const float* A, 
const int& LDA, 
const float* TAU, 
float* 
C, 
const int& LDC, 
float* WORK, 
int* 
const INFO)
 const 
  350     ORM2R (SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO);
 
  354   void LAPACK<int, float>::ORGQR(
const int& m, 
const int& n, 
const int& k, 
float* A, 
const int& lda, 
const float* TAU, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  355   { 
SORGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info); }
 
  358   void LAPACK<int, float>::UNGQR(
const int& m, 
const int& n, 
const int& k, 
float* A, 
const int& lda, 
const float* TAU, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  359   { 
SORGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info); }
 
  362   void LAPACK<int, float>::ORGHR(
const int& n, 
const int& ilo, 
const int& ihi, 
float* A, 
const int& lda, 
const float* TAU, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  363   { 
SORGHR_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info); }
 
  366   void LAPACK<int, float>::ORMHR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& ilo, 
const int& ihi, 
const float* A, 
const int& lda, 
const float* TAU, 
float* 
C, 
const int& ldc, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  367   { 
SORMHR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &ilo, &ihi, A, &lda, TAU, C, &ldc, WORK, &lwork, info); }
 
  370   void LAPACK<int, float>::TREVC(
const char& SIDE, 
const char& HOWMNY, 
int* select, 
const int& n, 
const float* T, 
const int& ldt, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
const int& mm, 
int* m, 
float* WORK, 
int* info)
 const 
  371   { 
STREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), select, &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info); }
 
  374   void LAPACK<int, float>::TREVC(
const char& SIDE, 
const int& n, 
const float* T, 
const int& ldt, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
const int& mm, 
int* m, 
float* WORK, 
float* , 
int* info)
 const 
  376     std::vector<int> select(1);
 
  377     const char whch = 
'A';
 
  378     STREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(whch), &select[0], &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info);
 
  381   void LAPACK<int, float>::TREXC(
const char& COMPQ, 
const int& n, 
float* T, 
const int& ldt, 
float* Q, 
const int& ldq, 
int* ifst, 
int* ilst, 
float* WORK, 
int* info)
 const 
  385   void LAPACK<int, float>::TGEVC(
const char& SIDE, 
const char& HOWMNY, 
const int* SELECT, 
const int& n, 
const float* S, 
const int& lds, 
const float* P, 
const int& ldp, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
const int& mm, 
int* M, 
float* WORK, 
int* info)
 const 
  386   { 
STGEVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), SELECT, &n, S, &lds, P, &ldp, VL, &ldvl, VR, &ldvr, &mm, M, WORK, info); }
 
  396   void LAPACK<int, float>::GEBAL(
const char& JOBZ, 
const int& n, 
float* A, 
const int& lda, 
int* ilo, 
int* ihi, 
float* scale, 
int* info)
 const 
  400   void LAPACK<int, float>::GEBAK(
const char& JOBZ, 
const char& SIDE, 
const int& n, 
const int& ilo, 
const int& ihi, 
const float* scale, 
const int& m, 
float* V, 
const int& ldv, 
int* info)
 const 
  403 #ifdef HAVE_TEUCHOS_LAPACKLARND 
  416   int LAPACK<int, float>::ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1, 
const int& N2, 
const int& N3, 
const int& N4 )
 const 
  418     unsigned int opts_length = OPTS.length();
 
  420     std::string temp_NAME = 
"s" + NAME;
 
  421     if (temp_NAME.substr(1,2) == 
"he") {
 
  422       temp_NAME.replace(1,2,
"sy");
 
  424     unsigned int name_length = temp_NAME.length();
 
  425     return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
 
  431 #if defined(HAVE_TEUCHOS_BLASFLOAT) 
  432     return SLAPY2_F77(&x, &y);
 
  435     const float xabs = ST::magnitude(x);
 
  436     const float yabs = ST::magnitude(y);
 
  442     const float z_over_w = z/w;
 
  443     return w*ST::squareroot( 1.0+(z_over_w*z_over_w));
 
  455   void LAPACK<int, double>::PTTRS(
const int& n, 
const int& nrhs, 
const double* d, 
const double* e, 
double* 
B, 
const int& ldb, 
int* info)
 const 
  463   void LAPACK<int, double>::POTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const double* A, 
const int& lda, 
double* 
B, 
const int& ldb, 
int* info)
 const 
  471   void LAPACK<int, double>::POCON(
const char& UPLO, 
const int& n, 
const double* A, 
const int& lda, 
const double& anorm, 
double* rcond, 
double* WORK, 
int* IWORK, 
int* info)
 const 
  475   void LAPACK<int, double>::POSV(
const char& UPLO, 
const int& n, 
const int& nrhs, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
int* info)
 const 
  479   void LAPACK<int, double>::POEQU(
const int& n, 
const double* A, 
const int& lda, 
double* S, 
double* scond, 
double* amax, 
int* info)
 const 
  480   { 
DPOEQU_F77(&n, A, &lda, S, scond, amax, info); }
 
  483   void LAPACK<int, double>::PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const double* A, 
const int& lda, 
const double* AF, 
const int& ldaf, 
const double* B, 
const int& ldb, 
double* X, 
const int& ldx, 
double* FERR, 
double* BERR, 
double* WORK, 
int* IWORK, 
int* info)
 const 
  484   { 
DPORFS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  486   void LAPACK<int, double>::POSVX(
const char& FACT, 
const char& UPLO, 
const int& n, 
const int& nrhs, 
double* A, 
const int& lda, 
double* AF, 
const int& ldaf, 
char* EQUED, 
double* S, 
double* B, 
const int& ldb, 
double* X, 
const int& ldx, 
double* rcond, 
double* FERR, 
double* BERR, 
double* WORK, 
int* IWORK, 
int* info)
 const 
  487   { 
DPOSVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, 
CHARPTR_MACRO(EQUED), S, B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
 
  490   void LAPACK<int,double>::GELS(
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& nrhs, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  491   { 
DGELS_F77(
CHAR_MACRO(TRANS), &m, &n, &nrhs, A, &lda, B, &ldb, WORK, &lwork, info); }
 
  494   void LAPACK<int,double>::GELSS(
const int& m, 
const int& n, 
const int& nrhs, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* S, 
const double& rcond, 
int* rank, 
double* WORK, 
const int& lwork, 
double* rwork, 
int* info)
 const 
  497     DGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, info);
 
  501   void LAPACK<int,double>::GELSS(
const int& m, 
const int& n, 
const int& nrhs, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* S, 
const double& rcond, 
int* rank, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  502   { 
DGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, info); }
 
  505   void LAPACK<int,double>::GGLSE(
const int& m, 
const int& n, 
const int& p, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* 
C, 
double* 
D, 
double* X, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  506   { 
DGGLSE_F77(&m, &n, &p, A, &lda, B, &ldb, C, D, X, WORK, &lwork, info); }
 
  509   void LAPACK<int,double>::GEQRF( 
const int& m, 
const int& n, 
double* A, 
const int& lda, 
double* TAU, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  510   { 
DGEQRF_F77(&m, &n, A, &lda, TAU, WORK, &lwork, info); }
 
  512   void LAPACK<int,double>::GEQR2 (
const int& m, 
const int& n, 
double* A, 
const int& lda, 
double* TAU, 
double* WORK, 
int* 
const info)
 const 
  521   void LAPACK<int,double>::GETRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const double* A, 
const int& lda, 
const int* IPIV, 
double* B, 
const int& ldb, 
int* info)
 const 
  525   void LAPACK<int,double>::LASCL(
const char& TYPE, 
const int& kl, 
const int& ku, 
const double& cfrom, 
const double& cto, 
const int& m, 
const int& n, 
double* A, 
const int& lda, 
int* info)
 const 
  528   void LAPACK<int,double>::GEQP3(
const int& m, 
const int& n, 
double* A, 
const int& lda, 
int* jpvt, 
double* TAU, 
double* WORK, 
const int& lwork, 
double* RWORK, 
int* info )
 const 
  531     DGEQP3_F77(&m, &n, A, &lda, jpvt, TAU, WORK, &lwork, info);
 
  534   void LAPACK<int, double>::LASWP (
const int& N, 
double* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX)
 const 
  535   { 
DLASWP_F77(&N, A, &LDA, &K1, &K2, IPIV, &INCX); }
 
  537   void LAPACK<int,double>::GBTRF(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, 
double* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
  538   { 
DGBTRF_F77(&m, &n, &kl, &ku, A, &lda, IPIV, info); }
 
  541   void LAPACK<int,double>::GBTRS(
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)
 const 
  542   { 
DGBTRS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, IPIV, B, &ldb, info); }
 
  546   { 
DGTTRF_F77(&n, dl, d, du, du2, IPIV, info); }
 
  549   void LAPACK<int,double>::GTTRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const double* dl, 
const double* d, 
const double* du, 
const double* du2, 
const int* IPIV, 
double* B, 
const int& ldb, 
int* info)
 const 
  550   { 
DGTTRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, dl, d, du, du2, IPIV, B, &ldb, info); }
 
  553   void LAPACK<int,double>::GETRI(
const int& n, 
double* A, 
const int& lda, 
const int* IPIV, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  554   { 
DGETRI_F77(&n, A, &lda, IPIV, WORK, &lwork, info); }
 
  556   void LAPACK<int, double>::LATRS (
const char& UPLO, 
const char& TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const double* A, 
const int& LDA, 
double* X, 
double* SCALE, 
double* CNORM, 
int* INFO)
 const 
  558     DLATRS_F77(
CHAR_MACRO(UPLO), 
CHAR_MACRO(TRANS), 
CHAR_MACRO(DIAG), 
CHAR_MACRO(NORMIN), &N, A, &LDA, X, SCALE, CNORM, INFO);
 
  561   void LAPACK<int,double>::GECON(
const char& NORM, 
const int& n, 
const double* A, 
const int& lda, 
const double& anorm, 
double* rcond, 
double* WORK, 
int* IWORK, 
int* info)
 const 
  565   void LAPACK<int,double>::GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const double* A, 
const int& lda, 
const int* IPIV, 
const double& anorm, 
double* rcond, 
double* WORK, 
int* IWORK, 
int* info)
 const 
  566   { 
DGBCON_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, IPIV, &anorm, rcond, WORK, IWORK, info); }
 
  569   double LAPACK<int,double>::LANGB(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const double* A, 
const int& lda, 
double* WORK)
 const 
  573   void LAPACK<int,double>::GESV(
const int& n, 
const int& nrhs, 
double* A, 
const int& lda, 
int* IPIV, 
double* B, 
const int& ldb, 
int* info)
 const 
  574   { 
DGESV_F77(&n, &nrhs, A, &lda, IPIV, B, &ldb, info); }
 
  577   void LAPACK<int,double>::GEEQU(
const int& m, 
const int& n, 
const double* A, 
const int& lda, 
double* R, 
double* 
C, 
double* rowcond, 
double* colcond, 
double* amax, 
int* info)
 const 
  578   { 
DGEEQU_F77(&m, &n, A, &lda, R, C, rowcond, colcond, amax, info); }
 
  581   void LAPACK<int,double>::GERFS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const double* A, 
const int& lda, 
const double* AF, 
const int& ldaf, 
const int* IPIV, 
const double* B, 
const int& ldb, 
double* X, 
const int& ldx, 
double* FERR, 
double* BERR, 
double* WORK, 
int* IWORK, 
int* info)
 const 
  582   { 
DGERFS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  585   void LAPACK<int,double>::GBEQU(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, 
const double* A, 
const int& lda, 
double* R, 
double* 
C, 
double* rowcond, 
double* colcond, 
double* amax, 
int* info)
 const 
  586   { 
DGBEQU_F77(&m, &n, &kl, &ku, A, &lda, R, C, rowcond, colcond, amax, info); }
 
  589   void LAPACK<int,double>::GBRFS(
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const double* A, 
const int& lda, 
const double* AF, 
const int& ldaf, 
const int* IPIV, 
const double* B, 
const int& ldb, 
double* X, 
const int& ldx, 
double* FERR, 
double* BERR, 
double* WORK, 
int* IWORK, 
int* info)
 const 
  590   { 
DGBRFS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  592   void LAPACK<int,double>::GESVX(
const char& FACT, 
const char& TRANS, 
const int& n, 
const int& nrhs, 
double* A, 
const int& lda, 
double* AF, 
const int& ldaf, 
int* IPIV, 
char* EQUED, 
double* R, 
double* 
C, 
double* B, 
const int& ldb, 
double* X, 
const int& ldx, 
double* rcond, 
double* FERR, 
double* BERR, 
double* WORK, 
int* IWORK, 
int* info)
 const 
  593   { 
DGESVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, 
CHARPTR_MACRO(EQUED), R, C, B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
 
  596   void LAPACK<int,double>::SYTRD(
const char& UPLO, 
const int& n, 
double* A, 
const int& lda, 
double* 
D, 
double* 
E, 
double* TAU, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  600   void LAPACK<int, double>::GEHRD(
const int& n, 
const int& ilo, 
const int& ihi, 
double* A, 
const int& lda, 
double* TAU, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  601   { 
DGEHRD_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info); }
 
  604   void LAPACK<int,double>::TRTRS(
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)
 const 
  608   void LAPACK<int,double>::TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, 
double* A, 
const int& lda, 
int* info)
 const 
  612   void LAPACK<int,double>::SPEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, 
double* AP, 
double* W, 
double* Z, 
const int& ldz, 
double* WORK, 
int* info)
 const 
  616   void LAPACK<int,double>::SYEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, 
double* A, 
const int& lda, 
double* W, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  622   void LAPACK<int,double>::SYGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& n, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* W, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  624     DSYGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, info);
 
  628   void LAPACK<int,double>::HEEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, 
double* A, 
const int& lda, 
double* W, 
double* WORK, 
const int& lwork, 
double* , 
int* info)
 const 
  634   void LAPACK<int,double>::HEGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& n, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* W, 
double* WORK, 
const int& lwork, 
double* , 
int* info)
 const 
  636     DSYGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, info);
 
  640   void LAPACK<int,double>::STEQR(
const char& COMPZ, 
const int& n, 
double* D, 
double* E, 
double* Z, 
const int& ldz, 
double* WORK, 
int* info)
 const 
  644   void LAPACK<int,double>::PTEQR(
const char& COMPZ, 
const int& n, 
double* D, 
double* E, 
double* Z, 
const int& ldz, 
double* WORK, 
int* info)
 const 
  648   void LAPACK<int, double>::HSEQR(
const char& JOB, 
const char& COMPZ, 
const int& n, 
const int& ilo, 
const int& ihi, 
double* H, 
const int& ldh, 
double* WR, 
double* WI, 
double* Z, 
const int& ldz, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  650     DHSEQR_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPZ), &n, &ilo, &ihi, H, &ldh, WR, WI, Z, &ldz, WORK, &lwork, info);
 
  654   void LAPACK<int, double>::GEES(
const char& JOBVS, 
const char& SORT, 
int (*ptr2func)(
double*, 
double*), 
const int& n, 
double* A, 
const int& lda, 
int* sdim, 
double* WR, 
double* WI, 
double* VS, 
const int& ldvs, 
double* WORK, 
const int& lwork, 
int* BWORK, 
int* info)
 const 
  656     DGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info);
 
  660   void LAPACK<int, double>::GEES(
const char& JOBVS, 
const int& n, 
double* A, 
const int& lda, 
int* sdim, 
double* WR, 
double* WI, 
double* VS, 
const int& ldvs, 
double* WORK, 
const int& lwork, 
double* , 
int* BWORK, 
int* info)
 const 
  664     const char sort = 
'N';
 
  665     DGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(sort), nullfptr, &n, A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info);
 
  669   void LAPACK<int, double>::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
double* A, 
const int& lda, 
double* WR, 
double* WI, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  671     DGEEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, WORK, &lwork, info);
 
  674   void LAPACK<int, double>::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
double* A, 
const int& lda, 
double* WR, 
double* WI, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
double* WORK, 
const int& lwork, 
double* , 
int* info)
 const 
  676     GEEV (JOBVL, JOBVR, n, A, lda, WR, WI, VL, ldvl, VR, ldvr, WORK, lwork, info);
 
  680   void LAPACK<int, double>::GESVD(
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* V, 
const int& ldv, 
double* WORK, 
const int& lwork, 
double* , 
int* info)
 const {
 
  681     DGESVD_F77(
CHAR_MACRO(JOBU), 
CHAR_MACRO(JOBVT), &m, &n, A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, info);
 
  685   void LAPACK<int,double>::GEEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
double* A, 
const int& lda, 
double* WR, 
double* WI, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* SCALE, 
double* abnrm, 
double* RCONDE, 
double* RCONDV, 
double* WORK, 
const int& lwork, 
int* IWORK, 
int* info)
 const 
  687     DGEEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, ilo, ihi, SCALE, abnrm, RCONDE, RCONDV, WORK, &lwork, IWORK, info);
 
  691   void LAPACK<int, double>::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* ALPHAR, 
double* ALPHAI, 
double* BETA, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* lscale, 
double* rscale, 
double* abnrm, 
double* bbnrm, 
double* RCONDE, 
double* RCONDV, 
double* WORK, 
const int& lwork, 
int* IWORK, 
int* BWORK, 
int* info)
 const 
  693     DGGEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, A, &lda, B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, &lwork, IWORK, BWORK, info);
 
  696   void LAPACK<int, double>::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* ALPHAR, 
double* ALPHAI, 
double* BETA, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* lscale, 
double* rscale, 
double* abnrm, 
double* bbnrm, 
double* RCONDE, 
double* RCONDV, 
double* WORK, 
const int& lwork, 
double* , 
int* IWORK, 
int* BWORK, 
int* info)
 const 
  698     GGEVX(BALANC, JOBVL, JOBVR, SENSE, n, A, lda, B, ldb, ALPHAR, ALPHAI, BETA, VL, ldvl, VR, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, lwork, IWORK, BWORK, info);
 
  701   void LAPACK<int, double>::GGEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* ALPHAR, 
double* ALPHAI, 
double* BETA, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  703     DGGEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, info);
 
  706   void LAPACK<int, double>::TRSEN(
const char& JOB, 
const char& COMPQ, 
const int* SELECT, 
const int& n, 
double* T, 
const int& ldt, 
double* Q, 
const int& ldq, 
double* WR, 
double* WI, 
int* M, 
double* S, 
double* SEP, 
double* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info )
 const 
  707   { 
DTRSEN_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPQ), SELECT, &n, T, &ldt, Q, &ldq, WR, WI, M, S, SEP, WORK, &lwork, IWORK, &liwork, info); }
 
  710   void LAPACK<int, double>::TGSEN(
const int& ijob, 
const int& wantq, 
const int& wantz, 
const int* SELECT, 
const int& n, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
double* ALPHAR, 
double* ALPHAI, 
double* BETA, 
double* Q, 
const int& ldq, 
double* Z, 
const int& ldz, 
int* M, 
double* PL, 
double* PR, 
double* DIF, 
double* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info )
 const 
  711   { 
DTGSEN_F77(&ijob, &wantq, &wantz, SELECT, &n, A, &lda, B, &ldb, ALPHAR, ALPHAI, BETA, Q, &ldq, Z, &ldz, M, PL, PR, DIF, WORK, &lwork, IWORK, &liwork, info); }
 
  714   void LAPACK<int, double>::GGES(
const char& JOBVL, 
const char& JOBVR, 
const char& SORT, 
int (*ptr2func)(
double* , 
double* , 
double* ), 
const int& n, 
double* A, 
const int& lda, 
double* B, 
const int& ldb, 
int* sdim, 
double* ALPHAR, 
double* ALPHAI, 
double* BETA, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
double* WORK, 
const int& lwork, 
int* BWORK, 
int* info )
 const 
  715   { 
DGGES_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, B, &ldb, sdim, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, BWORK, info); }
 
  718   void LAPACK<int, double>::ORMQR(
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, 
const int& lwork, 
int* info)
 const 
  720     DORMQR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, &lwork, info);
 
  723   void LAPACK<int, double>::ORM2R(
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* 
const info)
 const 
  725     DORM2R_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, info);
 
  728   void LAPACK<int, double>::UNMQR(
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, 
const int& lwork, 
int* info)
 const 
  731     ORMQR (SIDE, TRANS, m, n, k, A, lda, TAU, C, ldc, WORK, lwork, info);
 
  734   void LAPACK<int, double>::UNM2R (
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* 
const INFO)
 const 
  739     ORM2R (SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO);
 
  742   void LAPACK<int, double>::ORGQR(
const int& m, 
const int& n, 
const int& k, 
double* A, 
const int& lda, 
const double* TAU, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  744     DORGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info);
 
  748   void LAPACK<int, double>::UNGQR(
const int& m, 
const int& n, 
const int& k, 
double* A, 
const int& lda, 
const double* TAU, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  750     DORGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info);
 
  754   void LAPACK<int, double>::ORGHR(
const int& n, 
const int& ilo, 
const int& ihi, 
double* A, 
const int& lda, 
const double* TAU, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  756     DORGHR_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info);
 
  760   void LAPACK<int, double>::ORMHR(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& ilo, 
const int& ihi, 
const double* A, 
const int& lda, 
const double* TAU, 
double* C, 
const int& ldc, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  762     DORMHR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &ilo, &ihi, A, &lda, TAU, C, &ldc, WORK, &lwork, info);
 
  766   void LAPACK<int, double>::TREVC(
const char& SIDE, 
const char& HOWMNY, 
int* select, 
const int& n, 
const double* T, 
const int& ldt, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
const int& mm, 
int* m, 
double* WORK, 
int* info)
 const 
  768     DTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), select, &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info);
 
  772   void LAPACK<int, double>::TREVC(
const char& SIDE, 
const int& n, 
const double* T, 
const int& ldt, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
const int& mm, 
int* m, 
double* WORK, 
double* , 
int* info)
 const 
  774     std::vector<int> select(1);
 
  775     const char whch = 
'A';
 
  776     DTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(whch), &select[0], &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info);
 
  779   void LAPACK<int, double>::TREXC(
const char& COMPQ, 
const int& n, 
double* T, 
const int& ldt, 
double* Q, 
const int& ldq, 
int* ifst, 
int* ilst, 
double* WORK, 
int* info)
 const 
  785   void LAPACK<int, double>::TGEVC(
const char& SIDE, 
const char& HOWMNY, 
const int* SELECT, 
const int& n, 
const double* S, 
const int& lds, 
const double* P, 
const int& ldp, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
const int& mm, 
int* M, 
double* WORK, 
int* info)
 const 
  786   { 
DTGEVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), SELECT, &n, S, &lds, P, &ldp, VL, &ldvl, VR, &ldvr, &mm, M, WORK, info); }
 
  800   void LAPACK<int, double>::GEBAL(
const char& JOBZ, 
const int& n, 
double* A, 
const int& lda, 
int* ilo, 
int* ihi, 
double* scale, 
int* info)
 const 
  806   void LAPACK<int, double>::GEBAK(
const char& JOBZ, 
const char& SIDE, 
const int& n, 
const int& ilo, 
const int& ihi, 
const double* scale, 
const int& m, 
double* V, 
const int& ldv, 
int* info)
 const 
  812 #ifdef HAVE_TEUCHOS_LAPACKLARND 
  831   int LAPACK<int, double>::ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1, 
const int& N2, 
const int& N3, 
const int& N4 )
 const 
  833     unsigned int opts_length = OPTS.length();
 
  835     std::string temp_NAME = 
"d" + NAME;
 
  836     if (temp_NAME.substr(1,2) == 
"he") {
 
  837       temp_NAME.replace(1,2,
"sy");
 
  839     unsigned int name_length = temp_NAME.length();
 
  840     return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
 
  851 #ifdef HAVE_TEUCHOS_COMPLEX 
  856   void LAPACK<int, std::complex<float> >::PTTRF(
const int& n, 
float* d, std::complex<float>* e, 
int* info)
 const 
  858     CPTTRF_F77(&n,d,e,info);
 
  862   void LAPACK<int, std::complex<float> >::PTTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const float* d, 
const std::complex<float>* e, std::complex<float>* B, 
const int& ldb, 
int* info)
 const 
  864     CPTTRS_F77(
CHAR_MACRO(UPLO),&n,&nrhs,d,e,B,&ldb,info);
 
  868   void LAPACK<int, std::complex<float> >::POTRF(
const char& UPLO, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* info)
 const 
  870     CPOTRF_F77(
CHAR_MACRO(UPLO), &n, A, &lda, info);
 
  874   void LAPACK<int, std::complex<float> >::POTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const std::complex<float>* A, 
const int& lda, std::complex<float>* B, 
const int& ldb, 
int* info)
 const 
  876     CPOTRS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, B, &ldb, info);
 
  880   void LAPACK<int, std::complex<float> >::POTRI(
const char& UPLO, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* info)
 const 
  882     CPOTRI_F77(
CHAR_MACRO(UPLO), &n, A, &lda, info);
 
  886   void LAPACK<int, std::complex<float> >::POCON(
const char& UPLO, 
const int& n, 
const std::complex<float>* A, 
const int& lda, 
const float& anorm, 
float* rcond, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
  888     CPOCON_F77(
CHAR_MACRO(UPLO), &n, A, &lda, &anorm, rcond, WORK, RWORK, info);
 
  892   void LAPACK<int, std::complex<float> >::POSV(
const char& UPLO, 
const int& n, 
const int& nrhs, std::complex<float>* A, 
const int& lda, std::complex<float>* B, 
const int& ldb, 
int* info)
 const 
  894     CPOSV_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, B, &ldb, info);
 
  898   void LAPACK<int, std::complex<float> >::POEQU(
const int& n, 
const std::complex<float>* A, 
const int& lda, 
float* S, 
float* scond, 
float* amax, 
int* info)
 const 
  900     CPOEQU_F77(&n, A, &lda, S, scond, amax, info);
 
  904   void LAPACK<int, std::complex<float> >::PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const std::complex<float>* A, 
const int& lda, 
const std::complex<float>* AF, 
const int& ldaf, 
const std::complex<float>* B, 
const int& ldb, std::complex<float>* X, 
const int& ldx, 
float* FERR, 
float* BERR, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
  906     CPORFS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
  909   void LAPACK<int, std::complex<float> >::POSVX(
const char& FACT, 
const char& UPLO, 
const int& n, 
const int& nrhs, std::complex<float>* A, 
const int& lda, std::complex<float>* AF, 
const int& ldaf, 
char* EQUED, 
float* S, std::complex<float>* B, 
const int& ldb, std::complex<float>* X, 
const int& ldx, 
float* rcond, 
float* FERR, 
float* BERR, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
  911     CPOSVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, 
CHARPTR_MACRO(EQUED), S, B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
 
  915   void LAPACK<int,std::complex<float> >::GELS(
const char& TRANS, 
const int& m, 
const int& n, 
const int& nrhs, std::complex<float>* A, 
const int& lda, std::complex<float>* B, 
const int& ldb, std::complex<float>* WORK, 
const int& lwork, 
int* info)
 const 
  917     CGELS_F77(
CHAR_MACRO(TRANS), &m, &n, &nrhs, A, &lda, B, &ldb, WORK, &lwork, info);
 
  920   void LAPACK<int, std::complex<float> >::GELSS(
const int& m, 
const int& n, 
const int& nrhs, std::complex<float>* A, 
const int& lda, std::complex<float>* B, 
const int& ldb, 
float* S, 
const float& rcond, 
int* rank, std::complex<float>* WORK, 
const int& lwork, 
float* rwork, 
int* info)
 const 
  922     CGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, rwork, info);
 
  925   void LAPACK<int,std::complex<float> >::GEQRF( 
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)
 const 
  927     CGEQRF_F77(&m, &n, A, &lda, TAU, WORK, &lwork, info);
 
  930   void LAPACK<int,std::complex<float> >::GEQR2 (
const int& m, 
const int& n, std::complex<float>* A, 
const int& lda, std::complex<float>* TAU, std::complex<float>* WORK, 
int* 
const info)
 const 
  932     CGEQR2_F77(&m, &n, A, &lda, TAU, WORK, info);
 
  935   void LAPACK<int,std::complex<float> >::UNGQR(
const int& m, 
const int& n, 
const int& k, std::complex<float>* A, 
const int& lda, 
const std::complex<float>* TAU, std::complex<float>* WORK, 
const int& lwork, 
int* info)
 const 
  937     CUNGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info);
 
  940   void LAPACK<int,std::complex<float> >::UNMQR(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& k, 
const std::complex<float>* A, 
const int& lda, 
const std::complex<float>* TAU, std::complex<float>* C, 
const int& ldc, std::complex<float>* WORK, 
const int& lwork, 
int* info)
 const 
  942     CUNMQR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, &lwork, info);
 
  945   void LAPACK<int,std::complex<float> >::UNM2R (
const char& SIDE, 
const char& TRANS, 
const int& M, 
const int& N, 
const int& K, 
const std::complex<float>* A, 
const int& LDA, 
const std::complex<float>* TAU, std::complex<float>* C, 
const int& LDC, std::complex<float>* WORK, 
int* 
const INFO)
 const 
  947     CUNM2R_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &M, &N, &K, A, &LDA, TAU, C, &LDC, WORK, INFO);
 
  950   void LAPACK<int,std::complex<float> >::GETRF(
const int& m, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
  952     CGETRF_F77(&m, &n, A, &lda, IPIV, info);
 
  955   void LAPACK<int,std::complex<float> >::GETRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const std::complex<float>* A, 
const int& lda, 
const int* IPIV, std::complex<float>* B , 
const int& ldb, 
int* info)
 const 
  957     CGETRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
  960   void LAPACK<int,std::complex<float> >::LASCL(
const char& TYPE, 
const int& kl, 
const int& ku, 
const float& cfrom, 
const float& cto, 
const int& m, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* info)
 const 
  961   { CLASCL_F77(
CHAR_MACRO(TYPE), &kl, &ku, &cfrom, &cto, &m, &n, A, &lda, info); }
 
  963   void LAPACK<int,std::complex<float> >::GEQP3(
const int& m, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* jpvt, std::complex<float>* TAU, std::complex<float>* WORK, 
const int& lwork, 
float* RWORK, 
int* info )
 const 
  965     CGEQP3_F77(&m, &n, A, &lda, jpvt, TAU, WORK, &lwork, RWORK, info);
 
  968   void LAPACK<int, std::complex<float> >::
 
  970          std::complex<float>* A,
 
  975          const int& INCX)
 const 
  977     CLASWP_F77(&N, A, &LDA, &K1, &K2, IPIV, &INCX);
 
  980   void LAPACK<int,std::complex<float> >::GBTRF(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, std::complex<float>* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
  982     CGBTRF_F77(&m, &kl, &ku, &n, A, &lda, IPIV, info);
 
  986   void LAPACK<int,std::complex<float> >::GBTRS(
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const std::complex<float>* A, 
const int& lda, 
const int* IPIV, std::complex<float>* B , 
const int& ldb, 
int* info)
 const 
  988     CGBTRS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
  992   void LAPACK<int,std::complex<float> >::GTTRF(
const int& n, std::complex<float>* dl, std::complex<float>* d, std::complex<float>* du, std::complex<float>* du2, 
int* IPIV, 
int* info)
 const 
  994     CGTTRF_F77(&n, dl, d, du, du2, IPIV, info);
 
  998   void LAPACK<int,std::complex<float> >::GTTRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const std::complex<float>* dl, 
const std::complex<float>* d, 
const std::complex<float>* du, 
const std::complex<float>* du2, 
const int* IPIV, std::complex<float>* B, 
const int& ldb, 
int* info)
 const 
 1000     CGTTRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, dl, d, du, du2, IPIV, B, &ldb, info);
 
 1004   void LAPACK<int,std::complex<float> >::GETRI(
const int& n, std::complex<float>* A, 
const int& lda, 
const int* IPIV, std::complex<float>* WORK, 
const int& lwork, 
int* info)
 const 
 1006     CGETRI_F77(&n, A, &lda, IPIV, WORK, &lwork, info);
 
 1010   void LAPACK<int, std::complex<float> >::LATRS (
const char& UPLO, 
const char& TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const std::complex<float>* A, 
const int& LDA, std::complex<float>* X, 
float* SCALE, 
float* CNORM, 
int* INFO)
 const 
 1012     CLATRS_F77(
CHAR_MACRO(UPLO), 
CHAR_MACRO(TRANS), 
CHAR_MACRO(DIAG), 
CHAR_MACRO(NORMIN), &N, A, &LDA, X, SCALE, CNORM, INFO);
 
 1016   void LAPACK<int,std::complex<float> >::GECON(
const char& NORM, 
const int& n, 
const std::complex<float>* A, 
const int& lda, 
const float& anorm, 
float* rcond, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
 1018     CGECON_F77(
CHAR_MACRO(NORM), &n, A, &lda, &anorm, rcond, WORK, RWORK, info);
 
 1022   void LAPACK<int,std::complex<float> >::GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const std::complex<float>* A, 
const int& lda, 
const int* IPIV, 
const float& anorm, 
float* rcond, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
 1024     CGBCON_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, IPIV, &anorm, rcond, WORK, RWORK, info);
 
 1028   float LAPACK<int,std::complex<float> >::LANGB(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const std::complex<float>* A, 
const int& lda, 
float* WORK)
 const 
 1030     return( CLANGB_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, WORK) );
 
 1034   void LAPACK<int,std::complex<float> >::GESV(
const int& n, 
const int& nrhs, std::complex<float>* A, 
const int& lda, 
int* IPIV, std::complex<float>* B, 
const int& ldb, 
int* info)
 const 
 1036     CGESV_F77(&n, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1040   void LAPACK<int,std::complex<float> >::GEEQU(
const int& m, 
const int& n, 
const std::complex<float>* A, 
const int& lda, 
float* R, 
float* C, 
float* rowcond, 
float* colcond, 
float* amax, 
int* info)
 const 
 1042     CGEEQU_F77(&m, &n, A, &lda, R, C, rowcond, colcond, amax, info);
 
 1046   void LAPACK<int,std::complex<float> >::GERFS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const std::complex<float>* A, 
const int& lda, 
const std::complex<float>* AF, 
const int& ldaf, 
const int* IPIV, 
const std::complex<float>* B, 
const int& ldb, std::complex<float>* X, 
const int& ldx, 
float* FERR, 
float* BERR, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
 1048     CGERFS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1052   void LAPACK<int,std::complex<float> >::GBEQU(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, 
const std::complex<float>* A, 
const int& lda, 
float* R, 
float* C, 
float* rowcond, 
float* colcond, 
float* amax, 
int* info)
 const 
 1054     CGBEQU_F77(&m, &n, &kl, &ku, A, &lda, R, C, rowcond, colcond, amax, info);
 
 1058   void LAPACK<int,std::complex<float> >::GBRFS(
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const std::complex<float>* A, 
const int& lda, 
const std::complex<float>* AF, 
const int& ldaf, 
const int* IPIV, 
const std::complex<float>* B, 
const int& ldb, std::complex<float>* X, 
const int& ldx, 
float* FERR, 
float* BERR, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
 1060     CGBRFS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1063   void LAPACK<int,std::complex<float> >::GESVX(
const char& FACT, 
const char& TRANS, 
const int& n, 
const int& nrhs, std::complex<float>* A, 
const int& lda, std::complex<float>* AF, 
const int& ldaf, 
int* IPIV, 
char* EQUED, 
float* R, 
float* C, std::complex<float>* B, 
const int& ldb, std::complex<float>* X, 
const int& ldx, 
float* rcond, 
float* FERR, 
float* BERR, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
 1065     CGESVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, 
CHARPTR_MACRO(EQUED), R, C, B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
 
 1069   void LAPACK<int,std::complex<float> >::GEHRD(
const int& n, 
const int& ilo, 
const int& ihi, std::complex<float>* A, 
const int& lda, std::complex<float>* TAU, std::complex<float>* WORK, 
const int& lwork, 
int* info)
 const 
 1071     CGEHRD_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info);
 
 1075   void LAPACK<int,std::complex<float> >::TRTRS(
const char& UPLO, 
const char& TRANS, 
const char& DIAG, 
const int& n, 
const int& nrhs, 
const std::complex<float>* A, 
const int& lda, std::complex<float>* B, 
const int& ldb, 
int* info)
 const 
 1081   void LAPACK<int,std::complex<float> >::TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* info)
 const 
 1087   void LAPACK<int,std::complex<float> >::STEQR(
const char& COMPZ, 
const int& n, 
float* D, 
float* E, std::complex<float>* Z, 
const int& ldz, 
float* WORK, 
int* info)
 const 
 1089     CSTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, Z, &ldz, WORK, info);
 
 1093   void LAPACK<int,std::complex<float> >::PTEQR(
const char& COMPZ, 
const int& n, 
float* D, 
float* E, std::complex<float>* Z, 
const int& ldz, 
float* WORK, 
int* info)
 const 
 1095     CPTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, Z, &ldz, WORK, info);
 
 1099   void LAPACK<int,std::complex<float> >::HEEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, std::complex<float> * A, 
const int& lda, 
float*  W, std::complex<float> * WORK, 
const int& lwork, 
float* RWORK, 
int* info)
 const 
 1105   void LAPACK<int,std::complex<float> >::HEGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& n, std::complex<float> * A, 
const int& lda, std::complex<float> * B, 
const int& ldb, 
float*  W, std::complex<float> * WORK, 
const int& lwork, 
float* RWORK, 
int* info)
 const 
 1107     CHEGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, RWORK, info);
 
 1111   void LAPACK<int, std::complex<float> >::HSEQR(
const char& JOB, 
const char& COMPZ, 
const int& n, 
const int& ilo, 
const int& ihi, std::complex<float>* H, 
const int& ldh, std::complex<float>* W, std::complex<float>* Z, 
const int& ldz, std::complex<float>* WORK, 
const int& lwork, 
int* info)
 const 
 1113     CHSEQR_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPZ), &n, &ilo, &ihi, H, &ldh, W, Z, &ldz, WORK, &lwork, info);
 
 1117   void LAPACK<int, std::complex<float> >::GEES(
const char& JOBVS, 
const char& SORT, 
int (*ptr2func)(std::complex<float>*), 
const int& n, std::complex<float>* A, 
const int& lda, 
int* sdim, std::complex<float>* W, std::complex<float>* VS, 
const int& ldvs, std::complex<float>* WORK, 
const int& lwork, 
float* RWORK, 
int* BWORK, 
int* info)
 const 
 1119     CGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, sdim, W, VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
 
 1123   void LAPACK<int, std::complex<float> >::GEES(
const char& JOBVS, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* sdim, 
float* WR, 
float* WI, std::complex<float>* VS, 
const int& ldvs, std::complex<float>* WORK, 
const int& lwork, 
float* RWORK, 
int* BWORK, 
int* info)
 const 
 1125     int (*nullfptr)(std::complex<float>*) = NULL;
 
 1126     std::vector< std::complex<float> > W(n);
 
 1127     const char sort = 
'N';
 
 1128     CGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(sort), nullfptr, &n, A, &lda, sdim, &W[0], VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
 
 1129     for (
int i=0; i<
n; i++) {
 
 1130       WR[i] = W[i].real();
 
 1131       WI[i] = W[i].imag();
 
 1136   void LAPACK<int, std::complex<float> >::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, std::complex<float>* A, 
const int& lda, std::complex<float>* W, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, std::complex<float>* WORK, 
const int& lwork, 
float* RWORK, 
int* info)
 const 
 1138     CGEEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, W, VL, &ldvl, VR, &ldvr, WORK, &lwork, RWORK, info);
 
 1141   void LAPACK<int, std::complex<float> >::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, std::complex<float>* A, 
const int& lda, 
float* WR, 
float* WI, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, std::complex<float>* WORK, 
const int& lwork, 
float* RWORK, 
int* info)
 const 
 1143     std::vector<std::complex<float> > w (n);
 
 1144     std::complex<float>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1145     GEEV (JOBVL, JOBVR, n, A, lda, w_rawPtr, VL, ldvl, VR, ldvr, WORK, lwork, RWORK, info);
 
 1149       for (
int k = 0; k < 
n; ++k) {
 
 1150         WR[k] = w[k].real ();
 
 1151         WI[k] = w[k].imag ();
 
 1156   void LAPACK<int, std::complex<float> >::GESVD(
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> * V, 
const int& ldv, std::complex<float> * WORK, 
const int& lwork, 
float* RWORK, 
int* info)
 const {
 
 1157     CGESVD_F77(
CHAR_MACRO(JOBU), 
CHAR_MACRO(JOBVT), &m, &n, A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, RWORK, info);
 
 1161   void LAPACK<int, std::complex<float> >::GEEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, std::complex<float>* A, 
const int& lda, std::complex<float>* W, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
float* SCALE, 
float* abnrm, 
float* RCONDE, 
float* RCONDV, std::complex<float>* WORK, 
const int& lwork, 
float* RWORK, 
int* info)
 const 
 1163     CGEEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, A, &lda, W, VL, &ldvl, VR, &ldvr, ilo, ihi, SCALE, abnrm, RCONDE, RCONDV, WORK, &lwork, RWORK, info);
 
 1167   void LAPACK<int, std::complex<float> >::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, std::complex<float>* A, 
const int& lda, std::complex<float>* B, 
const int& ldb, std::complex<float>* ALPHA, std::complex<float>* BETA, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
float* lscale, 
float* rscale, 
float* abnrm, 
float* bbnrm, 
float* RCONDE, 
float* RCONDV, std::complex<float>* WORK, 
const int& lwork, 
float* RWORK, 
int* IWORK, 
int* BWORK, 
int* info)
 const 
 1169     CGGEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, A, &lda, B, &ldb, ALPHA, BETA, VL, &ldvl, VR, &ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, &lwork, RWORK, IWORK, BWORK, info);
 
 1172   void LAPACK<int, std::complex<float> >::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, std::complex<float>* A, 
const int& lda, std::complex<float>* B, 
const int& ldb, 
float* ALPHAR, 
float* ALPHAI, std::complex<float>* BETA, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
float* lscale, 
float* rscale, 
float* abnrm, 
float* bbnrm, 
float* RCONDE, 
float* RCONDV, std::complex<float>* WORK, 
const int& lwork, 
float* RWORK, 
int* IWORK, 
int* BWORK, 
int* info)
 const 
 1174     std::vector<std::complex<float> > w (n);
 
 1175     std::complex<float>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1176     GGEVX(BALANC, JOBVL, JOBVR, SENSE, n, A, lda, B, ldb, w_rawPtr, BETA, VL, ldvl, VR, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, lwork, RWORK, IWORK, BWORK, info);
 
 1180       for (
int k = 0; k < 
n; ++k) {
 
 1181         ALPHAR[k] = w[k].real ();
 
 1182         ALPHAI[k] = w[k].imag ();
 
 1187   void LAPACK<int, std::complex<float> >::GGEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, std::complex<float> *A, 
const int& lda, std::complex<float> *B, 
const int& ldb, std::complex<float>* ALPHA, std::complex<float>* BETA, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, std::complex<float> *WORK, 
const int& lwork, 
float* RWORK, 
int* info)
 const 
 1189     CGGEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, B, &ldb, ALPHA, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, RWORK, info); 
 
 1192   void LAPACK<int, std::complex<float> >::GGES(
const char& JOBVL, 
const char& JOBVR, 
const char& SORT, 
int (*ptr2func)(std::complex<float>*, std::complex<float>*), 
const int& n, std::complex<float>* A, 
const int& lda, std::complex<float>* B, 
const int& ldb, 
int* sdim, std::complex<float>* ALPHA, std::complex<float>* BETA, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, std::complex<float>* WORK, 
const int& lwork, 
float* rwork, 
int* bwork, 
int* info )
 const 
 1194     CGGES_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, B, &ldb, sdim, ALPHA, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, rwork, bwork, info); 
 
 1196   void LAPACK<int, std::complex<float> >::TGSEN(
const int& ijob, 
const int& wantq, 
const int& wantz, 
const int* SELECT, 
const int& n, std::complex<float>* A, 
const int& lda, std::complex<float>* B, 
const int& ldb, std::complex<float>* ALPHA, std::complex<float>* BETA, std::complex<float>* Q, 
const int& ldq, std::complex<float>* Z, 
const int& ldz, 
int* M, 
float* PL, 
float* PR, 
float* DIF, std::complex<float>* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info )
 const 
 1198     CTGSEN_F77(&ijob, &wantq, &wantz, SELECT, &n, A, &lda, B, &ldb, ALPHA, BETA, Q, &ldq, Z, &ldz, M, PL, PR, DIF, WORK, &lwork, IWORK, &liwork, info); 
 
 1201   void LAPACK<int, std::complex<float> >::TREVC(
const char& SIDE, 
const char& HOWMNY, 
int* select, 
const int& n, 
const std::complex<float>* T, 
const int& ldt, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, 
const int& mm, 
int* m, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
 1203     CTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), select, &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
 
 1207   void LAPACK<int, std::complex<float> >::TREVC(
const char& SIDE, 
const int& n, 
const std::complex<float>* T, 
const int& ldt, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, 
const int& mm, 
int* m, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
 1209     std::vector<int> select(1);
 
 1210     const char& whch = 
'A';
 
 1211     CTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(whch), &select[0], &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
 
 1214   void LAPACK<int, std::complex<float> >::TREXC(
const char& COMPQ, 
const int& n, std::complex<float>* T, 
const int& ldt, std::complex<float>* Q, 
const int& ldq, 
int* ifst, 
int* ilst, std::complex<float>* WORK, 
int* info)
 const 
 1216     CTREXC_F77(
CHAR_MACRO(COMPQ), &n, T, &ldt, Q, &ldq, ifst, ilst, info);
 
 1220   void LAPACK<int, std::complex<float> >::LARTG( 
const std::complex<float> 
f, 
const std::complex<float> 
g, 
float* c, std::complex<float>* s, std::complex<float>* r )
 const 
 1222     CLARTG_F77(&f, &g, c, s, r);
 
 1226   void LAPACK<int, std::complex<float> >::LARFG( 
const int& n, std::complex<float>* alpha, std::complex<float>* x, 
const int& incx, std::complex<float>* tau )
 const 
 1228     CLARFG_F77(&n, alpha, x, &incx, tau);
 
 1231   void LAPACK<int, std::complex<float> >::GEBAL(
const char& JOBZ, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* ilo, 
int* ihi, 
float* scale, 
int* info)
 const 
 1233     CGEBAL_F77(
CHAR_MACRO(JOBZ),&n, A, &lda, ilo, ihi, scale, info);
 
 1237   void LAPACK<int, std::complex<float> >::GEBAK(
const char& JOBZ, 
const char& SIDE, 
const int& n, 
const int& ilo, 
const int& ihi, 
const float* scale, 
const int& m, std::complex<float>* V, 
const int& ldv, 
int* info)
 const 
 1243 #ifdef HAVE_TEUCHOS_LAPACKLARND 
 1244   std::complex<float> LAPACK<int, std::complex<float> >::LARND( 
const int& idist, 
int* seed )
 const 
 1246     float _Complex z = CLARND_F77(&idist, seed);
 
 1247     return TEUCHOS_LAPACK_CONVERT_COMPLEX_FORTRAN_TO_CXX(
float, z);
 
 1251   void LAPACK<int, std::complex<float> >::LARNV( 
const int& idist, 
int* seed, 
const int& n, std::complex<float>* v )
 const 
 1253     CLARNV_F77(&idist, seed, &n, v);
 
 1257   int LAPACK<int, std::complex<float> >::ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1, 
const int& N2, 
const int& N3, 
const int& N4 )
 const 
 1259     unsigned int opts_length = OPTS.length();
 
 1260     std::string temp_NAME = 
"c" + NAME;
 
 1261     unsigned int name_length = temp_NAME.length();
 
 1262     return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
 
 1270   void LAPACK<int, std::complex<double> >::PTTRF(
const int& n, 
double* d, std::complex<double>* e, 
int* info)
 const 
 1272     ZPTTRF_F77(&n,d,e,info);
 
 1276   void LAPACK<int, std::complex<double> >::PTTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const double* d, 
const std::complex<double>* e, std::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1278     ZPTTRS_F77(
CHAR_MACRO(UPLO),&n,&nrhs,d,e,B,&ldb,info);
 
 1282   void LAPACK<int, std::complex<double> >::POTRF(
const char& UPLO, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1284     ZPOTRF_F77(
CHAR_MACRO(UPLO), &n, A, &lda, info);
 
 1288   void LAPACK<int, std::complex<double> >::POTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const std::complex<double>* A, 
const int& lda, std::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1290     ZPOTRS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, B, &ldb, info);
 
 1294   void LAPACK<int, std::complex<double> >::POTRI(
const char& UPLO, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1296     ZPOTRI_F77(
CHAR_MACRO(UPLO), &n, A, &lda, info);
 
 1300   void LAPACK<int, std::complex<double> >::POCON(
const char& UPLO, 
const int& n, 
const std::complex<double>* A, 
const int& lda, 
const double& anorm, 
double* rcond, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1302     ZPOCON_F77(
CHAR_MACRO(UPLO), &n, A, &lda, &anorm, rcond, WORK, RWORK, info);
 
 1306   void LAPACK<int, std::complex<double> >::POSV(
const char& UPLO, 
const int& n, 
const int& nrhs, std::complex<double>* A, 
const int& lda, std::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1308     ZPOSV_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, B, &ldb, info);
 
 1312   void LAPACK<int, std::complex<double> >::POEQU(
const int& n, 
const std::complex<double>* A, 
const int& lda, 
double* S, 
double* scond, 
double* amax, 
int* info)
 const 
 1314     ZPOEQU_F77(&n, A, &lda, S, scond, amax, info);
 
 1318   void LAPACK<int, std::complex<double> >::PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const std::complex<double>* A, 
const int& lda, 
const std::complex<double>* AF, 
const int& ldaf, 
const std::complex<double>* B, 
const int& ldb, std::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1320     ZPORFS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1323   void LAPACK<int, std::complex<double> >::POSVX(
const char& FACT, 
const char& UPLO, 
const int& n, 
const int& nrhs, std::complex<double>* A, 
const int& lda, std::complex<double>* AF, 
const int& ldaf, 
char* EQUED, 
double* S, std::complex<double>* B, 
const int& ldb, std::complex<double>* X, 
const int& ldx, 
double* rcond, 
double* FERR, 
double* BERR, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1325     ZPOSVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, 
CHARPTR_MACRO(EQUED), S, B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
 
 1329   void LAPACK<int,std::complex<double> >::GELS(
const char& TRANS, 
const int& m, 
const int& n, 
const int& nrhs, std::complex<double>* A, 
const int& lda, std::complex<double>* B, 
const int& ldb, std::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1331     ZGELS_F77(
CHAR_MACRO(TRANS), &m, &n, &nrhs, A, &lda, B, &ldb, WORK, &lwork, info);
 
 1335   void LAPACK<int, std::complex<double> >::GELSS(
const int& m, 
const int& n, 
const int& nrhs, std::complex<double>* A, 
const int& lda, std::complex<double>* B, 
const int& ldb, 
double* S, 
const double& rcond, 
int* rank, std::complex<double>* WORK, 
const int& lwork, 
double* rwork, 
int* info)
 const 
 1337     ZGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, rwork, info);
 
 1341   void LAPACK<int,std::complex<double> >::GEQRF( 
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)
 const 
 1343     ZGEQRF_F77(&m, &n, A, &lda, TAU, WORK, &lwork, info);
 
 1346   void LAPACK<int,std::complex<double> >::GEQR2 (
const int& m, 
const int& n, std::complex<double>* A, 
const int& lda, std::complex<double>* TAU, std::complex<double>* WORK, 
int* 
const info)
 const 
 1348     ZGEQR2_F77(&m, &n, A, &lda, TAU, WORK, info);
 
 1351   void LAPACK<int,std::complex<double> >::UNGQR(
const int& m, 
const int& n, 
const int& k, std::complex<double>* A, 
const int& lda, 
const std::complex<double>* TAU, std::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1353     ZUNGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info);
 
 1357   void LAPACK<int,std::complex<double> >::UNMQR(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& k, 
const std::complex<double>* A, 
const int& lda, 
const std::complex<double>* TAU, std::complex<double>* C, 
const int& ldc, std::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1359     ZUNMQR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, &lwork, info);
 
 1362   void LAPACK<int,std::complex<double> >::UNM2R (
const char& SIDE, 
const char& TRANS, 
const int& M, 
const int& N, 
const int& K, 
const std::complex<double>* A, 
const int& LDA, 
const std::complex<double>* TAU, std::complex<double>* C, 
const int& LDC, std::complex<double>* WORK, 
int* 
const INFO)
 const 
 1364     ZUNM2R_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &M, &N, &K, A, &LDA, TAU, C, &LDC, WORK, INFO);
 
 1367   void LAPACK<int,std::complex<double> >::GETRF(
const int& m, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 1369     ZGETRF_F77(&m, &n, A, &lda, IPIV, info);
 
 1373   void LAPACK<int,std::complex<double> >::GETRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const std::complex<double>* A, 
const int& lda, 
const int* IPIV, std::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1375     ZGETRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1379   void LAPACK<int,std::complex<double> >::LASCL(
const char& TYPE, 
const int& kl, 
const int& ku, 
const double& cfrom, 
const double& cto, 
const int& m, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1380   { ZLASCL_F77(
CHAR_MACRO(TYPE), &kl, &ku, &cfrom, &cto, &m, &n, A, &lda, info); }
 
 1382   void LAPACK<int,std::complex<double> >::GEQP3(
const int& m, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* jpvt, std::complex<double>* TAU, std::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info )
 const 
 1384     ZGEQP3_F77(&m, &n, A, &lda, jpvt, TAU, WORK, &lwork, RWORK, info);
 
 1387   void LAPACK<int, std::complex<double> >::LASWP (
const int& N, std::complex<double>* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX)
 const 
 1389     ZLASWP_F77(&N, A, &LDA, &K1, &K2, IPIV, &INCX);
 
 1392   void LAPACK<int,std::complex<double> >::GBTRF(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, std::complex<double>* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 1394     ZGBTRF_F77(&m, &n, &kl, &ku, A, &lda, IPIV, info);
 
 1398   void LAPACK<int,std::complex<double> >::GBTRS(
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const std::complex<double>* A, 
const int& lda, 
const int* IPIV, std::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1400     ZGBTRS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1404   void LAPACK<int,std::complex<double> >::GTTRF(
const int& n, std::complex<double>* dl, std::complex<double>* d, std::complex<double>* du, std::complex<double>* du2, 
int* IPIV, 
int* info)
 const 
 1406     ZGTTRF_F77(&n, dl, d, du, du2, IPIV, info);
 
 1410   void LAPACK<int,std::complex<double> >::GTTRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const std::complex<double>* dl, 
const std::complex<double>* d, 
const std::complex<double>* du, 
const std::complex<double>* du2, 
const int* IPIV, std::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1412     ZGTTRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, dl, d, du, du2, IPIV, B, &ldb, info);
 
 1416   void LAPACK<int,std::complex<double> >::GETRI(
const int& n, std::complex<double>* A, 
const int& lda, 
const int* IPIV, std::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1418     ZGETRI_F77(&n, A, &lda, IPIV, WORK, &lwork, info);
 
 1421   void LAPACK<int, std::complex<double> >::LATRS (
const char& UPLO, 
const char& TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const std::complex<double>* A, 
const int& LDA, std::complex<double>* X, 
double* SCALE, 
double* CNORM, 
int* INFO)
 const 
 1423     ZLATRS_F77(
CHAR_MACRO(UPLO), 
CHAR_MACRO(TRANS), 
CHAR_MACRO(DIAG), 
CHAR_MACRO(NORMIN), &N, A, &LDA, X, SCALE, CNORM, INFO);
 
 1426   void LAPACK<int,std::complex<double> >::GECON(
const char& NORM, 
const int& n, 
const std::complex<double>* A, 
const int& lda, 
const double& anorm, 
double* rcond, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1428     ZGECON_F77(
CHAR_MACRO(NORM), &n, A, &lda, &anorm, rcond, WORK, RWORK, info);
 
 1432   void LAPACK<int,std::complex<double> >::GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const std::complex<double>* A, 
const int& lda, 
const int* IPIV, 
const double& anorm, 
double* rcond, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1434     ZGBCON_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, IPIV, &anorm, rcond, WORK, RWORK, info);
 
 1438   double LAPACK<int,std::complex<double> >::LANGB(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const std::complex<double>* A, 
const int& lda, 
double* WORK)
 const 
 1440     return( ZLANGB_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, WORK) );
 
 1444   void LAPACK<int,std::complex<double> >::GESV(
const int& n, 
const int& nrhs, std::complex<double>* A, 
const int& lda, 
int* IPIV, std::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1446     ZGESV_F77(&n, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1450   void LAPACK<int,std::complex<double> >::GEEQU(
const int& m, 
const int& n, 
const std::complex<double>* A, 
const int& lda, 
double* R, 
double* C, 
double* rowcond, 
double* colcond, 
double* amax, 
int* info)
 const 
 1452     ZGEEQU_F77(&m, &n, A, &lda, R, C, rowcond, colcond, amax, info);
 
 1456   void LAPACK<int,std::complex<double> >::GERFS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const std::complex<double>* A, 
const int& lda, 
const std::complex<double>* AF, 
const int& ldaf, 
const int* IPIV, 
const std::complex<double>* B, 
const int& ldb, std::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1458     ZGERFS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1462   void LAPACK<int,std::complex<double> >::GBEQU(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, 
const std::complex<double>* A, 
const int& lda, 
double* R, 
double* C, 
double* rowcond, 
double* colcond, 
double* amax, 
int* info)
 const 
 1464     ZGBEQU_F77(&m, &n, &kl, &ku, A, &lda, R, C, rowcond, colcond, amax, info);
 
 1468   void LAPACK<int,std::complex<double> >::GBRFS(
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const std::complex<double>* A, 
const int& lda, 
const std::complex<double>* AF, 
const int& ldaf, 
const int* IPIV, 
const std::complex<double>* B, 
const int& ldb, std::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1470     ZGBRFS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1473   void LAPACK<int,std::complex<double> >::GESVX(
const char& FACT, 
const char& TRANS, 
const int& n, 
const int& nrhs, std::complex<double>* A, 
const int& lda, std::complex<double>* AF, 
const int& ldaf, 
int* IPIV, 
char* EQUED, 
double* R, 
double* C, std::complex<double>* B, 
const int& ldb, std::complex<double>* X, 
const int& ldx, 
double* rcond, 
double* FERR, 
double* BERR, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1475     ZGESVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, 
CHARPTR_MACRO(EQUED), R, C, B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
 
 1479   void LAPACK<int,std::complex<double> >::GEHRD(
const int& n, 
const int& ilo, 
const int& ihi, std::complex<double>* A, 
const int& lda, std::complex<double>* TAU, std::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1481     ZGEHRD_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info);
 
 1485   void LAPACK<int,std::complex<double> >::TRTRS(
const char& UPLO, 
const char& TRANS, 
const char& DIAG, 
const int& n, 
const int& nrhs, 
const std::complex<double>* A, 
const int& lda, std::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1491   void LAPACK<int,std::complex<double> >::TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1497   void LAPACK<int,std::complex<double> >::STEQR(
const char& COMPZ, 
const int& n, 
double* D, 
double* E, std::complex<double>* Z, 
const int& ldz, 
double* WORK, 
int* info)
 const 
 1499     ZSTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, Z, &ldz, WORK, info);
 
 1503   void LAPACK<int,std::complex<double> >::PTEQR(
const char& COMPZ, 
const int& n, 
double* D, 
double* E, std::complex<double>* Z, 
const int& ldz, 
double* WORK, 
int* info)
 const 
 1505     ZPTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, Z, &ldz, WORK, info);
 
 1509   void LAPACK<int,std::complex<double> >::HEEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, std::complex<double> * A, 
const int& lda, 
double*  W, std::complex<double> * WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1515   void LAPACK<int,std::complex<double> >::HEGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& n, std::complex<double> * A, 
const int& lda, std::complex<double> * B, 
const int& ldb, 
double*  W, std::complex<double> * WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1517     ZHEGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, RWORK, info);
 
 1521   void LAPACK<int, std::complex<double> >::HSEQR(
const char& JOB, 
const char& COMPZ, 
const int& n, 
const int& ilo, 
const int& ihi, std::complex<double>* H, 
const int& ldh, std::complex<double>* W, std::complex<double>* Z, 
const int& ldz, std::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1523     ZHSEQR_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPZ), &n, &ilo, &ihi, H, &ldh, W, Z, &ldz, WORK, &lwork, info);
 
 1527   void LAPACK<int, std::complex<double> >::GEES(
const char& JOBVS, 
const char& SORT, 
int (*ptr2func)(std::complex<double>*), 
const int& n, std::complex<double>* A, 
const int& lda, 
int* sdim, std::complex<double>* W, std::complex<double>* VS, 
const int& ldvs, std::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* BWORK, 
int* info)
 const 
 1529     ZGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, sdim, W, VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
 
 1533   void LAPACK<int, std::complex<double> >::GEES(
const char& JOBVS, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* sdim, 
double* WR, 
double* WI, std::complex<double>* VS, 
const int& ldvs, std::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* BWORK, 
int* info)
 const 
 1535     int (*nullfptr)(std::complex<double>*) = NULL;
 
 1536     std::vector< std::complex<double> > W(n);
 
 1537     const char sort = 
'N';
 
 1538     ZGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(sort), nullfptr, &n, A, &lda, sdim, &W[0], VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
 
 1539     for (
int i=0; i<
n; i++) {
 
 1540       WR[i] = W[i].real();
 
 1541       WI[i] = W[i].imag();
 
 1546   void LAPACK<int, std::complex<double> >::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, std::complex<double>* A, 
const int& lda, std::complex<double>* W, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, std::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1548     ZGEEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, W, VL, &ldvl, VR, &ldvr, WORK, &lwork, RWORK, info);
 
 1552   void LAPACK<int, std::complex<double> >::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, std::complex<double>* A, 
const int& lda, 
double* WR, 
double* WI, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, std::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1554     std::vector<std::complex<double> > w (n);
 
 1555     std::complex<double>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1556     GEEV (JOBVL, JOBVR, n, A, lda, w_rawPtr, VL, ldvl, VR, ldvr, WORK, lwork, RWORK, info);
 
 1560       for (
int k = 0; k < 
n; ++k) {
 
 1561         WR[k] = w[k].real ();
 
 1562         WI[k] = w[k].imag ();
 
 1568   void LAPACK<int, std::complex<double> >::GESVD(
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> * V, 
const int& ldv, std::complex<double> * WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const {
 
 1569     ZGESVD_F77(
CHAR_MACRO(JOBU), 
CHAR_MACRO(JOBVT), &m, &n, A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, RWORK, info);
 
 1572   void LAPACK<int, std::complex<double> >::GEEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, std::complex<double>* A, 
const int& lda, std::complex<double>* W, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* SCALE, 
double* abnrm, 
double* RCONDE, 
double* RCONDV, std::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1574     ZGEEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, A, &lda, W, VL, &ldvl, VR, &ldvr, ilo, ihi, SCALE, abnrm, RCONDE, RCONDV, WORK, &lwork, RWORK, info);
 
 1577   void LAPACK<int, std::complex<double> >::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, std::complex<double>* A, 
const int& lda, std::complex<double>* B, 
const int& ldb, std::complex<double>* ALPHA, std::complex<double>* BETA, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* lscale, 
double* rscale, 
double* abnrm, 
double* bbnrm, 
double* RCONDE, 
double* RCONDV, std::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* IWORK, 
int* BWORK, 
int* info)
 const 
 1579     ZGGEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, A, &lda, B, &ldb, ALPHA, BETA, VL, &ldvl, VR, &ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, &lwork, RWORK, IWORK, BWORK, info);
 
 1582   void LAPACK<int, std::complex<double> >::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, std::complex<double>* A, 
const int& lda, std::complex<double>* B, 
const int& ldb, 
double* ALPHAR, 
double* ALPHAI, std::complex<double>* BETA, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* lscale, 
double* rscale, 
double* abnrm, 
double* bbnrm, 
double* RCONDE, 
double* RCONDV, std::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* IWORK, 
int* BWORK, 
int* info)
 const 
 1584     std::vector<std::complex<double> > w (n);
 
 1585     std::complex<double>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1586     GGEVX(BALANC, JOBVL, JOBVR, SENSE, n, A, lda, B, ldb, w_rawPtr, BETA, VL, ldvl, VR, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, lwork, RWORK, IWORK, BWORK, info);
 
 1590       for (
int k = 0; k < 
n; ++k) {
 
 1591         ALPHAR[k] = w[k].real ();
 
 1592         ALPHAI[k] = w[k].imag ();
 
 1597  void LAPACK<int, std::complex<double> >::GGEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, std::complex<double> *A, 
const int& lda, std::complex<double> *B, 
const int& ldb, std::complex<double>* ALPHA, std::complex<double>* BETA, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, std::complex<double> *WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1599     ZGGEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, B, &ldb, ALPHA, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, RWORK, info); 
 
 1602   void LAPACK<int, std::complex<double> >::GGES(
const char& JOBVL, 
const char& JOBVR, 
const char& SORT, 
int (*ptr2func)(std::complex<double>*, std::complex<double>*), 
const int& n, std::complex<double>* A, 
const int& lda, std::complex<double>* B, 
const int& ldb, 
int* sdim, std::complex<double>* ALPHA, std::complex<double>* BETA, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, std::complex<double>* WORK, 
const int& lwork, 
double* rwork, 
int* bwork, 
int* info )
 const 
 1604     ZGGES_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, B, &ldb, sdim, ALPHA, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, rwork, bwork, info); 
 
 1606   void LAPACK<int, std::complex<double> >::TGSEN(
const int& ijob, 
const int& wantq, 
const int& wantz, 
const int* SELECT, 
const int& n, std::complex<double>* A, 
const int& lda, std::complex<double>* B, 
const int& ldb, std::complex<double>* ALPHA, std::complex<double>* BETA, std::complex<double>* Q, 
const int& ldq, std::complex<double>* Z, 
const int& ldz, 
int* M, 
double* PL, 
double* PR, 
double* DIF, std::complex<double>* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info )
 const 
 1608     ZTGSEN_F77(&ijob, &wantq, &wantz, SELECT, &n, A, &lda, B, &ldb, ALPHA, BETA, Q, &ldq, Z, &ldz, M, PL, PR, DIF, WORK, &lwork, IWORK, &liwork, info); 
 
 1611   void LAPACK<int, std::complex<double> >::TREVC(
const char& SIDE, 
const char& HOWMNY, 
int* select, 
const int& n, 
const std::complex<double>* T, 
const int& ldt, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, 
const int& mm, 
int* m, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1613     ZTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), select, &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
 
 1617   void LAPACK<int, std::complex<double> >::TREVC(
const char& SIDE, 
const int& n, 
const std::complex<double>* T, 
const int& ldt, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, 
const int& mm, 
int* m, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1619     std::vector<int> select(1);
 
 1620     const char& whch = 
'A';
 
 1621     ZTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(whch), &select[0], &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
 
 1624   void LAPACK<int, std::complex<double> >::TREXC(
const char& COMPQ, 
const int& n, std::complex<double>* T, 
const int& ldt, std::complex<double>* Q, 
const int& ldq, 
int* ifst, 
int* ilst, std::complex<double>* WORK, 
int* info)
 const 
 1626     ZTREXC_F77(
CHAR_MACRO(COMPQ), &n, T, &ldt, Q, &ldq, ifst, ilst, info);
 
 1629   void LAPACK<int, std::complex<double> >::LARTG( 
const std::complex<double> 
f, 
const std::complex<double> 
g, 
double* c, std::complex<double>* s, std::complex<double>* r )
 const 
 1631     ZLARTG_F77(&f, &g, c, s, r);
 
 1635   void LAPACK<int, std::complex<double> >::LARFG( 
const int& n, std::complex<double>* alpha, std::complex<double>* x, 
const int& incx, std::complex<double>* tau )
 const 
 1637     ZLARFG_F77(&n, alpha, x, &incx, tau);
 
 1640   void LAPACK<int, std::complex<double> >::GEBAL(
const char& JOBZ, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* ilo, 
int* ihi, 
double* scale, 
int* info)
 const 
 1642     ZGEBAL_F77(
CHAR_MACRO(JOBZ),&n, A, &lda, ilo, ihi, scale, info);
 
 1646   void LAPACK<int, std::complex<double> >::GEBAK(
const char& JOBZ, 
const char& SIDE, 
const int& n, 
const int& ilo, 
const int& ihi, 
const double* scale, 
const int& m, std::complex<double>* V, 
const int& ldv, 
int* info)
 const 
 1652 #ifdef HAVE_TEUCHOS_LAPACKLARND 
 1653   std::complex<double> LAPACK<int, std::complex<double> >::LARND( 
const int& idist, 
int* seed )
 const 
 1655     double _Complex z = ZLARND_F77(&idist, seed);
 
 1656     return TEUCHOS_LAPACK_CONVERT_COMPLEX_FORTRAN_TO_CXX(
double, z);
 
 1660   void LAPACK<int, std::complex<double> >::LARNV( 
const int& idist, 
int* seed, 
const int& n, std::complex<double>* v )
 const 
 1662     ZLARNV_F77(&idist, seed, &n, v);
 
 1666   int LAPACK<int, std::complex<double> >::ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1, 
const int& N2, 
const int& N3, 
const int& N4 )
 const 
 1668     unsigned int opts_length = OPTS.length();
 
 1669     std::string temp_NAME = 
"z" + NAME;
 
 1670     unsigned int name_length = temp_NAME.length();
 
 1671     return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
 
 1677 #ifdef HAVE_TEUCHOSCORE_KOKKOS 
 1678   void LAPACK<int, Kokkos::complex<double> >::PTTRF(
const int& n, 
double* d, Kokkos::complex<double>* e, 
int* info)
 const 
 1680     ZPTTRF_F77(&n, d, 
reinterpret_cast<std::complex<double>*
>(e), info);
 
 1684   void LAPACK<int, Kokkos::complex<double> >::PTTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const double* d, 
const Kokkos::complex<double>* e, Kokkos::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1686     ZPTTRS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, d, 
reinterpret_cast<const std::complex<double>*
>(e), 
reinterpret_cast<std::complex<double>*
>(B), &ldb, info);
 
 1690   void LAPACK<int, Kokkos::complex<double> >::POTRF(
const char& UPLO, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1692     ZPOTRF_F77(
CHAR_MACRO(UPLO), &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, info);
 
 1696   void LAPACK<int, Kokkos::complex<double> >::POTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1698     ZPOTRS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, info);
 
 1702   void LAPACK<int, Kokkos::complex<double> >::POTRI(
const char& UPLO, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1704     ZPOTRI_F77(
CHAR_MACRO(UPLO), &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, info);
 
 1708   void LAPACK<int, Kokkos::complex<double> >::POCON(
const char& UPLO, 
const int& n, 
const Kokkos::complex<double>* A, 
const int& lda, 
const double& anorm, 
double* rcond, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1710     ZPOCON_F77(
CHAR_MACRO(UPLO), &n, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, &anorm, rcond, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 1714   void LAPACK<int, Kokkos::complex<double> >::POSV(
const char& UPLO, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1716     ZPOSV_F77(
CHAR_MACRO(UPLO), &n, &nrhs, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, info);
 
 1720   void LAPACK<int, Kokkos::complex<double> >::POEQU(
const int& n, 
const Kokkos::complex<double>* A, 
const int& lda, 
double* S, 
double* scond, 
double* amax, 
int* info)
 const 
 1722     ZPOEQU_F77(&n, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, S, scond, amax, info);
 
 1726   void LAPACK<int, Kokkos::complex<double> >::PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* AF, 
const int& ldaf, 
const Kokkos::complex<double>* B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1728     ZPORFS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, 
reinterpret_cast<const std::complex<double>*
>(AF), &ldaf, 
reinterpret_cast<const std::complex<double>*
>(B), &ldb, 
reinterpret_cast<std::complex<double>*
>(X), &ldx, FERR, BERR, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 1731   void LAPACK<int, Kokkos::complex<double> >::POSVX(
const char& FACT, 
const char& UPLO, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* AF, 
const int& ldaf, 
char* EQUED, 
double* S, Kokkos::complex<double>* B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* rcond, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1733     ZPOSVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(UPLO), &n, &nrhs, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(AF), &ldaf, 
CHARPTR_MACRO(EQUED), S, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, 
reinterpret_cast<std::complex<double>*
>(X), &ldx, rcond, FERR, BERR, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 1737   void LAPACK<int,Kokkos::complex<double> >::GELS(
const char& TRANS, 
const int& m, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* B, 
const int& ldb, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1739     ZGELS_F77(
CHAR_MACRO(TRANS), &m, &n, &nrhs, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, info);
 
 1743   void LAPACK<int, Kokkos::complex<double> >::GELSS(
const int& m, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* B, 
const int& ldb, 
double* S, 
const double& rcond, 
int* rank, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* rwork, 
int* info)
 const 
 1745     ZGELSS_F77(&m, &n, &nrhs, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, S, &rcond, rank, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, rwork, info);
 
 1749   void LAPACK<int,Kokkos::complex<double> >::GEQRF( 
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1751     ZGEQRF_F77(&m, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(TAU), 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, info);
 
 1754   void LAPACK<int,Kokkos::complex<double> >::GEQR2 (
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
int* 
const info)
 const 
 1756     ZGEQR2_F77(&m, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(TAU), 
reinterpret_cast<std::complex<double>*
>(WORK), info);
 
 1759   void LAPACK<int,Kokkos::complex<double> >::UNGQR(
const int& m, 
const int& n, 
const int& k, Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1761     ZUNGQR_F77( &m, &n, &k, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<const std::complex<double>*
>(TAU), 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, info);
 
 1765   void LAPACK<int,Kokkos::complex<double> >::UNMQR(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& k, 
const Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* TAU, Kokkos::complex<double>* C, 
const int& ldc, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1767     ZUNMQR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, 
reinterpret_cast<const std::complex<double>*
>(TAU), 
reinterpret_cast<std::complex<double>*
>(C), &ldc, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, info);
 
 1770   void LAPACK<int,Kokkos::complex<double> >::UNM2R (
const char& SIDE, 
const char& TRANS, 
const int& M, 
const int& N, 
const int& K, 
const Kokkos::complex<double>* A, 
const int& LDA, 
const Kokkos::complex<double>* TAU, Kokkos::complex<double>* C, 
const int& LDC, Kokkos::complex<double>* WORK, 
int* 
const INFO)
 const 
 1772     ZUNM2R_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &M, &N, &K, 
reinterpret_cast<const std::complex<double>*
>(A), &LDA, 
reinterpret_cast<const std::complex<double>*
>(TAU), 
reinterpret_cast<std::complex<double>*
>(C), &LDC, 
reinterpret_cast<std::complex<double>*
>(WORK), INFO);
 
 1775   void LAPACK<int,Kokkos::complex<double> >::GETRF(
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 1777     ZGETRF_F77(&m, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, IPIV, info);
 
 1781   void LAPACK<int,Kokkos::complex<double> >::GETRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const int* IPIV, Kokkos::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1783     ZGETRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, IPIV, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, info);
 
 1787   void LAPACK<int,Kokkos::complex<double> >::LASCL(
const char& TYPE, 
const int& kl, 
const int& ku, 
const double& cfrom, 
const double& cto, 
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1788   { ZLASCL_F77(
CHAR_MACRO(TYPE), &kl, &ku, &cfrom, &cto, &m, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, info); }
 
 1790   void LAPACK<int,Kokkos::complex<double> >::GEQP3(
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* jpvt, Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info )
 const 
 1792     ZGEQP3_F77(&m, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, jpvt, 
reinterpret_cast<std::complex<double>*
>(TAU), 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, info);
 
 1795   void LAPACK<int, Kokkos::complex<double> >::LASWP (
const int& N, Kokkos::complex<double>* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX)
 const 
 1797     ZLASWP_F77(&N, 
reinterpret_cast<std::complex<double>*
>(A), &LDA, &K1, &K2, IPIV, &INCX);
 
 1800   void LAPACK<int,Kokkos::complex<double> >::GBTRF(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, Kokkos::complex<double>* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 1802     ZGBTRF_F77(&m, &n, &kl, &ku, 
reinterpret_cast<std::complex<double>*
>(A), &lda, IPIV, info);
 
 1806   void LAPACK<int,Kokkos::complex<double> >::GBTRS(
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const int* IPIV, Kokkos::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1808     ZGBTRS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, IPIV, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, info);
 
 1812   void LAPACK<int,Kokkos::complex<double> >::GTTRF(
const int& n, Kokkos::complex<double>* dl, Kokkos::complex<double>* d, Kokkos::complex<double>* du, Kokkos::complex<double>* du2, 
int* IPIV, 
int* info)
 const 
 1814     ZGTTRF_F77(&n, 
reinterpret_cast<std::complex<double>*
>(dl), 
reinterpret_cast<std::complex<double>*
>(d), 
reinterpret_cast<std::complex<double>*
>(du), 
reinterpret_cast<std::complex<double>*
>(du2), IPIV, info);
 
 1818   void LAPACK<int,Kokkos::complex<double> >::GTTRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* dl, 
const Kokkos::complex<double>* d, 
const Kokkos::complex<double>* du, 
const Kokkos::complex<double>* du2, 
const int* IPIV, Kokkos::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1820     ZGTTRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, 
reinterpret_cast<const std::complex<double>*
>(dl), 
reinterpret_cast<const std::complex<double>*
>(d), 
reinterpret_cast<const std::complex<double>*
>(du), 
reinterpret_cast<const std::complex<double>*
>(du2), IPIV, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, info);
 
 1824   void LAPACK<int,Kokkos::complex<double> >::GETRI(
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
const int* IPIV, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1826     ZGETRI_F77(&n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, IPIV, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, info);
 
 1829   void LAPACK<int, Kokkos::complex<double> >::LATRS (
const char& UPLO, 
const char& TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const Kokkos::complex<double>* A, 
const int& LDA, Kokkos::complex<double>* X, 
double* SCALE, 
double* CNORM, 
int* INFO)
 const 
 1831     ZLATRS_F77(
CHAR_MACRO(UPLO), 
CHAR_MACRO(TRANS), 
CHAR_MACRO(DIAG), 
CHAR_MACRO(NORMIN), &N, 
reinterpret_cast<const std::complex<double>*
>(A), &LDA, 
reinterpret_cast<std::complex<double>*
>(X), SCALE, CNORM, INFO);
 
 1834   void LAPACK<int,Kokkos::complex<double> >::GECON(
const char& NORM, 
const int& n, 
const Kokkos::complex<double>* A, 
const int& lda, 
const double& anorm, 
double* rcond, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1836     ZGECON_F77(
CHAR_MACRO(NORM), &n, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, &anorm, rcond, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 1840   void LAPACK<int,Kokkos::complex<double> >::GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const Kokkos::complex<double>* A, 
const int& lda, 
const int* IPIV, 
const double& anorm, 
double* rcond, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1842     ZGBCON_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, IPIV, &anorm, rcond, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 1846   double LAPACK<int,Kokkos::complex<double> >::LANGB(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const Kokkos::complex<double>* A, 
const int& lda, 
double* WORK)
 const 
 1848     return( ZLANGB_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, WORK) );
 
 1852   void LAPACK<int,Kokkos::complex<double> >::GESV(
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, 
int* IPIV, Kokkos::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1854     ZGESV_F77(&n, &nrhs, 
reinterpret_cast<std::complex<double>*
>(A), &lda, IPIV, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, info);
 
 1858   void LAPACK<int,Kokkos::complex<double> >::GEEQU(
const int& m, 
const int& n, 
const Kokkos::complex<double>* A, 
const int& lda, 
double* R, 
double* C, 
double* rowcond, 
double* colcond, 
double* amax, 
int* info)
 const 
 1860     ZGEEQU_F77(&m, &n, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, R, C, rowcond, colcond, amax, info);
 
 1864   void LAPACK<int,Kokkos::complex<double> >::GERFS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* AF, 
const int& ldaf, 
const int* IPIV, 
const Kokkos::complex<double>* B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1866     ZGERFS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, 
reinterpret_cast<const std::complex<double>*
>(AF), &ldaf, IPIV, 
reinterpret_cast<const std::complex<double>*
>(B), &ldb, 
reinterpret_cast<std::complex<double>*
>(X), &ldx, FERR, BERR, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 1870   void LAPACK<int,Kokkos::complex<double> >::GBEQU(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, 
const Kokkos::complex<double>* A, 
const int& lda, 
double* R, 
double* C, 
double* rowcond, 
double* colcond, 
double* amax, 
int* info)
 const 
 1872     ZGBEQU_F77(&m, &n, &kl, &ku, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, R, C, rowcond, colcond, amax, info);
 
 1876   void LAPACK<int,Kokkos::complex<double> >::GBRFS(
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* AF, 
const int& ldaf, 
const int* IPIV, 
const Kokkos::complex<double>* B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1878     ZGBRFS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, 
reinterpret_cast<const std::complex<double>*
>(AF), &ldaf, IPIV, 
reinterpret_cast<const std::complex<double>*
>(B), &ldb, 
reinterpret_cast<std::complex<double>*
>(X), &ldx, FERR, BERR, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 1881   void LAPACK<int,Kokkos::complex<double> >::GESVX(
const char& FACT, 
const char& TRANS, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* AF, 
const int& ldaf, 
int* IPIV, 
char* EQUED, 
double* R, 
double* C, Kokkos::complex<double>* B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* rcond, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1883     ZGESVX_F77(
CHAR_MACRO(FACT), 
CHAR_MACRO(TRANS), &n, &nrhs, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(AF), &ldaf, IPIV, 
CHARPTR_MACRO(EQUED), R, C, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, 
reinterpret_cast<std::complex<double>*
>(X), &ldx, rcond, FERR, BERR, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 1887   void LAPACK<int,Kokkos::complex<double> >::GEHRD(
const int& n, 
const int& ilo, 
const int& ihi, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1889     ZGEHRD_F77(&n, &ilo, &ihi, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(TAU), 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, info);
 
 1893   void LAPACK<int,Kokkos::complex<double> >::TRTRS(
const char& UPLO, 
const char& TRANS, 
const char& DIAG, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1895     ZTRTRS_F77(
CHAR_MACRO(UPLO), 
CHAR_MACRO(TRANS), 
CHAR_MACRO(DIAG), &n, &nrhs, 
reinterpret_cast<const std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, info);
 
 1899   void LAPACK<int,Kokkos::complex<double> >::TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1901     ZTRTRI_F77(
CHAR_MACRO(UPLO), 
CHAR_MACRO(DIAG), &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, info);
 
 1905   void LAPACK<int,Kokkos::complex<double> >::STEQR(
const char& COMPZ, 
const int& n, 
double* D, 
double* E, Kokkos::complex<double>* Z, 
const int& ldz, 
double* WORK, 
int* info)
 const 
 1907     ZSTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, 
reinterpret_cast<std::complex<double>*
>(Z), &ldz, WORK, info);
 
 1911   void LAPACK<int,Kokkos::complex<double> >::PTEQR(
const char& COMPZ, 
const int& n, 
double* D, 
double* E, Kokkos::complex<double>* Z, 
const int& ldz, 
double* WORK, 
int* info)
 const 
 1913     ZPTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, 
reinterpret_cast<std::complex<double>*
>(Z), &ldz, WORK, info);
 
 1917   void LAPACK<int,Kokkos::complex<double> >::HEEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, Kokkos::complex<double> * A, 
const int& lda, 
double* W, Kokkos::complex<double> * WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1919     ZHEEV_F77(
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, W, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, info);
 
 1923   void LAPACK<int,Kokkos::complex<double> >::HEGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& n, Kokkos::complex<double> * A, 
const int& lda, Kokkos::complex<double> * B, 
const int& ldb, 
double* W, Kokkos::complex<double> * WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1925     ZHEGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, W, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, info);
 
 1929   void LAPACK<int, Kokkos::complex<double> >::HSEQR(
const char& JOB, 
const char& COMPZ, 
const int& n, 
const int& ilo, 
const int& ihi, Kokkos::complex<double>* H, 
const int& ldh, Kokkos::complex<double>* W, Kokkos::complex<double>* Z, 
const int& ldz, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info)
 const 
 1931     ZHSEQR_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPZ), &n, &ilo, &ihi, 
reinterpret_cast<std::complex<double>*
>(H), &ldh, 
reinterpret_cast<std::complex<double>*
>(W), 
reinterpret_cast<std::complex<double>*
>(Z), &ldz, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, info);
 
 1935   void LAPACK<int, Kokkos::complex<double> >::GEES(
const char& JOBVS, 
const char& SORT, 
int (*ptr2func)(std::complex<double>*), 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* sdim, Kokkos::complex<double>* W, Kokkos::complex<double>* VS, 
const int& ldvs, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* BWORK, 
int* info)
 const 
 1937     ZGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(SORT), ptr2func, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, sdim, 
reinterpret_cast<std::complex<double>*
>(W), 
reinterpret_cast<std::complex<double>*
>(VS), &ldvs, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, BWORK, info);
 
 1941   void LAPACK<int, Kokkos::complex<double> >::GEES(
const char& JOBVS, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* sdim, 
double* WR, 
double* WI, Kokkos::complex<double>* VS, 
const int& ldvs, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* BWORK, 
int* info)
 const 
 1943     int (*nullfptr)(std::complex<double>*) = NULL;
 
 1944     std::vector< std::complex<double> > W(n);
 
 1945     const char sort = 
'N';
 
 1946     ZGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(sort), nullfptr, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, sdim, &W[0], 
reinterpret_cast<std::complex<double>*
>(VS), &ldvs, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, BWORK, info);
 
 1947     for (
int i=0; i<
n; i++) {
 
 1948       WR[i] = W[i].real();
 
 1949       WI[i] = W[i].imag();
 
 1954   void LAPACK<int, Kokkos::complex<double> >::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* W, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1956     ZGEEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(W), 
reinterpret_cast<std::complex<double>*
>(VL), &ldvl, 
reinterpret_cast<std::complex<double>*
>(VR), &ldvr, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, info);
 
 1960   void LAPACK<int, Kokkos::complex<double> >::GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
double* WR, 
double* WI, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1962     std::vector<Kokkos::complex<double> > w (n);
 
 1963     Kokkos::complex<double>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1964     GEEV (JOBVL, JOBVR, n, A, lda, w_rawPtr, VL, ldvl, VR, ldvr, WORK, lwork, RWORK, info);
 
 1968       for (
int k = 0; k < 
n; ++k) {
 
 1969         WR[k] = w[k].real ();
 
 1970         WI[k] = w[k].imag ();
 
 1976   void LAPACK<int, Kokkos::complex<double> >::GESVD(
const char& JOBU, 
const char& JOBVT, 
const int& m, 
const int& n, Kokkos::complex<double> * A, 
const int& lda, 
double* S, Kokkos::complex<double> * U, 
const int& ldu, Kokkos::complex<double> * V, 
const int& ldv, Kokkos::complex<double> * WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const {
 
 1977     ZGESVD_F77(
CHAR_MACRO(JOBU), 
CHAR_MACRO(JOBVT), &m, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, S, 
reinterpret_cast<std::complex<double>*
>(U), &ldu, 
reinterpret_cast<std::complex<double>*
>(V), &ldv, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, info);
 
 1980   void LAPACK<int, Kokkos::complex<double> >::GEEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* W, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* SCALE, 
double* abnrm, 
double* RCONDE, 
double* RCONDV, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 1982     ZGEEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(W), 
reinterpret_cast<std::complex<double>*
>(VL), &ldvl, 
reinterpret_cast<std::complex<double>*
>(VR), &ldvr, ilo, ihi, SCALE, abnrm, RCONDE, RCONDV, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, info);
 
 1985   void LAPACK<int, Kokkos::complex<double> >::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* B, 
const int& ldb, Kokkos::complex<double>* ALPHA, Kokkos::complex<double>* BETA, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* lscale, 
double* rscale, 
double* abnrm, 
double* bbnrm, 
double* RCONDE, 
double* RCONDV, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* IWORK, 
int* BWORK, 
int* info)
 const 
 1987     ZGGEVX_F77(
CHAR_MACRO(BALANC), 
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SENSE), &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, 
reinterpret_cast<std::complex<double>*
>(ALPHA), 
reinterpret_cast<std::complex<double>*
>(BETA), 
reinterpret_cast<std::complex<double>*
>(VL), &ldvl, 
reinterpret_cast<std::complex<double>*
>(VR), &ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, IWORK, BWORK, info);
 
 1990   void LAPACK<int, Kokkos::complex<double> >::GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* B, 
const int& ldb, 
double* ALPHAR, 
double* ALPHAI, Kokkos::complex<double>* BETA, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* lscale, 
double* rscale, 
double* abnrm, 
double* bbnrm, 
double* RCONDE, 
double* RCONDV, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* IWORK, 
int* BWORK, 
int* info)
 const 
 1992     std::vector<Kokkos::complex<double> > w (n);
 
 1993     Kokkos::complex<double>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1994     GGEVX(BALANC, JOBVL, JOBVR, SENSE, n, A, lda, B, ldb, w_rawPtr, BETA, VL, ldvl, VR, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, lwork, RWORK, IWORK, BWORK, info);
 
 1998       for (
int k = 0; k < 
n; ++k) {
 
 1999         ALPHAR[k] = w[k].real ();
 
 2000         ALPHAI[k] = w[k].imag ();
 
 2005  void LAPACK<int, Kokkos::complex<double> >::GGEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, Kokkos::complex<double> *A, 
const int& lda, Kokkos::complex<double> *B, 
const int& ldb, Kokkos::complex<double>* ALPHA, Kokkos::complex<double>* BETA, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, Kokkos::complex<double> *WORK, 
const int& lwork, 
double* RWORK, 
int* info)
 const 
 2007     ZGGEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, 
reinterpret_cast<std::complex<double>*
>(ALPHA), 
reinterpret_cast<std::complex<double>*
>(BETA), 
reinterpret_cast<std::complex<double>*
>(VL), &ldvl, 
reinterpret_cast<std::complex<double>*
>(VR), &ldvr, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, RWORK, info); 
 
 2010   void LAPACK<int, Kokkos::complex<double> >::GGES(
const char& JOBVL, 
const char& JOBVR, 
const char& SORT, 
int (*ptr2func)(std::complex<double>*, std::complex<double>*), 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* B, 
const int& ldb, 
int* sdim, Kokkos::complex<double>* ALPHA, Kokkos::complex<double>* BETA, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* rwork, 
int* bwork, 
int* info )
 const 
 2012     ZGGES_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), 
CHAR_MACRO(SORT), ptr2func, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, sdim, 
reinterpret_cast<std::complex<double>*
>(ALPHA), 
reinterpret_cast<std::complex<double>*
>(BETA), 
reinterpret_cast<std::complex<double>*
>(VL), &ldvl, 
reinterpret_cast<std::complex<double>*
>(VR), &ldvr, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, rwork, bwork, info); 
 
 2014   void LAPACK<int, Kokkos::complex<double> >::TGSEN(
const int& ijob, 
const int& wantq, 
const int& wantz, 
const int* SELECT, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* B, 
const int& ldb, Kokkos::complex<double>* ALPHA, Kokkos::complex<double>* BETA, Kokkos::complex<double>* Q, 
const int& ldq, Kokkos::complex<double>* Z, 
const int& ldz, 
int* M, 
double* PL, 
double* PR, 
double* DIF, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info )
 const 
 2016     ZTGSEN_F77(&ijob, &wantq, &wantz, SELECT, &n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, 
reinterpret_cast<std::complex<double>*
>(B), &ldb, 
reinterpret_cast<std::complex<double>*
>(ALPHA), 
reinterpret_cast<std::complex<double>*
>(BETA), 
reinterpret_cast<std::complex<double>*
>(Q), &ldq, 
reinterpret_cast<std::complex<double>*
>(Z), &ldz, M, PL, PR, DIF, 
reinterpret_cast<std::complex<double>*
>(WORK), &lwork, IWORK, &liwork, info); 
 
 2019   void LAPACK<int, Kokkos::complex<double> >::TREVC(
const char& SIDE, 
const char& HOWMNY, 
int* select, 
const int& n, 
const Kokkos::complex<double>* T, 
const int& ldt, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
const int& mm, 
int* m, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 2021     ZTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), select, &n, 
reinterpret_cast<const std::complex<double>*
>(T), &ldt, 
reinterpret_cast<std::complex<double>*
>(VL), &ldvl, 
reinterpret_cast<std::complex<double>*
>(VR), &ldvr, &mm, m, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 2025   void LAPACK<int, Kokkos::complex<double> >::TREVC(
const char& SIDE, 
const int& n, 
const Kokkos::complex<double>* T, 
const int& ldt, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
const int& mm, 
int* m, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 2027     std::vector<int> select(1);
 
 2028     const char& whch = 
'A';
 
 2029     ZTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(whch), &select[0], &n, 
reinterpret_cast<const std::complex<double>*
>(T), &ldt, 
reinterpret_cast<std::complex<double>*
>(VL), &ldvl, 
reinterpret_cast<std::complex<double>*
>(VR), &ldvr, &mm, m, 
reinterpret_cast<std::complex<double>*
>(WORK), RWORK, info);
 
 2032   void LAPACK<int, Kokkos::complex<double> >::TREXC(
const char& COMPQ, 
const int& n, Kokkos::complex<double>* T, 
const int& ldt, Kokkos::complex<double>* Q, 
const int& ldq, 
int* ifst, 
int* ilst, Kokkos::complex<double>* WORK, 
int* info)
 const 
 2034     ZTREXC_F77(
CHAR_MACRO(COMPQ), &n, 
reinterpret_cast<std::complex<double>*
>(T), &ldt, 
reinterpret_cast<std::complex<double>*
>(Q), &ldq, ifst, ilst, info);
 
 2037   void LAPACK<int, Kokkos::complex<double> >::LARTG( 
const Kokkos::complex<double> 
f, 
const Kokkos::complex<double> 
g, 
double* c, Kokkos::complex<double>* s, Kokkos::complex<double>* r )
 const 
 2039     ZLARTG_F77(
reinterpret_cast<const std::complex<double>*
>(&f), 
reinterpret_cast<const std::complex<double>*
>(&g), c, 
reinterpret_cast<std::complex<double>*
>(s), 
reinterpret_cast<std::complex<double>*
>(r));
 
 2043   void LAPACK<int, Kokkos::complex<double> >::LARFG( 
const int& n, Kokkos::complex<double>* alpha, Kokkos::complex<double>* x, 
const int& incx, Kokkos::complex<double>* tau )
 const 
 2045     ZLARFG_F77(&n, 
reinterpret_cast<std::complex<double>*
>(alpha), 
reinterpret_cast<std::complex<double>*
>(x), &incx, 
reinterpret_cast<std::complex<double>*
>(tau));
 
 2048   void LAPACK<int, Kokkos::complex<double> >::GEBAL(
const char& JOBZ, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* ilo, 
int* ihi, 
double* scale, 
int* info)
 const 
 2050     ZGEBAL_F77(
CHAR_MACRO(JOBZ),&n, 
reinterpret_cast<std::complex<double>*
>(A), &lda, ilo, ihi, scale, info);
 
 2054   void LAPACK<int, Kokkos::complex<double> >::GEBAK(
const char& JOBZ, 
const char& SIDE, 
const int& n, 
const int& ilo, 
const int& ihi, 
const double* scale, 
const int& m, Kokkos::complex<double>* V, 
const int& ldv, 
int* info)
 const 
 2056     ZGEBAK_F77(
CHAR_MACRO(JOBZ), 
CHAR_MACRO(SIDE), &n, &ilo, &ihi, scale, &m, 
reinterpret_cast<std::complex<double>*
>(V), &ldv, info);
 
 2060 #ifdef HAVE_TEUCHOS_LAPACKLARND 
 2061   Kokkos::complex<double> LAPACK<int, Kokkos::complex<double> >::LARND( 
const int& idist, 
int* seed )
 const 
 2063     double _Complex z = ZLARND_F77(&idist, seed);
 
 2064     return reinterpret_cast<Kokkos::complex<double>&
>(z);
 
 2068   void LAPACK<int, Kokkos::complex<double> >::LARNV( 
const int& idist, 
int* seed, 
const int& n, Kokkos::complex<double>* v )
 const 
 2070     ZLARNV_F77(&idist, seed, &n, 
reinterpret_cast<std::complex<double>*
>(v));
 
 2074   int LAPACK<int, Kokkos::complex<double> >::ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1, 
const int& N2, 
const int& N3, 
const int& N4 )
 const 
 2076     unsigned int opts_length = OPTS.length();
 
 2077     std::string temp_NAME = 
"z" + NAME;
 
 2078     unsigned int name_length = temp_NAME.length();
 
 2079     return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
 
 2084 #endif // HAVE_TEUCHOS_COMPLEX 
 2087 #ifdef HAVE_TEUCHOSCORE_QUADMATH 
 2092   GEQRF(
const int& m, 
const int& n, __float128* A, 
const int& lda, __float128* TAU, __float128* WORK, 
const int& lwork, 
int* info)
 const 
 2094     Teuchos::Details::Lapack128 lapack;
 
 2095     lapack.GEQRF (m, n, A, lda, TAU, WORK, lwork, info);
 
 2099   GEQR2(
const int& m, 
const int& n, __float128* A, 
const int& lda, __float128* TAU, __float128* WORK, 
int* 
const info)
 const 
 2101     Teuchos::Details::Lapack128 lapack;
 
 2102     lapack.GEQR2 (m, n, A, lda, TAU, WORK, info);
 
 2106   GETRF(
const int& m, 
const int& n, __float128* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 2108     Teuchos::Details::Lapack128 lapack;
 
 2109     lapack.GETRF (m, n, A, lda, IPIV, info);
 
 2113   GETRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const __float128* A, 
const int& lda, 
const int* IPIV, __float128* B, 
const int& ldb, 
int* info)
 const 
 2115     Teuchos::Details::Lapack128 lapack;
 
 2116     lapack.GETRS (TRANS, n, nrhs, A, lda, IPIV, B, ldb, info);
 
 2120   GETRI (
const int& n, __float128* A, 
const int& lda, 
const int* IPIV, __float128* WORK, 
const int& lwork, 
int* info)
 const 
 2122     Teuchos::Details::Lapack128 lapack;
 
 2123     lapack.GETRI (n, A, lda, const_cast<int*> (IPIV), WORK, lwork, info);
 
 2127   LASWP (
const int& N, __float128* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX)
 const 
 2129     Teuchos::Details::Lapack128 lapack;
 
 2130     lapack.LASWP (N, A, LDA, K1, K2, IPIV, INCX);
 
 2134   ORM2R(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& k, 
const __float128* A, 
const int& lda, 
const __float128* TAU, __float128* C, 
const int& ldc, __float128* WORK, 
int* 
const info)
 const 
 2136     Teuchos::Details::Lapack128 lapack;
 
 2137     lapack.ORM2R (SIDE, TRANS, m, n, k, A, lda, TAU, C, ldc, WORK, info);
 
 2141   ORGQR(
const int& m, 
const int& n, 
const int& k, __float128* A, 
const int& lda, 
const __float128* TAU, __float128* WORK, 
const int& lwork, 
int* info)
 const 
 2143     Teuchos::Details::Lapack128 lapack;
 
 2144     lapack.ORGQR (m, n, k, A, lda, TAU, WORK, lwork, info);
 
 2148   UNGQR(
const int& m, 
const int& n, 
const int& k, __float128* A, 
const int& lda, 
const __float128* TAU, __float128* WORK, 
const int& lwork, 
int* info)
 const 
 2150     Teuchos::Details::Lapack128 lapack;
 
 2151     lapack.UNGQR (m, n, k, A, lda, TAU, WORK, lwork, info);
 
 2155   LARFG( 
const int& n, __float128* alpha, __float128* x, 
const int& incx, __float128* tau )
 const 
 2157     Teuchos::Details::Lapack128 lapack;
 
 2158     lapack.LARFG (n, alpha, x, incx, tau);
 
 2162   LAPY2 (
const __float128 x, 
const __float128 y)
 const 
 2164     Teuchos::Details::Lapack128 lapack;
 
 2165     return lapack.LAPY2 (x, y);
 
 2169   GBTRF (
const int& m, 
const int& n, 
const int& kl, 
const int& ku,
 
 2170          __float128* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 2172     Teuchos::Details::Lapack128 lapack;
 
 2173     return lapack.GBTRF (m, n, kl, ku, A, lda, IPIV, info);
 
 2177   GBTRS (
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku,
 
 2178          const int& nrhs, 
const __float128* A, 
const int& lda, 
const int* IPIV,
 
 2179          __float128* B, 
const int& ldb, 
int* info)
 const 
 2181     Teuchos::Details::Lapack128 lapack;
 
 2182     return lapack.GBTRS (TRANS, n, kl, ku, nrhs, A, lda, IPIV, B, ldb, info);
 
 2186   LASCL (
const char& TYPE, 
const int& kl, 
const int& ku, 
const __float128 cfrom,
 
 2187          const __float128 cto, 
const int& m, 
const int& n, __float128* A,
 
 2188          const int& lda, 
int* info)
 const 
 2190     Teuchos::Details::Lapack128 lapack;
 
 2191     return lapack.LASCL (TYPE, kl, ku, cfrom, cto, m, n, A, lda, info);
 
 2196 #endif // HAVE_TEUCHOSCORE_QUADMATH 
 2198 #ifdef HAVE_TEUCHOS_LONG_DOUBLE 
 2203   GESV(
const int& n, 
const int& nrhs, 
long double* A, 
const int& lda, 
int* IPIV, 
long double* B, 
const int& ldb, 
int* info)
 const 
 2205     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: GESV not implemented for long double scalar type!");
 
 2208   GTTRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const long double* dl, 
const long double* d, 
const long double* du, 
const long double* du2, 
const int* IPIV, 
long double* B, 
const int& ldb, 
int* info)
 const 
 2210     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: GTTRS not implemented for long double scalar type!");
 
 2213   GTTRF(
const int& n, 
long double* dl, 
long double* d, 
long double* du, 
long double* du2, 
int* IPIV, 
int* info)
 const 
 2215     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: GTTRF not implemented for long double scalar type!");
 
 2218   SYGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& n, 
long double* A, 
const int& lda, 
long double* B, 
const int& ldb, 
long double* W, 
long double* WORK, 
const int& lwork, 
int* info)
 const 
 2220     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: GESV not implemented for long double scalar type!");
 
 2223   GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
long double* A, 
const int& lda, 
long double* WR, 
long double* WI, 
long double* VL, 
const int& ldvl, 
long double* VR, 
const int& ldvr, 
long double* WORK, 
const int& lwork, 
int* info)
 const 
 2225     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: GEEV not implemented for long double scalar type!");
 
 2228   GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
long double* A, 
const int& lda, 
long double* WR, 
long double* WI, 
long double* VL, 
const int& ldvl, 
long double* VR, 
const int& ldvr, 
long double* WORK, 
const int& lwork, 
long double* , 
int* info)
 const 
 2230     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: GEEV not implemented for long double scalar type!");
 
 2233   GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
long double* A, 
const int& lda, 
long double* B, 
const int& ldb, 
long double* ALPHAR, 
long double* ALPHAI, 
long double* BETA, 
long double* VL, 
const int& ldvl, 
long double* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
long double* lscale, 
long double* rscale, 
long double* abnrm, 
long double* bbnrm, 
long double* RCONDE, 
long double* RCONDV, 
long double* WORK, 
const int& lwork, 
int* IWORK, 
int* BWORK, 
int* info)
 const 
 2235     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: GGEVX not implemented for long double scalar type!");
 
 2238   GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
long double* A, 
const int& lda, 
long double* B, 
const int& ldb, 
long double* ALPHAR, 
long double* ALPHAI, 
long double* BETA, 
long double* VL, 
const int& ldvl, 
long double* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
long double* lscale, 
long double* rscale, 
long double* abnrm, 
long double* bbnrm, 
long double* RCONDE, 
long double* RCONDV, 
long double* WORK, 
const int& lwork, 
long double* , 
int* IWORK, 
int* BWORK, 
int* info)
 const 
 2240     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: GGEVX not implemented for long double scalar type!");
 
 2243   PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const long double* A, 
const int& lda, 
const long double* AF, 
const int& ldaf, 
const long double* B, 
const int& ldb, 
long double* X, 
const int& ldx, 
long double* FERR, 
long double* BERR, 
long double* WORK, 
int* IWORK, 
int* info)
 const 
 2245     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: PORFS not implemented for long double scalar type!");
 
 2248   PTEQR(
const char& COMPZ, 
const int& n, 
long double* D, 
long double* E, 
long double* Z, 
const int& ldz, 
long double* WORK, 
int* info)
 const 
 2250     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: PTEQR not implemented for long double scalar type!");
 
 2253   POTRF(
const char& UPLO, 
const int& n, 
long double* A, 
const int& lda, 
int* info)
 const 
 2255     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: POTRF not implemented for long double scalar type!");
 
 2258   POTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const long double* A, 
const int& lda, 
long double* B, 
const int& ldb, 
int* info)
 const 
 2260     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: POTRS not implemented for long double scalar type!");
 
 2263   POEQU(
const int& n, 
const long double* A, 
const int& lda, 
long double* S, 
long double* scond, 
long double* amax, 
int* info)
 const  
 2265     TEUCHOS_TEST_FOR_EXCEPTION(
true, std::runtime_error, 
"ERROR in Teuchos::LAPACK: POEQU not implemented for long double scalar type!");
 
 2268   GEQRF(
const int& m, 
const int& n, 
long double* A, 
const int& lda, 
long double* TAU, 
long double* WORK, 
const int& lwork, 
int* info)
 const 
 2270     Teuchos::Details::LapackLongDouble lapack;
 
 2271     lapack.GEQRF (m, n, A, lda, TAU, WORK, lwork, info);
 
 2275   GEQR2(
const int& m, 
const int& n, 
long double* A, 
const int& lda, 
long double* TAU, 
long double* WORK, 
int* 
const info)
 const 
 2277     Teuchos::Details::LapackLongDouble lapack;
 
 2278     lapack.GEQR2 (m, n, A, lda, TAU, WORK, info);
 
 2282   GETRF(
const int& m, 
const int& n, 
long double* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 2284     Teuchos::Details::LapackLongDouble lapack;
 
 2285     lapack.GETRF (m, n, A, lda, IPIV, info);
 
 2289   GETRS(
const char& TRANS, 
const int& n, 
const int& nrhs, 
const long double* A, 
const int& lda, 
const int* IPIV, 
long double* B, 
const int& ldb, 
int* info)
 const 
 2291     Teuchos::Details::LapackLongDouble lapack;
 
 2292     lapack.GETRS (TRANS, n, nrhs, A, lda, IPIV, B, ldb, info);
 
 2296   GETRI (
const int& n, 
long double* A, 
const int& lda, 
const int* IPIV, 
long double* WORK, 
const int& lwork, 
int* info)
 const 
 2298     Teuchos::Details::LapackLongDouble lapack;
 
 2299     lapack.GETRI (n, A, lda, const_cast<int*> (IPIV), WORK, lwork, info);
 
 2303   LASWP (
const int& N, 
long double* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX)
 const 
 2305     Teuchos::Details::LapackLongDouble lapack;
 
 2306     lapack.LASWP (N, A, LDA, K1, K2, IPIV, INCX);
 
 2310   ORM2R(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& k, 
const long double* A, 
const int& lda, 
const long double* TAU, 
long double* C, 
const int& ldc, 
long double* WORK, 
int* 
const info)
 const 
 2312     Teuchos::Details::LapackLongDouble lapack;
 
 2313     lapack.ORM2R (SIDE, TRANS, m, n, k, A, lda, TAU, C, ldc, WORK, info);
 
 2317   ORGQR(
const int& m, 
const int& n, 
const int& k, 
long double* A, 
const int& lda, 
const long double* TAU, 
long double* WORK, 
const int& lwork, 
int* info)
 const 
 2319     Teuchos::Details::LapackLongDouble lapack;
 
 2320     lapack.ORGQR (m, n, k, A, lda, TAU, WORK, lwork, info);
 
 2324   UNGQR(
const int& m, 
const int& n, 
const int& k, 
long double* A, 
const int& lda, 
const long double* TAU, 
long double* WORK, 
const int& lwork, 
int* info)
 const 
 2326     Teuchos::Details::LapackLongDouble lapack;
 
 2327     lapack.UNGQR (m, n, k, A, lda, TAU, WORK, lwork, info);
 
 2331   LARFG( 
const int& n, 
long double* alpha, 
long double* x, 
const int& incx, 
long double* tau )
 const 
 2333     Teuchos::Details::LapackLongDouble lapack;
 
 2334     lapack.LARFG (n, alpha, x, incx, tau);
 
 2338   LAPY2 (
const long double x, 
const long double y)
 const 
 2340     Teuchos::Details::LapackLongDouble lapack;
 
 2341     return lapack.LAPY2 (x, y);
 
 2345   GBTRF (
const int& m, 
const int& n, 
const int& kl, 
const int& ku,
 
 2346          long double* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 2348     Teuchos::Details::LapackLongDouble lapack;
 
 2349     return lapack.GBTRF (m, n, kl, ku, A, lda, IPIV, info);
 
 2353   GBTRS (
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku,
 
 2354          const int& nrhs, 
const long double* A, 
const int& lda, 
const int* IPIV,
 
 2355          long double* B, 
const int& ldb, 
int* info)
 const 
 2357     Teuchos::Details::LapackLongDouble lapack;
 
 2358     return lapack.GBTRS (TRANS, n, kl, ku, nrhs, A, lda, IPIV, B, ldb, info);
 
 2362   LASCL (
const char& TYPE, 
const int& kl, 
const int& ku, 
const long double cfrom,
 
 2363          const long double cto, 
const int& m, 
const int& n, 
long double* A,
 
 2364          const int& lda, 
int* info)
 const 
 2366     Teuchos::Details::LapackLongDouble lapack;
 
 2367     return lapack.LASCL (TYPE, kl, ku, cfrom, cto, m, n, A, lda, info);
 
 2372 #endif // HAVE_TEUCHOS_LONG_DOUBLE 
void TGEVC(const char &SIDE, const char &HOWMNY, const OrdinalType *SELECT, const OrdinalType &n, const ScalarType *S, const OrdinalType &lds, const ScalarType *P, const OrdinalType &ldp, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, const OrdinalType &mm, OrdinalType *M, ScalarType *WORK, OrdinalType *info) const 
 
void ORM2R(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, const ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, OrdinalType *const info) const 
BLAS 2 version of ORMQR; known workspace size. 
 
void PREFIX SPORFS_F77(Teuchos_fcd, const int *n, const int *nrhs, const float *a, const int *lda, const float *af, const int *ldaf, const float *b, const int *ldb, float *x, const int *ldx, float *ferr, float *berr, float *work, int *iwork, int *info)
 
void PREFIX SLARFG_F77(const int *n, float *alpha, float *x, const int *incx, float *tau)
 
void ORGQR(const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Compute explicit Q factor from QR factorization (GEQRF) (real case). 
 
void GEEQU(const OrdinalType &m, const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, ScalarType *R, ScalarType *C, ScalarType *rowcond, ScalarType *colcond, ScalarType *amax, OrdinalType *info) const 
Computes row and column scalings intended to equilibrate an m by n matrix A and reduce its condition ...
 
void PREFIX DORMQR_F77(Teuchos_fcd, Teuchos_fcd, 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, const int *lwork, int *info)
 
void PREFIX SGEHRD_F77(const int *n, const int *ilo, const int *ihi, float *A, const int *lda, float *tau, float *work, const int *lwork, int *info)
 
void PREFIX SGEQP3_F77(const int *M, const int *N, float *A, const int *LDA, int *JPVT, float *TAU, float *WORK, const int *LWORK, int *INFO)
 
void PREFIX SGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, float *a, const int *lda, float *s, float *u, const int *ldu, float *v, const int *ldv, float *work, const int *lwork, int *info)
 
void PREFIX DLASCL_F77(Teuchos_fcd, const int *kl, const int *ku, const double *cfrom, const double *cto, const int *m, const int *n, double *a, const int *lda, int *info)
 
void LARTG(const ScalarType &f, const ScalarType &g, MagnitudeType *c, ScalarType *s, ScalarType *r) const 
Gnerates a plane rotation that zeros out the second component of the input vector. 
 
void GGEVX(const char &BALANC, const char &JOBVL, const char &JOBVR, const char &SENSE, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, MagnitudeType *ALPHAR, MagnitudeType *ALPHAI, ScalarType *BETA, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, OrdinalType *ilo, OrdinalType *ihi, MagnitudeType *lscale, MagnitudeType *rscale, MagnitudeType *abnrm, MagnitudeType *bbnrm, MagnitudeType *RCONDE, MagnitudeType *RCONDV, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *IWORK, OrdinalType *BWORK, OrdinalType *info) const 
 
void PREFIX DHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int *n, const int *ilo, const int *ihi, double *h, const int *ldh, double *wr, double *wi, double *z, const int *ldz, double *work, const int *lwork, int *info)
 
void PREFIX SPOEQU_F77(const int *n, const float *a, const int *lda, float *s, float *scond, float *amax, int *info)
 
void PREFIX DORMHR_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, const int *ilo, const int *ihi, const double *a, const int *lda, const double *tau, double *c, const int *ldc, double *work, const int *lwork, int *info)
 
void PREFIX DPOEQU_F77(const int *n, const double *a, const int *lda, double *s, double *scond, double *amax, int *info)
 
void SYTRD(const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *D, ScalarType *E, ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Reduces a real symmetric matrix A to tridiagonal form by orthogonal similarity transformations. 
 
OrdinalType ILAENV(const OrdinalType &ispec, const std::string &NAME, const std::string &OPTS, const OrdinalType &N1=-1, const OrdinalType &N2=-1, const OrdinalType &N3=-1, const OrdinalType &N4=-1) const 
Chooses problem-dependent parameters for the local environment. 
 
void GBCON(const char &NORM, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const ScalarType *A, const OrdinalType &lda, const OrdinalType *IPIV, const ScalarType &anorm, ScalarType *rcond, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Estimates the reciprocal of the condition number of a general banded real matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by GETRF. 
 
void PREFIX DTREVC_F77(Teuchos_fcd, Teuchos_fcd, int *select, const int *n, const double *t, const int *ldt, double *vl, const int *ldvl, double *vr, const int *ldvr, const int *mm, int *m, double *work, int *info)
 
void PREFIX STREVC_F77(Teuchos_fcd, Teuchos_fcd, int *select, const int *n, const float *t, const int *ldt, float *vl, const int *ldvl, float *vr, const int *ldvr, const int *mm, int *m, float *work, int *info)
 
void PREFIX DGBEQU_F77(const int *m, const int *n, const int *kl, const int *ku, const double *a, const int *lda, double *r, double *c, double *rowcnd, double *colcnd, double *amax, int *info)
 
void PREFIX DLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int *N, const double *A, const int *LDA, double *X, double *SCALE, double *CNORM, int *INFO)
 
void GGLSE(const OrdinalType &m, const OrdinalType &n, const OrdinalType &p, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, ScalarType *C, ScalarType *D, ScalarType *X, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Solves the linear equality-constrained least squares (LSE) problem where A is an m by n matrix...
 
void PREFIX DPORFS_F77(Teuchos_fcd, const int *n, const int *nrhs, const double *a, const int *lda, const double *af, const int *ldaf, const double *b, const int *ldb, double *x, const int *ldx, double *ferr, double *berr, double *work, int *iwork, int *info)
 
void PREFIX SSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *ap, float *w, float *z, const int *ldz, float *work, int *info)
 
void LARFG(const OrdinalType &n, ScalarType *alpha, ScalarType *x, const OrdinalType &incx, ScalarType *tau) const 
Generates an elementary reflector of order n that zeros out the last n-1 components of the input vect...
 
void PREFIX DLARTG_F77(const double *f, const double *g, double *c, double *s, double *r)
 
Declaration and definition of Teuchos::Details::Lapack128, a partial implementation of Teuchos::LAPAC...
 
void PREFIX DPOTRF_F77(Teuchos_fcd, const int *n, double *a, const int *lda, int *info)
 
void PREFIX DGTTRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const double *dl, const double *d, const double *du, const double *du2, const int *ipiv, double *x, const int *ldx, int *info)
 
void PREFIX DGEQRF_F77(const int *m, const int *n, double *a, const int *lda, double *tau, double *work, const int *lwork, int *info)
 
void PREFIX SPTTRS_F77(const int *n, const int *nrhs, const float *d, const float *e, float *x, const int *ldx, int *info)
 
void PREFIX SGGES_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, int(*ptr2func)(float *, float *, float *), const int *n, float *A, const int *lda, float *B, const int *ldb, int *sdim, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *bwork, int *info)
 
void GEBAK(const char &JOBZ, const char &SIDE, const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, const MagnitudeType *scale, const OrdinalType &m, ScalarType *V, const OrdinalType &ldv, OrdinalType *info) const 
Forms the left or right eigenvectors of a general matrix that has been balanced by GEBAL by backward ...
 
void POTRI(const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *info) const 
Computes the inverse of a real symmetric positive definite matrix A using the Cholesky factorization ...
 
void PREFIX DGECON_F77(Teuchos_fcd norm, const int *n, const double *a, const int *lda, const double *anorm, double *rcond, double *work, int *iwork, int *info)
 
void PREFIX SGECON_F77(Teuchos_fcd norm, const int *n, const float *a, const int *lda, const float *anorm, float *rcond, float *work, int *iwork, int *info)
 
void GTTRS(const char &TRANS, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *dl, const ScalarType *d, const ScalarType *du, const ScalarType *du2, const OrdinalType *IPIV, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const 
Solves a system of linear equations A*X=B or A'*X=B or A^H*X=B with a tridiagonal matrix A using the ...
 
void SPEV(const char &JOBZ, const char &UPLO, const OrdinalType &n, ScalarType *AP, ScalarType *W, ScalarType *Z, const OrdinalType &ldz, ScalarType *WORK, OrdinalType *info) const 
Computes the eigenvalues and, optionally, eigenvectors of a symmetric n by n matrix A in packed stora...
 
void GTTRF(const OrdinalType &n, ScalarType *dl, ScalarType *d, ScalarType *du, ScalarType *du2, OrdinalType *IPIV, OrdinalType *info) const 
Computes an LU factorization of a n by n tridiagonal matrix A using partial pivoting with row interch...
 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Macro for throwing an exception with breakpointing to ease debugging. 
 
void TRTRS(const char &UPLO, const char &TRANS, const char &DIAG, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const 
Solves a triangular linear system of the form A*X=B or A**T*X=B, where A is a triangular matrix...
 
void PREFIX DGEQP3_F77(const int *M, const int *N, double *A, const int *LDA, int *JPVT, double *TAU, double *WORK, const int *LWORK, int *INFO)
 
void POTRS(const char &UPLO, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const 
Solves a system of linear equations A*X=B, where A is a symmetric positive definite matrix factored b...
 
void PREFIX SGTTRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const float *dl, const float *d, const float *du, const float *du2, const int *ipiv, float *x, const int *ldx, int *info)
 
void POSV(const char &UPLO, const OrdinalType &n, const OrdinalType &nrhs, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const 
Computes the solution to a real system of linear equations A*X=B, where A is a symmetric positive def...
 
Teuchos header file which uses auto-configuration information to include necessary C++ headers...
 
void PREFIX DSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *ap, double *w, double *z, const int *ldz, double *work, int *info)
 
void PREFIX SORMQR_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, const int *k, const float *a, const int *lda, const float *tau, float *C, const int *ldc, float *work, const int *lwork, int *info)
 
void PTTRF(const OrdinalType &n, MagnitudeType *d, ScalarType *e, OrdinalType *info) const 
Computes the L*D*L' factorization of a Hermitian/symmetric positive definite tridiagonal matrix A...
 
void GBTRF(const OrdinalType &m, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, ScalarType *A, const OrdinalType &lda, OrdinalType *IPIV, OrdinalType *info) const 
Computes an LU factorization of a general banded m by n matrix A using partial pivoting with row inte...
 
void PREFIX DSYGV_F77(const int *itype, Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *B, const int *ldb, double *w, double *work, const int *lwork, int *info)
 
void UNM2R(const char &SIDE, const char &TRANS, const OrdinalType &M, const OrdinalType &N, const OrdinalType &K, const ScalarType *A, const OrdinalType &LDA, const ScalarType *TAU, ScalarType *C, const OrdinalType &LDC, ScalarType *WORK, OrdinalType *const INFO) const 
BLAS 2 version of UNMQR; known workspace size. 
 
void PREFIX SSTEQR_F77(Teuchos_fcd, const int *n, float *D, float *E, float *Z, const int *ldz, float *work, int *info)
 
void PREFIX DPTTRF_F77(const int *n, double *d, double *e, int *info)
 
void PREFIX DGGEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *A, const int *lda, double *B, const int *ldb, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info)
 
void PREFIX DGEHRD_F77(const int *n, const int *ilo, const int *ihi, double *A, const int *lda, double *tau, double *work, const int *lwork, int *info)
 
void PREFIX SGEES_F77(Teuchos_fcd, Teuchos_fcd, int(*ptr2func)(float *, float *), const int *n, float *a, const int *lda, int *sdim, float *wr, float *wi, float *vs, const int *ldvs, float *work, const int *lwork, int *bwork, int *info)
 
void PREFIX SSYTRD_F77(Teuchos_fcd, const int *n, float *a, const int *lda, float *D, float *E, float *tau, float *work, const int *lwork, int *info)
 
void PREFIX DGGES_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, int(*ptr2func)(double *, double *, double *), const int *n, double *A, const int *lda, double *B, const int *ldb, int *sdim, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *bwork, int *info)
 
void PTEQR(const char &COMPZ, const OrdinalType &n, MagnitudeType *D, MagnitudeType *E, ScalarType *Z, const OrdinalType &ldz, MagnitudeType *WORK, OrdinalType *info) const 
Computes the eigenvalues and, optionally, eigenvectors of a symmetric positive-definite tridiagonal n...
 
void PREFIX SGELSS_F77(const int *m, const int *n, const int *nrhs, float *a, const int *lda, float *b, const int *ldb, float *s, const float *rcond, int *rank, float *work, const int *lwork, int *info)
 
void PREFIX DSYEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *w, double *work, const int *lwork, int *info)
 
double PREFIX DLARND_F77(const int *idist, int *seed)
 
float PREFIX SLAMCH_F77(Teuchos_fcd)
 
void PREFIX DTRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, const double *a, const int *lda, double *b, const int *ldb, int *info)
 
void TREVC(const char &SIDE, const char &HOWMNY, OrdinalType *select, const OrdinalType &n, const ScalarType *T, const OrdinalType &ldt, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, const OrdinalType &mm, OrdinalType *m, ScalarType *WORK, OrdinalType *info) const 
 
double PREFIX DLAPY2_F77(const double *x, const double *y)
 
double PREFIX DLAMCH_F77(Teuchos_fcd)
 
void STEQR(const char &COMPZ, const OrdinalType &n, MagnitudeType *D, MagnitudeType *E, ScalarType *Z, const OrdinalType &ldz, MagnitudeType *WORK, OrdinalType *info) const 
Computes the eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal n by n matrix A usi...
 
The Templated LAPACK wrappers. 
 
void PREFIX SPOTRI_F77(Teuchos_fcd, const int *n, float *a, const int *lda, int *info)
 
This structure defines some basic traits for a scalar field type. 
 
void PREFIX DGBTRF_F77(const int *m, const int *n, const int *kl, const int *ku, double *a, const int *lda, int *ipiv, int *info)
 
void PREFIX SPOTRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const float *a, const int *lda, float *x, const int *ldx, int *info)
 
void PREFIX DPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, double *a, const int *lda, double *af, const int *ldaf, Teuchos_nonconst_fcd, double *s, double *b, const int *ldb, double *x, const int *ldx, double *rcond, double *ferr, double *berr, double *work, int *iwork, int *info)
 
void PREFIX DPTEQR_F77(Teuchos_fcd, const int *n, double *D, double *E, double *Z, const int *ldz, double *work, int *info)
 
void PREFIX SGGEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *A, const int *lda, float *B, const int *ldb, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *info)
 
void PREFIX STRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, int *info)
 
#define CHAR_MACRO(char_var)
 
void PREFIX DSTEQR_F77(Teuchos_fcd, const int *n, double *D, double *E, double *Z, const int *ldz, double *work, int *info)
 
double PREFIX DLANGB_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const double *a, const int *lda, double *work)
 
void PREFIX DLASWP_F77(const int *N, double *A, const int *LDA, const int *K1, const int *K2, const int *IPIV, const int *INCX)
 
void GETRF(const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *IPIV, OrdinalType *info) const 
Computes an LU factorization of a general m by n matrix A using partial pivoting with row interchange...
 
void PREFIX DGETRI_F77(const int *n, double *a, const int *lda, const int *ipiv, double *work, const int *lwork, int *info)
 
void PREFIX DGEEQU_F77(const int *m, const int *n, const double *a, const int *lda, double *r, double *c, double *rowcnd, double *colcnd, double *amax, int *info)
 
void PREFIX SGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *b, const int *ldb, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, int *ilo, int *ihi, float *lscale, float *rscale, float *abnrm, float *bbnrm, float *rconde, float *rcondv, float *work, const int *lwork, int *iwork, int *bwork, int *info)
 
Templated interface class to LAPACK routines. 
 
ScalarTraits< ScalarType >::magnitudeType LANGB(const char &NORM, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const ScalarType *A, const OrdinalType &lda, MagnitudeType *WORK) const 
Returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of lar...
 
void PREFIX DGEBAL_F77(Teuchos_fcd, const int *n, double *a, const int *lda, int *ilo, int *ihi, double *scale, int *info)
 
void PREFIX SLASWP_F77(const int *N, float *A, const int *LDA, const int *K1, const int *K2, const int *IPIV, const int *INCX)
 
void PREFIX DPOTRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const double *a, const int *lda, double *x, const int *ldx, int *info)
 
void PREFIX SGBTRS_F77(Teuchos_fcd, const int *n, const int *kl, const int *ku, const int *nrhs, const float *a, const int *lda, const int *ipiv, float *x, const int *ldx, int *info)
 
void PREFIX DTREXC_F77(Teuchos_fcd, const int *n, double *t, const int *ldt, double *q, const int *ldq, int *ifst, int *ilst, double *work, int *info)
 
void GGES(const char &JOBVL, const char &JOBVR, const char &SORT, OrdinalType &(*ptr2func)(ScalarType *, ScalarType *, ScalarType *), const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, OrdinalType *sdim, MagnitudeType *ALPHAR, MagnitudeType *ALPHAI, MagnitudeType *BETA, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *BWORK, OrdinalType *info) const 
 
void PREFIX SGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *wr, float *wi, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *info)
 
void ORMHR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, const ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Overwrites the general real m by n matrix C with the product of C and Q, which is a product of ihi-il...
 
void GEES(const char &JOBVS, const char &SORT, OrdinalType &(*ptr2func)(ScalarType *, ScalarType *), const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *sdim, ScalarType *WR, ScalarType *WI, ScalarType *VS, const OrdinalType &ldvs, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *BWORK, OrdinalType *info) const 
 
void GEBAL(const char &JOBZ, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *ilo, OrdinalType *ihi, MagnitudeType *scale, OrdinalType *info) const 
Balances a general matrix A, through similarity transformations to make the rows and columns as close...
 
void PORFS(const char &UPLO, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, const ScalarType *AF, const OrdinalType &ldaf, const ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Improves the computed solution to a system of linear equations when the coefficient matrix is symmetr...
 
void LATRS(const char &UPLO, const char &TRANS, const char &DIAG, const char &NORMIN, const OrdinalType &N, const ScalarType *A, const OrdinalType &LDA, ScalarType *X, MagnitudeType *SCALE, MagnitudeType *CNORM, OrdinalType *INFO) const 
Robustly solve a possibly singular triangular linear system. 
 
void PREFIX SGTTRF_F77(const int *n, float *dl, float *d, float *du, float *du2, int *ipiv, int *info)
 
ScalarType LARND(const OrdinalType &idist, OrdinalType *seed) const 
Returns a random number from a uniform or normal distribution. 
 
void POTRF(const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *info) const 
Computes Cholesky factorization of a real symmetric positive definite matrix A. 
 
void PREFIX DGEES_F77(Teuchos_fcd, Teuchos_fcd, int(*ptr2func)(double *, double *), const int *n, double *a, const int *lda, int *sdim, double *wr, double *wi, double *vs, const int *ldvs, double *work, const int *lwork, int *bwork, int *info)
 
void PREFIX SGBCON_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const float *a, const int *lda, const int *IPIV, const float *anorm, float *rcond, float *work, int *iwork, int *info)
 
void PREFIX DGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *wr, double *wi, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info)
 
void PREFIX DGBCON_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const double *a, const int *lda, const int *IPIV, const double *anorm, double *rcond, double *work, int *iwork, int *info)
 
void SYEV(const char &JOBZ, const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *W, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Computes all the eigenvalues and, optionally, eigenvectors of a symmetric n by n matrix A...
 
void TREXC(const char &COMPQ, const OrdinalType &n, ScalarType *T, const OrdinalType &ldt, ScalarType *Q, const OrdinalType &ldq, OrdinalType *ifst, OrdinalType *ilst, ScalarType *WORK, OrdinalType *info) const 
 
void PREFIX DGESV_F77(const int *n, const int *nrhs, double *a, const int *lda, int *ipiv, double *x, const int *ldx, int *info)
 
void PREFIX DGEEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *alphar, double *alphai, double *vl, const int *ldvl, double *vr, const int *ldvr, int *ilo, int *ihi, double *scale, double *abnrm, double *rconde, double *rcondv, double *work, const int *lwork, int *iwork, int *info)
 
void PREFIX STREXC_F77(Teuchos_fcd, const int *n, float *t, const int *ldt, float *q, const int *ldq, int *ifst, int *ilst, float *work, int *info)
 
void PREFIX STGSEN_F77(const int *ijob, const int *wantq, const int *wantz, const int *select, const int *n, float *a, const int *lda, float *b, const int *ldb, float *alphar, float *alphai, float *beta, float *q, const int *ldq, float *z, const int *ldz, int *m, float *pl, float *pr, float *dif, float *work, const int *lwork, int *iwork, const int *liwork, int *info)
 
void PREFIX DTGEVC_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, const double *s, const int *lds, const 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 PREFIX SGBEQU_F77(const int *m, const int *n, const int *kl, const int *ku, const float *a, const int *lda, float *r, float *c, float *rowcnd, float *colcnd, float *amax, int *info)
 
#define TEUCHOS_MAX(x, y)
 
void GGEV(const char &JOBVL, const char &JOBVR, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, MagnitudeType *ALPHAR, MagnitudeType *ALPHAI, ScalarType *BETA, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
 
void SYGV(const OrdinalType &itype, const char &JOBZ, const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, ScalarType *W, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Computes all the eigenvalues and, optionally, eigenvectors of a symmetric n by n matrix pencil {A...
 
void PREFIX SGETRI_F77(const int *n, float *a, const int *lda, const int *ipiv, float *work, const int *lwork, int *info)
 
void PREFIX SGETRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const float *a, const int *lda, const int *ipiv, float *x, const int *ldx, int *info)
 
void PREFIX SLARNV_F77(const int *idist, int *seed, const int *n, float *v)
 
void PREFIX SGEEQU_F77(const int *m, const int *n, const float *a, const int *lda, float *r, float *c, float *rowcnd, float *colcnd, float *amax, int *info)
 
void LASCL(const char &TYPE, const OrdinalType &kl, const OrdinalType &ku, const MagnitudeType cfrom, const MagnitudeType cto, const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *info) const 
Multiplies the m by n matrix A by the real scalar cto/cfrom. 
 
void PREFIX SGERFS_F77(Teuchos_fcd, const int *n, const int *nrhs, const float *a, const int *lda, const float *af, const int *ldaf, const int *ipiv, const float *b, const int *ldb, float *x, const int *ldx, float *ferr, float *berr, float *work, int *iwork, int *info)
 
void POSVX(const char &FACT, const char &UPLO, const OrdinalType &n, const OrdinalType &nrhs, ScalarType *A, const OrdinalType &lda, ScalarType *AF, const OrdinalType &ldaf, char *EQUED, ScalarType *S, ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *rcond, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Uses the Cholesky factorization to compute the solution to a real system of linear equations A*X=B...
 
void PREFIX SGESV_F77(const int *n, const int *nrhs, float *a, const int *lda, int *ipiv, float *x, const int *ldx, int *info)
 
void PREFIX DTRSEN_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, double *t, const int *ldt, double *q, const int *ldq, double *wr, double *wi, int *m, double *s, double *sep, double *work, const int *lwork, int *iwork, const int *liwork, int *info)
 
void PREFIX SGGLSE_F77(const int *m, const int *n, const int *p, float *a, const int *lda, float *b, const int *ldb, float *c, float *d, float *x, float *work, const int *lwork, int *info)
 
void PREFIX SORGQR_F77(const int *m, const int *n, const int *k, float *a, const int *lda, const float *tau, float *work, const int *lwork, int *info)
 
void PREFIX DGERFS_F77(Teuchos_fcd, const int *n, const int *nrhs, const double *a, const int *lda, const double *af, const int *ldaf, const int *ipiv, const double *b, const int *ldb, double *x, const int *ldx, double *ferr, double *berr, double *work, int *iwork, int *info)
 
int(* gees_nullfptr_t)(double *, double *)
 
void PREFIX SGBTRF_F77(const int *m, const int *n, const int *kl, const int *ku, float *a, const int *lda, int *ipiv, int *info)
 
void PREFIX DGELS_F77(Teuchos_fcd ch, const int *m, const int *n, const int *nrhs, double *a, const int *lda, double *b, const int *ldb, double *work, const int *lwork, int *info)
 
void PREFIX DGETRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const double *a, const int *lda, const int *ipiv, double *x, const int *ldx, int *info)
 
void PREFIX SSYGV_F77(const int *itype, Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *B, const int *ldb, float *w, float *work, const int *lwork, int *info)
 
ScalarType LAPY2(const ScalarType &x, const ScalarType &y) const 
Computes x^2 + y^2 safely, to avoid overflow. 
 
void PREFIX DPOSV_F77(Teuchos_fcd, const int *n, const int *nrhs, double *a, const int *lda, double *x, const int *ldx, int *info)
 
float PREFIX SLANGB_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const float *a, const int *lda, float *work)
 
void PREFIX SPOSV_F77(Teuchos_fcd, const int *n, const int *nrhs, float *a, const int *lda, float *x, const int *ldx, int *info)
 
void TRSEN(const char &JOB, const char &COMPQ, const OrdinalType *SELECT, const OrdinalType &n, ScalarType *T, const OrdinalType &ldt, ScalarType *Q, const OrdinalType &ldq, MagnitudeType *WR, MagnitudeType *WI, OrdinalType *M, ScalarType *S, MagnitudeType *SEP, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *IWORK, const OrdinalType &liwork, OrdinalType *info) const 
 
void PREFIX SGBRFS_F77(Teuchos_fcd, const int *n, const int *kl, const int *ku, const int *nrhs, const float *a, const int *lda, const float *af, const int *ldaf, const int *ipiv, const float *b, const int *ldb, float *x, const int *ldx, float *ferr, float *berr, float *work, int *iwork, int *info)
 
void PREFIX SORMHR_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, const int *ilo, const int *ihi, const float *a, const int *lda, const float *tau, float *c, const int *ldc, float *work, const int *lwork, int *info)
 
void PREFIX DGEQR2_F77(const int *const m, const int *const n, double *a, const int *const lda, double *tau, double *work, int *const info)
 
void PREFIX SPOTRF_F77(Teuchos_fcd, const int *n, float *a, const int *lda, int *info)
 
void PREFIX DGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, double *a, const int *lda, double *af, const int *ldaf, int *ipiv, Teuchos_nonconst_fcd, double *r, double *c, double *b, const int *ldb, double *x, const int *ldx, double *rcond, double *ferr, double *berr, double *work, int *iwork, int *info)
 
void PREFIX SGEBAK_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *ilo, const int *ihi, const float *scale, const int *m, float *V, const int *ldv, int *info)
 
void PREFIX DPOTRI_F77(Teuchos_fcd, const int *n, double *a, const int *lda, int *info)
 
void GEHRD(const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, ScalarType *A, const OrdinalType &lda, ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Reduces a real general matrix A to upper Hessenberg form by orthogonal similarity transformations...
 
void UNGQR(const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Compute explicit QR factor from QR factorization (GEQRF) (complex case). 
 
void PREFIX STGEVC_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, const float *s, const int *lds, const float *p, const int *ldp, float *vl, const int *ldvl, float *vr, const int *ldvr, const int *mm, int *m, float *work, int *info)
 
void PREFIX DLARNV_F77(const int *idist, int *seed, const int *n, double *v)
 
Declaration and definition of Teuchos::Details::LapackLongDouble, a partial implementation of Teuchos...
 
void PREFIX DGEBAK_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *ilo, const int *ihi, const double *scale, const int *m, double *V, const int *ldv, int *info)
 
void GBTRS(const char &TRANS, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, const OrdinalType *IPIV, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const 
Solves a system of linear equations A*X=B or A'*X=B with a general banded n by n matrix A using the L...
 
void PREFIX DSYTRD_F77(Teuchos_fcd, const int *n, double *a, const int *lda, double *D, double *E, double *tau, double *work, const int *lwork, int *info)
 
void PREFIX SGEBAL_F77(Teuchos_fcd, const int *n, float *a, const int *lda, int *ilo, int *ihi, float *scale, int *info)
 
void GEQRF(const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Computes a QR factorization of a general m by n matrix A. 
 
void GESVD(const char &JOBU, const char &JOBVT, const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, MagnitudeType *S, ScalarType *U, const OrdinalType &ldu, ScalarType *V, const OrdinalType &ldv, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const 
Computes the singular values (and optionally, vectors) of a real matrix A. 
 
void GESV(const OrdinalType &n, const OrdinalType &nrhs, ScalarType *A, const OrdinalType &lda, OrdinalType *IPIV, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const 
Computes the solution to a real system of linear equations A*X=B, where A is factored through GETRF a...
 
void GEEV(const char &JOBVL, const char &JOBVR, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, MagnitudeType *WR, MagnitudeType *WI, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const 
Computes for an n by n real nonsymmetric matrix A, the eigenvalues and, optionally, the left and/or right eigenvectors. 
 
void PREFIX DGBRFS_F77(Teuchos_fcd, const int *n, const int *kl, const int *ku, const int *nrhs, const double *a, const int *lda, const double *af, const int *ldaf, const int *ipiv, const double *b, const int *ldb, double *x, const int *ldx, double *ferr, double *berr, double *work, int *iwork, int *info)
 
void PREFIX SORGHR_F77(const int *n, const int *ilo, const int *ihi, float *a, const int *lda, const float *tau, float *work, const int *lwork, int *info)
 
void PREFIX SGELS_F77(Teuchos_fcd ch, const int *m, const int *n, const int *nrhs, float *a, const int *lda, float *b, const int *ldb, float *work, const int *lwork, int *info)
 
void GETRS(const char &TRANS, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, const OrdinalType *IPIV, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const 
Solves a system of linear equations A*X=B or A'*X=B with a general n by n matrix A using the LU facto...
 
void GEEVX(const char &BALANC, const char &JOBVL, const char &JOBVR, const char &SENSE, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *WR, ScalarType *WI, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, OrdinalType *ilo, OrdinalType *ihi, MagnitudeType *SCALE, MagnitudeType *abnrm, MagnitudeType *RCONDE, MagnitudeType *RCONDV, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *IWORK, OrdinalType *info) const 
 
void GESVX(const char &FACT, const char &TRANS, const OrdinalType &n, const OrdinalType &nrhs, ScalarType *A, const OrdinalType &lda, ScalarType *AF, const OrdinalType &ldaf, OrdinalType *IPIV, char *EQUED, ScalarType *R, ScalarType *C, ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *rcond, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Uses the LU factorization to compute the solution to a real system of linear equations A*X=B...
 
Standard test and throw macros. 
 
void PREFIX DGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *b, const int *ldb, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, int *ilo, int *ihi, double *lscale, double *rscale, double *abnrm, double *bbnrm, double *rconde, double *rcondv, double *work, const int *lwork, int *iwork, int *bwork, int *info)
 
void PREFIX DORGQR_F77(const int *m, const int *n, const int *k, double *a, const int *lda, const double *tau, double *work, const int *lwork, int *info)
 
void PREFIX DPOCON_F77(Teuchos_fcd, const int *n, const double *a, const int *lda, const double *anorm, double *rcond, double *work, int *iwork, int *info)
 
Defines basic traits for the scalar field type. 
 
void PREFIX SLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int *N, const float *A, const int *LDA, float *X, float *SCALE, float *CNORM, int *INFO)
 
void PREFIX DLARFG_F77(const int *n, double *alpha, double *x, const int *incx, double *tau)
 
void GETRI(const OrdinalType &n, ScalarType *A, const OrdinalType &lda, const OrdinalType *IPIV, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Computes the inverse of a matrix A using the LU factorization computed by GETRF. 
 
void GELS(const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &nrhs, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Solves an over/underdetermined real m by n linear system A using QR or LQ factorization of A...
 
void PREFIX STRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, const float *a, const int *lda, float *b, const int *ldb, int *info)
 
void PREFIX SGEQR2_F77(const int *const m, const int *const n, float *a, const int *const lda, float *tau, float *work, int *const info)
 
void PREFIX DGBTRS_F77(Teuchos_fcd, const int *n, const int *kl, const int *ku, const int *nrhs, const double *a, const int *lda, const int *ipiv, double *x, const int *ldx, int *info)
 
void PREFIX SGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, float *a, const int *lda, float *af, const int *ldaf, int *ipiv, Teuchos_nonconst_fcd, float *r, float *c, float *b, const int *ldb, float *x, const int *ldx, float *rcond, float *ferr, float *berr, float *work, int *iwork, int *info)
 
void GEQR2(const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *TAU, ScalarType *WORK, OrdinalType *const info) const 
BLAS 2 version of GEQRF, with known workspace size. 
 
void ORMQR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, const ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
 
#define CHARPTR_MACRO(charptr_var)
 
void GELSS(const OrdinalType &m, const OrdinalType &n, const OrdinalType &nrhs, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, MagnitudeType *S, const MagnitudeType rcond, OrdinalType *rank, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const 
Use the SVD to solve a possibly rank-deficient linear least-squares problem. 
 
void PREFIX DGGLSE_F77(const int *m, const int *n, const int *p, double *a, const int *lda, double *b, const int *ldb, double *c, double *d, double *x, double *work, const int *lwork, int *info)
 
void PREFIX SLASCL_F77(Teuchos_fcd, const int *kl, const int *ku, const float *cfrom, const float *cto, const int *m, const int *n, float *a, const int *lda, int *info)
 
void PREFIX SSYEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *w, float *work, const int *lwork, int *info)
 
void PREFIX DTGSEN_F77(const int *ijob, const int *wantq, const int *wantz, const int *select, const int *n, double *a, const int *lda, double *b, const int *ldb, double *alphar, double *alphai, double *beta, double *q, const int *ldq, double *z, const int *ldz, int *m, double *pl, double *pr, double *dif, double *work, const int *lwork, int *iwork, const int *liwork, int *info)
 
void PREFIX SGEQRF_F77(const int *m, const int *n, float *a, const int *lda, float *tau, float *work, const int *lwork, int *info)
 
void HEEV(const char &JOBZ, const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, MagnitudeType *W, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const 
Computes all the eigenvalues and, optionally, eigenvectors of a Hermitian n by n matrix A...
 
void LARNV(const OrdinalType &idist, OrdinalType *seed, const OrdinalType &n, ScalarType *v) const 
Returns a vector of random numbers from a chosen distribution. 
 
void TGSEN(const OrdinalType &ijob, const OrdinalType &wantq, const OrdinalType &wantz, const OrdinalType *SELECT, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, MagnitudeType *ALPHAR, MagnitudeType *ALPHAI, MagnitudeType *BETA, ScalarType *Q, const OrdinalType &ldq, ScalarType *Z, const OrdinalType &ldz, OrdinalType *M, MagnitudeType *PL, MagnitudeType *PR, MagnitudeType *DIF, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *IWORK, const OrdinalType &liwork, OrdinalType *info) const 
 
void PREFIX SORM2R_F77(Teuchos_fcd SIDE, Teuchos_fcd TRANS, const int *const M, const int *const N, const int *const K, const float *A, const int *const LDA, const float *TAU, float *C, const int *const LDC, float *WORK, int *const INFO)
 
void POCON(const char &UPLO, const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, const ScalarType &anorm, ScalarType *rcond, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Estimates the reciprocal of the condition number (1-norm) of a real symmetric positive definite matri...
 
void PTTRS(const OrdinalType &n, const OrdinalType &nrhs, const MagnitudeType *d, const ScalarType *e, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const 
Solves a tridiagonal system A*X=B using the *D*L' factorization of A computed by PTTRF. 
 
void GERFS(const char &TRANS, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, const ScalarType *AF, const OrdinalType &ldaf, const OrdinalType *IPIV, const ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Improves the computed solution to a system of linear equations and provides error bounds and backward...
 
void GEQP3(const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *jpvt, ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const 
Computes a QR factorization with column pivoting of a matrix A: A*P = Q*R using Level 3 BLAS...
 
void PREFIX SGETRF_F77(const int *m, const int *n, float *a, const int *lda, int *ipiv, int *info)
 
void PREFIX SLARTG_F77(const float *f, const float *g, float *c, float *s, float *r)
 
void PREFIX DGELSS_F77(const int *m, const int *n, const int *nrhs, double *a, const int *lda, double *b, const int *ldb, double *s, const double *rcond, int *rank, double *work, const int *lwork, int *info)
 
void PREFIX DPTTRS_F77(const int *n, const int *nrhs, const double *d, const double *e, double *x, const int *ldx, int *info)
 
void PREFIX SPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, float *a, const int *lda, float *af, const int *ldaf, Teuchos_nonconst_fcd, float *s, float *b, const int *ldb, float *x, const int *ldx, float *rcond, float *ferr, float *berr, float *work, int *iwork, int *info)
 
ScalarType LAMCH(const char &CMACH) const 
Determines machine parameters for floating point characteristics. 
 
void HEGV(const OrdinalType &itype, const char &JOBZ, const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, MagnitudeType *W, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const 
Computes all the eigenvalues and, optionally, eigenvectors of a generalized Hermitian-definite n by n...
 
void ORGHR(const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Generates a real orthogonal matrix Q which is the product of ihi-ilo elementary reflectors of order n...
 
void TRTRI(const char &UPLO, const char &DIAG, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *info) const 
Computes the inverse of an upper or lower triangular matrix A. 
 
void PREFIX SPTEQR_F77(Teuchos_fcd, const int *n, float *D, float *E, float *Z, const int *ldz, float *work, int *info)
 
void PREFIX DGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, double *a, const int *lda, double *s, double *u, const int *ldu, double *v, const int *ldv, double *work, const int *lwork, int *info)
 
#define TEUCHOS_MIN(x, y)
 
void PREFIX DTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, int *info)
 
void PREFIX SHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int *n, const int *ilo, const int *ihi, float *h, const int *ldh, float *wr, float *wi, float *z, const int *ldz, float *work, const int *lwork, int *info)
 
int PREFIX ILAENV_F77(const int *ispec, const char *name, const char *opts, const int *N1, const int *N2, const int *N3, const int *N4, unsigned int name_length, unsigned int opts_length)
 
void GECON(const char &NORM, const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, const ScalarType &anorm, ScalarType *rcond, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Estimates the reciprocal of the condition number of a general real matrix A, in either the 1-norm or ...
 
void PREFIX DGTTRF_F77(const int *n, double *dl, double *d, double *du, double *du2, int *ipiv, int *info)
 
void PREFIX SGEEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *wr, float *wi, float *vl, const int *ldvl, float *vr, const int *ldvr, int *ilo, int *ihi, float *scale, float *abnrm, float *rconde, float *rcondv, float *work, const int *lwork, int *iwork, int *info)
 
void PREFIX DGETRF_F77(const int *m, const int *n, double *a, const int *lda, int *ipiv, int *info)
 
float PREFIX SLARND_F77(const int *idist, int *seed)
 
void PREFIX DORM2R_F77(Teuchos_fcd SIDE, Teuchos_fcd TRANS, const int *const M, const int *const N, const int *const K, const double *A, const int *const LDA, const double *TAU, double *C, const int *const LDC, double *WORK, int *const INFO)
 
void PREFIX SPTTRF_F77(const int *n, float *d, float *e, int *info)
 
void PREFIX DORGHR_F77(const int *n, const int *ilo, const int *ihi, double *a, const int *lda, const double *tau, double *work, const int *lwork, int *info)
 
void PREFIX STRSEN_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, float *t, const int *ldt, float *q, const int *ldq, float *wr, float *wi, int *m, float *s, float *sep, float *work, const int *lwork, int *iwork, const int *liwork, int *info)
 
void HSEQR(const char &JOB, const char &COMPZ, const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, ScalarType *H, const OrdinalType &ldh, ScalarType *WR, ScalarType *WI, ScalarType *Z, const OrdinalType &ldz, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Computes the eigenvalues of a real upper Hessenberg matrix H and, optionally, the matrices T and Z fr...
 
void LASWP(const OrdinalType &N, ScalarType *A, const OrdinalType &LDA, const OrdinalType &K1, const OrdinalType &K2, const OrdinalType *IPIV, const OrdinalType &INCX) const 
Apply a series of row interchanges to the matrix A. 
 
void PREFIX SPOCON_F77(Teuchos_fcd, const int *n, const float *a, const int *lda, const float *anorm, float *rcond, float *work, int *iwork, int *info)
 
void GBRFS(const char &TRANS, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, const ScalarType *AF, const OrdinalType &ldaf, const OrdinalType *IPIV, const ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Improves the computed solution to a banded system of linear equations and provides error bounds and b...
 
void POEQU(const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, MagnitudeType *S, MagnitudeType *scond, MagnitudeType *amax, OrdinalType *info) const 
Computes row and column scalings intended to equilibrate a symmetric positive definite matrix A and r...
 
void UNMQR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, const ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Apply Householder reflectors (complex case). 
 
void GBEQU(const OrdinalType &m, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const ScalarType *A, const OrdinalType &lda, MagnitudeType *R, MagnitudeType *C, MagnitudeType *rowcond, MagnitudeType *colcond, MagnitudeType *amax, OrdinalType *info) const 
Computes row and column scalings intended to equilibrate an m by n banded matrix A and reduce its con...