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 pntre(j)-1points to location bindx(*) of the last nonzero block in block row j.

Consider, for example, the 6 x 6 matrix:

Table 4-20

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 4-21 VBR Format Matrix

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 matrix-matrix product:

XYYYMM (TRANSA, M, N, K, ALPHA, args(A), B, LDB, BETA, C, LDC,

WORK, LWORK)

Block entry matrix-matrix product:

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