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

434 HP MLIB User’s Guide
What you need to know to use these subprograms
The matrix in Table 4-17 could be represented in BSC format as:
Table 4-18 BSC Format Matrix
BMC - Block modified sparse column. The BMC format is a variation of the
BSC format obtained by storing the main diagonal of the matrix in a specific
array bdiag:
bdiag( lb, lb, *) - Scalar matrix of dimension lb-by-lb-by-d containing the
main diagonal of A, where d=min( mb, kb) is the number of blocks forming
the main diagonal.
BSR - Block compressed sparse row. Given a sparse block matrix A formed
by mb-by-kb square blocks of size lb-by-lb each, the block compressed sparse
row format represents the bnnz nonzero block entries using the same variables
as in the BSR format. Each nonzero dense block is stored in column major
order. Four arrays are required for the BSR representation:
val(lb, lb, *) - Scalar matrix of dimension lb-by-lb-by-maxnnz containing the
nonzero lb-by-lb blocks, where maxnnz = max(bnnz, bpntre(k)-1).
bindx(*) - Integer array of length maxnnz containing block row indices such
that bindx(i) corresponds to the block row index of val(:, :, i).
bindx= 1212
bpntrb= 123
bpntre= 235
val(1:2, 1:2, 1)= 11 12
21 22
val(1:2, 1:2, 2)= 33 0
43 44
val(1:2, 1:2, 3)= 15 16
25 26
val(1:2, 1:2, 4)= 35 36
046