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 ( B ← αop( A–1)B) , or BLAS_RIGHT_SIDE to

 

 

specify A as the right matrix operand ( B ← αBop( A–1)) .

 

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

 

 

(AT), 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 ai,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.

Chapter 3 Basic Matrix Operations 415