Triangular matrix-matrix multiply

STRMM/DTRMM/CTRMM/ZTRMM

 

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-nmatrix B. Not used as

 

 

input if alpha = 0.

 

ldb

The leading dimension of array b as declared in the

 

 

calling program unit, with ldb ≥ max(m,1).

Output

b

The indicated matrix product 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:

side ≠ ’L’ or ’l’ or ’R’ or ’r’ uplo ≠ ’L’ or ’l’ or ’U’ or ’u’

transa ≠ ’N’ or ’n’ or ’T’ or ’t’ or ’C’ or ’c’ diag ≠ ’N’ or ’n’ or ’U’ or ’u’

m < 0 n < 0

lda too small ldb < 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 argument as ’NORMAL’ or ’NONTRANS’ for ’N’, ’TRANSPOSE’ for ’T’, or ’CTRANS’ for ’C’. Refer to “Example 2.”

Chapter 3 Basic Matrix Operations 321