HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 3 Basic Matrix Operations 415
Triangular solve F_STRSM/F_DTRSM/F_CTRSM/F_ZTRSM
INTEGER*8 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*8 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*8 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*8 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)
Input SIDE Specifies in which order the product of two matrices, A
and B, are computed; A x B or B x A. Use
BLAS_LEFT_SIDE to specify A as the left matrix
operand , or BLAS_RIGHT_SIDE to
specify A as the right matrix operand .
UPLO Specifies whether a triangular matrix is upper or lower
triangular. Use either BLAS_UPPER or BLAS_LOWER.
TRANS Specifies whether to apply the matrix (A), its transpose
(A
T
), or its conjugate transpose (A*). Use one of the
following constants:
BLAS_NO_TRANS
BLAS_TRANS
BLAS_CONJ_TRANS
DIAG Specifies whether the triangular matrix has
unit-diagonal, that is a
i,i
= 1, or not. Use either
BLAS_UNIT_DIAG or BLAS_NON_UNIT_DIAG.
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 ALPHA.
B αop A
1–
()B←()
B αBop A
1–
()←()