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:

 

 

B ← αop( A–1)B

 

 

B ← αBop( A–1)

 

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, AT, 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

For these subprograms, you supply A in a two-dimensional array large enough

Storage

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

414HP MLIB User’s Guide