next up previous contents
Next: LAPACK Auxiliary Routines Up: lawn41 Previous: Acknowledgments   Contents


LAPACK Routines

In this appendix, we review the subroutine naming scheme for LAPACK as presented in [1] and indicate by means of a table which subroutines are included in this release. We also list the driver routines.

Each subroutine name in LAPACK is a coded specification of the computation done by the subroutine. All names consist of six characters in the form TXXYYY. The first letter, T, indicates the matrix data type as follows:


S 		 REAL 

D DOUBLE PRECISION
C COMPLEX
Z COMPLEX*16 (if available)

The next two letters, XX, indicate the type of matrix. Most of these two-letter codes apply to both real and complex routines; a few apply specifically to one or the other, as indicated below:


BD 		  bidiagonal 

DI diagonal
GB general band
GE general (i.e. unsymmetric, in some cases rectangular)
GG general matrices, generalized problem (i.e. a pair of general matrices)
GT general tridiagonal
HB (complex) Hermitian band
HE (complex) Hermitian
HG upper Hessenberg matrix, generalized problem (i.e., a Hessenberg and a
triangular matrix)
HP (complex) Hermitian, packed storage
HS upper Hessenberg
OP (real) orthogonal, packed storage
OR (real) orthogonal
PB symmetric or Hermitian positive definite band
PO symmetric or Hermitian positive definite
PP symmetric or Hermitian positive definite, packed storage
PT symmetric or Hermitian positive definite tridiagonal
SB (real) symmetric band
SP symmetric, packed storage
ST symmetric tridiagonal
SY symmetric
TB triangular band
TG triangular matrices, generalized problem (i.e., a pair of triangular matrices)
TP triangular, packed storage
TR triangular (or in some cases quasi-triangular)
TZ trapezoidal
UN (complex) unitary
UP (complex) unitary, packed storage

The last three characters, YYY, indicate the computation done by a particular subroutine. Included in this release are subroutines to perform the following computations:


BAK 		  back transformation of eigenvectors after balancing 

BAL permute and/or balance to isolate eigenvalues
BRD reduce to bidiagonal form by orthogonal transformations
CON estimate condition number
EBZ compute selected eigenvalues by bisection
EDC compute eigenvectors using divide and conquer
EIN compute selected eigenvectors by inverse iteration
EQR compute eigenvalues and/or the Schur form using the QR algorithm
EGR compute selected eigenvalues, and optionally, eigenvectors
using Relatively Robust Representations
EQU equilibrate a matrix to reduce its condition number
EQZ compute generalized eigenvalues and/or generalized Schur form by QZ method
ERF compute eigenvectors using the Pal-Walker-Kahan variant of the QL or QR
algorithm
EVC compute eigenvectors from Schur factorization
EXC swap adjacent diagonal blocks in a quasi-upper triangular matrix
GBR generate the orthogonal/unitary matrix from xGEBRD
GHR generate the orthogonal/unitary matrix from xGEHRD
GLQ generate the orthogonal/unitary matrix from xGELQF
GQL generate the orthogonal/unitary matrix from xGEQLF
GQR generate the orthogonal/unitary matrix from xGEQRF
GRQ generate the orthogonal/unitary matrix from xGERQF
GST reduce a symmetric-definite generalized eigenvalue problem to standard form
GTR generate the orthogonal/unitary matrix from xxxTRD
HRD reduce to upper Hessenberg form by orthogonal transformations
LQF compute an LQ factorization without pivoting
MBR multiply by the orthogonal/unitary matrix from xGEBRD
MHR multiply by the orthogonal/unitary matrix from xGEHRD
MLQ multiply by the orthogonal/unitary matrix from xGELQF
MQL multiply by the orthogonal/unitary matrix from xGEQLF
MQR multiply by the orthogonal/unitary matrix from xGEQRF
MRQ multiply by the orthogonal/unitary matrix from xGERQF
MRZ multiply by the orthogonal/unitary matrix from xTZRZF
MTR multiply by the orthogonal/unitary matrix from xxxTRD
QLF compute a QL factorization without pivoting
QPF compute a QR factorization with column pivoting
QRF compute a QR factorization without pivoting
RFS refine initial solution returned by TRS routines
RQF compute an RQ factorization without pivoting
RZF compute an RZ factorization without pivoting
SDC compute using divide and conquer SVD
SEN compute a basis and/or reciprocal condition number (sensitivity) of an
invariant subspace
SJA obtain singular values, and optionally vectors, using Jacobi's method
SNA estimate reciprocal condition numbers of eigenvalue/-vector pairs
SQR compute singular values and/or singular vectors using the QR algorithm
SVP preprocessing for GSVD
SYL solve the Sylvester matrix equation
TRD reduce a symmetric matrix to real symmetric tridiagonal form
TRF compute a triangular factorization (LU, Cholesky, etc.)
TRI compute inverse (based on triangular factorization)
TRS solve systems of linear equations (based on triangular factorization)



Given these definitions, the following table indicates the LAPACK subroutines for the solution of systems of linear equations:



                  HE HP       UN
  GE GG GB GT PO PP PB PT SY SP TR TP TB OR
TRF 181#181   181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181        
TRS 181#181   181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181  
RFS 181#181   181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181  
TRI 181#181       181#181 181#181     181#181 181#181 181#181 181#181    
CON 181#181   181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181  
EQU 181#181   181#181   181#181 181#181 181#181              
QPF 181#181                          
QRF26#26 181#181 181#181                        
GQR26#26                           181#181
MQR26#26                           181#181
26#26- also RQ, QL, LQ, and RZ  



The following table indicates the LAPACK subroutines for finding eigenvalues and eigenvectors or singular values and singular vectors:



                HE HP HB      
  GE GB GG HS HG TR TG SY SP SB ST PT BD
HRD 181#181   181#181                    
TRD               181#181 181#181 181#181      
BRD 181#181 181#181                      
EDC                     181#181    
EQR       181#181             181#181 181#181  
EQZ         181#181                
EIN       181#181             181#181    
EVC           181#181 181#181            
EBZ                     181#181    
ERF                     181#181    
SQR                         181#181
SDC                         181#181
SEN           181#181 181#181            
SJA             181#181            
SNA           181#181 181#181            
SVP     181#181                    
SYL           181#181 181#181            
EXC           181#181 181#181            
BAL 181#181   181#181                    
BAK 181#181   181#181                    
GST               181#181 181#181 181#181      

Orthogonal/unitary transformation routines have also been provided for the reductions that use elementary transformations.

  UN UP
  OR OP
GHR 181#181  
GTR 181#181 181#181
GBR 181#181  
MHR 181#181  
MTR 181#181 181#181
MBR 181#181  
MRZ 181#181  



In addition, a number of driver routines are provided with this release. The naming convention for the driver routines is the same as for the LAPACK routines, but the last 3 characters YYY have the following meanings (note an `X' in the last character position indicates a more expert driver):



SV 		 factor the matrix and solve a system of equations 

SVX equilibrate, factor, solve, compute error bounds and do iterative refinement, and
estimate the condition number
GLM solves the generalized linear regression model
LS solve over- or underdetermined linear system using orthogonal factorizations
LSE solves the constrained linear least squares problem
LSX compute a minimum-norm solution using a complete orthogonal factorization
(using QR with column pivoting xGEQPF, xTZRQF, and xLATZM)
LSY compute a minimum-norm solution using a complete orthogonal factorization
(using QR with column pivoting xGEQP3, xTZRZF, and xORMRZ)
LSS solve least squares problem using the SVD
LSD solve least squares problem using the divide and conquer SVD
EV compute all eigenvalues and/or eigenvectors
EVD compute all eigenvalues and/or eigenvectors; if eigenvectors are
desired, it uses a divide and conquer algorithm.
EVX compute selected eigenvalues and eigenvectors
EVR compute selected eigenvalues, and optionally, eigenvectors

using the Relatively Robust Representations
ES compute all eigenvalues, Schur form, and/or Schur vectors
ESX compute all eigenvalues, Schur form, and/or Schur vectors and the conditioning
of selected eigenvalues or eigenvectors
GV compute generalized eigenvalues and/or generalized eigenvectors
GVD compute generalized eigenvalues, and optionally, generalized
eigenvectors using a divide and conquer algorithm
GVX compute selected generalized eigenvalues, and optionally,
generalized eigenvectors
GS compute generalized eigenvalues, Schur form, and/or Schur vectors
SDD compute the divide-and-conquer SVD
SVD compute the SVD and/or singular vectors

The driver routines provided in LAPACK are indicated by the following table:



                  HE HP HB  
  GE GG GB GT PO PP PB PT SY SP SB ST
SV 181#181   181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181    
SVX 181#181   181#181 181#181 181#181 181#181 181#181 181#181 181#181 181#181    
GLM   181#181                    
LS 181#181                      
LSE   181#181                    
LSX 181#181                      
LSY 181#181                      
LSS 181#181                      
LSD 181#181                      
EV 181#181 181#181             181#181 181#181 181#181 181#181
EVD                 181#181 181#181 181#181 181#181
EVX 181#181 181#181             181#181 181#181 181#181 181#181
EVR                 181#181     181#181
ES 181#181 181#181                    
ESX 181#181 181#181                    
GV                 181#181 181#181 181#181  
GVD                 181#181 181#181 181#181  
GVX                 181#181 181#181 181#181  
SVD 181#181 181#181                    
SDD 181#181                      


next up previous contents
Next: LAPACK Auxiliary Routines Up: lawn41 Previous: Acknowledgments   Contents
Susan Blackford 2001-08-13