Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Прямые методы для систем с разреженными матрицами. ⇐ ПредыдущаяСтр 6 из 6
Во многих приложениях приходится решать систему с разреженной матрицей A. Назовем –матрицу A разреженной, если число ее ненулевых элементов . При решении таких систем естественно хранить в памяти ЭВМ только ненулевые элементы. Можно надеяться, что в случае разреженных матриц как вычислительная работа, так и требуемый объем памяти значительно сократятся. Проблема состоит в том, что на этапе исключения неизвестных в методе Гаусса либо на этапе построения L и U матриц в компактной схеме Гаусса могут возникать
Рис. 3.3. LU-факторизация диагональной матрицы со строчным и столбцовым окаймлением
новые ненулевые элементы. Обратимся к следующему простому при-меру (рис. 3.3). Хотя исходная матрица A здесь имеет ничтожное число ненулевых членов, матрицы L и U имеют такую же структуру Рис. 3.4. LU-факторизация преобразованной диагональной матрицы со строчным и столбцовым окаймлением
ненулевых элементов, как и для полностью заполненной матрицы. В то же время перестановкой строк и столбцов систему можно преоб-разовать к виду, который сохраняет свойство разреженности исходной матрицы в матрицах разложения (рис. 3.4). В общем случае, конечно, не всегда удается полностью сохранить разреженность. Поэтому перестановки строк и столбцов выбирают такими, чтобы заполняемость матрицы в процессе исключения переменных была минимальной. На языке матричного описания эта задача выглядит следующим образом. Пусть P и Q – -матрицы перестановок строк и столбцов, причем . Матрицы P и Q легко получить из единичной матрицы, в которой переставлены соответствующие строки (столбцы). Например, матрица перестановки первой и третьей строк -матрицы приведена на рис. 3.5. Преобразуем систему линейных алге-браических уравнений следующим образом: или где – переупорядоченная форма A, , . К системе будем применять прямой метод решения (его эффективность зависит от выбора матриц P и Q) и далее найдем , так как . Задача осложняется тем, что перестановка строк и столбцов определяющим образом влияет не только на разреженность матриц разложения, но и на численную устойчивость прямого метода. Симметричные матрицы. Если матрица A линейной системы является симметрической положительно определенной, то процесс исключения переменных по схеме Холесского является численно устойчивым при любом выборе главных элементов из числа диагональных членов. Таким образом, если положить , т. е. при перестановке k –й и j –й строк осуществлять перестановку k –го и j –го столбцов, то выбор матрицы P можно производить только исходя из требования минимизации заполнения матрицы . Задача численного решения линейной системы сводится в этом случае к выполнению трех последовательных шагов: Шаг 1. Формирование матрицы и вектора . Шаг 2. Решение упорядоченной системы . Шаг 3. Вычисление вектора . Рассмотрим более подробно, как реализуется Шаг 1. Вообще говоря, для -матрицы A существует различных упоря-дочиваний, из которых одно или более оказывается оптимальным в смысле заполнения. Задача отыскания оптимальных упорядочиваний является чрезвычайно трудной и практически нерешенной на сегодняшний день. Существующие процедуры реализации шага 1 являются эвристическими. Они обеспечивают понижение заполнения матрицы , однако не гарантируют достижение точного минимума. Опишем в общих чертах одну из таких процедур – алгоритм минимальной степени. Основная идея алгоритма минимальной степени заключается в локальной минимизации заполнения за счет выбора главного элемента в той строке и столбце, которые обеспечивают внесение наименьшего числа ненулевых элементов в множитель . Рассмотрим, например, k –й шаг исключения прямого хода Гаусса. В поддиагональных позициях столбцов с 1–го по (k- 1 ) –й расположены нулевые элементы. Для исключения переменной x k на этом шаге k –я строка, нормированная соответствующим образом, вычитается из всех тех строк, которые имеют ненулевые элементы в k –м столбце. Следовательно, чтобы минимизировать число новых ненулевых элементов, достаточно просмотреть активную подматрицу матрицы A k-1, выбрать строку с наименьшим числом ненулевых элементов, назовем ее l –й строкой, и переставить как строки, так и столбцы с номерами l, k. После такой перестановки в матрицу A k-1 вносятся новые ненулевые элементы, т. е. формируется портрет матрицы A k, и процесс имитации исключения переменных продолжается. Выполнив имитацию (n- 1 ) –го шага исключения, построим в итоге из единичной матрицы I искомую матрицу перестановок P. Матрицы общего вида. На k –м шаге алгоритма Гаусса при решении линейных систем с разреженной матрицей A произвольной структуры необходимо выбирать в качестве главного элемента такой элемент , который прежде всего обеспечивает устойчивость вычислительного процесса и в то же время по возможности минимизирует заполняемость матрицы A k. Это достигается введением специального барьера – числа u≥ 1 и выделением множества элементов из активной подматрицы матрицы A k-1, которые удовлетворяют условию , где – элемент множества S k-1. Для каждого из таких элементов вводится числовая оценка , где r(l, k) – число ненулевых элементов в l –й строке активной части матрицы A k-1, c(m, k) – число ненулевых элементов в m –м столбце этой же части матрицы A k-1. В качестве главного элемента на k –м шаге прямого хода Гаусса выбирается такой элемент , для которого .
|