HP MLIB User's Guide Vol. 1 7th Ed.
320 HP MLIB User’s Guide
STRMM/DTRMM/CTRMM/ZTRMM Triangular matrix-matrix multiply
Input side Specifies whether triangular matrix A is the left or
right matrix operand:
’L’ or ’l’ A is the left matrix operand: for
example,
’R’ or ’r’ A is the right matrix operand: for
example,
uplo Upper/lower triangular option for A:
’L’ or ’l’ A is a lower-triangular matrix
’U’ or ’u’ A is an upper-triangular matrix
transa Transposition option for A:
’N’ or ’n’ Use matrix A directly
’T’ or ’t’ Use A
T
, the transpose of A
’C’ or ’c’ Use A*, the conjugate transpose of A
In the real subprograms, ’C’ and ’c’ have the same
meaning as ’T’ and ’t’.
diag Specifies whether the A matrix is unit triangular, that
is, a
ii
= 1, or not:
’N’ or ’n’ The diagonal of A is stored in the
array
’U’ or ’u’ The diagonal of A consists of unstored
ones
When diag is supplied as ’U’ or ’u’, the diagonal
elements of A are not referenced.
m Number of rows in matrix B, m ≥ 0. If m = 0, the
subprograms do not reference a or b.
n Number of columns in matrix B, n ≥ 0. If n = 0, the
subprograms do not reference a or b.
alpha The scalar α. If alpha = 0, the subprograms compute
B ← 0 without referencing a.
a Array whose upper or lower triangle, as specified by
uplo, contains the upper- or lower-triangular matrix A,
whose size is indicated by side:
’L’ or ’l’ A is m-by-m
’R’ or ’r’ A is n-by-n
The other triangle of a is not referenced. Not used as
input if alpha = 0.
B αAB←
B αBA←