HP MLIB User's Guide Vol. 1 7th Ed.
430 HP MLIB User’s Guide
What you need to know to use these subprograms
The matrix in Table 4-10 could be represented in ELL format using maxn=3:
Table 4-11 ELL Format Matrix
JAD- Jagged diagonal. Given a sparse m-by-k matrix A with maxnz nonzero
elements in any row, the JAD format stores the nonzero entries of a row
permutation of A using column ordering. The rows of the original matrix A are
permuted in the decreasing number of nonzero entries. Four arrays are
required for the JAD representation:
• iperm(*) - Integer array of length m such that i=iperm(j) indicates that row j
of the row-permuted representation of A corresponds to row i of the original
matrix A. If there is no permutatuion at all, iperm is set to a negative
number (usually -1).
• val(*) - Scalar array of length nnz (the total number of nonzero elements in
A) containing the jagged diagonals of the row-permutation of A: The first
jagged diagonal consists of the first nonzero entry of each row, and it is
stored first in val(); the second jagged diagonalconsists of the second
nonzero entry of each row, and it is stored second in val(*); and so on.
• indx(*) - Integer array of length nnz consisting of the column indices of the
corresponding entries in val( ).
• pntr(*) - Integer array of length maxnz+1 such that pntr(j) and pntr(j+1)-1
respectively point to location in val( ) of the first and last nonzero elements
in the j-th jagged diagonal of the row-permutation of A.
One possible row-permutation for the matrix in Table 4-10 would be iperm=(1,
5, 2, 3, 4):
val= 11 12 14
21 22 -
33 34 -
44 - -
51 52 54
indx= 124
12-1
34-1
4-1 -
124