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

470 HP MLIB User’s Guide
SBSRMM/DBSRMM/CBSRMM/ZBSRMM Block sparse row matrix-matrix multiply
SUBROUTINE ZBSRMM
INTEGER*4 transa, mb, n, kb, lb, ldb, ldc, lwork
INTEGER*4 descra(*), bindx(*), bpntrb(*), bpntre(*)
COMPLEX*16 alpha, beta
COMPLEX*16 val(*), b(ldb,*), c(ldc,*), work(*)
CALL ZBSRMM (transa, mb, n, kb, alpha, descra, val, bindx, bpntrb,
bpntre, lb, b, ldb, beta, c, ldc, work, lwork)
VECLIB8:
SUBROUTINE SBSRMM
INTEGER*8 transa, mb, n, kb, lb, ldb, ldc, lwork
INTEGER*8 descra(*), bindx(*), bpntrb(*), bpntre(*)
REAL*4 alpha, beta
REAL*4 val(*), b(ldb,*), c(ldc,*), work(*)
CALL SBSRMM (transa, mb, n, kb, alpha, descra, val, bindx, bpntrb,
bpntre, lb, b, ldb, beta, c, ldc, work, lwork)
SUBROUTINE DBSRMM
INTEGER*8 transa, mb, n, kb, lb, ldb, ldc, lwork
INTEGER*8 descra(*), bindx(*), bpntrb(*), bpntre(*)
REAL*8 alpha, beta
REAL*8 val(*), b(ldb,*), c(ldc,*), work(*)
CALL DBSRMM (transa, mb, n, kb, alpha, descra, val, bindx, bpntrb,
bpntre, lb, b, ldb, beta, c, ldc, work, lwork)
SUBROUTINE CBSRMM
INTEGER*8 transa, mb, n, kb, lb, ldb, ldc, lwork
INTEGER*8 descra(*), bindx(*), bpntrb(*), bpntre(*)
COMPLEX*8 alpha, beta
COMPLEX*8 val(*), b(ldb,*), c(ldc,*), work(*)
CALL CBSRMM (transa, mb, n, kb, alpha, descra, val, bindx, bpntrb,
bpntre, lb, b, ldb, beta, c, ldc, work, lwork)
SUBROUTINE ZBSRMM
INTEGER*8 transa, mb, n, kb, lb, ldb, ldc, lwork
INTEGER*8 descra(*), bindx(*), bpntrb(*), bpntre(*)
COMPLEX*16 alpha, beta
COMPLEX*16 val(*), b(ldb,*), c(ldc,*), work(*)
CALL ZBSRMM (transa, mb, n, kb, 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