44#ifndef EPETRA_LAPACK_H
45#define EPETRA_LAPACK_H
92 void POTRF(
const char UPLO,
const int N,
float * A,
const int LDA,
int * INFO)
const;
94 void POTRF(
const char UPLO,
const int N,
double * A,
const int LDA,
int * INFO)
const;
97 void POTRS(
const char UPLO,
const int N,
const int NRHS,
const float * A,
const int LDA,
float * X,
const int LDX,
int * INFO)
const;
99 void POTRS(
const char UPLO,
const int N,
const int NRHS,
const double * A,
const int LDA,
double * X,
const int LDX,
int * INFO)
const;
102 void POTRI(
const char UPLO,
const int N,
float * A,
const int LDA,
int * INFO)
const;
104 void POTRI(
const char UPLO,
const int N,
double * A,
const int LDA,
int * INFO)
const;
107 void POCON(
const char UPLO,
const int N,
const float * A,
const int LDA,
const float ANORM,
108 float * RCOND,
float * WORK,
int * IWORK,
int * INFO)
const;
110 void POCON(
const char UPLO,
const int N,
const double * A,
const int LDA,
const double ANORM,
111 double * RCOND,
double * WORK,
int * IWORK,
int * INFO)
const;
114 void POSV(
const char UPLO,
const int N,
const int NRHS,
float * A,
const int LDA,
float * X,
const int LDX,
int * INFO)
const;
116 void POSV(
const char UPLO,
const int N,
const int NRHS,
double * A,
const int LDA,
double * X,
const int LDX,
int * INFO)
const;
119 void POEQU(
const int N,
const float * A,
const int LDA,
float * S,
float * SCOND,
float * AMAX,
int * INFO)
const;
121 void POEQU(
const int N,
const double * A,
const int LDA,
double * S,
double * SCOND,
double * AMAX,
int * INFO)
const;
124 void PORFS(
const char UPLO,
const int N,
const int NRHS,
const float * A,
const int LDA,
const float * AF,
const int LDAF,
125 const float * B,
const int LDB,
float * X,
const int LDX,
126 float * FERR,
float * BERR,
float * WORK,
int * IWORK,
int * INFO)
const;
128 void PORFS(
const char UPLO,
const int N,
const int NRHS,
const double * A,
const int LDA,
const double * AF,
const int LDAF,
129 const double * B,
const int LDB,
double * X,
const int LDX,
130 double * FERR,
double * BERR,
double * WORK,
int * IWORK,
int * INFO)
const;
133 void POSVX(
const char FACT,
const char UPLO,
const int N,
const int NRHS,
float * A,
const int LDA,
float * AF,
const int LDAF,
134 const char EQUED,
float * S,
float * B,
const int LDB,
float * X,
const int LDX,
float * RCOND,
135 float * FERR,
float * BERR,
float * WORK,
int * IWORK,
int * INFO)
const;
137 void POSVX(
const char FACT,
const char UPLO,
const int N,
const int NRHS,
double * A,
const int LDA,
double * AF,
const int LDAF,
138 const char EQUED,
double * S,
double * B,
const int LDB,
double * X,
const int LDX,
double * RCOND,
139 double * FERR,
double * BERR,
double * WORK,
int * IWORK,
int * INFO)
const;
146 void GELS(
const char TRANS,
const int M,
const int N,
const int NRHS,
double* A,
const int LDA,
147 double* B,
const int LDB,
double* WORK,
const int LWORK,
int * INFO)
const;
149 void GETRF(
const int M,
const int N,
float * A,
const int LDA,
int * IPIV,
int * INFO)
const;
151 void GETRF(
const int M,
const int N,
double * A,
const int LDA,
int * IPIV,
int * INFO)
const;
154 void GEQRF(
const int M,
const int N,
float * A,
const int LDA,
float * TAU,
float * WORK,
const int lwork,
int * INFO)
const;
156 void GEQRF(
const int M,
const int N,
double * A,
const int LDA,
double * TAU,
double * WORK,
const int lwork,
int * INFO)
const;
159 void GETRS(
const char TRANS,
const int N,
const int NRHS,
const float * A,
const int LDA,
const int * IPIV,
float * X,
const int LDX,
int * INFO)
const;
161 void GETRS(
const char TRANS,
const int N,
const int NRHS,
const double * A,
const int LDA,
const int * IPIV,
double * X,
const int LDX,
int * INFO)
const;
164 void GETRI(
const int N,
float * A,
const int LDA,
int * IPIV,
float * WORK,
const int * LWORK,
int * INFO)
const;
166 void GETRI(
const int N,
double * A,
const int LDA,
int * IPIV,
double * WORK,
const int * LWORK,
int * INFO)
const;
169 void GECON(
const char NORM,
const int N,
const float * A,
const int LDA,
const float ANORM,
170 float * RCOND,
float * WORK,
int * IWORK,
int * INFO)
const;
172 void GECON(
const char NORM,
const int N,
const double * A,
const int LDA,
const double ANORM,
173 double * RCOND,
double * WORK,
int * IWORK,
int * INFO)
const;
176 void GESV(
const int N,
const int NRHS,
float * A,
const int LDA,
int * IPIV,
float * X,
const int LDX,
int * INFO)
const;
178 void GESV(
const int N,
const int NRHS,
double * A,
const int LDA,
int * IPIV,
double * X,
const int LDX,
int * INFO)
const;
181 void GEEQU(
const int M,
const int N,
const float * A,
const int LDA,
float * R,
float * C,
float * ROWCND,
float * COLCND,
float * AMAX,
int * INFO)
const;
183 void GEEQU(
const int M,
const int N,
const double * A,
const int LDA,
double * R,
double * C,
double * ROWCND,
double * COLCND,
double * AMAX,
int * INFO)
const;
186 void GERFS(
const char TRANS,
const int N,
const int NRHS,
const float * A,
const int LDA,
const float * AF,
const int LDAF,
187 const int * IPIV,
const float * B,
const int LDB,
float * X,
const int LDX,
188 float * FERR,
float * BERR,
float * WORK,
int * IWORK,
int * INFO)
const;
190 void GERFS(
const char TRANS,
const int N,
const int NRHS,
const double * A,
const int LDA,
const double * AF,
const int LDAF,
191 const int * IPIV,
const double * B,
const int LDB,
double * X,
const int LDX,
192 double * FERR,
double * BERR,
double * WORK,
int * IWORK,
int * INFO)
const;
195 void GESVX(
const char FACT,
const char TRANS,
const int N,
const int NRHS,
float * A,
const int LDA,
float * AF,
const int LDAF,
int * IPIV,
196 const char EQUED,
float * R,
float * C,
float * B,
const int LDB,
float * X,
const int LDX,
float * RCOND,
197 float * FERR,
float * BERR,
float * WORK,
int * IWORK,
int * INFO)
const;
199 void GESVX(
const char FACT,
const char TRANS,
const int N,
const int NRHS,
double * A,
const int LDA,
double * AF,
const int LDAF,
int * IPIV,
200 const char EQUED,
double * R,
double * C,
double * B,
const int LDB,
double * X,
const int LDX,
double * RCOND,
201 double * FERR,
double * BERR,
double * WORK,
int * IWORK,
int * INFO)
const;
205 void GEHRD(
const int N,
const int ILO,
const int IHI,
float * A,
const int LDA,
float * TAU,
float * WORK,
const int LWORK,
int * INFO)
const;
207 void GEHRD(
const int N,
const int ILO,
const int IHI,
double * A,
const int LDA,
double * TAU,
double * WORK,
const int LWORK,
int * INFO)
const;
213 void HSEQR(
const char JOB,
const char COMPZ,
const int N,
const int ILO,
const int IHI,
float * H,
const int LDH,
float * WR,
float * WI,
214 float * Z,
const int LDZ,
float * WORK,
const int LWORK,
int * INFO)
const;
216 void HSEQR(
const char JOB,
const char COMPZ,
const int N,
const int ILO,
const int IHI,
double * H,
const int LDH,
double * WR,
double * WI,
217 double * Z,
const int LDZ,
double * WORK,
const int LWORK,
int * INFO)
const;
223 void ORGQR(
const int M,
const int N,
const int K,
float * A,
const int LDA,
float * TAU,
float * WORK,
const int LWORK,
int * INFO)
const;
225 void ORGQR(
const int M,
const int N,
const int K,
double * A,
const int LDA,
double * TAU,
double * WORK,
const int LWORK,
int * INFO)
const;
228 void ORGHR(
const int N,
const int ILO,
const int IHI,
float * A,
const int LDA,
float * TAU,
float * WORK,
const int LWORK,
int * INFO)
const;
230 void ORGHR(
const int N,
const int ILO,
const int IHI,
double * A,
const int LDA,
double * TAU,
double * WORK,
const int LWORK,
int * INFO)
const;
233 void ORMHR(
const char SIDE,
const char TRANS,
const int M,
const int N,
const int ILO,
const int IHI,
const float * A,
const int LDA,
234 const float * TAU,
float * C,
235 const int LDC,
float * WORK,
const int LWORK,
int * INFO)
const;
237 void ORMHR(
const char SIDE,
const char TRANS,
const int M,
const int N,
const int ILO,
const int IHI,
const double * A,
const int LDA,
238 const double * TAU,
double * C,
239 const int LDC,
double * WORK,
const int LWORK,
int * INFO)
const;
241 void LARFT(
const char DIRECT,
const char STOREV,
const int N,
const int K,
double * V,
const int LDV,
double * TAU,
double * T,
const int LDT)
const;
243 void LARFT(
const char DIRECT,
const char STOREV,
const int N,
const int K,
float * V,
const int LDV,
float * TAU,
float * T,
const int LDT)
const;
252 void TREVC(
const char SIDE,
const char HOWMNY,
int * SELECT,
const int N,
const float * T,
const int LDT,
float *VL,
const int LDVL,
253 float * VR,
const int LDVR,
const int MM,
int * M,
float * WORK,
int * INFO)
const;
257 void TREVC(
const char SIDE,
const char HOWMNY,
int * SELECT,
const int N,
const double * T,
const int LDT,
double *VL,
const int LDVL,
258 double * VR,
const int LDVR,
const int MM,
int *M,
double * WORK,
int * INFO)
const;
261 void TREXC(
const char COMPQ,
const int N,
float * T,
const int LDT,
float * Q,
const int LDQ,
int IFST,
int ILST,
262 float * WORK,
int * INFO)
const;
264 void TREXC(
const char COMPQ,
const int N,
double * T,
const int LDT,
double * Q,
const int LDQ,
int IFST,
int ILST,
265 double * WORK,
int * INFO)
const;
272 void GESVD(
const char JOBU,
const char JOBVT,
const int M,
const int N,
float * A,
const int LDA,
float * S,
float * U,
273 const int LDU,
float * VT,
const int LDVT,
float * WORK,
const int * LWORK,
int * INFO)
const;
275 void GESVD(
const char JOBU,
const char JOBVT,
const int M,
const int N,
double * A,
const int LDA,
double * S,
double * U,
276 const int LDU,
double * VT,
const int LDVT,
double * WORK,
const int * LWORK,
int * INFO)
const;
279 void GGSVD(
const char JOBU,
const char JOBV,
const char JOBQ,
const int M,
const int N,
const int P,
int * K,
int * L,
double* A,
const int LDA,
double* B,
const int LDB,
280 double* ALPHA,
double* BETA,
double* U,
const int LDU,
double* V,
const int LDV,
double* Q,
const int LDQ,
double* WORK,
281 #ifdef HAVE_EPETRA_LAPACK_GSSVD3
284 int* IWORK,
int* INFO)
const;
286 void GGSVD(
const char JOBU,
const char JOBV,
const char JOBQ,
const int M,
const int N,
const int P,
int * K,
int * L,
float* A,
const int LDA,
float* B,
const int LDB,
287 float* ALPHA,
float* BETA,
float* U,
const int LDU,
float* V,
const int LDV,
float* Q,
const int LDQ,
float* WORK,
288 #ifdef HAVE_EPETRA_LAPACK_GSSVD3
291 int* IWORK,
int* INFO)
const;
297 void GEEV(
const char JOBVL,
const char JOBVR,
const int N,
double* A,
const int LDA,
double* WR,
double* WI,
298 double* VL,
const int LDVL,
double* VR,
const int LDVR,
double* WORK,
const int LWORK,
int* INFO)
const;
300 void GEEV(
const char JOBVL,
const char JOBVR,
const int N,
float* A,
const int LDA,
float* WR,
float* WI,
301 float* VL,
const int LDVL,
float* VR,
const int LDVR,
float* WORK,
const int LWORK,
int* INFO)
const;
304 void SPEV(
const char JOBZ,
const char UPLO,
const int N,
double* AP,
double* W,
double* Z,
int LDZ,
double* WORK,
int* INFO)
const;
306 void SPEV(
const char JOBZ,
const char UPLO,
const int N,
float* AP,
float* W,
float* Z,
int LDZ,
float* WORK,
int* INFO)
const;
309 void SPGV(
const int ITYPE,
const char JOBZ,
const char UPLO,
const int N,
double* AP,
double* BP,
double* W,
double* Z,
const int LDZ,
double* WORK,
int* INFO)
const;
311 void SPGV(
const int ITYPE,
const char JOBZ,
const char UPLO,
const int N,
float* AP,
float* BP,
float* W,
float* Z,
const int LDZ,
float* WORK,
int* INFO)
const;
314 void SYEV(
const char JOBZ,
const char UPLO,
const int N,
double* A,
const int LDA,
double* W,
double* WORK,
const int LWORK,
int* INFO)
const;
316 void SYEV(
const char JOBZ,
const char UPLO,
const int N,
float* A,
const int LDA,
float* W,
float* WORK,
const int LWORK,
int* INFO)
const;
319 void SYEVD(
const char JOBZ,
const char UPLO,
const int N,
double* A,
const int LDA,
double* W,
320 double* WORK,
const int LWORK,
int* IWORK,
const int LIWORK,
int* INFO)
const;
322 void SYEVD(
const char JOBZ,
const char UPLO,
const int N,
float* A,
const int LDA,
float* W,
323 float* WORK,
const int LWORK,
int* IWORK,
const int LIWORK,
int* INFO)
const;
326 void SYEVX(
const char JOBZ,
const char RANGE,
const char UPLO,
const int N,
double* A,
const int LDA,
327 const double* VL,
const double* VU,
const int* IL,
const int* IU,
328 const double ABSTOL,
int * M,
double* W,
double* Z,
const int LDZ,
double* WORK,
329 const int LWORK,
int* IWORK,
int* IFAIL,
332 void SYEVX(
const char JOBZ,
const char RANGE,
const char UPLO,
const int N,
float* A,
const int LDA,
333 const float* VL,
const float* VU,
const int* IL,
const int* IU,
334 const float ABSTOL,
int * M,
float* W,
float* Z,
const int LDZ,
float* WORK,
335 const int LWORK,
int* IWORK,
int* IFAIL,
339 void SYGV(
const int ITYPE,
const char JOBZ,
const char UPLO,
const int N,
double* A,
const int LDA,
double* B,
340 const int LDB,
double* W,
double* WORK,
const int LWORK,
int* INFO)
const;
342 void SYGV(
const int ITYPE,
const char JOBZ,
const char UPLO,
const int N,
float* A,
const int LDA,
float* B,
343 const int LDB,
float* W,
float* WORK,
const int LWORK,
int* INFO)
const;
346 void SYGVX(
const int ITYPE,
const char JOBZ,
const char RANGE,
const char UPLO,
const int N,
347 double* A,
const int LDA,
double* B,
const int LDB,
const double* VL,
const double* VU,
348 const int* IL,
const int* IU,
const double ABSTOL,
int* M,
double* W,
double* Z,
349 const int LDZ,
double* WORK,
const int LWORK,
int* IWORK,
350 int* IFAIL,
int* INFO)
const;
352 void SYGVX(
const int ITYPE,
const char JOBZ,
const char RANGE,
const char UPLO,
const int N,
353 float* A,
const int LDA,
float* B,
const int LDB,
const float* VL,
const float* VU,
354 const int* IL,
const int* IU,
const float ABSTOL,
int* M,
float* W,
float* Z,
355 const int LDZ,
float* WORK,
const int LWORK,
int* IWORK,
356 int* IFAIL,
int* INFO)
const;
359 void SYEVR(
const char JOBZ,
const char RANGE,
const char UPLO,
const int N,
double* A,
const int LDA,
const double* VL,
const double* VU,
const int *IL,
const int *IU,
360 const double ABSTOL,
int* M,
double* W,
double* Z,
const int LDZ,
int* ISUPPZ,
double* WORK,
const int LWORK,
int* IWORK,
361 const int LIWORK,
int* INFO)
const;
363 void SYEVR(
const char JOBZ,
const char RANGE,
const char UPLO,
const int N,
float* A,
const int LDA,
364 const float* VL,
const float* VU,
const int *IL,
const int *IU,
365 const float ABSTOL,
int* M,
float* W,
float* Z,
const int LDZ,
int* ISUPPZ,
366 float* WORK,
const int LWORK,
int* IWORK,
367 const int LIWORK,
int* INFO)
const;
370 void GEEVX(
const char BALANC,
const char JOBVL,
const char JOBVR,
const char SENSE,
const int N,
double* A,
const int LDA,
double* WR,
double* WI,
double* VL,
371 const int LDVL,
double* VR,
const int LDVR,
int* ILO,
int* IHI,
double* SCALE,
double* ABNRM,
double* RCONDE,
372 double* RCONDV,
double* WORK,
const int LWORK,
int* IWORK,
int* INFO)
const;
374 void GEEVX(
const char BALANC,
const char JOBVL,
const char JOBVR,
const char SENSE,
const int N,
float* A,
const int LDA,
float* WR,
float* WI,
float* VL,
375 const int LDVL,
float* VR,
const int LDVR,
int* ILO,
int* IHI,
float* SCALE,
float* ABNRM,
float* RCONDE,
376 float* RCONDV,
float* WORK,
const int LWORK,
int* IWORK,
int* INFO)
const;
379 void GESDD(
const char JOBZ,
const int M,
const int N,
double* A,
const int LDA,
double* S,
double* U,
const int LDU,
double* VT,
const int LDVT,
double* WORK,
380 const int LWORK,
int* IWORK,
int* INFO)
const;
382 void GESDD(
const char JOBZ,
const int M,
const int N,
float* A,
const int LDA,
float* S,
float* U,
const int LDU,
float* VT,
const int LDVT,
float* WORK,
383 const int LWORK,
int* IWORK,
int* INFO)
const;
386 void GGEV(
const char JOBVL,
const char JOBVR,
const int N,
double* A,
const int LDA,
double* B,
const int LDB,
double* ALPHAR,
double* ALPHAI,
387 double* BETA,
double* VL,
const int LDVL,
double* VR,
const int LDVR,
double* WORK,
const int LWORK,
int* INFO)
const;
389 void GGEV(
const char JOBVL,
const char JOBVR,
const int N,
float* A,
const int LDA,
float* B,
const int LDB,
float* ALPHAR,
float* ALPHAI,
390 float* BETA,
float* VL,
const int LDVL,
float* VR,
const int LDVR,
float* WORK,
const int LWORK,
int* INFO)
const;
397 void GGLSE(
const int M,
const int N,
const int P,
double* A,
const int LDA,
double* B,
const int LDB,
398 double* C,
double* D,
double* X,
double* WORK,
const int LWORK,
int* INFO)
const;
400 void GGLSE(
const int M,
const int N,
const int P,
float* A,
const int LDA,
float* B,
const int LDB,
401 float* C,
float* D,
float* X,
float* WORK,
const int LWORK,
int* INFO)
const;
407 void LAMCH (
const char CMACH,
float & T)
const;
409 void LAMCH (
const char CMACH,
double & T)
const;
417 void TRTRS(
const char UPLO,
const char TRANS,
const char DIAG,
const int N,
const int NRHS,
const float *A,
418 const int LDA,
float *B,
const int LDB,
int *INFO)
const;
420 void TRTRS(
const char UPLO,
const char TRANS,
const char DIAG,
const int N,
const int NRHS,
const double *A,
421 const int LDA,
double *B,
const int LDB,
int *INFO)
const;
void GEEQU(const int M, const int N, const float *A, const int LDA, float *R, float *C, float *ROWCND, float *COLCND, float *AMAX, int *INFO) const
Epetra_LAPACK equilibration for general matrix (SGEEQU).
void GELS(const char TRANS, const int M, const int N, const int NRHS, double *A, const int LDA, double *B, const int LDB, double *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK simple driver to solve least-squares systems.
void SYEV(const char JOBZ, const char UPLO, const int N, double *A, const int LDA, double *W, double *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper to compute all eigenvalues and, optionally, eigenvectors of a real symmetric ma...
void PORFS(const char UPLO, const int N, const int NRHS, const float *A, const int LDA, const float *AF, const int LDAF, const float *B, const int LDB, float *X, const int LDX, float *FERR, float *BERR, float *WORK, int *IWORK, int *INFO) const
Epetra_LAPACK solve driver for positive definite matrix (SPOSVX).
void POTRS(const char UPLO, const int N, const int NRHS, const float *A, const int LDA, float *X, const int LDX, int *INFO) const
Epetra_LAPACK solve (after factorization) for positive definite matrix (SPOTRS).
void LAMCH(const char CMACH, float &T) const
Epetra_LAPACK wrapper for DLAMCH routine. On out, T holds machine double precision floating point cha...
void ORMHR(const char SIDE, const char TRANS, const int M, const int N, const int ILO, const int IHI, const float *A, const int LDA, const float *TAU, float *C, const int LDC, float *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper for applying an orthogonal matrix in-place (SORMHR).
void SPGV(const int ITYPE, const char JOBZ, const char UPLO, const int N, double *AP, double *BP, double *W, double *Z, const int LDZ, double *WORK, int *INFO) const
Epetra_LAPACK wrapper to compute all the eigenvalues and, optionally, the eigenvectors of a real gene...
void TREXC(const char COMPQ, const int N, float *T, const int LDT, float *Q, const int LDQ, int IFST, int ILST, float *WORK, int *INFO) const
Epetra_LAPACK wrapper for reordering the real-Schur/Schur factorization of a matrix (STREXC).
void 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
Epetra_LAPACK solve driver for positive definite matrix (SPOSVX).
void ORGQR(const int M, const int N, const int K, float *A, const int LDA, float *TAU, float *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper for generating a m x n real matrix Q with orthonormal columns,...
void GGSVD(const char JOBU, const char JOBV, const char JOBQ, const int M, const int N, const int P, int *K, int *L, double *A, const int LDA, double *B, const int LDB, double *ALPHA, double *BETA, double *U, const int LDU, double *V, const int LDV, double *Q, const int LDQ, double *WORK, int *IWORK, int *INFO) const
Epetra_LAPACK wrapper to compute the generalized singular value decomposition (GSVD) of an M-by-N rea...
Epetra_LAPACK(void)
Epetra_LAPACK Constructor.
void POTRI(const char UPLO, const int N, float *A, const int LDA, int *INFO) const
Epetra_LAPACK inversion for positive definite matrix (SPOTRI).
void GECON(const char NORM, const int N, const float *A, const int LDA, const float ANORM, float *RCOND, float *WORK, int *IWORK, int *INFO) const
Epetra_LAPACK condition number estimator for general matrix (SGECON).
void GEEVX(const char BALANC, const char JOBVL, const char JOBVR, const char SENSE, const int N, double *A, const int LDA, double *WR, double *WI, double *VL, const int LDVL, double *VR, const int LDVR, int *ILO, int *IHI, double *SCALE, double *ABNRM, double *RCONDE, double *RCONDV, double *WORK, const int LWORK, int *IWORK, int *INFO) const
Epetra_LAPACK wrapper to compute for an N-by-N real nonsymmetric matrix A, the eigenvalues and,...
void SYEVD(const char JOBZ, const char UPLO, const int N, double *A, const int LDA, double *W, double *WORK, const int LWORK, int *IWORK, const int LIWORK, int *INFO) const
Epetra_LAPACK wrapper to compute all eigenvalues and, optionally, eigenvectors of a real symmetric ma...
void POCON(const char UPLO, const int N, const float *A, const int LDA, const float ANORM, float *RCOND, float *WORK, int *IWORK, int *INFO) const
Epetra_LAPACK condition number estimator for positive definite matrix (SPOCON).
void SYEVR(const char JOBZ, const char RANGE, const char UPLO, const int N, double *A, const int LDA, const double *VL, const double *VU, const int *IL, const int *IU, const double ABSTOL, int *M, double *W, double *Z, const int LDZ, int *ISUPPZ, double *WORK, const int LWORK, int *IWORK, const int LIWORK, int *INFO) const
Epetra_LAPACK wrapper to compute selected eigenvalues and, optionally, eigenvectors of a real symmetr...
void POTRF(const char UPLO, const int N, float *A, const int LDA, int *INFO) const
Epetra_LAPACK factorization for positive definite matrix (SPOTRF).
void SYGVX(const int ITYPE, const char JOBZ, const char RANGE, const char UPLO, const int N, double *A, const int LDA, double *B, const int LDB, const double *VL, const double *VU, const int *IL, const int *IU, const double ABSTOL, int *M, double *W, double *Z, const int LDZ, double *WORK, const int LWORK, int *IWORK, int *IFAIL, int *INFO) const
Epetra_LAPACK wrapper to compute selected eigenvalues, and optionally, eigenvectors of a real general...
void GEHRD(const int N, const int ILO, const int IHI, float *A, const int LDA, float *TAU, float *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper for reduction to Hessenberg form (SGEHRD).
void GGEV(const char JOBVL, const char JOBVR, const int N, double *A, const int LDA, double *B, const int LDB, double *ALPHAR, double *ALPHAI, double *BETA, double *VL, const int LDVL, double *VR, const int LDVR, double *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper to compute for a pair of N-by-N real nonsymmetric matrices (A,...
void GERFS(const char TRANS, const int N, const int NRHS, const float *A, const int LDA, const float *AF, const int LDAF, const int *IPIV, const float *B, const int LDB, float *X, const int LDX, float *FERR, float *BERR, float *WORK, int *IWORK, int *INFO) const
Epetra_LAPACK Refine solution (GERFS).
void SYGV(const int ITYPE, const char JOBZ, const char UPLO, const int N, double *A, const int LDA, double *B, const int LDB, double *W, double *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper to compute all the eigenvalues, and optionally, the eigenvectors of a real gene...
void GETRF(const int M, const int N, float *A, const int LDA, int *IPIV, int *INFO) const
Epetra_LAPACK factorization for general matrix (SGETRF).
void GESDD(const char JOBZ, const int M, const int N, double *A, const int LDA, double *S, double *U, const int LDU, double *VT, const int LDVT, double *WORK, const int LWORK, int *IWORK, int *INFO) const
Epetra_LAPACK wrapper to compute the singular value decomposition (SVD) of a real M-by-N matrix A,...
void TREVC(const char SIDE, const char HOWMNY, int *SELECT, const int N, const float *T, const int LDT, float *VL, const int LDVL, float *VR, const int LDVR, const int MM, int *M, float *WORK, int *INFO) const
Epetra_LAPACK wrapper for computing eigenvectors of a quasi-triangular/triagnular matrix (STREVC).
void GGLSE(const int M, const int N, const int P, double *A, const int LDA, double *B, const int LDB, double *C, double *D, double *X, double *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper to solve the linear equality-constrained least squares (LSE) problem.
virtual ~Epetra_LAPACK(void)
Epetra_LAPACK Destructor.
void HSEQR(const char JOB, const char COMPZ, const int N, const int ILO, const int IHI, float *H, const int LDH, float *WR, float *WI, float *Z, const int LDZ, float *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper for computing the eigenvalues of a real upper Hessenberg matrix (SHSEQR).
void GESVX(const char FACT, const char TRANS, const int N, const int NRHS, float *A, const int LDA, float *AF, const int LDAF, int *IPIV, 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
Epetra_LAPACK solve driver for general matrix (SGESVX).
void GEEV(const char JOBVL, const char JOBVR, const int N, double *A, const int LDA, double *WR, double *WI, double *VL, const int LDVL, double *VR, const int LDVR, double *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper to compute for an N-by-N real nonsymmetric matrix A, the eigenvalues and,...
void POSV(const char UPLO, const int N, const int NRHS, float *A, const int LDA, float *X, const int LDX, int *INFO) const
Epetra_LAPACK factor and solve for positive definite matrix (SPOSV).
void SPEV(const char JOBZ, const char UPLO, const int N, double *AP, double *W, double *Z, int LDZ, double *WORK, int *INFO) const
Epetra_LAPACK wrapper to compute all the eigenvalues and, optionally, eigenvectors of a real symmetri...
void GESVD(const char JOBU, const char JOBVT, const int M, const int N, float *A, const int LDA, float *S, float *U, const int LDU, float *VT, const int LDVT, float *WORK, const int *LWORK, int *INFO) const
Epetra_LAPACK wrapper for computing the singular value decomposition (SGESVD).
void LARFT(const char DIRECT, const char STOREV, const int N, const int K, double *V, const int LDV, double *TAU, double *T, const int LDT) const
Epetra_LAPACK for forming the triangular factor of a product of elementary Householder reflectors (SL...
void POEQU(const int N, const float *A, const int LDA, float *S, float *SCOND, float *AMAX, int *INFO) const
Epetra_LAPACK equilibration for positive definite matrix (SPOEQU).
void SYEVX(const char JOBZ, const char RANGE, const char UPLO, const int N, double *A, const int LDA, const double *VL, const double *VU, const int *IL, const int *IU, const double ABSTOL, int *M, double *W, double *Z, const int LDZ, double *WORK, const int LWORK, int *IWORK, int *IFAIL, int *INFO) const
Epetra_LAPACK wrapper to compute selected eigenvalues and, optionally, eigenvectors of a real symmetr...
void GESV(const int N, const int NRHS, float *A, const int LDA, int *IPIV, float *X, const int LDX, int *INFO) const
Epetra_LAPACK factor and solve for general matrix (SGESV).
void ORGHR(const int N, const int ILO, const int IHI, float *A, const int LDA, float *TAU, float *WORK, const int LWORK, int *INFO) const
Epetra_LAPACK wrapper for generating a real orthogonal matrix Q defined by elementary reflectors....
void TRTRS(const char UPLO, const char TRANS, const char DIAG, const int N, const int NRHS, const float *A, const int LDA, float *B, const int LDB, int *INFO) const
Epetra_LAPACK wrapper for TRTRS routine.
void GETRI(const int N, float *A, const int LDA, int *IPIV, float *WORK, const int *LWORK, int *INFO) const
Epetra_LAPACK inversion for general matrix (SGETRI).
void GEQRF(const int M, const int N, float *A, const int LDA, float *TAU, float *WORK, const int lwork, int *INFO) const
Epetra_LAPACK QR factorization for general matrix (SGEQRF).
void GETRS(const char TRANS, const int N, const int NRHS, const float *A, const int LDA, const int *IPIV, float *X, const int LDX, int *INFO) const
Epetra_LAPACK solve (after factorization) for general matrix (SGETRS).