Block sparse row format triangular solve

 

SBSRSM/DBSRSM/CBSRSM/ZBSRSM

Name

SBSRSM/DBSRSM/CBSRSM/ZBSRSM

 

 

Block sparse row format triangular solve

 

Purpose

Block sparse row format triangular solve. Given a scalar α, an upper- or

 

lower-triangular sparse matrix A, and a m-by-nmatrix B with m=mb x lb, these

 

subprograms compute either of the matrix solutions αA–1B, or αDA–1B, or

 

αA–1DB, where D is a diagonal matrix. The size of A is m-by-m. Optionally, A–1

 

may be replaced by A–T, or by A*. Here, A–Tis the transpose-inverse and A*

 

is the conjugate-transpose-inverse of A. The solution matrix may be stored in

 

the result matrix C or optionally may be added to or subtracted from it. This is

 

handled in a convenient, but general way by two scalar arguments, α and β,

 

which are used as multipliers of the solution matrix and the result matrix.

 

Specifically, these subprograms compute matrix solutions of the form

 

C αA–1B + βC

C αA–TB + βC

C αA*B + βC

 

C αDA–1B + βC C αDA–TB + βC

C αDA*B + βC

 

C αA–1DB + βC C αATDB + βC

C αA*DB + βC

Usage

VECLIB:

 

 

 

SUBROUTINE

SBSRSM

 

 

INTEGER*4

transa, mb, n, unitd, blda, lb, ldb, ldc, lwork

 

INTEGER*4

descra(*), bindx(*), bpntrb(*), bpntre(*)

 

REAL*4

alpha, beta

 

 

REAL*4

val(*), b(ldb,*), c(ldc,*), work(*)

CALL SBSRSM (transa, mb, n, unitd, dv, alpha, descra, val, bindx, bpntrb, bpntre, lb, b, ldb, beta, c, ldc, work, lwork)

SUBROUTINE

DBSRSM

INTEGER*4

transa, mb, n, unitd, blda, lb, ldb, ldc, lwork

INTEGER*4

descra(*), bindx(*), bpntrb(*), bpntre(*)

REAL*8

alpha, beta

REAL*8

val(*), b(ldb,*), c(ldc,*), work(*)

CALL DBSRSM (transa, mb, n, unitd, dv, alpha, descra, val, bindx, bpntrb, bpntre, lb, b, ldb, beta, c, ldc, work, lwork)

SUBROUTINE

CBSRSM

INTEGER*4

transa, mb, n, unitd, blda, lb, ldb, ldc, lwork

INTEGER*4

descra(*), bindx(*), bpntrb(*), bpntre(*)

COMPLEX*8

alpha, beta

COMPLEX*8

val(*), b(ldb,*), c(ldc,*), work(*)

CALL CBSRSM (transa, mb, n, unitd, dv, alpha, descra, val, bindx, bpntrb, bpntre, lb, b, ldb, beta, c, ldc, work, lwork)

Chapter 4 Sparse BLAS Operations 473