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

414 HP MLIB User’s Guide
F_STRSM/F_DTRSM/F_CTRSM/F_ZTRSM Triangular solve
Name F_STRSM/F_DTRSM/F_CTRSM/F_ZTRSM
Triangular solve
Purpose F_xTRSM solves one of the following matrix equations:
where α is a scalar, B is a general matrix, and A is a unit, or non-unit, upper or
lower triangular matrix. op(A) denotes A, A
T
, or A*.
The BLAS Standard {TR, TB, TP}SM Triangular Solve interface encompasses
the legacy BLAS routine xTRSM with added functionality for triangular band
and packed storage matrix-matrix multiplication.
Refer to “STRSM/DTRSM/CTRSM/ZTRSM” on page 327 for a description of the
equivalent HP MLIB legacy BLAS subprograms.
Matrix
Storage
For these subprograms, you supply A in a two-dimensional array large enough
to hold a square matrix. The other triangle of the array is not referenced. If A
has an unstored unit diagonal (see input argument DIAG), then the diagonal
elements of the array also is not referenced.
Usage VECLIB
INTEGER*4 DIAG, K, LDA, LDB, M, N, SIDE, TRANSA, UPLO
REAL*4 ALPHA, A( LDA, * ), B( LDB, * )
SUBROUTINE F_STRSM(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A,
LDA, B, LDB)
INTEGER*4 DIAG, K, LDA, LDB, M, N, SIDE, TRANSA, UPLO
REAL*8 ALPHA, A( LDA, * ), B( LDB, * )
SUBROUTINE F_DTRSM(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A,
LDA, B, LDB)
INTEGER*4 DIAG, K, LDA, LDB, M, N, SIDE, TRANSA, UPLO
COMPLEX*8 ALPHA, A( LDA, * ), B( LDB, * )
SUBROUTINE F_CTRSM(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A,
LDA, B, LDB)
INTEGER*4 DIAG, K, LDA, LDB, M, N, SIDE, TRANSA, UPLO
COMPLEX*16 ALPHA, A( LDA, * ), B( LDB, * )
SUBROUTINE F_ZTRSM(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A,
LDA, B, LDB)
VECLIB8
B αop A
1
()B
B αBop A
1
()