Вычислительные методы алгебры и оценивания. Семушин И.В. - 101 стр.

UptoLike

Составители: 

6.6 Особенности хранения ПО-матрицы P
ской положительно определенной матрицы P. Тогда мы имеем 4 варианта
разложения Холесского (6.2), 2 способа окаймления и 2 схемы вычислений
для каждого алгоритма окаймления. Всего получается 16 вариантов алго-
ритмов окаймления для разложения Холесского симметрической положи-
тельно определенной матрицы. Добавляя к ним 24 разновидности ijkорм,
получаем 40 различных вычислительных схем разложений Холесского, ко-
торые и составляют весь набор вариантов (с м . подразд. 6.8) задания на ла-
бораторный проект 5 (см. подразд. 6.7).
6.6 Особенности хранения ПО-матрицы P
Как уже отмечалось (см. стр. 96), особенностью данного проекта является
использование линейных (одномерных) массивов для хранения матрицы P.
Так как матрица P симметрическая, то достаточно хранить только ниж-
нюю (или верхнюю) т ре угольную часть этой матрицы вместе с диагональю.
Причем для хранения заполненной матрицы используется один одномерный
массив, а для хранения разреженной два.
Хранение матрицы P може т быть организовано по сто лбцам или по стро-
кам в зависимости от используемого алгоритма разложения.
Рассмотрим строчный вариант хранения нижней треугольной части
заполненной матрицы P . В этом случае все элеме нты нижней треуголь-
ной мат рицы записываются построчно в одномерный массив. Так как для
хранения первой строки матрицы требуется один элеме нт массива, для хра-
нения вто рой строки два элемента и т. д., то для хранения симметриче-
ской матрицы размера n требуется одномерный массив размера n(n + 1)/2.
Положение (i, j)- го элемента матрицы P в массиве определяе т ся по формуле
k = (i 1)i/2 + j .
Аналогичным образом организуется хранение матрицы P по столбцам.
Как уже отмечалось, для хранения разреженной матрицы P использу-
ются два одномерных массива. Так, хранение нижней треугольной части
матрицы P по строкам можно организовать следующим образом. В массиве
a хранятся построчно элементы матрицы от первого ненулевог о до диаго-
нального включительно. В массиве b на i месте стоит положение i-го диа-
гонального элемента мат рицы P в массиве a. Для определе ния положения
(i, j)-гo элемента матрицы P в массиве a надо в о спользоваться следующим
алгоритмом. Сначала вычисляем k = b( i ) (i j). Затем, если k > b(i 1),
101