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

446HP MLIB User’s Guide