STBMV/DTBMV/CTBMV/ZTBMV |
Lower triangular storage.
If A is a
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
A, it is stored in ab(1+i−j,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