Прямые методы для систем с разреженными матрицами

Во многих приложениях приходится решать систему

Прямые методы для систем с разреженными матрицами - student2.ru

с разреженной матрицей A. Назовем Прямые методы для систем с разреженными матрицами - student2.ru –матрицу A разреженной, если число ее ненулевых элементов Прямые методы для систем с разреженными матрицами - student2.ru .

При решении таких систем естественно хранить в памяти ЭВМ только ненулевые элементы. Можно надеяться, что в случае разреженных матриц как вычислительная работа, так и требуемый объем памяти значительно сократятся. Проблема состоит в том, что на этапе исключения неизвестных в методе Гаусса либо на этапе построения L и U матриц в компактной схеме Гаусса могут возникать

Прямые методы для систем с разреженными матрицами - student2.ru

Рис. 3.3. LU-факторизация диагональной матрицы со строчным

и столбцовым окаймлением

новые ненулевые элементы. Обратимся к следующему простому при-меру (рис. 3.3). Хотя исходная матрица A здесь имеет ничтожное число ненулевых членов, матрицы L и U имеют такую же структуру

Прямые методы для систем с разреженными матрицами - student2.ru

Рис. 3.4. LU-факторизация преобразованной диагональной матрицы

со строчным и столбцовым окаймлением

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

то же время перестановкой строк и столбцов систему можно преоб-разовать к виду, который сохраняет свойство разреженности исходной матрицы в матрицах разложения (рис. 3.4). В общем случае, конечно, не всегда удается полностью сохранить разреженность. Поэтому перестановки строк и столбцов выбирают такими, чтобы заполняемость матрицы в процессе исключения переменных была минимальной.

Прямые методы для систем с разреженными матрицами - student2.ru На языке матричного описания эта задача выглядит следующим образом. Пусть P и Q – Прямые методы для систем с разреженными матрицами - student2.ru -матрицы перестановок строк и столбцов, причем Прямые методы для систем с разреженными матрицами - student2.ru . Матрицы P и Q легко получить из единичной матрицы, в которой переставлены соответствующие строки (столбцы). Например, матрица перестановки первой и третьей строк Прямые методы для систем с разреженными матрицами - student2.ru -матрицы приведена на рис. 3.5.

Преобразуем систему линейных алге-браических уравнений следующим образом:

Прямые методы для систем с разреженными матрицами - student2.ru

или

Прямые методы для систем с разреженными матрицами - student2.ru

где Прямые методы для систем с разреженными матрицами - student2.ru – переупорядоченная форма A, Прямые методы для систем с разреженными матрицами - student2.ru , Прямые методы для систем с разреженными матрицами - student2.ru . К системе Прямые методы для систем с разреженными матрицами - student2.ru будем применять прямой метод решения (его эффективность зависит от выбора матриц P и Q) и далее найдем Прямые методы для систем с разреженными матрицами - student2.ru , так как Прямые методы для систем с разреженными матрицами - student2.ru . Задача осложняется тем, что перестановка строк и столбцов определяющим образом влияет не только на разреженность матриц разложения, но и на численную устойчивость прямого метода.

Симметричные матрицы. Если матрица A линейной системы является симметрической положительно определенной, то процесс исключения переменных по схеме Холесского является численно устойчивым при любом выборе главных элементов из числа диагональных членов. Таким образом, если положить Прямые методы для систем с разреженными матрицами - student2.ru , т. е. при перестановке k–й и j–й строк осуществлять перестановку k–го и j–го столбцов, то выбор матрицы P можно производить только исходя из требования минимизации заполнения матрицы Прямые методы для систем с разреженными матрицами - student2.ru .

Задача численного решения линейной системы сводится в этом случае к выполнению трех последовательных шагов:

Шаг 1. Формирование матрицы Прямые методы для систем с разреженными матрицами - student2.ru и вектора Прямые методы для систем с разреженными матрицами - student2.ru .

Шаг 2. Решение упорядоченной системы Прямые методы для систем с разреженными матрицами - student2.ru .

Шаг 3. Вычисление вектора Прямые методы для систем с разреженными матрицами - student2.ru .

Рассмотрим более подробно, как реализуется Шаг 1. Вообще говоря, для Прямые методы для систем с разреженными матрицами - student2.ru -матрицы A существует Прямые методы для систем с разреженными матрицами - student2.ru различных упоря-дочиваний, из которых одно или более оказывается оптимальным в смысле заполнения. Задача отыскания оптимальных упорядочиваний является чрезвычайно трудной и практически нерешенной на сегодняшний день. Существующие процедуры реализации шага 1 являются эвристическими. Они обеспечивают понижение заполнения матрицы Прямые методы для систем с разреженными матрицами - student2.ru , однако не гарантируют достижение точного минимума. Опишем в общих чертах одну из таких процедур – алгоритм минимальной степени.

Основная идея алгоритма минимальной степени заключается в локальной минимизации заполнения за счет выбора главного элемента в той строке и столбце, которые обеспечивают внесение наименьшего числа ненулевых элементов в множитель Прямые методы для систем с разреженными матрицами - student2.ru . Рассмотрим, например, k–й шаг исключения прямого хода Гаусса. В поддиагональных позициях столбцов с 1–го по (k-1)–й расположены нулевые элементы. Для исключения переменной xk на этом шаге k–я строка, нормированная соответствующим образом, вычитается из всех тех строк, которые имеют ненулевые элементы в k–м столбце. Следовательно, чтобы минимизировать число новых ненулевых элементов, достаточно просмотреть активную подматрицу матрицы Ak-1, выбрать строку с наименьшим числом ненулевых элементов, назовем ее l–й строкой, и переставить как строки, так и столбцы с номерами l, k. После такой перестановки в матрицу Ak-1 вносятся новые ненулевые элементы, т. е. формируется портрет матрицы Ak , и процесс имитации исключения переменных продолжается. Выполнив имитацию (n-1)–го шага исключения, построим в итоге из единичной матрицы I искомую матрицу перестановок P.

Матрицы общего вида. На k–м шаге алгоритма Гаусса при решении линейных систем с разреженной матрицей A произвольной структуры необходимо выбирать в качестве главного элемента такой элемент Прямые методы для систем с разреженными матрицами - student2.ru , который прежде всего обеспечивает устойчивость вычислительного процесса и в то же время по возможности минимизирует заполняемость матрицы Ak. Это достигается введением специального барьера – числа u≥1 и выделением множества элементов Прямые методы для систем с разреженными матрицами - student2.ru из активной подматрицы матрицы Ak-1, которые удовлетворяют условию

Прямые методы для систем с разреженными матрицами - student2.ru ,

где Прямые методы для систем с разреженными матрицами - student2.ru – элемент множества Sk-1.

Для каждого из таких элементов вводится числовая оценка

Прямые методы для систем с разреженными матрицами - student2.ru ,

где r(l,k) – число ненулевых элементов в l–й строке активной части матрицы Ak-1, c(m,k) – число ненулевых элементов в m–м столбце этой же части матрицы Ak-1. В качестве главного элемента на k–м шаге прямого хода Гаусса выбирается такой элемент

Прямые методы для систем с разреженными матрицами - student2.ru ,

для которого

Прямые методы для систем с разреженными матрицами - student2.ru .

Лекция 4

ИТЕРАЦИОННЫЕ МЕТОДЫ

ЦЕЛЬ ЛЕКЦИИ: Дать общую схему линейных итерационных методов первого порядка и построить на её основе методы простой итерации, Гаусса–Зейделя, последовательной релаксации; сравнить эти методы по вычислительным затратам на итерации.

В случае больших разреженных СЛАУ предпочтение отдаётся итерационным методам, т. к. они, во-первых, не приводят к появлению на итерациях новых ненулевых элементов, во-вторых, оказываются более эффективными по затратам машинного времени.

Наши рекомендации