
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
val= | 11 | 12 | 14 |
| 21 | 22 | - |
| 33 | 34 | - |
| 44 | - | - |
| 51 | 52 | 54 |
indx= | 1 | 2 | 4 |
| 1 | 2 | -1 |
| 3 | 4 | -1 |
| 4 | -1 | - |
| 1 | 2 | 4 |
JAD- Jagged diagonal. Given a sparse m-by-kmatrix 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)-1respectively 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):