СПОСОБЫ ПРЕДСТАВЛЕНИЯ МАТРИЦ
СПЕЦИАЛЬНОГО ВИДА

Некоторые подпрограммы Библиотеки имеют дело с матрицами специального вида, для которых приняты следующие способы компактного представления в памяти машины.

Симметричная и эрмитова матрицы

Симметричная матрица размера  n ґ n представляется в виде вектора длины  n ( n + 1 ) / 2, который состоит из элементов нижнего треугольника матрицы, выписанных последовательно по строкам. Тем самым, элемент матрицы  a i j может быть найден как элемент этого вектора с индексом  k = i (i - 1) / 2 + j  для  i і j ( для  i < j  элемент  a i j = a j i ). Например, для симметричной матрицы A размера 3 ґ 3 имеем:

           | a11  a12   a13 |
           | a21  a22   a23 |  ®
           | a31  a32   a33 |

                                            | a11 |
                                            | a21 |
                                     ®   | a22 |
                                            | a31 |
                                            | a32 |
                                            | a33 |

Аналогично, для эрмитовой матрицы размера  n ґ n принято представление в виде комплексного вектора длины  n ( n + 1 ) / 2. При этом хранятся лишь элементы на и под главной диагональю по строкам.

Треугольная матрица

Верхняя (нижняя) треугольная матрица размера n ґ n задается вектором длины  n ( n + 1 ) / 2, в котором последовательно записаны столбцы (строки) ненулевого треугольника матрицы. Например, для нижней треугольной матрицы A размера 3 ґ 3 имеем:

           |  a11      0        0    |
           |  a21     a22       0   |  ®
           |  a31     a32      a33  |

                                                  |  a11  |
                                                  |  a21  |
                                           ®   |  a22  |
                                                  |  a31  |
                                                  |  a32  |
                                                  |  a33  |

Ленточная квадратная матрица

Ленточная квадратная матрица размера  n ґ n с K нижними и m верхними ненулевыми кодиагоналями задается прямоугольной матрицей размера  n ґ (K + 1 + m), в первых K столбцах которой расположены нижние кодиагонали, в (K+1) - ом столбце - главная диагональ, а в последних  m столбцах - верхние кодиагонали. Например, для ленточной матрицы A размера 5 ґ 5 c K = 2 и  m = 1 имеем:

           |   a11     a12      0       0        0    |
           |   a21     a22     a23      0        0    |
           |   a31     a32     a33     a34      0    |   ®
           |    0      a42     a43     a44     a45   |
           |    0       0      a53     a54      a55   |

                                                                           |    0       0       a11     a12   |
                                                                           |    0       a21     a22     a23  |
                                                                  ®     |   a31     a32     a33     a34   |
                                                                           |   a42     a43     a44     a45   |
                                                                           |   a53     a54      a55     0    |

Симметричная ленточная матрица

Симметричная ленточная матрица размера n ґ n с K нижними и K верхними ненулевыми кодиагоналями задается прямоугольной матрицей размера n ґ (K+1), в первых K столбцах которой расположены нижние кодиагонали, а в (K+1)-ом столбце - главная диагональ. Например, для симметричной ленточной матрицы A размера 4 ґ 4 с K=1 имеем:

           |   a11     a12      0       0    |
           |   a21     a22     a23      0    |
           |    0      a32     a33     a34   |   ®
           |    0       0      a43     a44   |

                                                                           |    0      a11   |
                                                                           |   a21     a22   |
                                                                  ®     |   a32     a33   |
                                                                           |   a43     a44   |

Треугольная ленточная матрица

Верхняя (нижняя) треугольная ленточная матрица размера n ґ n с K верхними (нижними) ненулевыми кодиагоналями задается прямоугольной матрицей размера n ґ (K+1), в первом(последнем) столбце которой расположены элементы главной диагонали, а в последних(первых) K столбцах - верхние(нижние) кодиагонали. Например, для верхней треугольной ленточной матрицы A размера 4 ґ 4 с K=1 имеем:

           |   a11     a12      0       0    |
           |    0      a22     a23      0    |
           |    0       0      a33     a34   |   ®
           |    0       0       0      a44   |

                                                                           |   a11     a12  |
                                                                           |   a22     a23  |
                                                                  ®     |   a33     a34  |
                                                                           |   a44      0    |

а для нижней треугольной ленточной матрицы B размера 4 ґ 4 с K=1 имеем:

           |   b11       0       0      0    |
           |   b21     b22      0      0    |
           |    0      b32     b33     0    |   ®
           |    0       0      b43     b44  |

                                                                           |    0      b11    |
                                                                           |   b21     b22   |
                                                                  ®     |   b32     b33   |
                                                                           |   b43     b44   |

Диагональная матрица

Диагональная матрица размера n ґ n задается вектором длины n, в котором записаны диагональные элементы матрицы. Например, для диагональной матрицы A размера 3 ґ 3 имеем:

           |   a11      0       0    |
           |    0      a22      0    |   ®
           |    0       0      a33   |

                                                         |   a11   |
                                                ®     |   a22   |
                                                         |   a33   |