Next: ScaLAPACK Auxiliary Routines Up: lawn93 Previous: Input File for Testing   Contents

# ScaLAPACK Routines

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

Each subroutine name in ScaLAPACK, which has an LAPACK equivalent, is simply the LAPACK name prepended by a P. All names consist of seven characters in the form PTXXYYY. The second 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:


DB 		  general band (diagonally-dominant like)

DT 		  general tridiagonal (diagonally-dominant like)

GB 		  general band

GE 		  general (i.e. unsymmetric, in some cases rectangular)

GG 		  general matrices, generalized problem (i.e. a pair of general matrices)

HE 		  (complex) Hermitian

OR 		  (real) orthogonal

PB 		  symmetric or Hermitian positive definite band

PO 		  symmetric or Hermitian positive definite

PT 		  symmetric or Hermitian positive definite tridiagonal

ST 		  symmetric tridiagonal

SY 		  symmetric

TR 		  triangular (or in some cases quasi-triangular)

TZ 		  trapezoidal

UN 		  (complex) unitary



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


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

EQU 		  equilibrate a matrix to reduce its condition number

EVC 		  compute the eigenvectors from the Schur factorization

GBR 		  generate the orthogonal/unitary matrix from PxGEBRD

GHR 		  generate the orthogonal/unitary matrix from PxGEHRD

GLQ 		  generate the orthogonal/unitary matrix from PxGELQF

GQL 		  generate the orthogonal/unitary matrix from PxGEQLF

GQR 		  generate the orthogonal/unitary matrix from PxGEQRF

GRQ 		  generate the orthogonal/unitary matrix from PxGERQF

GST 		  reduce a symmetric-definite generalized eigenvalue problem to standard form

HRD 		  reduce to upper Hessenberg form by orthogonal transformations

LQF 		  compute an LQ factorization without pivoting

MBR 		  multiply by the orthogonal/unitary matrix from PxGEBRD

MHR 		  multiply by the orthogonal/unitary matrix from PxGEHRD

MLQ 		  multiply by the orthogonal/unitary matrix from PxGELQF

MQL 		  multiply by the orthogonal/unitary matrix from PxGEQLF

MQR 		  multiply by the orthogonal/unitary matrix from PxGEQRF

MRQ 		  multiply by the orthogonal/unitary matrix from PxGERQF

MRZ 		  multiply by the orthogonal/unitary matrix from PxTZRZF

MTR 		  multiply by the orthogonal/unitary matrix from PxxxTRD

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

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 ScaLAPACK subroutines for the solution of systems of linear equations:

 HE UN GE GG DB GB DT GT PO PB PT SY TR TZ OR TRF TRS RFS TRI CON EQU QPF QRF RZF GQR MQR - also RQ, QL, and LQ - also RQ, RZ, QL, and LQ

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

 HE GE GG HS HG TR TG SY ST PT BD HRD TRD BRD EQZ EIN EBZ EDC EVC GST

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

 UN OR GHR GTR GBR MHR MTR MBR

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

LS 		 solve over- or underdetermined linear system using orthogonal factorizations

EV 		 compute all eigenvalues and/or eigenvectors

EVD 		 compute all eigenvalues and, optionally, eigenvectors (using divide and conquer algorithm)

EVX 		 compute selected eigenvalues and eigenvectors

GVX 		 compute selected generalized eigenvalues and/or generalized eigenvectors

SVD 		 compute the SVD and/or singular vectors
`

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

 HE HB GE GG DB GB DT GT PO PB PT SY SB ST SV SVX LS EV EVD EVX GVX SVD

Next: ScaLAPACK Auxiliary Routines Up: lawn93 Previous: Input File for Testing   Contents
Susan Blackford 2001-08-12