IBM Books

Engineering and Scientific Subroutine Library for AIX Version 3 Release 3: Guide and Reference


List of ESSL Subroutines

This section provides an overview of the subroutines in each of the areas of ESSL.

Appendix A, Basic Linear Algebra Subprograms (BLAS) contains a list of Level 1, 2, and 3 Basic Linear Algebra Subprograms (BLAS) included in ESSL.

Appendix B, LAPACK contains a list of Linear Algebra Package (LAPACK) subroutines included in ESSL.

Linear Algebra Subprograms

The linear algebra subprograms consist of:

Notes:

  1. The term subprograms is used to be consistent with the Basic Linear Algebra Subprograms (BLAS), because many of these subprograms correspond to the BLAS.

  2. Some of the linear algebra subprograms were designed in accordance with the Level 1 and Level 2 BLAS de facto standard. If these subprograms do not comply with the standard as approved, IBM will consider updating them to do so. If IBM updates these subprograms, the updates could require modifications of the calling application program.

Vector-Scalar Linear Algebra Subprograms

The vector-scalar linear algebra subprograms include a subset of the standard set of Level 1 BLAS. For details on the BLAS, see reference [79]. The remainder of the vector-scalar linear algebra subprograms are commonly used computations provided for your applications. Both real and complex versions of the subprograms are provided.

Table 3. List of Vector-Scalar Linear Algebra Subprograms

Descriptive Name Short- Precision Subprogram Long- Precision Subprogram Page
Position of the First or Last Occurrence of the Vector Element Having the Largest Magnitude ISAMAX&¤
ICAMAX&¤
IDAMAX&¤
IZAMAX&¤
ISAMAX, IDAMAX, ICAMAX, and IZAMAX--Position of the First or Last Occurrence of the Vector Element Having the Largest Magnitude
Position of the First or Last Occurrence of the Vector Element Having Minimum Absolute Value ISAMIN& IDAMIN& ISAMIN and IDAMIN--Position of the First or Last Occurrence of the Vector Element Having Minimum Absolute Value
Position of the First or Last Occurrence of the Vector Element Having Maximum Value ISMAX& IDMAX& ISMAX and IDMAX--Position of the First or Last Occurrence of the Vector Element Having the Maximum Value
Position of the First or Last Occurrence of the Vector Element Having Minimum Value ISMIN& IDMIN& ISMIN and IDMIN--Position of the First or Last Occurrence of the Vector Element Having Minimum Value
Sum of the Magnitudes of the Elements in a Vector SASUM&¤
SCASUM&¤
DASUM&¤
DZASUM&¤
SASUM, DASUM, SCASUM, and DZASUM--Sum of the Magnitudes of the Elements in a Vector
Multiply a Vector X by a Scalar, Add to a Vector Y, and Store in the Vector Y SAXPY¤
CAXPY¤
DAXPY¤
ZAXPY¤
SAXPY, DAXPY, CAXPY, and ZAXPY--Multiply a Vector X by a Scalar, Add to a Vector Y, and Store in the Vector Y
Copy a Vector SCOPY¤
CCOPY¤
DCOPY¤
ZCOPY¤
SCOPY, DCOPY, CCOPY, and ZCOPY--Copy a Vector
Dot Product of Two Vectors SDOT&¤
CDOTU&¤
CDOTC&¤
DDOT&¤
ZDOTU&¤
ZDOTC&¤
SDOT, DDOT, CDOTU, ZDOTU, CDOTC, and ZDOTC--Dot Product of Two Vectors
Compute SAXPY or DAXPY N Times SNAXPY DNAXPY SNAXPY and DNAXPY--Compute SAXPY or DAXPY N Times
Compute Special Dot Products N Times SNDOT DNDOT SNDOT and DNDOT--Compute Special Dot Products N Times
Euclidean Length of a Vector with Scaling of Input to Avoid Destructive Underflow and Overflow SNRM2&¤
SCNRM2&¤
DNRM2&¤
DZNRM2&¤
SNRM2, DNRM2, SCNRM2, and DZNRM2--Euclidean Length of a Vector with Scaling of Input to Avoid Destructive Underflow and Overflow
Euclidean Length of a Vector with No Scaling of Input SNORM2&
CNORM2&
DNORM2&
ZNORM2&
SNORM2, DNORM2, CNORM2, and ZNORM2--Euclidean Length of a Vector with No Scaling of Input
Construct a Givens Plane Rotation SROTG¤
CROTG¤
DROTG¤
ZROTG¤
SROTG, DROTG, CROTG, and ZROTG--Construct a Givens Plane Rotation
Apply a Plane Rotation SROT¤
CROT¤
CSROT¤
DROT¤
ZROT¤
ZDROT¤
SROT, DROT, CROT, ZROT, CSROT, and ZDROT--Apply a Plane Rotation
Multiply a Vector X by a Scalar and Store in the Vector X SSCAL¤
CSCAL¤
CSSCAL¤
DSCAL¤
ZSCAL¤
ZDSCAL¤
SSCAL, DSCAL, CSCAL, ZSCAL, CSSCAL, and ZDSCAL--Multiply a Vector X by a Scalar and Store in the Vector X
Interchange the Elements of Two Vectors SSWAP¤
CSWAP¤
DSWAP¤
ZSWAP¤
SSWAP, DSWAP, CSWAP, and ZSWAP--Interchange the Elements of Two Vectors
Add a Vector X to a Vector Y and Store in a Vector Z SVEA
CVEA
DVEA
ZVEA
SVEA, DVEA, CVEA, and ZVEA--Add a Vector X to a Vector Y and Store in a Vector Z
Subtract a Vector Y from a Vector X and Store in a Vector Z SVES
CVES
DVES
ZVES
SVES, DVES, CVES, and ZVES--Subtract a Vector Y from a Vector X and Store in a Vector Z
Multiply a Vector X by a Vector Y and Store in a Vector Z SVEM
CVEM
DVEM
ZVEM
SVEM, DVEM, CVEM, and ZVEM--Multiply a Vector X by a Vector Y and Store in a Vector Z
Multiply a Vector X by a Scalar and Store in a Vector Y SYAX
CYAX
CSYAX
DYAX
ZYAX
ZDYAX
SYAX, DYAX, CYAX, ZYAX, CSYAX, and ZDYAX--Multiply a Vector X by a Scalar and Store in a Vector Y
Multiply a Vector X by a Scalar, Add to a Vector Y, and Store in a Vector Z SZAXPY
CZAXPY
DZAXPY
ZZAXPY
SZAXPY, DZAXPY, CZAXPY, and ZZAXPY--Multiply a Vector X by a Scalar, Add to a Vector Y, and Store in a Vector Z

& This subprogram is invoked as a function in a Fortran program.

¤ Level 1 BLAS

Sparse Vector-Scalar Linear Algebra Subprograms

The sparse vector-scalar linear algebra subprograms operate on sparse vectors; that is, only the nonzero elements of the vector are stored. These subprograms provide similar functions to the vector-scalar subprograms. These subprograms represent a subset of the sparse extensions to the Level 1 BLAS described in reference [29]. Both real and complex versions of the subprograms are provided.

Table 4. List of Sparse Vector-Scalar Linear Algebra Subprograms

Descriptive Name Short- Precision Subprogram Long- Precision Subprogram Page
Scatter the Elements of a Sparse Vector X in Compressed-Vector Storage Mode into Specified Elements of a Sparse Vector Y in Full-Vector Storage Mode SSCTR
CSCTR
DSCTR
ZSCTR
SSCTR, DSCTR, CSCTR, ZSCTR--Scatter the Elements of a Sparse Vector X in Compressed-Vector Storage Mode into Specified Elements of a Sparse Vector Y in Full-Vector Storage Mode
Gather Specified Elements of a Sparse Vector Y in Full-Vector Storage Mode into a Sparse Vector X in Compressed-Vector Storage Mode SGTHR
CGTHR
DGTHR
ZGTHR
SGTHR, DGTHR, CGTHR, and ZGTHR--Gather Specified Elements of a Sparse Vector Y in Full-Vector Storage Mode into a Sparse Vector X in Compressed-Vector Storage Mode
Gather Specified Elements of a Sparse Vector Y in Full-Vector Mode into a Sparse Vector X in Compressed-Vector Mode, and Zero the Same Specified Elements of Y SGTHRZ
CGTHRZ
DGTHRZ
ZGTHRZ
SGTHRZ, DGTHRZ, CGTHRZ, and ZGTHRZ--Gather Specified Elements of a Sparse Vector Y in Full-Vector Mode into a Sparse Vector X in Compressed-Vector Mode, and Zero the Same Specified Elements of Y
Multiply a Sparse Vector X in Compressed-Vector Storage Mode by a Scalar, Add to a Sparse Vector Y in Full-Vector Storage Mode, and Store in the Vector Y SAXPYI
CAXPYI
DAXPYI
ZAXPYI
SAXPYI, DAXPYI, CAXPYI, and ZAXPYI--Multiply a Sparse Vector X in Compressed-Vector Storage Mode by a Scalar, Add to a Sparse Vector Y in Full-Vector Storage Mode, and Store in the Vector Y
Dot Product of a Sparse Vector X in Compressed-Vector Storage Mode and a Sparse Vector Y in Full-Vector Storage Mode SDOTI&
CDOTCI&
CDOTUI&
DDOTI&
ZDOTCI&
ZDOTUI&
SDOTI, DDOTI, CDOTUI, ZDOTUI, CDOTCI, and ZDOTCI--Dot Product of a Sparse Vector X in Compressed-Vector Storage Mode and a Sparse Vector Y in Full-Vector Storage Mode

& This subprogram is invoked as a function in a Fortran program.

Matrix-Vector Linear Algebra Subprograms

The matrix-vector linear algebra subprograms operate on a higher-level data structure--matrix-vector rather than vector-scalar--using optimized algorithms to improve performance. These subprograms include a subset of the standard set of Level 2 BLAS. For details on the Level 2 BLAS, see [34] and [35]. Both real and complex versions of the subprograms are provided.

Table 5. List of Matrix-Vector Linear Algebra Subprograms

Descriptive Name Short- Precision Subprogram Long- Precision Subprogram Page
Matrix-Vector Product for a General Matrix, Its Transpose, or Its Conjugate Transpose SGEMVø
CGEMVø
SGEMX§
SGEMTX§
DGEMVø
ZGEMVø
DGEMX§
DGEMTX§
SGEMV, DGEMV, CGEMV, ZGEMV, SGEMX, DGEMX, SGEMTX, and DGEMTX--Matrix-Vector Product for a General Matrix, Its Transpose, or Its Conjugate Transpose
Rank-One Update of a General Matrix SGERø
CGERUø
CGERCø
DGERø
ZGERUø
ZGERCø
SGER, DGER, CGERU, ZGERU, CGERC, and ZGERC--Rank-One Update of a General Matrix
Matrix-Vector Product for a Real Symmetric or Complex Hermitian Matrix SSPMVø
CHPMVø
SSYMVø
CHEMVø
SSLMX§
DSPMVø
ZHPMVø
DSYMVø
ZHEMVø
DSLMX§
SSPMV, DSPMV, CHPMV, ZHPMV, SSYMV, DSYMV, CHEMV, ZHEMV, SSLMX, and DSLMX--Matrix-Vector Product for a Real Symmetric or Complex Hermitian Matrix
Rank-One Update of a Real Symmetric or Complex Hermitian Matrix SSPRø
CHPRø
SSYRø
CHERø
SSLR1§
DSPRø
ZHPRø
DSYRø
ZHERø
DSLR1§
SSPR, DSPR, CHPR, ZHPR, SSYR, DSYR, CHER, ZHER, SSLR1, and DSLR1 --Rank-One Update of a Real Symmetric or Complex Hermitian Matrix
Rank-Two Update of a Real Symmetric or Complex Hermitian Matrix SSPR2ø
CHPR2ø
SSYR2ø
CHER2ø
SSLR2§
DSPR2ø
ZHPR2ø
DSYR2ø
ZHER2ø
DSLR2§
SSPR2, DSPR2, CHPR2, ZHPR2, SSYR2, DSYR2, CHER2, ZHER2, SSLR2, and DSLR2--Rank-Two Update of a Real Symmetric or Complex Hermitian Matrix
Matrix-Vector Product for a General Band Matrix, Its Transpose, or Its Conjugate Transpose SGBMVø
CGBMVø
DGBMVø
ZGBMVø
SGBMV, DGBMV, CGBMV, and ZGBMV--Matrix-Vector Product for a General Band Matrix, Its Transpose, or Its Conjugate Transpose
Matrix-Vector Product for a Real Symmetric or Complex Hermitian Band Matrix SSBMVø
CHBMVø
DSBMVø
ZHBMVø
SSBMV, DSBMV, CHBMV, and ZHBMV--Matrix-Vector Product for a Real Symmetric or Complex Hermitian Band Matrix
Matrix-Vector Product for a Triangular Matrix, Its Transpose, or Its Conjugate Transpose STRMVø
CTRMVø
STPMVø
CTPMVø
DTRMVø
ZTRMVø
DTPMVø
ZTPMVø
STRMV, DTRMV, CTRMV, ZTRMV, STPMV, DTPMV, CTPMV, and ZTPMV--Matrix-Vector Product for a Triangular Matrix, Its Transpose, or Its Conjugate Transpose
Matrix-Vector Product for a Triangular Band Matrix, Its Transpose, or Its Conjugate Transpose STBMVø
CTBMVø
DTBMVø
ZTBMVø
STBMV, DTBMV, CTBMV, and ZTBMV--Matrix-Vector Product for a Triangular Band Matrix, Its Transpose, or Its Conjugate Transpose

ø Level 2 BLAS

§ This subroutine is provided only for migration from earlier releases of ESSL and is not intended for use in new programs.

Sparse Matrix-Vector Linear Algebra Subprograms

The sparse matrix-vector linear algebra subprograms operate on sparse matrices; that is, only the nonzero elements of the matrix are stored. These subprograms provide similar functions to the matrix-vector subprograms.

Table 6. List of Sparse Matrix-Vector Linear Algebra Subprograms

Descriptive Name Long- Precision Subprogram Page
Matrix-Vector Product for a Sparse Matrix in Compressed-Matrix Storage Mode DSMMX DSMMX--Matrix-Vector Product for a Sparse Matrix in Compressed-Matrix Storage Mode
Transpose a Sparse Matrix in Compressed-Matrix Storage Mode DSMTM DSMTM--Transpose a Sparse Matrix in Compressed-Matrix Storage Mode
Matrix-Vector Product for a Sparse Matrix or Its Transpose in Compressed-Diagonal Storage Mode DSDMX DSDMX--Matrix-Vector Product for a Sparse Matrix or Its Transpose in Compressed-Diagonal Storage Mode

Matrix Operations

Some of the matrix operation subroutines were designed in accordance with the Level 3 BLAS de facto standard. If these subroutines do not comply with the standard as approved, IBM will consider updating them to do so. If IBM updates these subroutines, the updates could require modifications of the calling application program. For details on the Level 3 BLAS, see reference [32]. The matrix operation subroutines also include the commonly used matrix operations: addition, subtraction, multiplication, and transposition.

Table 7. List of Matrix Operation Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Matrix Addition for General Matrices or Their Transposes SGEADD
CGEADD
DGEADD
ZGEADD
SGEADD, DGEADD, CGEADD, and ZGEADD--Matrix Addition for General Matrices or Their Transposes
Matrix Subtraction for General Matrices or Their Transposes SGESUB
CGESUB
DGESUB
ZGESUB
SGESUB, DGESUB, CGESUB, and ZGESUB--Matrix Subtraction for General Matrices or Their Transposes
Matrix Multiplication for General Matrices, Their Transposes, or Conjugate Transposes SGEMUL
CGEMUL
DGEMUL
ZGEMUL
DGEMLP§
SGEMUL, DGEMUL, CGEMUL, and ZGEMUL--Matrix Multiplication for General Matrices, Their Transposes, or Conjugate Transposes
Matrix Multiplication for General Matrices, Their Transposes, or Conjugate Transposes Using Winograd's Variation of Strassen's Algorithm SGEMMS
CGEMMS
DGEMMS
ZGEMMS
SGEMMS, DGEMMS, CGEMMS, and ZGEMMS--Matrix Multiplication for General Matrices, Their Transposes, or Conjugate Transposes Using Winograd's Variation of Strassen's Algorithm
Combined Matrix Multiplication and Addition for General Matrices, Their Transposes, or Conjugate Transposes SGEMM¢
CGEMM¢
DGEMM¢
ZGEMM¢
SGEMM, DGEMM, CGEMM, and ZGEMM--Combined Matrix Multiplication and Addition for General Matrices, Their Transposes, or Conjugate Transposes
Matrix-Matrix Product Where One Matrix is Real or Complex Symmetric or Complex Hermitian SSYMM¢
CSYMM¢
CHEMM¢
DSYMM¢
ZSYMM¢
ZHEMM¢
SSYMM, DSYMM, CSYMM, ZSYMM, CHEMM, and ZHEMM--Matrix-Matrix Product Where One Matrix is Real or Complex Symmetric or Complex Hermitian
Triangular Matrix-Matrix Product STRMM¢
CTRMM¢
DTRMM¢
ZTRMM¢
STRMM, DTRMM, CTRMM, and ZTRMM--Triangular Matrix-Matrix Product
Rank-K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix SSYRK¢
CSYRK¢
CHERK¢
DSYRK¢
ZSYRK¢
ZHERK¢
SSYRK, DSYRK, CSYRK, ZSYRK, CHERK, and ZHERK--Rank-K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix
Rank-2K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix SSYR2K¢
CSYR2K¢
CHER2K¢
DSYR2K¢
ZSYR2K¢
ZHER2K¢
SSYR2K, DSYR2K, CSYR2K, ZSYR2K, CHER2K, and ZHER2K--Rank-2K Update of a Real or Complex Symmetric or a Complex Hermitian Matrix
General Matrix Transpose (In-Place) SGETMI
CGETMI
DGETMI
ZGETMI
SGETMI, DGETMI, CGETMI, and ZGETMI--General Matrix Transpose (In-Place)
General Matrix Transpose (Out-of-Place) SGETMO
CGETMO
DGETMO
ZGETMO
SGETMO, DGETMO, CGETMO, and ZGETMO--General Matrix Transpose (Out-of-Place)

¢ Level 3 BLAS

§ This subroutine is provided only for migration from earlier release of ESSL and is not intended for use in new programs.

Linear Algebraic Equations

The linear algebraic equations consist of:

Note:
|Some of the linear algebraic equations were designed in accordance |with the Level 2 BLAS, Level 3 BLAS, and LAPACK de facto standard. If |these subprograms do not comply with the standard as approved, IBM will |consider updating them to do so. If IBM updates these subprograms, the |updates could require modifications of the calling application program. |For details on the Level 2 and 3 BLAS, see [32] and [34]. For details on LAPACK, |see [8]. |

Dense Linear Algebraic Equations

The dense linear algebraic equation subroutines provide solutions to linear systems of equations for both real and complex general matrices and their transposes, positive definite real symmetric and complex Hermitian matrices, real symmetric indefinite matrices and triangular matrices. Some of these subroutines correspond to the Level 2 BLAS, Level 3 BLAS, and LAPACK routines described in references [32], 34] and [8].

Table 8. List of Dense Linear Algebraic Equation Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
General Matrix Factorization SGEF
CGEF
SGETRF°
CGETRF°
DGEF
ZGEF
DGETRF°
ZGETRF°
DGEFP§
SGEF, DGEF, CGEF, and ZGEF--General Matrix Factorization


SGETRF, DGETRF, CGETRF and ZGETRF--General Matrix Factorization

General Matrix, Its Transpose, or Its Conjugate Transpose Solve SGES
CGES
DGES
ZGES
SGES, DGES, CGES, and ZGES--General Matrix, Its Transpose, or Its Conjugate Transpose Solve
General Matrix, Its Transpose, or Its Conjugate Transpose Multiple Right-Hand Side Solve SGESM
CGESM
SGETRS°
CGETRS°
DGESM
ZGESM
DGETRS°
ZGETRS°
SGESM, DGESM, CGESM, and ZGESM--General Matrix, Its Transpose, or Its Conjugate Transpose Multiple Right-Hand Side Solve


SGETRS, DGETRS, CGETRS, and ZGETRS--General Matrix Multiple Right-Hand Side Solve

General Matrix Factorization, Condition Number Reciprocal, and Determinant SGEFCD DGEFCD SGEFCD and DGEFCD--General Matrix Factorization, Condition Number Reciprocal, and Determinant
Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization SPPF
SPOF
CPOF
SPOTRF°
CPOTRF°
DPPF
DPOF
ZPOF
DPOTRF°
ZPOTRF°
DPPFP§
SPPF, DPPF, SPOF, DPOF, CPOF, ZPOF, SPOTRF, DPOTRF, CPOTRF, and ZPOTRF--Positive Definite Real Symmetric or Complex Hermitian Matrix Factorization
Positive Definite Real Symmetric Matrix Solve SPPS DPPS SPPS and DPPS--Positive Definite Real Symmetric Matrix Solve
Positive Definite Real Symmetric or Complex Hermitian Matrix Multiple Right-Hand Side Solve SPOSM
CPOSM
SPOTRS°
CPOTRS°
DPOSM
ZPOSM
DPOTRS°
ZPOTRS°
SPOSM, DPOSM, CPOSM, ZPOSM, SPOTRS, DPOTRS, CPOTRS, and ZPOTRS--Positive Definite Real Symmetric or Complex Hermitian Matrix Multiple Right-Hand Side Solve
Positive Definite Real Symmetric Matrix Factorization, Condition Number Reciprocal, and Determinant SPPFCD
SPOFCD
DPPFCD
DPOFCD
SPPFCD, DPPFCD, SPOFCD, and DPOFCD--Positive Definite Real Symmetric Matrix Factorization, Condition Number Reciprocal, and Determinant
Symmetric Indefinite Matrix Factorization and Multiple Right-Hand Side Solve
DBSSV DBSSV--Symmetric Indefinite Matrix Factorization and Multiple Right-Hand Side Solve
Symmetric Indefinite Matrix Factorization
DBSTRF DBSTRF--Symmetric Indefinite Matrix Factorization
Symmetric Indefinite Matrix Multiple Right-Hand Side Solve
DBSTRS DBSTRS--Symmetric Indefinite Matrix Multiple Right-Hand Side Solve
General Matrix Inverse, Condition Number Reciprocal, and Determinant SGEICD
SGETRI°
DGEICD
DGETRI°
SGEICD, DGEICD, SGETRI and DGETRI--General Matrix Inverse
Positive Definite Real Symmetric Matrix Inverse, Condition Number Reciprocal, and Determinant SPPICD
SPOICD
SPOTRI°
DPPICD
DPOICD
DPOTRI°
SPPICD, DPPICD, SPOICD, DPOICD, SPOTRI and DPOTRI--Positive Definite Real Symmetric Matrix Inverse
Solution of a Triangular System of Equations with a Single Right-Hand Side STRSVø
CTRSVø
STPSVø
CTPSVø
DTRSVø
ZTRSVø
DTPSVø
ZTPSVø
STRSV, DTRSV, CTRSV, ZTRSV, STPSV, DTPSV, CTPSV, and ZTPSV--Solution of a Triangular System of Equations with a Single Right-Hand Side
Solution of Triangular Systems of Equations with Multiple Right-Hand Sides STRSM¢
CTRSM¢
DTRSM¢
ZTRSM¢
STRSM, DTRSM, CTRSM, and ZTRSM--Solution of Triangular Systems of Equations with Multiple Right-Hand Sides
Triangular Matrix Inverse STRI
STPI
STRTRI°
STPTRI°
DTRI
DTPI
DTRTRI°
DTPTRI°
STRI, DTRI, STPI, DTPI, STRTRI, DTRTRI, STPTRI, and DTPTRI--Triangular Matrix Inverse

ø Level 2 BLAS

¢ Level 3 BLAS

° LAPACK

§ This subroutine is provided only for migration from earlier releases of ESSL and is not intended for use is new programs. Documentation for this subroutine is no longer provided.

Banded Linear Algebraic Equations

The banded linear algebraic equation subroutines provide solutions to linear systems of equations for real general band matrices, real positive definite symmetric band matrices, real or complex general tridiagonal matrices, real positive definite symmetric tridiagonal matrices, and real or complex triangular band matrices.

Table 9. List of Banded Linear Algebraic Equation Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
General Band Matrix Factorization SGBF DGBF SGBF and DGBF--General Band Matrix Factorization
General Band Matrix Solve SGBS DGBS SGBS and DGBS--General Band Matrix Solve
Positive Definite Symmetric Band Matrix Factorization SPBF
SPBCHF
DPBF
DPBCHF
SPBF, DPBF, SPBCHF, and DPBCHF--Positive Definite Symmetric Band Matrix Factorization
Positive Definite Symmetric Band Matrix Solve SPBS
SPBCHS
DPBS
DPBCHS
SPBS, DPBS, SPBCHS, and DPBCHS--Positive Definite Symmetric Band Matrix Solve
General Tridiagonal Matrix Factorization SGTF DGTF SGTF and DGTF--General Tridiagonal Matrix Factorization
General Tridiagonal Matrix Solve SGTS DGTS SGTS and DGTS--General Tridiagonal Matrix Solve
General Tridiagonal Matrix Combined Factorization and Solve with No Pivoting SGTNP
CGTNP
DGTNP
ZGTNP
SGTNP, DGTNP, CGTNP, and ZGTNP--General Tridiagonal Matrix Combined Factorization and Solve with No Pivoting
General Tridiagonal Matrix Factorization with No Pivoting SGTNPF
CGTNPF
DGTNPF
ZGTNPF
SGTNPF, DGTNPF, CGTNPF, and ZGTNPF--General Tridiagonal Matrix Factorization with No Pivoting
General Tridiagonal Matrix Solve with No Pivoting SGTNPS
CGTNPS
DGTNPS
ZGTNPS
SGTNPS, DGTNPS, CGTNPS, and ZGTNPS--General Tridiagonal Matrix Solve with No Pivoting
Positive Definite Symmetric Tridiagonal Matrix Factorization SPTF DPTF SPTF and DPTF--Positive Definite Symmetric Tridiagonal Matrix Factorization
Positive Definite Symmetric Tridiagonal Matrix Solve SPTS DPTS SPTS and DPTS--Positive Definite Symmetric Tridiagonal Matrix Solve
Triangular Band Equation Solve STBSVø
CTBSVø
DTBSVø
ZTBSVø
STBSV, DTBSV, CTBSV, and ZTBSV--Triangular Band Equation Solve

ø Level 2 BLAS

Sparse Linear Algebraic Equations

The sparse linear algebraic equation subroutines provide direct and iterative solutions to linear systems of equations both for general sparse matrices and their transposes and for sparse symmetric matrices.

Table 10. List of Sparse Linear Algebraic Equation Subroutines

Descriptive Name Long- Precision Subroutine Page
General Sparse Matrix Factorization Using Storage by Indices, Rows, or Columns DGSF DGSF--General Sparse Matrix Factorization Using Storage by Indices, Rows, or Columns
General Sparse Matrix or Its Transpose Solve Using Storage by Indices, Rows, or Columns DGSS DGSS--General Sparse Matrix or Its Transpose Solve Using Storage by Indices, Rows, or Columns
General Sparse Matrix or Its Transpose Factorization, Determinant, and Solve Using Skyline Storage Mode DGKFS
DGKFSP§
DGKFS--General Sparse Matrix or Its Transpose Factorization, Determinant, and Solve Using Skyline Storage Mode
Symmetric Sparse Matrix Factorization, Determinant, and Solve Using Skyline Storage Mode DSKFS
DSKFSP§
DSKFS--Symmetric Sparse Matrix Factorization, Determinant, and Solve Using Skyline Storage Mode
Iterative Linear System Solver for a General or Symmetric Sparse Matrix Stored by Rows DSRIS DSRIS--Iterative Linear System Solver for a General or Symmetric Sparse Matrix Stored by Rows
Sparse Positive Definite or Negative Definite Symmetric Matrix Iterative Solve Using Compressed-Matrix Storage Mode DSMCG# DSMCG--Sparse Positive Definite or Negative Definite Symmetric Matrix Iterative Solve Using Compressed-Matrix Storage Mode
Sparse Positive Definite or Negative Definite Symmetric Matrix Iterative Solve Using Compressed-Diagonal Storage Mode DSDCG DSDCG--Sparse Positive Definite or Negative Definite Symmetric Matrix Iterative Solve Using Compressed-Diagonal Storage Mode
General Sparse Matrix Iterative Solve Using Compressed-Matrix Storage Mode DSMGCG# DSMGCG--General Sparse Matrix Iterative Solve Using Compressed-Matrix Storage Mode
General Sparse Matrix Iterative Solve Using Compressed-Diagonal Storage Mode DSDGCG DSDGCG--General Sparse Matrix Iterative Solve Using Compressed-Diagonal Storage Mode

§ This subroutine is provided only for migration from earlier releases of ESSL and is not intended for use in new programs. Documentation for this subroutine is no longer provided.

# This subroutine is provided only for migration from earlier releases of ESSL and is not intended for use in new programs. Use DSRIS instead.

Linear Least Squares

The linear least squares subroutines provide least squares solutions to linear systems of equations for real general matrices. |Three methods are provided: one that uses the singular value |decomposition; one that uses a QR decomposition with column |pivoting; and another that uses a QR decomposition without column |pivoting. Some of these subroutines correspond to the LAPACK routines |described in reference [8].

Table 11. List of Linear Least Squares Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Singular Value Decomposition for a General Matrix SGESVF DGESVF SGESVF and DGESVF--Singular Value Decomposition for a General Matrix
Linear Least Squares Solution for a General Matrix Using the Singular Value Decomposition SGESVS DGESVS SGESVS and DGESVS--Linear Least Squares Solution for a General Matrix Using the Singular Value Decomposition
General Matrix QR Factorization
DGEQRF° DGEQRF--General Matrix QR Factorization
Linear Least Squares Solution for a General Matrix
DGELS° DGELS--Linear Least Squares Solution for a General Matrix
Linear Least Squares Solution for a General Matrix with Column Pivoting SGELLS DGELLS SGELLS and DGELLS--Linear Least Squares Solution for a General Matrix with Column Pivoting

° LAPACK

Eigensystem Analysis

The eigensystem analysis subroutines provide solutions to the algebraic eigensystem analysis problem Az = wz and the generalized eigensystem analysis problem Az = wBz (Table 12). Many of the eigensystem analysis subroutines use the algorithms presented in Linear Algebra by Wilkinson and Reinsch [99] or use adaptations of EISPACK routines, as described in theEISPACK Guide Lecture Notes in Computer Science in reference [87] or in the EISPACK Guide Extension Lecture Notes in Computer Science in reference [58]. (EISPACK is available from the sources listed in reference [49].)

Table 12. List of Eigensystem Analysis Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Eigenvalues and, Optionally, All or Selected Eigenvectors of a General Matrix SGEEV
CGEEV
DGEEV
ZGEEV
SGEEV, DGEEV, CGEEV, and ZGEEV--Eigenvalues and, Optionally, All or Selected Eigenvectors of a General Matrix
Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric Matrix or a Complex Hermitian Matrix SSPEV
CHPEV
DSPEV
ZHPEV
SSPEV, DSPEV, CHPEV, and ZHPEV--Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric Matrix or a Complex Hermitian Matrix
Extreme Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric Matrix or a Complex Hermitian Matrix SSPSV
CHPSV
DSPSV
ZHPSV
SSPSV, DSPSV, CHPSV, and ZHPSV--Extreme Eigenvalues and, Optionally, the Eigenvectors of a Real Symmetric Matrix or a Complex Hermitian Matrix
Eigenvalues and, Optionally, the Eigenvectors of a Generalized Real Eigensystem, Az=wBz, where A and B Are Real General Matrices SGEGV DGEGV SGEGV and DGEGV--Eigenvalues and, Optionally, the Eigenvectors of a Generalized Real Eigensystem, Az=wBz, where A and B Are Real General Matrices
Eigenvalues and, Optionally, the Eigenvectors of a Generalized Real Symmetric Eigensystem, Az=wBz, where A Is Real Symmetric and B Is Real Symmetric Positive Definite SSYGV DSYGV SSYGV and DSYGV--Eigenvalues and, Optionally, the Eigenvectors of a Generalized Real Symmetric Eigensystem, Az=wBz, where A Is Real Symmetric and B Is Real Symmetric Positive Definite

Fourier Transforms, Convolutions and Correlations, and Related Computations

This signal processing area provides:

Fourier Transforms

The Fourier transform subroutines perform mixed-radix transforms in one, two, and three dimensions.

Table 13. List of Fourier Transform Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Complex Fourier Transform SCFT
SCFTP§
DCFT SCFT and DCFT--Complex Fourier Transform
Real-to-Complex Fourier Transform SRCFT DRCFT SRCFT and DRCFT--Real-to-Complex Fourier Transform
Complex-to-Real Fourier Transform SCRFT DCRFT SCRFT and DCRFT--Complex-to-Real Fourier Transform
Cosine Transform SCOSF
SCOSFT§
DCOSF SCOSF and DCOSF--Cosine Transform
Sine Transform SSINF DSINF SSINF and DSINF--Sine Transform
Complex Fourier Transform in Two Dimensions SCFT2
SCFT2P§
DCFT2 SCFT2 and DCFT2--Complex Fourier Transform in Two Dimensions
Real-to-Complex Fourier Transform in Two Dimensions SRCFT2 DRCFT2 SRCFT2 and DRCFT2--Real-to-Complex Fourier Transform in Two Dimensions
Complex-to-Real Fourier Transform in Two Dimensions SCRFT2 DCRFT2 SCRFT2 and DCRFT2--Complex-to-Real Fourier Transform in Two Dimensions
Complex Fourier Transform in Three Dimensions SCFT3
SCFT3P§
DCFT3 SCFT3 and DCFT3--Complex Fourier Transform in Three Dimensions
Real-to-Complex Fourier Transform in Three Dimensions SRCFT3 DRCFT3 SRCFT3 and DRCFT3--Real-to-Complex Fourier Transform in Three Dimensions
Complex-to-Real Fourier Transform in Three Dimensions SCRFT3 DCRFT3 SCRFT3 and DCRFT3--Complex-to-Real Fourier Transform in Three Dimensions

§ This subroutine is provided only for migration from earlier releases of ESSL and is not intended for use in new programs. Documentation for this subroutine is no longer provided.

Convolutions and Correlations

The convolution and correlation subroutines provide the choice of using Fourier methods or direct methods. The Fourier-method subroutines contain a high-performance mixed-radix capability. There are also several direct-method subroutines that provide decimated output.

Table 14. List of Convolution and Correlation Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Convolution or Correlation of One Sequence with One or More Sequences SCON§
SCOR§

SCON and SCOR--Convolution or Correlation of One Sequence with One or More Sequences
Convolution or Correlation of One Sequence with Another Sequence Using a Direct Method SCOND
SCORD

SCOND and SCORD--Convolution or Correlation of One Sequence with Another Sequence Using a Direct Method
Convolution or Correlation of One Sequence with One or More Sequences Using the Mixed-Radix Fourier Method SCONF
SCORF

SCONF and SCORF--Convolution or Correlation of One Sequence with One or More Sequences Using the Mixed-Radix Fourier Method
Convolution or Correlation with Decimated Output Using a Direct Method SDCON
SDCOR
DDCON
DDCOR
SDCON, DDCON, SDCOR, and DDCOR--Convolution or Correlation with Decimated Output Using a Direct Method
Autocorrelation of One or More Sequences SACOR§
SACOR--Autocorrelation of One or More Sequences
Autocorrelation of One or More Sequences Using the Mixed-Radix Fourier Method SACORF
SACORF--Autocorrelation of One or More Sequences Using the Mixed-Radix Fourier Method

§ These subroutines are provided only for migration from earlier releases of ESSL and are not intended for use in new programs.

Related Computations

The related-computation subroutines consist of a group of computations that can be used in general signal processing applications. They are similar to those provided on the IBM 3838 Array Processor; however, the ESSL subroutines generally solve a wider range of problems.

Table 15. List of Related-Computation Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Polynomial Evaluation SPOLY DPOLY SPOLY and DPOLY--Polynomial Evaluation
I-th Zero Crossing SIZC DIZC SIZC and DIZC--I-th Zero Crossing
Time-Varying Recursive Filter STREC DTREC STREC and DTREC--Time-Varying Recursive Filter
Quadratic Interpolation SQINT DQINT SQINT and DQINT--Quadratic Interpolation
Wiener-Levinson Filter Coefficients SWLEV
CWLEV
DWLEV
ZWLEV
SWLEV, DWLEV, CWLEV, and ZWLEV--Wiener-Levinson Filter Coefficients

Sorting and Searching

The sorting and searching subroutines operate on three types of data: integer, short-precision real, and long-precision real (Table 16). The sorting subroutines perform sorts with or without index designations. The searching subroutines perform either a binary or sequential search.

Table 16. List of Sorting and Searching Subroutines

Descriptive Name Integer Subroutine Short- Precision Subroutine Long- Precision Subroutine Page
Sort the Elements of a Sequence ISORT SSORT DSORT ISORT, SSORT, and DSORT--Sort the Elements of a Sequence
Sort the Elements of a Sequence and Note the Original Element Positions ISORTX SSORTX DSORTX ISORTX, SSORTX, and DSORTX--Sort the Elements of a Sequence and Note the Original Element Positions
Sort the Elements of a Sequence Using a Stable Sort and Note the Original Element Positions ISORTS SSORTS DSORTS ISORTS, SSORTS, and DSORTS--Sort the Elements of a Sequence Using a Stable Sort and Note the Original Element Positions
Binary Search for Elements of a Sequence X in a Sorted Sequence Y IBSRCH SBSRCH DBSRCH IBSRCH, SBSRCH, and DBSRCH--Binary Search for Elements of a Sequence X in a Sorted Sequence Y
Sequential Search for Elements of a Sequence X in the Sequence Y ISSRCH SSSRCH DSSRCH ISSRCH, SSSRCH, and DSSRCH--Sequential Search for Elements of a Sequence X in the Sequence Y

Interpolation

The interpolation subroutines provide the capabilities of doing polynomial interpolation, local polynomial interpolation, and both one- and two-dimensional cubic spline interpolation (Table 17).

Table 17. List of Interpolation Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Polynomial Interpolation SPINT DPINT SPINT and DPINT--Polynomial Interpolation
Local Polynomial Interpolation STPINT DTPINT STPINT and DTPINT--Local Polynomial Interpolation
Cubic Spline Interpolation SCSINT DCSINT SCSINT and DCSINT--Cubic Spline Interpolation
Two-Dimensional Cubic Spline Interpolation SCSIN2 DCSIN2 SCSIN2 and DCSIN2--Two-Dimensional Cubic Spline Interpolation

Numerical Quadrature

The numerical quadrature subroutines provide Gaussian quadrature methods for integrating a tabulated function and a user-supplied function over a finite, semi-infinite, or infinite region of integration (Table 18).

Table 18. List of Numerical Quadrature Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Numerical Quadrature Performed on a Set of Points SPTNQ DPTNQ SPTNQ and DPTNQ--Numerical Quadrature Performed on a Set of Points
Numerical Quadrature Performed on a Function Using Gauss-Legendre Quadrature SGLNQ& DGLNQ& SGLNQ and DGLNQ--Numerical Quadrature Performed on a Function Using Gauss-Legendre Quadrature
Numerical Quadrature Performed on a Function Over a Rectangle Using Two-Dimensional Gauss-Legendre Quadrature SGLNQ2& DGLNQ2& SGLNQ2 and DGLNQ2--Numerical Quadrature Performed on a Function Over a Rectangle Using Two-Dimensional Gauss-Legendre Quadrature
Numerical Quadrature Performed on a Function Using Gauss-Laguerre Quadrature SGLGQ& DGLGQ& SGLGQ and DGLGQ--Numerical Quadrature Performed on a Function Using Gauss-Laguerre Quadrature
Numerical Quadrature Performed on a Function Using Gauss-Rational Quadrature SGRAQ& DGRAQ& SGRAQ and DGRAQ--Numerical Quadrature Performed on a Function Using Gauss-Rational Quadrature
Numerical Quadrature Performed on a Function Using Gauss-Hermite Quadrature SGHMQ& DGHMQ& SGHMQ and DGHMQ--Numerical Quadrature Performed on a Function Using Gauss-Hermite Quadrature

& This subprogram is invoked as a function in a Fortran program.

Random Number Generation

Random number generation subroutines generate uniformly distributed random numbers or normally distributed random numbers (Table 19).

Table 19. List of Random Number Generation Subroutines

Descriptive Name Short- Precision Subroutine Long- Precision Subroutine Page
Generate a Vector of Uniformly Distributed Random Numbers SURAND DURAND SURAND and DURAND--Generate a Vector of Uniformly Distributed Random Numbers
Generate a Vector of Normally Distributed Random Numbers SNRAND DNRAND SNRAND and DNRAND--Generate a Vector of Normally Distributed Random Numbers
Generate a Vector of Long Period Uniformly Distributed Random Numbers SURXOR DURXOR SURXOR and DURXOR--Generate a Vector of Long Period Uniformly Distributed Random Numbers

Utilities

The utility subroutines perform general service functions that support ESSL, rather than mathematical computations (Table 20).

Table 20. List of Utility Subroutines

Descriptive Name Subroutine Page
ESSL Error Information-Handler Subroutine EINFO EINFO--ESSL Error Information-Handler Subroutine
ESSL ERRSAV Subroutine for ESSL ERRSAV ERRSAV--ESSL ERRSAV Subroutine for ESSL
ESSL ERRSET Subroutine for ESSL ERRSET ERRSET--ESSL ERRSET Subroutine for ESSL
ESSL ERRSTR Subroutine for ESSL ERRSTR ERRSTR--ESSL ERRSTR Subroutine for ESSL
Set the Vector Section Size (VSS) for the ESSL/370 Scalar Library IVSSET§
Set the Extended Vector Operations Indicator for the ESSL/370 Scalar Library IEVOPS§
Determine the Level of ESSL Installed IESSL IESSL--Determine the Level of ESSL Installed
Determine the Stride Value for Optimal Performance in Specified Fourier Transform Subroutines STRIDE STRIDE--Determine the Stride Value for Optimal Performance in Specified Fourier Transform Subroutines
Convert a Sparse Matrix from Storage-by-Rows to Compressed-Matrix Storage Mode DSRSM DSRSM--Convert a Sparse Matrix from Storage-by-Rows to Compressed-Matrix Storage Mode
For a General Sparse Matrix, Convert Between Diagonal-Out and Profile-In Skyline Storage Mode DGKTRN DGKTRN--For a General Sparse Matrix, Convert Between Diagonal-Out and Profile-In Skyline Storage Mode
For a Symmetric Sparse Matrix, Convert Between Diagonal-Out and Profile-In Skyline Storage Mode DSKTRN DSKTRN--For a Symmetric Sparse Matrix, Convert Between Diagonal-Out and Profile-In Skyline Storage Mode

§ This subroutine is provided for migration from earlier releases of ESSL and is not intended for use in new programs. Documentation for this subroutine is no longer provided.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]