Matrix-matrix multiply

 

SGEMM/DGEMM/CGEMM/ZGEMM

 

beta

The scalar β.

 

c

Array containing the m-by-nmatrix 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.”

Chapter 3 Basic Matrix Operations 225