Ітераційні методи розв'язування СЛАР

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

Шаблон:Вичитати Ітераційні методи або ж методи ітерацій розв'язування СЛАР — наближені методи розв'язку проблеми знаходження власних значень та власних векторів (що еквівалентно розв'язку СЛАР), які базуються на покроковому наближені (знаходження за наближеним значенням величини наступного наближення) до їх точних значень, оминаючи обчислення характеристичного многочлена. Ітераційні методи дозволяють отримати значення коренів системи із заданою точністю у вигляді границі послідовності деяких векторів (ітераційний процес). Характер збіжності й сам факт збіжності методу залежить від вибору початкового (нульового) наближення, кореня x0.

Ці методи є чисельними, вони суттєво відрізняються для матриць середнього і великого розміру, бо методи для невеликих матриць зазвичай є такими, що руйнують розрідженість матриць (її заповненість в основному нулями), відтак такі матриці більше не можуть бути збережені в пам'яті обчислювальної машини компактно.

Методи, які не зберігають розрідженості

Метод Якобі

Шаблон:Main Шаблон:Main

Опис методу

{a11x1++a1nxn=b1an1x1++annxn=bn

АХ = В — у матричному вигляді. A=[a11a1nan1ann];X=[x1xn];B=[b1bn]

Припускаючи, що aii0 ; (i=1,2, …, n), виразимо x1 через перше рівняння, x2 — через друге і т. д. {x1=b1a11a12a11x2a1na11xnxn=bnanna1nannx1a2nannx2an1,nannxn1 Позначимо:

biaii=βi;aijaii=αij;

i=1,2,…,n; j=1,2,…,n; {x1=β1+α12x2++α1nxnxn=βn+αn1x1++αn,n1xn1 Система приведена до нормального вигляду.

α=[α11α1nαn1αnn];β=[β1βn]

X=β+αх — система у матричному вигляді.

За нульове наближення приймемо стовпець вільних членів.

[x1(0)xn(0)]=[β1βn] — нульове наближення;

[x1(1)xn(1)]=[β1βn]+[α11α1nαn1αnn][x1(0)xn(0)] — I наближення;

[x1(2)xn(2)]=[β1βn]+[α11α1nαn1αnn][x1(1)xn(1)] — II наближення і т. д.;

X(k)=β+αX(k1) (k=0, …,π).

X=limxx(k) — розв'язання системи.

Умови збіжності процесу

Метод ітерації застосовують у випадку, якщо сходиться послідовність наближень по вказаному алгоритму. Умови збіжності : j=1n|αij|<1 (де i=1, 2, …, n) або i=1n|αij|<1 (де j=1, 2, …, n;).

Оцінка похибки

xixi(k)αk+11α×βε, де ε -точність, xi — вектор точних значень.

α — одна з трьох норм матриці α,β — одна з трьох норм матриці β.

QR-метод

Шаблон:Main Належить до класу т. зв. степеневих алгоритмів, є одним з найефективніших серед них для не надто великих матриць. Ітерація відбувається за наступною схемою:

Ak=QkRk,Ak+1=RkQk

Тут Qk є ортогональною або унітарною матрицею, а Rk є правою трикутною матрицею. Таким чином, для переходу до наступного кроку ітерації (від Ak до Ak+1) спочатку знаходиться ортогонально-трикутний розклад матриці Ak, після чого матриці Qk і Rk перемножуються в оберненому порядку.

Методи, які зберігають розрідженість

Основними для задач високого порядку (тисячі, десятки тисяч рядків і стовпців) є методи, елементарна операція яких — перемноження матриці на вектор. Припустимо, що власні значення матриці занумеровані спадними за модулем (|λ1||λ2|...|λn|). Найбільш широку область застосування має степеневий метод для обчислення власного значення, найбільшого за модулем, |λ1|. Виходячи з початкового наближення x0 будується послідовність нормованих векторів:

xk+1=ρkAxk,ρk=1/||Axk||

Така послідовність збігається якщо:

  1. всі елементарні дільники матриці A, що відносяться до λ1 — лінійні,
  2. немає інших власних значень з таким модулем,
  3. у розкладі нульового наближення x0 за кореневим базисом A присутня нетривіальна компонента за власним підпростором λ1.

Збіжність в цьому методі не надто швидка, як правило, і визначається відношенням двох старших по модулю власних значень.

Важливими є також метод обернених ітерацій та метод Стюарта, що теж визначають власні значення по одному. Для одночасного їх пошуку існує метод Ланцоша.


Див. також

Джерела

  • Шаблон:Книга
  • Даніліна Н. І., Дубровська Н. С., Кваша О. П., Смирнов Г. Л., Феклісов Г. І. «Чисельні методи: Посібник для технікумів.» Видання «Вища школа»,1976