HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 3 Basic Matrix Operations 225
Matrix-matrix multiply SGEMM/DGEMM/CGEMM/ZGEMM
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.
If an error in the arguments is detected, the subprograms call error handler
XERBLA, which writes an error message onto the standard error file and
terminates execution. The standard version of XERBLA (refer to the end of this
chapter) can be replaced with a user-supplied version to change the error
procedure. Error conditions are
transa ≠ ’N’ or ’n’ or ’T’ or ’t’ or ’C’ or ’c’
transb ≠ ’N’ or ’n’ or ’T’ or ’t’ or ’C’ or ’c’
m < 0
n < 0
k < 0
lda too small
ldb too small
ldc < max(m,1)
Actual character arguments in a subroutine call can be longer than the
corresponding dummy arguments. Therefore, readability of the CALL
statement may be improved, for example, by coding the transa and transb
arguments as ’NORMAL’ or ’NONTRANS’ for ’N’, ’TRANSPOSE’ for ’T’, or
’CTRANS’ for ’C’. Refer to “Example 2.”