Next: Converting from LINPACK or Up: Guide Previous: Notes Contents Index

#
Quick Reference Guide to the BLAS

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)

For real matrices, TRANS = `T' and TRANS = `C' have the same meaning.
For Hermitian matrices, TRANS = `T' is not allowed.
For complex symmetric matrices, TRANS = `H' is not allowed.

Next: Converting from LINPACK or Up: Guide Previous: Notes Contents Index