Block Ellpack format triangular solve

 

SBELSM/DBELSM/CBELSM/ZBELSM

Name

SBELSM/DBELSM/CBELSM/ZBELSM

 

 

Block Ellpack format triangular solve

 

Purpose

Block Ellpack 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 ← αA–TDB + βC

C ← αA–*DB + βC

Usage

VECLIB:

 

 

 

SUBROUTINE

SBELSM

 

 

INTEGER*4

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

 

INTEGER*4

descra(*), bindx(*)

 

 

REAL*4

alpha, beta

 

 

REAL*4

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

CALL SBELSM (transa, mb, n, unitd, dv, alpha, descra, val, blda, bindx, naxbnz, lb, b, ldb, beta, c, ldc, work, lwork)

SUBROUTINE

DBELSM

INTEGER*4

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

INTEGER*4

descra(*), bindx(*)

REAL*8

alpha, beta

REAL*8

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

CALL DBELSM (transa, mb, n, unitd, dv, alpha, descra, val, blda, bindx, maxbnz, lb, b, ldb, beta, c, ldc, work, lwork)

SUBROUTINE

CBELSM

INTEGER*4

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

INTEGER*4

descra(*), bindx(*)

COMPLEX*8

alpha, beta

COMPLEX*8

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

CALL CBELSM (transa, mb, n, unitd, dv, alpha, descra, val, blda, bindx, maxbnz, lb, b, ldb, beta, c, ldc, work, lwork)

Chapter 4 Sparse BLAS Operations 457