ИТЕРАЦИОННИ МЕТОДИ ЗА ЛИНЕЙНИ УРАВНЕНИЯ
Нека да сме благодарни на проф. Михаил Константинов за разрешението да четем "Елементи на линейната алгебра: вектори и матрици" online.
12.1 Уводни бележки
Редица практически задачи изискват решаването на големи линейни системи
Ах = b, A
Fnxn,
например с n = 1000 или n = 10 000, в които матрицата А има специална структура. Типичен пример тук са т.нар. разредени матрици, които често се оказват и симетрични. В такива случай директните методи, основани на декомпозиция на матрицата А на множители, могат да се окажат неефикасни, тъй като те разрушават специалната структура на матрицата.
Алтернатива на директните методи са итерационните методи, при които решението се получава като граница на редица от последователни приближения. На свой ред тези приближения удовлетворяват някакви нови алгебрични уравнения, които са сравнително лесни за решаване.
12.2 Основни итерационни схеми
Да разгледаме уравнението
Ах = b, A
Fnxn, b
Fn, (1)
относно неизвестния вектор х
Fn, в което матрицата А е неособена. Всички итерационни схеми се основават на еквивалентно представяне на уравнението във вида
Мх = Nх + с, (2)
където М
Fnxn е неособена матрица с проста структура, която позволява лесно решаване на уравнението Мх = d. Например М може да се избере като диагонална матрица.
Уравнението (2) се решава итеративно по схемата
Мx(k+1) = Nх(k) + c, k = 0, 1, 2, ..., (3)
при зададено начално приближение ж(0).
Когато спектралният радиус rad(М-1N) на матрицата М-1N е по-малък от 1, последователните приближения х(k) се схождат при k → ∞ към вектора
х = (М - N)-1c
за всеки начален вектор x(0). При това
където В := |М-1N| и |R| := [|ri,j|] е матричният модул на матрицата R := [ri,j]. Ще напомним, че неравенството x
y за векторите x, у с елементи xi, уi съответно се разбира поелементно, т.е., х1 ≤ у1,... ,хn ≤ yn.
В сила е и оценката
|x - x(k+1)|
Bk|x - x(0)|,
в която обаче векторът |х — х(0)| е предварително неизвестен.
За да бъдат уравненията (1) и (2) еквивалентни, т.е., за да имат те едно и също решение, е необходимо и достатъчно да бъде изпълнено условието
с=(М - N)А-1b
(докажете!). В частност може да се избере А = М — N и с = b. Това представяне се нарича разцепване на матрицата А. Разцепването се прави с оглед на следните съображения:
- матрицата М трябва да е неособена и проста (в частност лесна за обръщане), така че уравнението Мх = d да се решава лесно за всяка дясна страна d;
- спектралният радиус на матрицата М-1N трябва да е колкото се може по-малък от 1.
Подобни изисквания се налагат и в общия случай на еквивалентно представяне на уравнението (1) във вида (2).
Да представим матрицата А = [ai,j] във вида
А = L + D + U,
където L, D и U са съответно строго долно триъгълната, диагоналната и строго горно тригъгълната части на А,
D := diag(a1,1,.....,an,n)
Да предположим, че матрицата има ненулев диагонал. Тогава можем да изберем
М = D, N = L + U, с = b.
Това е най-простата итерационна схема, известна като итерация на Якоби. При тази схема последователните приближения х(k)i към елементите хi на решението х се определят по формулите
(4)
Както е прието, при i = 1 първата сума от 1 до 0 се приема за празна, а при i = n за празна се приема втората сума от n + 1 до n.
Итерацията на Якоби допуска известно подобрение както следва. От (4) се вижда, че при определянето на х(k+1)i, i ≥ 1, се използват приближенията х(k)1,..... ,х(k)i-1 (вж. първата сума), докато вече са определени и приближенията x(k+1)1,...,х(k+1)i-1, за които се предполага, че са по-точни. Като заместим в първата сума тези по-точни приближения получаваме итерацията на Гаус-Зайдел
(5)
Формално итерацията на Гаус-Зайдел се получава като вземем
М = L + D, N = -U.
Може да се покаже, че
rad(D-1(L + U)) < 1
и следователно итерацията на Якоби е сходяща за всяко начално приближение ж(0), когато са изпълнени условията
(в този случай се казва, че матрицата А е с доминиращ диагонал).
В много приложения, например при числено решаване на елиптични частни диференциални уравнения, матрицата А е симетрична (U = LT) и положително определена. В този случай
rad((L + D)-1LT) < 1
и итерацията на Гаус-Зайдел е сходяща.
Критичен момент при използване на итерационните схеми е изборът на матриците М и N оглед на минимизиране на спектралния радиус
ρ := rad(М-1N) < 1
и съответно повишаване на скоростта на сходимост на итерационния процес.
Един от начините за минимизиране на ρ е както следва. Матриците М и N и векторът с се представят като като аффини изрази, зависещи от един скаларен параметър ω
F, например
М = М(ω) := D + ωL,
N = N(ω) := (1 - ω)D - ωU,
с = с(ω) := ωb, 0 ≠ ω
F
Параметърът ω се нарича релаксационен параметър, а съответната итерационна схема
М(ω)х(k+1) = N(ω)х(k) + с(ω), k = 0, 1, 2 ..., (6)
- метод на последователната релаксация. При ω = 1 получаваме класическата итерация на Гаус-Зайдел.
Параметърът ω се определя от условието за минимум на спектралния радиус
ρ(ω) := rad(М-1(ω)N(ω)).
Това е трудна задача в общия случай. За щастие при някои важни за практиката случаи на симетрична положително определена матрица А е възможно релаксационният параметър да се намери с прости алгебрични операции.
Съществува и една друга група итерационни методи за решаване на уравнението Ах = b с неособена матрица А. Те се основават на минимизирането (или максимизирането) на някаква нелинейна функция x → f(x), която има глобален екстремум в точката х = А-1b. Нека например F = R и матрицата А е симетрична положително определена. Да разгледаме израза
f(x) = 0.5xTАх — bTх.
Минимумът на f е — bTA-1b/2 и се достига за х = А-1b.
Един от най-простите начини за минимизиране на f е по метода на най-бързото спускане. Нека е дадена точка x(0), такава че Ах(0) ≠ b5. Функцията f намалява най-бързо по посока на вектора r(0) := b — Ах(0) ≠ 0, противоположен на градиента Ах(0) - b на f в точката x(0). Следователно съществува число μ > 0, такова че
f(x(0) + μr(0)) < f(x(0)).
Ако определим μ от условието за минимум на израза f(х(0) + μr(0)) получаваме
μ = μ0 = (r(0))Tr(0)/(r(0))ТAr(0).
С тази стойност на μ векторът x се актуализира до
x(1) := x(0) + μ0r(0).
Аналогично се определят следващите приближения
х(k+1) := х(k) + μkr(k), k = 1,2,....
Глобалната сходимост на метода се гарантира от неравенството, дадено в упражнение 12.6. Тази сходимост, обаче, може да не е достатъчно бърза в случаите, когато числото на обусловеност
соnd2(А) = λmax(A)/λmin(A)
на матрицата А е много по-голямо от 1. Поради това се използват и други, по-усъвършенствани итерационни методи за минимизиране на функцията f, които тук не се разглеждат.
12.3 Упражнения
Упражнение 12.1 Покажете, че итерацията
Мх(k+1) = Мх(k) + b, А = М - N
с неособена матрица М може да се запише във вида
х(k+1) = х(k) + М-1r(k), r(k) := b - Ах(k)
Докажете, че ако при неособена матрица А тази итерация е сходяща за всяко начално приближение х(0) то непременно е изпълнено неравенството rad!(М-1N) < 1. Вярно ли е това твърдение когато матрицата А е особена?
Упражнение 12.2 Нека матрицата А = М — N е особена, а матрицата М - неособена. Възможно ли е да е изпълнено неравенството rad(М-1N) < 1? Разсъждавайте чрез допускане на противното.
Упражнение 12.3 Нека спектралният радиус rad(В) на матрицата В
Fnxn е по-малък от 1. Покажете, че за всяко положително число ε < 1 — rad(В) съществува векторна норма
||В|| < rad(B) + ε,
където ||В|| е съответната операторна норма на матрицата В.
Упражнение 12.4 Покажете, че при метода на най-бързото спускане е в сила оценката
F(x(k+1)) ≤ [1 - (1/cond2(A))].f(x(k)) - bTA-1b/2cond2(A).

