Epetra_LAPACK Class Reference

Epetra_LAPACK: The Epetra LAPACK Wrapper Class. More...

#include <Epetra_LAPACK.h>

Inheritance diagram for Epetra_LAPACK:

[legend]
List of all members.

Public Member Functions

Constructors/destructors.
 Epetra_LAPACK (void)
 Epetra_LAPACK Constructor.
 Epetra_LAPACK (const Epetra_LAPACK &LAPACK)
 Epetra_LAPACK Copy Constructor.
virtual ~Epetra_LAPACK (void)
 Epetra_LAPACK Destructor.
Symmetric Positive Definite linear system routines.
void POTRF (char UPLO, int N, float *A, int LDA, int *INFO) const
 Epetra_LAPACK factorization for positive definite matrix (SPOTRF).
void POTRF (char UPLO, int N, double *A, int LDA, int *INFO) const
 Epetra_LAPACK factorization for positive definite matrix (DPOTRF).
void POTRS (char UPLO, int N, int NRHS, float *A, int LDA, float *X, int LDX, int *INFO) const
 Epetra_LAPACK solve (after factorization) for positive definite matrix (SPOTRS).
void POTRS (char UPLO, int N, int NRHS, double *A, int LDA, double *X, int LDX, int *INFO) const
 Epetra_LAPACK solve (after factorization) for positive definite matrix (DPOTRS).
void POTRI (char UPLO, int N, float *A, int LDA, int *INFO) const
 Epetra_LAPACK inversion for positive definite matrix (SPOTRI).
void POTRI (char UPLO, int N, double *A, int LDA, int *INFO) const
 Epetra_LAPACK inversion for positive definite matrix (DPOTRI).
void POCON (char UPLO, int N, float *A, int LDA, float ANORM, float *RCOND, float *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK condition number estimator for positive definite matrix (SPOCON).
void POCON (char UPLO, int N, double *A, int LDA, double ANORM, double *RCOND, double *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK condition number estimator for positive definite matrix (DPOCON).
void POSV (char UPLO, int N, int NRHS, float *A, int LDA, float *X, int LDX, int *INFO) const
 Epetra_LAPACK factor and solve for positive definite matrix (SPOSV).
void POSV (char UPLO, int N, int NRHS, double *A, int LDA, double *X, int LDX, int *INFO) const
 Epetra_LAPACK factor and solve for positive definite matrix (DPOSV).
void POEQU (int N, float *A, int LDA, float *S, float *SCOND, float *AMAX, int *INFO) const
 Epetra_LAPACK equilibration for positive definite matrix (SPOEQU).
void POEQU (int N, double *A, int LDA, double *S, double *SCOND, double *AMAX, int *INFO) const
 Epetra_LAPACK equilibration for positive definite matrix (DPOEQU).
void PORFS (char UPLO, int N, int NRHS, float *A, int LDA, float *AF, int LDAF, float *B, int LDB, float *X, int LDX, float *FERR, float *BERR, float *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK solve driver for positive definite matrix (SPOSVX).
void PORFS (char UPLO, int N, int NRHS, double *A, int LDA, double *AF, int LDAF, double *B, int LDB, double *X, int LDX, double *FERR, double *BERR, double *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK solve driver for positive definite matrix (DPOSVX).
void POSVX (char FACT, char UPLO, int N, int NRHS, float *A, int LDA, float *AF, int LDAF, char EQUED, float *S, float *B, int LDB, float *X, 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 POSVX (char FACT, char UPLO, int N, int NRHS, double *A, int LDA, double *AF, int LDAF, char EQUED, double *S, double *B, int LDB, double *X, int LDX, double *RCOND, double *FERR, double *BERR, double *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK solve driver for positive definite matrix (DPOSVX).
General linear system routines.
void GELS (char trans, int m, int n, int numrhs, double *a, int lda, double *b, int ldb, double *work, int lwork, int info) const
 Epetra_LAPACK simple driver to solve least-squares systems.
void GETRF (int M, int N, float *A, int LDA, int *IPIV, int *INFO) const
 Epetra_LAPACK factorization for general matrix (SGETRF).
void GETRF (int M, int N, double *A, int LDA, int *IPIV, int *INFO) const
 Epetra_LAPACK factorization for general matrix (DGETRF).
void GETRS (char TRANS, int N, int NRHS, float *A, int LDA, int *IPIV, float *X, int LDX, int *INFO) const
 Epetra_LAPACK solve (after factorization) for general matrix (SGETRS).
void GETRS (char TRANS, int N, int NRHS, double *A, int LDA, int *IPIV, double *X, int LDX, int *INFO) const
 Epetra_LAPACK solve (after factorization) for general matrix (DGETRS).
void GETRI (int N, float *A, int LDA, int *IPIV, float *WORK, int *LWORK, int *INFO) const
 Epetra_LAPACK inversion for general matrix (SGETRI).
void GETRI (int N, double *A, int LDA, int *IPIV, double *WORK, int *LWORK, int *INFO) const
 Epetra_LAPACK inversion for general matrix (DGETRI).
void GECON (char NORM, int N, float *A, int LDA, float ANORM, float *RCOND, float *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK condition number estimator for general matrix (SGECON).
void GECON (char NORM, int N, double *A, int LDA, double ANORM, double *RCOND, double *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK condition number estimator for general matrix (DGECON).
void GESV (int N, int NRHS, float *A, int LDA, int *IPIV, float *X, int LDX, int *INFO) const
 Epetra_LAPACK factor and solve for general matrix (SGESV).
void GESV (int N, int NRHS, double *A, int LDA, int *IPIV, double *X, int LDX, int *INFO) const
 Epetra_LAPACK factor and solve for general matrix (DGESV).
void GEEQU (int M, int N, float *A, int LDA, float *R, float *C, float *ROWCND, float *COLCND, float *AMAX, int *INFO) const
 Epetra_LAPACK equilibration for general matrix (SGEEQU).
void GEEQU (int M, int N, double *A, int LDA, double *R, double *C, double *ROWCND, double *COLCND, double *AMAX, int *INFO) const
 Epetra_LAPACK equilibration for general matrix (DGEEQU).
void GERFS (char TRANS, int N, int NRHS, float *A, int LDA, float *AF, int LDAF, int *IPIV, float *B, int LDB, float *X, int LDX, float *FERR, float *BERR, float *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK solve driver for general matrix (SGESVX).
void GERFS (char TRANS, int N, int NRHS, double *A, int LDA, double *AF, int LDAF, int *IPIV, double *B, int LDB, double *X, int LDX, double *FERR, double *BERR, double *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK solve driver for general matrix (DGESVX).
void GESVX (char FACT, char TRANS, int N, int NRHS, float *A, int LDA, float *AF, int LDAF, int *IPIV, char EQUED, float *R, float *C, float *B, int LDB, float *X, int LDX, float *RCOND, float *FERR, float *BERR, float *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK solve driver for general matrix (SGESVX).
void GESVX (char FACT, char TRANS, int N, int NRHS, double *A, int LDA, double *AF, int LDAF, int *IPIV, char EQUED, double *R, double *C, double *B, int LDB, double *X, int LDX, double *RCOND, double *FERR, double *BERR, double *WORK, int *IWORK, int *INFO) const
 Epetra_LAPACK solve driver for general matrix (DGESVX).
void GEHRD (int N, int ILO, int IHI, float *A, int LDA, float *TAU, float *WORK, int LWORK, int *INFO) const
 Epetra_LAPACK wrapper for reduction to Hessenberg form (SGEHRD).
void GEHRD (int N, int ILO, int IHI, double *A, int LDA, double *TAU, double *WORK, int LWORK, int *INFO) const
 Epetra_LAPACK wrapper for reduction to Hessenberg form (DGEHRD).
Hessenberg routines
void HSEQR (char JOB, char COMPZ, int N, int ILO, int IHI, float *H, int LDH, float *WR, float *WI, float *Z, int LDZ, float *WORK, int LWORK, int *INFO) const
 Epetra_LAPACK wrapper for computing the eigenvalues of a real upper Hessenberg matrix (SHSEQR).
void HSEQR (char JOB, char COMPZ, int N, int ILO, int IHI, double *H, int LDH, double *WR, double *WI, double *Z, int LDZ, double *WORK, int LWORK, int *INFO) const
 Epetra_LAPACK wrapper for computing the eigenvalues of a real upper Hessenberg matrix (DHSEQR).
Orthogonal matrix routines
void ORGHR (int N, int ILO, int IHI, float *A, int LDA, float *TAU, float *WORK, int LWORK, int *INFO) const
 Epetra_LAPACK wrapper for generating a real orthogonal matrix Q defined by elementary reflectors. (SORGHR).
void ORGHR (int N, int ILO, int IHI, double *A, int LDA, double *TAU, double *WORK, int LWORK, int *INFO) const
 Epetra_LAPACK wrapper for generating a real orthogonal matrix Q defined by elementary reflectors. (DORGHR).
void ORMHR (char SIDE, char TRANS, int M, int N, int ILO, int IHI, float *A, int LDA, float *TAU, float *C, int LDC, float *WORK, int LWORK, int *INFO) const
 Epetra_LAPACK wrapper for applying an orthogonal matrix in-place (SORMHR).
void ORMHR (char SIDE, char TRANS, int M, int N, int ILO, int IHI, double *A, int LDA, double *TAU, double *C, int LDC, double *WORK, int LWORK, int *INFO) const
 Epetra_LAPACK wrapper for applying an orthogonal matrix in-place (DORMHR).
Triangular matrix routines
void TREVC (char SIDE, char HOWMNY, int *SELECT, int N, float *T, int LDT, float *VL, int LDVL, float *VR, int LDVR, int MM, int *M, float *WORK, int *INFO) const
 Epetra_LAPACK wrapper for computing eigenvectors of a quasi-triangular/triagnular matrix (STREVC).
void TREVC (char SIDE, char HOWMNY, int *SELECT, int N, double *T, int LDT, double *VL, int LDVL, double *VR, int LDVR, int MM, int *M, double *WORK, int *INFO) const
 Epetra_LAPACK wrapper for computing eigenvectors of a quasi-triangular/triagnular matrix (DTREVC).
void TREXC (char COMPQ, int N, float *T, int LDT, float *Q, 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 TREXC (char COMPQ, int N, double *T, int LDT, double *Q, int LDQ, int IFST, int ILST, double *WORK, int *INFO) const
 Epetra_LAPACK wrapper for reordering the real-Schur/Schur factorization of a matrix (DTREXC).
Singular Value Decomposition matrix routines
void GESVD (char JOBU, char JOBVT, int M, int N, float *A, int LDA, float *S, float *U, int LDU, float *VT, int LDVT, float *WORK, int *LWORK, int *INFO) const
 Epetra_LAPACK wrapper for computing the singular value decomposition (SGESVD).
void GESVD (char JOBU, char JOBVT, int M, int N, double *A, int LDA, double *S, double *U, int LDU, double *VT, int LDVT, double *WORK, int *LWORK, int *INFO) const
 Epetra_LAPACK wrapper for computing the singular value decomposition (DGESVD).
Machine characteristics routines.
void LAMCH (char CMACH, float &T) const
 Epetra_LAPACK wrapper for DLAMCH routine. On out, T holds machine double precision floating point characteristics. This information is returned by the Lapack routine.
void LAMCH (char CMACH, double &T) const
 Epetra_LAPACK wrapper for SLAMCH routine. On out, T holds machine single precision floating point characteristics. This information is returned by the Lapack routine.

Detailed Description

Epetra_LAPACK: The Epetra LAPACK Wrapper Class.

The Epetra_LAPACK class is a wrapper that encapsulates LAPACK (Linear Algebra Package). LAPACK provides portable, high- performance implementations of linear, eigen, SVD, etc solvers.

The standard LAPACK interface is Fortran-specific. Unfortunately, the interface between C++ and Fortran is not standard across all computer platforms. The Epetra_LAPACK class provides C++ wrappers for the LAPACK kernels in order to insulate the rest of Epetra from the details of C++ to Fortran translation. A Epetra_LAPACK object is essentially nothing, but allows access to the LAPACK wrapper functions.

Epetra_LAPACK is a serial interface only. This is appropriate since the standard LAPACK are only specified for serial execution (or shared memory parallel).


Constructor & Destructor Documentation

Epetra_LAPACK::Epetra_LAPACK void   )  [inline]
 

Epetra_LAPACK Constructor.

Builds an instance of a serial LAPACK object.

Epetra_LAPACK::Epetra_LAPACK const Epetra_LAPACK LAPACK  )  [inline]
 

Epetra_LAPACK Copy Constructor.

Makes an exact copy of an existing Epetra_LAPACK instance.


Member Function Documentation

void Epetra_LAPACK::TREVC char  SIDE,
char  HOWMNY,
int *  SELECT,
int  N,
double *  T,
int  LDT,
double *  VL,
int  LDVL,
double *  VR,
int  LDVR,
int  MM,
int *  M,
double *  WORK,
int *  INFO
const
 

Epetra_LAPACK wrapper for computing eigenvectors of a quasi-triangular/triagnular matrix (DTREVC).

Warning:
HOWMNY = 'S" is not supported.

void Epetra_LAPACK::TREVC char  SIDE,
char  HOWMNY,
int *  SELECT,
int  N,
float *  T,
int  LDT,
float *  VL,
int  LDVL,
float *  VR,
int  LDVR,
int  MM,
int *  M,
float *  WORK,
int *  INFO
const
 

Epetra_LAPACK wrapper for computing eigenvectors of a quasi-triangular/triagnular matrix (STREVC).

Warning:
HOWMNY = 'S" is not supported.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:43:16 2008 for Epetra by doxygen 1.3.9.1