Джордж, Лю - Численное решение больших разреженных систем уравнений (947498), страница 25
Текст из файла (страница 25)
Переменная )62 т"л 5 Универсальные равременньзе методы Сь ° ° ° ° ' ° ° ° ° ° ° ° ° ° ° ° ьл ° ° ° ь ь ь ° ° ° ° ° ° ° ° ° ьььь С С С С ПРЯМОЙ ХОД... 00 200 Л З, МЩЧВ КН$1 КН$(Л) / 01АО(Л) КН$(Л) КН$1 1$ткт хьмг(л) . 1$ТОР ХЬМг(Ль>) — 1 1Р ( 1$ТОР .Ьт.
ЗВТКТ ) 00 ТО 200 1 Х>йввв(Л) 00 100 11 1$ТКТ. 1$ТОР 1$(ЗВ Мгвов(1) кнв(1$0В) кна(1$0В) - ззчг(1 1 1 + 1 СОМТ1МИЕ СОМТЗМНЕ СОВЧТ 2 (МЕЗ>М$ + 1$ТОР) ОРВ ОР$ + СОВЕТ ОБРАТНАЯ ПОДСТАНОВКА... Л МЕЗ>М$ 00 $00 ЛЛ 1, МЕ(>ЬЬ $ КН$(Л) 1$ткт хьмг(л) 1$тоР - хьмг(л+з> - з 1Р ( 1$ТОР .З.Т. 1$ТКТ ) 00 ТО 400 1 хмгвиВ(л) ОО 300 11 1$ТКТ, 1$ТОР Звив игалов(1> $ - $ - з.мг(11) кнв(1$НВ) 1 1 + 1 сомтЗмие Киз(Л> . $ / ОЗАО(Л> Л Л вЂ” З СОМТ1МНЕ кетикм ЕМО 1) КН$Л 100 200 С С С 300 400 ВОО 1/1А61 и вектор ТЕМР накапливают поправки к текущему столбцу. В то же время модифицируются рабочие векторы Г1КВТ и 1.1зчК.
Наконец, поправка добавляется к элементам текущего столбца. 5.0.2. /зодлроарамма ПВЯЛ (бепега! врагзе Вушзпе(г(с Бо(Ле) Подпрограмма 600(А/ предназначена для численного решения факторизованной системы, матрица которой хранится в формате компактного индексирования (см. раздел 5.4.г). Входными данными являются число уравнений (ч(Е(Л(ч(В, а также структура данных и числовые значения элементов матричного множителя.
Сюда относятся структура компактного индексирования (Х)ч)ЕВ(1В, ИЕВ(.>В), диагональные элементы (мас- й В.В донолнительнеее еанечанин 163 сив 01АС) множителя и его ненулевые внеднагональные элементы, хранимые парой массивов (Х(.)ч(Х, ЮХ). Поскольку ненулевые элементы нижнего треугольного множителя хранятся по столбцам, метод решения должен быть адаптирован так, чтобы и доступ к элементам осуществлялся столбец за столбцом. Прямой ход использует форму «внешннх произведений»; в обратной подстановке компоненты решения вычисляются посредством «скалярных произведений». Оба способа были рассмотрены в разделе 2.2.1 главы 2. 9 5.6. Дополнительные замечания При исследовании исключения используется также элементная модель (Оеогпе 1973, Е!зепз!а! !976).
Здесь процесс разложения моделируется посредством структуры клик графов исключения. Этот подход мотивирован приложениями метода конечных элементов, где структура клик матричного графа появляется естественным образом, Элементная модель тесно связана с изучавшейся в $ 5.2 моделью фактор-графов. Реализацию алгоритма минимальной степени, основанную на элементной модели, можно найти в работе (Сеогпе, Мс1п1уге 1978). В статье (Сеогпе 1980) алгоритм минимальной степени реализован посредством неявной модели: вычисление достижимых множеств по исходному графу.
В реализацию внесены модификации, ускоряющие работу алгоритма. Есть и другие алгоритмы упорядочения, имеющие целью сократить заполнение. В алгоритме минимального дефицита (Козе 1972а) следующий номер присваивается тому узлу, чье исключение приводит к наименьшему заполнению.
Здесь требуется существенно больше работы, чем в алгоритме минимальной степени. В то же время практика показала, что получаемое упорядочение лишь в редких случаях значительно превосходит упорядочение по минимальной степени. В работе (Оеогпе 1977) для универсальных разреженных методов предложена другая схема хранения. В ней используется ситуация, когда ненулевые внедиагональные элементы образуют заполненные блоки.
Для хранения каждого ненулевого блока нужно лишь несколько слов дополнительной информации, а при оперировании с блоками могут использоваться стандартные методы для заполненных матриц. б. Методы фактор-деревьев для конечнозлементных и конечноразностных задач $ 6.0, Введение В этой и двух последующих главах будут исследованы алгоритмы, предназначенные главным образом для систем, возникающих в приложениях метода конечных элементов и конечноразностных методов к решению различных задач строительной механики, гидро- и термодинамики, теории упругости и прилегающих областей (Е!еп)с!етч!сх 1977).
Те задачи, которые мы имеем в виду, можно описать следуюшим образом. гтанечноэнвгчвнтнан сетка чь Конвчноэявлгвнтныйгрогр о босеттью узяолги ассоцииройонный с „И Рне. 8.0.!. Конечноэлемеитнаи сетка с восемью узлами и ассоциированный е ней конечноэлемеитнмй граф, Пусть А' — плоская сетка, представляющая собой объединение треугольников и/или четырехугольников, называемых элементами, причем соседние элементы имеют общую сторону или общую вершину. В каждую вершину сетки ат" помещен узел; узлы могут быть расположены также и на сторонах элементов (см.
рис. 6.0.1), и внутри их. Каждому узлу сопоставляется переменная хь При выбранном помечивании узлов и переменных числами от 1 до 7т' мы определяем конечноэлелтентиую систему Ах = Ь, ассоциированную с,Х, как систему с симметричной и положительно определенной матрицей А, для которой ап чь 0 означает, что переменные х; и х; связаны с узлами одного и того же элемента.
Граф, соответствующий матрице А, будем называть конечноэлементным графом, ассоциированным с л1' (рис. 6.0.1), б бип Решение блочных систем ура«чехий 165 Для многих практических ситуаций это определение «конечиоэлементной системы» недостаточно широко, так как часто некоторым илн даже всем узлам сопоставляется более чем одна переменная.
Однако наше определение схватывает существенные черты таких задач и упрощает изложение идей. Кроме того, способ распространения основных идей на более общий случай очевиден, а поскольку наши алгоритмы и программы оперируют с ассоциированными графами, они будут работать и в общем случае. Конечноэлементные матричные задачи часто решают, используя описанные в главе 4 ленточные или профильные методы. Для относительно малых задач эти методы часто оказываются наиболее эффективными, особенно для одноразовых задач, где сравнительно высокая стоимость вычисления упорядочений с малым заполнением перевешивает приносимый ими выигрыш в арифметике и памяти.
Для задач достаточно большого порядка и/или в ситуации, когда нужно решить ряд систем с одинаковой структурой, становятся привлекательными более сложные упорядочения, пытающиеся минимизировать заполнение, такие, как алгоритм минимальной степени из главы 5 или алгоритм вложенных сечений главы 8, Методы глав 4 и 5 в известном смысле представляют собой концы «спектра усложнения»: профильные методы слабо используют структуру А и 1., в то время как методы главы 5 пытаются выжать из нее все возможное. В данной главе будут рассмотрены методы, лежащие где-то посреди между этими двумя концами.
Для некоторых размеров и типов конечноэлементных задач они оказываются более эффективными, чем каждая из двух других стратегий. Время упорядочения и число операций обычно сравнимы с профильными методами, но запросы к памяти, как правило, значительно ниже. $ 6.1. Решение блочных систем уравнений Методы, рассматриваемые в этой главе, существенно опираются на использование блочных матриц и на некоторые приемы эксплуатации разреженности таких матриц. Все применяемые упорядочения будут симметричны в том смысле, что строки и столбцы подвергаются одинаковым перестановкам, 6.51, Разложение матрицы блочного порядка два Чтобы проиллюстрировать наиболее важные идеи, используемые при вычислениях с разреженными блочными матрицами, рассмотрим блочную линейную систему Ах = Ь блочного порядка два: к,г — Ь 1ВА х) !66 Гм 6. Методы фактор-деревьев где В и С вЂ” подматрицы порядков т и з соответственно, г 1 +з=Ф.
Множитель Холесского й для А, разбитый на блоки соответствующим образом, выглядит так: (6.1.2) Здеоь йв и йс — множители Холесского соответственно для матриц В и С = С в Ут †'У,а Ф = йв-'У. «Матричную поправку», вычитаемую из С при получении С, можно представить в виде утВ-гу утй-тй-Р— 1ут(У, Вычисление множителя й можно организовать по приводимой ниже схеме, По причинам, которые выясняются чуть позже, она будет называться симметричной схемой блочного разложения. Шаг й Разложить матрицу В в произведение йвйв т Шаг 2. Решить треугольные системы йв1' Шаг 3. Модифицировать еще не факторизованную подматрицу С=С вЂ” 1Г И'.
Шаг 4. Разложить матрицу С в произведение йсйс. Послет довательность вычислений изображена на рис. 6.1.1, Будет ли эта блочно-ориентированная схема иметь какое- либо преимущество с точки зрения числа операций по сравнению с обычным пошаговым разложением? Процитируем из работы (беогне 1974) следующий результат. Теорема 8,1.1. Число операций нри вычислении множителя й матрицы А будет одним и тем же как в пошаговой схеме исключения, так и в симметричной схеме блочного разложения.
Интуитивно это утверждение очевидно, поскольку в обоих случаях выполняются одни и те же численные операции, хотя и в различном порядке. Есть, однако, другой способ реализации блочного разложения, где число арифметических операций мо. жет уменьшиться или возрасти. Альтернативный способ основан на том наблюдении, что матричную поправку УтВ-'У можно вычислять двумя существенно различающимися путями, а именно: как обычное произведение 1У йв )(йв У) = В' % ф би.
Реитение блочных систем уравнений 167 Роэяожение В 6 произ5еаение Еее~д Решение сиевемы йейУеа У Вычисление матноцы С = С- рУ1Ил Разнеженно С 17 произбе3еые СдЕо Т 7опано 5Щ Нв счовыдоювся ~ Счивибоювся счотыбаются ЯЯ иноизненяювся ~:;.-':-Д и изменяются рнс. 6.1.1. Диасрамма, показывающая послеловательность вычислений в симметричной схеме блочного разложения н характер обработки данных. !Ва Гл б Методы фактор-деревьев или как (6.1.4) Этот последний метод организации вычислений мы будем называть асимметричной схемой блочного разложения.
Степень расхождения двух указанных способов определяется стоимостью вычисления ИутИУ в сравнении со стоимостью реше- т ния матричного уравнения т.вИУ=!Р и последующего вычислеиия !ттИУ. В качестве примера, иллюстрирующего различия Рис. бдлв Структура матрицы Д блочного порядка лва и ее множителя Хо. лесското т. в арифметической работе, рассмотрим блочную матрицу А, изображенную на рис. 6.1.2. Поскольку матрица ИУ заполнена (см. упр. 2.2.3), то по тследствию 2.2.2 стоимогть решения уравнения Ев Ит Ит равна 4;к', 19 = 76 операций.