Level 1 BLAS
dim scalar vector vector scalars 5-element prefixes
array
SUBROUTINE _ROTG ( A, B, C, S ) S, D
SUBROUTINE _ROTMG( D1, D2, A, B, PARAM ) S, D
SUBROUTINE _ROT ( N, X, INCX, Y, INCY, C, S ) S, D
SUBROUTINE _ROTM ( N, X, INCX, Y, INCY, PARAM ) S, D
SUBROUTINE _SWAP ( N, X, INCX, Y, INCY ) S, D, C, Z
SUBROUTINE _SCAL ( N, ALPHA, X, INCX ) S, D, C, Z, CS, ZD
SUBROUTINE _COPY ( N, X, INCX, Y, INCY ) S, D, C, Z
SUBROUTINE _AXPY ( N, ALPHA, X, INCX, Y, INCY ) S, D, C, Z
FUNCTION _DOT ( N, X, INCX, Y, INCY ) S, D, DS
FUNCTION _DOTU ( N, X, INCX, Y, INCY ) C, Z
FUNCTION _DOTC ( N, X, INCX, Y, INCY ) C, Z
FUNCTION __DOT ( N, ALPHA, X, INCX, Y, INCY ) SDS
FUNCTION _NRM2 ( N, X, INCX ) S, D, SC, DZ
FUNCTION _ASUM ( N, X, INCX ) S, D, SC, DZ
FUNCTION I_AMAX( N, X, INCX ) S, D, C, Z
| Name | Operation | Prefixes |
| _ROTG | Generate plane rotation | S, D |
| _ROTMG | Generate modified plane rotation | S, D |
| _ROT | Apply plane rotation | S, D |
| _ROTM | Apply modified plane rotation | S, D |
| _SWAP |
|
S, D, C, Z |
| _SCAL |
|
S, D, C, Z, CS, ZD |
| _COPY |
|
S, D, C, Z |
| _AXPY |
|
S, D, C, Z |
| _DOT |
|
S, D, DS |
| _DOTU |
|
C, Z |
| _DOTC |
|
C, Z |
| __DOT |
|
SDS |
| _NRM2 |
|
S, D, SC, DZ |
| _ASUM |
|
S, D, SC, DZ |
| I_AMAX |
|
S, D, C, Z |
|
|
= max( | re( x i ) | + | im( x i ) | ) |
Level 2 BLAS
options dim b-width scalar matrix vector scalar vector prefixes
_GEMV ( TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY ) S, D, C, Z
_GBMV ( TRANS, M, N, KL, KU, ALPHA, A, LDA, X, INCX, BETA, Y, INCY ) S, D, C, Z
_HEMV ( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY ) C, Z
_HBMV ( UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, Y, INCY ) C, Z
_HPMV ( UPLO, N, ALPHA, AP, X, INCX, BETA, Y, INCY ) C, Z
_SYMV ( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY ) S, D
_SBMV ( UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, Y, INCY ) S, D
_SPMV ( UPLO, N, ALPHA, AP, X, INCX, BETA, Y, INCY ) S, D
_TRMV ( UPLO, TRANS, DIAG, N, A, LDA, X, INCX ) S, D, C, Z
_TBMV ( UPLO, TRANS, DIAG, N, K, A, LDA, X, INCX ) S, D, C, Z
_TPMV ( UPLO, TRANS, DIAG, N, AP, X, INCX ) S, D, C, Z
_TRSV ( UPLO, TRANS, DIAG, N, A, LDA, X, INCX ) S, D, C, Z
_TBSV ( UPLO, TRANS, DIAG, N, K, A, LDA, X, INCX ) S, D, C, Z
_TPSV ( UPLO, TRANS, DIAG, N, AP, X, INCX ) S, D, C, Z
options dim scalar vector vector matrix prefixes
_GER ( M, N, ALPHA, X, INCX, Y, INCY, A, LDA ) S, D
_GERU ( M, N, ALPHA, X, INCX, Y, INCY, A, LDA ) C, Z
_GERC ( M, N, ALPHA, X, INCX, Y, INCY, A, LDA ) C, Z
_HER ( UPLO, N, ALPHA, X, INCX, A, LDA ) C, Z
_HPR ( UPLO, N, ALPHA, X, INCX, AP ) C, Z
_HER2 ( UPLO, N, ALPHA, X, INCX, Y, INCY, A, LDA ) C, Z
_HPR2 ( UPLO, N, ALPHA, X, INCX, Y, INCY, AP ) C, Z
_SYR ( UPLO, N, ALPHA, X, INCX, A, LDA ) S, D
_SPR ( UPLO, N, ALPHA, X, INCX, AP ) S, D
_SYR2 ( UPLO, N, ALPHA, X, INCX, Y, INCY, A, LDA ) S, D
_SPR2 ( UPLO, N, ALPHA, X, INCX, Y, INCY, AP ) S, D
Level 3 BLAS
options dim scalar matrix matrix scalar matrix prefixes
_GEMM ( TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC ) S, D, C, Z
_SYMM ( SIDE, UPLO, M, N, ALPHA, A, LDA, B, LDB, BETA, C, LDC ) S, D, C, Z
_HEMM ( SIDE, UPLO, M, N, ALPHA, A, LDA, B, LDB, BETA, C, LDC ) C, Z
_SYRK ( UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C, LDC ) S, D, C, Z
_HERK ( UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C, LDC ) C, Z
_SYR2K( UPLO, TRANS, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC ) S, D, C, Z
_HER2K( UPLO, TRANS, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC ) C, Z
_TRMM ( SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB ) S, D, C, Z
_TRSM ( SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB ) S, D, C, Z
| Name | Operation | Prefixes |
| _GEMV |
|
S, D, C, Z |
| _GBMV |
|
S, D, C, Z |
| _HEMV |
|
C, Z |
| _HBMV |
|
C, Z |
| _HPMV |
|
C, Z |
| _SYMV |
|
S, D |
| _SBMV |
|
S, D |
| _SPMV |
|
S, D |
| _TRMV |
|
S, D, C, Z |
| _TBMV |
|
S, D, C, Z |
| _TPMV |
|
S, D, C, Z |
| _TRSV |
|
S, D, C, Z |
| _TBSV |
|
S, D, C, Z |
|
_TPSV |
|
S, D, C, Z |
| _GER |
|
S, D |
| _GERU |
|
C, Z |
| _GERC |
|
C, Z |
| _HER |
|
C, Z |
| _HPR |
|
C, Z |
| _HER2 |
|
C, Z |
| _HPR2 |
|
C, Z |
| _SYR |
|
S, D |
| _SPR |
|
S, D |
| _SYR2 |
|
S, D |
|
_SPR2 |
|
S, D |
| Name | Operation | Prefixes |
| _GEMM |
|
S, D, C, Z |
| _SYMM |
|
S, D, C, Z |
| _HEMM |
|
C, Z |
| _SYRK |
|
S, D, C, Z |
| _HERK |
|
C, Z |
| _SYR2K |
|
S, D, C, Z |
| _HER2K |
|
C, Z |
| _TRMM |
|
S, D, C, Z |
| _TRSM |
|
S, D, C, Z |
Notes
Meaning of prefixes
| S - REAL | C - COMPLEX | |
| D - DOUBLE PRECISION | Z - COMPLEX*16 | (this may not be supported |
| by all machines) |
For the Level 2 BLAS a set of extended-precision routines with the prefixes ES, ED, EC, EZ may also be available.
Level 1 BLAS
In addition to the listed routines there are two further extended-precision dot product routines DQDOTI and DQDOTA.
Level 2 and Level 3 BLAS
Matrix types
| GE - GEneral | GB - General Band | |
| SY - SYmmetric | SB - Symmetric Band | SP - Symmetric Packed |
| HE - HErmitian | HB - Hermitian Band | HP - Hermitian Packed |
| TR - TRiangular | TB - Triangular Band | TP - Triangular Packed |
Options
Arguments describing options are declared as CHARACTER*1 and may be passed as character strings.
| TRANS | = ` No transpose', ` Transpose', ` Conjugate transpose' ( X, X T, XC ) |
| UPLO | = ` Upper triangular', ` Lower triangular' |
| DIAG | = ` Non-unit triangular', ` Unit triangular' |
| SIDE | = ` Left', ` Right' (A or op(A) on the left, or A or op(A) on the right) |