What you need to know to use these subprograms
•bpntrb(*) - Integer array of length mb such that bpntrb(j) points to location in bindx(*) of the first nonzero block in block row j.
•bpntre(*) - Integer array of length mb such that
Consider, for example, the 6 x 6 matrix:
Table | 6 x 6 Matrix |
|
|
|
|
| ||
| 11 | 12 |
| 0 |
| 14 | 15 | 16 |
|
|
| ||||||
| 21 | 22 |
| 0 |
| 24 | 25 | 26 |
|
|
|
|
|
|
|
|
|
| 31 | 32 |
| 33 |
| 0 | 0 | 0 |
|
|
|
|
|
|
|
|
|
| 0 | 0 |
| 43 |
| 44 | 0 | 0 |
| 0 | 0 |
| 53 |
| 54 | 55 | 0 |
| 0 | 0 |
| 63 |
| 64 | 65 | 66 |
|
|
|
|
|
|
|
|
|
This matrix could be represented in VBR format using a 2x1x3 blocking:
Table
val= | 11 | 21 | 12 | 22 | 14 | 24 | 15 | 25 | 16 |
| 26 | 31 | 32 | 33 | 43 | 53 | 63 | 44 | 54 |
| 64 | 8 | 55 | 65 | 0 | 0 | 66 |
|
|
indx= | 1 | 5 | 11 | 13 | 14 | 17 | 26 |
|
|
bindx= | 1 | 3 | 1 | 2 | 2 | 3 |
|
|
|
rpntr= | 1 | 3 | 4 | 7 |
|
|
|
|
|
cpntr= | 1 | 3 | 4 | 7 |
|
|
|
|
|
bpntbr= | 1 | 3 | 5 |
|
|
|
|
|
|
bpntbe= | 3 | 5 | 7 |
|
|
|
|
|
|
Operator arguments in the Sparse BLAS
The argument conventions follow the spirit of the dense BLAS.
•Point entry
XYYYMM (TRANSA, M, N, K, ALPHA, args(A), B, LDB, BETA, C, LDC,
WORK, LWORK)
•Block entry
XYYYMM (TRANSA, MB, N, KB, ALPHA, args(A), B, BLDB, BETA, C,
BLDC, WORK, LWORK)
•Point entry solution of triangular system:
Chapter 4 Sparse BLAS Operations 437