next up previous contents index
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 $ x \leftrightarrow y $ S, D, C, Z
_SCAL $ x \leftarrow \alpha x $ S, D, C, Z, CS, ZD
_COPY $ y \leftarrow x $ S, D, C, Z
_AXPY $y \leftarrow \alpha x + y$ S, D, C, Z
_DOT [画像:$ dot \leftarrow x ^ {T} y $] S, D, DS
_DOTU [画像:$ dot \leftarrow x ^ {T} y $] C, Z
_DOTC [画像:$ dot \leftarrow x ^ {H} y $] C, Z
__DOT [画像:$ dot \leftarrow \alpha + x ^ {T} y $] SDS
_NRM2 $ nrm2 \leftarrow \vert\vert x \vert\vert _ {2} $ S, D, SC, DZ
_ASUM $ asum \leftarrow \vert\vert re( x ) \vert\vert _ {1} + \vert\vert im( x ) \vert\vert _ {1} $ S, D, SC, DZ
I_AMAX $ amax \leftarrow 1^{st} k \ni \vert re( x _ {k} ) \vert + \vert im( x _ {k} ) \vert $ 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 [画像:$ y \leftarrow \alpha A x + \beta y , y \leftarrow \alpha A ^ {T} x + \beta y , y \leftarrow \alpha A ^{H} x + \beta y , A - m \times n $] S, D, C, Z
_GBMV [画像:$ y \leftarrow \alpha A x + \beta y , y \leftarrow \alpha A ^ {T} x + \beta y , y \leftarrow \alpha A ^{H} x + \beta y , A - m \times n $] S, D, C, Z
_HEMV $y \leftarrow \alpha A x + \beta y$ C, Z
_HBMV $y \leftarrow \alpha A x + \beta y$ C, Z
_HPMV $y \leftarrow \alpha A x + \beta y$ C, Z
_SYMV $y \leftarrow \alpha A x + \beta y$ S, D
_SBMV $y \leftarrow \alpha A x + \beta y$ S, D
_SPMV $y \leftarrow \alpha A x + \beta y$ S, D
_TRMV [画像:$ x \leftarrow A x, x \leftarrow A ^{T} x, x \leftarrow A ^ {H} x $] S, D, C, Z
_TBMV [画像:$ x \leftarrow A x, x \leftarrow A ^{T} x, x \leftarrow A ^ {H} x $] S, D, C, Z
_TPMV [画像:$ x \leftarrow A x, x \leftarrow A ^{T} x, x \leftarrow A ^ {H} x $] S, D, C, Z
_TRSV [画像:$ x \leftarrow A ^{-1} x, x \leftarrow A ^{-T} x, x \leftarrow A ^ {-H} x $] S, D, C, Z
_TBSV [画像:$ x \leftarrow A ^{-1} x, x \leftarrow A ^{-T} x, x \leftarrow A ^ {-H} x $] S, D, C, Z



_TPSV [画像:$ x \leftarrow A ^{-1} x, x \leftarrow A ^{-T} x, x \leftarrow A ^ {-H} x $] S, D, C, Z
_GER [画像:$ A \leftarrow \alpha x y ^{T} + A , A - m \times n $] S, D
_GERU [画像:$ A \leftarrow \alpha x y ^{T} + A , A - m \times n $] C, Z
_GERC [画像:$ A \leftarrow \alpha x y ^{H} + A , A - m \times n $] C, Z
_HER [画像:$ A \leftarrow \alpha x x ^{H} + A $] C, Z
_HPR [画像:$ A \leftarrow \alpha x x ^{H} + A $] C, Z
_HER2 [画像:$ A \leftarrow \alpha x y ^{H} + y ( \alpha x ) ^ {H} + A $] C, Z
_HPR2 [画像:$ A \leftarrow \alpha x y ^{H} + y ( \alpha x ) ^ {H} + A $] C, Z
_SYR [画像:$ A \leftarrow \alpha x x ^{T} + A $] S, D
_SPR [画像:$ A \leftarrow \alpha x x ^{T} + A $] S, D
_SYR2 [画像:$ A \leftarrow \alpha x y ^{T} + \alpha y x ^ {T} + A $] S, D




_SPR2 [画像:$ A \leftarrow \alpha x y ^{T} + \alpha y x ^ {T} + A $] S, D

Name Operation Prefixes
_GEMM [画像:$ C \leftarrow \alpha op(A)op(B) + \beta C, op(X) = X, X ^{T}, X ^{H}, C - m \times n $] S, D, C, Z
_SYMM [画像:$ C \leftarrow \alpha AB + \beta C, C \leftarrow \alpha BA + \beta C, C - m \times n, A = A ^{T} $] S, D, C, Z
_HEMM [画像:$ C \leftarrow \alpha AB + \beta C, C \leftarrow \alpha BA + \beta C, C - m \times n, A = A ^{H} $] C, Z
_SYRK [画像:$ C \leftarrow \alpha AA ^{T} + \beta C, C \leftarrow \alpha A ^{T} A + \beta C, C - n \times n $] S, D, C, Z
_HERK [画像:$ C \leftarrow \alpha AA ^{H} + \beta C, C \leftarrow \alpha A ^{H} A + \beta C, C - n \times n $] C, Z
_SYR2K [画像:$ C \leftarrow \alpha AB ^{T} + \alpha BA ^{T} + \beta C, C \leftarrow \alpha A ^{T} B + \alpha B ^{T} A + \beta C, C - n \times n $] S, D, C, Z
_HER2K [画像:$ C \leftarrow \alpha AB ^{H} + \bar{\alpha} BA ^{H} + \beta C, C \leftarrow \alpha A ^{H} B + \bar{\alpha} B ^{H} A + \beta C, C - n \times n $] C, Z
_TRMM [画像:$ B \leftarrow \alpha op(A)B, B \leftarrow \alpha B op(A), op(A) = A, A ^{T}, A ^{H}, B - m \times n $] S, D, C, Z
_TRSM [画像:$ B \leftarrow \alpha op(A ^{-1} )B, B \leftarrow \alpha B op(A ^{-1} ), op(A) = A, A ^{T}, A ^{H}, B - m \times n $] 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 up previous contents index
Next: Converting from LINPACK or Up: Guide Previous: Notes   Contents   Index
Susan Blackford
1999年10月01日

AltStyle によって変換されたページ (->オリジナル) /