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

514 HP MLIB User’s Guide
SJADMM/DJADMM/CJADMM/ZJADMM Jagged diagonal matrix-matrix multiply
SUBROUTINE ZJADMM
INTEGER*4 transa, m, n, k, maxnz, ldb, ldc, lwork
INTEGER*4 descra(*), indx(*), pntr(*), iperm(*)
COMPLEX*16 alpha, beta
COMPLEX*16 val(*), b(ldb,*), c(ldc,*), work(*)
CALL ZJADMM (transa, m, n, k, alpha, descra, val, pntr, iperm, indx,
maxnz, b, ldb, beta, c, ldc, work, lwork)
VECLIB8:
SUBROUTINE SJADMM
INTEGER*8 transa, m, n, k, maxnz, ldb, ldc, lwork
INTEGER*8 descra(*), indx(*), pntr(*), iperm(*)
REAL*4 alpha, beta
REAL*4 val(*), b(ldb,*), c(ldc,*), work(*)
CALL SJADMM (transa, m, n, k, alpha, descra, val, pntr, iperm, indx,
maxnz, b, ldb, beta, c, ldc, work, lwork)
SUBROUTINE DJADMM
INTEGER*8 transa, m, n, k, maxnz, ldb, ldc, lwork
INTEGER*8 descra(*), indx(*), pntr(*), iperm(*)
REAL*8 alpha, beta
REAL*8 val(*), b(ldb,*), c(ldc,*), work(*)
CALL DJADMM (transa, m, n, k, alpha, descra, val, pntr, iperm, indx,
maxnz, b, ldb, beta, c, ldc, work, lwork)
SUBROUTINE CJADMM
INTEGER*8 transa, m, n, k, maxnz, ldb, ldc, lwork
INTEGER*8 descra(*), indx(*), pntr(*), iperm(*)
COMPLEX*8 alpha, beta
COMPLEX*8 val(*), b(ldb,*), c(ldc,*), work(*)
CALL CJADMM (transa, m, n, k, alpha, descra, val, pntr, iperm, indx,
maxnz, b, ldb, beta, c, ldc, work, lwork)
SUBROUTINE ZJADMM
INTEGER*8 transa, m, n, k, maxnz, ldb, ldc, lwork
INTEGER*8 descra(*), indx(*), pntr(*), iperm(*)
COMPLEX*16 alpha, beta
COMPLEX*16 val(*), b(ldb,*), c(ldc,*), work(*)
CALL ZJADMM (transa, m, n, k, alpha, descra, val, pntr, iperm, indx,
maxnz, b, ldb, beta, c, ldc, work, lwork)
Input transa Indicates how to operate with the sparse matrix.
0: Operate with matrix