47 #ifdef HAVE_TEUCHOSCORE_QUADMATH 49 #endif // HAVE_TEUCHOSCORE_QUADMATH 59 #if defined (INTEL_CXML) 60 #define CHAR_MACRO(char_var) &char_var, one 62 #define CHAR_MACRO(char_var) &char_var 68 #if defined (INTEL_CXML) 69 #define CHARPTR_MACRO(charptr_var) charptr_var, one 71 #define CHARPTR_MACRO(charptr_var) charptr_var 76 #if defined (INTEL_CXML) 86 const int* ispec,
const char* name,
const unsigned int& name_length,
87 const char* opts,
const unsigned int& opts_length,
88 const int* N1,
const int* N2,
const int* N3,
const int* N4 )
90 #if defined (INTEL_CXML) 91 return ILAENV_F77(ispec, name, name_length, opts, opts_length, N1, N2, N3, N4 );
93 return ILAENV_F77(ispec, name, opts, N1, N2, N3, N4, name_length, opts_length );
126 void LAPACK<int, float>::POTRS(
const char& UPLO,
const int&
n,
const int& nrhs,
const float*
A,
const int& lda,
float*
B,
const int& ldb,
int* info)
const 134 void LAPACK<int, float>::POCON(
const char& UPLO,
const int&
n,
const float*
A,
const int& lda,
const float& anorm,
float* rcond,
float* WORK,
int* IWORK,
int* info)
const 138 void LAPACK<int, float>::POSV(
const char& UPLO,
const int&
n,
const int& nrhs,
float*
A,
const int& lda,
float*
B,
const int& ldb,
int* info)
const 146 void LAPACK<int, float>::PORFS(
const char& UPLO,
const int&
n,
const int& nrhs,
float*
A,
const int& lda,
const float* AF,
const int& ldaf,
const float*
B,
const int& ldb,
float* X,
const int& ldx,
float* FERR,
float* BERR,
float* WORK,
int* IWORK,
int* info)
const 147 {
SPORFS_F77(
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
150 void LAPACK<int, float>::POSVX(
const char& FACT,
const char& UPLO,
const int&
n,
const int& nrhs,
float*
A,
const int& lda,
float* AF,
const int& ldaf,
const 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 152 char EQUED_copy = EQUED;
153 SPOSVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
CHAR_MACRO(EQUED_copy), S,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info);
155 void LAPACK<int, float>::POSVX(
const char& FACT,
const char& UPLO,
const int&
n,
const int& nrhs,
float*
A,
const int& lda,
float* AF,
const int& ldaf,
char* EQUED,
float* S,
float*
B,
const int& ldb,
float* X,
const int& ldx,
float* rcond,
float* FERR,
float* BERR,
float* WORK,
int* IWORK,
int* info)
const 156 {
SPOSVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
CHARPTR_MACRO(EQUED), S,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
159 void LAPACK<int,float>::GELS(
const char&
TRANS,
const int& m,
const int&
n,
const int& nrhs,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float* WORK,
const int& lwork,
int* info)
const 160 {
SGELS_F77(
CHAR_MACRO(
TRANS), &m, &
n, &nrhs,
A, &lda,
B, &ldb, WORK, &lwork, info); }
162 void LAPACK<int,float>::GELSS (
const int& m,
const int&
n,
const int& nrhs,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float* S,
const float& rcond,
int* rank,
float* WORK,
const int& lwork,
float* rwork,
int* info)
const 165 SGELSS_F77(&m, &
n, &nrhs,
A, &lda,
B, &ldb, S, &rcond, rank, WORK, &lwork, info);
168 void LAPACK<int,float>::GELSS(
const int& m,
const int&
n,
const int& nrhs,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float* S,
const float& rcond,
int* rank,
float* WORK,
const int& lwork,
int* info)
const 169 {
SGELSS_F77(&m, &
n, &nrhs,
A, &lda,
B, &ldb, S, &rcond, rank, WORK, &lwork, info); }
172 void LAPACK<int,float>::GGLSE(
const int& m,
const int&
n,
const int& p,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float*
C,
float*
D,
float* X,
float* WORK,
const int& lwork,
int* info)
const 173 {
SGGLSE_F77(&m, &
n, &p,
A, &lda,
B, &ldb,
C,
D, X, WORK, &lwork, info); }
176 void LAPACK<int,float>::GEQRF(
const int& m,
const int&
n,
float*
A,
const int& lda,
float* TAU,
float* WORK,
const int& lwork,
int* info)
const 177 {
SGEQRF_F77(&m, &
n,
A, &lda, TAU, WORK, &lwork, info); }
188 void LAPACK<int,float>::GETRS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const float*
A,
const int& lda,
const int* IPIV,
float*
B,
const int& ldb,
int* info)
const 192 void LAPACK<int,float>::LASCL(
const char& TYPE,
const int& kl,
const int& ku,
const float& cfrom,
const float& cto,
const int& m,
const int&
n,
float*
A,
const int& lda,
int* info)
const 209 SGEQP3_F77(&m, &
n,
A, &lda, jpvt, TAU, WORK, &lwork, info);
219 const int& INCX)
const 224 void LAPACK<int,float>::GBTRF(
const int& m,
const int&
n,
const int& kl,
const int& ku,
float*
A,
const int& lda,
int* IPIV,
int* info)
const 228 void LAPACK<int,float>::GBTRS(
const char&
TRANS,
const int&
n,
const int& kl,
const int& ku,
const int& nrhs,
const float*
A,
const int& lda,
const int* IPIV,
float*
B,
const int& ldb,
int* info)
const 229 {
SGBTRS_F77(
CHAR_MACRO(
TRANS), &
n, &kl, &ku, &nrhs,
A, &lda, IPIV,
B, &ldb, info); }
236 void LAPACK<int,float>::GTTRS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const float* dl,
const float* d,
const float* du,
const float* du2,
const int* IPIV,
float*
B,
const int& ldb,
int* info)
const 237 {
SGTTRS_F77(
CHAR_MACRO(
TRANS), &
n, &nrhs, dl, d, du, du2, IPIV,
B, &ldb, info); }
270 void LAPACK<int,float>::GECON(
const char& NORM,
const int&
n,
const float*
A,
const int& lda,
const float& anorm,
float* rcond,
float* WORK,
int* IWORK,
int* info)
const 274 void LAPACK<int,float>::GBCON(
const char& NORM,
const int&
n,
const int& kl,
const int& ku,
const float*
A,
const int& lda,
int* IPIV,
const float& anorm,
float* rcond,
float* WORK,
int* IWORK,
int* info)
const 275 {
SGBCON_F77(
CHAR_MACRO(NORM), &
n, &kl, &ku,
A, &lda, IPIV, &anorm, rcond, WORK, IWORK, info); }
278 float LAPACK<int,float>::LANGB(
const char& NORM,
const int&
n,
const int& kl,
const int& ku,
const float*
A,
const int& lda,
float* WORK)
const 286 void LAPACK<int,float>::GEEQU(
const int& m,
const int&
n,
const float*
A,
const int& lda,
float* R,
float*
C,
float* rowcond,
float* colcond,
float* amax,
int* info)
const 287 {
SGEEQU_F77(&m, &
n,
A, &lda, R,
C, rowcond, colcond, amax, info); }
290 void LAPACK<int,float>::GERFS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const float*
A,
const int& lda,
const float* AF,
const int& ldaf,
const int* IPIV,
const float*
B,
const int& ldb,
float* X,
const int& ldx,
float* FERR,
float* BERR,
float* WORK,
int* IWORK,
int* info)
const 291 {
SGERFS_F77(
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
294 void LAPACK<int,float>::GBEQU(
const int& m,
const int&
n,
const int& kl,
const int& ku,
const float*
A,
const int& lda,
float* R,
float*
C,
float* rowcond,
float* colcond,
float* amax,
int* info)
const 295 {
SGBEQU_F77(&m, &
n, &kl, &ku,
A, &lda, R,
C, rowcond, colcond, amax, info); }
298 void LAPACK<int,float>::GBRFS(
const char&
TRANS,
const int&
n,
const int& kl,
const int& ku,
const int& nrhs,
const float*
A,
const int& lda,
const float* AF,
const int& ldaf,
const int* IPIV,
const float*
B,
const int& ldb,
float* X,
const int& ldx,
float* FERR,
float* BERR,
float* WORK,
int* IWORK,
int* info)
const 299 {
SGBRFS_F77(
CHAR_MACRO(
TRANS), &
n, &kl, &ku, &nrhs,
A, &lda, AF, &ldaf, IPIV,
B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
302 void LAPACK<int,float>::GESVX(
const char& FACT,
const char&
TRANS,
const int&
n,
const int& nrhs,
float*
A,
const int& lda,
float* AF,
const int& ldaf,
int* IPIV,
const 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 304 char EQUED_copy = EQUED;
305 SGESVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
CHAR_MACRO(EQUED_copy), R,
C,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info);
307 void LAPACK<int,float>::GESVX(
const char& FACT,
const char&
TRANS,
const int&
n,
const int& nrhs,
float*
A,
const int& lda,
float* AF,
const int& ldaf,
int* IPIV,
char* EQUED,
float* R,
float*
C,
float*
B,
const int& ldb,
float* X,
const int& ldx,
float* rcond,
float* FERR,
float* BERR,
float* WORK,
int* IWORK,
int* info)
const 308 {
SGESVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
CHARPTR_MACRO(EQUED), R,
C,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
311 void LAPACK<int,float>::SYTRD(
const char& UPLO,
const int&
n,
float*
A,
const int& lda,
float*
D,
float*
E,
float* TAU,
float* WORK,
const int& lwork,
int* info)
const 315 void LAPACK<int,float>::GEHRD(
const int&
n,
const int& ilo,
const int& ihi,
float*
A,
const int& lda,
float* TAU,
float* WORK,
const int& lwork,
int* info)
const 316 {
SGEHRD_F77(&
n, &ilo, &ihi,
A, &lda, TAU, WORK, &lwork, info); }
319 void LAPACK<int,float>::TRTRS(
const char& UPLO,
const char&
TRANS,
const char& DIAG,
const int&
n,
const int& nrhs,
const float*
A,
const int& lda,
float*
B,
const int& ldb,
int* info)
const 327 void LAPACK<int,float>::SPEV(
const char& JOBZ,
const char& UPLO,
const int&
n,
float* AP,
float* W,
float* Z,
const int& ldz,
float* WORK,
int* info)
const 331 void LAPACK<int,float>::SYEV(
const char& JOBZ,
const char& UPLO,
const int&
n,
float*
A,
const int& lda,
float* W,
float* WORK,
const int& lwork,
int* info)
const 335 void LAPACK<int,float>::SYGV(
const int& itype,
const char& JOBZ,
const char& UPLO,
const int&
n,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float* W,
float* WORK,
const int& lwork,
int* info)
const 336 {
SSYGV_F77(&itype,
CHAR_MACRO(JOBZ),
CHAR_MACRO(UPLO), &
n,
A, &lda,
B, &ldb, W, WORK, &lwork, info); }
339 void LAPACK<int,float>::HEEV(
const char& JOBZ,
const char& UPLO,
const int&
n,
float*
A,
const int& lda,
float* W,
float* WORK,
const int& lwork,
float* RWORK,
int* info)
const 343 void LAPACK<int,float>::HEGV(
const int& itype,
const char& JOBZ,
const char& UPLO,
const int&
n,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float* W,
float* WORK,
const int& lwork,
float* RWORK,
int* info)
const 344 {
SSYGV_F77(&itype,
CHAR_MACRO(JOBZ),
CHAR_MACRO(UPLO), &
n,
A, &lda,
B, &ldb, W, WORK, &lwork, info); }
351 void LAPACK<int, float>::HSEQR(
const char& JOB,
const char& COMPZ,
const int&
n,
const int& ilo,
const int& ihi,
float* H,
const int& ldh,
float* WR,
float* WI,
float* Z,
const int& ldz,
float* WORK,
const int& lwork,
int* info)
const 352 {
SHSEQR_F77(
CHAR_MACRO(JOB),
CHAR_MACRO(COMPZ), &
n, &ilo, &ihi, H, &ldh, WR, WI, Z, &ldz, WORK, &lwork, info); }
355 void LAPACK<int, float>::GEES(
const char& JOBVS,
const char& SORT,
int (*ptr2func)(
float*,
float*),
const int&
n,
float*
A,
const int& lda,
int* sdim,
float* WR,
float* WI,
float* VS,
const int& ldvs,
float* WORK,
const int& lwork,
int* BWORK,
int* info)
const 356 {
SGEES_F77(
CHAR_MACRO(JOBVS),
CHAR_MACRO(SORT), ptr2func, &
n,
A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info); }
359 void LAPACK<int, float>::GEES(
const char& JOBVS,
const int&
n,
float*
A,
const int& lda,
int* sdim,
float* WR,
float* WI,
float* VS,
const int& ldvs,
float* WORK,
const int& lwork,
float* RWORK,
int* BWORK,
int* info)
const 361 int (*nullfptr)(
float*,
float*) = NULL;
362 const char sort =
'N';
363 SGEES_F77(
CHAR_MACRO(JOBVS),
CHAR_MACRO(sort), nullfptr, &
n,
A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info);
367 void LAPACK<int, float>::GEEV(
const char& JOBVL,
const char& JOBVR,
const int&
n,
float*
A,
const int& lda,
float* WR,
float* WI,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
float* WORK,
const int& lwork,
int* info)
const 368 {
SGEEV_F77(
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR), &
n,
A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, WORK, &lwork, info); }
370 void LAPACK<int, float>::GEEV(
const char& JOBVL,
const char& JOBVR,
const int&
n,
float*
A,
const int& lda,
float* WR,
float* WI,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
float* WORK,
const int& lwork,
float* ,
int* info)
const 372 GEEV (JOBVL, JOBVR,
n,
A, lda, WR, WI, VL, ldvl, VR, ldvr, WORK, lwork, info);
376 void LAPACK<int, float>::GESVD(
const char& JOBU,
const char& JOBVT,
const int& m,
const int&
n,
float*
A,
const int& lda,
float* S,
float* U,
const int& ldu,
float* V,
const int& ldv,
float* WORK,
const int& lwork,
float* RWORK,
int* info)
const 377 {
SGESVD_F77(
CHAR_MACRO(JOBU),
CHAR_MACRO(JOBVT), &m, &
n,
A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, info); }
380 void LAPACK<int,float>::GEEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n,
float*
A,
const int& lda,
float* WR,
float* WI,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
int* ilo,
int* ihi,
float* SCALE,
float* abnrm,
float* RCONDE,
float* RCONDV,
float* WORK,
const int& lwork,
int* IWORK,
int* info)
const 381 {
SGEEVX_F77(
CHAR_MACRO(BALANC),
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SENSE), &
n,
A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, ilo, ihi, SCALE, abnrm, RCONDE, RCONDV, WORK, &lwork, IWORK, info); }
384 void LAPACK<int,float>::GGEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float* ALPHAR,
float* ALPHAI,
float* BETA,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
int* ilo,
int* ihi,
float* lscale,
float* rscale,
float* abnrm,
float* bbnrm,
float* RCONDE,
float* RCONDV,
float* WORK,
const int& lwork,
int* IWORK,
int* BWORK,
int* info)
const 385 {
SGGEVX_F77(
CHAR_MACRO(BALANC),
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SENSE), &
n,
A, &lda,
B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, &lwork, IWORK, BWORK, info); }
387 void LAPACK<int,float>::GGEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float* ALPHAR,
float* ALPHAI,
float* BETA,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
int* ilo,
int* ihi,
float* lscale,
float* rscale,
float* abnrm,
float* bbnrm,
float* RCONDE,
float* RCONDV,
float* WORK,
const int& lwork,
float* ,
int* IWORK,
int* BWORK,
int* info)
const 389 GGEVX(BALANC, JOBVL, JOBVR, SENSE,
n,
A, lda,
B, ldb, ALPHAR, ALPHAI, BETA, VL, ldvl, VR, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, lwork, IWORK, BWORK, info);
392 void LAPACK<int, float>::GGEV(
const char& JOBVL,
const char& JOBVR,
const int&
n,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float* ALPHAR,
float* ALPHAI,
float* BETA,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
float* WORK,
const int& lwork,
int* info)
const 393 {
SGGEV_F77(
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR), &
n,
A, &lda,
B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, info); }
396 void LAPACK<int, float>::TRSEN(
const char& JOB,
const char& COMPQ,
const int* SELECT,
const int&
n,
float* T,
const int& ldt,
float* Q,
const int& ldq,
float* WR,
float* WI,
int* M,
float* S,
float* SEP,
float* WORK,
const int& lwork,
int* IWORK,
const int& liwork,
int* info )
const 397 {
STRSEN_F77(
CHAR_MACRO(JOB),
CHAR_MACRO(COMPQ), SELECT, &
n, T, &ldt, Q, &ldq, WR, WI, M, S, SEP, WORK, &lwork, IWORK, &liwork, info); }
400 void LAPACK<int, float>::TGSEN(
const int& ijob,
const int& wantq,
const int& wantz,
const int* SELECT,
const int&
n,
float*
A,
const int& lda,
float*
B,
const int& ldb,
float* ALPHAR,
float* ALPHAI,
float* BETA,
float* Q,
const int& ldq,
float* Z,
const int& ldz,
int* M,
float* PL,
float* PR,
float* DIF,
float* WORK,
const int& lwork,
int* IWORK,
const int& liwork,
int* info )
const 401 {
STGSEN_F77(&ijob, &wantq, &wantz, SELECT, &
n,
A, &lda,
B, &ldb, ALPHAR, ALPHAI, BETA, Q, &ldq, Z, &ldz, M, PL, PR, DIF, WORK, &lwork, IWORK, &liwork, info); }
404 void LAPACK<int, float>::GGES(
const char& JOBVL,
const char& JOBVR,
const char& SORT,
int (*ptr2func)(
float* ,
float* ,
float* ),
const int&
n,
float*
A,
const int& lda,
float*
B,
const int& ldb,
int* sdim,
float* ALPHAR,
float* ALPHAI,
float* BETA,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
float* WORK,
const int& lwork,
int* BWORK,
int* info )
const 405 {
SGGES_F77(
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SORT), ptr2func, &
n,
A, &lda,
B, &ldb, sdim, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, BWORK, info); }
408 void LAPACK<int, float>::ORMQR(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& k,
float*
A,
const int& lda,
const float* TAU,
float*
C,
const int& ldc,
float* WORK,
const int& lwork,
int* info)
const 409 {
SORMQR_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &m, &
n, &k,
A, &lda, TAU,
C, &ldc, WORK, &lwork, info); }
412 void LAPACK<int, float>::ORM2R(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& k,
const float A[],
const int& lda,
const float TAU[],
float C[],
const int& ldc,
float WORK[],
int*
const info)
const 413 {
SORM2R_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &m, &
n, &k,
A, &lda, TAU,
C, &ldc, WORK, info); }
416 void LAPACK<int, float>::UNMQR(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& k,
float*
A,
const int& lda,
const float* TAU,
float*
C,
const int& ldc,
float* WORK,
const int& lwork,
int* info)
const 421 ORMQR (SIDE,
TRANS, m,
n, k,
A, lda, TAU,
C, ldc, WORK, lwork, info);
424 void LAPACK<int, float>::UNM2R (
const char& SIDE,
const char&
TRANS,
const int& M,
const int& N,
const int& K,
const float A[],
const int& LDA,
const float TAU[],
float C[],
const int& LDC,
float WORK[],
int*
const INFO)
const 429 ORM2R (SIDE,
TRANS, M, N, K,
A, LDA, TAU,
C, LDC, WORK, INFO);
433 void LAPACK<int, float>::ORGQR(
const int& m,
const int&
n,
const int& k,
float*
A,
const int& lda,
const float* TAU,
float* WORK,
const int& lwork,
int* info)
const 434 {
SORGQR_F77( &m, &
n, &k,
A, &lda, TAU, WORK, &lwork, info); }
437 void LAPACK<int, float>::UNGQR(
const int& m,
const int&
n,
const int& k,
float*
A,
const int& lda,
const float* TAU,
float* WORK,
const int& lwork,
int* info)
const 438 {
SORGQR_F77( &m, &
n, &k,
A, &lda, TAU, WORK, &lwork, info); }
441 void LAPACK<int, float>::ORGHR(
const int&
n,
const int& ilo,
const int& ihi,
float*
A,
const int& lda,
const float* TAU,
float* WORK,
const int& lwork,
int* info)
const 442 {
SORGHR_F77(&
n, &ilo, &ihi,
A, &lda, TAU, WORK, &lwork, info); }
445 void LAPACK<int, float>::ORMHR(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& ilo,
const int& ihi,
const float*
A,
const int& lda,
const float* TAU,
float*
C,
const int& ldc,
float* WORK,
const int& lwork,
int* info)
const 446 {
SORMHR_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &m, &
n, &ilo, &ihi,
A, &lda, TAU,
C, &ldc, WORK, &lwork, info); }
449 void LAPACK<int, float>::TREVC(
const char& SIDE,
const char& HOWMNY,
int* select,
const int&
n,
const float* T,
const int& ldt,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
const int& mm,
int* m,
float* WORK,
int* info)
const 450 {
STREVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(HOWMNY), select, &
n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info); }
453 void LAPACK<int, float>::TREVC(
const char& SIDE,
const int&
n,
const float* T,
const int& ldt,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
const int& mm,
int* m,
float* WORK,
float* RWORK,
int* info)
const 455 std::vector<int> select(1);
456 const char whch =
'A';
457 STREVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(whch), &select[0], &
n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info);
461 void LAPACK<int, float>::TREXC(
const char& COMPQ,
const int&
n,
float* T,
const int& ldt,
float* Q,
const int& ldq,
const int& ifst,
const int& ilst,
float* WORK,
int* info)
const 463 int ifst_copy = ifst;
464 int ilst_copy = ilst;
467 void LAPACK<int, float>::TREXC(
const char& COMPQ,
const int&
n,
float* T,
const int& ldt,
float* Q,
const int& ldq,
int* ifst,
int* ilst,
float* WORK,
int* info)
const 471 void LAPACK<int, float>::TGEVC(
const char& SIDE,
const char& HOWMNY,
const int* SELECT,
const int&
n,
float* S,
const int& lds,
float* P,
const int& ldp,
float* VL,
const int& ldvl,
float* VR,
const int& ldvr,
const int& mm,
int* M,
float* WORK,
int* info)
const 472 {
STGEVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(HOWMNY), SELECT, &
n, S, &lds, P, &ldp, VL, &ldvl, VR, &ldvr, &mm, M, WORK, info); }
483 void LAPACK<int, float>::GEBAL(
const char& JOBZ,
const int&
n,
float*
A,
const int& lda,
const int& ilo,
const int& ihi,
float* scale,
int* info)
const 489 void LAPACK<int, float>::GEBAL(
const char& JOBZ,
const int&
n,
float*
A,
const int& lda,
int* ilo,
int* ihi,
float* scale,
int* info)
const 493 void LAPACK<int, float>::GEBAK(
const char& JOBZ,
const char& SIDE,
const int&
n,
const int& ilo,
const int& ihi,
const float* scale,
const int& m,
float* V,
const int& ldv,
int* info)
const 496 #ifdef HAVE_TEUCHOS_LAPACKLARND 509 int LAPACK<int, float>::ILAENV(
const int& ispec,
const std::string& NAME,
const std::string& OPTS,
const int& N1,
const int& N2,
const int& N3,
const int& N4 )
const 511 unsigned int opts_length = OPTS.length();
513 std::string temp_NAME =
"s" + NAME;
514 if (temp_NAME.substr(1,2) ==
"he") {
515 temp_NAME.replace(1,2,
"sy");
517 unsigned int name_length = temp_NAME.length();
518 return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
524 #if defined(HAVE_TEUCHOS_BLASFLOAT) 525 return SLAPY2_F77(&x, &y);
528 const float xabs = ST::magnitude(x);
529 const float yabs = ST::magnitude(y);
535 const float z_over_w = z/w;
536 return w*ST::squareroot( 1.0+(z_over_w*z_over_w));
550 void LAPACK<int, double>::PTTRS(
const int&
n,
const int& nrhs,
const double* d,
const double* e,
double*
B,
const int& ldb,
int* info)
const 558 void LAPACK<int, double>::POTRS(
const char& UPLO,
const int&
n,
const int& nrhs,
const double*
A,
const int& lda,
double*
B,
const int& ldb,
int* info)
const 566 void LAPACK<int, double>::POCON(
const char& UPLO,
const int&
n,
const double*
A,
const int& lda,
const double& anorm,
double* rcond,
double* WORK,
int* IWORK,
int* info)
const 570 void LAPACK<int, double>::POSV(
const char& UPLO,
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
double*
B,
const int& ldb,
int* info)
const 578 void LAPACK<int, double>::PORFS(
const char& UPLO,
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
const double* AF,
const int& ldaf,
const double*
B,
const int& ldb,
double* X,
const int& ldx,
double* FERR,
double* BERR,
double* WORK,
int* IWORK,
int* info)
const 579 {
DPORFS_F77(
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
582 void LAPACK<int, double>::POSVX(
const char& FACT,
const char& UPLO,
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
double* AF,
const int& ldaf,
const 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 584 char EQUED_copy = EQUED;
585 DPOSVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
CHAR_MACRO(EQUED_copy), S,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
586 void LAPACK<int, double>::POSVX(
const char& FACT,
const char& UPLO,
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
double* AF,
const int& ldaf,
char* EQUED,
double* S,
double*
B,
const int& ldb,
double* X,
const int& ldx,
double* rcond,
double* FERR,
double* BERR,
double* WORK,
int* IWORK,
int* info)
const 587 {
DPOSVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
CHARPTR_MACRO(EQUED), S,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
590 void LAPACK<int,double>::GELS(
const char&
TRANS,
const int& m,
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double* WORK,
const int& lwork,
int* info)
const 591 {
DGELS_F77(
CHAR_MACRO(
TRANS), &m, &
n, &nrhs,
A, &lda,
B, &ldb, WORK, &lwork, info); }
594 void LAPACK<int,double>::GELSS(
const int& m,
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double* S,
const double& rcond,
int* rank,
double* WORK,
const int& lwork,
double* rwork,
int* info)
const 597 DGELSS_F77(&m, &
n, &nrhs,
A, &lda,
B, &ldb, S, &rcond, rank, WORK, &lwork, info);
601 void LAPACK<int,double>::GELSS(
const int& m,
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double* S,
const double& rcond,
int* rank,
double* WORK,
const int& lwork,
int* info)
const 602 {
DGELSS_F77(&m, &
n, &nrhs,
A, &lda,
B, &ldb, S, &rcond, rank, WORK, &lwork, info); }
605 void LAPACK<int,double>::GGLSE(
const int& m,
const int&
n,
const int& p,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double*
C,
double*
D,
double* X,
double* WORK,
const int& lwork,
int* info)
const 606 {
DGGLSE_F77(&m, &
n, &p,
A, &lda,
B, &ldb,
C,
D, X, WORK, &lwork, info); }
609 void LAPACK<int,double>::GEQRF(
const int& m,
const int&
n,
double*
A,
const int& lda,
double* TAU,
double* WORK,
const int& lwork,
int* info)
const 610 {
DGEQRF_F77(&m, &
n,
A, &lda, TAU, WORK, &lwork, info); }
612 void LAPACK<int,double>::GEQR2 (
const int& m,
const int&
n,
double A[],
const int& lda,
double TAU[],
double WORK[],
int*
const info)
const 621 void LAPACK<int,double>::GETRS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const double*
A,
const int& lda,
const int* IPIV,
double*
B,
const int& ldb,
int* info)
const 625 void LAPACK<int,double>::LASCL(
const char& TYPE,
const int& kl,
const int& ku,
const double& cfrom,
const double& cto,
const int& m,
const int&
n,
double*
A,
const int& lda,
int* info)
const 628 void LAPACK<int,double>::GEQP3(
const int& m,
const int&
n,
double*
A,
const int& lda,
int* jpvt,
double* TAU,
double* WORK,
const int& lwork,
double* RWORK,
int* info )
const 631 DGEQP3_F77(&m, &
n,
A, &lda, jpvt, TAU, WORK, &lwork, info);
641 const int& INCX)
const 646 void LAPACK<int,double>::GBTRF(
const int& m,
const int&
n,
const int& kl,
const int& ku,
double*
A,
const int& lda,
int* IPIV,
int* info)
const 650 void LAPACK<int,double>::GBTRS(
const char&
TRANS,
const int&
n,
const int& kl,
const int& ku,
const int& nrhs,
const double*
A,
const int& lda,
const int* IPIV,
double*
B,
const int& ldb,
int* info)
const 651 {
DGBTRS_F77(
CHAR_MACRO(
TRANS), &
n, &kl, &ku, &nrhs,
A, &lda, IPIV,
B, &ldb, info); }
658 void LAPACK<int,double>::GTTRS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const double* dl,
const double* d,
const double* du,
const double* du2,
const int* IPIV,
double*
B,
const int& ldb,
int* info)
const 659 {
DGTTRS_F77(
CHAR_MACRO(
TRANS), &
n, &nrhs, dl, d, du, du2, IPIV,
B, &ldb, info); }
662 void LAPACK<int,double>::GETRI(
const int&
n,
double*
A,
const int& lda,
const int* IPIV,
double* WORK,
const int& lwork,
int* info)
const 691 void LAPACK<int,double>::GECON(
const char& NORM,
const int&
n,
const double*
A,
const int& lda,
const double& anorm,
double* rcond,
double* WORK,
int* IWORK,
int* info)
const 695 void LAPACK<int,double>::GBCON(
const char& NORM,
const int&
n,
const int& kl,
const int& ku,
const double*
A,
const int& lda,
int* IPIV,
const double& anorm,
double* rcond,
double* WORK,
int* IWORK,
int* info)
const 696 {
DGBCON_F77(
CHAR_MACRO(NORM), &
n, &kl, &ku,
A, &lda, IPIV, &anorm, rcond, WORK, IWORK, info); }
699 double LAPACK<int,double>::LANGB(
const char& NORM,
const int&
n,
const int& kl,
const int& ku,
const double*
A,
const int& lda,
double* WORK)
const 703 void LAPACK<int,double>::GESV(
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
int* IPIV,
double*
B,
const int& ldb,
int* info)
const 707 void LAPACK<int,double>::GEEQU(
const int& m,
const int&
n,
const double*
A,
const int& lda,
double* R,
double*
C,
double* rowcond,
double* colcond,
double* amax,
int* info)
const 708 {
DGEEQU_F77(&m, &
n,
A, &lda, R,
C, rowcond, colcond, amax, info); }
711 void LAPACK<int,double>::GERFS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const double*
A,
const int& lda,
const double* AF,
const int& ldaf,
const int* IPIV,
const double*
B,
const int& ldb,
double* X,
const int& ldx,
double* FERR,
double* BERR,
double* WORK,
int* IWORK,
int* info)
const 712 {
DGERFS_F77(
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
715 void LAPACK<int,double>::GBEQU(
const int& m,
const int&
n,
const int& kl,
const int& ku,
const double*
A,
const int& lda,
double* R,
double*
C,
double* rowcond,
double* colcond,
double* amax,
int* info)
const 716 {
DGBEQU_F77(&m, &
n, &kl, &ku,
A, &lda, R,
C, rowcond, colcond, amax, info); }
719 void LAPACK<int,double>::GBRFS(
const char&
TRANS,
const int&
n,
const int& kl,
const int& ku,
const int& nrhs,
const double*
A,
const int& lda,
const double* AF,
const int& ldaf,
const int* IPIV,
const double*
B,
const int& ldb,
double* X,
const int& ldx,
double* FERR,
double* BERR,
double* WORK,
int* IWORK,
int* info)
const 720 {
DGBRFS_F77(
CHAR_MACRO(
TRANS), &
n, &kl, &ku, &nrhs,
A, &lda, AF, &ldaf, IPIV,
B, &ldb, X, &ldx, FERR, BERR, WORK, IWORK, info); }
723 void LAPACK<int,double>::GESVX(
const char& FACT,
const char&
TRANS,
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
double* AF,
const int& ldaf,
int* IPIV,
const 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 725 char EQUED_copy = EQUED;
726 DGESVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
CHAR_MACRO(EQUED_copy), R,
C,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
727 void LAPACK<int,double>::GESVX(
const char& FACT,
const char&
TRANS,
const int&
n,
const int& nrhs,
double*
A,
const int& lda,
double* AF,
const int& ldaf,
int* IPIV,
char* EQUED,
double* R,
double*
C,
double*
B,
const int& ldb,
double* X,
const int& ldx,
double* rcond,
double* FERR,
double* BERR,
double* WORK,
int* IWORK,
int* info)
const 728 {
DGESVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
CHARPTR_MACRO(EQUED), R,
C,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, IWORK, info); }
731 void LAPACK<int,double>::SYTRD(
const char& UPLO,
const int&
n,
double*
A,
const int& lda,
double*
D,
double*
E,
double* TAU,
double* WORK,
const int& lwork,
int* info)
const 735 void LAPACK<int, double>::GEHRD(
const int&
n,
const int& ilo,
const int& ihi,
double*
A,
const int& lda,
double* TAU,
double* WORK,
const int& lwork,
int* info)
const 736 {
DGEHRD_F77(&
n, &ilo, &ihi,
A, &lda, TAU, WORK, &lwork, info); }
739 void LAPACK<int,double>::TRTRS(
const char& UPLO,
const char&
TRANS,
const char& DIAG,
const int&
n,
const int& nrhs,
const double*
A,
const int& lda,
double*
B,
const int& ldb,
int* info)
const 747 void LAPACK<int,double>::SPEV(
const char& JOBZ,
const char& UPLO,
const int&
n,
double* AP,
double* W,
double* Z,
const int& ldz,
double* WORK,
int* info)
const 751 void LAPACK<int,double>::SYEV(
const char& JOBZ,
const char& UPLO,
const int&
n,
double*
A,
const int& lda,
double* W,
double* WORK,
const int& lwork,
int* info)
const 757 void LAPACK<int,double>::SYGV(
const int& itype,
const char& JOBZ,
const char& UPLO,
const int&
n,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double* W,
double* WORK,
const int& lwork,
int* info)
const 759 DSYGV_F77(&itype,
CHAR_MACRO(JOBZ),
CHAR_MACRO(UPLO), &
n,
A, &lda,
B, &ldb, W, WORK, &lwork, info);
763 void LAPACK<int,double>::HEEV(
const char& JOBZ,
const char& UPLO,
const int&
n,
double*
A,
const int& lda,
double* W,
double* WORK,
const int& lwork,
double* RWORK,
int* info)
const 769 void LAPACK<int,double>::HEGV(
const int& itype,
const char& JOBZ,
const char& UPLO,
const int&
n,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double* W,
double* WORK,
const int& lwork,
double* RWORK,
int* info)
const 771 DSYGV_F77(&itype,
CHAR_MACRO(JOBZ),
CHAR_MACRO(UPLO), &
n,
A, &lda,
B, &ldb, W, WORK, &lwork, info);
775 void LAPACK<int,double>::STEQR(
const char& COMPZ,
const int&
n,
double*
D,
double*
E,
double* Z,
const int& ldz,
double* WORK,
int* info)
const 781 void LAPACK<int, double>::HSEQR(
const char& JOB,
const char& COMPZ,
const int&
n,
const int& ilo,
const int& ihi,
double* H,
const int& ldh,
double* WR,
double* WI,
double* Z,
const int& ldz,
double* WORK,
const int& lwork,
int* info)
const 783 DHSEQR_F77(
CHAR_MACRO(JOB),
CHAR_MACRO(COMPZ), &
n, &ilo, &ihi, H, &ldh, WR, WI, Z, &ldz, WORK, &lwork, info);
787 void LAPACK<int, double>::GEES(
const char& JOBVS,
const char& SORT,
int (*ptr2func)(
double*,
double*),
const int&
n,
double*
A,
const int& lda,
int* sdim,
double* WR,
double* WI,
double* VS,
const int& ldvs,
double* WORK,
const int& lwork,
int* BWORK,
int* info)
const 789 DGEES_F77(
CHAR_MACRO(JOBVS),
CHAR_MACRO(SORT), ptr2func, &
n,
A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info);
793 void LAPACK<int, double>::GEES(
const char& JOBVS,
const int&
n,
double*
A,
const int& lda,
int* sdim,
double* WR,
double* WI,
double* VS,
const int& ldvs,
double* WORK,
const int& lwork,
double* RWORK,
int* BWORK,
int* info)
const 797 const char sort =
'N';
798 DGEES_F77(
CHAR_MACRO(JOBVS),
CHAR_MACRO(sort), nullfptr, &
n,
A, &lda, sdim, WR, WI, VS, &ldvs, WORK, &lwork, BWORK, info);
802 void LAPACK<int, double>::GEEV(
const char& JOBVL,
const char& JOBVR,
const int&
n,
double*
A,
const int& lda,
double* WR,
double* WI,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
double* WORK,
const int& lwork,
int* info)
const 804 DGEEV_F77(
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR), &
n,
A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, WORK, &lwork, info);
807 void LAPACK<int, double>::GEEV(
const char& JOBVL,
const char& JOBVR,
const int&
n,
double*
A,
const int& lda,
double* WR,
double* WI,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
double* WORK,
const int& lwork,
double* ,
int* info)
const 809 GEEV (JOBVL, JOBVR,
n,
A, lda, WR, WI, VL, ldvl, VR, ldvr, WORK, lwork, info);
813 void LAPACK<int, double>::GESVD(
const char& JOBU,
const char& JOBVT,
const int& m,
const int&
n,
double*
A,
const int& lda,
double* S,
double* U,
const int& ldu,
double* V,
const int& ldv,
double* WORK,
const int& lwork,
double* RWORK,
int* info)
const {
814 DGESVD_F77(
CHAR_MACRO(JOBU),
CHAR_MACRO(JOBVT), &m, &
n,
A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, info);
818 void LAPACK<int,double>::GEEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n,
double*
A,
const int& lda,
double* WR,
double* WI,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
int* ilo,
int* ihi,
double* SCALE,
double* abnrm,
double* RCONDE,
double* RCONDV,
double* WORK,
const int& lwork,
int* IWORK,
int* info)
const 820 DGEEVX_F77(
CHAR_MACRO(BALANC),
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SENSE), &
n,
A, &lda, WR, WI, VL, &ldvl, VR, &ldvr, ilo, ihi, SCALE, abnrm, RCONDE, RCONDV, WORK, &lwork, IWORK, info);
824 void LAPACK<int, double>::GGEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double* ALPHAR,
double* ALPHAI,
double* BETA,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
int* ilo,
int* ihi,
double* lscale,
double* rscale,
double* abnrm,
double* bbnrm,
double* RCONDE,
double* RCONDV,
double* WORK,
const int& lwork,
int* IWORK,
int* BWORK,
int* info)
const 826 DGGEVX_F77(
CHAR_MACRO(BALANC),
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SENSE), &
n,
A, &lda,
B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, &lwork, IWORK, BWORK, info);
829 void LAPACK<int, double>::GGEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double* ALPHAR,
double* ALPHAI,
double* BETA,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
int* ilo,
int* ihi,
double* lscale,
double* rscale,
double* abnrm,
double* bbnrm,
double* RCONDE,
double* RCONDV,
double* WORK,
const int& lwork,
double* ,
int* IWORK,
int* BWORK,
int* info)
const 831 GGEVX(BALANC, JOBVL, JOBVR, SENSE,
n,
A, lda,
B, ldb, ALPHAR, ALPHAI, BETA, VL, ldvl, VR, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, lwork, IWORK, BWORK, info);
834 void LAPACK<int, double>::GGEV(
const char& JOBVL,
const char& JOBVR,
const int&
n,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double* ALPHAR,
double* ALPHAI,
double* BETA,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
double* WORK,
const int& lwork,
int* info)
const 836 DGGEV_F77(
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR), &
n,
A, &lda,
B, &ldb, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, info);
839 void LAPACK<int, double>::TRSEN(
const char& JOB,
const char& COMPQ,
const int* SELECT,
const int&
n,
double* T,
const int& ldt,
double* Q,
const int& ldq,
double* WR,
double* WI,
int* M,
double* S,
double* SEP,
double* WORK,
const int& lwork,
int* IWORK,
const int& liwork,
int* info )
const 840 {
DTRSEN_F77(
CHAR_MACRO(JOB),
CHAR_MACRO(COMPQ), SELECT, &
n, T, &ldt, Q, &ldq, WR, WI, M, S, SEP, WORK, &lwork, IWORK, &liwork, info); }
843 void LAPACK<int, double>::TGSEN(
const int& ijob,
const int& wantq,
const int& wantz,
const int* SELECT,
const int&
n,
double*
A,
const int& lda,
double*
B,
const int& ldb,
double* ALPHAR,
double* ALPHAI,
double* BETA,
double* Q,
const int& ldq,
double* Z,
const int& ldz,
int* M,
double* PL,
double* PR,
double* DIF,
double* WORK,
const int& lwork,
int* IWORK,
const int& liwork,
int* info )
const 844 {
DTGSEN_F77(&ijob, &wantq, &wantz, SELECT, &
n,
A, &lda,
B, &ldb, ALPHAR, ALPHAI, BETA, Q, &ldq, Z, &ldz, M, PL, PR, DIF, WORK, &lwork, IWORK, &liwork, info); }
847 void LAPACK<int, double>::GGES(
const char& JOBVL,
const char& JOBVR,
const char& SORT,
int (*ptr2func)(
double* ,
double* ,
double* ),
const int&
n,
double*
A,
const int& lda,
double*
B,
const int& ldb,
int* sdim,
double* ALPHAR,
double* ALPHAI,
double* BETA,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
double* WORK,
const int& lwork,
int* BWORK,
int* info )
const 848 {
DGGES_F77(
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SORT), ptr2func, &
n,
A, &lda,
B, &ldb, sdim, ALPHAR, ALPHAI, BETA, VL, &ldvl, VR, &ldvr, WORK, &lwork, BWORK, info); }
851 void LAPACK<int, double>::ORMQR(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& k,
double*
A,
const int& lda,
const double* TAU,
double*
C,
const int& ldc,
double* WORK,
const int& lwork,
int* info)
const 853 DORMQR_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &m, &
n, &k,
A, &lda, TAU,
C, &ldc, WORK, &lwork, info);
856 void LAPACK<int, double>::ORM2R(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& k,
const double A[],
const int& lda,
const double TAU[],
double C[],
const int& ldc,
double WORK[],
int*
const info)
const 858 DORM2R_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &m, &
n, &k,
A, &lda, TAU,
C, &ldc, WORK, info);
861 void LAPACK<int, double>::UNMQR(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& k,
double*
A,
const int& lda,
const double* TAU,
double*
C,
const int& ldc,
double* WORK,
const int& lwork,
int* info)
const 866 ORMQR (SIDE,
TRANS, m,
n, k,
A, lda, TAU,
C, ldc, WORK, lwork, info);
869 void LAPACK<int, double>::UNM2R (
const char& SIDE,
const char&
TRANS,
const int& M,
const int& N,
const int& K,
const double A[],
const int& LDA,
const double TAU[],
double C[],
const int& LDC,
double WORK[],
int*
const INFO)
const 874 ORM2R (SIDE,
TRANS, M, N, K,
A, LDA, TAU,
C, LDC, WORK, INFO);
877 void LAPACK<int, double>::ORGQR(
const int& m,
const int&
n,
const int& k,
double*
A,
const int& lda,
const double* TAU,
double* WORK,
const int& lwork,
int* info)
const 879 DORGQR_F77( &m, &
n, &k,
A, &lda, TAU, WORK, &lwork, info);
883 void LAPACK<int, double>::UNGQR(
const int& m,
const int&
n,
const int& k,
double*
A,
const int& lda,
const double* TAU,
double* WORK,
const int& lwork,
int* info)
const 885 DORGQR_F77( &m, &
n, &k,
A, &lda, TAU, WORK, &lwork, info);
889 void LAPACK<int, double>::ORGHR(
const int&
n,
const int& ilo,
const int& ihi,
double*
A,
const int& lda,
const double* TAU,
double* WORK,
const int& lwork,
int* info)
const 891 DORGHR_F77(&
n, &ilo, &ihi,
A, &lda, TAU, WORK, &lwork, info);
895 void LAPACK<int, double>::ORMHR(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& ilo,
const int& ihi,
const double*
A,
const int& lda,
const double* TAU,
double*
C,
const int& ldc,
double* WORK,
const int& lwork,
int* info)
const 897 DORMHR_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &m, &
n, &ilo, &ihi,
A, &lda, TAU,
C, &ldc, WORK, &lwork, info);
901 void LAPACK<int, double>::TREVC(
const char& SIDE,
const char& HOWMNY,
int* select,
const int&
n,
const double* T,
const int& ldt,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
const int& mm,
int* m,
double* WORK,
int* info)
const 903 DTREVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(HOWMNY), select, &
n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info);
907 void LAPACK<int, double>::TREVC(
const char& SIDE,
const int&
n,
const double* T,
const int& ldt,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
const int& mm,
int* m,
double* WORK,
double* RWORK,
int* info)
const 909 std::vector<int> select(1);
910 const char whch =
'A';
911 DTREVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(whch), &select[0], &
n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, info);
915 void LAPACK<int, double>::TREXC(
const char& COMPQ,
const int&
n,
double* T,
const int& ldt,
double* Q,
const int& ldq,
const int& ifst,
const int& ilst,
double* WORK,
int* info)
const 917 int ifst_copy = ifst;
918 int ilst_copy = ilst;
921 void LAPACK<int, double>::TREXC(
const char& COMPQ,
const int&
n,
double* T,
const int& ldt,
double* Q,
const int& ldq,
int* ifst,
int* ilst,
double* WORK,
int* info)
const 927 void LAPACK<int, double>::TGEVC(
const char& SIDE,
const char& HOWMNY,
const int* SELECT,
const int&
n,
double* S,
const int& lds,
double* P,
const int& ldp,
double* VL,
const int& ldvl,
double* VR,
const int& ldvr,
const int& mm,
int* M,
double* WORK,
int* info)
const 928 {
DTGEVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(HOWMNY), SELECT, &
n, S, &lds, P, &ldp, VL, &ldvl, VR, &ldvr, &mm, M, WORK, info); }
943 void LAPACK<int, double>::GEBAL(
const char& JOBZ,
const int&
n,
double*
A,
const int& lda,
const int& ilo,
const int& ihi,
double* scale,
int* info)
const 949 void LAPACK<int, double>::GEBAL(
const char& JOBZ,
const int&
n,
double*
A,
const int& lda,
int* ilo,
int* ihi,
double* scale,
int* info)
const 955 void LAPACK<int, double>::GEBAK(
const char& JOBZ,
const char& SIDE,
const int&
n,
const int& ilo,
const int& ihi,
const double* scale,
const int& m,
double* V,
const int& ldv,
int* info)
const 961 #ifdef HAVE_TEUCHOS_LAPACKLARND 980 int LAPACK<int, double>::ILAENV(
const int& ispec,
const std::string& NAME,
const std::string& OPTS,
const int& N1,
const int& N2,
const int& N3,
const int& N4 )
const 982 unsigned int opts_length = OPTS.length();
984 std::string temp_NAME =
"d" + NAME;
985 if (temp_NAME.substr(1,2) ==
"he") {
986 temp_NAME.replace(1,2,
"sy");
988 unsigned int name_length = temp_NAME.length();
989 return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
1000 #ifdef HAVE_TEUCHOS_COMPLEX 1005 void LAPACK<int, std::complex<float> >::PTTRF(
const int&
n, std::complex<float>* d, std::complex<float>* e,
int* info)
const 1007 CPTTRF_F77(&
n,d,e,info);
1011 void LAPACK<int, std::complex<float> >::PTTRS(
const int&
n,
const int& nrhs,
const std::complex<float>* d,
const std::complex<float>* e, std::complex<float>*
B,
const int& ldb,
int* info)
const 1013 CPTTRS_F77(&
n,&nrhs,d,e,
B,&ldb,info);
1017 void LAPACK<int, std::complex<float> >::POTRF(
const char& UPLO,
const int&
n, std::complex<float>*
A,
const int& lda,
int* info)
const 1023 void LAPACK<int, std::complex<float> >::POTRS(
const char& UPLO,
const int&
n,
const int& nrhs,
const std::complex<float>*
A,
const int& lda, std::complex<float>*
B,
const int& ldb,
int* info)
const 1025 CPOTRS_F77(
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda,
B, &ldb, info);
1029 void LAPACK<int, std::complex<float> >::POTRI(
const char& UPLO,
const int&
n, std::complex<float>*
A,
const int& lda,
int* info)
const 1035 void LAPACK<int, std::complex<float> >::POCON(
const char& UPLO,
const int&
n,
const std::complex<float>*
A,
const int& lda,
const float& anorm,
float* rcond, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1037 CPOCON_F77(
CHAR_MACRO(UPLO), &
n,
A, &lda, &anorm, rcond, WORK, RWORK, info);
1041 void LAPACK<int, std::complex<float> >::POSV(
const char& UPLO,
const int&
n,
const int& nrhs, std::complex<float>*
A,
const int& lda, std::complex<float>*
B,
const int& ldb,
int* info)
const 1043 CPOSV_F77(
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda,
B, &ldb, info);
1047 void LAPACK<int, std::complex<float> >::POEQU(
const int&
n,
const std::complex<float>*
A,
const int& lda,
float* S,
float* scond,
float* amax,
int* info)
const 1049 CPOEQU_F77(&
n,
A, &lda, S, scond, amax, info);
1053 void LAPACK<int, std::complex<float> >::PORFS(
const char& UPLO,
const int&
n,
const int& nrhs, std::complex<float>*
A,
const int& lda,
const std::complex<float>* AF,
const int& ldaf,
const std::complex<float>*
B,
const int& ldb, std::complex<float>* X,
const int& ldx,
float* FERR,
float* BERR, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1055 CPORFS_F77(
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
1059 void LAPACK<int, std::complex<float> >::POSVX(
const char& FACT,
const char& UPLO,
const int&
n,
const int& nrhs, std::complex<float>*
A,
const int& lda, std::complex<float>* AF,
const int& ldaf,
const 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 1061 char EQUED_copy = EQUED;
1062 CPOSVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
CHAR_MACRO(EQUED_copy), S,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
1064 void LAPACK<int, std::complex<float> >::POSVX(
const char& FACT,
const char& UPLO,
const int&
n,
const int& nrhs, std::complex<float>*
A,
const int& lda, std::complex<float>* AF,
const int& ldaf,
char* EQUED,
float* S, std::complex<float>*
B,
const int& ldb, std::complex<float>* X,
const int& ldx,
float* rcond,
float* FERR,
float* BERR, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1066 CPOSVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
CHARPTR_MACRO(EQUED), S,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
1070 void LAPACK<int,std::complex<float> >::GELS(
const char&
TRANS,
const int& m,
const int&
n,
const int& nrhs, std::complex<float>*
A,
const int& lda, std::complex<float>*
B,
const int& ldb, std::complex<float>* WORK,
const int& lwork,
int* info)
const 1072 CGELS_F77(
CHAR_MACRO(
TRANS), &m, &
n, &nrhs,
A, &lda,
B, &ldb, WORK, &lwork, info);
1075 void LAPACK<int, std::complex<float> >::GELSS(
const int& m,
const int&
n,
const int& nrhs, std::complex<float>*
A,
const int& lda, std::complex<float>*
B,
const int& ldb,
float* S,
const float& rcond,
int* rank, std::complex<float>* WORK,
const int& lwork,
float* rwork,
int* info)
const 1077 CGELSS_F77(&m, &
n, &nrhs,
A, &lda,
B, &ldb, S, &rcond, rank, WORK, &lwork, rwork, info);
1080 void LAPACK<int,std::complex<float> >::GEQRF(
const int& m,
const int&
n, std::complex<float>*
A,
const int& lda, std::complex<float>* TAU, std::complex<float>* WORK,
const int& lwork,
int* info)
const 1082 CGEQRF_F77(&m, &
n,
A, &lda, TAU, WORK, &lwork, info);
1085 void LAPACK<int,std::complex<float> >::GEQR2 (
const int& m,
const int&
n, std::complex<float>
A[],
const int& lda, std::complex<float> TAU[], std::complex<float> WORK[],
int*
const info)
const 1087 CGEQR2_F77(&m, &
n,
A, &lda, TAU, WORK, info);
1090 void LAPACK<int,std::complex<float> >::UNGQR(
const int& m,
const int&
n,
const int& k, std::complex<float>*
A,
const int& lda,
const std::complex<float>* TAU, std::complex<float>* WORK,
const int& lwork,
int* info)
const 1092 CUNGQR_F77( &m, &
n, &k,
A, &lda, TAU, WORK, &lwork, info);
1095 void LAPACK<int,std::complex<float> >::UNMQR(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& k, std::complex<float>*
A,
const int& lda,
const std::complex<float>* TAU, std::complex<float>*
C,
const int& ldc, std::complex<float>* WORK,
const int& lwork,
int* info)
const 1097 CUNMQR_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &m, &
n, &k,
A, &lda, TAU,
C, &ldc, WORK, &lwork, info);
1100 void LAPACK<int,std::complex<float> >::UNM2R (
const char& SIDE,
const char&
TRANS,
const int& M,
const int& N,
const int& K,
const std::complex<float>
A[],
const int& LDA,
const std::complex<float> TAU[], std::complex<float>
C[],
const int& LDC, std::complex<float> WORK[],
int*
const INFO)
const 1102 CUNM2R_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &M, &N, &K,
A, &LDA, TAU,
C, &LDC, WORK, INFO);
1105 void LAPACK<int,std::complex<float> >::GETRF(
const int& m,
const int&
n, std::complex<float>*
A,
const int& lda,
int* IPIV,
int* info)
const 1107 CGETRF_F77(&m, &
n,
A, &lda, IPIV, info);
1110 void LAPACK<int,std::complex<float> >::GETRS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const std::complex<float>*
A,
const int& lda,
const int* IPIV, std::complex<float>*
B ,
const int& ldb,
int* info)
const 1115 void LAPACK<int,std::complex<float> >::LASCL(
const char& TYPE,
const int& kl,
const int& ku,
const float& cfrom,
const float& cto,
const int& m,
const int&
n, std::complex<float>*
A,
const int& lda,
int* info)
const 1116 { CLASCL_F77(
CHAR_MACRO(TYPE), &kl, &ku, &cfrom, &cto, &m, &
n,
A, &lda, info); }
1118 void LAPACK<int,std::complex<float> >::GEQP3(
const int& m,
const int&
n, std::complex<float>*
A,
const int& lda,
int* jpvt, std::complex<float>* TAU, std::complex<float>* WORK,
const int& lwork,
float* RWORK,
int* info )
const 1120 CGEQP3_F77(&m, &
n,
A, &lda, jpvt, TAU, WORK, &lwork, RWORK, info);
1123 void LAPACK<int, std::complex<float> >::
1124 LASWP (
const int& N,
1125 std::complex<float>
A[],
1130 const int& INCX)
const 1132 CLASWP_F77(&N,
A, &LDA, &K1, &K2, IPIV, &INCX);
1135 void LAPACK<int,std::complex<float> >::GBTRF(
const int& m,
const int&
n,
const int& kl,
const int& ku, std::complex<float>*
A,
const int& lda,
int* IPIV,
int* info)
const 1137 CGBTRF_F77(&m, &kl, &ku, &
n,
A, &lda, IPIV, info);
1141 void LAPACK<int,std::complex<float> >::GBTRS(
const char&
TRANS,
const int&
n,
const int& kl,
const int& ku,
const int& nrhs,
const std::complex<float>*
A,
const int& lda,
const int* IPIV, std::complex<float>*
B ,
const int& ldb,
int* info)
const 1143 CGBTRS_F77(
CHAR_MACRO(
TRANS), &
n, &kl, &ku, &nrhs,
A, &lda, IPIV,
B, &ldb, info);
1147 void LAPACK<int,std::complex<float> >::GTTRF(
const int&
n, std::complex<float>* dl, std::complex<float>* d, std::complex<float>* du, std::complex<float>* du2,
int* IPIV,
int* info)
const 1149 CGTTRF_F77(&
n, dl, d, du, du2, IPIV, info);
1153 void LAPACK<int,std::complex<float> >::GTTRS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const std::complex<float>* dl,
const std::complex<float>* d,
const std::complex<float>* du,
const std::complex<float>* du2,
const int* IPIV, std::complex<float>*
B,
const int& ldb,
int* info)
const 1155 CGTTRS_F77(
CHAR_MACRO(
TRANS), &
n, &nrhs, dl, d, du, du2, IPIV,
B, &ldb, info);
1159 void LAPACK<int,std::complex<float> >::GETRI(
const int&
n, std::complex<float>*
A,
const int& lda,
const int* IPIV, std::complex<float>* WORK,
const int& lwork,
int* info)
const 1161 CGETRI_F77(&
n,
A, &lda, IPIV, WORK, &lwork, info);
1166 LAPACK<int, std::complex<float> >::LATRS (
const char& UPLO,
1171 std::complex<float>*
A,
1173 std::complex<float>* X,
1192 void LAPACK<int,std::complex<float> >::GECON(
const char& NORM,
const int&
n,
const std::complex<float>*
A,
const int& lda,
const float& anorm,
float* rcond, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1194 CGECON_F77(
CHAR_MACRO(NORM), &
n,
A, &lda, &anorm, rcond, WORK, RWORK, info);
1198 void LAPACK<int,std::complex<float> >::GBCON(
const char& NORM,
const int&
n,
const int& kl,
const int& ku,
const std::complex<float>*
A,
const int& lda,
int* IPIV,
const float& anorm,
float* rcond, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1200 CGBCON_F77(
CHAR_MACRO(NORM), &
n, &kl, &ku,
A, &lda, IPIV, &anorm, rcond, WORK, RWORK, info);
1204 float LAPACK<int,std::complex<float> >::LANGB(
const char& NORM,
const int&
n,
const int& kl,
const int& ku,
const std::complex<float>*
A,
const int& lda,
float* WORK)
const 1206 return( CLANGB_F77(
CHAR_MACRO(NORM), &
n, &kl, &ku,
A, &lda, WORK) );
1210 void LAPACK<int,std::complex<float> >::GESV(
const int&
n,
const int& nrhs, std::complex<float>*
A,
const int& lda,
int* IPIV, std::complex<float>*
B,
const int& ldb,
int* info)
const 1212 CGESV_F77(&
n, &nrhs,
A, &lda, IPIV,
B, &ldb, info);
1216 void LAPACK<int,std::complex<float> >::GEEQU(
const int& m,
const int&
n,
const std::complex<float>*
A,
const int& lda,
float* R,
float*
C,
float* rowcond,
float* colcond,
float* amax,
int* info)
const 1218 CGEEQU_F77(&m, &
n,
A, &lda, R,
C, rowcond, colcond, amax, info);
1222 void LAPACK<int,std::complex<float> >::GERFS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const std::complex<float>*
A,
const int& lda,
const std::complex<float>* AF,
const int& ldaf,
const int* IPIV,
const std::complex<float>*
B,
const int& ldb, std::complex<float>* X,
const int& ldx,
float* FERR,
float* BERR, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1224 CGERFS_F77(
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
1228 void LAPACK<int,std::complex<float> >::GBEQU(
const int& m,
const int&
n,
const int& kl,
const int& ku,
const std::complex<float>*
A,
const int& lda,
float* R,
float*
C,
float* rowcond,
float* colcond,
float* amax,
int* info)
const 1230 CGBEQU_F77(&m, &
n, &kl, &ku,
A, &lda, R,
C, rowcond, colcond, amax, info);
1234 void LAPACK<int,std::complex<float> >::GBRFS(
const char&
TRANS,
const int&
n,
const int& kl,
const int& ku,
const int& nrhs,
const std::complex<float>*
A,
const int& lda,
const std::complex<float>* AF,
const int& ldaf,
const int* IPIV,
const std::complex<float>*
B,
const int& ldb, std::complex<float>* X,
const int& ldx,
float* FERR,
float* BERR, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1236 CGBRFS_F77(
CHAR_MACRO(
TRANS), &
n, &kl, &ku, &nrhs,
A, &lda, AF, &ldaf, IPIV,
B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
1240 void LAPACK<int,std::complex<float> >::GESVX(
const char& FACT,
const char&
TRANS,
const int&
n,
const int& nrhs, std::complex<float>*
A,
const int& lda, std::complex<float>* AF,
const int& ldaf,
int* IPIV,
const 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 1242 char EQUED_copy = EQUED;
1243 CGESVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
CHAR_MACRO(EQUED_copy), R,
C,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
1245 void LAPACK<int,std::complex<float> >::GESVX(
const char& FACT,
const char&
TRANS,
const int&
n,
const int& nrhs, std::complex<float>*
A,
const int& lda, std::complex<float>* AF,
const int& ldaf,
int* IPIV,
char* EQUED,
float* R,
float*
C, std::complex<float>*
B,
const int& ldb, std::complex<float>* X,
const int& ldx,
float* rcond,
float* FERR,
float* BERR, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1247 CGESVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
CHARPTR_MACRO(EQUED), R,
C,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
1251 void LAPACK<int,std::complex<float> >::GEHRD(
const int&
n,
const int& ilo,
const int& ihi, std::complex<float>*
A,
const int& lda, std::complex<float>* TAU, std::complex<float>* WORK,
const int& lwork,
int* info)
const 1253 CGEHRD_F77(&
n, &ilo, &ihi,
A, &lda, TAU, WORK, &lwork, info);
1257 void LAPACK<int,std::complex<float> >::TRTRS(
const char& UPLO,
const char&
TRANS,
const char& DIAG,
const int&
n,
const int& nrhs,
const std::complex<float>*
A,
const int& lda, std::complex<float>*
B,
const int& ldb,
int* info)
const 1263 void LAPACK<int,std::complex<float> >::TRTRI(
const char& UPLO,
const char& DIAG,
const int&
n,
const std::complex<float>*
A,
const int& lda,
int* info)
const 1269 void LAPACK<int,std::complex<float> >::STEQR(
const char& COMPZ,
const int&
n,
float*
D,
float*
E, std::complex<float>* Z,
const int& ldz,
float* WORK,
int* info)
const 1271 CSTEQR_F77(
CHAR_MACRO(COMPZ), &
n,
D,
E, Z, &ldz, WORK, info);
1275 void LAPACK<int,std::complex<float> >::HEEV(
const char& JOBZ,
const char& UPLO,
const int&
n, std::complex<float> *
A,
const int& lda,
float* W, std::complex<float> * WORK,
const int& lwork,
float* RWORK,
int* info)
const 1281 void LAPACK<int,std::complex<float> >::HEGV(
const int& itype,
const char& JOBZ,
const char& UPLO,
const int&
n, std::complex<float> *
A,
const int& lda, std::complex<float> *
B,
const int& ldb,
float* W, std::complex<float> * WORK,
const int& lwork,
float* RWORK,
int* info)
const 1283 CHEGV_F77(&itype,
CHAR_MACRO(JOBZ),
CHAR_MACRO(UPLO), &
n,
A, &lda,
B, &ldb, W, WORK, &lwork, RWORK, info);
1287 void LAPACK<int, std::complex<float> >::HSEQR(
const char& JOB,
const char& COMPZ,
const int&
n,
const int& ilo,
const int& ihi, std::complex<float>* H,
const int& ldh, std::complex<float>* W, std::complex<float>* Z,
const int& ldz, std::complex<float>* WORK,
const int& lwork,
int* info)
const 1289 CHSEQR_F77(
CHAR_MACRO(JOB),
CHAR_MACRO(COMPZ), &
n, &ilo, &ihi, H, &ldh, W, Z, &ldz, WORK, &lwork, info);
1293 void LAPACK<int, std::complex<float> >::GEES(
const char& JOBVS,
const char& SORT,
int (*ptr2func)(std::complex<float>*),
const int&
n, std::complex<float>*
A,
const int& lda,
int* sdim, std::complex<float>* W, std::complex<float>* VS,
const int& ldvs, std::complex<float>* WORK,
const int& lwork,
float* RWORK,
int* BWORK,
int* info)
const 1295 CGEES_F77(
CHAR_MACRO(JOBVS),
CHAR_MACRO(SORT), ptr2func, &
n,
A, &lda, sdim, W, VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
1299 void LAPACK<int, std::complex<float> >::GEES(
const char& JOBVS,
const int&
n, std::complex<float>*
A,
const int& lda,
int* sdim,
float* WR,
float* WI, std::complex<float>* VS,
const int& ldvs, std::complex<float>* WORK,
const int& lwork,
float* RWORK,
int* BWORK,
int* info)
const 1301 int (*nullfptr)(std::complex<float>*) = NULL;
1302 std::vector< std::complex<float> > W(
n);
1303 const char sort =
'N';
1304 CGEES_F77(
CHAR_MACRO(JOBVS),
CHAR_MACRO(sort), nullfptr, &
n,
A, &lda, sdim, &W[0], VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
1305 for (
int i=0; i<
n; i++) {
1306 WR[i] = W[i].real();
1307 WI[i] = W[i].imag();
1312 void LAPACK<int, std::complex<float> >::GEEV(
const char& JOBVL,
const char& JOBVR,
const int&
n, std::complex<float>*
A,
const int& lda, std::complex<float>* W, std::complex<float>* VL,
const int& ldvl, std::complex<float>* VR,
const int& ldvr, std::complex<float>* WORK,
const int& lwork,
float* RWORK,
int* info)
const 1314 CGEEV_F77(
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR), &
n,
A, &lda, W, VL, &ldvl, VR, &ldvr, WORK, &lwork, RWORK, info);
1317 void LAPACK<int, std::complex<float> >::GEEV(
const char& JOBVL,
const char& JOBVR,
const int&
n, std::complex<float>*
A,
const int& lda,
float* WR,
float* WI, std::complex<float>* VL,
const int& ldvl, std::complex<float>* VR,
const int& ldvr, std::complex<float>* WORK,
const int& lwork,
float* RWORK,
int* info)
const 1319 std::vector<std::complex<float> > w (
n);
1320 std::complex<float>* w_rawPtr = (
n == 0) ? NULL : &w[0];
1321 GEEV (JOBVL, JOBVR,
n,
A, lda, w_rawPtr, VL, ldvl, VR, ldvr, WORK, lwork, RWORK, info);
1325 for (
int k = 0; k <
n; ++k) {
1326 WR[k] = w[k].real ();
1327 WI[k] = w[k].imag ();
1332 void LAPACK<int, std::complex<float> >::GESVD(
const char& JOBU,
const char& JOBVT,
const int& m,
const int&
n, std::complex<float> *
A,
const int& lda,
float* S, std::complex<float> * U,
const int& ldu, std::complex<float> * V,
const int& ldv, std::complex<float> * WORK,
const int& lwork,
float* RWORK,
int* info)
const {
1333 CGESVD_F77(
CHAR_MACRO(JOBU),
CHAR_MACRO(JOBVT), &m, &
n,
A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, RWORK, info);
1337 void LAPACK<int, std::complex<float> >::GEEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n, std::complex<float>*
A,
const int& lda, std::complex<float>* W, std::complex<float>* VL,
const int& ldvl, std::complex<float>* VR,
const int& ldvr,
int* ilo,
int* ihi,
float* SCALE,
float* abnrm,
float* RCONDE,
float* RCONDV, std::complex<float>* WORK,
const int& lwork,
float* RWORK,
int* info)
const 1339 CGEEVX_F77(
CHAR_MACRO(BALANC),
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SENSE), &
n,
A, &lda, W, VL, &ldvl, VR, &ldvr, ilo, ihi, SCALE, abnrm, RCONDE, RCONDV, WORK, &lwork, RWORK, info);
1343 void LAPACK<int, std::complex<float> >::GGEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n, std::complex<float>*
A,
const int& lda, std::complex<float>*
B,
const int& ldb, std::complex<float>* ALPHA, std::complex<float>* BETA, std::complex<float>* VL,
const int& ldvl, std::complex<float>* VR,
const int& ldvr,
int* ilo,
int* ihi,
float* lscale,
float* rscale,
float* abnrm,
float* bbnrm,
float* RCONDE,
float* RCONDV, std::complex<float>* WORK,
const int& lwork,
float* RWORK,
int* IWORK,
int* BWORK,
int* info)
const 1345 CGGEVX_F77(
CHAR_MACRO(BALANC),
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SENSE), &
n,
A, &lda,
B, &ldb, ALPHA, BETA, VL, &ldvl, VR, &ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, &lwork, RWORK, IWORK, BWORK, info);
1348 void LAPACK<int, std::complex<float> >::GGEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n, std::complex<float>*
A,
const int& lda, std::complex<float>*
B,
const int& ldb,
float* ALPHAR,
float* ALPHAI, std::complex<float>* BETA, std::complex<float>* VL,
const int& ldvl, std::complex<float>* VR,
const int& ldvr,
int* ilo,
int* ihi,
float* lscale,
float* rscale,
float* abnrm,
float* bbnrm,
float* RCONDE,
float* RCONDV, std::complex<float>* WORK,
const int& lwork,
float* RWORK,
int* IWORK,
int* BWORK,
int* info)
const 1350 std::vector<std::complex<float> > w (
n);
1351 std::complex<float>* w_rawPtr = (
n == 0) ? NULL : &w[0];
1352 GGEVX(BALANC, JOBVL, JOBVR, SENSE,
n,
A, lda,
B, ldb, w_rawPtr, BETA, VL, ldvl, VR, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, lwork, RWORK, IWORK, BWORK, info);
1356 for (
int k = 0; k <
n; ++k) {
1357 ALPHAR[k] = w[k].real ();
1358 ALPHAI[k] = w[k].imag ();
1364 void LAPACK<int, std::complex<float> >::TREVC(
const char& SIDE,
const char& HOWMNY,
int* select,
const int&
n,
const std::complex<float>* T,
const int& ldt, std::complex<float>* VL,
const int& ldvl, std::complex<float>* VR,
const int& ldvr,
const int& mm,
int* m, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1366 CTREVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(HOWMNY), select, &
n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
1370 void LAPACK<int, std::complex<float> >::TREVC(
const char& SIDE,
const int&
n,
const std::complex<float>* T,
const int& ldt, std::complex<float>* VL,
const int& ldvl, std::complex<float>* VR,
const int& ldvr,
const int& mm,
int* m, std::complex<float>* WORK,
float* RWORK,
int* info)
const 1372 std::vector<int> select(1);
1373 const char& whch =
'A';
1374 CTREVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(whch), &select[0], &
n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
1378 void LAPACK<int, std::complex<float> >::TREXC(
const char& COMPQ,
const int&
n, std::complex<float>* T,
const int& ldt, std::complex<float>* Q,
const int& ldq,
const int& ifst,
const int& ilst, std::complex<float>* WORK,
int* info)
const 1380 CTREXC_F77(
CHAR_MACRO(COMPQ), &
n, T, &ldt, Q, &ldq, &ifst, &ilst, info);
1383 void LAPACK<int, std::complex<float> >::TREXC(
const char& COMPQ,
const int&
n, std::complex<float>* T,
const int& ldt, std::complex<float>* Q,
const int& ldq,
int* ifst,
int* ilst, std::complex<float>* WORK,
int* info)
const 1385 CTREXC_F77(
CHAR_MACRO(COMPQ), &
n, T, &ldt, Q, &ldq, ifst, ilst, info);
1389 void LAPACK<int, std::complex<float> >::LARTG(
const std::complex<float>
f,
const std::complex<float>
g,
float* c, std::complex<float>* s, std::complex<float>* r )
const 1391 CLARTG_F77(&
f, &
g, c, s, r);
1395 void LAPACK<int, std::complex<float> >::LARFG(
const int&
n, std::complex<float>* alpha, std::complex<float>* x,
const int& incx, std::complex<float>* tau )
const 1397 CLARFG_F77(&
n, alpha, x, &incx, tau);
1401 void LAPACK<int, std::complex<float> >::GEBAL(
const char& JOBZ,
const int&
n, std::complex<float>*
A,
const int& lda,
const int& ilo,
const int& ihi,
float* scale,
int* info)
const 1405 CGEBAL_F77(
CHAR_MACRO(JOBZ),&
n,
A, &lda, &ilo_copy, &ihi_copy, scale, info);
1407 void LAPACK<int, std::complex<float> >::GEBAL(
const char& JOBZ,
const int&
n, std::complex<float>*
A,
const int& lda,
int* ilo,
int* ihi,
float* scale,
int* info)
const 1409 CGEBAL_F77(
CHAR_MACRO(JOBZ),&
n,
A, &lda, ilo, ihi, scale, info);
1413 void LAPACK<int, std::complex<float> >::GEBAK(
const char& JOBZ,
const char& SIDE,
const int&
n,
const int& ilo,
const int& ihi,
const float* scale,
const int& m, std::complex<float>* V,
const int& ldv,
int* info)
const 1419 #ifdef HAVE_TEUCHOS_LAPACKLARND 1420 std::complex<float> LAPACK<int, std::complex<float> >::LARND(
const int& idist,
int* seed )
const 1422 return(CLARND_F77(&idist, seed));
1426 void LAPACK<int, std::complex<float> >::LARNV(
const int& idist,
int* seed,
const int&
n, std::complex<float>* v )
const 1428 CLARNV_F77(&idist, seed, &
n, v);
1432 int LAPACK<int, std::complex<float> >::ILAENV(
const int& ispec,
const std::string& NAME,
const std::string& OPTS,
const int& N1,
const int& N2,
const int& N3,
const int& N4 )
const 1434 unsigned int opts_length = OPTS.length();
1435 std::string temp_NAME =
"c" + NAME;
1436 unsigned int name_length = temp_NAME.length();
1437 return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
1445 void LAPACK<int, std::complex<double> >::PTTRF(
const int&
n, std::complex<double>* d, std::complex<double>* e,
int* info)
const 1447 ZPTTRF_F77(&
n,d,e,info);
1451 void LAPACK<int, std::complex<double> >::PTTRS(
const int&
n,
const int& nrhs,
const std::complex<double>* d,
const std::complex<double>* e, std::complex<double>*
B,
const int& ldb,
int* info)
const 1453 ZPTTRS_F77(&
n,&nrhs,d,e,
B,&ldb,info);
1457 void LAPACK<int, std::complex<double> >::POTRF(
const char& UPLO,
const int&
n, std::complex<double>*
A,
const int& lda,
int* info)
const 1463 void LAPACK<int, std::complex<double> >::POTRS(
const char& UPLO,
const int&
n,
const int& nrhs,
const std::complex<double>*
A,
const int& lda, std::complex<double>*
B,
const int& ldb,
int* info)
const 1465 ZPOTRS_F77(
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda,
B, &ldb, info);
1469 void LAPACK<int, std::complex<double> >::POTRI(
const char& UPLO,
const int&
n, std::complex<double>*
A,
const int& lda,
int* info)
const 1475 void LAPACK<int, std::complex<double> >::POCON(
const char& UPLO,
const int&
n,
const std::complex<double>*
A,
const int& lda,
const double& anorm,
double* rcond, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1477 ZPOCON_F77(
CHAR_MACRO(UPLO), &
n,
A, &lda, &anorm, rcond, WORK, RWORK, info);
1481 void LAPACK<int, std::complex<double> >::POSV(
const char& UPLO,
const int&
n,
const int& nrhs, std::complex<double>*
A,
const int& lda, std::complex<double>*
B,
const int& ldb,
int* info)
const 1483 ZPOSV_F77(
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda,
B, &ldb, info);
1487 void LAPACK<int, std::complex<double> >::POEQU(
const int&
n,
const std::complex<double>*
A,
const int& lda,
double* S,
double* scond,
double* amax,
int* info)
const 1489 ZPOEQU_F77(&
n,
A, &lda, S, scond, amax, info);
1493 void LAPACK<int, std::complex<double> >::PORFS(
const char& UPLO,
const int&
n,
const int& nrhs, std::complex<double>*
A,
const int& lda,
const std::complex<double>* AF,
const int& ldaf,
const std::complex<double>*
B,
const int& ldb, std::complex<double>* X,
const int& ldx,
double* FERR,
double* BERR, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1495 ZPORFS_F77(
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
1499 void LAPACK<int, std::complex<double> >::POSVX(
const char& FACT,
const char& UPLO,
const int&
n,
const int& nrhs, std::complex<double>*
A,
const int& lda, std::complex<double>* AF,
const int& ldaf,
const 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 1501 char EQUED_copy = EQUED;
1502 ZPOSVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
CHAR_MACRO(EQUED_copy), S,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
1504 void LAPACK<int, std::complex<double> >::POSVX(
const char& FACT,
const char& UPLO,
const int&
n,
const int& nrhs, std::complex<double>*
A,
const int& lda, std::complex<double>* AF,
const int& ldaf,
char* EQUED,
double* S, std::complex<double>*
B,
const int& ldb, std::complex<double>* X,
const int& ldx,
double* rcond,
double* FERR,
double* BERR, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1506 ZPOSVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(UPLO), &
n, &nrhs,
A, &lda, AF, &ldaf,
CHARPTR_MACRO(EQUED), S,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
1510 void LAPACK<int,std::complex<double> >::GELS(
const char&
TRANS,
const int& m,
const int&
n,
const int& nrhs, std::complex<double>*
A,
const int& lda, std::complex<double>*
B,
const int& ldb, std::complex<double>* WORK,
const int& lwork,
int* info)
const 1512 ZGELS_F77(
CHAR_MACRO(
TRANS), &m, &
n, &nrhs,
A, &lda,
B, &ldb, WORK, &lwork, info);
1516 void LAPACK<int, std::complex<double> >::GELSS(
const int& m,
const int&
n,
const int& nrhs, std::complex<double>*
A,
const int& lda, std::complex<double>*
B,
const int& ldb,
double* S,
const double& rcond,
int* rank, std::complex<double>* WORK,
const int& lwork,
double* rwork,
int* info)
const 1518 ZGELSS_F77(&m, &
n, &nrhs,
A, &lda,
B, &ldb, S, &rcond, rank, WORK, &lwork, rwork, info);
1522 void LAPACK<int,std::complex<double> >::GEQRF(
const int& m,
const int&
n, std::complex<double>*
A,
const int& lda, std::complex<double>* TAU, std::complex<double>* WORK,
const int& lwork,
int* info)
const 1524 ZGEQRF_F77(&m, &
n,
A, &lda, TAU, WORK, &lwork, info);
1527 void LAPACK<int,std::complex<double> >::GEQR2 (
const int& m,
const int&
n, std::complex<double>
A[],
const int& lda, std::complex<double> TAU[], std::complex<double> WORK[],
int*
const info)
const 1529 ZGEQR2_F77(&m, &
n,
A, &lda, TAU, WORK, info);
1532 void LAPACK<int,std::complex<double> >::UNGQR(
const int& m,
const int&
n,
const int& k, std::complex<double>*
A,
const int& lda,
const std::complex<double>* TAU, std::complex<double>* WORK,
const int& lwork,
int* info)
const 1534 ZUNGQR_F77( &m, &
n, &k,
A, &lda, TAU, WORK, &lwork, info);
1538 void LAPACK<int,std::complex<double> >::UNMQR(
const char& SIDE,
const char&
TRANS,
const int& m,
const int&
n,
const int& k, std::complex<double>*
A,
const int& lda,
const std::complex<double>* TAU, std::complex<double>*
C,
const int& ldc, std::complex<double>* WORK,
const int& lwork,
int* info)
const 1540 ZUNMQR_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &m, &
n, &k,
A, &lda, TAU,
C, &ldc, WORK, &lwork, info);
1543 void LAPACK<int,std::complex<double> >::UNM2R (
const char& SIDE,
const char&
TRANS,
const int& M,
const int& N,
const int& K,
const std::complex<double>
A[],
const int& LDA,
const std::complex<double> TAU[], std::complex<double>
C[],
const int& LDC, std::complex<double> WORK[],
int*
const INFO)
const 1545 ZUNM2R_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(
TRANS), &M, &N, &K,
A, &LDA, TAU,
C, &LDC, WORK, INFO);
1548 void LAPACK<int,std::complex<double> >::GETRF(
const int& m,
const int&
n, std::complex<double>*
A,
const int& lda,
int* IPIV,
int* info)
const 1550 ZGETRF_F77(&m, &
n,
A, &lda, IPIV, info);
1554 void LAPACK<int,std::complex<double> >::GETRS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const std::complex<double>*
A,
const int& lda,
const int* IPIV, std::complex<double>*
B,
const int& ldb,
int* info)
const 1560 void LAPACK<int,std::complex<double> >::LASCL(
const char& TYPE,
const int& kl,
const int& ku,
const double& cfrom,
const double& cto,
const int& m,
const int&
n, std::complex<double>*
A,
const int& lda,
int* info)
const 1561 { ZLASCL_F77(
CHAR_MACRO(TYPE), &kl, &ku, &cfrom, &cto, &m, &
n,
A, &lda, info); }
1563 void LAPACK<int,std::complex<double> >::GEQP3(
const int& m,
const int&
n, std::complex<double>*
A,
const int& lda,
int* jpvt, std::complex<double>* TAU, std::complex<double>* WORK,
const int& lwork,
double* RWORK,
int* info )
const 1565 ZGEQP3_F77(&m, &
n,
A, &lda, jpvt, TAU, WORK, &lwork, RWORK, info);
1568 void LAPACK<int, std::complex<double> >::
1569 LASWP (
const int& N,
1570 std::complex<double>
A[],
1575 const int& INCX)
const 1577 ZLASWP_F77(&N,
A, &LDA, &K1, &K2, IPIV, &INCX);
1580 void LAPACK<int,std::complex<double> >::GBTRF(
const int& m,
const int&
n,
const int& kl,
const int& ku, std::complex<double>*
A,
const int& lda,
int* IPIV,
int* info)
const 1582 ZGBTRF_F77(&m, &
n, &kl, &ku,
A, &lda, IPIV, info);
1586 void LAPACK<int,std::complex<double> >::GBTRS(
const char&
TRANS,
const int&
n,
const int& kl,
const int& ku,
const int& nrhs,
const std::complex<double>*
A,
const int& lda,
const int* IPIV, std::complex<double>*
B,
const int& ldb,
int* info)
const 1588 ZGBTRS_F77(
CHAR_MACRO(
TRANS), &
n, &kl, &ku, &nrhs,
A, &lda, IPIV,
B, &ldb, info);
1592 void LAPACK<int,std::complex<double> >::GTTRF(
const int&
n, std::complex<double>* dl, std::complex<double>* d, std::complex<double>* du, std::complex<double>* du2,
int* IPIV,
int* info)
const 1594 ZGTTRF_F77(&
n, dl, d, du, du2, IPIV, info);
1598 void LAPACK<int,std::complex<double> >::GTTRS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const std::complex<double>* dl,
const std::complex<double>* d,
const std::complex<double>* du,
const std::complex<double>* du2,
const int* IPIV, std::complex<double>*
B,
const int& ldb,
int* info)
const 1600 ZGTTRS_F77(
CHAR_MACRO(
TRANS), &
n, &nrhs, dl, d, du, du2, IPIV,
B, &ldb, info);
1604 void LAPACK<int,std::complex<double> >::GETRI(
const int&
n, std::complex<double>*
A,
const int& lda,
const int* IPIV, std::complex<double>* WORK,
const int& lwork,
int* info)
const 1606 ZGETRI_F77(&
n,
A, &lda, IPIV, WORK, &lwork, info);
1610 LAPACK<int, std::complex<double> >::LATRS (
const char& UPLO,
1615 std::complex<double>*
A,
1617 std::complex<double>* X,
1635 void LAPACK<int,std::complex<double> >::GECON(
const char& NORM,
const int&
n,
const std::complex<double>*
A,
const int& lda,
const double& anorm,
double* rcond, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1637 ZGECON_F77(
CHAR_MACRO(NORM), &
n,
A, &lda, &anorm, rcond, WORK, RWORK, info);
1641 void LAPACK<int,std::complex<double> >::GBCON(
const char& NORM,
const int&
n,
const int& kl,
const int& ku,
const std::complex<double>*
A,
const int& lda,
int* IPIV,
const double& anorm,
double* rcond, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1643 ZGBCON_F77(
CHAR_MACRO(NORM), &
n, &kl, &ku,
A, &lda, IPIV, &anorm, rcond, WORK, RWORK, info);
1647 double LAPACK<int,std::complex<double> >::LANGB(
const char& NORM,
const int&
n,
const int& kl,
const int& ku,
const std::complex<double>*
A,
const int& lda,
double* WORK)
const 1649 return( ZLANGB_F77(
CHAR_MACRO(NORM), &
n, &kl, &ku,
A, &lda, WORK) );
1653 void LAPACK<int,std::complex<double> >::GESV(
const int&
n,
const int& nrhs, std::complex<double>*
A,
const int& lda,
int* IPIV, std::complex<double>*
B,
const int& ldb,
int* info)
const 1655 ZGESV_F77(&
n, &nrhs,
A, &lda, IPIV,
B, &ldb, info);
1659 void LAPACK<int,std::complex<double> >::GEEQU(
const int& m,
const int&
n,
const std::complex<double>*
A,
const int& lda,
double* R,
double*
C,
double* rowcond,
double* colcond,
double* amax,
int* info)
const 1661 ZGEEQU_F77(&m, &
n,
A, &lda, R,
C, rowcond, colcond, amax, info);
1665 void LAPACK<int,std::complex<double> >::GERFS(
const char&
TRANS,
const int&
n,
const int& nrhs,
const std::complex<double>*
A,
const int& lda,
const std::complex<double>* AF,
const int& ldaf,
const int* IPIV,
const std::complex<double>*
B,
const int& ldb, std::complex<double>* X,
const int& ldx,
double* FERR,
double* BERR, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1667 ZGERFS_F77(
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
1671 void LAPACK<int,std::complex<double> >::GBEQU(
const int& m,
const int&
n,
const int& kl,
const int& ku,
const std::complex<double>*
A,
const int& lda,
double* R,
double*
C,
double* rowcond,
double* colcond,
double* amax,
int* info)
const 1673 ZGBEQU_F77(&m, &
n, &kl, &ku,
A, &lda, R,
C, rowcond, colcond, amax, info);
1677 void LAPACK<int,std::complex<double> >::GBRFS(
const char&
TRANS,
const int&
n,
const int& kl,
const int& ku,
const int& nrhs,
const std::complex<double>*
A,
const int& lda,
const std::complex<double>* AF,
const int& ldaf,
const int* IPIV,
const std::complex<double>*
B,
const int& ldb, std::complex<double>* X,
const int& ldx,
double* FERR,
double* BERR, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1679 ZGBRFS_F77(
CHAR_MACRO(
TRANS), &
n, &kl, &ku, &nrhs,
A, &lda, AF, &ldaf, IPIV,
B, &ldb, X, &ldx, FERR, BERR, WORK, RWORK, info);
1683 void LAPACK<int,std::complex<double> >::GESVX(
const char& FACT,
const char&
TRANS,
const int&
n,
const int& nrhs, std::complex<double>*
A,
const int& lda, std::complex<double>* AF,
const int& ldaf,
int* IPIV,
const 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 1685 char EQUED_copy = EQUED;
1686 ZGESVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
CHAR_MACRO(EQUED_copy), R,
C,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
1688 void LAPACK<int,std::complex<double> >::GESVX(
const char& FACT,
const char&
TRANS,
const int&
n,
const int& nrhs, std::complex<double>*
A,
const int& lda, std::complex<double>* AF,
const int& ldaf,
int* IPIV,
char* EQUED,
double* R,
double*
C, std::complex<double>*
B,
const int& ldb, std::complex<double>* X,
const int& ldx,
double* rcond,
double* FERR,
double* BERR, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1690 ZGESVX_F77(
CHAR_MACRO(FACT),
CHAR_MACRO(
TRANS), &
n, &nrhs,
A, &lda, AF, &ldaf, IPIV,
CHARPTR_MACRO(EQUED), R,
C,
B, &ldb, X, &ldx, rcond, FERR, BERR, WORK, RWORK, info);
1694 void LAPACK<int,std::complex<double> >::GEHRD(
const int&
n,
const int& ilo,
const int& ihi, std::complex<double>*
A,
const int& lda, std::complex<double>* TAU, std::complex<double>* WORK,
const int& lwork,
int* info)
const 1696 ZGEHRD_F77(&
n, &ilo, &ihi,
A, &lda, TAU, WORK, &lwork, info);
1700 void LAPACK<int,std::complex<double> >::TRTRS(
const char& UPLO,
const char&
TRANS,
const char& DIAG,
const int&
n,
const int& nrhs,
const std::complex<double>*
A,
const int& lda, std::complex<double>*
B,
const int& ldb,
int* info)
const 1706 void LAPACK<int,std::complex<double> >::TRTRI(
const char& UPLO,
const char& DIAG,
const int&
n,
const std::complex<double>*
A,
const int& lda,
int* info)
const 1712 void LAPACK<int,std::complex<double> >::STEQR(
const char& COMPZ,
const int&
n,
double*
D,
double*
E, std::complex<double>* Z,
const int& ldz,
double* WORK,
int* info)
const 1714 ZSTEQR_F77(
CHAR_MACRO(COMPZ), &
n,
D,
E, Z, &ldz, WORK, info);
1718 void LAPACK<int,std::complex<double> >::HEEV(
const char& JOBZ,
const char& UPLO,
const int&
n, std::complex<double> *
A,
const int& lda,
double* W, std::complex<double> * WORK,
const int& lwork,
double* RWORK,
int* info)
const 1724 void LAPACK<int,std::complex<double> >::HEGV(
const int& itype,
const char& JOBZ,
const char& UPLO,
const int&
n, std::complex<double> *
A,
const int& lda, std::complex<double> *
B,
const int& ldb,
double* W, std::complex<double> * WORK,
const int& lwork,
double* RWORK,
int* info)
const 1726 ZHEGV_F77(&itype,
CHAR_MACRO(JOBZ),
CHAR_MACRO(UPLO), &
n,
A, &lda,
B, &ldb, W, WORK, &lwork, RWORK, info);
1730 void LAPACK<int, std::complex<double> >::HSEQR(
const char& JOB,
const char& COMPZ,
const int&
n,
const int& ilo,
const int& ihi, std::complex<double>* H,
const int& ldh, std::complex<double>* W, std::complex<double>* Z,
const int& ldz, std::complex<double>* WORK,
const int& lwork,
int* info)
const 1732 ZHSEQR_F77(
CHAR_MACRO(JOB),
CHAR_MACRO(COMPZ), &
n, &ilo, &ihi, H, &ldh, W, Z, &ldz, WORK, &lwork, info);
1736 void LAPACK<int, std::complex<double> >::GEES(
const char& JOBVS,
const char& SORT,
int (*ptr2func)(std::complex<double>*),
const int&
n, std::complex<double>*
A,
const int& lda,
int* sdim, std::complex<double>* W, std::complex<double>* VS,
const int& ldvs, std::complex<double>* WORK,
const int& lwork,
double* RWORK,
int* BWORK,
int* info)
const 1738 ZGEES_F77(
CHAR_MACRO(JOBVS),
CHAR_MACRO(SORT), ptr2func, &
n,
A, &lda, sdim, W, VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
1742 void LAPACK<int, std::complex<double> >::GEES(
const char& JOBVS,
const int&
n, std::complex<double>*
A,
const int& lda,
int* sdim,
double* WR,
double* WI, std::complex<double>* VS,
const int& ldvs, std::complex<double>* WORK,
const int& lwork,
double* RWORK,
int* BWORK,
int* info)
const 1744 int (*nullfptr)(std::complex<double>*) = NULL;
1745 std::vector< std::complex<double> > W(
n);
1746 const char sort =
'N';
1747 ZGEES_F77(
CHAR_MACRO(JOBVS),
CHAR_MACRO(sort), nullfptr, &
n,
A, &lda, sdim, &W[0], VS, &ldvs, WORK, &lwork, RWORK, BWORK, info);
1748 for (
int i=0; i<
n; i++) {
1749 WR[i] = W[i].real();
1750 WI[i] = W[i].imag();
1755 void LAPACK<int, std::complex<double> >::GEEV(
const char& JOBVL,
const char& JOBVR,
const int&
n, std::complex<double>*
A,
const int& lda, std::complex<double>* W, std::complex<double>* VL,
const int& ldvl, std::complex<double>* VR,
const int& ldvr, std::complex<double>* WORK,
const int& lwork,
double* RWORK,
int* info)
const 1757 ZGEEV_F77(
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR), &
n,
A, &lda, W, VL, &ldvl, VR, &ldvr, WORK, &lwork, RWORK, info);
1761 void LAPACK<int, std::complex<double> >::GEEV(
const char& JOBVL,
const char& JOBVR,
const int&
n, std::complex<double>*
A,
const int& lda,
double* WR,
double* WI, std::complex<double>* VL,
const int& ldvl, std::complex<double>* VR,
const int& ldvr, std::complex<double>* WORK,
const int& lwork,
double* RWORK,
int* info)
const 1763 std::vector<std::complex<double> > w (
n);
1764 std::complex<double>* w_rawPtr = (
n == 0) ? NULL : &w[0];
1765 GEEV (JOBVL, JOBVR,
n,
A, lda, w_rawPtr, VL, ldvl, VR, ldvr, WORK, lwork, RWORK, info);
1769 for (
int k = 0; k <
n; ++k) {
1770 WR[k] = w[k].real ();
1771 WI[k] = w[k].imag ();
1777 void LAPACK<int, std::complex<double> >::GESVD(
const char& JOBU,
const char& JOBVT,
const int& m,
const int&
n, std::complex<double> *
A,
const int& lda,
double* S, std::complex<double> * U,
const int& ldu, std::complex<double> * V,
const int& ldv, std::complex<double> * WORK,
const int& lwork,
double* RWORK,
int* info)
const {
1778 ZGESVD_F77(
CHAR_MACRO(JOBU),
CHAR_MACRO(JOBVT), &m, &
n,
A, &lda, S, U, &ldu, V, &ldv, WORK, &lwork, RWORK, info);
1781 void LAPACK<int, std::complex<double> >::GEEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n, std::complex<double>*
A,
const int& lda, std::complex<double>* W, std::complex<double>* VL,
const int& ldvl, std::complex<double>* VR,
const int& ldvr,
int* ilo,
int* ihi,
double* SCALE,
double* abnrm,
double* RCONDE,
double* RCONDV, std::complex<double>* WORK,
const int& lwork,
double* RWORK,
int* info)
const 1783 ZGEEVX_F77(
CHAR_MACRO(BALANC),
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SENSE), &
n,
A, &lda, W, VL, &ldvl, VR, &ldvr, ilo, ihi, SCALE, abnrm, RCONDE, RCONDV, WORK, &lwork, RWORK, info);
1786 void LAPACK<int, std::complex<double> >::GGEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n, std::complex<double>*
A,
const int& lda, std::complex<double>*
B,
const int& ldb, std::complex<double>* ALPHA, std::complex<double>* BETA, std::complex<double>* VL,
const int& ldvl, std::complex<double>* VR,
const int& ldvr,
int* ilo,
int* ihi,
double* lscale,
double* rscale,
double* abnrm,
double* bbnrm,
double* RCONDE,
double* RCONDV, std::complex<double>* WORK,
const int& lwork,
double* RWORK,
int* IWORK,
int* BWORK,
int* info)
const 1788 ZGGEVX_F77(
CHAR_MACRO(BALANC),
CHAR_MACRO(JOBVL),
CHAR_MACRO(JOBVR),
CHAR_MACRO(SENSE), &
n,
A, &lda,
B, &ldb, ALPHA, BETA, VL, &ldvl, VR, &ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, &lwork, RWORK, IWORK, BWORK, info);
1791 void LAPACK<int, std::complex<double> >::GGEVX(
const char& BALANC,
const char& JOBVL,
const char& JOBVR,
const char& SENSE,
const int&
n, std::complex<double>*
A,
const int& lda, std::complex<double>*
B,
const int& ldb,
double* ALPHAR,
double* ALPHAI, std::complex<double>* BETA, std::complex<double>* VL,
const int& ldvl, std::complex<double>* VR,
const int& ldvr,
int* ilo,
int* ihi,
double* lscale,
double* rscale,
double* abnrm,
double* bbnrm,
double* RCONDE,
double* RCONDV, std::complex<double>* WORK,
const int& lwork,
double* RWORK,
int* IWORK,
int* BWORK,
int* info)
const 1793 std::vector<std::complex<double> > w (
n);
1794 std::complex<double>* w_rawPtr = (
n == 0) ? NULL : &w[0];
1795 GGEVX(BALANC, JOBVL, JOBVR, SENSE,
n,
A, lda,
B, ldb, w_rawPtr, BETA, VL, ldvl, VR, ldvr, ilo, ihi, lscale, rscale, abnrm, bbnrm, RCONDE, RCONDV, WORK, lwork, RWORK, IWORK, BWORK, info);
1799 for (
int k = 0; k <
n; ++k) {
1800 ALPHAR[k] = w[k].real ();
1801 ALPHAI[k] = w[k].imag ();
1806 void LAPACK<int, std::complex<double> >::TREVC(
const char& SIDE,
const char& HOWMNY,
int* select,
const int&
n,
const std::complex<double>* T,
const int& ldt, std::complex<double>* VL,
const int& ldvl, std::complex<double>* VR,
const int& ldvr,
const int& mm,
int* m, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1808 ZTREVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(HOWMNY), select, &
n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
1812 void LAPACK<int, std::complex<double> >::TREVC(
const char& SIDE,
const int&
n,
const std::complex<double>* T,
const int& ldt, std::complex<double>* VL,
const int& ldvl, std::complex<double>* VR,
const int& ldvr,
const int& mm,
int* m, std::complex<double>* WORK,
double* RWORK,
int* info)
const 1814 std::vector<int> select(1);
1815 const char& whch =
'A';
1816 ZTREVC_F77(
CHAR_MACRO(SIDE),
CHAR_MACRO(whch), &select[0], &
n, T, &ldt, VL, &ldvl, VR, &ldvr, &mm, m, WORK, RWORK, info);
1820 void LAPACK<int, std::complex<double> >::TREXC(
const char& COMPQ,
const int&
n, std::complex<double>* T,
const int& ldt, std::complex<double>* Q,
const int& ldq,
const int& ifst,
const int& ilst, std::complex<double>* WORK,
int* info)
const 1822 ZTREXC_F77(
CHAR_MACRO(COMPQ), &
n, T, &ldt, Q, &ldq, &ifst, &ilst, info);
1825 void LAPACK<int, std::complex<double> >::TREXC(
const char& COMPQ,
const int&
n, std::complex<double>* T,
const int& ldt, std::complex<double>* Q,
const int& ldq,
int* ifst,
int* ilst, std::complex<double>* WORK,
int* info)
const 1827 ZTREXC_F77(
CHAR_MACRO(COMPQ), &
n, T, &ldt, Q, &ldq, ifst, ilst, info);
1830 void LAPACK<int, std::complex<double> >::LARTG(
const std::complex<double>
f,
const std::complex<double>
g,
double* c, std::complex<double>* s, std::complex<double>* r )
const 1832 ZLARTG_F77(&
f, &
g, c, s, r);
1836 void LAPACK<int, std::complex<double> >::LARFG(
const int&
n, std::complex<double>* alpha, std::complex<double>* x,
const int& incx, std::complex<double>* tau )
const 1838 ZLARFG_F77(&
n, alpha, x, &incx, tau);
1842 void LAPACK<int, std::complex<double> >::GEBAL(
const char& JOBZ,
const int&
n, std::complex<double>*
A,
const int& lda,
const int& ilo,
const int& ihi,
double* scale,
int* info)
const 1846 ZGEBAL_F77(
CHAR_MACRO(JOBZ),&
n,
A, &lda, &ilo_copy, &ihi_copy, scale, info);
1848 void LAPACK<int, std::complex<double> >::GEBAL(
const char& JOBZ,
const int&
n, std::complex<double>*
A,
const int& lda,
int* ilo,
int* ihi,
double* scale,
int* info)
const 1850 ZGEBAL_F77(
CHAR_MACRO(JOBZ),&
n,
A, &lda, ilo, ihi, scale, info);
1854 void LAPACK<int, std::complex<double> >::GEBAK(
const char& JOBZ,
const char& SIDE,
const int&
n,
const int& ilo,
const int& ihi,
const double* scale,
const int& m, std::complex<double>* V,
const int& ldv,
int* info)
const 1860 #ifdef HAVE_TEUCHOS_LAPACKLARND 1861 std::complex<double> LAPACK<int, std::complex<double> >::LARND(
const int& idist,
int* seed )
const 1863 return(ZLARND_F77(&idist, seed));
1867 void LAPACK<int, std::complex<double> >::LARNV(
const int& idist,
int* seed,
const int&
n, std::complex<double>* v )
const 1869 ZLARNV_F77(&idist, seed, &
n, v);
1873 int LAPACK<int, std::complex<double> >::ILAENV(
const int& ispec,
const std::string& NAME,
const std::string& OPTS,
const int& N1,
const int& N2,
const int& N3,
const int& N4 )
const 1875 unsigned int opts_length = OPTS.length();
1876 std::string temp_NAME =
"z" + NAME;
1877 unsigned int name_length = temp_NAME.length();
1878 return ilaenv_wrapper(&ispec, &temp_NAME[0], name_length, &OPTS[0], opts_length, &N1, &N2, &N3, &N4);
1883 #endif // HAVE_TEUCHOS_COMPLEX 1886 #ifdef HAVE_TEUCHOSCORE_QUADMATH 1891 GEQRF(
const int& m,
const int&
n, __float128*
A,
const int& lda, __float128* TAU, __float128* WORK,
const int& lwork,
int* info)
const 1893 Teuchos::Details::Lapack128 lapack;
1894 lapack.GEQRF (m,
n,
A, lda, TAU, WORK, lwork, info);
1898 GEQR2(
const int& m,
const int&
n, __float128
A[],
const int& lda, __float128 TAU[], __float128 WORK[],
int*
const info)
const 1900 Teuchos::Details::Lapack128 lapack;
1901 lapack.GEQR2 (m,
n,
A, lda, TAU, WORK, info);
1905 GETRF(
const int& m,
const int&
n, __float128*
A,
const int& lda,
int* IPIV,
int* info)
const 1907 Teuchos::Details::Lapack128 lapack;
1908 lapack.GETRF (m,
n,
A, lda, IPIV, info);
1912 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 1914 Teuchos::Details::Lapack128 lapack;
1915 lapack.GETRS (
TRANS,
n, nrhs,
A, lda, IPIV,
B, ldb, info);
1919 GETRI (
const int&
n, __float128*
A,
const int& lda,
const int* IPIV, __float128* WORK,
const int& lwork,
int* info)
const 1921 Teuchos::Details::Lapack128 lapack;
1922 lapack.GETRI (
n,
A, lda, const_cast<int*> (IPIV), WORK, lwork, info);
1926 LASWP (
const int& N, __float128
A[],
const int& LDA,
const int& K1,
const int& K2,
const int IPIV[],
const int& INCX)
const 1928 Teuchos::Details::Lapack128 lapack;
1929 lapack.LASWP (N,
A, LDA, K1, K2, IPIV, INCX);
1933 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 1935 Teuchos::Details::Lapack128 lapack;
1936 lapack.ORM2R (SIDE,
TRANS, m,
n, k,
A, lda, TAU,
C, ldc, WORK, info);
1940 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 1942 Teuchos::Details::Lapack128 lapack;
1943 lapack.ORGQR (m,
n, k,
A, lda, TAU, WORK, lwork, info);
1947 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 1949 Teuchos::Details::Lapack128 lapack;
1950 lapack.UNGQR (m,
n, k,
A, lda, TAU, WORK, lwork, info);
1954 LARFG(
const int&
n, __float128* alpha, __float128* x,
const int& incx, __float128* tau )
const 1956 Teuchos::Details::Lapack128 lapack;
1957 lapack.LARFG (
n, alpha, x, incx, tau);
1961 LAPY2 (
const __float128 x,
const __float128 y)
const 1963 Teuchos::Details::Lapack128 lapack;
1964 return lapack.LAPY2 (x, y);
1968 GBTRF (
const int& m,
const int&
n,
const int& kl,
const int& ku,
1969 __float128*
A,
const int& lda,
int* IPIV,
int* info)
const 1971 Teuchos::Details::Lapack128 lapack;
1972 return lapack.GBTRF (m,
n, kl, ku,
A, lda, IPIV, info);
1976 GBTRS (
const char&
TRANS,
const int&
n,
const int& kl,
const int& ku,
1977 const int& nrhs,
const __float128*
A,
const int& lda,
const int* IPIV,
1978 __float128*
B,
const int& ldb,
int* info)
const 1980 Teuchos::Details::Lapack128 lapack;
1981 return lapack.GBTRS (
TRANS,
n, kl, ku, nrhs,
A, lda, IPIV,
B, ldb, info);
1985 LASCL (
const char& TYPE,
const int& kl,
const int& ku,
const __float128 cfrom,
1986 const __float128 cto,
const int& m,
const int&
n, __float128*
A,
1987 const int& lda,
int* info)
const 1989 Teuchos::Details::Lapack128 lapack;
1990 return lapack.LASCL (TYPE, kl, ku, cfrom, cto, m,
n,
A, lda, info);
1995 #endif // HAVE_TEUCHOSCORE_QUADMATH void PREFIX SLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int *N, float *A, const int *LDA, float *X, float *SCALE, float *CNORM, int *INFO)
void GBTRS(const char &TRANS, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, const OrdinalType *IPIV, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const
Solves a system of linear equations A*X=B or A'*X=B with a general banded n by n matrix A using the L...
void PREFIX SLARFG_F77(const int *n, float *alpha, float *x, const int *incx, float *tau)
void PREFIX SGEHRD_F77(const int *n, const int *ilo, const int *ihi, float *A, const int *lda, float *tau, float *work, const int *lwork, int *info)
void PREFIX SGEQP3_F77(const int *M, const int *N, float *A, const int *LDA, int *JPVT, float *TAU, float *WORK, const int *LWORK, int *INFO)
void POEQU(const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, MagnitudeType *S, MagnitudeType *scond, MagnitudeType *amax, OrdinalType *info) const
Computes row and column scalings intended to equilibrate a symmetric positive definite matrix A and r...
void PREFIX SGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, float *a, const int *lda, float *s, float *u, const int *ldu, float *v, const int *ldv, float *work, const int *lwork, int *info)
void PREFIX SORMQR_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, const int *k, float *a, const int *lda, const float *tau, float *C, const int *ldc, float *work, const int *lwork, int *info)
void ORMQR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const
void PREFIX DHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int *n, const int *ilo, const int *ihi, double *h, const int *ldh, double *wr, double *wi, double *z, const int *ldz, double *work, const int *lwork, int *info)
void TGEVC(const char &SIDE, const char &HOWMNY, const OrdinalType *SELECT, const OrdinalType &n, ScalarType *S, const OrdinalType &lds, ScalarType *P, const OrdinalType &ldp, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, const OrdinalType &mm, OrdinalType *M, ScalarType *WORK, OrdinalType *info) const
void PREFIX SPOEQU_F77(const int *n, const float *a, const int *lda, float *s, float *scond, float *amax, int *info)
void PREFIX DORMHR_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, const int *ilo, const int *ihi, const double *a, const int *lda, const double *tau, double *c, const int *ldc, double *work, const int *lwork, int *info)
void PREFIX DPOEQU_F77(const int *n, const double *a, const int *lda, double *s, double *scond, double *amax, int *info)
TEUCHOS_DEPRECATED void TREXC(const char &COMPQ, const OrdinalType &n, ScalarType *T, const OrdinalType &ldt, ScalarType *Q, const OrdinalType &ldq, const OrdinalType &ifst, const OrdinalType &ilst, ScalarType *WORK, OrdinalType *info) const
void PREFIX SGEQR2_F77(const int *const m, const int *const n, float a[], const int *const lda, float tau[], float work[], int *const info)
void PREFIX DTREVC_F77(Teuchos_fcd, Teuchos_fcd, int *select, const int *n, const double *t, const int *ldt, double *vl, const int *ldvl, double *vr, const int *ldvr, const int *mm, int *m, double *work, int *info)
void PREFIX STREVC_F77(Teuchos_fcd, Teuchos_fcd, int *select, const int *n, const float *t, const int *ldt, float *vl, const int *ldvl, float *vr, const int *ldvr, const int *mm, int *m, float *work, int *info)
void PREFIX DGBEQU_F77(const int *m, const int *n, const int *kl, const int *ku, const double *a, const int *lda, double *r, double *c, double *rowcnd, double *colcnd, double *amax, int *info)
void PREFIX DORMQR_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, const int *k, double *a, const int *lda, const double *tau, double *C, const int *ldc, double *work, const int *lwork, int *info)
void PREFIX SSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *ap, float *w, float *z, const int *ldz, float *work, int *info)
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 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 PREFIX DLARTG_F77(const double *f, const double *g, double *c, double *s, double *r)
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
Declaration and definition of Teuchos::Details::Lapack128, a partial implementation of Teuchos::LAPAC...
void PREFIX DPOTRF_F77(Teuchos_fcd, const int *n, double *a, const int *lda, int *info)
void PREFIX DGTTRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const double *dl, const double *d, const double *du, const double *du2, const int *ipiv, double *x, const int *ldx, int *info)
void PREFIX DGEQRF_F77(const int *m, const int *n, double *a, const int *lda, double *tau, double *work, const int *lwork, int *info)
void PREFIX SPTTRS_F77(const int *n, const int *nrhs, const float *d, const float *e, float *x, const int *ldx, int *info)
void PREFIX SGGES_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, int(*ptr2func)(float *, float *, float *), const int *n, float *A, const int *lda, float *B, const int *ldb, int *sdim, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *bwork, int *info)
void GEQP3(const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *jpvt, ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const
Computes a QR factorization with column pivoting of a matrix A: A*P = Q*R using Level 3 BLAS...
void 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...
void PREFIX SORM2R_F77(Teuchos_fcd SIDE, Teuchos_fcd TRANS, const int *const M, const int *const N, const int *const K, const float A[], const int *const LDA, const float TAU[], float C[], const int *const LDC, float WORK[], int *const INFO)
void 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 PREFIX DGECON_F77(Teuchos_fcd norm, const int *n, const double *a, const int *lda, const double *anorm, double *rcond, double *work, int *iwork, int *info)
void PREFIX SGECON_F77(Teuchos_fcd norm, const int *n, const float *a, const int *lda, const float *anorm, float *rcond, float *work, int *iwork, int *info)
TEUCHOS_DEPRECATED void POSVX(const char &FACT, const char &UPLO, const OrdinalType &n, const OrdinalType &nrhs, ScalarType *A, const OrdinalType &lda, ScalarType *AF, const OrdinalType &ldaf, const char &EQUED, ScalarType *S, ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *rcond, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const
Uses the Cholesky factorization to compute the solution to a real system of linear equations A*X=B...
void 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 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 STEQR(const char &COMPZ, const OrdinalType &n, ScalarType *D, ScalarType *E, ScalarType *Z, const OrdinalType &ldz, ScalarType *WORK, OrdinalType *info) const
Computes the eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal n by n matrix A usi...
void PREFIX STRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const float *a, const int *lda, int *info)
void PREFIX DGEQP3_F77(const int *M, const int *N, double *A, const int *LDA, int *JPVT, double *TAU, double *WORK, const int *LWORK, int *INFO)
void 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 PREFIX SGTTRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const float *dl, const float *d, const float *du, const float *du2, const int *ipiv, float *x, const int *ldx, int *info)
Teuchos header file which uses auto-configuration information to include necessary C++ headers...
void PREFIX DSPEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *ap, double *w, double *z, const int *ldz, double *work, int *info)
void PREFIX DSYGV_F77(const int *itype, Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *B, const int *ldb, double *w, double *work, const int *lwork, int *info)
void PREFIX SSTEQR_F77(Teuchos_fcd, const int *n, float *D, float *E, float *Z, const int *ldz, float *work, int *info)
void PREFIX DPTTRF_F77(const int *n, double *d, double *e, int *info)
void PREFIX DGGEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *A, const int *lda, double *B, const int *ldb, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info)
void PREFIX DGEHRD_F77(const int *n, const int *ilo, const int *ihi, double *A, const int *lda, double *tau, double *work, const int *lwork, int *info)
void PREFIX SGEES_F77(Teuchos_fcd, Teuchos_fcd, int(*ptr2func)(float *, float *), const int *n, float *a, const int *lda, int *sdim, float *wr, float *wi, float *vs, const int *ldvs, float *work, const int *lwork, int *bwork, int *info)
void 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 PREFIX SSYTRD_F77(Teuchos_fcd, const int *n, float *a, const int *lda, float *D, float *E, float *tau, float *work, const int *lwork, int *info)
void 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 PREFIX DGGES_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, int(*ptr2func)(double *, double *, double *), const int *n, double *A, const int *lda, double *B, const int *ldb, int *sdim, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *bwork, int *info)
void GBCON(const char &NORM, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const ScalarType *A, const OrdinalType &lda, OrdinalType *IPIV, const ScalarType &anorm, ScalarType *rcond, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const
Estimates the reciprocal of the condition number of a general banded real matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by GETRF.
void PREFIX SGELSS_F77(const int *m, const int *n, const int *nrhs, float *a, const int *lda, float *b, const int *ldb, float *s, const float *rcond, int *rank, float *work, const int *lwork, int *info)
void PTTRF(const OrdinalType &n, ScalarType *d, ScalarType *e, OrdinalType *info) const
Computes the L*D*L' factorization of a Hermitian/symmetric positive definite tridiagonal matrix A...
void PREFIX DSYEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *w, double *work, const int *lwork, int *info)
void 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 GESV(const OrdinalType &n, const OrdinalType &nrhs, ScalarType *A, const OrdinalType &lda, OrdinalType *IPIV, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const
Computes the solution to a real system of linear equations A*X=B, where A is factored through GETRF a...
void PREFIX SLASCL_F77(Teuchos_fcd, const int *kl, const int *ku, const float *cfrom, const float *cto, const int *m, const int *n, const float *a, const int *lda, int *info)
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 ...
double PREFIX DLARND_F77(const int *idist, int *seed)
float PREFIX SLAMCH_F77(Teuchos_fcd)
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...
void PREFIX DTRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, const double *a, const int *lda, double *b, const int *ldb, int *info)
void 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 ...
double PREFIX DLAPY2_F77(const double *x, const double *y)
double PREFIX DLAMCH_F77(Teuchos_fcd)
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...
The Templated LAPACK wrappers.
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 PREFIX SPOTRI_F77(Teuchos_fcd, const int *n, float *a, const int *lda, int *info)
This structure defines some basic traits for a scalar field type.
void PREFIX DGBTRF_F77(const int *m, const int *n, const int *kl, const int *ku, double *a, const int *lda, int *ipiv, int *info)
void 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 PREFIX SPOTRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const float *a, const int *lda, float *x, const int *ldx, int *info)
void PREFIX DPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, double *a, const int *lda, double *af, const int *ldaf, Teuchos_nonconst_fcd, double *s, double *b, const int *ldb, double *x, const int *ldx, double *rcond, double *ferr, double *berr, double *work, int *iwork, int *info)
void PREFIX SGGEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *A, const int *lda, float *B, const int *ldb, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *info)
void 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
#define CHAR_MACRO(char_var)
void PREFIX DORM2R_F77(Teuchos_fcd SIDE, Teuchos_fcd TRANS, const int *const M, const int *const N, const int *const K, const double A[], const int *const LDA, const double TAU[], double C[], const int *const LDC, double WORK[], int *const INFO)
void PREFIX DSTEQR_F77(Teuchos_fcd, const int *n, double *D, double *E, double *Z, const int *ldz, double *work, int *info)
double PREFIX DLANGB_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const double *a, const int *lda, double *work)
void PREFIX DGETRI_F77(const int *n, double *a, const int *lda, const int *ipiv, double *work, const int *lwork, int *info)
void PREFIX DGEEQU_F77(const int *m, const int *n, const double *a, const int *lda, double *r, double *c, double *rowcnd, double *colcnd, double *amax, int *info)
ScalarType LAMCH(const char &CMACH) const
Determines machine parameters for floating point characteristics.
void PREFIX SGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *b, const int *ldb, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, int *ilo, int *ihi, float *lscale, float *rscale, float *abnrm, float *bbnrm, float *rconde, float *rcondv, float *work, const int *lwork, int *iwork, int *bwork, int *info)
Templated interface class to LAPACK routines.
void PREFIX DGEBAL_F77(Teuchos_fcd, const int *n, double *a, const int *lda, int *ilo, int *ihi, double *scale, int *info)
void PREFIX SPORFS_F77(Teuchos_fcd, const int *n, const int *nrhs, float *a, const int *lda, const float *af, const int *ldaf, const float *b, const int *ldb, float *x, const int *ldx, float *ferr, float *berr, float *work, int *iwork, int *info)
void PREFIX DPOTRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const double *a, const int *lda, double *x, const int *ldx, int *info)
void PREFIX SGBTRS_F77(Teuchos_fcd, const int *n, const int *kl, const int *ku, const int *nrhs, const float *a, const int *lda, const int *ipiv, float *x, const int *ldx, int *info)
void PREFIX SGBCON_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const float *a, const int *lda, int *IPIV, const float *anorm, float *rcond, float *work, int *iwork, int *info)
void PREFIX DTREXC_F77(Teuchos_fcd, const int *n, double *t, const int *ldt, double *q, const int *ldq, int *ifst, int *ilst, double *work, int *info)
void PREFIX SGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *wr, float *wi, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *info)
void 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 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 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 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
ScalarType LARND(const OrdinalType &idist, OrdinalType *seed) const
Returns a random number from a uniform or normal distribution.
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 GTTRS(const char &TRANS, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *dl, const ScalarType *d, const ScalarType *du, const ScalarType *du2, const OrdinalType *IPIV, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const
Solves a system of linear equations A*X=B or A'*X=B or A^H*X=B with a tridiagonal matrix A using the ...
void PREFIX SGTTRF_F77(const int *n, float *dl, float *d, float *du, float *du2, int *ipiv, int *info)
void ORM2R(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, const ScalarType A[], const OrdinalType &lda, const ScalarType TAU[], ScalarType C[], const OrdinalType &ldc, ScalarType WORK[], OrdinalType *const info) const
BLAS 2 version of ORMQR; known workspace size.
void 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 UNMQR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const
Apply Householder reflectors (complex case).
void PREFIX DGEES_F77(Teuchos_fcd, Teuchos_fcd, int(*ptr2func)(double *, double *), const int *n, double *a, const int *lda, int *sdim, double *wr, double *wi, double *vs, const int *ldvs, double *work, const int *lwork, int *bwork, int *info)
void PREFIX DGEEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *wr, double *wi, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info)
void PREFIX DTRTRI_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const double *a, const int *lda, int *info)
void 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.
ScalarTraits< ScalarType >::magnitudeType LANGB(const char &NORM, const OrdinalType &n, const OrdinalType &kl, const OrdinalType &ku, const ScalarType *A, const OrdinalType &lda, MagnitudeType *WORK) const
Returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of lar...
void PREFIX DGESV_F77(const int *n, const int *nrhs, double *a, const int *lda, int *ipiv, double *x, const int *ldx, int *info)
void PREFIX DGEEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *alphar, double *alphai, double *vl, const int *ldvl, double *vr, const int *ldvr, int *ilo, int *ihi, double *scale, double *abnrm, double *rconde, double *rcondv, double *work, const int *lwork, int *iwork, int *info)
void 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 GEHRD(const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, ScalarType *A, const OrdinalType &lda, ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const
Reduces a real general matrix A to upper Hessenberg form by orthogonal similarity transformations...
void PREFIX STREXC_F77(Teuchos_fcd, const int *n, float *t, const int *ldt, float *q, const int *ldq, int *ifst, int *ilst, float *work, int *info)
ScalarType LAPY2(const ScalarType &x, const ScalarType &y) const
Computes x^2 + y^2 safely, to avoid overflow.
void PREFIX STGSEN_F77(const int *ijob, const int *wantq, const int *wantz, const int *select, const int *n, float *a, const int *lda, float *b, const int *ldb, float *alphar, float *alphai, float *beta, float *q, const int *ldq, float *z, const int *ldz, int *m, float *pl, float *pr, float *dif, float *work, const int *lwork, int *iwork, const int *liwork, int *info)
void PREFIX SGBEQU_F77(const int *m, const int *n, const int *kl, const int *ku, const float *a, const int *lda, float *r, float *c, float *rowcnd, float *colcnd, float *amax, int *info)
#define TEUCHOS_MAX(x, y)
void PREFIX DGEQR2_F77(const int *const m, const int *const n, double a[], const int *const lda, double tau[], double work[], int *const info)
void PREFIX SGETRI_F77(const int *n, float *a, const int *lda, const int *ipiv, float *work, const int *lwork, int *info)
void PREFIX SGETRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const float *a, const int *lda, const int *ipiv, float *x, const int *ldx, int *info)
void PREFIX DLASCL_F77(Teuchos_fcd, const int *kl, const int *ku, const double *cfrom, const double *cto, const int *m, const int *n, const double *a, const int *lda, int *info)
void PREFIX SLARNV_F77(const int *idist, int *seed, const int *n, float *v)
void PREFIX SGEEQU_F77(const int *m, const int *n, const float *a, const int *lda, float *r, float *c, float *rowcnd, float *colcnd, float *amax, int *info)
void PREFIX SGERFS_F77(Teuchos_fcd, const int *n, const int *nrhs, const float *a, const int *lda, const float *af, const int *ldaf, const int *ipiv, const float *b, const int *ldb, float *x, const int *ldx, float *ferr, float *berr, float *work, int *iwork, int *info)
void PREFIX DGBCON_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const double *a, const int *lda, int *IPIV, const double *anorm, double *rcond, double *work, int *iwork, int *info)
void PREFIX SGESV_F77(const int *n, const int *nrhs, float *a, const int *lda, int *ipiv, float *x, const int *ldx, int *info)
void PREFIX DTRSEN_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, double *t, const int *ldt, double *q, const int *ldq, double *wr, double *wi, int *m, double *s, double *sep, double *work, const int *lwork, int *iwork, const int *liwork, int *info)
void PREFIX SGGLSE_F77(const int *m, const int *n, const int *p, float *a, const int *lda, float *b, const int *ldb, float *c, float *d, float *x, float *work, const int *lwork, int *info)
void PREFIX SORGQR_F77(const int *m, const int *n, const int *k, float *a, const int *lda, const float *tau, float *work, const int *lwork, int *info)
void PREFIX DGERFS_F77(Teuchos_fcd, const int *n, const int *nrhs, const double *a, const int *lda, const double *af, const int *ldaf, const int *ipiv, const double *b, const int *ldb, double *x, const int *ldx, double *ferr, double *berr, double *work, int *iwork, int *info)
void PREFIX STGEVC_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, float *s, const int *lds, float *p, const int *ldp, float *vl, const int *ldvl, float *vr, const int *ldvr, const int *mm, int *m, float *work, int *info)
TEUCHOS_DEPRECATED void GEBAL(const char &JOBZ, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, const OrdinalType &ilo, const OrdinalType &ihi, MagnitudeType *scale, OrdinalType *info) const
Balances a general matrix A, through similarity transformations to make the rows and columns as close...
void PREFIX SGBTRF_F77(const int *m, const int *n, const int *kl, const int *ku, float *a, const int *lda, int *ipiv, int *info)
void PREFIX DLATRS_F77(Teuchos_fcd UPLO, Teuchos_fcd TRANS, Teuchos_fcd DIAG, Teuchos_fcd NORMIN, const int *N, double *A, const int *LDA, double *X, double *SCALE, double *CNORM, int *INFO)
void PREFIX DGELS_F77(Teuchos_fcd ch, const int *m, const int *n, const int *nrhs, double *a, const int *lda, double *b, const int *ldb, double *work, const int *lwork, int *info)
void ORGHR(const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const
Generates a real orthogonal matrix Q which is the product of ihi-ilo elementary reflectors of order n...
void PREFIX DGETRS_F77(Teuchos_fcd, const int *n, const int *nrhs, const double *a, const int *lda, const int *ipiv, double *x, const int *ldx, int *info)
void PREFIX SSYGV_F77(const int *itype, Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *B, const int *ldb, float *w, float *work, const int *lwork, int *info)
void PREFIX DPOSV_F77(Teuchos_fcd, const int *n, const int *nrhs, double *a, const int *lda, double *x, const int *ldx, int *info)
float PREFIX SLANGB_F77(Teuchos_fcd norm, const int *n, const int *kl, const int *ku, const float *a, const int *lda, float *work)
void PREFIX SPOSV_F77(Teuchos_fcd, const int *n, const int *nrhs, float *a, const int *lda, float *x, const int *ldx, int *info)
void PREFIX SLASWP_F77(const int *N, float A[], const int *LDA, const int *K1, const int *K2, const int IPIV[], const int *INCX)
int(* gees_nullfptr_t)(double *, double *)
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.
TEUCHOS_DEPRECATED 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, const char &EQUED, ScalarType *R, ScalarType *C, ScalarType *B, const OrdinalType &ldb, ScalarType *X, const OrdinalType &ldx, ScalarType *rcond, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const
Uses the LU factorization to compute the solution to a real system of linear equations A*X=B...
void PREFIX SGBRFS_F77(Teuchos_fcd, const int *n, const int *kl, const int *ku, const int *nrhs, const float *a, const int *lda, const float *af, const int *ldaf, const int *ipiv, const float *b, const int *ldb, float *x, const int *ldx, float *ferr, float *berr, float *work, int *iwork, int *info)
void PREFIX SORMHR_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, const int *ilo, const int *ihi, const float *a, const int *lda, const float *tau, float *c, const int *ldc, float *work, const int *lwork, int *info)
void 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 PREFIX DTGEVC_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, double *s, const int *lds, double *p, const int *ldp, double *vl, const int *ldvl, double *vr, const int *ldvr, const int *mm, int *m, double *work, int *info)
void PREFIX SPOTRF_F77(Teuchos_fcd, const int *n, float *a, const int *lda, int *info)
void PREFIX DGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, double *a, const int *lda, double *af, const int *ldaf, int *ipiv, Teuchos_nonconst_fcd, double *r, double *c, double *b, const int *ldb, double *x, const int *ldx, double *rcond, double *ferr, double *berr, double *work, int *iwork, int *info)
void PREFIX SGEBAK_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *ilo, const int *ihi, const float *scale, const int *m, float *V, const int *ldv, int *info)
void PREFIX DPOTRI_F77(Teuchos_fcd, const int *n, double *a, const int *lda, int *info)
void PREFIX DLARNV_F77(const int *idist, int *seed, const int *n, double *v)
void PREFIX DGEBAK_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *ilo, const int *ihi, const double *scale, const int *m, double *V, const int *ldv, int *info)
void PREFIX DSYTRD_F77(Teuchos_fcd, const int *n, double *a, const int *lda, double *D, double *E, double *tau, double *work, const int *lwork, int *info)
void PREFIX SGEBAL_F77(Teuchos_fcd, const int *n, float *a, const int *lda, int *ilo, int *ihi, float *scale, int *info)
void 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.
void POTRF(const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *info) const
Computes Cholesky factorization of a real symmetric positive definite matrix A.
void PREFIX DGBRFS_F77(Teuchos_fcd, const int *n, const int *kl, const int *ku, const int *nrhs, const double *a, const int *lda, const double *af, const int *ldaf, const int *ipiv, const double *b, const int *ldb, double *x, const int *ldx, double *ferr, double *berr, double *work, int *iwork, int *info)
void PREFIX SORGHR_F77(const int *n, const int *ilo, const int *ihi, float *a, const int *lda, const float *tau, float *work, const int *lwork, int *info)
void UNM2R(const char &SIDE, const char &TRANS, const OrdinalType &M, const OrdinalType &N, const OrdinalType &K, const ScalarType A[], const OrdinalType &LDA, const ScalarType TAU[], ScalarType C[], const OrdinalType &LDC, ScalarType WORK[], OrdinalType *const INFO) const
BLAS 2 version of UNMQR; known workspace size.
void PREFIX SGELS_F77(Teuchos_fcd ch, const int *m, const int *n, const int *nrhs, float *a, const int *lda, float *b, const int *ldb, float *work, const int *lwork, int *info)
void TRSEN(const char &JOB, const char &COMPQ, const OrdinalType *SELECT, const OrdinalType &n, ScalarType *T, const OrdinalType &ldt, ScalarType *Q, const OrdinalType &ldq, MagnitudeType *WR, MagnitudeType *WI, OrdinalType *M, ScalarType *S, MagnitudeType *SEP, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *IWORK, const OrdinalType &liwork, OrdinalType *info) const
void PREFIX DGGEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, double *a, const int *lda, double *b, const int *ldb, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, int *ilo, int *ihi, double *lscale, double *rscale, double *abnrm, double *bbnrm, double *rconde, double *rcondv, double *work, const int *lwork, int *iwork, int *bwork, int *info)
void LARNV(const OrdinalType &idist, OrdinalType *seed, const OrdinalType &n, ScalarType *v) const
Returns a vector of random numbers from a chosen distribution.
void PREFIX DORGQR_F77(const int *m, const int *n, const int *k, double *a, const int *lda, const double *tau, double *work, const int *lwork, int *info)
void PREFIX DPOCON_F77(Teuchos_fcd, const int *n, const double *a, const int *lda, const double *anorm, double *rcond, double *work, int *iwork, int *info)
Defines basic traits for the scalar field type.
void PREFIX DLARFG_F77(const int *n, double *alpha, double *x, const int *incx, double *tau)
void GEEV(const char &JOBVL, const char &JOBVR, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, MagnitudeType *WR, MagnitudeType *WI, ScalarType *VL, const OrdinalType &ldvl, ScalarType *VR, const OrdinalType &ldvr, ScalarType *WORK, const OrdinalType &lwork, MagnitudeType *RWORK, OrdinalType *info) const
Computes for an n by n real nonsymmetric matrix A, the eigenvalues and, optionally, the left and/or right eigenvectors.
void PREFIX STRTRS_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, const float *a, const int *lda, float *b, const int *ldb, int *info)
void LATRS(const char &UPLO, const char &TRANS, const char &DIAG, const char &NORMIN, const OrdinalType &N, ScalarType *A, const OrdinalType &LDA, ScalarType *X, MagnitudeType *SCALE, MagnitudeType *CNORM, OrdinalType *INFO) const
Robustly solve a possibly singular triangular linear system.
void PREFIX DGBTRS_F77(Teuchos_fcd, const int *n, const int *kl, const int *ku, const int *nrhs, const double *a, const int *lda, const int *ipiv, double *x, const int *ldx, int *info)
void PREFIX SGESVX_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, float *a, const int *lda, float *af, const int *ldaf, int *ipiv, Teuchos_nonconst_fcd, float *r, float *c, float *b, const int *ldb, float *x, const int *ldx, float *rcond, float *ferr, float *berr, float *work, int *iwork, int *info)
void 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.
#define CHARPTR_MACRO(charptr_var)
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 PREFIX DGGLSE_F77(const int *m, const int *n, const int *p, double *a, const int *lda, double *b, const int *ldb, double *c, double *d, double *x, double *work, const int *lwork, int *info)
void PREFIX SSYEV_F77(Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *w, float *work, const int *lwork, int *info)
void PREFIX DPORFS_F77(Teuchos_fcd, const int *n, const int *nrhs, double *a, const int *lda, const double *af, const int *ldaf, const double *b, const int *ldb, double *x, const int *ldx, double *ferr, double *berr, double *work, int *iwork, int *info)
void PREFIX DTGSEN_F77(const int *ijob, const int *wantq, const int *wantz, const int *select, const int *n, double *a, const int *lda, double *b, const int *ldb, double *alphar, double *alphai, double *beta, double *q, const int *ldq, double *z, const int *ldz, int *m, double *pl, double *pr, double *dif, double *work, const int *lwork, int *iwork, const int *liwork, int *info)
void UNGQR(const OrdinalType &m, const OrdinalType &n, const OrdinalType &k, ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const
Compute explicit QR factor from QR factorization (GEQRF) (complex case).
void PREFIX SGEQRF_F77(const int *m, const int *n, float *a, const int *lda, float *tau, float *work, const int *lwork, int *info)
void LASWP(const OrdinalType &N, ScalarType A[], const OrdinalType &LDA, const OrdinalType &K1, const OrdinalType &K2, const OrdinalType IPIV[], const OrdinalType &INCX) const
Apply a series of row interchanges to the matrix A.
void GTTRF(const OrdinalType &n, ScalarType *dl, ScalarType *d, ScalarType *du, ScalarType *du2, OrdinalType *IPIV, OrdinalType *info) const
Computes an LU factorization of a n by n tridiagonal matrix A using partial pivoting with row interch...
void PREFIX SGETRF_F77(const int *m, const int *n, float *a, const int *lda, int *ipiv, int *info)
void POTRS(const char &UPLO, const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *A, const OrdinalType &lda, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const
Solves a system of linear equations A*X=B, where A is a symmetric positive definite matrix factored b...
void PREFIX SLARTG_F77(const float *f, const float *g, float *c, float *s, float *r)
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 ORMHR(const char &SIDE, const char &TRANS, const OrdinalType &m, const OrdinalType &n, const OrdinalType &ilo, const OrdinalType &ihi, const ScalarType *A, const OrdinalType &lda, const ScalarType *TAU, ScalarType *C, const OrdinalType &ldc, ScalarType *WORK, const OrdinalType &lwork, OrdinalType *info) const
Overwrites the general real m by n matrix C with the product of C and Q, which is a product of ihi-il...
void PREFIX DGELSS_F77(const int *m, const int *n, const int *nrhs, double *a, const int *lda, double *b, const int *ldb, double *s, const double *rcond, int *rank, double *work, const int *lwork, int *info)
void PREFIX DPTTRS_F77(const int *n, const int *nrhs, const double *d, const double *e, double *x, const int *ldx, int *info)
void PREFIX SPOSVX_F77(Teuchos_fcd, Teuchos_fcd, const int *n, const int *nrhs, float *a, const int *lda, float *af, const int *ldaf, Teuchos_nonconst_fcd, float *s, float *b, const int *ldb, float *x, const int *ldx, float *rcond, float *ferr, float *berr, float *work, int *iwork, int *info)
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 GETRF(const OrdinalType &m, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *IPIV, OrdinalType *info) const
Computes an LU factorization of a general m by n matrix A using partial pivoting with row interchange...
void PREFIX DGESVD_F77(Teuchos_fcd, Teuchos_fcd, const int *m, const int *n, double *a, const int *lda, double *s, double *u, const int *ldu, double *v, const int *ldv, double *work, const int *lwork, int *info)
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...
#define TEUCHOS_MIN(x, y)
void PREFIX SHSEQR_F77(Teuchos_fcd job, Teuchos_fcd, const int *n, const int *ilo, const int *ihi, float *h, const int *ldh, float *wr, float *wi, float *z, const int *ldz, float *work, const int *lwork, int *info)
void PTTRS(const OrdinalType &n, const OrdinalType &nrhs, const ScalarType *d, const ScalarType *e, ScalarType *B, const OrdinalType &ldb, OrdinalType *info) const
Solves a tridiagonal system A*X=B using the *D*L' factorization of A computed by PTTRF.
int PREFIX ILAENV_F77(const int *ispec, const char *name, const char *opts, const int *N1, const int *N2, const int *N3, const int *N4, unsigned int name_length, unsigned int opts_length)
void PREFIX DGTTRF_F77(const int *n, double *dl, double *d, double *du, double *du2, int *ipiv, int *info)
void PREFIX SGEEVX_F77(Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, Teuchos_fcd, const int *n, float *a, const int *lda, float *wr, float *wi, float *vl, const int *ldvl, float *vr, const int *ldvr, int *ilo, int *ihi, float *scale, float *abnrm, float *rconde, float *rcondv, float *work, const int *lwork, int *iwork, int *info)
void PREFIX DGETRF_F77(const int *m, const int *n, double *a, const int *lda, int *ipiv, int *info)
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...
float PREFIX SLARND_F77(const int *idist, int *seed)
void TRTRI(const char &UPLO, const char &DIAG, const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, OrdinalType *info) const
Computes the inverse of an upper or lower triangular matrix A.
void POTRI(const char &UPLO, const OrdinalType &n, ScalarType *A, const OrdinalType &lda, OrdinalType *info) const
Computes the inverse of a real symmetric positive definite matrix A using the Cholesky factorization ...
void PREFIX SPTTRF_F77(const int *n, float *d, float *e, int *info)
void GECON(const char &NORM, const OrdinalType &n, const ScalarType *A, const OrdinalType &lda, const ScalarType &anorm, ScalarType *rcond, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const
Estimates the reciprocal of the condition number of a general real matrix A, in either the 1-norm or ...
void PREFIX DORGHR_F77(const int *n, const int *ilo, const int *ihi, double *a, const int *lda, const double *tau, double *work, const int *lwork, int *info)
void PREFIX STRSEN_F77(Teuchos_fcd, Teuchos_fcd, const int *select, const int *n, float *t, const int *ldt, float *q, const int *ldq, float *wr, float *wi, int *m, float *s, float *sep, float *work, const int *lwork, int *iwork, const int *liwork, int *info)
void PREFIX SPOCON_F77(Teuchos_fcd, const int *n, const float *a, const int *lda, const float *anorm, float *rcond, float *work, int *iwork, int *info)
void PREFIX DLASWP_F77(const int *N, double A[], const int *LDA, const int *K1, const int *K2, const int IPIV[], const int *INCX)
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