HP MLIB User's Guide Vol. 1 7th Ed.

Chapter 4 Sparse BLAS Operations 535
Variable block row format triangular solve SVBRSM/DVBRSM/CVBRSM/ZVBRSM
SUBROUTINE ZVBRSM
INTEGER*8 transa, mb, n, unitd, blda, ldb, ldc, lwork
INTEGER*8 descra(*), indx(*), bindx(*), rpntr(*), cpntr(*),
bpntrb(*), bpntre(*)
COMPLEX*16 alpha, beta
COMPLEX*16 val(*), b(ldb,*), c(ldc,*), work(*)
CALL ZVBRSM (transa, mb, n, unitd, dv, alpha, descra, val, indx, bindx,
rpntr, cpntr, bpntrb, bpntre, b, ldb, beta, c, ldc, work, lwork)
Input transa Indicates how to operate with the sparse matrix.
0: Operate with matrix
1: Operate with transpose matrix
2: Operate with conjugate-transpose matrix
mb Number of block rows in matrix A.
n Number of columns in matrix C.
unitd Type of scaling.
1. Identity matrix (argument dv( ) is ignored)
2. Scale on left (row scaling)
3. Scale on right (column scaling)
dv( ) Diagonal scaling array of length lb*lb*mb.
alpha Scalar parameter.
descra( )
Descriptor argument. Five element integer array.
descra(1) Matrix structure.
0: General
1: Symmetric
2: Hermitian
3: Triangular
4: Skew (Anti)-Symmetric
5: Diagonal
descra(2) Upper/Lower triangular indicator.
1: Lower
2: Upper