#include <Teuchos_LAPACK.hpp>
Public Types | |
typedef Teuchos::ScalarTraits < ScalarType >::magnitudeType | MagnitudeType |
Public Member Functions | |
Constructors/Destructors. | |
LAPACK (void) | |
Default Constructor. | |
LAPACK (const LAPACK< OrdinalType, ScalarType > &lapack) | |
Copy Constructor. | |
virtual | ~LAPACK (void) |
Destructor. | |
Symmetric Positive Definite Linear System Routines. | |
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 | PTTRS (const OrdinalType n, const OrdinalType nrhs, const ScalarType *d, const ScalarType *e, ScalarType *B, const OrdinalType ldb, OrdinalType *info) const |
Solves a tridiagonal system A*X=B using the *D*L' factorization of A computed by PTTRF. | |
void | 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 | 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 by POTRF and the nrhs solutions are returned in B . | |
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 A from POTRF. | |
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 matrix A using the Cholesky factorization from POTRF. | |
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 definite matrix and the nrhs solutions are returned in B . | |
void | POEQU (const OrdinalType n, const ScalarType *A, const OrdinalType lda, ScalarType *S, ScalarType *scond, ScalarType *amax, OrdinalType *info) const |
Computes row and column scalings intended to equilibrate a symmetric positive definite matrix A and reduce its condition number (w.r.t. 2-norm). | |
void | PORFS (const char UPLO, const OrdinalType n, const OrdinalType nrhs, 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 symmetric positive definite, and provides error bounds and backward error estimates for the solution. | |
void | POSVX (const char FACT, const char UPLO, const OrdinalType n, const OrdinalType nrhs, ScalarType *A, const OrdinalType lda, ScalarType *AF, const OrdinalType ldaf, char EQUED, ScalarType *S, ScalarType *B, const OrdinalType ldb, ScalarType *X, const OrdinalType ldx, ScalarType *rcond, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const |
Uses the Cholesky factorization to compute the solution to a real system of linear equations A*X=B , where A is symmetric positive definite. System can be equilibrated by POEQU and iteratively refined by PORFS, if requested. | |
General Linear System Routines. | |
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 | 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 | 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 interchanges. | |
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 factorization computed by GETRF. | |
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 matrix tridiagonal matrix A using partial pivoting with row interchanges. | |
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 LU factorization computed by GTTRF. | |
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 | 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 the infinity-norm, using the LU factorization computed by GETRF. | |
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 and the nrhs solutions are computed through GETRS. | |
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 number. | |
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 error estimates for the solution. Use after GETRF/GETRS. | |
void | GESVX (const char FACT, const char TRANS, const OrdinalType n, const OrdinalType nrhs, ScalarType *A, const OrdinalType lda, ScalarType *AF, const OrdinalType ldaf, OrdinalType *IPIV, char EQUED, ScalarType *R, ScalarType *C, ScalarType *B, const OrdinalType ldb, ScalarType *X, const OrdinalType ldx, ScalarType *rcond, ScalarType *FERR, ScalarType *BERR, ScalarType *WORK, OrdinalType *IWORK, OrdinalType *info) const |
Uses the LU factorization to compute the solution to a real system of linear equations A*X=B , returning error bounds on the solution and a condition estimate. | |
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 | 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 | 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 | 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 . | |
Symmetric Eigenproblem Routines | |
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 storage. | |
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 | 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 ,B}, where A is symmetric and B is symmetric positive-definite. | |
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 | 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 matrix pencil {A ,B}, where A is Hermitian and B is Hermitian positive-definite. | |
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 using implicit QL/QR. The eigenvectors can only be computed if A was reduced to tridiagonal form by SYTRD. | |
Non-Hermitian Eigenproblem Routines | |
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 from the Schur decomposition, where T is an upper quasi-triangular matrix and Z contains the Schur vectors. | |
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 | GEES (const char JOBVS, const char SORT, OrdinalType(*ptr2func)(ScalarType *), const OrdinalType n, ScalarType *A, const OrdinalType lda, OrdinalType *sdim, ScalarType *W, ScalarType *VS, const OrdinalType ldvs, ScalarType *WORK, const OrdinalType lwork, MagnitudeType *RWORK, OrdinalType *BWORK, OrdinalType *info) const |
void | GEES (const char JOBVS, const OrdinalType n, ScalarType *A, const OrdinalType lda, OrdinalType *sdim, MagnitudeType *WR, MagnitudeType *WI, ScalarType *VS, const OrdinalType ldvs, ScalarType *WORK, const OrdinalType lwork, MagnitudeType *RWORK, OrdinalType *BWORK, OrdinalType *info) const |
void | GEEV (const char JOBVL, const char JOBVR, const OrdinalType n, ScalarType *A, const OrdinalType lda, ScalarType *WR, ScalarType *WI, ScalarType *VL, const OrdinalType ldvl, ScalarType *VR, const OrdinalType ldvr, ScalarType *WORK, const OrdinalType lwork, OrdinalType *info) const |
Computes for an n by n real nonsymmetric matrix A , the eigenvalues and, optionally, the left and/or right eigenvectors. | |
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 |
Computes for a pair of n by n nonsymmetric matrices (A ,B ) the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors. | |
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 |
Singular Value Decompositon Routines | |
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 . | |
Orthogonal matrix routines | |
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 |
Overwrites the general real matrix m by n matrix C with the product of C and Q , which is the product of k elementary reflectors, as returned by GEQRF. | |
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 |
Generates an m by n matrix Q with orthonormal columns which is defined as the first columns of a product of k elementary reflectors of order m , as returned by GEQRF. | |
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 |
Generates an m by n matrix Q with orthonormal columns which is defined as the first columns of a product of k elementary reflectors of order m , as returned by GEQRF. | |
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 , as returned by GEHRD. On return Q is stored in 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-ilo elementary reflectors, as returned by GEHRD. | |
Triangular Matrix Routines | |
void | TREVC (const char SIDE, const char HOWMNY, OrdinalType *select, const OrdinalType n, const ScalarType *T, const OrdinalType ldt, ScalarType *VL, const OrdinalType ldvl, ScalarType *VR, const OrdinalType ldvr, const OrdinalType mm, OrdinalType *m, ScalarType *WORK, OrdinalType *info) const |
void | TREVC (const char SIDE, const OrdinalType n, const ScalarType *T, const OrdinalType ldt, ScalarType *VL, const OrdinalType ldvl, ScalarType *VR, const OrdinalType ldvr, const OrdinalType mm, OrdinalType *m, ScalarType *WORK, MagnitudeType *RWORK, OrdinalType *info) const |
void | TREXC (const char COMPQ, const OrdinalType n, ScalarType *T, const OrdinalType ldt, ScalarType *Q, const OrdinalType ldq, OrdinalType ifst, OrdinalType ilst, ScalarType *WORK, OrdinalType *info) const |
Rotation/Reflection generators | |
void | LARTG (const ScalarType f, const ScalarType g, MagnitudeType *c, ScalarType *s, ScalarType *r) const |
Generates a plane rotation that zeros out the second component of the input std::vector. | |
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 std::vector. | |
Random number generators | |
ScalarType | LARND (const OrdinalType idist, OrdinalType *seed) const |
Returns a random number from a uniform or normal distribution. | |
void | LARNV (const OrdinalType idist, OrdinalType *seed, const OrdinalType n, ScalarType *v) const |
Returns a std::vector of random numbers from a chosen distribution. | |
Machine Characteristics Routines. | |
ScalarType | LAMCH (const char CMACH) const |
Determines machine parameters for floating point characteristics. | |
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. | |
Miscellaneous Utilities. | |
ScalarType | LAPY2 (const ScalarType x, const ScalarType y) const |
Computes x^2 + y^2 safely, to avoid overflow. |
The Teuchos::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 Teuchos::LAPACK class provides C++ wrappers for the LAPACK kernels in order to insulate the rest of Teuchos from the details of C++ to Fortran translation. A Teuchos::LAPACK object is essentially nothing, but allows access to the LAPACK wrapper functions.
Teuchos::LAPACK is a serial interface only. This is appropriate since the standard LAPACK are only specified for serial execution (or shared memory parallel).
float
and double
.
--enable-teuchos-stdcomplex
then these templates are specialized for scalar types std::complex<float>
and std::complex<double>
also.
http://www.netlib.org/lapack/
). Definition at line 111 of file Teuchos_LAPACK.hpp.
typedef Teuchos::ScalarTraits<ScalarType>::magnitudeType Teuchos::LAPACK< OrdinalType, ScalarType >::MagnitudeType |
Reimplemented in Teuchos::SerialDenseSolver< OrdinalType, ScalarType >, and Teuchos::SerialSpdDenseSolver< OrdinalType, ScalarType >.
Definition at line 115 of file Teuchos_LAPACK.hpp.
Teuchos::LAPACK< OrdinalType, ScalarType >::LAPACK | ( | void | ) | [inline] |
Teuchos::LAPACK< OrdinalType, ScalarType >::LAPACK | ( | const LAPACK< OrdinalType, ScalarType > & | lapack | ) | [inline] |
virtual Teuchos::LAPACK< OrdinalType, ScalarType >::~LAPACK | ( | void | ) | [inline, virtual] |
void Teuchos::LAPACK< OrdinalType, ScalarType >::GECON | ( | const char | NORM, | |
const OrdinalType | n, | |||
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
const ScalarType | anorm, | |||
ScalarType * | rcond, | |||
ScalarType * | WORK, | |||
OrdinalType * | IWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Estimates the reciprocal of the condition number of a general real matrix A
, in either the 1-norm or the infinity-norm, using the LU factorization computed by GETRF.
Definition at line 489 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GEEQU | ( | const OrdinalType | m, | |
const OrdinalType | n, | |||
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | R, | |||
ScalarType * | C, | |||
ScalarType * | rowcond, | |||
ScalarType * | colcond, | |||
ScalarType * | amax, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes row and column scalings intended to equilibrate an m
by n
matrix A
and reduce its condition number.
Definition at line 501 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GEES | ( | const char | JOBVS, | |
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
OrdinalType * | sdim, | |||
MagnitudeType * | WR, | |||
MagnitudeType * | WI, | |||
ScalarType * | VS, | |||
const OrdinalType | ldvs, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
MagnitudeType * | RWORK, | |||
OrdinalType * | BWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes for an n
by n
nonsymmetric matrix A
, the eigenvalues, the Schur form T
, and, optionally, the matrix of Schur vectors Z
. When ScalarType
is float
or double
, the real Schur form is computed.
ScalarType
, when the user doesn't want to enable the sorting functionality.) Definition at line 597 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GEES | ( | const char | JOBVS, | |
const char | SORT, | |||
OrdinalType(*)(ScalarType *) | ptr2func, | |||
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
OrdinalType * | sdim, | |||
ScalarType * | W, | |||
ScalarType * | VS, | |||
const OrdinalType | ldvs, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
MagnitudeType * | RWORK, | |||
OrdinalType * | BWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes for an n
by n
nonsymmetric matrix A
, the eigenvalues, the Schur form T
, and, optionally, the matrix of Schur vectors Z
. When ScalarType
is float
or double
, the real Schur form is computed.
std::complex<float>
and std::complex<double>
, where select
requires one arguments to represent a std::complex eigenvalue.) Definition at line 591 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GEES | ( | const char | JOBVS, | |
const char | SORT, | |||
OrdinalType(*)(ScalarType *, ScalarType *) | ptr2func, | |||
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 [inline] |
Computes for an n
by n
nonsymmetric matrix A
, the eigenvalues, the Schur form T
, and, optionally, the matrix of Schur vectors Z
. When ScalarType
is float
or double
, the real Schur form is computed.
float
and double
, where select
requires two arguments to represent a std::complex eigenvalue.) Definition at line 585 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GEEV | ( | const char | JOBVL, | |
const char | JOBVR, | |||
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | WR, | |||
ScalarType * | WI, | |||
ScalarType * | VL, | |||
const OrdinalType | ldvl, | |||
ScalarType * | VR, | |||
const OrdinalType | ldvr, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes for an n
by n
real nonsymmetric matrix A
, the eigenvalues and, optionally, the left and/or right eigenvectors.
Definition at line 603 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GEHRD | ( | const OrdinalType | n, | |
const OrdinalType | ilo, | |||
const OrdinalType | ihi, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | TAU, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Reduces a real general matrix A
to upper Hessenberg form by orthogonal similarity transformations.
Definition at line 525 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GELS | ( | const char | TRANS, | |
const OrdinalType | m, | |||
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Solves an over/underdetermined real m
by n
linear system A
using QR or LQ factorization of A.
Definition at line 447 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GEQRF | ( | const OrdinalType | m, | |
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | TAU, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes a QR factorization of a general m
by n
matrix A
.
Definition at line 453 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GERFS | ( | const char | TRANS, | |
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
const ScalarType * | AF, | |||
const OrdinalType | ldaf, | |||
const OrdinalType * | IPIV, | |||
const ScalarType * | B, | |||
const OrdinalType | ldb, | |||
ScalarType * | X, | |||
const OrdinalType | ldx, | |||
ScalarType * | FERR, | |||
ScalarType * | BERR, | |||
ScalarType * | WORK, | |||
OrdinalType * | IWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Improves the computed solution to a system of linear equations and provides error bounds and backward error estimates for the solution. Use after GETRF/GETRS.
Definition at line 507 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GESV | ( | const OrdinalType | n, | |
const OrdinalType | nrhs, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
OrdinalType * | IPIV, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the solution to a real system of linear equations A*X=B
, where A
is factored through GETRF and the nrhs
solutions are computed through GETRS.
Definition at line 495 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GESVD | ( | const char | JOBU, | |
const char | JOBVT, | |||
const OrdinalType | m, | |||
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
MagnitudeType * | S, | |||
ScalarType * | U, | |||
const OrdinalType | ldu, | |||
ScalarType * | V, | |||
const OrdinalType | ldv, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
MagnitudeType * | RWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the singular values (and optionally, vectors) of a real matrix A
.
Definition at line 609 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GESVX | ( | const char | FACT, | |
const char | TRANS, | |||
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | AF, | |||
const OrdinalType | ldaf, | |||
OrdinalType * | IPIV, | |||
char | EQUED, | |||
ScalarType * | R, | |||
ScalarType * | C, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
ScalarType * | X, | |||
const OrdinalType | ldx, | |||
ScalarType * | rcond, | |||
ScalarType * | FERR, | |||
ScalarType * | BERR, | |||
ScalarType * | WORK, | |||
OrdinalType * | IWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Uses the LU factorization to compute the solution to a real system of linear equations A*X=B
, returning error bounds on the solution and a condition estimate.
Definition at line 513 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GETRF | ( | const OrdinalType | m, | |
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
OrdinalType * | IPIV, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes an LU factorization of a general m
by n
matrix A
using partial pivoting with row interchanges.
Definition at line 459 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GETRI | ( | const OrdinalType | n, | |
ScalarType * | A, | |||
const OrdinalType | lda, | |||
const OrdinalType * | IPIV, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the inverse of a matrix A
using the LU factorization computed by GETRF.
Definition at line 483 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GETRS | ( | const char | TRANS, | |
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
const OrdinalType * | IPIV, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
OrdinalType * | info | |||
) | const [inline] |
Solves a system of linear equations A*X=B
or A'*X=B
with a general n
by n
matrix A
using the LU factorization computed by GETRF.
Definition at line 465 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GGEV | ( | const char | JOBVL, | |
const char | JOBVR, | |||
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
MagnitudeType * | ALPHAR, | |||
MagnitudeType * | ALPHAI, | |||
ScalarType * | BETA, | |||
ScalarType * | VL, | |||
const OrdinalType | ldvl, | |||
ScalarType * | VR, | |||
const OrdinalType | ldvr, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes for a pair of n
by n
nonsymmetric matrices (A
,B
) the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors.
ScalarType
= float
or double
.) Definition at line 621 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GGEVX | ( | const char | BALANC, | |
const char | JOBVL, | |||
const char | JOBVR, | |||
const char | SENSE, | |||
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
MagnitudeType * | ALPHAR, | |||
MagnitudeType * | ALPHAI, | |||
ScalarType * | BETA, | |||
ScalarType * | VL, | |||
const OrdinalType | ldvl, | |||
ScalarType * | VR, | |||
const OrdinalType | ldvr, | |||
OrdinalType * | ilo, | |||
OrdinalType * | ihi, | |||
MagnitudeType * | LSCALE, | |||
MagnitudeType * | RSCALE, | |||
MagnitudeType * | abnrm, | |||
MagnitudeType * | bbnrm, | |||
MagnitudeType * | RCONDE, | |||
MagnitudeType * | RCONDV, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | IWORK, | |||
OrdinalType * | BWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes for a pair of n
by n
nonsymmetric matrices (A
,B
) the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors.
Definition at line 615 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GTTRF | ( | const OrdinalType | n, | |
ScalarType * | dl, | |||
ScalarType * | d, | |||
ScalarType * | du, | |||
ScalarType * | du2, | |||
OrdinalType * | IPIV, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes an LU factorization of a n
by n
matrix tridiagonal matrix A
using partial pivoting with row interchanges.
Definition at line 471 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::GTTRS | ( | const char | TRANS, | |
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
const ScalarType * | dl, | |||
const ScalarType * | d, | |||
const ScalarType * | du, | |||
const ScalarType * | du2, | |||
const OrdinalType * | IPIV, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
OrdinalType * | info | |||
) | const [inline] |
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 LU factorization computed by GTTRF.
Definition at line 477 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::HEEV | ( | const char | JOBZ, | |
const char | UPLO, | |||
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
MagnitudeType * | W, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
MagnitudeType * | RWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes all the eigenvalues and, optionally, eigenvectors of a Hermitian n
by n
matrix A.
float
or double
. Definition at line 561 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::HEGV | ( | const OrdinalType | itype, | |
const char | JOBZ, | |||
const char | UPLO, | |||
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
MagnitudeType * | W, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
MagnitudeType * | RWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes all the eigenvalues and, optionally, eigenvectors of a generalized Hermitian-definite n
by n
matrix pencil {A
,B}, where A
is Hermitian and B
is Hermitian positive-definite.
float
or double
. Definition at line 567 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::HSEQR | ( | const char | JOB, | |
const char | COMPZ, | |||
const OrdinalType | n, | |||
const OrdinalType | ilo, | |||
const OrdinalType | ihi, | |||
ScalarType * | H, | |||
const OrdinalType | ldh, | |||
ScalarType * | WR, | |||
ScalarType * | WI, | |||
ScalarType * | Z, | |||
const OrdinalType | ldz, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the eigenvalues of a real upper Hessenberg matrix H
and, optionally, the matrices T
and Z
from the Schur decomposition, where T is an upper quasi-triangular matrix and Z contains the Schur vectors.
Definition at line 579 of file Teuchos_LAPACK.hpp.
OrdinalType Teuchos::LAPACK< OrdinalType, ScalarType >::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 [inline] |
Chooses problem-dependent parameters for the local environment.
Definition at line 681 of file Teuchos_LAPACK.hpp.
ScalarType Teuchos::LAPACK< OrdinalType, ScalarType >::LAMCH | ( | const char | CMACH | ) | const [inline] |
Determines machine parameters for floating point characteristics.
std::complex<float>
or std::complex<double>
. Definition at line 675 of file Teuchos_LAPACK.hpp.
ScalarType Teuchos::LAPACK< OrdinalType, ScalarType >::LAPY2 | ( | const ScalarType | x, | |
const ScalarType | y | |||
) | const [inline] |
Computes x^2 + y^2 safely, to avoid overflow.
std::complex<float>
or std::complex<double>
. Definition at line 687 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::LARFG | ( | const OrdinalType | n, | |
ScalarType * | alpha, | |||
ScalarType * | x, | |||
const OrdinalType | incx, | |||
ScalarType * | tau | |||
) | const [inline] |
Generates an elementary reflector of order n
that zeros out the last n-1
components of the input std::vector.
Definition at line 699 of file Teuchos_LAPACK.hpp.
ScalarType Teuchos::LAPACK< OrdinalType, ScalarType >::LARND | ( | const OrdinalType | idist, | |
OrdinalType * | seed | |||
) | const [inline] |
Returns a random number from a uniform or normal distribution.
Definition at line 705 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::LARNV | ( | const OrdinalType | idist, | |
OrdinalType * | seed, | |||
const OrdinalType | n, | |||
ScalarType * | v | |||
) | const [inline] |
Returns a std::vector of random numbers from a chosen distribution.
Definition at line 711 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::LARTG | ( | const ScalarType | f, | |
const ScalarType | g, | |||
MagnitudeType * | c, | |||
ScalarType * | s, | |||
ScalarType * | r | |||
) | const [inline] |
Generates a plane rotation that zeros out the second component of the input std::vector.
Definition at line 693 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::ORGHR | ( | const OrdinalType | n, | |
const OrdinalType | ilo, | |||
const OrdinalType | ihi, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
const ScalarType * | TAU, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Generates a real orthogonal matrix Q
which is the product of ihi-ilo
elementary reflectors of order n
, as returned by GEHRD. On return Q
is stored in A
.
std::complex<float>
or std::complex<double>
. Definition at line 645 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::ORGQR | ( | const OrdinalType | m, | |
const OrdinalType | n, | |||
const OrdinalType | k, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
const ScalarType * | TAU, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Generates an m
by n
matrix Q with orthonormal columns which is defined as the first
columns of a product of k
elementary reflectors of order m
, as returned by GEQRF.
std::complex<float>
or std::complex<double>
. Definition at line 633 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::ORMHR | ( | const char | SIDE, | |
const char | TRANS, | |||
const OrdinalType | m, | |||
const OrdinalType | n, | |||
const OrdinalType | ilo, | |||
const OrdinalType | ihi, | |||
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
const ScalarType * | TAU, | |||
ScalarType * | C, | |||
const OrdinalType | ldc, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Overwrites the general real m
by n
matrix C
with the product of C
and Q
, which is a product of ihi-ilo
elementary reflectors, as returned by GEHRD.
std::complex<float>
or std::complex<double>
. Definition at line 651 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::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 [inline] |
Overwrites the general real matrix m
by n
matrix C
with the product of C
and Q
, which is the product of k
elementary reflectors, as returned by GEQRF.
std::complex<float>
or std::complex<double>
. Definition at line 627 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::POCON | ( | const char | UPLO, | |
const OrdinalType | n, | |||
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
const ScalarType | anorm, | |||
ScalarType * | rcond, | |||
ScalarType * | WORK, | |||
OrdinalType * | IWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Estimates the reciprocal of the condition number (1-norm) of a real symmetric positive definite matrix A
using the Cholesky factorization from POTRF.
Definition at line 417 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::POEQU | ( | const OrdinalType | n, | |
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | S, | |||
ScalarType * | scond, | |||
ScalarType * | amax, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes row and column scalings intended to equilibrate a symmetric positive definite matrix A
and reduce its condition number (w.r.t. 2-norm).
Definition at line 429 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::PORFS | ( | const char | UPLO, | |
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
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 [inline] |
Improves the computed solution to a system of linear equations when the coefficient matrix is symmetric positive definite, and provides error bounds and backward error estimates for the solution.
Definition at line 435 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::POSV | ( | const char | UPLO, | |
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the solution to a real system of linear equations A*X=B
, where A
is a symmetric positive definite matrix and the nrhs
solutions are returned in B
.
Definition at line 423 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::POSVX | ( | const char | FACT, | |
const char | UPLO, | |||
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | AF, | |||
const OrdinalType | ldaf, | |||
char | EQUED, | |||
ScalarType * | S, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
ScalarType * | X, | |||
const OrdinalType | ldx, | |||
ScalarType * | rcond, | |||
ScalarType * | FERR, | |||
ScalarType * | BERR, | |||
ScalarType * | WORK, | |||
OrdinalType * | IWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Uses the Cholesky factorization to compute the solution to a real system of linear equations A*X=B
, where A
is symmetric positive definite. System can be equilibrated by POEQU and iteratively refined by PORFS, if requested.
Definition at line 441 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::POTRF | ( | const char | UPLO, | |
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes Cholesky factorization of a real symmetric positive definite matrix A
.
Definition at line 399 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::POTRI | ( | const char | UPLO, | |
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the inverse of a real symmetric positive definite matrix A
using the Cholesky factorization A
from POTRF.
Definition at line 411 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::POTRS | ( | const char | UPLO, | |
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
OrdinalType * | info | |||
) | const [inline] |
Solves a system of linear equations A*X=B
, where A
is a symmetric positive definite matrix factored by POTRF and the nrhs
solutions are returned in B
.
Definition at line 405 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::PTTRF | ( | const OrdinalType | n, | |
ScalarType * | d, | |||
ScalarType * | e, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the L*D*L'
factorization of a Hermitian/symmetric positive definite tridiagonal matrix A
.
Definition at line 387 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::PTTRS | ( | const OrdinalType | n, | |
const OrdinalType | nrhs, | |||
const ScalarType * | d, | |||
const ScalarType * | e, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
OrdinalType * | info | |||
) | const [inline] |
Solves a tridiagonal system A*X=B
using the *D*L' factorization of A
computed by PTTRF.
Definition at line 393 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::SPEV | ( | const char | JOBZ, | |
const char | UPLO, | |||
const OrdinalType | n, | |||
ScalarType * | AP, | |||
ScalarType * | W, | |||
ScalarType * | Z, | |||
const OrdinalType | ldz, | |||
ScalarType * | WORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the eigenvalues and, optionally, eigenvectors of a symmetric n
by n
matrix A
in packed storage.
std::complex<float>
or std::complex<double>
. Definition at line 543 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::STEQR | ( | const char | COMPZ, | |
const OrdinalType | n, | |||
ScalarType * | D, | |||
ScalarType * | E, | |||
ScalarType * | Z, | |||
const OrdinalType | ldz, | |||
ScalarType * | WORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal n
by n
matrix A
using implicit QL/QR. The eigenvectors can only be computed if A
was reduced to tridiagonal form by SYTRD.
Definition at line 573 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::SYEV | ( | const char | JOBZ, | |
const char | UPLO, | |||
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | W, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes all the eigenvalues and, optionally, eigenvectors of a symmetric n
by n
matrix A.
std::complex<float>
or std::complex<double>
. Definition at line 549 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::SYGV | ( | const OrdinalType | itype, | |
const char | JOBZ, | |||
const char | UPLO, | |||
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
ScalarType * | W, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes all the eigenvalues and, optionally, eigenvectors of a symmetric n
by n
matrix pencil {A
,B}, where A
is symmetric and B
is symmetric positive-definite.
std::complex<float>
or std::complex<double>
. Definition at line 555 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::SYTRD | ( | const char | UPLO, | |
const OrdinalType | n, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | D, | |||
ScalarType * | E, | |||
ScalarType * | TAU, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Reduces a real symmetric matrix A
to tridiagonal form by orthogonal similarity transformations.
std::complex<float>
or std::complex<double>
. Definition at line 519 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::TREVC | ( | const char | SIDE, | |
const OrdinalType | n, | |||
const ScalarType * | T, | |||
const OrdinalType | ldt, | |||
ScalarType * | VL, | |||
const OrdinalType | ldvl, | |||
ScalarType * | VR, | |||
const OrdinalType | ldvr, | |||
const OrdinalType | mm, | |||
OrdinalType * | m, | |||
ScalarType * | WORK, | |||
MagnitudeType * | RWORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes some or all of the right and/or left eigenvectors of an upper triangular matrix T
. If ScalarType is float
or double
, then the matrix is quasi-triangular and arugments RWORK
is ignored.
ScalarType
, when the user doesn't want to enable the selecting functionality, with HOWMNY='A'.) Definition at line 663 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::TREVC | ( | const char | SIDE, | |
const char | HOWMNY, | |||
OrdinalType * | select, | |||
const OrdinalType | n, | |||
const ScalarType * | T, | |||
const OrdinalType | ldt, | |||
ScalarType * | VL, | |||
const OrdinalType | ldvl, | |||
ScalarType * | VR, | |||
const OrdinalType | ldvr, | |||
const OrdinalType | mm, | |||
OrdinalType * | m, | |||
ScalarType * | WORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes some or all of the right and/or left eigenvectors of an upper triangular matrix T
. If ScalarType is float
or double
, then the matrix is quasi-triangular and arugments RWORK
is ignored.
Definition at line 657 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::TREXC | ( | const char | COMPQ, | |
const OrdinalType | n, | |||
ScalarType * | T, | |||
const OrdinalType | ldt, | |||
ScalarType * | Q, | |||
const OrdinalType | ldq, | |||
OrdinalType | ifst, | |||
OrdinalType | ilst, | |||
ScalarType * | WORK, | |||
OrdinalType * | info | |||
) | const [inline] |
Reorders the Schur factorization of a matrix T
via unitary similarity transformations so that the diagonal element of T
with row index ifst
is moved to row ilst
. If ScalarType
is float
or double
, then T
should be in real Schur form and the operation affects the diagonal block referenced by ifst
.
std::complex<float>
or std::complex<double>
. Definition at line 669 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::TRTRI | ( | const char | UPLO, | |
const char | DIAG, | |||
const OrdinalType | n, | |||
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
OrdinalType * | info | |||
) | const [inline] |
Computes the inverse of an upper or lower triangular matrix A
.
Definition at line 537 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::TRTRS | ( | const char | UPLO, | |
const char | TRANS, | |||
const char | DIAG, | |||
const OrdinalType | n, | |||
const OrdinalType | nrhs, | |||
const ScalarType * | A, | |||
const OrdinalType | lda, | |||
ScalarType * | B, | |||
const OrdinalType | ldb, | |||
OrdinalType * | info | |||
) | const [inline] |
Solves a triangular linear system of the form A*X=B
or A**T*X=B
, where A
is a triangular matrix.
Definition at line 531 of file Teuchos_LAPACK.hpp.
void Teuchos::LAPACK< OrdinalType, ScalarType >::UNGQR | ( | const OrdinalType | m, | |
const OrdinalType | n, | |||
const OrdinalType | k, | |||
ScalarType * | A, | |||
const OrdinalType | lda, | |||
const ScalarType * | TAU, | |||
ScalarType * | WORK, | |||
const OrdinalType | lwork, | |||
OrdinalType * | info | |||
) | const [inline] |
Generates an m
by n
matrix Q with orthonormal columns which is defined as the first
columns of a product of k
elementary reflectors of order m
, as returned by GEQRF.
float
or double
. Definition at line 639 of file Teuchos_LAPACK.hpp.