Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебное пособие_методы решения СЛАУ.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
799.74 Кб
Скачать

1.7 Вычислительные затраты прямых методов

Одним из факторов, предопределяющих выбор того или иного метода при решении конкретной задачи, является вычислительная эффективность метода. Особенностью прямых методов является то, что здесь можно точно подсчитать требуемое количество арифметических операций. Учитывая, что часто операции сложения выполняются намного быстрее, чем умножения и деления, обычно ограничиваются подсчетом последних. Так для решения N-мерной СЛАУ методом Гаусса (без выбора главного элемента) требуется N 3/3+N 2N/3 умножений и делений. При больших значениях размерности N существенным является старший член выражения для подсчета числа арифметических операций (иначе, арифметической сложности метода). Можно сказать, что вычислительные затраты на операции умножения и деления в методе Гаусса составляют величину N 3/3.

2. Итерационные методы

Развитие вычислительной техники и вызванный этим процессом переход к более сложным (трехмерным) моделям, привел к необходимости решения больших систем линейных алгебраических уравнений. Точные методы понятны и просты для программной реализации, однако, вычислительные затраты этих методов, которые пропорциональны N 3, серьезно ограничивают круг рассматриваемых проблем. Поэтому в последнее время широко применяются итерационные методы, т.к. если для сходимости итерационного метода потребуется число итераций много меньше, чем N, то основные вычислительные затраты приходятся на умножение матрицы на вектор (один или два раза в каждой итерации в зависимости от использованного метода), т.е. уменьшаются до N 2. Наиболее эффективными и устойчивыми среди итерационных методов являются так называемые проекционные методы, и особенно тот их класс, который связан с проектированием на подпространства Крылова. Эти методы обладают рядом достоинств: они устойчивы, допускают эффективное распараллеливание и работу с предобусловливателями разных типов.

2.1 Классические итерационные методы и релаксация

Исторически первые итерационные методы основывались на циклическом покомпонентном изменении вектора решения, осуществляемом таким образом, чтобы обнулить соответствующий коэффициент вектора невязки и тем самым уменьшить его норму. Подобная методика уточнения решения получила название релаксация.

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

2.1.1 Методы Якоби и Гаусса-Зейделя

Пусть матрица A системы (1.1) такова, что ее главная диагональ не содержит нулевых элементов. Представим ее в виде разности трех матриц:

A=DEF,

(2.1)

где матрица D, содержит диагональные элементы матрицы A; матрица E – только поддиагональные; матрица F – только наддиагональные. Тогда система (1.1) может быть записана в виде

DxExFx=b.

Если имеется некоторое приближение xk к точному решению СЛАУ x*, то при xkx* это соотношение не выполняется. Однако, если в выражении

DxkExkFxk=b

(2.2)

одно или два из вхождений вектора xk заменить на xk+1 и потребовать, чтобы равенство имело место, можно получить некоторую вычислительную схему для уточнения решения.

Наиболее простой с точки зрения объема вычислительной работы вариант получается при замене в (2.2) Dxk на Dxk+1. При этом получается схема

xk+1=D–1(E+F)xk+D–1b,

(2.3)

известная как метод Якоби.

Выражение (210) в скалярной форме имеет вид

, i=1,…, N,

(2.4)

откуда хорошо видна основная идея метода: на (k+1)-й итерации i-й компонент вектора решения изменяется по сравнению с k-й итерацией так, чтобы i-й компонент вектора невязки стал rk+1нулевым (при условии отсутствия изменений в других компонентах вектора x).

Очевидным недостатком схемы (2.3) – (2.4) является то, что при нахождении компонента xi(k+1) никак не используется информация о уже пересчитанных компонентах x1(k+1),…, xi-1(k+1). Исправить этот недостаток можно, переписав (2.4) в виде

, i=1,…, N,

(2.5)

что в векторной форме эквивалентно

xk+1=(DE)–1Fxk+(DE)–1b.

(2.6)

Такая схема называется методом Гаусса-Зейделя.

Выражение (2.5) получается из (2.2) заменой xk на xk+1 при матрицах D и E. Если вместо этой пары матриц взять D и F, то получится похожая схема

xk+1=(DF)–1Exk+(DF)–1b,

(2.7)

которая называется обратным методом Гаусса-Зейделя.

Еще одной модификацией является симметричный метод Гаусса-Зейделя, который заключается в циклическом чередовании (2.6) и (2.7) на соседних итерациях.

Нетрудно заметить, что выражения (2.3), (2.4), (2.5) могут быть записаны в виде

Kxk+1=Rxk+b,

(2.8)

где матрицы K и R связаны соотношением

A=KR.

(2.9)

Подобное представление матрицы A называется расщеплением, а методы вида (2.8)–методами, основанными на расщеплении. Очевидно, матрица K должна быть невырожденной и легко обратимой.