IBM Books

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


Overview of the Linear Algebra Subprograms

This section describes the subprograms in each of the four linear algebra subprogram areas:

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 32. 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 using optimized storage techniques; 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 33. 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 represent a subset of the Level 2 BLAS described in references [34] and [35]. Both real and complex versions of the subprograms are provided.

Table 34. 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

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

Sparse Matrix-Vector Linear Algebra Subprograms

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

Table 35. 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


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