This section describes the subprograms in each of the four linear algebra subprogram areas:
Notes:
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
|
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.
|
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.
|
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 |