BLAS Level 3 Routines
?gemm
performs the matrix-matrix operation
?hemm
performs one of the following matrix-matrix operations:
?herk
performs a rank-k update of an
?her2k
performs a rank-2k update of an
?symm
performs one of the following matrix-matrix operations:
?syrk
performs a rank-k update of an
?syr2k
performs a rank-2k update of an
?trmm
performs one of the matrix-matrix operations
?trsm
solves for X one of the matrix equations
C = alpha op(A) op(B) +
beta C
where C is an
m
by
n
matrix,
op(A) is an
m
by
k
matrix,
op(B) is a
k
by
n
matrix.
For the definition of op(A) and op(B), see Matrix Arguments.
call sgemm (transa, transb, m, n, k, salpha, SA, lda, SB, ldb, sbeta, SC, ldc)
call dgemm (transa, transb, m, n, k, dalpha, DA, lda, DB, ldb, dbeta, DC, ldc)
call cgemm (transa, transb, m, n, k, calpha, CA, lda, CB, ldb, cbeta, CC, ldc)
call zgemm (transa, transb, m, n, k, zalpha, ZA, lda, ZB, ldb, zbeta, ZC, ldc)
C = alpha AB +
beta C
for side =
'L'
C = alpha BA +
beta C
for side =
'R'
where A is a complex Hermitian matrix,
B and C are complex
m
by
n
matrices.
call chemm (side, uplo, m, n, calpha, CA, lda, CB, ldb, cbeta, CC, ldc)
call zhemm (side, uplo, m, n, zalpha, ZA, lda, ZB, ldb, zbeta, ZC, ldc)
n
by
n
Hermitian matrix C, that is, one of the following operations:
C =
alpha
AAH +
beta C
for trans =
'N'
C =
alpha
AHA +
beta C
for trans =
'C'
where C is an
n
by
n
Hermitian matrix;
A is an
n
by
k
matrix if
trans =
'N',
A is a
k
by
n
matrix if
trans =
'C'.
call cherk (uplo, trans, n, k, salpha, CA, lda, sbeta, CC, ldc)
call zherk (uplo, trans, n, k, dalpha, ZA, lda, dbeta, ZC, ldc)
n
by
n
Hermitian matrix C, that is, one of the following operations:
C =
alpha
ABH +
conjg(alpha)
BAH +
beta C
for trans =
'N'
C =
alpha
AHB +
conjg(alpha)
BHA +
beta C
for trans =
'C'
where C is an
n
by
n
Hermitian matrix;
A and B are
n
by
k
matrices if
trans =
'N',
A and B are
k
by
n
matrices if
trans =
'C'.
call cher2k (uplo, trans, n, k, calpha, CA, lda, CB, ldb, sbeta, CC, ldc)
call zher2k (uplo, trans, n, k, zalpha, ZA, lda, ZB, ldb, dbeta, ZC, ldc)
C = alpha AB +
beta C
for side =
'L'
C = alpha BA +
beta C
for side =
'R'
where A is a symmetric matrix,
B and C are
m
by
n
matrices.
call ssymm (side, uplo, m, n, salpha, SA, lda, SB, ldb, sbeta, SC, ldc)
call dsymm (side, uplo, m, n, dalpha, DA, lda, DB, ldb, dbeta, DC, ldc)
call csymm (side, uplo, m, n, calpha, CA, lda, CB, ldb, cbeta, CC, ldc)
call zsymm (side, uplo, m, n, zalpha, ZA, lda, ZB, ldb, zbeta, ZC, ldc)
n
by
n
symmetric matrix C, that is, one of the following operations:
C =
alpha
AAT +
beta C
for trans =
'N'
C =
alpha
ATA +
beta C
for trans =
'T'
where C is an
n
by
n
symmetric matrix;
A is an
n
by
k
matrix if
trans =
'N',
A is a
k
by
n
matrix if
trans =
'T'.
call ssyrk (uplo, trans, n, k, salpha, SA, lda, sbeta, SC, ldc)
call dsyrk (uplo, trans, n, k, dalpha, DA, lda, dbeta, DC, ldc)
call csyrk (uplo, trans, n, k, calpha, CA, lda, cbeta, CC, ldc)
call zsyrk (uplo, trans, n, k, zalpha, ZA, lda, zbeta, ZC, ldc)
n
by
n
symmetric matrix C, that is, one of the following operations:
C =
alpha
ABT +
alpha
BAT +
beta C
for trans =
'N'
C =
alpha
ATB +
alpha
BTA +
beta C
for trans =
'T'
where C is an
n
by
n
symmetric matrix;
A and B are
n
by
k
matrices if
trans =
'N',
A and B are
k
by
n
matrices if
trans =
'T'.
call ssyr2k (uplo, trans, n, k, salpha, SA, lda, SB, ldb, sbeta, SC, ldc)
call dsyr2k (uplo, trans, n, k, dalpha, DA, lda, DB, ldb, dbeta, DC, ldc)
call csyr2k (uplo, trans, n, k, calpha, CA, lda, CB, ldb, cbeta, CC, ldc)
call zsyr2k (uplo, trans, n, k, zalpha, ZA, lda, ZB, ldb, zbeta, ZC, ldc)
B = alpha op(A)B
for side =
'L'
B = alpha B op(A)
for side =
'R'
where B is an
m
by
n
general matrix, and A is triangular;
op(A) must be an
m
by
m
matrix if
side =
'L'
op(A) must be an
n
by
n
matrix if
side =
'R'.
For the definition of op(A), see Matrix Arguments.
call strmm (side, uplo, transa, diag, m, n, salpha, SA, lda, SB, ldb)
call dtrmm (side, uplo, transa, diag, m, n, dalpha, DA, lda, DB, ldb)
call ctrmm (side, uplo, transa, diag, m, n, calpha, CA, lda, CB, ldb)
call ztrmm (side, uplo, transa, diag, m, n, zalpha, ZA, lda, ZB, ldb)
op(A)X = alpha B
or
Xop(A) = alpha B
where X and B are
m
by
n
general matrices, and A is triangular;
op(A) must be an
m
by
m
matrix if
side =
'L'
op(A) must be an
n
by
n
matrix if
side =
'R'.
For the definition of op(A), see Matrix Arguments.
The routine overwrites X on B.
call strsm (side, uplo, transa, diag, m, n, salpha, SA, lda, SB, ldb)
call dtrsm (side, uplo, transa, diag, m, n, dalpha, DA, lda, DB, ldb)
call ctrsm (side, uplo, transa, diag, m, n, calpha, CA, lda, CB, ldb)
call ztrsm (side, uplo, transa, diag, m, n, zalpha, ZA, lda, ZB, ldb)
* Legal Information © 1999-2000, Intel Corporation