Matrix-vector multiply

STBMV/DTBMV/CTBMV/ZTBMV

Lower triangular storage.

If A is a 9-by-9 lower-triangular band matrix with bandwidth kd = 3, for example,

11

0

0

0

0

0

0

0

0

21

22

0

0

0

0

0

0

0

31

32

33

0

0

0

0

0

0

41

42

43

44

0

0

0

0

0

0

52

53

54

55

0

0

0

0

0

0

63

64

65

66

0

0

0

0

0

0

74

75

76

77

0

0

0

0

0

0

85

86

87

88

0

0

0

0

0

0

96

97

98

99

the lower triangular band part of A is stored in an array ab with at least kd+1 = 4 rows and 9 columns:

11

22

33

44

55

66

77

88

99

21

32

43

54

65

76

87

98

*

31

42

53

64

75

86

97

*

*

41

52

63

74

85

96

*

*

*

where asterisks represent elements in the kd-by-kdtriangle at the lower-right corner of ab that are not referenced. Thus, if aij is an element within the band of

A, it is stored in ab(1+ij,j). Therefore, the columns of A are stored in the columns of ab, and the diagonals of A are stored in the rows of ab, with the principal diagonal in the first row, the first subdiagonal in the second row, and so on.

Chapter 3 Basic Matrix Operations 295