QR-алгоритм — це чисельний метод у лінійній алгебрі, призначений для розв'язування повної задачі власних значень, тобто відшукання всіх власних значень і власних векторів матриці. Розробили в кінці 1950-х років незалежно В. М. Кублановська і [en].
Алгоритм
Нехай A — дійсна матриця, для якої ми хочемо знайти власні числа і вектори. Поклавши A0=A. на k-му кроці (починаючи від k = 0) обчислимо QR-розклад Ak=QkRk, де Qk — ортогональна матриця (тобто QkT = Qk−1), а Rk — верхня трикутна матриця. Потім ми визначаємо Ak+1 = RkQk.
Зауважимо, що
тобто всі матриці Ak є подібними, тобто їхні власні значення рівні.
Нехай усі діагональні мінори матриці A не вироджені. Тоді послідовність матриць Ak при збігається за формою до клітинного правого трикутного вигляду, відповідного клітинам з однаковими за модулем власними значеннями.
Для того, щоб отримати власні вектори матриці, потрібно перемножити всі матриці Qk.
Алгоритм вважається обчислювально стійким, оскільки проводиться ортогональними перетвореннями подібності.
Доказ для симетричної додатноозначеної матриці
Будемо вважати, що власні числа додатноозначеної матриці A впорядковано за спаданням:
Нехай
а S — матриця, складена зі власних векторів матриці A. Тоді, матрицю A можна записати у вигляді спектрального розкладу
Знайдемо вираз для степенів початкової матриці через матриці Qk і Rk. З одного боку, за визначенням QR-алгоритму:
Застосовуючи це співвідношення рекурсивно, отримаємо:
Увівши такі позначення:
маємо
З іншого боку:
Прирівнявши праві частини останніх двох формул, отримаємо:
Припустимо, що існує LU-розклад матриці ST:
тоді
Помножимо праворуч на обернену до U матрицю, а потім — на обернену до Λk:
Можна показати, що
При без обмеження загальності можна вважати, що на діагоналі матриці L стоять одиниці, тому
Позначимо
причому матриця Pk є верхньотрикутною, як добуток верхньотрикутних і діагональних матриць.
Таким чином, ми довели, що
- .
З єдиності QR-розкладу випливає, що якщо добуток ортогональної і трикутної матриці збігається до ортогональної матриці, то трикутна матриця збігається до одиничної матриці. Зі сказаного випливає, що
Тобто матриці Sk збігаються до матриці власних векторів матриці A.
Оскільки
то
Переходячи до границі, отримаємо:
Отже, ми довели, що QR-алгоритм дозволяє розв'язати повну проблему власних значень для симетричної додатноозначеної матриці.
Реалізація QR-алгоритму
За певних умов послідовність матриць збігається до трикутної матриці, розкладу Шура матриці . В цьому випадку власні числа трикутної матриці розташовуються на її діагоналі, і задача знаходження власних чисел вважається розв'язаною. У тестах на збіжність не практично вимагати точних нулів у нульовій частині матриці, але можна скористатися [en], що задає межі помилок.
У початковому стані матриці (без додаткових перетворень) вартість ітерацій відносно висока. Вартість алгоритму можна зменшити, спочатку звівши матрицю до форми верхньої матриці Гессенберга (вартість отримання якої методом, заснованим на перетворенні Хаусхолдера, оцінюється як арифметичних операцій), і потім скориставшись скінченною послідовністю ортогональних перетворень подібності. Цей алгоритм нагадує двобічну QR-декомпозицію. (У звичайній QR-декомпозиції матриця відображень Хаусхолдера множиться на початкову тільки зліва, тоді як у разі використання форми Хессенберга матриця відображень множиться на початкову і зліва, і справа.) Знаходження QR-декомпозиції верхньої матриці Хессенберга оцінюється як арифметичних операцій. Оскільки форма матриці Хессенберга майже верхньотрикутна (у ній тільки один піддіагональний елемент не дорівнює нулю), вдається зразу знизити число ітерацій необхідних для збігання QR-алгоритму.
У випадку, якщо початкова матриця симетрична, верхня матриця Хессенберга також симетрична і тому є тридіагональною. Цю ж властивість має вся послідовність матриць . У цьому випадку вартість процедури оцінюється як арифметичних операцій з використанням методу, заснованого на перетворенні Хаусхолдера. Знаходження QR-розкладу симетричної тридіагональної матриці оцінюється як операцій.
Швидкість збіжності залежить від ступеня розділення власних чисел, і в практичній реалізації в явному або неявному вигляді використовуються «зсуви» для посилення розділення власних чисел і для прискорення збіжності. У типовому вигляді для симетричних матриць QR-алгоритм точно знаходить одне власне число (зменшуючи розмірність матриці) за одну або дві ітерації, що робить цей підхід як ефективним, так і надійним.
Реалізація QR-алгоритму в неявному вигляді
У сучасній обчислювальній практиці QR-алгоритм реалізують із використанням його неявної версії, що спрощує додавання множинних «зсувів». Початково матриця зводиться до форми верхньої матриці Хессенберга , так само як і в явній версії. Потім, на кожному кроці перша колонка перетворюється через малорозмірне перетворення подоби Хаусхолдера до першої колонки (або ), де — це поліном степеня , який визначає стратегію «зсувів» (зазвичай , де і — це два власних числа залишкової підматриці розміру 2х2, це так званий неявний подвійний зсув). Потім виконують послідовні перетворення Хаусхолдера розмірності з метою повернути робочу матрицю до форми верхньої матриці Хессенберга.
Примітки
- Численные методы / Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков. — 3-е изд. — М : БИНОМ, Лаборатория знаний, 2004. — С. 321. — .
Посилання
- Нотатки Пітера Олвера про ортогональні базиси і QR-алгоритм [ 4 березня 2016 у Wayback Machine.](англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
QR algoritm ce chiselnij metod u linijnij algebri priznachenij dlya rozv yazuvannya povnoyi zadachi vlasnih znachen tobto vidshukannya vsih vlasnih znachen i vlasnih vektoriv matrici Rozrobili v kinci 1950 h rokiv nezalezhno V M Kublanovska i en AlgoritmNehaj A dijsna matricya dlya yakoyi mi hochemo znajti vlasni chisla i vektori Poklavshi A0 A na k mu kroci pochinayuchi vid k 0 obchislimo QR rozklad Ak QkRk de Qk ortogonalna matricya tobto QkT Qk 1 a Rk verhnya trikutna matricya Potim mi viznachayemo Ak 1 RkQk Zauvazhimo sho A k 1 R k Q k Q k 1 Q k R k Q k Q k 1 A k Q k Q k T A k Q k displaystyle A k 1 R k Q k Q k 1 Q k R k Q k Q k 1 A k Q k Q k T A k Q k tobto vsi matrici Ak ye podibnimi tobto yihni vlasni znachennya rivni Nehaj usi diagonalni minori matrici A ne virodzheni Todi poslidovnist matric Ak pri k displaystyle k to infty zbigayetsya za formoyu do klitinnogo pravogo trikutnogo viglyadu vidpovidnogo klitinam z odnakovimi za modulem vlasnimi znachennyami Dlya togo shob otrimati vlasni vektori matrici potribno peremnozhiti vsi matrici Qk Algoritm vvazhayetsya obchislyuvalno stijkim oskilki provoditsya ortogonalnimi peretvorennyami podibnosti Dokaz dlya simetrichnoyi dodatnooznachenoyi matriciBudemo vvazhati sho vlasni chisla dodatnooznachenoyi matrici A vporyadkovano za spadannyam l 1 gt l 2 gt gt l n gt 0 displaystyle lambda 1 gt lambda 2 gt gt lambda n gt 0 Nehaj L d i a g l 1 l n displaystyle Lambda mathrm diag left lambda 1 lambda n right a S matricya skladena zi vlasnih vektoriv matrici A Todi matricyu A mozhna zapisati u viglyadi spektralnogo rozkladu A S L S T displaystyle A S Lambda S T Znajdemo viraz dlya stepeniv pochatkovoyi matrici cherez matrici Qk i Rk Z odnogo boku za viznachennyam QR algoritmu A k A 1 k Q 1 R 1 k Q 1 R 1 Q 1 k 1 R 1 Q 1 A 2 k 1 R 1 displaystyle A k A 1 k left Q 1 R 1 right k Q 1 left R 1 Q 1 right k 1 R 1 Q 1 A 2 k 1 R 1 Zastosovuyuchi ce spivvidnoshennya rekursivno otrimayemo A k Q 1 Q k R k R 1 displaystyle A k Q 1 cdot cdot Q k cdot R k cdot cdot R 1 Uvivshi taki poznachennya S k Q 1 Q k displaystyle S k Q 1 cdot cdot Q k T k R k R 1 displaystyle T k R k cdot cdot R 1 mayemo A k S k T k displaystyle A k S k T k Z inshogo boku A k S L k S T displaystyle A k S Lambda k S T Pririvnyavshi pravi chastini ostannih dvoh formul otrimayemo S L k S T S k T k displaystyle S Lambda k S T S k T k Pripustimo sho isnuye LU rozklad matrici ST S T L U displaystyle S T LU todi S L k L U S k T k displaystyle S Lambda k LU S k T k Pomnozhimo pravoruch na obernenu do U matricyu a potim na obernenu do Lk S L k L S k T k U 1 displaystyle S Lambda k L S k T k U 1 S L k L L k S k T k U 1 L k displaystyle S Lambda k L Lambda k S k T k U 1 Lambda k Mozhna pokazati sho L k L L k d i a g l 11 l n n L displaystyle Lambda k L Lambda k to mathrm diag left l 11 l nn right L prime Pri k displaystyle k to infty bez obmezhennya zagalnosti mozhna vvazhati sho na diagonali matrici L stoyat odinici tomu S k T k U 1 L k S displaystyle S k T k U 1 Lambda k to S Poznachimo P k T k U 1 L k displaystyle P k T k U 1 Lambda k prichomu matricya Pk ye verhnotrikutnoyu yak dobutok verhnotrikutnih i diagonalnih matric Takim chinom mi doveli sho S k P k S displaystyle S k P k to S Z yedinosti QR rozkladu viplivaye sho yaksho dobutok ortogonalnoyi i trikutnoyi matrici zbigayetsya do ortogonalnoyi matrici to trikutna matricya zbigayetsya do odinichnoyi matrici Zi skazanogo viplivaye sho S k Q 1 Q k S displaystyle S k Q 1 cdot cdot Q k to S Tobto matrici Sk zbigayutsya do matrici vlasnih vektoriv matrici A Oskilki A k 1 Q k T A k Q k Q k T Q 1 T A 1 Q 1 Q k Q 1 Q k T A Q 1 Q k displaystyle A k 1 Q k T A k Q k left Q k T cdot cdot Q 1 T right A 1 left Q 1 cdot cdot Q k right left Q 1 cdot cdot Q k right T A left Q 1 cdot cdot Q k right to A k 1 S k T A S k displaystyle A k 1 S k T AS k Perehodyachi do granici otrimayemo lim k A k lim k A k 1 S T A S S T S L S T S L displaystyle lim k to infty A k lim k to infty A k 1 S T AS S T S Lambda S T S Lambda Otzhe mi doveli sho QR algoritm dozvolyaye rozv yazati povnu problemu vlasnih znachen dlya simetrichnoyi dodatnooznachenoyi matrici Realizaciya QR algoritmuZa pevnih umov poslidovnist matric A k displaystyle A k zbigayetsya do trikutnoyi matrici rozkladu Shura matrici A displaystyle A V comu vipadku vlasni chisla trikutnoyi matrici roztashovuyutsya na yiyi diagonali i zadacha znahodzhennya vlasnih chisel vvazhayetsya rozv yazanoyu U testah na zbizhnist ne praktichno vimagati tochnih nuliv u nulovij chastini matrici ale mozhna skoristatisya en sho zadaye mezhi pomilok U pochatkovomu stani matrici bez dodatkovih peretvoren vartist iteracij vidnosno visoka Vartist algoritmu mozhna zmenshiti spochatku zvivshi matricyu A displaystyle A do formi verhnoyi matrici Gessenberga vartist otrimannya yakoyi metodom zasnovanim na peretvorenni Hausholdera ocinyuyetsya yak 10 3 n 3 O n 2 displaystyle 10 over 3 n 3 O n 2 arifmetichnih operacij i potim skoristavshis skinchennoyu poslidovnistyu ortogonalnih peretvoren podibnosti Cej algoritm nagaduye dvobichnu QR dekompoziciyu U zvichajnij QR dekompoziciyi matricya vidobrazhen Hausholdera mnozhitsya na pochatkovu tilki zliva todi yak u razi vikoristannya formi Hessenberga matricya vidobrazhen mnozhitsya na pochatkovu i zliva i sprava Znahodzhennya QR dekompoziciyi verhnoyi matrici Hessenberga ocinyuyetsya yak 6 n 2 O n displaystyle 6n 2 O n arifmetichnih operacij Oskilki forma matrici Hessenberga majzhe verhnotrikutna u nij tilki odin piddiagonalnij element ne dorivnyuye nulyu vdayetsya zrazu zniziti chislo iteracij neobhidnih dlya zbigannya QR algoritmu U vipadku yaksho pochatkova matricya simetrichna verhnya matricya Hessenberga takozh simetrichna i tomu ye tridiagonalnoyu Cyu zh vlastivist maye vsya poslidovnist matric A k displaystyle A k U comu vipadku vartist proceduri ocinyuyetsya yak 4 3 n 3 O n 2 displaystyle 4 over 3 n 3 O n 2 arifmetichnih operacij z vikoristannyam metodu zasnovanogo na peretvorenni Hausholdera Znahodzhennya QR rozkladu simetrichnoyi tridiagonalnoyi matrici ocinyuyetsya yak O n displaystyle O n operacij Shvidkist zbizhnosti zalezhit vid stupenya rozdilennya vlasnih chisel i v praktichnij realizaciyi v yavnomu abo neyavnomu viglyadi vikoristovuyutsya zsuvi dlya posilennya rozdilennya vlasnih chisel i dlya priskorennya zbizhnosti U tipovomu viglyadi dlya simetrichnih matric QR algoritm tochno znahodit odne vlasne chislo zmenshuyuchi rozmirnist matrici za odnu abo dvi iteraciyi sho robit cej pidhid yak efektivnim tak i nadijnim Realizaciya QR algoritmu v neyavnomu viglyadiU suchasnij obchislyuvalnij praktici QR algoritm realizuyut iz vikoristannyam jogo neyavnoyi versiyi sho sproshuye dodavannya mnozhinnih zsuviv Pochatkovo matricya zvoditsya do formi verhnoyi matrici Hessenberga A 0 Q A Q T displaystyle A 0 QAQ T tak samo yak i v yavnij versiyi Potim na kozhnomu kroci persha kolonka A k displaystyle A k peretvoryuyetsya cherez malorozmirne peretvorennya podobi Hausholdera do pershoyi kolonki p A k displaystyle p A k abo p A k e 1 displaystyle p A k e 1 de p A k displaystyle p A k ce polinom stepenya r displaystyle r yakij viznachaye strategiyu zsuviv zazvichaj p x x l x l displaystyle p x x lambda x bar lambda de l displaystyle lambda i l displaystyle bar lambda ce dva vlasnih chisla zalishkovoyi pidmatrici A k displaystyle A k rozmiru 2h2 ce tak zvanij neyavnij podvijnij zsuv Potim vikonuyut poslidovni peretvorennya Hausholdera rozmirnosti r 1 displaystyle r 1 z metoyu povernuti robochu matricyu A k displaystyle A k do formi verhnoyi matrici Hessenberga PrimitkiChislennye metody N S Bahvalov N P Zhidkov G M Kobelkov 3 e izd M BINOM Laboratoriya znanij 2004 S 321 ISBN 5 94774 175 X PosilannyaNotatki Pitera Olvera pro ortogonalni bazisi i QR algoritm 4 bereznya 2016 u Wayback Machine angl