HP MLIB User's Guide Vol. 1 7th Ed.

Chapter 3 Basic Matrix Operations 267
Matrix-matrix multiply SSYMM/DSYMM/CHEMM/CSYMM/ZHEMM/ZSYMM
Input side Specifies whether symmetric or Hermitian matrix A is
the left or right matrix operand:
’L’ or ’l’ A is the left matrix operand, that is,
compute
’R’ or ’r’ A is the right matrix operand, that is,
compute
uplo Upper/lower triangular storage option for A:
’L’ or ’l’ Reference only the lower triangle of A
’U’ or ’u’ Reference only the upper triangle of A
m Number of rows in matrix C, m 0. If m = 0, the
subprograms do not reference a, b, or c.
n Number of columns in matrix B, n 0. If n = 0, the
subprograms do not reference a, b, or c.
alpha The scalar α. If alpha = 0, the subprograms compute
C ←βC without referencing a or b.
a Array whose upper or lower triangle, as specified by
uplo, contains the upper or lower triangle of the matrix
A. The other triangle of a is not referenced. The size of
A is indicated by side:
’L’ or ’l’ A is m-by-m
’R’ or ’r’ A is n-by-n
lda The leading dimension of array a as declared in the
calling program unit, with lda max (the number of
rows of A,1).
b Array containing the m-by-n matrix B.
ldb The leading dimension of array b as declared in the
calling program unit, with ldb max(m,1).
beta The scalar β.
c Array containing the m-by-n matrix C. Not used as
input if beta = 0.
ldc The leading dimension of array c as declared in the
calling program unit, with ldc max(m,1).
Output c The updated C matrix replaces the input.
Notes These subprograms conform to specifications of the Level 3 BLAS.
C αAB←βC+
C αBA←βC+