![](/images/backgrounds/286162/hp-hp-ux-performance-tools-users-manual-156076456x1.png)
What you need to know to use these subprograms
•pntrb(*) - Integer array of length m such that pntrb(j) points to location in val( ) of the first nonzero element in row j.
•pntre(*) - Integer array of length m such that
The matrix in Table
Table
diag= | 11 | 22 | 33 | 44 |
|
|
|
val= | 13 | 15 | 21 | 31 | 35 | 41 | 45 |
indx= | 3 | 5 | 1 | 1 | 5 | 1 | 5 |
pntrb= | 1 | 3 | 4 | 6 |
|
|
|
pntre= | 3 | 4 | 6 | 8 |
|
|
|
DIA- Sparse diagonal. Given a sparse
•idiag(*) - Integer array of length ndiag consisting of the corresponding diagonal offsets idiag(i) of the nonzero diagonal of A stored in the column val(:, i). Offsets are represented with respect to the main diagonal, that is, the main diagonal has offset 0, lower triangular diagonals have negative offsets, and upper triangular diagonals have positive offsets.
•val( lda,*) - Two dimensional
•a) any diagonal with positive or zero offset d= idiag(i) (the main diagonal or any upper triangular diagonal) is stored starting from position val( :, i);
•b) if m is greater or equal to k, any diagonal with negative offset d= idiag(i) (any lower triangular diagonal) is stored starting from position
•c) if m is less than k, any diagonal with negative offset d= idiag(i) is stored starting from position val(t, i) where t=1+max(0,
428HP MLIB User’s Guide