Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
379498_A09A4_sarycheva_o_m_lekcii_po_kursu_chis...doc
Скачиваний:
41
Добавлен:
09.11.2019
Размер:
1.69 Mб
Скачать

5.10. Транспонирование разреженной матрицы

Пусть IA,JA,AN - некоторое разреженное представление N*M матрицы. Нужно получить IAT, JAT, ANT - разреженное представ­ление транспонированной матрица. Алгоритм рассмотрим на следующем примере:

IA = 1 4 6 8 11 14

JA = 563 41 34 431 265

Строка = 1 2 3 4 5

Массив АN опущен, так как численный этап очень прост.

Символический этап.

1)Заводим 6 целых списков по числу столбцов матрицы А . Пронумеруем их от I до 6.

2)Обходим 1-ю строку и заносим 1 в те списки, номера которых указаны в

1:

2:

3:1

4:

5:1

6:1

3) Вставляем число 2 в списки 4 и I, так как =4 1

1:2

2:

3:1

4:2

5:1

6:1

4) Обрабатываем аналогично 3 оставшихся строки-матрицы А Списки в итоге будут иметь вид:

1:2 4

2:5

3:1 3 4

4:2 3 4

5:1 5

6:1 5

5. Формируем портрет матрицу АT.

IAT= 1 3 4 7 10 12 14

JAT= 24 5 134 234 15 15

Это столбцовое представление RR(С)0 исходной матрицы А или строчное RR(С)0 транспонированной матрицы АТ . Массив АNТ можно поучить, вставляя численное значение каждого ННЭ» хранимое в AN в вещественный описок сразу после того, как соответствую­щее целое число внесено в целый список.

5.11. Треугольное разложение разреженной симметричной матрицы

Речь идет именно о симметричной матрице, так как решение ли­нейной САУ ориентировано на этот случай. Тогда существует и един­ственное разложение , причем U - верхнетреугольная матрица с положительными диагональными элементами. Матрицу U можно переписать в виде , где D- диагональная матрица c положительными диагональными элементами . а - вехнетреугольная матрица с единичной диагональю.

Следовательно . Линейная система(5.1) примет вид : . Полагая : ,

можно записать

.

Сначала находим z , затем W и X . Так как и - треугольные матрицы, то решение не вызывает затруднений.

Разреженная симметричная матрица A задана в верхнем строчном разреженном формате RR(DU)0 и нужно провести для А гауссово исключение, выбирая главные элементы на главной диагонали в естественном порядке .

Трудности гауссова исключения для матрицы, заданной в формате RR(DU)O:

-подлежащие исключению ненулевые элементы находятся в нижнем треугольнике, который явным образом не хранится;

-затруднен доступ к столбцам, так как представление матрицы строчное. Алгоритм рассмотрим на примере :

в этой симметричной матрице для простоты не указаны числен­ные значения ненулевых элементов.

Первую трудность легко обойти учитывая, что если , то и и он подлежит исключению. Вторая трудность устра­няется тем, что исключение делается не по столбцам, а по строкам. Для данной матрицы исключение начнется с 4-й отроки, поскольку в предыдущих отроках все элементы слева от диагонали равны нулю. Из строки 4 поэлементно вычитаем отроку 2, умноженную на константу, подобранную так, чтобы аннулировать элемент . При этом в строке 4 появится новый ненулевой элемент . Далее из строки 5 вычитаем третью строку, чтобы исключить ; в позициях 5,7 и 5,11 появятся новые ННЭ. Затем исключаем , что приводит к появлению элемента в позиции. 6, 10. Предположим, что разложение доведено до этого элемента. Рассмотрим обработку строки 7 при иск­лючении элементов и . Очевидно, что для этого из отроки 7 надо вычесть отроки 3 и 4, умноженные на соответствующие коэффи­циенты. При этом появится новый ННЭ в позиции 7,5 и его тоже нужно исключить. Ранее было установлено, что в позиции 5,7 тоже появится новый ННЭ. Поэтому чтобы найти подлежащие исключению ННЭ, надо исследовать ненулевые недиагональные элементы столбца 7.

Мы знаем, что все элементы ниже главной диагонали равны 0 и вычислять их не надо. Вычислять надо только элементы справа от ди­агонали и диагональные, а для этого требуются лишь элементы преды­дущих строк, расположенные в столбце 7 или. справа от него. Кроме того, справедливо правило; необходимо и достаточно учитывать кро­ме самой строки 7 только те отроки, для которых ННЭ в столбце 7 является первым ННЭ данной строки справа от диагонали. Это нетруд­но пояснить. В данном случае можно не учитывать строку 3. Ее пер­вый ННЭ справа от диагонали стоит в позиции 3,5, т.е. левее столб­ца 7. Из следует .Это значит, что анну­лирован при обработке строки 3; но тогда все ННЭ строки 3 были слиты с элементами строки 5.Поэтому, учитывая ННЭ строки 5, мы тем самым учитываем ННЭ, стоящие в строке 3 справа от столбца 7. Итак, достаточно рассматривать только следующие портреты:

строка 4: 7 9

строка 5: 7 8 II

строка 7: 7 II

Производим слияние этих списков столбцовых индексов; получаем но­вый портрет: новая строка 7: 7 9 8 11

Аналогичные действия осуществляются для всех строк. В результате получаем полный портрет матрицы А .

Численный этап . Для выполнения численного этапа необходим упорядоченный портрет IU и JU . Поэтому полученный на символическом этапе портрет необходимо дважды транспонировать. Итак, будем считать, что имеем упорядоченный портрет IU и JU. Предположим, что численный этап осуществлен до строки 6 включительно, и исследуем процесс обработки строки 7. Известно, что ненулевые элементы строки 7 расположены в позициях

7, 8, 9, 11. Чтобы вычислить их значения, нужно:

1) просмотреть столбец 7 и установить, что строки 3, 4 и 5 имеют ненулевые элементы в этом столбце;

2) найти в этих строках ненулевых элементы, столбцовые индексы которых не меньше 7;

3) умножить эти элементы на подходящие константы и вычесть из элементов строки 7,

Рассмотрим, например, операции со строкой 3, Элементы этой строки нужно умножить на отношение элементов и . Если диагональ хранится отдельно в массиве Д1, то элементы главной диагонали равны (так делается для удобства вычислений).Поэтому вычисления сводятся к умножению . На это число умножаются ННЭ строки 3 и вычитаются из строки 7. Для этой цели используется вещественный накопитель аналогично тому, как это было описано выше. Подобные операции проделываются для строк 4 и 5.. В результате будут вычислены все ННЭ строки 7.

Список литературы

        1. Кузьмин П.К., Маничев В.Б. Автоматизация функционального проектирования: - М.: Высшая школа, 1986. - Кн.5. Система автоматизированного проектирования / Под ред. Норенкова И.П.

        2. Ракитский Ю.В., Устинов С.М., Черноруцкий И.Г. Численные методы решения жестких систем. - М.: Наука, 1979.

        3. Ортега Дж., Рейнболдт В. Итерационные методы решения нелинейных систем уравнений со многими неизвестными. - М.: Мир, 1975.

        4. Крылов В.И., Бобков В.В., Монастырский П.И. Вычислительные методы. - М.: Наука, 1976.

        5. Волков Е.А., Численные методы. - М.: Наука, 1982.

        6. Калиткин Н.Н. Численные методы. - М.: Наука, 1978.

        7. Мак-Кракен Д., Дорн У. Численные методы и программирование на Фортране. - М.: Мир, 1977.

        8. Форсайт Дж., Молер К. Численное решение систем линейных алгебраических уравнений. - М.: Мир, 1969.

        9. Писсанецки С. Технология разреженных матриц. - М.: Мир, 1988.

        10. Н.В.Копченова, И.А. Марон. Вычислительная математика в примерах и задачах. - М.: Наука, 1972.

        11. Эстербю О., Златов З. Прямые методы для разряженных матриц. - М.: Мир, 1987.

        12. Джордж А., Лю Дж. Численное решение больших разреженных систем уравнений. - М.: Мир, 1984.

        13. Бахвалов Н.С. Часть I. Численные методы. - М.: Наука, 1975.

        14. Конспект лекций. - 67.

        15. Березин И.С., Жидков Н.П. Методы вычислений, т.1, изд.3 "Наука", 1966 (вычисление производных)

        16. Уилкинсон Райнм. Справочник алгоритмов на языке Алгол. Линейная алгебра. М.: Машиностроение, 1976.

        17. Фаддеев Д.К., Фаддеева В.Н. Вычислительные методы линейной алгебры. - М.: Физматгиз, 2002.

        18. Воеводин В.В. Численные методы алгебры. - М.: Наука, 1966.

        19. Парлетт Б. Симметричная проблема собственных значений. Численные методы. - М.: Мир, 1983.

1