HP MLIB User's Guide Vol. 1 7th Ed.
446 HP MLIB User’s Guide
SBDIMM/DBDIMM/CBDIMM/ZBDIMM Block diagonal matrix-matrix multiply
SUBROUTINE ZBDIMM
INTEGER*4 transa, mb, n, kb, blda, nbdiag, lb, ldb, ldc, lwork
INTEGER*4 descra(*), ibdiag(*)
COMPLEX*16 alpha, beta
COMPLEX*16 val(*), b(ldb,*), c(ldc,*), work(*)
CALL ZBDIMM (transa, mb, n, kb, alpha, descra, val, blda, ibdiag,
nbdiag, lb, b, ldb, beta, c, ldc, work, lwork)
VECLIB8:
SUBROUTINE SBDIMM
INTEGER*8 transa, mb, n, kb, blda, nbdiag, lb, ldb, ldc, lwork
INTEGER*8 descra(*), ibdiag(*)
REAL*4 alpha, beta
REAL*4 val(*), b(ldb,*), c(ldc,*), work(*)
CALL SBDIMM (transa, mb, n, kb, alpha, descra, val, blda, ibdiag,
nbdiag, lb, b, ldb, beta, c, ldc, work, lwork)
SUBROUTINE DBDIMM
INTEGER*8 transa, mb, n, kb, blda, nbdiag, lb, ldb, ldc, lwork
INTEGER*8 descra(*), ibdiag(*)
REAL*8 alpha, beta
REAL*8 val(*), b(ldb,*), c(ldc,*), work(*)
CALL DBDIMM (transa, mb, n, kb, alpha, descra, val, blda, ibdiag,
nbdiag, lb, b, ldb, beta, c, ldc, work, lwork)
SUBROUTINE CBDIMM
INTEGER*8 transa, mb, n, kb, blda, nbdiag, lb, ldb, ldc, lwork
INTEGER*8 descra(*), ibdiag(*)
COMPLEX*8 alpha, beta
COMPLEX*8 val(*), b(ldb,*), c(ldc,*), work(*)
CALL CBDIMM (transa, mb, n, kb, alpha, descra, val, blda, ibdiag,
nbdiag, lb, b, ldb, beta, c, ldc, work, lwork)
SUBROUTINE ZBDIMM
INTEGER*8 transa, mb, n, kb, blda, nbdiag, lb, ldb, ldc, lwork
INTEGER*8 descra(*), ibdiag(*)
COMPLEX*16 alpha, beta
COMPLEX*16 val(*), b(ldb,*), c(ldc,*), work(*)
CALL ZBDIMM (transa, mb, n, kb, alpha, descra, val, blda, ibdiag,
nbdiag, lb, b, ldb, beta, c, ldc, work, lwork)
Input transa Indicates how to operate with the sparse matrix.
0: Operate with matrix