47 #ifdef HAVE_TEUCHOSCORE_QUADMATH 
   49 #endif // HAVE_TEUCHOSCORE_QUADMATH 
   59 #if defined (INTEL_CXML) 
   60 #define CHAR_MACRO(char_var) &char_var, one 
   62 #define CHAR_MACRO(char_var) &char_var 
   68 #if defined (INTEL_CXML) 
   69 #define CHARPTR_MACRO(charptr_var) charptr_var, one 
   71 #define CHARPTR_MACRO(charptr_var) charptr_var 
   76 #if defined (INTEL_CXML) 
   86   const int* ispec, 
const char* name, 
const unsigned int& name_length,
 
   87   const char* opts, 
const unsigned int& opts_length,
 
   88   const int* N1, 
const int* N2, 
const int* N3, 
const int* N4 )
 
   90 #if defined (INTEL_CXML) 
   91     return ILAENV_F77(ispec, name, name_length, opts, opts_length, N1, N2, N3, N4 );
 
   93     return ILAENV_F77(ispec, name, opts, N1, N2, N3, N4, name_length, opts_length );
 
  126   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 
  134   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 
  138   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 
  143   { 
SPOEQU_F77(&n, A, &lda, S, scond, amax, info); }
 
  146   void LAPACK<int, float>::PORFS(
const char& UPLO, 
const int& 
n, 
const int& nrhs, 
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 
  147   { 
SPORFS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  149   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 
  150   { 
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); }
 
  153   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 
  154   { 
SGELS_F77(
CHAR_MACRO(TRANS), &m, &n, &nrhs, A, &lda, B, &ldb, WORK, &lwork, info); }
 
  156   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 
  159     SGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, info);
 
  162   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 
  163   { 
SGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, info); }
 
  166   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 
  167   { 
SGGLSE_F77(&m, &n, &p, A, &lda, B, &ldb, C, D, X, WORK, &lwork, info); }
 
  170   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 
  171   { 
SGEQRF_F77(&m, &n, A, &lda, TAU, WORK, &lwork, info); }
 
  182   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 
  186   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 
  203     SGEQP3_F77(&m, &n, A, &lda, jpvt, TAU, WORK, &lwork, info);
 
  213          const int& INCX)
 const 
  215     SLASWP_F77(&N, A, &LDA, &K1, &K2, IPIV, &INCX);
 
  218   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 
  219   { 
SGBTRF_F77(&m, &n, &kl, &ku, A, &lda, IPIV, info); }
 
  222   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 
  223   { 
SGBTRS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, IPIV, B, &ldb, info); }
 
  227   { 
SGTTRF_F77(&n, dl, d, du, du2, IPIV, info); }
 
  230   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 
  231   { 
SGTTRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, dl, d, du, du2, IPIV, B, &ldb, info); }
 
  235   { 
SGETRI_F77(&n, A, &lda, IPIV, WORK, &lwork, info); }
 
  264   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 
  268   void LAPACK<int,float>::GBCON(
const char& NORM, 
const int& 
n, 
const int& kl, 
const int& ku, 
const float* 
A, 
const int& lda, 
int* IPIV, 
const float& anorm, 
float* rcond, 
float* WORK, 
int* IWORK, 
int* info)
 const 
  269   { 
SGBCON_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, IPIV, &anorm, rcond, WORK, IWORK, info); }
 
  272   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 
  277   { 
SGESV_F77(&n, &nrhs, A, &lda, IPIV, B, &ldb, info); }
 
  280   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 
  281   { 
SGEEQU_F77(&m, &n, A, &lda, R, C, rowcond, colcond, amax, info); }
 
  284   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 
  285   { 
SGERFS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  288   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 
  289   { 
SGBEQU_F77(&m, &n, &kl, &ku, A, &lda, R, C, rowcond, colcond, amax, info); }
 
  292   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 
  293   { 
SGBRFS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  295   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 
  296   { 
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); }
 
  299   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 
  303   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 
  304   { 
SGEHRD_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info); }
 
  307   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 
  315   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 
  319   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 
  323   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 
  324   { 
SSYGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, info); }
 
  327   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 
  331   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 
  332   { 
SSYGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, info); }
 
  343   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 
  344   { 
SHSEQR_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPZ), &n, &ilo, &ihi, H, &ldh, WR, WI, Z, &ldz, WORK, &lwork, info); }
 
  347   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 
  348   { 
SGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info); }
 
  351   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 
  353     int (*nullfptr)(
float*,
float*) = NULL;
 
  354     const char sort = 
'N';
 
  355     SGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(sort), nullfptr, &n, A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info);
 
  359   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 
  360   { 
SGEEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, WORK, &lwork, info); }
 
  362   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 
  364     GEEV (JOBVL, JOBVR, n, A, lda, WR, WI, VL, ldvl, VR, ldvr, WORK, lwork, info);
 
  368   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 
  369   { 
SGESVD_F77(
CHAR_MACRO(JOBU), 
CHAR_MACRO(JOBVT), &m, &n, A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, info); }
 
  372   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 
  373   { 
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); }
 
  376   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 
  377   { 
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); }
 
  379   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 
  381     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);
 
  384   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 
  385   { 
SGGEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, info); }
 
  388   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 
  389   { 
STRSEN_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPQ), SELECT, &n, T, &ldt, Q, &ldq, WR, WI, M, S, SEP, WORK, &lwork, IWORK, &liwork, info); }
 
  392   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 
  393   { 
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); }
 
  396   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 
  397   { 
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); }
 
  400   void LAPACK<int, float>::ORMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
float* A, 
const int& lda, 
const float* TAU, 
float* 
C, 
const int& ldc, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  401   { 
SORMQR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, &lwork, info); }
 
  404   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 
  405   { 
SORM2R_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, info); }
 
  408   void LAPACK<int, float>::UNMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
float* A, 
const int& lda, 
const float* TAU, 
float* 
C, 
const int& ldc, 
float* WORK, 
const int& lwork, 
int* info)
 const 
  413     ORMQR (SIDE, TRANS, m, n, k, A, lda, TAU, C, ldc, WORK, lwork, info);
 
  416   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 
  421     ORM2R (SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO);
 
  425   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 
  426   { 
SORGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info); }
 
  429   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 
  430   { 
SORGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info); }
 
  433   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 
  434   { 
SORGHR_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info); }
 
  437   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 
  438   { 
SORMHR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &ilo, &ihi, A, &lda, TAU, C, &ldc, WORK, &lwork, info); }
 
  441   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 
  442   { 
STREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), select, &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info); }
 
  445   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 
  447     std::vector<int> select(1);
 
  448     const char whch = 
'A';
 
  449     STREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(whch), &select[0], &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info);
 
  452   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 
  456   void LAPACK<int, float>::TGEVC(
const char& SIDE, 
const char& HOWMNY, 
const int* SELECT, 
const int& n, 
float* S, 
const int& lds, 
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 
  457   { 
STGEVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), SELECT, &n, S, &lds, P, &ldp, VL, &ldvl, VR, &ldvr, &mm, M, WORK, info); }
 
  467   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 
  471   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 
  474 #ifdef HAVE_TEUCHOS_LAPACKLARND 
  487   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 
  489     unsigned int opts_length = OPTS.length();
 
  491     std::string temp_NAME = 
"s" + NAME;
 
  492     if (temp_NAME.substr(1,2) == 
"he") {
 
  493       temp_NAME.replace(1,2,
"sy");
 
  495     unsigned int name_length = temp_NAME.length();
 
  496     return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
 
  502 #if defined(HAVE_TEUCHOS_BLASFLOAT) 
  503     return SLAPY2_F77(&x, &y);
 
  506     const float xabs = ST::magnitude(x);
 
  507     const float yabs = ST::magnitude(y);
 
  513     const float z_over_w = z/w;
 
  514     return w*ST::squareroot( 1.0+(z_over_w*z_over_w));
 
  528   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 
  536   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 
  544   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 
  548   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 
  552   void LAPACK<int, double>::POEQU(
const int& n, 
const double* A, 
const int& lda, 
double* S, 
double* scond, 
double* amax, 
int* info)
 const 
  553   { 
DPOEQU_F77(&n, A, &lda, S, scond, amax, info); }
 
  556   void LAPACK<int, double>::PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
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 
  557   { 
DPORFS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  559   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 
  560   { 
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); }
 
  563   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 
  564   { 
DGELS_F77(
CHAR_MACRO(TRANS), &m, &n, &nrhs, A, &lda, B, &ldb, WORK, &lwork, info); }
 
  567   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 
  570     DGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, info);
 
  574   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 
  575   { 
DGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, info); }
 
  578   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 
  579   { 
DGGLSE_F77(&m, &n, &p, A, &lda, B, &ldb, C, D, X, WORK, &lwork, info); }
 
  582   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 
  583   { 
DGEQRF_F77(&m, &n, A, &lda, TAU, WORK, &lwork, info); }
 
  585   void LAPACK<int,double>::GEQR2 (
const int& m, 
const int& n, 
double A[], 
const int& lda, 
double TAU[], 
double WORK[], 
int* 
const info)
 const 
  594   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 
  598   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 
  601   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 
  604     DGEQP3_F77(&m, &n, A, &lda, jpvt, TAU, WORK, &lwork, info);
 
  614          const int& INCX)
 const 
  616     DLASWP_F77(&N, A, &LDA, &K1, &K2, IPIV, &INCX);
 
  619   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 
  620   { 
DGBTRF_F77(&m, &n, &kl, &ku, A, &lda, IPIV, info); }
 
  623   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 
  624   { 
DGBTRS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, IPIV, B, &ldb, info); }
 
  628   { 
DGTTRF_F77(&n, dl, d, du, du2, IPIV, info); }
 
  631   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 
  632   { 
DGTTRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, dl, d, du, du2, IPIV, B, &ldb, info); }
 
  635   void LAPACK<int,double>::GETRI(
const int& n, 
double* A, 
const int& lda, 
const int* IPIV, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  636   { 
DGETRI_F77(&n, A, &lda, IPIV, WORK, &lwork, info); }
 
  664   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 
  668   void LAPACK<int,double>::GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const double* A, 
const int& lda, 
int* IPIV, 
const double& anorm, 
double* rcond, 
double* WORK, 
int* IWORK, 
int* info)
 const 
  669   { 
DGBCON_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, IPIV, &anorm, rcond, WORK, IWORK, info); }
 
  672   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 
  676   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 
  677   { 
DGESV_F77(&n, &nrhs, A, &lda, IPIV, B, &ldb, info); }
 
  680   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 
  681   { 
DGEEQU_F77(&m, &n, A, &lda, R, C, rowcond, colcond, amax, info); }
 
  684   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 
  685   { 
DGERFS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  688   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 
  689   { 
DGBEQU_F77(&m, &n, &kl, &ku, A, &lda, R, C, rowcond, colcond, amax, info); }
 
  692   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 
  693   { 
DGBRFS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
 
  695   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 
  696   { 
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); }
 
  699   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 
  703   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 
  704   { 
DGEHRD_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info); }
 
  707   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 
  711   void LAPACK<int,double>::TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, 
const double* A, 
const int& lda, 
int* info)
 const 
  715   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 
  719   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 
  725   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 
  727     DSYGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, info);
 
  731   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 
  737   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 
  739     DSYGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, info);
 
  743   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 
  747   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 
  751   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 
  753     DHSEQR_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPZ), &n, &ilo, &ihi, H, &ldh, WR, WI, Z, &ldz, WORK, &lwork, info);
 
  757   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 
  759     DGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info);
 
  763   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 
  767     const char sort = 
'N';
 
  768     DGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(sort), nullfptr, &n, A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info);
 
  772   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 
  774     DGEEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, WORK, &lwork, info);
 
  777   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 
  779     GEEV (JOBVL, JOBVR, n, A, lda, WR, WI, VL, ldvl, VR, ldvr, WORK, lwork, info);
 
  783   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 {
 
  784     DGESVD_F77(
CHAR_MACRO(JOBU), 
CHAR_MACRO(JOBVT), &m, &n, A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, info);
 
  788   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 
  790     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);
 
  794   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 
  796     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);
 
  799   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 
  801     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);
 
  804   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 
  806     DGGEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, info);
 
  809   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 
  810   { 
DTRSEN_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPQ), SELECT, &n, T, &ldt, Q, &ldq, WR, WI, M, S, SEP, WORK, &lwork, IWORK, &liwork, info); }
 
  813   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 
  814   { 
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); }
 
  817   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 
  818   { 
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); }
 
  821   void LAPACK<int, double>::ORMQR(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& k, 
double* A, 
const int& lda, 
const double* TAU, 
double* C, 
const int& ldc, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  823     DORMQR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, &lwork, info);
 
  826   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 
  828     DORM2R_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, info);
 
  831   void LAPACK<int, double>::UNMQR(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& k, 
double* A, 
const int& lda, 
const double* TAU, 
double* C, 
const int& ldc, 
double* WORK, 
const int& lwork, 
int* info)
 const 
  836     ORMQR (SIDE, TRANS, m, n, k, A, lda, TAU, C, ldc, WORK, lwork, info);
 
  839   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 
  844     ORM2R (SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO);
 
  847   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 
  849     DORGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info);
 
  853   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 
  855     DORGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info);
 
  859   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 
  861     DORGHR_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info);
 
  865   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 
  867     DORMHR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &ilo, &ihi, A, &lda, TAU, C, &ldc, WORK, &lwork, info);
 
  871   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 
  873     DTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), select, &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info);
 
  877   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 
  879     std::vector<int> select(1);
 
  880     const char whch = 
'A';
 
  881     DTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(whch), &select[0], &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info);
 
  884   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 
  890   void LAPACK<int, double>::TGEVC(
const char& SIDE, 
const char& HOWMNY, 
const int* SELECT, 
const int& n, 
double* S, 
const int& lds, 
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 
  891   { 
DTGEVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), SELECT, &n, S, &lds, P, &ldp, VL, &ldvl, VR, &ldvr, &mm, M, WORK, info); }
 
  905   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 
  911   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 
  917 #ifdef HAVE_TEUCHOS_LAPACKLARND 
  936   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 
  938     unsigned int opts_length = OPTS.length();
 
  940     std::string temp_NAME = 
"d" + NAME;
 
  941     if (temp_NAME.substr(1,2) == 
"he") {
 
  942       temp_NAME.replace(1,2,
"sy");
 
  944     unsigned int name_length = temp_NAME.length();
 
  945     return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
 
  956 #ifdef HAVE_TEUCHOS_COMPLEX 
  961   void LAPACK<int, std::complex<float> >::PTTRF(
const int& n, std::complex<float>* d, std::complex<float>* e, 
int* info)
 const 
  963     CPTTRF_F77(&n,d,e,info);
 
  967   void LAPACK<int, std::complex<float> >::PTTRS(
const int& n, 
const int& nrhs, 
const std::complex<float>* d, 
const std::complex<float>* e, std::complex<float>* B, 
const int& ldb, 
int* info)
 const 
  969     CPTTRS_F77(&n,&nrhs,d,e,B,&ldb,info);
 
  973   void LAPACK<int, std::complex<float> >::POTRF(
const char& UPLO, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* info)
 const 
  975     CPOTRF_F77(
CHAR_MACRO(UPLO), &n, A, &lda, info);
 
  979   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 
  981     CPOTRS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, B, &ldb, info);
 
  985   void LAPACK<int, std::complex<float> >::POTRI(
const char& UPLO, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* info)
 const 
  987     CPOTRI_F77(
CHAR_MACRO(UPLO), &n, A, &lda, info);
 
  991   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 
  993     CPOCON_F77(
CHAR_MACRO(UPLO), &n, A, &lda, &anorm, rcond, WORK, RWORK, info);
 
  997   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 
  999     CPOSV_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, B, &ldb, info);
 
 1003   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 
 1005     CPOEQU_F77(&n, A, &lda, S, scond, amax, info);
 
 1009   void LAPACK<int, std::complex<float> >::PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 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 
 1011     CPORFS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1014   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 
 1016     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);
 
 1020   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 
 1022     CGELS_F77(
CHAR_MACRO(TRANS), &m, &n, &nrhs, A, &lda, B, &ldb, WORK, &lwork, info);
 
 1025   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 
 1027     CGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, rwork, info);
 
 1030   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 
 1032     CGEQRF_F77(&m, &n, A, &lda, TAU, WORK, &lwork, info);
 
 1035   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 
 1037     CGEQR2_F77(&m, &n, A, &lda, TAU, WORK, info);
 
 1040   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 
 1042     CUNGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info);
 
 1045   void LAPACK<int,std::complex<float> >::UNMQR(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& k, 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 
 1047     CUNMQR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, &lwork, info);
 
 1050   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 
 1052     CUNM2R_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &M, &N, &K, A, &LDA, TAU, C, &LDC, WORK, INFO);
 
 1055   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 
 1057     CGETRF_F77(&m, &n, A, &lda, IPIV, info);
 
 1060   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 
 1062     CGETRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1065   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 
 1066   { CLASCL_F77(
CHAR_MACRO(TYPE), &kl, &ku, &cfrom, &cto, &m, &n, A, &lda, info); }
 
 1068   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 
 1070     CGEQP3_F77(&m, &n, A, &lda, jpvt, TAU, WORK, &lwork, RWORK, info);
 
 1073   void LAPACK<int, std::complex<float> >::
 
 1074   LASWP (
const int& N,
 
 1075          std::complex<float> A[],
 
 1080          const int& INCX)
 const 
 1082     CLASWP_F77(&N, A, &LDA, &K1, &K2, IPIV, &INCX);
 
 1085   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 
 1087     CGBTRF_F77(&m, &kl, &ku, &n, A, &lda, IPIV, info);
 
 1091   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 
 1093     CGBTRS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1097   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 
 1099     CGTTRF_F77(&n, dl, d, du, du2, IPIV, info);
 
 1103   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 
 1105     CGTTRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, dl, d, du, du2, IPIV, B, &ldb, info);
 
 1109   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 
 1111     CGETRI_F77(&n, A, &lda, IPIV, WORK, &lwork, info);
 
 1116   LAPACK<int, std::complex<float> >::LATRS (
const char& UPLO,
 
 1121                                             std::complex<float>* A,
 
 1123                                             std::complex<float>* X,
 
 1142   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 
 1144     CGECON_F77(
CHAR_MACRO(NORM), &n, A, &lda, &anorm, rcond, WORK, RWORK, info);
 
 1148   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, 
int* IPIV, 
const float& anorm, 
float* rcond, std::complex<float>* WORK, 
float* RWORK, 
int* info)
 const 
 1150     CGBCON_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, IPIV, &anorm, rcond, WORK, RWORK, info);
 
 1154   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 
 1156     return( CLANGB_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, WORK) );
 
 1160   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 
 1162     CGESV_F77(&n, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1166   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 
 1168     CGEEQU_F77(&m, &n, A, &lda, R, C, rowcond, colcond, amax, info);
 
 1172   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 
 1174     CGERFS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1178   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 
 1180     CGBEQU_F77(&m, &n, &kl, &ku, A, &lda, R, C, rowcond, colcond, amax, info);
 
 1184   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 
 1186     CGBRFS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1189   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 
 1191     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);
 
 1195   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 
 1197     CGEHRD_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info);
 
 1201   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 
 1207   void LAPACK<int,std::complex<float> >::TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, 
const std::complex<float>* A, 
const int& lda, 
int* info)
 const 
 1213   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 
 1215     CSTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, Z, &ldz, WORK, info);
 
 1219   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 
 1221     CPTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, Z, &ldz, WORK, info);
 
 1225   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 
 1231   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 
 1233     CHEGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, RWORK, info);
 
 1237   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 
 1239     CHSEQR_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPZ), &n, &ilo, &ihi, H, &ldh, W, Z, &ldz, WORK, &lwork, info);
 
 1243   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 
 1245     CGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, sdim, W, VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
 
 1249   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 
 1251     int (*nullfptr)(std::complex<float>*) = NULL;
 
 1252     std::vector< std::complex<float> > W(n);
 
 1253     const char sort = 
'N';
 
 1254     CGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(sort), nullfptr, &n, A, &lda, sdim, &W[0], VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
 
 1255     for (
int i=0; i<
n; i++) {
 
 1256       WR[i] = W[i].real();
 
 1257       WI[i] = W[i].imag();
 
 1262   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 
 1264     CGEEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, W, VL, &ldvl, VR, &ldvr, WORK, &lwork, RWORK, info);
 
 1267   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 
 1269     std::vector<std::complex<float> > w (n);
 
 1270     std::complex<float>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1271     GEEV (JOBVL, JOBVR, n, A, lda, w_rawPtr, VL, ldvl, VR, ldvr, WORK, lwork, RWORK, info);
 
 1275       for (
int k = 0; k < 
n; ++k) {
 
 1276         WR[k] = w[k].real ();
 
 1277         WI[k] = w[k].imag ();
 
 1282   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 {
 
 1283     CGESVD_F77(
CHAR_MACRO(JOBU), 
CHAR_MACRO(JOBVT), &m, &n, A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, RWORK, info);
 
 1287   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 
 1289     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);
 
 1293   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 
 1295     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);
 
 1298   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 
 1300     std::vector<std::complex<float> > w (n);
 
 1301     std::complex<float>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1302     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);
 
 1306       for (
int k = 0; k < 
n; ++k) {
 
 1307         ALPHAR[k] = w[k].real ();
 
 1308         ALPHAI[k] = w[k].imag ();
 
 1314   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 
 1316     CTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), select, &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
 
 1320   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 
 1322     std::vector<int> select(1);
 
 1323     const char& whch = 
'A';
 
 1324     CTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(whch), &select[0], &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
 
 1327   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 
 1329     CTREXC_F77(
CHAR_MACRO(COMPQ), &n, T, &ldt, Q, &ldq, ifst, ilst, info);
 
 1333   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 
 1335     CLARTG_F77(&f, &g, c, s, r);
 
 1339   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 
 1341     CLARFG_F77(&n, alpha, x, &incx, tau);
 
 1344   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 
 1346     CGEBAL_F77(
CHAR_MACRO(JOBZ),&n, A, &lda, ilo, ihi, scale, info);
 
 1350   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 
 1356 #ifdef HAVE_TEUCHOS_LAPACKLARND 
 1357   std::complex<float> LAPACK<int, std::complex<float> >::LARND( 
const int& idist, 
int* seed )
 const 
 1359     return(CLARND_F77(&idist, seed));
 
 1363   void LAPACK<int, std::complex<float> >::LARNV( 
const int& idist, 
int* seed, 
const int& n, std::complex<float>* v )
 const 
 1365     CLARNV_F77(&idist, seed, &n, v);
 
 1369   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 
 1371     unsigned int opts_length = OPTS.length();
 
 1372     std::string temp_NAME = 
"c" + NAME;
 
 1373     unsigned int name_length = temp_NAME.length();
 
 1374     return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
 
 1382   void LAPACK<int, std::complex<double> >::PTTRF(
const int& n, std::complex<double>* d, std::complex<double>* e, 
int* info)
 const 
 1384     ZPTTRF_F77(&n,d,e,info);
 
 1388   void LAPACK<int, std::complex<double> >::PTTRS(
const int& n, 
const int& nrhs, 
const std::complex<double>* d, 
const std::complex<double>* e, std::complex<double>* B, 
const int& ldb, 
int* info)
 const 
 1390     ZPTTRS_F77(&n,&nrhs,d,e,B,&ldb,info);
 
 1394   void LAPACK<int, std::complex<double> >::POTRF(
const char& UPLO, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1396     ZPOTRF_F77(
CHAR_MACRO(UPLO), &n, A, &lda, info);
 
 1400   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 
 1402     ZPOTRS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, B, &ldb, info);
 
 1406   void LAPACK<int, std::complex<double> >::POTRI(
const char& UPLO, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1408     ZPOTRI_F77(
CHAR_MACRO(UPLO), &n, A, &lda, info);
 
 1412   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 
 1414     ZPOCON_F77(
CHAR_MACRO(UPLO), &n, A, &lda, &anorm, rcond, WORK, RWORK, info);
 
 1418   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 
 1420     ZPOSV_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, B, &ldb, info);
 
 1424   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 
 1426     ZPOEQU_F77(&n, A, &lda, S, scond, amax, info);
 
 1430   void LAPACK<int, std::complex<double> >::PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 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 
 1432     ZPORFS_F77(
CHAR_MACRO(UPLO), &n, &nrhs, A, &lda, AF, &ldaf, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1435   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 
 1437     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);
 
 1441   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 
 1443     ZGELS_F77(
CHAR_MACRO(TRANS), &m, &n, &nrhs, A, &lda, B, &ldb, WORK, &lwork, info);
 
 1447   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 
 1449     ZGELSS_F77(&m, &n, &nrhs, A, &lda, B, &ldb, S, &rcond, rank, WORK, &lwork, rwork, info);
 
 1453   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 
 1455     ZGEQRF_F77(&m, &n, A, &lda, TAU, WORK, &lwork, info);
 
 1458   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 
 1460     ZGEQR2_F77(&m, &n, A, &lda, TAU, WORK, info);
 
 1463   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 
 1465     ZUNGQR_F77( &m, &n, &k, A, &lda, TAU, WORK, &lwork, info);
 
 1469   void LAPACK<int,std::complex<double> >::UNMQR(
const char& SIDE, 
const char& TRANS, 
const int& m, 
const int& n, 
const int& k, 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 
 1471     ZUNMQR_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &m, &n, &k, A, &lda, TAU, C, &ldc, WORK, &lwork, info);
 
 1474   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 
 1476     ZUNM2R_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(TRANS), &M, &N, &K, A, &LDA, TAU, C, &LDC, WORK, INFO);
 
 1479   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 
 1481     ZGETRF_F77(&m, &n, A, &lda, IPIV, info);
 
 1485   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 
 1487     ZGETRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1491   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 
 1492   { ZLASCL_F77(
CHAR_MACRO(TYPE), &kl, &ku, &cfrom, &cto, &m, &n, A, &lda, info); }
 
 1494   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 
 1496     ZGEQP3_F77(&m, &n, A, &lda, jpvt, TAU, WORK, &lwork, RWORK, info);
 
 1499   void LAPACK<int, std::complex<double> >::
 
 1500   LASWP (
const int& N,
 
 1501          std::complex<double> A[],
 
 1506          const int& INCX)
 const 
 1508     ZLASWP_F77(&N, A, &LDA, &K1, &K2, IPIV, &INCX);
 
 1511   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 
 1513     ZGBTRF_F77(&m, &n, &kl, &ku, A, &lda, IPIV, info);
 
 1517   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 
 1519     ZGBTRS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1523   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 
 1525     ZGTTRF_F77(&n, dl, d, du, du2, IPIV, info);
 
 1529   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 
 1531     ZGTTRS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, dl, d, du, du2, IPIV, B, &ldb, info);
 
 1535   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 
 1537     ZGETRI_F77(&n, A, &lda, IPIV, WORK, &lwork, info);
 
 1541   LAPACK<int, std::complex<double> >::LATRS (
const char& UPLO,
 
 1546                                              std::complex<double>* A,
 
 1548                                              std::complex<double>* X,
 
 1566   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 
 1568     ZGECON_F77(
CHAR_MACRO(NORM), &n, A, &lda, &anorm, rcond, WORK, RWORK, info);
 
 1572   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, 
int* IPIV, 
const double& anorm, 
double* rcond, std::complex<double>* WORK, 
double* RWORK, 
int* info)
 const 
 1574     ZGBCON_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, IPIV, &anorm, rcond, WORK, RWORK, info);
 
 1578   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 
 1580     return( ZLANGB_F77(
CHAR_MACRO(NORM), &n, &kl, &ku, A, &lda, WORK) );
 
 1584   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 
 1586     ZGESV_F77(&n, &nrhs, A, &lda, IPIV, B, &ldb, info);
 
 1590   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 
 1592     ZGEEQU_F77(&m, &n, A, &lda, R, C, rowcond, colcond, amax, info);
 
 1596   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 
 1598     ZGERFS_F77(
CHAR_MACRO(TRANS), &n, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1602   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 
 1604     ZGBEQU_F77(&m, &n, &kl, &ku, A, &lda, R, C, rowcond, colcond, amax, info);
 
 1608   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 
 1610     ZGBRFS_F77(
CHAR_MACRO(TRANS), &n, &kl, &ku, &nrhs, A, &lda, AF, &ldaf, IPIV, B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
 
 1613   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 
 1615     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);
 
 1619   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 
 1621     ZGEHRD_F77(&n, &ilo, &ihi, A, &lda, TAU, WORK, &lwork, info);
 
 1625   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 
 1631   void LAPACK<int,std::complex<double> >::TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, 
const std::complex<double>* A, 
const int& lda, 
int* info)
 const 
 1637   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 
 1639     ZSTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, Z, &ldz, WORK, info);
 
 1643   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 
 1645     ZPTEQR_F77(
CHAR_MACRO(COMPZ), &n, D, E, Z, &ldz, WORK, info);
 
 1649   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 
 1655   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 
 1657     ZHEGV_F77(&itype, 
CHAR_MACRO(JOBZ), 
CHAR_MACRO(UPLO), &n, A, &lda, B, &ldb, W, WORK, &lwork, RWORK, info);
 
 1661   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 
 1663     ZHSEQR_F77(
CHAR_MACRO(JOB), 
CHAR_MACRO(COMPZ), &n, &ilo, &ihi, H, &ldh, W, Z, &ldz, WORK, &lwork, info);
 
 1667   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 
 1669     ZGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(SORT), ptr2func, &n, A, &lda, sdim, W, VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
 
 1673   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 
 1675     int (*nullfptr)(std::complex<double>*) = NULL;
 
 1676     std::vector< std::complex<double> > W(n);
 
 1677     const char sort = 
'N';
 
 1678     ZGEES_F77(
CHAR_MACRO(JOBVS), 
CHAR_MACRO(sort), nullfptr, &n, A, &lda, sdim, &W[0], VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
 
 1679     for (
int i=0; i<
n; i++) {
 
 1680       WR[i] = W[i].real();
 
 1681       WI[i] = W[i].imag();
 
 1686   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 
 1688     ZGEEV_F77(
CHAR_MACRO(JOBVL), 
CHAR_MACRO(JOBVR), &n, A, &lda, W, VL, &ldvl, VR, &ldvr, WORK, &lwork, RWORK, info);
 
 1692   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 
 1694     std::vector<std::complex<double> > w (n);
 
 1695     std::complex<double>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1696     GEEV (JOBVL, JOBVR, n, A, lda, w_rawPtr, VL, ldvl, VR, ldvr, WORK, lwork, RWORK, info);
 
 1700       for (
int k = 0; k < 
n; ++k) {
 
 1701         WR[k] = w[k].real ();
 
 1702         WI[k] = w[k].imag ();
 
 1708   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 {
 
 1709     ZGESVD_F77(
CHAR_MACRO(JOBU), 
CHAR_MACRO(JOBVT), &m, &n, A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, RWORK, info);
 
 1712   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 
 1714     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);
 
 1717   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 
 1719     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);
 
 1722   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 
 1724     std::vector<std::complex<double> > w (n);
 
 1725     std::complex<double>* w_rawPtr = (n == 0) ? NULL : &w[0];
 
 1726     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);
 
 1730       for (
int k = 0; k < 
n; ++k) {
 
 1731         ALPHAR[k] = w[k].real ();
 
 1732         ALPHAI[k] = w[k].imag ();
 
 1737   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 
 1739     ZTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(HOWMNY), select, &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
 
 1743   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 
 1745     std::vector<int> select(1);
 
 1746     const char& whch = 
'A';
 
 1747     ZTREVC_F77(
CHAR_MACRO(SIDE), 
CHAR_MACRO(whch), &select[0], &n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
 
 1750   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 
 1752     ZTREXC_F77(
CHAR_MACRO(COMPQ), &n, T, &ldt, Q, &ldq, ifst, ilst, info);
 
 1755   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 
 1757     ZLARTG_F77(&f, &g, c, s, r);
 
 1761   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 
 1763     ZLARFG_F77(&n, alpha, x, &incx, tau);
 
 1766   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 
 1768     ZGEBAL_F77(
CHAR_MACRO(JOBZ),&n, A, &lda, ilo, ihi, scale, info);
 
 1772   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 
 1778 #ifdef HAVE_TEUCHOS_LAPACKLARND 
 1779   std::complex<double> LAPACK<int, std::complex<double> >::LARND( 
const int& idist, 
int* seed )
 const 
 1781     return(ZLARND_F77(&idist, seed));
 
 1785   void LAPACK<int, std::complex<double> >::LARNV( 
const int& idist, 
int* seed, 
const int& n, std::complex<double>* v )
 const 
 1787     ZLARNV_F77(&idist, seed, &n, v);
 
 1791   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 
 1793     unsigned int opts_length = OPTS.length();
 
 1794     std::string temp_NAME = 
"z" + NAME;
 
 1795     unsigned int name_length = temp_NAME.length();
 
 1796     return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
 
 1801 #endif // HAVE_TEUCHOS_COMPLEX 
 1804 #ifdef HAVE_TEUCHOSCORE_QUADMATH 
 1809   GEQRF(
const int& m, 
const int& n, __float128* A, 
const int& lda, __float128* TAU, __float128* WORK, 
const int& lwork, 
int* info)
 const 
 1811     Teuchos::Details::Lapack128 lapack;
 
 1812     lapack.GEQRF (m, n, A, lda, TAU, WORK, lwork, info);
 
 1816   GEQR2(
const int& m, 
const int& n, __float128 A[], 
const int& lda, __float128 TAU[], __float128 WORK[], 
int* 
const info)
 const 
 1818     Teuchos::Details::Lapack128 lapack;
 
 1819     lapack.GEQR2 (m, n, A, lda, TAU, WORK, info);
 
 1823   GETRF(
const int& m, 
const int& n, __float128* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 1825     Teuchos::Details::Lapack128 lapack;
 
 1826     lapack.GETRF (m, n, A, lda, IPIV, info);
 
 1830   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 
 1832     Teuchos::Details::Lapack128 lapack;
 
 1833     lapack.GETRS (TRANS, n, nrhs, A, lda, IPIV, B, ldb, info);
 
 1837   GETRI (
const int& n, __float128* A, 
const int& lda, 
const int* IPIV, __float128* WORK, 
const int& lwork, 
int* info)
 const 
 1839     Teuchos::Details::Lapack128 lapack;
 
 1840     lapack.GETRI (n, A, lda, const_cast<int*> (IPIV), WORK, lwork, info);
 
 1844   LASWP (
const int& N, __float128 A[], 
const int& LDA, 
const int& K1, 
const int& K2, 
const int IPIV[], 
const int& INCX)
 const 
 1846     Teuchos::Details::Lapack128 lapack;
 
 1847     lapack.LASWP (N, A, LDA, K1, K2, IPIV, INCX);
 
 1851   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 
 1853     Teuchos::Details::Lapack128 lapack;
 
 1854     lapack.ORM2R (SIDE, TRANS, m, n, k, A, lda, TAU, C, ldc, WORK, info);
 
 1858   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 
 1860     Teuchos::Details::Lapack128 lapack;
 
 1861     lapack.ORGQR (m, n, k, A, lda, TAU, WORK, lwork, info);
 
 1865   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 
 1867     Teuchos::Details::Lapack128 lapack;
 
 1868     lapack.UNGQR (m, n, k, A, lda, TAU, WORK, lwork, info);
 
 1872   LARFG( 
const int& n, __float128* alpha, __float128* x, 
const int& incx, __float128* tau )
 const 
 1874     Teuchos::Details::Lapack128 lapack;
 
 1875     lapack.LARFG (n, alpha, x, incx, tau);
 
 1879   LAPY2 (
const __float128 x, 
const __float128 y)
 const 
 1881     Teuchos::Details::Lapack128 lapack;
 
 1882     return lapack.LAPY2 (x, y);
 
 1886   GBTRF (
const int& m, 
const int& n, 
const int& kl, 
const int& ku,
 
 1887          __float128* A, 
const int& lda, 
int* IPIV, 
int* info)
 const 
 1889     Teuchos::Details::Lapack128 lapack;
 
 1890     return lapack.GBTRF (m, n, kl, ku, A, lda, IPIV, info);
 
 1894   GBTRS (
const char& TRANS, 
const int& n, 
const int& kl, 
const int& ku,
 
 1895          const int& nrhs, 
const __float128* A, 
const int& lda, 
const int* IPIV,
 
 1896          __float128* B, 
const int& ldb, 
int* info)
 const 
 1898     Teuchos::Details::Lapack128 lapack;
 
 1899     return lapack.GBTRS (TRANS, n, kl, ku, nrhs, A, lda, IPIV, B, ldb, info);
 
 1903   LASCL (
const char& TYPE, 
const int& kl, 
const int& ku, 
const __float128 cfrom,
 
 1904          const __float128 cto, 
const int& m, 
const int& n, __float128* A,
 
 1905          const int& lda, 
int* info)
 const 
 1907     Teuchos::Details::Lapack128 lapack;
 
 1908     return lapack.LASCL (TYPE, kl, ku, cfrom, cto, m, n, A, lda, info);
 
 1913 #endif // HAVE_TEUCHOSCORE_QUADMATH 
void PREFIX SLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int *N, float *A, const int *LDA, float *X, float *SCALE, float *CNORM, 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 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 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 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 SORMQR_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, const int *k, float *a, const int *lda, const float *tau, float *C, const int *ldc, float *work, const int *lwork, 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 UNMQR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, 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 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 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 DORMQR_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, const int *k, double *a, const int *lda, const double *tau, double *C, const int *ldc, double *work, const int *lwork, 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 TRTRI(const char &UPLO, const char &DIAG, const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, OrdinalType *info) const 
Computes the inverse of an upper or lower triangular matrix A. 
 
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 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 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...
 
void PREFIX STRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const float *a, const int *lda, int *info)
 
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 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 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 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)
 
void PREFIX SLASCL_F77(Teuchos_fcd, const int *kl, const int *ku, const float *cfrom, const float *cto, const int *m, const int *n, const float *a, const int *lda, 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)
 
void PTTRF(const OrdinalType &n, ScalarType *d, ScalarType *e, OrdinalType *info) const 
Computes the L*D*L' factorization of a Hermitian/symmetric positive definite tridiagonal matrix A...
 
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 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 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)
 
#define CHAR_MACRO(char_var)
 
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 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 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 SPORFS_F77(Teuchos_fcd, const int *n, const int *nrhs, 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 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 SGBCON_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const float *a, const int *lda, int *IPIV, const float *anorm, float *rcond, float *work, int *iwork, 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 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 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 DTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const double *a, const int *lda, 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 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 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 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 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 SGETRI_F77(const int *n, float *a, const int *lda, const int *ipiv, float *work, const int *lwork, int *info)
 
void PTTRS(const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *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 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 DLASCL_F77(Teuchos_fcd, const int *kl, const int *ku, const double *cfrom, const double *cto, const int *m, const int *n, const double *a, const int *lda, 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 PREFIX DGBCON_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const double *a, const int *lda, int *IPIV, const double *anorm, double *rcond, double *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 STGEVC_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, float *s, const int *lds, 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 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 DLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int *N, double *A, const int *LDA, double *X, double *SCALE, double *CNORM, 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 SLASWP_F77(const int *N, float A[], const int *LDA, const int *K1, const int *K2, const int IPIV[], const int *INCX)
 
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 DTGEVC_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, double *s, const int *lds, 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 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 GBCON(const char &NORM, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const ScalarType *A, const OrdinalType &lda, 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 DLARNV_F77(const int *idist, int *seed, const int *n, double *v)
 
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...
 
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 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 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)
 
#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 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 DPORFS_F77(Teuchos_fcd, const int *n, const int *nrhs, 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 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 ORMQR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
 
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 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 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 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 LATRS(const char &UPLO, const char &TRANS, const char &DIAG, const char &NORMIN, const OrdinalType &N, ScalarType *A, const OrdinalType &LDA, ScalarType *X, MagnitudeType *SCALE, MagnitudeType *CNORM, OrdinalType *INFO) const 
Robustly solve a possibly singular triangular linear system. 
 
void TGEVC(const char &SIDE, const char &HOWMNY, const OrdinalType *SELECT, const OrdinalType &n, ScalarType *S, const OrdinalType &lds, 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 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 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 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 PREFIX DLASWP_F77(const int *N, double A[], const int *LDA, const int *K1, const int *K2, const int IPIV[], const int *INCX)
 
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...