Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Итерационные методы решения систем линейных уравнений. Курс лекций
.pdf
3.3. Скорость сходимости итерационных методов
Теорема 3.3
(о скорости сходи-
Пусть𝐴и𝐵— симметричные положительно определенные матрицы, и пусть справедливы соотношения
мости стационар-
γ
ных методов для
𝐵𝐴γ2𝐵, (3.6)
1
симметричных положительно определенных матриц).
γ2— положительные постоянные,
2
γ
1
<γ
. При
2
где
γ1,
𝜏=
γ
+γ
1
2
стационарный итерационный метод сходится, и для
погрешности справедливы оценки:
𝑥𝑘−𝑥𝐴𝑞𝑘𝑥0−𝑥𝐴,
𝑥𝑘−𝑥𝐵𝑞𝑘𝑥0−𝑥𝐵,
где 𝑣𝐴=
𝐴𝑣,𝑣), 𝑣𝐵=
(
𝑞=
κ −1
κ +1
𝐵𝑣,𝑣
(
, κ =
.
)
γ
γ
2
1
>1,
Самая быстрая сходимость (минимум𝑞) достигается при выборе минимального значения параметраκ, наиболее близкого к единице. Таким образом,
для достижения наилучшей сходимости требуется выбрать максимальную
из возможных оценку параметра
γ1и минимальную из возможных оценку
параметра γ2.
Рассмотрим обобщенную задачу на собственные значения
𝐴𝑣=λ𝐵𝑣.
Если для матриц
𝐴и𝐵
выполнены неравенства
(3.6)
, то для любого соб-
ственного вектора 𝑣выполнены неравенства
γ
(
1
откуда следует, что
и
λ
max
𝐵91𝐴
— минимальное и максимальное собственные значения для
𝐵𝑣,𝑣)(𝐴𝑣,𝑣)=λ(𝐵𝑣,𝑣)γ
γ
1
λ
𝐵91𝐴<λ
min
𝐵91𝐴γ
max
𝐵𝑣,𝑣),
(
2
, где
2
λ
min
𝐵91𝐴
обобщенной задачи на собственные значения. Эти оценки являются самыми строгими для
оптимальный шаг 𝜏
𝜏
=
𝑜𝑝𝑡
λ
min
γ1и
𝑜𝑝𝑡
2
𝐵91𝐴)+λ
(
γ2. При использовании таких оценок мы получаем
для стационарных итерационных методов:
max
𝐵91𝐴
(
, 𝑞=
)
κ −1
κ +1
, κ =
λ
λ
max
min
𝐵91𝐴
𝐵91𝐴
(
. (3.7)
)
31

Следствие.
Если𝐴— симметричная положительно определенная матрица, то метод простой итерации
(3.3)
имеет максимальную
скорость сходимости при выборе оптимального параметра
𝜏
:
𝑜𝑝𝑡
2
𝜏
opt
=
λ
min
(𝐴)
+λ
max
,
(𝐴)
κ −1
𝑞=
,
(3.8)
κ +1
λ
(𝐴)
λ
max
min
.
(𝐴)
κ =
3.4. Число обусловленности
Пусть условия теоремы о сходимости выполнены, и для погрешности
справедлива оценка
𝑥𝑘−𝑥𝑞𝑘𝑥0−𝑥, 𝑞<1.
В этом случае говорят, что метод сходится со скоростью геометрической прогрессии со знаменателем𝑞. На каждой итерации погрешность уменьшается
в𝑞раз. Зная показатель𝑞, можно найти количество итераций
для достижения заданной точности.
Пусть требуется уменьшить погрешность до значенияεот изначальной,
тогда необходимое число итераций:
𝑛
, требуемое
0
ln(1∕ε
𝑘>𝑛0(ε)=
ln(1∕𝑞
После
знаменателе
𝑛
-й итерации погрешность
0
ln(1∕𝑞
называется скоростью сходимости итерационного ме-
)
тода. Скорость сходимости не зависит от начального приближения
)
=log
)
1∕𝑞
1
.
ε
𝑥𝑘−𝑥<ε𝑥0−𝑥
. Выражение в
𝑥
, от
0
правых частей𝑓и номера итерации. Скорость сходимости определяется
используемым итерационным методом и матрицей 𝐴.
Наихудшая скорость сходимости наблюдается при значениях
Действительно, из формул
(3.7)и(3.8)
следует, что в этом случае параметр
κ ≫1
𝑞≈1, поэтому погрешность будет убывать крайне медленно.
Оценим скорость сходимости при κ ≫1:
ln
1
=ln
𝑞
κ +1
κ −1
=ln1+
2
κ −1
≈
κ −1
2
≈
2
.
κ
Таким образом, чем больше параметрκ, тем меньше скорость сходимости. А
необходимое число итераций 𝑛0(ε)растет пропорционально числу κ:
.
𝑛0(ε)=
32
κ
1
ln
2
. (3.9)
ε

Число
κ
(𝐴)
=λ
max
(𝐴)
∕λ
min
называется числом обусловленности мат-
(𝐴)
рицы𝐴, оно играет важную роль в численных методах. Если число обусловленности
κ ≫1
, то матрицу называют плохо обусловленной. Системы
уравнений с плохо обусловленными матрицами часто встречаются в приложениях. Для таких матриц
𝑞≈1
, а значит, явные итерационные методы
(3.8)
сходятся медленно. Этим объясняется выбор неявных итерационных схем.
Матрица𝐵в неявных итерационных методах называется предобуславли-
вателем. При хорошем выборе матрицы𝐵(в идеале
число обусловленности
κ =λ
max
𝐵91𝐴∕λ
min
𝐵−1𝐴
, а следовательно, увели-
𝐵≈𝐴
91
) уменьшается
чивается скорость сходимости.
33

Лекция 4. Простейшие явные методы
В лекции рассматриваются простейшие одношаговые явные итерационные методы решения СЛАУ: метод простой итерации/метод установления и
метод минимальных невязок. Перед прочтением данного материала желательно ознакомиться с лекцией 3, которая содержит теоретические основы
методов.
Для записи абстрактных систем линейных уравнений в данной лекции,
как и в лекции 3, используются обозначения 𝐴𝑥=𝑓. Аппроксимации уравнения Пуассона записываются в форме 𝐿𝑢=𝐹.
4.1. Метод простой итерации
Метод простой итерации — явный стационарный одношаговый метод
решения системы линейных уравнений
каноническом виде:
𝑥
−𝑥
𝑘+1
𝜏
Пусть𝐴— симметричная положительно определенная матрица, тогда метод
простой итерации сходится при выполнении условия на параметр
где
λ
также известен оптимальный шаг
— спектральный радиус матрицы𝐴. Для метода простой итерации
max
𝜏
ная скорость сходимости:
𝐴𝑥=𝑓
𝑘
+𝐴𝑥𝑘=𝑓.
. Итерационная процедура в
𝜏<2∕λ
, при котором достигается максималь-
𝑜𝑝𝑡
max
,
𝜏
здесь
λ
min
=
𝑜𝑝𝑡
и
λ
— минимальное и максимальное собственные значения
max
λ
min
+λ
,
max
матрицы 𝐴.
В разделе 1.4 приведены собственные значения для трехточечного опе-
2
ратора второй производной (см.
аппроксимация оператора Лапласа
(1.6),(1.8),(1.10)
−∆
на прямоугольной сетке. Оператор
). Пусть𝐿— пятиточечная
𝐿
включает граничные условия, которые могут различаться по разным осям.
Для оператора𝐿также можно получить точные выражения для собственных
значений и собственных векторов. Собственные значения𝐿получаются в
виде сумм СЗ для трехточечных операторов по каждой оси координат. Собственные векторы𝐿получаются в виде произведения СВ для трехточечных
операторов по каждой оси координат.
К примеру, пусть решается задача Дирихле для уравнения Пуассона в
прямоугольной области
𝑛𝑥×𝑛
, размеры ячеек
𝑦
ра вдоль каждой оси определяются формулой
значений пятиточечного оператора равно
𝑙𝑥×𝑙
ℎ𝑥×ℎ
. Область разбита на прямоугольные ячейки
𝑦
. Собственные значения трехточечного операто-
𝑦
(1.6)
. Количество собственных
𝑛𝑥𝑛
, пронумеруем собственные
𝑦
34

значения парой индексов, тогда
sin
2
π𝑖ℎ
2𝑙
4
𝑥
+
2
𝑥
ℎ
𝑦
λ
4
=
𝑖𝑗
ℎ
2
𝑥
sin
2
π𝑗ℎ
2𝑙
𝑦
, 𝑖=1,𝑛𝑥, 𝑗=1,𝑛𝑦.
𝑦
Минимальное и максимальное собственные значения для задачи Дирихле
в прямоугольнике:
λ
=
min
Оценка сверху
ℎ
4
λ
2
𝑥
max
sin
πℎ
2
2𝑙
𝑥
4
2
ℎ
𝑥
𝑥
+
4
+
2
ℎ
𝑦
4
справедлива для произвольных граничных
2
ℎ
𝑦
sin
2
πℎ
2𝑙
𝑦
, λ
𝑦
max
=
ℎ
4
4
+
ℎ
.
2
𝑦
2
𝑥
условий. Тогда условие сходимости метода простой итерации:
2
𝜏<
2ℎ
ℎ
2
𝑥
ℎ
𝑥
+ℎ
2
𝑦
2
𝑦
2
ℎ
∼
. (4.1)
4
Пусть𝑢и𝐹— сеточные функции, а𝐿— линейный самосопряженный
положительно определенный сеточный оператор. И пусть требуется решить
уравнение на сеточную функцию𝑢:
𝐿𝑢=𝐹
. Для использования метода
простой итерации нет необходимости задавать оператор𝐿в матричном
виде. Достаточно определить действие оператора на сеточную функцию
𝐿𝑢
Пример действия оператора на сеточную функцию приведен в листинге 2.2.
.
Метод установления основан на том, что решение стационарных задач
часто можно рассматривать как решение динамических задач на бесконечности. К примеру, распределение тепла
нарных источников тепла описывается уравнением Пуассона
𝑢(𝑥,𝑦)
в области под действием стацио-
∆𝑢=−𝑓(𝑥,𝑦)
Решение данного уравнения можно получить, если устремить к бесконечности решение уравнения теплопроводности:
𝑣𝑡−∆𝑣=𝑓(𝑥,𝑦), 𝑢(𝑥,𝑦)=lim
𝑣(𝑥,𝑦,𝑡).
𝑡→∞
Получается, численное решение стационарной задачи можно получить, решая уравнение теплопроводности. Если выполнить достаточно много шагов
по времени для уравнения теплопроводности, то можно приблизиться к
решению стационарной задачи. Пусть𝐿— сеточная аппроксимация оператора
−∆,𝐹
— аппроксимация неоднородности в уравнении,
𝑢
— сеточная
𝑘
функция, где𝑘— временной слой, а𝜏— шаг интегрирования по времени.
Выпишем явную схему для уравнения теплопроводности:
𝑢
−𝑢
𝑘+1
𝑘
+𝐿𝑢𝑘=𝐹,
𝜏
.
35

это не что иное, как метод простой итерации для уравнения
𝑘→+∞
стационарной задачи. Получается, условие сходимости
решение
𝑢
уравнения теплопроводности стремится к решению
𝑘
(4.1)
𝐿𝑢=𝐹
. При
— это условие
устойчивости явной схемы для двумерного уравнения теплопроводности.
Таким образом, метод установления и метод простой итерации эквивалентны.
4.2. Метод минимальных невязок
Пусть требуется решить систему линейных уравнений
𝐴
— симметричная положительно определенная матрица. Рассмотрим класс
𝐴𝑥 = 𝑓
, где
явных нестационарных итерационных методов:
𝑥
−𝑥
𝑘+1
𝜏
Введем обозначение для невязки на𝑘-й итерации
𝑘+1
𝑘
+𝐴𝑥𝑘=𝑓.
𝑟𝑘=𝐴𝑥𝑘−𝑓
. Метод
минимальных невязок заключается в том, чтобы минимизировать невязку на
новой итерации при известных значениях
Выпишем невязку 𝑟
𝑟
=𝐴𝑥
𝑘+1
𝑘+1
на новой итерации:
𝑘+1
−𝑓=𝐴(𝑥𝑘−𝜏
𝑘+1
𝑥
и
𝑟
𝑘
𝐴𝑥𝑘−𝑓))−𝑓=𝑟𝑘−𝜏
(
на предыдущей итерации.
𝑘
𝑘+1𝐴𝑟𝑘
.
Введем норму векторов через скалярное произведение. Тогда квадрат
нормы невязки
𝑟
2=𝑟𝑘2−2𝜏
𝑘+1
𝑘+1
𝐴𝑟𝑘,𝑟
(
Это квадратичная функция от переменной
𝜏
𝑘
𝑘+1
2
)
+𝜏
𝐴𝑟𝑘2.
𝑘+1
, которая достигает минимума
при значении
𝐴𝑟𝑘,𝑟
𝜏
𝑘+1
(
=
𝐴𝑟𝑘
)
𝑘
.
2
Параметр
𝜏
𝑘+1
>0
, поскольку матрица𝐴— положительно определена. Метод
минимальных невязок сходится со скоростью метода простой итерации с
оптимальным параметром 𝜏
𝑜𝑝𝑡
.
Пусть𝑢и𝐹— сеточные функции, а𝐿— линейный самосопряженный
положительно определенный сеточный оператор. И пусть требуется решить
уравнение на сеточную функцию𝑢:
𝐿𝑢=𝐹
. Для решения уравнения можно применить метод минимальных невязок, при этом нет необходимости
задавать оператор𝐿в матричном виде. Достаточно определить действие
оператора на сеточную функцию
𝐿𝑢
, а также ввести операцию скалярного
произведения в пространстве сеточных функций. Пример действия оператора на сеточную функцию приведен в листинге 2.2.
36

4.3. Лабораторная работа
Найти приближенное решение уравнения Пуассона в прямоугольной
области. Для решения системы линейных уравнений использовать метод
простой итерации или метод минимальных невязок. Список задач приведен
в прил. П.2. Решить задачу из пункта (а), построить рядом точное решение,
численное и погрешность. Не следует использовать разреженные матрицы
и встроенные решатели СЛАУ.
Необязательные пункты:
>
○
сравнить приближенное решение с аналитическим, построить график
погрешности, оценить порядок аппроксимации;
>
○ построить зависимость погрешности от номера итерации;
>
○ построить зависимость невязки от номера итерации;
>
○
оценить параметр𝑞, определить, за сколько итераций погрешность/
невязка уменьшается в 10 раз;
>
○
найти число обусловленностиκматрицы оператора, определить, как
число обусловленности связано с дискретизацией задачи;
>
○
оценить параметр𝑞, найти число обусловленностиκматрицы, сравнить
теоретическую оценку параметра 𝑞и полученную на практике;
>
○
для метода простой итерации: решить задачу при различных значениях
параметра 𝜏. Убедиться, что метод расходится при 𝜏>𝜏
>
○
ответить на фундаментальный вопрос: сколько итераций требуется для
достижения предельной точности? Во сколько раз увеличится требуемое число итераций при увеличении числа ячеек в𝑚раз по каждой
оси координат?
max
;
37

Лекция 5. Простейшие неявные методы
В лекции рассматриваются простейшие одношаговые неявные итерационные методы решения СЛАУ: метод Якоби и метод Зейделя. Перед прочтением этой лекции желательно ознакомиться с лекцией 3, которая содержит
теоретические основы методов.
Для записи абстрактных систем линейных уравнений в данной лекции,
как и в лекции 3, используются обозначения 𝐴𝑥=𝑓. Аппроксимации уравнения Пуассона записываются в форме 𝐿𝑢=𝐹.
5.1. Метод Якоби
Выпишем систему уравнений 𝐴𝑥=𝑓в развернутом виде:
𝑛
𝑎𝑖𝑗𝑥𝑗=𝑓𝑖, 𝑖=1,𝑛.
𝑗=1
Пусть диагональные коэффициенты в системе уравнений отличны от нуля
(
𝑎𝑖𝑖0
неизвестную 𝑥
). В этом случае можно из каждого𝑖-го уравнения системы выразить
:
𝑖
𝑛
𝑗=1,𝑗𝑖
𝑎𝑖𝑗𝑥
, 𝑖=1,𝑛.
𝑗
𝑥𝑖=
1
𝑓𝑖−
𝑎
𝑖𝑖
Будем выполнять итерации по такой схеме, т.е. на каждой итерации будем пересчитывать переменную
𝑥
из𝑖-го уравнения системы. Пусть
𝑖
𝑥
(0)
𝑖
—
начальное приближение. Тогда итерации метода Якоби можно записать в
следующем виде:
𝑛
𝑗=1,𝑗𝑖
𝑎𝑖𝑗𝑥
(𝑘)
, 𝑖=1,𝑛. (5.1)
𝑗
(𝑘+1)
𝑥
𝑖
=
1
𝑓𝑖−
𝑎
𝑖𝑖
Рассмотрим метод Якоби на примере задачи Дирихле для уравнения
Пуассона:
∆𝑢=−𝑓(𝑥,𝑦), 0<𝑥<𝑙𝑥, 0<𝑦<𝑙𝑦,
𝑢(0,𝑦)=µ𝐿(𝑦), 𝑢(𝑙𝑥,𝑦)=µ𝑅(𝑦),
𝑢(𝑥,0)=µ𝐵(𝑥), 𝑢𝑥,𝑙
=µ𝑇(𝑥).
𝑦
Чтобы окончательно всех запутать, в этот раз выпишем конечно-разностную
аппроксимацию, т.е. никаких ячеек. Введем равномерную сетку в прямоугольнике, для простоты полагаем, что прямоугольник можно разбить на в
точности квадратные ячейки со стороной
ℎ=𝑙𝑥∕𝑛𝑥=𝑙𝑦∕𝑛
, где
𝑦
𝑛
и
𝑛
𝑥
—
𝑦
38

число отрезков разбиения по сторонам прямоугольника (количество узлов
на единицу больше). Пронумеруем узлы сетки, начиная с нуля:
𝑥𝑖𝑗=ℎ𝑖, 𝑦𝑖𝑗=ℎ𝑗, 𝑖=0,𝑛𝑥, 𝑗=0,𝑛𝑦,
значения сеточной функции 𝑢𝑖𝑗будем относить к узлам сетки. Значения 𝑢
𝑖𝑗
на границах прямоугольника известны и задаются условиями Дирихле, к
примеру,
𝑢
𝑖,0
=µ𝐵(𝑥
)
. Для внутренних узлов сетки (
𝑖,0
0<𝑖<𝑛
,
0<𝑗<𝑛
𝑥
𝑦
получаем уравнения
−𝑢
+2𝑢𝑖𝑗−𝑢
𝑖+1,𝑗
ℎ
𝑖−1,𝑗
2
−𝑢
+
+2𝑢𝑖𝑗−𝑢
𝑖,𝑗+1
ℎ
𝑖,𝑗−1
2
=𝑓𝑖𝑗.
В такой записи каждое уравнение соответствует одному узлу сетки, а каждому узлу соответствует значение функции
метод Якоби, необходимо выразить значение
𝑢
. Чтобы получить итерационный
𝑖𝑗
𝑢
в узле через значения в
𝑖𝑗
соседних узлах:
=
1
(𝑘)
𝑢
𝑖+1,𝑗
4
+𝑢
(𝑘)
𝑖−1,𝑗
(𝑖,𝑗)
(𝑘)
+𝑢
𝑖,𝑗+1
+𝑢
усредняются значения в соседних
(𝑘+1)
𝑢
𝑖𝑗
т.е. на каждой итерации для узла
узлах и прибавляется величина пропорциональная 𝑓
(𝑘)
𝑖,𝑗−1
𝑖𝑗
+
2
ℎ
𝑓
,
𝑖,𝑗
4
.
При решении уравнения Лапласа, т.е. при
𝑓(𝑥,𝑦)=0
, получается итерационная процедура
)
(𝑘+1)
𝑢
𝑖𝑗
=
𝑢
(𝑘)
𝑖+1,𝑗
+𝑢
(𝑘)
𝑖−1,𝑗
+𝑢
4
(𝑘)
𝑖,𝑗+1
+𝑢
(𝑘)
𝑖,𝑗−1
,
которая называется сглаживанием Лапласа. Пусть
на границах прямоугольника заданы произвольные (возможно, разрывные) функции, тогда сглаживание Лапласа позволяет получить функцию,
которая гладким образом связывает функции на
сторонах прямоугольника (рис. 5.1). Такую форму принимает эластичная мембрана, натянутая на
Рис. 5.1. Решение задачи
Дирихле для уравнения
Лапласа
некоторую форму. Очень красиво.
«Выразить переменную
𝑥
из𝑖-го уравнения» звучит очень хитро, особен-
𝑖
но это кажется целесообразно для систем уравнений, в которых коэффициенты на диагонали преобладают. Матрицей с диагональным преобладанием
называют матрицу, диагональные элементы которой удовлетворяют условиям
∀𝑖 𝑎𝑖𝑖
𝑎𝑖𝑗. (5.2)
𝑗𝑖
39

При этом, если все неравенства строгие, то говорят, что матрица обладает строгим диагональным преобладанием, в обратном случае — слабым
диагональным преобладанием. Матрицы для сеточного оператора Лапласа, которые мы рассматриваем, имеют ненулевые диагональные элементы
и обладают, по крайней мере, слабым диагональным преобладанием. Метод Якоби гарантированно сходится для симметричных матриц и если по
крайней мере одно из неравенств
(5.2)
является строгим. Это достаточное
условие сходимости, но не необходимое, метод может сходиться и при более
слабых условиях на матрицу. Так, в лабораторной работе будет предложено
применить метод Якоби к вырожденным матрицам, которые получаются
при дискретизации уравнения Пуассона с периодическими граничными
условиями или условиями Неймана.
Пусть необходимо решить уравнение
𝐿
— сеточный оператор,𝐹— сеточная функция. Для использования метода
Якоби достаточно определить результат действия оператора
𝐿𝑢=𝐹
на сеточную функцию𝑢, где
𝐿=𝐿−𝐷
на
произвольную сеточную функцию, а также задать матрицу диагональных
элементов𝐷. Выпишем действие оператора
достаточно вычеркнуть из формулы (2.8) все слагаемые с 𝑢
(
𝐿𝑢
=[𝑖>1
)
𝑖𝑗
]
−𝑢
𝑖−1,𝑗
ℎ
𝑥
2
+[𝑖<𝑛
+𝑗<𝑛
−𝑢
𝑖+1,𝑗
]
𝑥
𝑦
ℎ
−𝑢
2
𝑥
𝑖,𝑗+1
2
ℎ
𝑦
𝐿
для примера 2.1. Для этого
+[𝑗>1
+[𝑗=1
]
]
−𝑢
−𝑢
𝑖,𝑗−1
ℎ
𝑖,𝑛
ℎ
𝑦
2
𝑦
2
:
𝑖𝑗
+
𝑦
+𝑗=𝑛
−𝑢
𝑖,1
ℎ
.
2
𝑦
𝑦
Если 𝑢и 𝐹— двумерные массивы 𝑛𝑥×𝑛𝑦, то 𝐷также можно представить в
виде двумерной матрицы
оператора 𝐿при 𝑢
:
𝑖𝑗
𝐷𝑖𝑗=[𝑖>1
𝑛𝑥×𝑛
1
]
2
ℎ
𝑥
, которая содержит коэффициенты сеточного
𝑦
+[𝑖<𝑛
1
+[𝑖=1
]
𝑥
2
ℎ
𝑥
2
]
ℎ
2
+
2
𝑥
ℎ
.
2
𝑦
Исходная система уравнений
отсюда 𝑢
и получаем метод Якоби:
𝑖𝑗
(𝑘+1)
𝑢
𝑖𝑗
(𝐿𝑢)
=𝐹𝑖𝑗−
=𝐷𝑖𝑗𝑢𝑖𝑗+(𝐿𝑢)𝑖𝑗=𝐹
𝑖𝑗
(𝑘)
𝑖𝑗
𝐿𝑢
5.2. Метод Зейделя
Если в итерационной процедуре
порядке и при пересчете использовать значения
(5.1)
40
вычислять значения
∕𝐷𝑖𝑗.
𝑥
𝑗<𝑖
. Выражаем
𝑖𝑗
𝑥
в строгом
𝑖
с нового приближения,
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
