10 #ifndef _TEUCHOS_LAPACK_HPP_ 
   11 #define _TEUCHOS_LAPACK_HPP_ 
   60     static inline T 
notDefined() { 
return T::LAPACK_routine_not_defined_for_this_type(); }
 
   63   template<
typename OrdinalType, 
typename ScalarType>
 
   90     void PTTRS(
const OrdinalType& 
n, 
const OrdinalType& nrhs, 
const MagnitudeType* d, 
const ScalarType* e, ScalarType* 
B, 
const OrdinalType& ldb, OrdinalType* info) 
const;
 
   93     void POTRF(
const char& UPLO, 
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, OrdinalType* info) 
const;
 
   96     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;
 
   99     void POTRI(
const char& UPLO, 
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, OrdinalType* info) 
const;
 
  102     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;
 
  105     void POSV(
const char& UPLO, 
const OrdinalType& 
n, 
const OrdinalType& nrhs, ScalarType* 
A, 
const OrdinalType& lda, ScalarType* 
B, 
const OrdinalType& ldb, OrdinalType* info) 
const;
 
  111     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;
 
  114     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;
 
  121     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;
 
  156     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;
 
  159     void GELSS(
const OrdinalType& m, 
const OrdinalType& 
n, 
const OrdinalType& nrhs, ScalarType* 
A, 
const OrdinalType& lda, ScalarType* 
B, 
const OrdinalType& ldb, ScalarType* S, 
const ScalarType& rcond, OrdinalType* rank, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info) 
const;
 
  162     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;
 
  165     void GEQRF (
const OrdinalType& m, 
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, ScalarType* TAU, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info) 
const;
 
  168     void GEQR2 (
const OrdinalType& m, 
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, ScalarType* TAU, ScalarType* WORK, OrdinalType* 
const info) 
const;
 
  171     void GETRF(
const OrdinalType& m, 
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, OrdinalType* IPIV, OrdinalType* info) 
const;
 
  174     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;
 
  177     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;
 
  180     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;
 
  183     void LASWP (
const OrdinalType& N, ScalarType* 
A, 
const OrdinalType& LDA, 
const OrdinalType& K1, 
const OrdinalType& K2, 
const OrdinalType* IPIV, 
const OrdinalType& INCX) 
const;
 
  186     void GBTRF(
const OrdinalType& m, 
const OrdinalType& 
n, 
const OrdinalType& kl, 
const OrdinalType& ku, ScalarType* 
A, 
const OrdinalType& lda, OrdinalType* IPIV, OrdinalType* info) 
const;
 
  189     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;
 
  192     void GTTRF(
const OrdinalType& 
n, ScalarType* dl, ScalarType* d, ScalarType* du, ScalarType* du2, OrdinalType* IPIV, OrdinalType* info) 
const;
 
  195     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;
 
  198     void GETRI(
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, 
const OrdinalType* IPIV, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info) 
const;
 
  204     void LATRS (
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const char& NORMIN, 
const OrdinalType& N, 
const ScalarType* 
A, 
const OrdinalType& LDA, ScalarType* X, 
MagnitudeType* SCALE, 
MagnitudeType* CNORM, OrdinalType* INFO) 
const;
 
  207     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;
 
  210     void GBCON(
const char& NORM, 
const OrdinalType& 
n, 
const OrdinalType& kl, 
const OrdinalType& ku, 
const ScalarType* 
A, 
const OrdinalType& lda, 
const OrdinalType* IPIV, 
const ScalarType& anorm, ScalarType* rcond, ScalarType* WORK, OrdinalType* IWORK, OrdinalType* info) 
const;
 
  216     void GESV(
const OrdinalType& 
n, 
const OrdinalType& nrhs, ScalarType* 
A, 
const OrdinalType& lda, OrdinalType* IPIV, ScalarType* 
B, 
const OrdinalType& ldb, OrdinalType* info) 
const;
 
  219     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;
 
  222     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;
 
  225     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;
 
  228     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;
 
  232     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;
 
  237     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;
 
  240     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;
 
  243     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;
 
  246     void TRTRI(
const char& UPLO, 
const char& DIAG, 
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, OrdinalType* info) 
const;
 
  254     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;
 
  259     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;
 
  264     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;
 
  269     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;
 
  274     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;
 
  285     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;
 
  291     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;
 
  296     void GEES(
const char& JOBVS, 
const char& SORT, OrdinalType& (*ptr2func)(ScalarType*), 
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, OrdinalType* sdim, ScalarType* W, ScalarType* VS, 
const OrdinalType& ldvs, ScalarType* WORK, 
const OrdinalType& lwork, 
MagnitudeType* RWORK, OrdinalType* BWORK, OrdinalType* info) 
const;
 
  301     void GEES(
const char& JOBVS, 
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, OrdinalType* sdim, 
MagnitudeType* WR, 
MagnitudeType* WI, ScalarType* VS, 
const OrdinalType& ldvs, ScalarType* WORK, 
const OrdinalType& lwork, 
MagnitudeType* RWORK, OrdinalType* BWORK, OrdinalType* info) 
const;
 
  308     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;
 
  314     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;
 
  320     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;
 
  325     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;
 
  331   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;
 
  336   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;
 
  341     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;
 
  348     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;
 
  365     void ORMQR(
const char& SIDE, 
const char& 
TRANS, 
const OrdinalType& m, 
const OrdinalType& 
n, 
const OrdinalType& k, 
const ScalarType* 
A, 
const OrdinalType& lda, 
const ScalarType* TAU, ScalarType* 
C, 
const OrdinalType& ldc, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info) 
const;
 
  372     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;
 
  382     void UNMQR(
const char& SIDE, 
const char& 
TRANS, 
const OrdinalType& m, 
const OrdinalType& 
n, 
const OrdinalType& k, 
const ScalarType* 
A, 
const OrdinalType& lda, 
const ScalarType* TAU, ScalarType* 
C, 
const OrdinalType& ldc, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info) 
const;
 
  388     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;
 
  399     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;
 
  409     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;
 
  414     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;
 
  419     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;
 
  427     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;
 
  432     void TREVC(
const char& SIDE, 
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, 
MagnitudeType* RWORK, OrdinalType* info) 
const;
 
  437     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;
 
  442     void TGEVC(
const char& SIDE, 
const char& HOWMNY, 
const OrdinalType* SELECT, 
const OrdinalType& 
n, 
const ScalarType* S, 
const OrdinalType& lds, 
const ScalarType* P, 
const OrdinalType& ldp, ScalarType* VL, 
const OrdinalType& ldvl, ScalarType* VR, 
const OrdinalType& ldvr, 
const OrdinalType& mm, OrdinalType* M, ScalarType* WORK, OrdinalType* info) 
const;
 
  451     void LARTG( 
const ScalarType& 
f, 
const ScalarType& 
g, 
MagnitudeType* c, ScalarType* s, ScalarType* r ) 
const;
 
  454     void LARFG( 
const OrdinalType& 
n, ScalarType* alpha, ScalarType* x, 
const OrdinalType& incx, ScalarType* tau ) 
const;
 
  463     void GEBAL(
const char& JOBZ, 
const OrdinalType& 
n, ScalarType* 
A, 
const OrdinalType& lda, OrdinalType* ilo, OrdinalType* ihi, 
MagnitudeType* scale, OrdinalType* info) 
const;
 
  466     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;
 
  472     ScalarType 
LARND( 
const OrdinalType& idist, OrdinalType* seed ) 
const;
 
  476     void LARNV( 
const OrdinalType& idist, OrdinalType* seed, 
const OrdinalType& 
n, ScalarType* v ) 
const;
 
  484     ScalarType 
LAMCH(
const char& CMACH) 
const;
 
  490     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;
 
  498     ScalarType 
LAPY2(
const ScalarType& x, 
const ScalarType& y) 
const;
 
  507   template<
typename OrdinalType, 
typename ScalarType>
 
  513   template<
typename OrdinalType, 
typename ScalarType>
 
  514   void LAPACK<OrdinalType, ScalarType>::PTTRS(
const OrdinalType& 
n, 
const OrdinalType& nrhs, 
const MagnitudeType* d, 
const ScalarType* e, ScalarType* 
B, 
const OrdinalType& ldb, OrdinalType* info)
 const 
  519   template<
typename OrdinalType, 
typename ScalarType>
 
  525   template<
typename OrdinalType, 
typename ScalarType>
 
  526   void LAPACK<OrdinalType, ScalarType>::POTRS(
const char& UPLO, 
const OrdinalType& 
n, 
const OrdinalType& nrhs, 
const ScalarType* 
A, 
const OrdinalType& lda, ScalarType* 
B, 
const OrdinalType& ldb, OrdinalType* info)
 const 
  531   template<
typename OrdinalType, 
typename ScalarType>
 
  537   template<
typename OrdinalType, 
typename ScalarType>
 
  538   void LAPACK<OrdinalType, ScalarType>::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 
  543   template<
typename OrdinalType, 
typename ScalarType>
 
  544   void LAPACK<OrdinalType, ScalarType>::POSV(
const char& UPLO, 
const OrdinalType& 
n, 
const OrdinalType& nrhs, ScalarType* 
A, 
const OrdinalType& lda, ScalarType* 
B, 
const OrdinalType& ldb, OrdinalType* info)
 const 
  549   template<
typename OrdinalType, 
typename ScalarType>
 
  550   void LAPACK<OrdinalType, ScalarType>::POEQU(
const OrdinalType& 
n, 
const ScalarType* 
A, 
const OrdinalType& lda, MagnitudeType* S, MagnitudeType* scond, MagnitudeType* amax, OrdinalType* info)
 const 
  577     MagnitudeType smin = S[0];
 
  579     for (OrdinalType i=0; i<
n; ++i) {
 
  587       for (OrdinalType i=0; i<
n; ++i) {
 
  593       for (OrdinalType i=0; i<
n; ++i) {
 
  601   template<
typename OrdinalType, 
typename ScalarType>
 
  602   void LAPACK<OrdinalType, ScalarType>::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 
  607   template<
typename OrdinalType, 
typename ScalarType>
 
  608   void LAPACK<OrdinalType, ScalarType>::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 
  613   template<
typename OrdinalType, 
typename ScalarType>
 
  614   void LAPACK<OrdinalType,ScalarType>::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 
  619   template<
typename OrdinalType, 
typename ScalarType>
 
  620   void LAPACK<OrdinalType, ScalarType>::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 
  625   template<
typename OrdinalType, 
typename ScalarType>
 
  626   void LAPACK<OrdinalType,ScalarType>::GELSS(
const OrdinalType& m, 
const OrdinalType& n, 
const OrdinalType& nrhs, ScalarType* A, 
const OrdinalType& lda, ScalarType* 
B, 
const OrdinalType& ldb, ScalarType* S, 
const ScalarType& rcond, OrdinalType* rank, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info)
 const 
  631   template<
typename OrdinalType, 
typename ScalarType>
 
  632   void LAPACK<OrdinalType,ScalarType>::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 
  637   template<
typename OrdinalType, 
typename ScalarType>
 
  638   void LAPACK<OrdinalType,ScalarType>::GEQRF( 
const OrdinalType& m, 
const OrdinalType& n, ScalarType* A, 
const OrdinalType& lda, ScalarType* TAU, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info)
 const 
  643   template<
typename OrdinalType, 
typename ScalarType>
 
  644   void LAPACK<OrdinalType,ScalarType>::GEQR2 (
const OrdinalType& m, 
const OrdinalType& n, ScalarType* A, 
const OrdinalType& lda, ScalarType* TAU, ScalarType* WORK, OrdinalType* 
const info)
 const 
  649   template<
typename OrdinalType, 
typename ScalarType>
 
  655   template<
typename OrdinalType, 
typename ScalarType>
 
  656   void LAPACK<OrdinalType,ScalarType>::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 
  661   template<
typename OrdinalType, 
typename ScalarType>
 
  662   void LAPACK<OrdinalType,ScalarType>::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 
  678     MagnitudeType cfromc = cfrom;
 
  679     MagnitudeType ctoc = cto;
 
  680     MagnitudeType cfrom1;
 
  685       cfrom1 = cfromc*smlnum;
 
  686       if (cfrom1 == cfromc) {
 
  692         cto1 = ctoc / bignum;
 
  712       for (j=0; j<
n; j++) {
 
  714         for (i=0; i<m; i++) { *ptr = mul * (*ptr); ptr++; }
 
  720   template<
typename OrdinalType, 
typename ScalarType>
 
  721   void LAPACK<OrdinalType,ScalarType>::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 
  726   template<
typename OrdinalType, 
typename ScalarType>
 
  727   void LAPACK<OrdinalType, ScalarType>::LASWP (
const OrdinalType& N, ScalarType* A, 
const OrdinalType& LDA, 
const OrdinalType& K1, 
const OrdinalType& K2, 
const OrdinalType* IPIV, 
const OrdinalType& INCX)
 const 
  732   template<
typename OrdinalType, 
typename ScalarType>
 
  733   void LAPACK<OrdinalType,ScalarType>::GBTRF(
const OrdinalType& m, 
const OrdinalType& n, 
const OrdinalType& kl, 
const OrdinalType& ku, ScalarType* A, 
const OrdinalType& lda, OrdinalType* IPIV, OrdinalType* info)
 const 
  738   template<
typename OrdinalType, 
typename ScalarType>
 
  739   void LAPACK<OrdinalType,ScalarType>::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 
  744   template<
typename OrdinalType, 
typename ScalarType>
 
  750   template<
typename OrdinalType, 
typename ScalarType>
 
  751   void LAPACK<OrdinalType,ScalarType>::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 
  756   template<
typename OrdinalType, 
typename ScalarType>
 
  757   void LAPACK<OrdinalType,ScalarType>::GETRI(
const OrdinalType& n, ScalarType* A, 
const OrdinalType& lda, 
const OrdinalType* IPIV, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info)
 const 
  762   template<
typename OrdinalType, 
typename ScalarType>
 
  763   void LAPACK<OrdinalType,ScalarType>::LATRS (
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const char& NORMIN, 
const OrdinalType& N, 
const ScalarType* A, 
const OrdinalType& LDA, ScalarType* X, MagnitudeType* SCALE, MagnitudeType* CNORM, OrdinalType* INFO)
 const 
  768   template<
typename OrdinalType, 
typename ScalarType>
 
  769   void LAPACK<OrdinalType,ScalarType>::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 
  774   template<
typename OrdinalType, 
typename ScalarType>
 
  775   void LAPACK<OrdinalType,ScalarType>::GBCON(
const char& NORM, 
const OrdinalType& n, 
const OrdinalType& kl, 
const OrdinalType& ku, 
const ScalarType* A, 
const OrdinalType& lda, 
const OrdinalType* IPIV, 
const ScalarType& anorm, ScalarType* rcond, ScalarType* WORK, OrdinalType* IWORK, OrdinalType* info)
 const 
  780   template<
typename OrdinalType, 
typename ScalarType>
 
  786   template<
typename OrdinalType, 
typename ScalarType>
 
  787   void LAPACK<OrdinalType,ScalarType>::GESV(
const OrdinalType& n, 
const OrdinalType& nrhs, ScalarType* A, 
const OrdinalType& lda, OrdinalType* IPIV, ScalarType* 
B, 
const OrdinalType& ldb, OrdinalType* info)
 const 
  792   template<
typename OrdinalType, 
typename ScalarType>
 
  793   void LAPACK<OrdinalType,ScalarType>::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 
  815     if (m == 0 || n == 0) {
 
  827     for (OrdinalType i=0; i<m; i++) {
 
  832     for (OrdinalType j=0; j<
n; j++) {
 
  833       for (OrdinalType i=0; i<m; i++) {
 
  839     MagnitudeType rcmin = bignum;
 
  840     MagnitudeType rcmax = mZero;
 
  841     for (OrdinalType i=0; i<m; i++) {
 
  847     if (rcmin == mZero) {
 
  849       for (OrdinalType i=0; i<m; i++) {
 
  855       for (OrdinalType i=0; i<m; i++) {
 
  863     for (OrdinalType j=0; j<
n; j++) {
 
  868     for (OrdinalType j=0; j<
n; j++) {
 
  869       for (OrdinalType i=0; i<m; i++) {
 
  877     for (OrdinalType j=0; j<
n; j++) {
 
  882     if (rcmin == mZero) {
 
  884       for (OrdinalType j=0; j<
n; j++) {
 
  890       for (OrdinalType j=0; j<
n; j++) {
 
  898   template<
typename OrdinalType, 
typename ScalarType>
 
  899   void LAPACK<OrdinalType,ScalarType>::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 
  904   template<
typename OrdinalType, 
typename ScalarType>
 
  905   void LAPACK<OrdinalType,ScalarType>::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 
  918     } 
else if (lda < kl+ku+1) {
 
  931     if (m == 0 || n == 0) {
 
  943     for (OrdinalType i=0; i<m; i++) {
 
  948     for (OrdinalType j=0; j<
n; j++) {
 
  955     MagnitudeType rcmin = bignum;
 
  956     MagnitudeType rcmax = mZero;
 
  957     for (OrdinalType i=0; i<m; i++) {
 
  963     if (rcmin == mZero) {
 
  965       for (OrdinalType i=0; i<m; i++) {
 
  971       for (OrdinalType i=0; i<m; i++) {
 
  979     for (OrdinalType j=0; j<
n; j++) {
 
  984     for (OrdinalType j=0; j<
n; j++) {
 
  993     for (OrdinalType j=0; j<
n; j++) {
 
  998     if (rcmin == mZero) {
 
 1000       for (OrdinalType j=0; j<
n; j++) {
 
 1006       for (OrdinalType j=0; j<
n; j++) {
 
 1014   template<
typename OrdinalType, 
typename ScalarType>
 
 1015   void LAPACK<OrdinalType,ScalarType>::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 
 1020   template<
typename OrdinalType, 
typename ScalarType>
 
 1021   void LAPACK<OrdinalType,ScalarType>::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 
 1026   template<
typename OrdinalType, 
typename ScalarType>
 
 1027   void LAPACK<OrdinalType,ScalarType>::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 
 1032   template<
typename OrdinalType, 
typename ScalarType>
 
 1033   void LAPACK<OrdinalType,ScalarType>::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 
 1038   template<
typename OrdinalType, 
typename ScalarType>
 
 1039   void LAPACK<OrdinalType,ScalarType>::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 
 1044   template<
typename OrdinalType, 
typename ScalarType>
 
 1050   template<
typename OrdinalType, 
typename ScalarType>
 
 1051   void LAPACK<OrdinalType,ScalarType>::SPEV(
const char& JOBZ, 
const char& UPLO, 
const OrdinalType& n, ScalarType* AP, ScalarType* W, ScalarType* Z, 
const OrdinalType& ldz, ScalarType* WORK, OrdinalType* info)
 const 
 1056   template<
typename OrdinalType, 
typename ScalarType>
 
 1057   void LAPACK<OrdinalType,ScalarType>::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 
 1062   template<
typename OrdinalType, 
typename ScalarType>
 
 1063   void LAPACK<OrdinalType,ScalarType>::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 
 1068   template<
typename OrdinalType, 
typename ScalarType>
 
 1069   void LAPACK<OrdinalType,ScalarType>::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 
 1074   template<
typename OrdinalType, 
typename ScalarType>
 
 1075   void LAPACK<OrdinalType,ScalarType>::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 
 1080   template<
typename OrdinalType, 
typename ScalarType>
 
 1081   void LAPACK<OrdinalType,ScalarType>::STEQR(
const char& COMPZ, 
const OrdinalType& n, MagnitudeType* 
D, MagnitudeType* 
E, ScalarType* Z, 
const OrdinalType& ldz, MagnitudeType* WORK, OrdinalType* info)
 const 
 1086   template<
typename OrdinalType, 
typename ScalarType>
 
 1087   void LAPACK<OrdinalType,ScalarType>::PTEQR(
const char& COMPZ, 
const OrdinalType& n, MagnitudeType* 
D, MagnitudeType* 
E, ScalarType* Z, 
const OrdinalType& ldz, MagnitudeType* WORK, OrdinalType* info)
 const 
 1092   template<
typename OrdinalType, 
typename ScalarType>
 
 1093   void LAPACK<OrdinalType, ScalarType>::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 
 1098   template<
typename OrdinalType, 
typename ScalarType>
 
 1099   void LAPACK<OrdinalType, ScalarType>::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 
 1104   template<
typename OrdinalType, 
typename ScalarType>
 
 1105   void LAPACK<OrdinalType, ScalarType>::GEES(
const char& JOBVS, 
const char& SORT, OrdinalType& (*ptr2func)(ScalarType*), 
const OrdinalType& n, ScalarType* A, 
const OrdinalType& lda, OrdinalType* sdim, ScalarType* W, ScalarType* VS, 
const OrdinalType& ldvs, ScalarType* WORK, 
const OrdinalType& lwork, 
MagnitudeType *RWORK, OrdinalType* BWORK, OrdinalType* info)
 const 
 1110   template<
typename OrdinalType, 
typename ScalarType>
 
 1111   void LAPACK<OrdinalType, ScalarType>::GEES(
const char& JOBVS, 
const OrdinalType& n, ScalarType* A, 
const OrdinalType& lda, OrdinalType* sdim, 
MagnitudeType* WR, 
MagnitudeType* WI, ScalarType* VS, 
const OrdinalType& ldvs, ScalarType* WORK, 
const OrdinalType& lwork, 
MagnitudeType *RWORK, OrdinalType* BWORK, OrdinalType* info)
 const 
 1116   template<
typename OrdinalType, 
typename ScalarType>
 
 1117   void LAPACK<OrdinalType, ScalarType>::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 
 1122   template<
typename OrdinalType, 
typename ScalarType>
 
 1123   void LAPACK<OrdinalType, ScalarType>::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 
 1128   template<
typename OrdinalType, 
typename ScalarType>
 
 1129   void LAPACK<OrdinalType, ScalarType>::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 
 1134   template<
typename OrdinalType, 
typename ScalarType>
 
 1135   void LAPACK<OrdinalType, ScalarType>::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 
 1140   template<
typename OrdinalType, 
typename ScalarType>
 
 1141   void LAPACK<OrdinalType, ScalarType>::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 
 1147   template<
typename OrdinalType, 
typename ScalarType>
 
 1148   void LAPACK<OrdinalType,ScalarType>::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 
 1154   template<
typename OrdinalType, 
typename ScalarType>
 
 1155   void LAPACK<OrdinalType,ScalarType>::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 
 1161   template<
typename OrdinalType, 
typename ScalarType>
 
 1162   void LAPACK<OrdinalType, ScalarType>::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 
 1167   template<
typename OrdinalType, 
typename ScalarType>
 
 1168   void LAPACK<OrdinalType, ScalarType>::ORMQR(
const char& SIDE, 
const char& 
TRANS, 
const OrdinalType& m, 
const OrdinalType& n, 
const OrdinalType& k, 
const ScalarType* A, 
const OrdinalType& lda, 
const ScalarType* TAU, ScalarType* C, 
const OrdinalType& ldc, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info)
 const 
 1173   template<
typename OrdinalType, 
typename ScalarType>
 
 1174   void LAPACK<OrdinalType, ScalarType>::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 
 1179   template<
typename OrdinalType, 
typename ScalarType>
 
 1180   void LAPACK<OrdinalType, ScalarType>::UNMQR(
const char& SIDE, 
const char& 
TRANS, 
const OrdinalType& m, 
const OrdinalType& n, 
const OrdinalType& k, 
const ScalarType* A, 
const OrdinalType& lda, 
const ScalarType* TAU, ScalarType* C, 
const OrdinalType& ldc, ScalarType* WORK, 
const OrdinalType& lwork, OrdinalType* info)
 const 
 1185   template<
typename OrdinalType, 
typename ScalarType>
 
 1186   void LAPACK<OrdinalType, ScalarType>::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 
 1191   template<
typename OrdinalType, 
typename ScalarType>
 
 1192   void LAPACK<OrdinalType, ScalarType>::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 
 1197   template<
typename OrdinalType, 
typename ScalarType>
 
 1198   void LAPACK<OrdinalType, ScalarType>::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 
 1203   template<
typename OrdinalType, 
typename ScalarType>
 
 1204   void LAPACK<OrdinalType, ScalarType>::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 
 1209   template<
typename OrdinalType, 
typename ScalarType>
 
 1210   void LAPACK<OrdinalType, ScalarType>::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 
 1215   template<
typename OrdinalType, 
typename ScalarType>
 
 1216   void LAPACK<OrdinalType, ScalarType>::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 
 1221   template<
typename OrdinalType, 
typename ScalarType>
 
 1222   void LAPACK<OrdinalType, ScalarType>::TREVC(
const char& SIDE, 
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, 
MagnitudeType* RWORK, OrdinalType* info)
 const 
 1227   template<
typename OrdinalType, 
typename ScalarType>
 
 1228   void LAPACK<OrdinalType, ScalarType>::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 
 1234   template<
typename OrdinalType, 
typename ScalarType>
 
 1235   void LAPACK<OrdinalType, ScalarType>::TGEVC(
const char& SIDE, 
const char& HOWMNY, 
const OrdinalType* SELECT, 
const OrdinalType& n, 
const ScalarType* S, 
const OrdinalType& lds, 
const ScalarType* P, 
const OrdinalType& ldp, ScalarType* VL, 
const OrdinalType& ldvl, ScalarType* VR, 
const OrdinalType& ldvr, 
const OrdinalType& mm, OrdinalType* M, ScalarType* WORK, OrdinalType* info)
 const 
 1241   template<
typename OrdinalType, 
typename ScalarType>
 
 1247   template<
typename OrdinalType, 
typename ScalarType>
 
 1248   OrdinalType 
LAPACK<OrdinalType, ScalarType>::ILAENV( 
const OrdinalType& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const OrdinalType& N1, 
const OrdinalType& N2, 
const OrdinalType& N3, 
const OrdinalType& N4 )
 const 
 1253   template<
typename OrdinalType, 
typename ScalarType>
 
 1259   template<
typename OrdinalType, 
typename ScalarType>
 
 1265   template<
typename OrdinalType, 
typename ScalarType>
 
 1271   template<
typename OrdinalType, 
typename ScalarType>
 
 1272   void LAPACK<OrdinalType, ScalarType>::GEBAL( 
const char& JOBZ, 
const OrdinalType& n, ScalarType* A, 
const OrdinalType& lda, OrdinalType* ilo, OrdinalType* ihi, MagnitudeType* scale, OrdinalType* info )
 const 
 1278   template<
typename OrdinalType, 
typename ScalarType>
 
 1279   void LAPACK<OrdinalType, ScalarType>::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 
 1284   template<
typename OrdinalType, 
typename ScalarType>
 
 1290   template<
typename OrdinalType, 
typename ScalarType>
 
 1298 #ifndef DOXYGEN_SHOULD_SKIP_THIS 
 1306     inline LAPACK(
void) {}
 
 1307     inline LAPACK(
const LAPACK<int, float>& ) {}
 
 1308     inline virtual ~LAPACK(
void) {}
 
 1311     void PTTRF(
const int& n, 
float* d, 
float* e, 
int* info) 
const;
 
 1312     void PTTRS(
const int& n, 
const int& nrhs, 
const float* d, 
const float* e, 
float* 
B, 
const int& ldb, 
int* info) 
const;
 
 1313     void POTRF(
const char& UPLO, 
const int& n, 
float* A, 
const int& lda, 
int*  info) 
const;
 
 1314     void POTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const float* A, 
const int& lda, 
float* 
B, 
const int& ldb, 
int* info) 
const;
 
 1315     void POTRI(
const char& UPLO, 
const int& n, 
float* A, 
const int& lda, 
int* info) 
const;
 
 1316     void 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;
 
 1317     void POSV(
const char& UPLO, 
const int& n, 
const int& nrhs, 
float* A, 
const int& lda, 
float* 
B, 
const int& ldb, 
int* info) 
const;
 
 1318     void POEQU(
const int& n, 
const float* A, 
const int& lda, 
float* S, 
float* scond, 
float* amax, 
int* info) 
const;
 
 1319     void PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const float* A, 
const int& lda, 
const float* AF, 
const int& ldaf, 
const float* 
B, 
const int& ldb, 
float* X, 
const int& ldx, 
float* FERR, 
float* BERR, 
float* WORK, 
int* IWORK, 
int* info) 
const;
 
 1321     void 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;
 
 1324     void 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;
 
 1325     void 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;
 
 1326     void 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;
 
 1327     void 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;
 
 1328     void GEQRF(
const int& m, 
const int& n, 
float* A, 
const int& lda, 
float* TAU, 
float* WORK, 
const int& lwork, 
int* info) 
const;
 
 1329     void GEQR2(
const int& m, 
const int& n, 
float* A, 
const int& lda, 
float* TAU, 
float* WORK, 
int* 
const info) 
const;
 
 1331     void GETRF(
const int& m, 
const int& n, 
float* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1332     void 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;
 
 1333     void 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;
 
 1335     void GEQP3 (
const int& m, 
const int& n, 
float* A, 
const int& lda, 
int* jpvt, 
float* TAU, 
float* WORK, 
const int& lwork, 
float* RWORK, 
int* info) 
const;
 
 1336     void LASWP (
const int& N, 
float* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX) 
const;
 
 1338     void GBTRF(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, 
float* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1339     void 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;
 
 1340     void GTTRF(
const int& n, 
float* dl, 
float* d, 
float* du, 
float* du2, 
int* IPIV, 
int* info) 
const;
 
 1341     void 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;
 
 1344     void GETRI(
const int& n, 
float* A, 
const int& lda, 
const int* IPIV, 
float* WORK, 
const int& lwork, 
int* info) 
const;
 
 1345     void LATRS (
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const float* A, 
const int& LDA, 
float* X, 
float* SCALE, 
float* CNORM, 
int* INFO) 
const;
 
 1346     void 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;
 
 1347     void GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const float* A, 
const int& lda, 
const int* IPIV, 
const float& anorm, 
float* rcond, 
float* WORK, 
int* IWORK, 
int* info) 
const;
 
 1348     float LANGB(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const float* A, 
const int& lda, 
float* WORK) 
const;
 
 1349     void GESV(
const int& n, 
const int& nrhs, 
float* A, 
const int& lda, 
int* IPIV, 
float* 
B, 
const int& ldb, 
int* info) 
const;
 
 1350     void 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;
 
 1351     void 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;
 
 1352     void 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;
 
 1353     void 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;
 
 1355     void 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;
 
 1357     void 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;
 
 1358     void 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;
 
 1359     void 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;
 
 1360     void TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, 
float* A, 
const int& lda, 
int* info) 
const;
 
 1363     void STEQR(
const char& COMPZ, 
const int& n, 
float* 
D, 
float* 
E, 
float* Z, 
const int& ldz, 
float* WORK, 
int* info) 
const;
 
 1364     void PTEQR(
const char& COMPZ, 
const int& n, 
float* 
D, 
float* 
E, 
float* Z, 
const int& ldz, 
float* WORK, 
int* info) 
const;
 
 1365     void SPEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, 
float* AP, 
float* W, 
float* Z, 
const int& ldz, 
float* WORK, 
int* info) 
const;
 
 1366     void 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;
 
 1367     void 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;
 
 1368     void HEEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, 
float* A, 
const int& lda, 
float* W, 
float* WORK, 
const int& lwork, 
float* RWORK, 
int* info) 
const;
 
 1369     void 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* RWORK, 
int* info) 
const;
 
 1372     void 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;
 
 1373     void 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;
 
 1374     void 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* RWORK, 
int* BWORK, 
int* info) 
const;
 
 1376     void 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;
 
 1377     void 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* rwork, 
int* info) 
const;
 
 1379     void 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;
 
 1380     void 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;
 
 1381     void 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* rwork, 
int* IWORK, 
int* BWORK, 
int* info) 
const;
 
 1382     void 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;
 
 1383     void 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;
 
 1384     void 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;
 
 1385     void 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;
 
 1388     void 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* RWORK, 
int* info) 
const;
 
 1391     void ORMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const float* A, 
const int& lda, 
const float* TAU, 
float* C, 
const int& ldc, 
float* WORK, 
const int& lwork, 
int* info) 
const;
 
 1392     void 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;
 
 1393     void UNMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const float* A, 
const int& lda, 
const float* TAU, 
float* C, 
const int& ldc, 
float* WORK, 
const int& lwork, 
int* info) 
const;
 
 1394     void 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;
 
 1395     void 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;
 
 1396     void 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;
 
 1397     void 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;
 
 1398     void 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;
 
 1401     void 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;
 
 1402     void 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* RWORK, 
int* info) 
const;
 
 1404     void 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;
 
 1406     void TGEVC(
const char& SIDE, 
const char& HOWMNY, 
const int* SELECT, 
const int& n, 
const float* S, 
const int& lds, 
const float* P, 
const int& ldp, 
float* VL, 
const int& ldvl, 
float* VR, 
const int& ldvr, 
const int& mm, 
int* M, 
float* WORK, 
int* info) 
const;
 
 1409     void LARTG( 
const float& 
f, 
const float& 
g, 
float* c, 
float* s, 
float* r ) 
const;
 
 1410     void LARFG( 
const int& n, 
float* alpha, 
float* x, 
const int& incx, 
float* tau ) 
const;
 
 1414     void GEBAL(
const char& JOBZ, 
const int& n, 
float* A, 
const int& lda, 
int* ilo, 
int* ihi, 
float* scale, 
int* info) 
const;
 
 1416     void 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;
 
 1419     float LARND( 
const int& idist, 
int* seed ) 
const;
 
 1420     void LARNV( 
const int& idist, 
int* seed, 
const int& n, 
float* v ) 
const;
 
 1423     float LAMCH(
const char& CMACH) 
const;
 
 1424     int ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1 = -1, 
const int& N2 = -1, 
const int& N3 = -1, 
const int& N4 = -1 ) 
const;
 
 1427     float LAPY2(
const float& x, 
const float& y) 
const;
 
 1439     inline LAPACK(
void) {}
 
 1440     inline LAPACK(
const LAPACK<int, double>& ) {}
 
 1441     inline virtual ~LAPACK(
void) {}
 
 1444     void PTTRF(
const int& n, 
double* d, 
double* e, 
int* info) 
const;
 
 1445     void PTTRS(
const int& n, 
const int& nrhs, 
const double* d, 
const double* e, 
double* 
B, 
const int& ldb, 
int* info) 
const;
 
 1446     void POTRF(
const char& UPLO, 
const int& n, 
double* A, 
const int& lda, 
int* info) 
const;
 
 1447     void POTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const double* A, 
const int& lda, 
double* 
B, 
const int& ldb, 
int* info) 
const;
 
 1448     void POTRI(
const char& UPLO, 
const int& n, 
double* A, 
const int& lda, 
int* info) 
const;
 
 1449     void 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;
 
 1450     void POSV(
const char& UPLO, 
const int& n, 
const int& nrhs, 
double* A, 
const int& lda, 
double* 
B, 
const int& ldb, 
int* info) 
const;
 
 1451     void POEQU(
const int& n, 
const double* A, 
const int& lda, 
double* S, 
double* scond, 
double* amax, 
int* info) 
const;
 
 1452     void PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const double* A, 
const int& lda, 
const double* AF, 
const int& ldaf, 
const double* 
B, 
const int& ldb, 
double* X, 
const int& ldx, 
double* FERR, 
double* BERR, 
double* WORK, 
int* IWORK, 
int* info) 
const;
 
 1454     void 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;
 
 1457     void 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;
 
 1458     void 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;
 
 1459     void 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;
 
 1460     void 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;
 
 1461     void GEQRF(
const int& m, 
const int& n, 
double* A, 
const int& lda, 
double* TAU, 
double* WORK, 
const int& lwork, 
int* info) 
const;
 
 1462     void GEQR2(
const int& m, 
const int& n, 
double* A, 
const int& lda, 
double* TAU, 
double* WORK, 
int* 
const info) 
const;
 
 1463     void GETRF(
const int& m, 
const int& n, 
double* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1464     void 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;
 
 1465     void 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;
 
 1467     void 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;
 
 1468     void LASWP (
const int& N, 
double* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX) 
const;
 
 1470     void GBTRF(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, 
double* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1471     void 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;
 
 1472     void GTTRF(
const int& n, 
double* dl, 
double* d, 
double* du, 
double* du2, 
int* IPIV, 
int* info) 
const;
 
 1473     void 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;
 
 1474     void GETRI(
const int& n, 
double* A, 
const int& lda, 
const int* IPIV, 
double* WORK, 
const int& lwork, 
int* info) 
const;
 
 1475     void LATRS (
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const double* A, 
const int& LDA, 
double* X, 
double* SCALE, 
double* CNORM, 
int* INFO) 
const;
 
 1476     void 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;
 
 1477     void GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const double* A, 
const int& lda, 
const int* IPIV, 
const double& anorm, 
double* rcond, 
double* WORK, 
int* IWORK, 
int* info) 
const;
 
 1478     double LANGB(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const double* A, 
const int& lda, 
double* WORK) 
const;
 
 1479     void GESV(
const int& n, 
const int& nrhs, 
double* A, 
const int& lda, 
int* IPIV, 
double* 
B, 
const int& ldb, 
int* info) 
const;
 
 1480     void 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;
 
 1481     void 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;
 
 1482     void 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;
 
 1483     void 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;
 
 1485     void 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;
 
 1487     void 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;
 
 1488     void 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;
 
 1489     void 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;
 
 1490     void TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, 
double* A, 
const int& lda, 
int* info) 
const;
 
 1493     void STEQR(
const char& COMPZ, 
const int& n, 
double* 
D, 
double* 
E, 
double* Z, 
const int& ldz, 
double* WORK, 
int* info) 
const;
 
 1494     void PTEQR(
const char& COMPZ, 
const int& n, 
double* 
D, 
double* 
E, 
double* Z, 
const int& ldz, 
double* WORK, 
int* info) 
const;
 
 1495     void SPEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, 
double* AP, 
double* W, 
double* Z, 
const int& ldz, 
double* WORK, 
int* info) 
const;
 
 1496     void 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;
 
 1497     void 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;
 
 1498     void HEEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, 
double* A, 
const int& lda, 
double* W, 
double* WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1499     void 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* RWORK, 
int* info) 
const;
 
 1502     void 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;
 
 1503     void 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;
 
 1504     void 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* RWORK, 
int* BWORK, 
int* info) 
const;
 
 1506     void 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;
 
 1507     void 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* RWORK, 
int* info) 
const;
 
 1509     void 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;
 
 1510     void 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;
 
 1511     void 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* rwork, 
int* IWORK, 
int* BWORK, 
int* info) 
const;
 
 1512     void 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;
 
 1513     void 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;
 
 1514     void 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;
 
 1515     void 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;
 
 1519     void 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* RWORK, 
int* info) 
const;
 
 1522     void ORMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const double* A, 
const int& lda, 
const double* TAU, 
double* C, 
const int& ldc, 
double* WORK, 
const int& lwork, 
int* info) 
const;
 
 1523     void 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;
 
 1524     void UNMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const double* A, 
const int& lda, 
const double* TAU, 
double* C, 
const int& ldc, 
double* WORK, 
const int& lwork, 
int* info) 
const;
 
 1525     void 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;
 
 1526     void 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;
 
 1527     void 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;
 
 1528     void 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;
 
 1529     void 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;
 
 1532     void 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;
 
 1533     void 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* RWORK, 
int* info) 
const;
 
 1535     void 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;
 
 1537     void TGEVC(
const char& SIDE, 
const char& HOWMNY, 
const int* SELECT, 
const int& n, 
const double* S, 
const int& lds, 
const double* P, 
const int& ldp, 
double* VL, 
const int& ldvl, 
double* VR, 
const int& ldvr, 
const int& mm, 
int* M, 
double* WORK, 
int* info) 
const;
 
 1540     void LARTG( 
const double& 
f, 
const double& 
g, 
double* c, 
double* s, 
double* r ) 
const;
 
 1541     void LARFG( 
const int& n, 
double* alpha, 
double* x, 
const int& incx, 
double* tau ) 
const;
 
 1545     void GEBAL(
const char& JOBZ, 
const int& n, 
double* A, 
const int& lda, 
int* ilo, 
int* ihi, 
double* scale, 
int* info) 
const;
 
 1547     void 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;
 
 1550     double LARND( 
const int& idist, 
int* seed ) 
const;
 
 1551     void LARNV( 
const int& idist, 
int* seed, 
const int& n, 
double* v ) 
const;
 
 1554     double LAMCH(
const char& CMACH) 
const;
 
 1555     int ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1 = -1, 
const int& N2 = -1, 
const int& N3 = -1, 
const int& N4 = -1 ) 
const;
 
 1558     double LAPY2(
const double& x, 
const double& y) 
const;
 
 1564 #ifdef HAVE_TEUCHOS_COMPLEX 
 1572     inline LAPACK(
void) {}
 
 1573     inline LAPACK(
const LAPACK<
int, std::complex<float> >& lapack) {}
 
 1574     inline virtual ~LAPACK(
void) {}
 
 1577     void PTTRF(
const int& n, 
float* d, std::complex<float>* e, 
int* info) 
const;
 
 1578     void PTTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const float* d, 
const std::complex<float>* e, std::complex<float>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1579     void POTRF(
const char& UPLO, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* info) 
const;
 
 1580     void 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;
 
 1581     void POTRI(
const char& UPLO, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* info) 
const;
 
 1582     void 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;
 
 1583     void 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;
 
 1584     void POEQU(
const int& n, 
const std::complex<float>* A, 
const int& lda, 
float* S, 
float* scond, 
float* amax, 
int* info) 
const;
 
 1585     void PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const std::complex<float>* A, 
const int& lda, 
const std::complex<float>* AF, 
const int& ldaf, 
const std::complex<float>* 
B, 
const int& ldb, std::complex<float>* X, 
const int& ldx, 
float* FERR, 
float* BERR, std::complex<float>* WORK, 
float* RWORK, 
int* info) 
const;
 
 1587     void 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;
 
 1590     void 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;
 
 1591     void 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;
 
 1592     void 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;
 
 1593     void 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;
 
 1594     void 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;
 
 1595     void UNMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const std::complex<float>* A, 
const int& lda, 
const std::complex<float>* TAU, std::complex<float>* C, 
const int& ldc, std::complex<float>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1596     void 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;
 
 1597     void GETRF(
const int& m, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1598     void 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;
 
 1599     void 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;
 
 1601     void 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;
 
 1602     void LASWP (
const int& N, std::complex<float>* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX) 
const;
 
 1604     void 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;
 
 1605     void 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;
 
 1606     void 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;
 
 1607     void 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;
 
 1608     void GETRI(
const int& n, std::complex<float>* A, 
const int& lda, 
const int* IPIV, std::complex<float>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1609     void LATRS (
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const std::complex<float>* A, 
const int& LDA, std::complex<float>* X, 
float* SCALE, 
float* CNORM, 
int* INFO) 
const;
 
 1610     void 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;
 
 1611     void GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const std::complex<float>* A, 
const int& lda, 
const int* IPIV, 
const float& anorm, 
float* rcond, std::complex<float>* WORK, 
float* RWORK, 
int* info) 
const;
 
 1612     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;
 
 1613     void 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;
 
 1614     void 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;
 
 1615     void 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;
 
 1616     void 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;
 
 1617     void 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;
 
 1619     void 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;
 
 1621     void 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;
 
 1622     void 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;
 
 1623     void TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* info) 
const;
 
 1626     void STEQR(
const char& COMPZ, 
const int& n, 
float* 
D, 
float* 
E, std::complex<float>* Z, 
const int& ldz, 
float* WORK, 
int* info) 
const;
 
 1627     void PTEQR(
const char& COMPZ, 
const int& n, 
float* 
D, 
float* 
E, std::complex<float>* Z, 
const int& ldz, 
float* WORK, 
int* info) 
const;
 
 1628     void 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;
 
 1629     void 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;
 
 1632     void 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;
 
 1633     void 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;
 
 1634     void 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;
 
 1636     void 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;
 
 1637     void 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;
 
 1639     void 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;
 
 1641     void 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;
 
 1642     void 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;
 
 1643     void GGEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, std::complex<float> *A, 
const int& lda, std::complex<float> *
B, 
const int& ldb, std::complex<float>* ALPHA, std::complex<float>* BETA, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, std::complex<float> *WORK, 
const int& lwork, 
float* RWORK, 
int* info) 
const;
 
 1644     void GGES(
const char& JOBVL, 
const char& JOBVR, 
const char& SORT, 
int (*ptr2func)(std::complex<float>*, std::complex<float>*), 
const int& n, std::complex<float>* A, 
const int& lda, std::complex<float>* 
B, 
const int& ldb, 
int* sdim, std::complex<float>* ALPHA, std::complex<float>* BETA, std::complex<float>* VL, 
const int& ldvl, std::complex<float>* VR, 
const int& ldvr, std::complex<float>* WORK, 
const int& lwork, 
float* rwork, 
int* bwork, 
int* info ) 
const;
 
 1645     void TGSEN(
const int& ijob, 
const int& wantq, 
const int& wantz, 
const int* SELECT, 
const int& n, std::complex<float>* A, 
const int& lda, std::complex<float>* 
B, 
const int& ldb, std::complex<float>* ALPHA, std::complex<float>* BETA, std::complex<float>* Q, 
const int& ldq, std::complex<float>* Z, 
const int& ldz, 
int* M, 
float* PL, 
float* PR, 
float* DIF, std::complex<float>* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info ) 
const;
 
 1648     void 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;
 
 1651     void 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;
 
 1652     void 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;
 
 1654     void 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;
 
 1657     void LARTG( 
const std::complex<float> 
f, 
const std::complex<float> 
g, 
float* c, std::complex<float>* s, std::complex<float>* r ) 
const;
 
 1658     void LARFG( 
const int& n, std::complex<float>* alpha, std::complex<float>* x, 
const int& incx, std::complex<float>* tau ) 
const;
 
 1662     void GEBAL(
const char& JOBZ, 
const int& n, std::complex<float>* A, 
const int& lda, 
int* ilo, 
int* ihi, 
float* scale, 
int* info) 
const;
 
 1664     void 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;
 
 1667     std::complex<float> LARND( 
const int& idist, 
int* seed ) 
const;
 
 1668     void LARNV( 
const int& idist, 
int* seed, 
const int& n, std::complex<float>* v ) 
const;
 
 1671     int ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1 = -1, 
const int& N2 = -1, 
const int& N3 = -1, 
const int& N4 = -1 ) 
const;
 
 1683     inline LAPACK(
void) {}
 
 1684     inline LAPACK(
const LAPACK<
int, std::complex<double> >& lapack) {}
 
 1685     inline virtual ~LAPACK(
void) {}
 
 1688     void PTTRF(
const int& n, 
double* d, std::complex<double>* e, 
int* info) 
const;
 
 1689     void PTTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const double* d, 
const std::complex<double>* e, std::complex<double>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1690     void POTRF(
const char& UPLO, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* info) 
const;
 
 1691     void 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;
 
 1692     void POTRI(
const char& UPLO, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* info) 
const;
 
 1693     void 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;
 
 1694     void 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;
 
 1695     void POEQU(
const int& n, 
const std::complex<double>* A, 
const int& lda, 
double* S, 
double* scond, 
double* amax, 
int* info) 
const;
 
 1696     void PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const std::complex<double>* A, 
const int& lda, 
const std::complex<double>* AF, 
const int& ldaf, 
const std::complex<double>* 
B, 
const int& ldb, std::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, std::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1698     void 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;
 
 1701     void 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;
 
 1702     void 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;
 
 1703     void 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;
 
 1704     void 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;
 
 1705     void 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;
 
 1706     void UNMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const std::complex<double>* A, 
const int& lda, 
const std::complex<double>* TAU, std::complex<double>* C, 
const int& ldc, std::complex<double>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1707     void 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;
 
 1709     void GETRF(
const int& m, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1710     void 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;
 
 1711     void 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;
 
 1713     void 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;
 
 1714     void LASWP (
const int& N, std::complex<double>* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX) 
const;
 
 1716     void 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;
 
 1717     void 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;
 
 1718     void 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;
 
 1719     void 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;
 
 1720     void GETRI(
const int& n, std::complex<double>* A, 
const int& lda, 
const int* IPIV, std::complex<double>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1721     void LATRS (
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const std::complex<double>* A, 
const int& LDA, std::complex<double>* X, 
double* SCALE, 
double* CNORM, 
int* INFO) 
const;
 
 1722     void 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;
 
 1723     void GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const std::complex<double>* A, 
const int& lda, 
const int* IPIV, 
const double& anorm, 
double* rcond, std::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1724     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;
 
 1725     void 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;
 
 1726     void 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;
 
 1727     void 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;
 
 1728     void 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;
 
 1729     void 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;
 
 1731     void 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;
 
 1733     void 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;
 
 1734     void 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;
 
 1735     void TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* info) 
const;
 
 1738     void STEQR(
const char& COMPZ, 
const int& n, 
double* 
D, 
double* 
E, std::complex<double>* Z, 
const int& ldz, 
double* WORK, 
int* info) 
const;
 
 1739     void PTEQR(
const char& COMPZ, 
const int& n, 
double* 
D, 
double* 
E, std::complex<double>* Z, 
const int& ldz, 
double* WORK, 
int* info) 
const;
 
 1740     void 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;
 
 1741     void 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;
 
 1744     void 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;
 
 1745     void 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;
 
 1746     void 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;
 
 1748     void 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;
 
 1749     void 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;
 
 1751     void 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;
 
 1752     void 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;
 
 1753     void 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;
 
 1754     void GGEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, std::complex<double> *A, 
const int& lda, std::complex<double> *
B, 
const int& ldb, std::complex<double>* ALPHA, std::complex<double>* BETA, std::complex<double>* VL, 
const int& ldvl, std::complex<double>*VR, 
const int& ldvr, std::complex<double> *WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1755     void GGES(
const char& JOBVL, 
const char& JOBVR, 
const char& SORT, 
int (*ptr2func)(std::complex<double>*, std::complex<double>*), 
const int& n, std::complex<double>* A, 
const int& lda, std::complex<double>* 
B, 
const int& ldb, 
int* sdim, std::complex<double>* ALPHA, std::complex<double>* BETA, std::complex<double>* VL, 
const int& ldvl, std::complex<double>* VR, 
const int& ldvr, std::complex<double>* WORK, 
const int& lwork, 
double* rwork, 
int* bwork, 
int* info ) 
const;
 
 1756     void TGSEN(
const int& ijob, 
const int& wantq, 
const int& wantz, 
const int* SELECT, 
const int& n, std::complex<double>* A, 
const int& lda, std::complex<double>* 
B, 
const int& ldb, std::complex<double>* ALPHA, std::complex<double>* BETA, std::complex<double>* Q, 
const int& ldq, std::complex<double>* Z, 
const int& ldz, 
int* M, 
double* PL, 
double* PR, 
double* DIF, std::complex<double>* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info ) 
const;
 
 1759     void 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;
 
 1762     void 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;
 
 1763     void 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;
 
 1765     void 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;
 
 1768     void LARTG( 
const std::complex<double> 
f, 
const std::complex<double> 
g, 
double* c, std::complex<double>* s, std::complex<double>* r ) 
const;
 
 1769     void LARFG( 
const int& n, std::complex<double>* alpha, std::complex<double>* x, 
const int& incx, std::complex<double>* tau ) 
const;
 
 1773     void GEBAL(
const char& JOBZ, 
const int& n, std::complex<double>* A, 
const int& lda, 
int* ilo, 
int* ihi, 
double* scale, 
int* info) 
const;
 
 1775     void 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     std::complex<double> LARND( 
const int& idist, 
int* seed ) 
const;
 
 1779     void LARNV( 
const int& idist, 
int* seed, 
const int& n, std::complex<double>* v ) 
const;
 
 1782     int ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1 = -1, 
const int& N2 = -1, 
const int& N3 = -1, 
const int& N4 = -1 ) 
const;
 
 1789 #ifdef HAVE_TEUCHOSCORE_KOKKOS 
 1794     inline LAPACK(
void) {}
 
 1795     inline LAPACK(
const LAPACK<
int, Kokkos::complex<double> >& lapack) {}
 
 1796     inline virtual ~LAPACK(
void) {}
 
 1799     void PTTRF(
const int& n, 
double* d, Kokkos::complex<double>* e, 
int* info) 
const;
 
 1800     void PTTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const double* d, 
const Kokkos::complex<double>* e, Kokkos::complex<double>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1801     void POTRF(
const char& UPLO, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* info) 
const;
 
 1802     void POTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1803     void POTRI(
const char& UPLO, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* info) 
const;
 
 1804     void POCON(
const char& UPLO, 
const int& n, 
const Kokkos::complex<double>* A, 
const int& lda, 
const double& anorm, 
double* rcond, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1805     void POSV(
const char& UPLO, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1806     void POEQU(
const int& n, 
const Kokkos::complex<double>* A, 
const int& lda, 
double* S, 
double* scond, 
double* amax, 
int* info) 
const;
 
 1807     void PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* AF, 
const int& ldaf, 
const Kokkos::complex<double>* 
B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1809     void POSVX(
const char& FACT, 
const char& UPLO, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* AF, 
const int& ldaf, 
char* EQUED, 
double* S, Kokkos::complex<double>* 
B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* rcond, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1812     void GELS(
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1813     void GELSS(
const int& m, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, 
double* S, 
const double& rcond, 
int* rank, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1814     void GEQRF(
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1815     void GEQR2(
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
int* 
const info) 
const;
 
 1816     void UNGQR(
const int& m, 
const int& n, 
const int& k, Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1817     void UNMQR(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* TAU, Kokkos::complex<double>* C, 
const int& ldc, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1818     void UNM2R(
const char& SIDE, 
const char& 
TRANS, 
const int& M, 
const int& N, 
const int& K, 
const Kokkos::complex<double>* A, 
const int& LDA, 
const Kokkos::complex<double>* TAU, Kokkos::complex<double>* C, 
const int& LDC, Kokkos::complex<double>* WORK, 
int* 
const INFO) 
const;
 
 1820     void GETRF(
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1821     void GETRS(
const char& 
TRANS, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const int* IPIV, Kokkos::complex<double>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1822     void LASCL(
const char& TYPE, 
const int& kl, 
const int& ku, 
const double& cfrom, 
const double& cto, 
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* info) 
const;
 
 1824     void GEQP3 (
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* jpvt, Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1825     void LASWP (
const int& N, Kokkos::complex<double>* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX) 
const;
 
 1827     void GBTRF(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, Kokkos::complex<double>* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1828     void GBTRS(
const char& 
TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const int* IPIV, Kokkos::complex<double>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1829     void GTTRF(
const int& n, Kokkos::complex<double>* dl, Kokkos::complex<double>* d, Kokkos::complex<double>* du, Kokkos::complex<double>* du2, 
int* IPIV, 
int* info) 
const;
 
 1830     void GTTRS(
const char& 
TRANS, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* dl, 
const Kokkos::complex<double>* d, 
const Kokkos::complex<double>* du, 
const Kokkos::complex<double>* du2, 
const int* IPIV, Kokkos::complex<double>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1831     void GETRI(
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
const int* IPIV, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1832     void LATRS (
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const char& NORMIN, 
const int& N, 
const Kokkos::complex<double>* A, 
const int& LDA, Kokkos::complex<double>* X, 
double* SCALE, 
double* CNORM, 
int* INFO) 
const;
 
 1833     void GECON(
const char& NORM, 
const int& n, 
const Kokkos::complex<double>* A, 
const int& lda, 
const double& anorm, 
double* rcond, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1834     void GBCON(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const Kokkos::complex<double>* A, 
const int& lda, 
const int* IPIV, 
const double& anorm, 
double* rcond, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1835     double LANGB(
const char& NORM, 
const int& n, 
const int& kl, 
const int& ku, 
const Kokkos::complex<double>* A, 
const int& lda, 
double* WORK) 
const;
 
 1836     void GESV(
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, 
int* IPIV, Kokkos::complex<double>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1837     void GEEQU(
const int& m, 
const int& n, 
const Kokkos::complex<double>* A, 
const int& lda, 
double* R, 
double* C, 
double* rowcond, 
double* colcond, 
double* amax, 
int* info) 
const;
 
 1838     void GERFS(
const char& 
TRANS, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* AF, 
const int& ldaf, 
const int* IPIV, 
const Kokkos::complex<double>* 
B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1839     void GBEQU(
const int& m, 
const int& n, 
const int& kl, 
const int& ku, 
const Kokkos::complex<double>* A, 
const int& lda, 
double* R, 
double* C, 
double* rowcond, 
double* colcond, 
double* amax, 
int* info) 
const;
 
 1840     void GBRFS(
const char& 
TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, 
const Kokkos::complex<double>* AF, 
const int& ldaf, 
const int* IPIV, 
const Kokkos::complex<double>* 
B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1842     void GESVX(
const char& FACT, 
const char& 
TRANS, 
const int& n, 
const int& nrhs, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* AF, 
const int& ldaf, 
int* IPIV, 
char* EQUED, 
double* R, 
double* C, Kokkos::complex<double>* 
B, 
const int& ldb, Kokkos::complex<double>* X, 
const int& ldx, 
double* rcond, 
double* FERR, 
double* BERR, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1844     void GEHRD(
const int& n, 
const int& ilo, 
const int& ihi, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* TAU, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1845     void TRTRS(
const char& UPLO, 
const char& 
TRANS, 
const char& DIAG, 
const int& n, 
const int& nrhs, 
const Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, 
int* info) 
const;
 
 1846     void TRTRI(
const char& UPLO, 
const char& DIAG, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* info) 
const;
 
 1849     void STEQR(
const char& COMPZ, 
const int& n, 
double* 
D, 
double* 
E, Kokkos::complex<double>* Z, 
const int& ldz, 
double* WORK, 
int* info) 
const;
 
 1850     void PTEQR(
const char& COMPZ, 
const int& n, 
double* 
D, 
double* 
E, Kokkos::complex<double>* Z, 
const int& ldz, 
double* WORK, 
int* info) 
const;
 
 1851     void HEEV(
const char& JOBZ, 
const char& UPLO, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
double* W, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1852     void HEGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, 
double* W, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1855     void HSEQR(
const char& JOB, 
const char& COMPZ, 
const int& n, 
const int& ilo, 
const int& ihi, Kokkos::complex<double>* H, 
const int& ldh, Kokkos::complex<double>* W, Kokkos::complex<double>* Z, 
const int& ldz, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* info) 
const;
 
 1856     void GEES(
const char& JOBVS, 
const char& SORT, 
int (*ptr2func)(std::complex<double>*), 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* sdim, Kokkos::complex<double>* W, Kokkos::complex<double>* VS, 
const int& ldvs, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* BWORK, 
int* info) 
const;
 
 1857     void GEES(
const char& JOBVS, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* sdim, 
double* WR, 
double* WI, Kokkos::complex<double>* VS, 
const int& ldvs, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* BWORK, 
int* info) 
const;
 
 1859     void GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* W, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1860     void GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
double* WR, 
double* WI, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1862     void GEEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* W, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* SCALE, 
double* abnrm, 
double* RCONDE, 
double* RCONDV, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1863     void GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, Kokkos::complex<double>* ALPHA, Kokkos::complex<double>* BETA, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* lscale, 
double* rscale, 
double* abnrm, 
double* bbnrm, 
double* RCONDE, 
double* RCONDV, Kokkos::complex<double>* work, 
const int& lwork, 
double* RWORK, 
int* IWORK, 
int* BWORK, 
int* info) 
const;
 
 1864     void GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, 
double* ALPHAR, 
double* ALPHAI, Kokkos::complex<double>* BETA, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
double* lscale, 
double* rscale, 
double* abnrm, 
double* bbnrm, 
double* RCONDE, 
double* RCONDV, Kokkos::complex<double>* work, 
const int& lwork, 
double* RWORK, 
int* IWORK, 
int* BWORK, 
int* info) 
const;
 
 1865     void GGEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, Kokkos::complex<double> *A, 
const int& lda, Kokkos::complex<double> *
B, 
const int& ldb, Kokkos::complex<double>* ALPHA, Kokkos::complex<double>* BETA, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>*VR, 
const int& ldvr, Kokkos::complex<double> *WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1866     void GGES(
const char& JOBVL, 
const char& JOBVR, 
const char& SORT, 
int (*ptr2func)(std::complex<double>*, std::complex<double>*), 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, 
int* sdim, Kokkos::complex<double>* ALPHA, Kokkos::complex<double>* BETA, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* rwork, 
int* bwork, 
int* info ) 
const;
 
 1867     void TGSEN(
const int& ijob, 
const int& wantq, 
const int& wantz, 
const int* SELECT, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, Kokkos::complex<double>* 
B, 
const int& ldb, Kokkos::complex<double>* ALPHA, Kokkos::complex<double>* BETA, Kokkos::complex<double>* Q, 
const int& ldq, Kokkos::complex<double>* Z, 
const int& ldz, 
int* M, 
double* PL, 
double* PR, 
double* DIF, Kokkos::complex<double>* WORK, 
const int& lwork, 
int* IWORK, 
const int& liwork, 
int* info ) 
const;
 
 1870     void GESVD(
const char& JOBU, 
const char& JOBVT, 
const int& m, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
double* S, Kokkos::complex<double>* U, 
const int& ldu, Kokkos::complex<double>* V, 
const int& ldv, Kokkos::complex<double>* WORK, 
const int& lwork, 
double* RWORK, 
int* info) 
const;
 
 1873     void TREVC(
const char& SIDE, 
const char& HOWMNY, 
int* select, 
const int& n, 
const Kokkos::complex<double>* T, 
const int& ldt, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
const int& mm, 
int* m, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1874     void TREVC(
const char& SIDE, 
const int& n, 
const Kokkos::complex<double>* T, 
const int& ldt, Kokkos::complex<double>* VL, 
const int& ldvl, Kokkos::complex<double>* VR, 
const int& ldvr, 
const int& mm, 
int* m, Kokkos::complex<double>* WORK, 
double* RWORK, 
int* info) 
const;
 
 1876     void TREXC(
const char& COMPQ, 
const int& n, Kokkos::complex<double>* T, 
const int& ldt, Kokkos::complex<double>* Q, 
const int& ldq, 
int* ifst, 
int* ilst, Kokkos::complex<double>* WORK, 
int* info) 
const;
 
 1879     void LARTG( 
const Kokkos::complex<double> 
f, 
const Kokkos::complex<double> 
g, 
double* c, Kokkos::complex<double>* s, Kokkos::complex<double>* r ) 
const;
 
 1880     void LARFG( 
const int& n, Kokkos::complex<double>* alpha, Kokkos::complex<double>* x, 
const int& incx, Kokkos::complex<double>* tau ) 
const;
 
 1884     void GEBAL(
const char& JOBZ, 
const int& n, Kokkos::complex<double>* A, 
const int& lda, 
int* ilo, 
int* ihi, 
double* scale, 
int* info) 
const;
 
 1886     void GEBAK(
const char& JOBZ, 
const char& SIDE, 
const int& n, 
const int& ilo, 
const int& ihi, 
const double* scale, 
const int& m, Kokkos::complex<double>* V, 
const int& ldv, 
int* info) 
const;
 
 1889     Kokkos::complex<double> LARND( 
const int& idist, 
int* seed ) 
const;
 
 1890     void LARNV( 
const int& idist, 
int* seed, 
const int& n, Kokkos::complex<double>* v ) 
const;
 
 1893     int ILAENV( 
const int& ispec, 
const std::string& NAME, 
const std::string& OPTS, 
const int& N1 = -1, 
const int& N2 = -1, 
const int& N3 = -1, 
const int& N4 = -1 ) 
const;
 
 1899 #endif // HAVE_TEUCHOS_COMPLEX 
 1901 #ifdef HAVE_TEUCHOSCORE_QUADMATH 
 1911     inline LAPACK(
void) {}
 
 1912     inline LAPACK(
const LAPACK<int, __float128>& lapack) {}
 
 1913     inline virtual ~LAPACK(
void) {}
 
 1915     void GEQRF(
const int& m, 
const int& n, __float128* A, 
const int& lda, __float128* TAU, __float128* WORK, 
const int& lwork, 
int* info) 
const;
 
 1916     void GEQR2(
const int& m, 
const int& n, __float128* A, 
const int& lda, __float128* TAU, __float128* WORK, 
int* 
const info) 
const;
 
 1917     void GETRF(
const int& m, 
const int& n, __float128* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1918     void 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;
 
 1919     void GETRI(
const int& n, __float128* A, 
const int& lda, 
const int* IPIV, __float128* WORK, 
const int& lwork, 
int* info) 
const;
 
 1920     void LASWP (
const int& N, __float128* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX) 
const;
 
 1922     void 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;
 
 1923     void 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;
 
 1924     void 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;
 
 1926     void LARFG( 
const int& n, __float128* alpha, __float128* x, 
const int& incx, __float128* tau ) 
const;
 
 1928     __float128 LAPY2 (
const __float128 x, 
const __float128 y) 
const;
 
 1929     void LASCL (
const char& TYPE, 
const int& kl, 
const int& ku, 
const __float128 cfrom, 
const __float128 cto, 
const int& m, 
const int& n, __float128* A, 
const int& lda, 
int* info) 
const;
 
 1931     void GBTRF (
const int& m, 
const int& n, 
const int& kl, 
const int& ku, __float128* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1932     void GBTRS (
const char& 
TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const __float128* A, 
const int& lda, 
const int* IPIV, __float128* 
B, 
const int& ldb, 
int* info) 
const;
 
 1937 #endif // HAVE_TEUCHOSCORE_QUADMATH 
 1939 #ifdef HAVE_TEUCHOS_LONG_DOUBLE 
 1949     inline LAPACK(
void) {}
 
 1950     inline LAPACK(
const LAPACK<int, long double>& lapack) {}
 
 1951     inline virtual ~LAPACK(
void) {}
 
 1953     void GESV(
const int& n, 
const int& nrhs, 
long double* A, 
const int& lda, 
int* IPIV, 
long double* 
B, 
const int& ldb, 
int* info) 
const; 
 
 1954     void GTTRS(
const char& 
TRANS, 
const int& n, 
const int& nrhs, 
const long double* dl, 
const long double* d, 
const long double* du, 
const long double* du2, 
const int* IPIV, 
long double* 
B, 
const int& ldb, 
int* info) 
const; 
 
 1955     void GTTRF(
const int& n, 
long double* dl, 
long double* d, 
long double* du, 
long double* du2, 
int* IPIV, 
int* info) 
const;
 
 1956     void SYGV(
const int& itype, 
const char& JOBZ, 
const char& UPLO, 
const int& n, 
long double* A, 
const int& lda, 
long double* 
B, 
const int& ldb, 
long double* W, 
long double* WORK, 
const int& lwork, 
int* info) 
const;
 
 1957     void GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
long double* A, 
const int& lda, 
long double* WR, 
long double* WI, 
long double* VL, 
const int& ldvl, 
long double* VR, 
const int& ldvr, 
long double* WORK, 
const int& lwork, 
int* info) 
const; 
 
 1958     void GEEV(
const char& JOBVL, 
const char& JOBVR, 
const int& n, 
long double* A, 
const int& lda, 
long double* WR, 
long double* WI, 
long double* VL, 
const int& ldvl, 
long double* VR, 
const int& ldvr, 
long double* WORK, 
const int& lwork, 
long double* , 
int* info) 
const; 
 
 1959     void GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
long double* A, 
const int& lda, 
long double* 
B, 
const int& ldb, 
long double* ALPHAR, 
long double* ALPHAI, 
long double* BETA, 
long double* VL, 
const int& ldvl, 
long double* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
long double* lscale, 
long double* rscale, 
long double* abnrm, 
long double* bbnrm, 
long double* RCONDE, 
long double* RCONDV, 
long double* WORK, 
const int& lwork, 
int* IWORK, 
int* BWORK, 
int* info) 
const; 
 
 1960     void GGEVX(
const char& BALANC, 
const char& JOBVL, 
const char& JOBVR, 
const char& SENSE, 
const int& n, 
long double* A, 
const int& lda, 
long double* 
B, 
const int& ldb, 
long double* ALPHAR, 
long double* ALPHAI, 
long double* BETA, 
long double* VL, 
const int& ldvl, 
long double* VR, 
const int& ldvr, 
int* ilo, 
int* ihi, 
long double* lscale, 
long double* rscale, 
long double* abnrm, 
long double* bbnrm, 
long double* RCONDE, 
long double* RCONDV, 
long double* WORK, 
const int& lwork, 
long double* , 
int* IWORK, 
int* BWORK, 
int* info) 
const; 
 
 1961     void PORFS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const long double* A, 
const int& lda, 
const long double* AF, 
const int& ldaf, 
const long double* 
B, 
const int& ldb, 
long double* X, 
const int& ldx, 
long double* FERR, 
long double* BERR, 
long double* WORK, 
int* IWORK, 
int* info) 
const; 
 
 1962     void PTEQR(
const char& COMPZ, 
const int& n, 
long double* 
D, 
long double* 
E, 
long double* Z, 
const int& ldz, 
long double* WORK, 
int* info) 
const;
 
 1963     void POTRF(
const char& UPLO, 
const int& n, 
long double* A, 
const int& lda, 
int* info) 
const; 
 
 1964     void POTRS(
const char& UPLO, 
const int& n, 
const int& nrhs, 
const long double* A, 
const int& lda, 
long double* 
B, 
const int& ldb, 
int* info) 
const; 
 
 1965     void POEQU(
const int& n, 
const long double* A, 
const int& lda, 
long double* S, 
long double* scond, 
long double* amax, 
int* info) 
const; 
 
 1966     void GEQRF(
const int& m, 
const int& n, 
long double* A, 
const int& lda, 
long double* TAU, 
long double* WORK, 
const int& lwork, 
int* info) 
const;
 
 1967     void GEQR2(
const int& m, 
const int& n, 
long double* A, 
const int& lda, 
long double* TAU, 
long double* WORK, 
int* 
const info) 
const;
 
 1968     void GETRF(
const int& m, 
const int& n, 
long double* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1969     void GETRS(
const char& 
TRANS, 
const int& n, 
const int& nrhs, 
const long double* A, 
const int& lda, 
const int* IPIV, 
long double* 
B, 
const int& ldb, 
int* info) 
const;
 
 1970     void GETRI(
const int& n, 
long double* A, 
const int& lda, 
const int* IPIV, 
long double* WORK, 
const int& lwork, 
int* info) 
const;
 
 1971     void LASWP (
const int& N, 
long double* A, 
const int& LDA, 
const int& K1, 
const int& K2, 
const int* IPIV, 
const int& INCX) 
const;
 
 1973     void ORM2R(
const char& SIDE, 
const char& 
TRANS, 
const int& m, 
const int& n, 
const int& k, 
const long double* A, 
const int& lda, 
const long double* TAU, 
long double* C, 
const int& ldc, 
long double* WORK, 
int* 
const info) 
const;
 
 1974     void ORGQR(
const int& m, 
const int& n, 
const int& k, 
long double* A, 
const int& lda, 
const long double* TAU, 
long double* WORK, 
const int& lwork, 
int* info) 
const;
 
 1975     void UNGQR(
const int& m, 
const int& n, 
const int& k, 
long double* A, 
const int& lda, 
const long double* TAU, 
long double* WORK, 
const int& lwork, 
int* info) 
const;
 
 1977     void LARFG( 
const int& n, 
long double* alpha, 
long double* x, 
const int& incx, 
long double* tau ) 
const;
 
 1979     long double LAPY2 (
const long double x, 
const long double y) 
const;
 
 1980     void LASCL (
const char& TYPE, 
const int& kl, 
const int& ku, 
const long double cfrom, 
const long double cto, 
const int& m, 
const int& n, 
long double* A, 
const int& lda, 
int* info) 
const;
 
 1982     void GBTRF (
const int& m, 
const int& n, 
const int& kl, 
const int& ku, 
long double* A, 
const int& lda, 
int* IPIV, 
int* info) 
const;
 
 1983     void GBTRS (
const char& 
TRANS, 
const int& n, 
const int& kl, 
const int& ku, 
const int& nrhs, 
const long double* A, 
const int& lda, 
const int* IPIV, 
long double* 
B, 
const int& ldb, 
int* info) 
const;
 
 1988 #endif // HAVE_TEUCHOS_LONG_DOUBLE 
 1990 #endif // DOXYGEN_SHOULD_SKIP_THIS 
 1994 #endif // _TEUCHOS_LAPACK_HPP_ 
Teuchos::ScalarTraits< ScalarType >::magnitudeType MagnitudeType
void TGEVC(const char &SIDE, const char &HOWMNY, const OrdinalType *SELECT, const OrdinalType &n, const ScalarType *S, const OrdinalType &lds, const ScalarType *P, const OrdinalType &ldp, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, const OrdinalType &mm, OrdinalType *M, ScalarType *WORK, OrdinalType *info) const 
void ORM2R(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, const ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, OrdinalType *const info) const 
BLAS 2 version of ORMQR; known workspace size. 
void 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 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 
T magnitudeType
Mandatory typedef for result of magnitude. 
void SYTRD(const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *D, ScalarType *E, ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Reduces a real symmetric matrix A to tridiagonal form by orthogonal similarity transformations. 
OrdinalType ILAENV(const OrdinalType &ispec, const std::string &NAME, const std::string &OPTS, const OrdinalType &N1=-1, const OrdinalType &N2=-1, const OrdinalType &N3=-1, const OrdinalType &N4=-1) const 
Chooses problem-dependent parameters for the local environment. 
void GBCON(const char &NORM, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const ScalarType *A, const OrdinalType &lda, const OrdinalType *IPIV, const ScalarType &anorm, ScalarType *rcond, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Estimates the reciprocal of the condition number of a general banded real matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by GETRF. 
void 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 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 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 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 ...
static T squareroot(T x)
Returns a number of magnitudeType that is the square root of this scalar type x. 
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 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 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 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 PTTRF(const OrdinalType &n, MagnitudeType *d, ScalarType *e, OrdinalType *info) const 
Computes the L*D*L' factorization of a Hermitian/symmetric positive definite tridiagonal matrix A...
void GBTRF(const OrdinalType &m, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, ScalarType *A, const OrdinalType &lda, OrdinalType *IPIV, OrdinalType *info) const 
Computes an LU factorization of a general banded m by n matrix A using partial pivoting with row inte...
void 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. 
LAPACK(void)
Default Constructor. 
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 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 
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...
static magnitudeType sfmin()
Returns safe minimum (sfmin), such that 1/sfmin does not overflow. 
This structure defines some basic traits for a scalar field type. 
#define TEUCHOSNUMERICS_LIB_DLL_EXPORT
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...
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 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 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...
LAPACK(const LAPACK< OrdinalType, ScalarType > &lapack)
Copy Constructor. 
void GEES(const char &JOBVS, const char &SORT, OrdinalType &(*ptr2func)(ScalarType *, ScalarType *), const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *sdim, ScalarType *WR, ScalarType *WI, ScalarType *VS, const OrdinalType &ldvs, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *BWORK, OrdinalType *info) const 
void GEBAL(const char &JOBZ, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *ilo, OrdinalType *ihi, MagnitudeType *scale, OrdinalType *info) const 
Balances a general matrix A, through similarity transformations to make the rows and columns as close...
void PORFS(const char &UPLO, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, const ScalarType *AF, const OrdinalType &ldaf, const ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Improves the computed solution to a system of linear equations when the coefficient matrix is symmetr...
void LATRS(const char &UPLO, const char &TRANS, const char &DIAG, const char &NORMIN, const OrdinalType &N, const ScalarType *A, const OrdinalType &LDA, ScalarType *X, MagnitudeType *SCALE, MagnitudeType *CNORM, OrdinalType *INFO) const 
Robustly solve a possibly singular triangular linear system. 
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 SYEV(const char &JOBZ, const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *W, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Computes all the eigenvalues and, optionally, eigenvectors of a symmetric n by n matrix A...
void TREXC(const char &COMPQ, const OrdinalType &n, ScalarType *T, const OrdinalType &ldt, ScalarType *Q, const OrdinalType &ldq, OrdinalType *ifst, OrdinalType *ilst, ScalarType *WORK, OrdinalType *info) const 
The Templated LAPACK Wrapper Class. 
#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 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 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...
ScalarType LAPY2(const ScalarType &x, const ScalarType &y) const 
Computes x^2 + y^2 safely, to avoid overflow. 
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 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...
static magnitudeType magnitude(T a)
Returns the magnitudeType of the scalar type a. 
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 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 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...
virtual ~LAPACK(void)
Destructor. 
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 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...
Defines basic traits for the scalar field type. 
static T zero()
Returns representation of zero for this scalar type. 
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 GEQR2(const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *TAU, ScalarType *WORK, OrdinalType *const info) const 
BLAS 2 version of GEQRF, with known workspace size. 
void ORMQR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, const ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
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 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 POCON(const char &UPLO, const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, const ScalarType &anorm, ScalarType *rcond, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Estimates the reciprocal of the condition number (1-norm) of a real symmetric positive definite matri...
void PTTRS(const OrdinalType &n, const OrdinalType &nrhs, const MagnitudeType *d, const ScalarType *e, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const 
Solves a tridiagonal system A*X=B using the *D*L' factorization of A computed by PTTRF. 
void GERFS(const char &TRANS, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, const ScalarType *AF, const OrdinalType &ldaf, const OrdinalType *IPIV, const ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Improves the computed solution to a system of linear equations and provides error bounds and backward...
void GEQP3(const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *jpvt, ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const 
Computes a QR factorization with column pivoting of a matrix A: A*P = Q*R using Level 3 BLAS...
ScalarType LAMCH(const char &CMACH) const 
Determines machine parameters for floating point characteristics. 
void HEGV(const OrdinalType &itype, const char &JOBZ, const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, MagnitudeType *W, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const 
Computes all the eigenvalues and, optionally, eigenvectors of a generalized Hermitian-definite n by n...
void ORGHR(const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Generates a real orthogonal matrix Q which is the product of ihi-ilo elementary reflectors of order n...
void TRTRI(const char &UPLO, const char &DIAG, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *info) const 
Computes the inverse of an upper or lower triangular matrix A. 
#define TEUCHOS_MIN(x, y)
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 ...
static T one()
Returns representation of one for this scalar type. 
void HSEQR(const char &JOB, const char &COMPZ, const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, ScalarType *H, const OrdinalType &ldh, ScalarType *WR, ScalarType *WI, ScalarType *Z, const OrdinalType &ldz, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Computes the eigenvalues of a real upper Hessenberg matrix H and, optionally, the matrices T and Z fr...
void LASWP(const OrdinalType &N, ScalarType *A, const OrdinalType &LDA, const OrdinalType &K1, const OrdinalType &K2, const OrdinalType *IPIV, const OrdinalType &INCX) const 
Apply a series of row interchanges to the matrix A. 
void GBRFS(const char &TRANS, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, const ScalarType *AF, const OrdinalType &ldaf, const OrdinalType *IPIV, const ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const 
Improves the computed solution to a banded system of linear equations and provides error bounds and b...
void POEQU(const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, MagnitudeType *S, MagnitudeType *scond, MagnitudeType *amax, OrdinalType *info) const 
Computes row and column scalings intended to equilibrate a symmetric positive definite matrix A and r...
void UNMQR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, const ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const 
Apply Householder reflectors (complex case). 
void GBEQU(const OrdinalType &m, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const ScalarType *A, const OrdinalType &lda, MagnitudeType *R, MagnitudeType *C, MagnitudeType *rowcond, MagnitudeType *colcond, MagnitudeType *amax, OrdinalType *info) const 
Computes row and column scalings intended to equilibrate an m by n banded matrix A and reduce its con...