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

UptoLike

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

5.1 Упакованные формы хранения матриц
1 0 1 1.0 3 3.0 4 2.0 2 0 1 1.0 5 5.0
3 0 3 7.0 4 2.0 4 0 2 3 .0 6 1.0 5 0
1 1.0 4 3.0 6 0 5 2.0 6 2.0 0 0
Схема 2. Информация о матрице хранится в трех массивах. В ма ссиве
a хранятся ненулевые элеме нты матрицы A. В массиве b хранятся индексы
столбцов, а в массиве c указатели индексов строк, т. е. на k месте в
массиве c хранится местоположение первого ненулевого элемента k строки
в массиве a. В соответствии с этой схемой матрица A примера 5.1 будет
храниться в виде трех массивов
a = (1.0, 3.0, 2.0 , 1. 0, 5.0, 7.0, 2.0, 3.0, 1.0, 1.0 , 3.0, 2.0, 2.0 ),
b = (1, 3, 4, 1, 5, 3, 4, 2, 6, 1, 4, 5, 6),
c = (1, 4, 6, 8, 10, 12).
Схема 3. Каждому ненулевому элементу данной матрицы однозначно
ставится в со о тв етствие целое число вида
λ(i, j) = (i 1)n + j , a
ij
6= 0 . (5.1)
Хранение ненуле в ых элеме нтов разреженной матрицы обеспечивается
двумя массивами. В массиве a хранятся ненулев ые элеме нты матрицы, в
массиве b хранятся соответств ующие им числа λ(i, j). В соответствии с этой
схемой матрица A примера 5.1 будет храниться в виде двух массивов:
a = (1.0, 3.0, 2.0 , 1. 0, 5.0, 7.0, 2.0, 3.0, 1.0, 1.0 , 3.0, 2.0, 2.0 ),
b = (1, 3, 4, 7, 11, 15, 16, 20, 24, 25 , 28 , 35, 36).
Исходная ма т рица по этой схеме хранения может быть восстановлена сле-
дующим об разом. Сначала определяем i как такое наименьшее целое число,
что
i λ(i, j)/n .
Затем, зная i, с учетом (5.1) находим j
j = λ(i, j) (i 1 )n . (5.2)
Схема 4. Д ля хранения каждого ненулевог о элемента ма т рицы исполь-
зуется запись, состоящая из трех полей. В первом поле хранится номер
столбца, в котором стоит этот ненулевой элемент. Во втором поле хра-
нится значение элемента, а в третьем указатель на следующий ненуле-
вой элем ент с т роки или nil, если это последний ненулевой э ле м ент в строке.
83