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

474 HP MLIB User’s Guide
SBSRSM/DBSRSM/CBSRSM/ZBSRSM Block sparse row format triangular solve
SUBROUTINE ZBSRSM
INTEGER*4 transa, mb, n, unitd, blda, lb, ldb, ldc, lwork
INTEGER*4 descra(*), bindx(*), bpntrb(*), bpntre(*)
COMPLEX*16 alpha, beta
COMPLEX*16 val(*), b(ldb,*), c(ldc,*), work(*)
CALL ZBSRSM (transa, mb, n, unitd, dv, alpha, descra, val, bindx,
bpntrb, bpntre, lb, b, ldb, beta, c, ldc, work, lwork)
VECLIB8:
SUBROUTINE SBSRSM
INTEGER*8 transa, mb, n, unitd, blda, lb, ldb, ldc, lwork
INTEGER*8 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*8 transa, mb, n, unitd, blda, lb, ldb, ldc, lwork
INTEGER*8 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*8 transa, mb, n, unitd, blda, lb, ldb, ldc, lwork
INTEGER*8 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)
SUBROUTINE ZBSRSM
INTEGER*8 transa, mb, n, unitd, blda, lb, ldb, ldc, lwork
INTEGER*8 descra(*), bindx(*), bpntrb(*), bpntre(*)
COMPLEX*16 alpha, beta
COMPLEX*16 val(*), b(ldb,*), c(ldc,*), work(*)
CALL ZBSRSM (transa, mb, n, unitd, dv, alpha, descra, val, bindx,
bpntrb, bpntre, lb, b, ldb, beta, c, ldc, work, lwork)
Input transa Indicates how to operate with the sparse matrix.
0: Operate with matrix