Ця стаття є сирим з англійської мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (квітень 2020) |
У математиці метод спря́женого градієнта є алгоритмом чисельного рішення окремих систем лінійних рівнянь, а саме тих, чия матриця симетрична і позитивно-визначена. Метод спряженого градієнта часто реалізовується як ітераційний алгоритм, застосовний до розріджених систем, які занадто великі, щоб обробляти їх шляхом прямої реалізації або інших прямих методів, таких як декомпозиція Холеського. Великі розріджені системи часто виникають при чисельному вирішенні часткових диференціальних рівнянь або задачах оптимізації.
Метод спряженого градієнта також може бути використаний для вирішення необмежених задач оптимізації, таких як мінімізація енергії . Його в основному розробили Магнус Гестенес та Едуард Стіфель які запрограмували його на Z4 .
Метод двобічного спряженого градієнта забезпечує узагальнення до несиметричних матриць. Різні методи нелінійного спряженого градієнта шукають мінімуми нелінійних рівнянь.
Опис задачі, котру вирішують сполучені градієнти
Припустимо, ми хочемо розв’язати систему лінійних рівнянь
для вектора x, де відома n × n матриця A симетрична (тобто A T = A ), позитивно-визначена (тобто x TAx > 0 для всіх ненульових векторів x в R n ), і реальна, і b також відомо. Позначимо унікальний розв'язок цієї системи через .
Прямий метод
Ми припускаємо, що два ненульові вектори u і v є сполученими (щодо А ), якщо
Оскільки A симетрична і позитивно-визначена, ліва частина визначає внутрішній добуток
Два вектори є сполученими тоді і лише тоді, коли вони ортогональні щодо цього внутрішнього добутку. Будучи сполученим - це симетричне відношення: якщо u є спряженим на v, то v є спряженим на u . Припустимо, що
являє собою сукупність n взаємно сполучених векторів (щодо А ). Тоді P становить основу для , і ми можемо висловити рішення x∗ of виходячи з цього:
На основі цього розширення ми обчислюємо:
Ліву частину множимо на :
підставляючи і :
потім і використання врожайність
що означає
Це дає наступний метод розв’язання рівняння Ax = b : знайти послідовність n спрямованих напрямків, а потім обчислити коефіцієнти αk .
Як ітеративний метод
Якщо ми обережно оберемо сполучені вектори p k, то, можливо, нам не знадобляться всі, щоб отримати гарне наближення до рішення x∗ . Отже, ми хочемо розглянути метод спряженого градієнта як ітераційний метод. Це також дозволяє приблизно вирішити системи, де n настільки велике, що прямий метод зайняв би занадто багато часу.
Позначимо початкове припущення для x∗ через x0 (можна без втрати загальності вважати, що x0 = 0, інакше розглянемо систему Az = b - Ax 0 ). Починаючи з x0 ми шукаємо вирішення і в кожній ітерації ми повинні мати метрику, котра зможєе сказати нам чи ми ближче до вирішення x∗, нам це невідомо). Ця метрика випливає з того, що рішення x∗ також є унікальним мінімізатором наступної квадратичної функції
Існування унікального мінімізатора очевидно, оскільки його друга похідна задана симетричною позитивно-визначеною матрицею
і що мінімалізатор (виокристовує Df(x) = 0) вирішує початкову задачу очевидно з її першої похідної
Це говорить про те, щоб перший базовий вектор p 0 був від'ємним градієнтом f при x = x 0 . Градієнт f дорівнює Ax − b . Починаючи з початкової здогадки x 0, це означає, що беремо p 0 = b - Ax 0 . Інші вектори в основі будуть спряжені з градієнтом, звідси і назва метод спряженого градієнта . Зауважимо, що p 0 також є залишковим, передбаченим цим початковим кроком алгоритму.
Нехай r k - залишок на k- му кроці:
Як було зазначено вище, r k - від'ємний градієнт f при x = x k, тому метод спуску градієнтом потребує руху в напрямку r k . Тут, однак, ми наполягаємо, щоб напрямки p k були сполучені один з одним. Практичний спосіб забезпечити це - вимагаючи, щоб наступний напрямок пошуку був побудований з поточного залишкового та всіх попередніх напрямків пошуку. Це дає такий вираз:
(див. малюнок у верхній частині статті про вплив обмеження спряженості на збіжність). Слідуючи цьому напрямку, наступне оптимальне місце задається
з
де остання рівність випливає з визначення r k . Вираз для може бути отримано, якщо підміняти вираз x k +1 на f і мінімізувати його wrt
Отриманий алгоритм
Наведений вище алгоритм дає найбільш просте пояснення методу спряженого градієнта. Здається, алгоритм, як заявлено, вимагає зберігання всіх попередніх напрямків пошуку та векторів залишків, а також багатьох матричних векторних множень, і, таким чином, може бути обчислювально дорогим. Однак більш детальний аналіз алгоритму показує, що r i є ортогональним до r j, тобто , для i ≠ j. І p i - A-ортогональна до p j, тобто , для i ≠ j. Це можна вважати, що в міру просування алгоритму p i і r i охоплюють той самий підпростір Крилова. Якщо r я утворює ортогональну основу відносно стандартного внутрішнього добутку, а p i утворює ортогональну основу відносно внутрішнього добутку, індукованого А. Тому x k можна розглядати як проєкцію x на підпростір Крилова.
Алгоритм детально описаний нижче для розв’язання Ax = b, де A - реальна, симетрична, позитивно-визначена матриця. Вхідний вектор x 0 може бути приблизним початковим рішенням або 0 . Це інша рецептура точної процедури, описаної вище.
Це найбільш часто використовуваний алгоритм. Така ж формула для βk також використовується в нелінійному методі градієнта Флетчера-Рівза.
Розрахунок альфа та бета-версії
В алгоритмі αk вибирається таким, що є ортогональним до r k . Знаменник спрощено від
з тих пір . βk вибирається таким, що сполучається з p k . Спочатку βk є
використовуючи
і рівнозначно
чисельник βk переписується як
оскільки і r k є ортогональними за конструкцією. Знаменник переписується як
використовуючи, що напрямки пошуку p k кон'югуються і знову, що залишки є ортогональними. Це дає β в алгоритмі після скасування αk .
Приклад коду в MATLAB / GNU Octave
function x = conjgrad(A, b, x) r = b - A * x; p = r; rsold = r' * r; for i = 1:length(b) Ap = A * p; alpha = rsold / (p' * Ap); x = x + alpha * p; r = r - alpha * Ap; rsnew = r' * r; if sqrt(rsnew) < 1e-10 break; end p = r + (rsnew / rsold) * p; rsold = rsnew; end end
Числовий приклад
Розглянемо лінійну систему Ax = b, задану через
ми виконаємо два етапи методу спряженого градієнта, починаючи з початкової здогадки
щоб знайти приблизне рішення для системи.
Рішення
Для довідки правильне рішення
Наш перший крок - обчислити залишковий вектор r 0, пов'язаний з x 0 . Цей залишок обчислюється за формулою r 0 = b - Ax 0, а в нашому випадку дорівнює
Оскільки це перша ітерація, ми будемо використовувати залишковий вектор r 0 як наш початковий напрямок пошуку p 0 ; метод вибору p k зміниться в подальших ітераціях.
Тепер обчислимо скалярний α0 використовуючи відношення
Тепер ми можемо обчислити х 1, використовуючи формулу
Цей результат завершує першу ітерацію, результатом якої є "покращене" приблизне рішення для системи, x 1 . Тепер ми можемо перейти і обчислити наступний залишковий вектор r 1 за формулою
Наступним нашим кроком у процесі є обчислення скалярного β0 яке згодом буде використано для визначення наступного напрямку пошуку p 1 .
Тепер, використовуючи цей скаляр β0, ми можемо обчислити наступний напрямок пошуку p 1, використовуючи відношення
Тепер ми обчислюємо скалярний α1 використовуючи нещодавно придбаний p 1, використовуючи той самий метод, що і для α0 .
Нарешті, ми знаходимо х 2, використовуючи той самий метод, що і для знаходження х 1 .
Результат, x 2, є "кращим" наближенням до рішення системи, ніж x 1 і x 0 . Якби точна арифметика повинна використовуватися в цьому прикладі замість обмеженої точності, то точне рішення теоретично було б досягнуте після n = 2 ітерацій ( n - це порядок системи).
Властивості збіжності
Метод спряженого градієнта теоретично можна розглядати як прямий метод, оскільки він дає точне рішення після кінцевого числа ітерацій, що не перевищує розмір матриці, за відсутності помилки округлення . Однак метод градієнта спряжених нестабільний щодо навіть невеликих збурень, наприклад, більшість напрямків на практиці не є сполученими, і точного рішення так і не отримати. На щастя, метод спряженого градієнта може бути використаний як ітераційний метод, оскільки він забезпечує монотонно поліпшення наближень до точного рішення, яке може досягти необхідного допуску після відносно невеликої (порівняно з розміром проблеми) кількості ітерацій. Поліпшення, як правило, лінійне і його швидкість визначається числом умови системної матриці : тим більше є, чим повільніше поліпшення.
Якщо велика, попередня умова використовується для заміни вихідної системи з такий як менше, ніж , Дивіться нижче.
Теорема конвергенції
Визначте підмножину многочленів як
де - це множина многочленів максимального ступеня .
Дозволяти бути ітераційним наближенням точного рішення , і визначити помилки як . Тепер швидкість конвергенції можна приблизно оцінити як
де позначає спектр, і позначає номер умови .
Зауважте, важлива межа, коли схиляється до
Ця межа показує більш швидкий коефіцієнт конвергенції порівняно з ітераційними методами Якобі або Гаусса-Сейделя, які масштабуються як .
Метод попередньо обумовленого градієнта
У більшості випадків попередня підготовка необхідна для забезпечення швидкої конвергенції методу градієнта спряжених. Метод попередньо обумовленого градієнта має такий вигляд:
- repeat
- if rk+1 is sufficiently small then exit loop end if
- end repeat
- The result is xk+1
Вищевказаний склад еквівалентний застосуванню методу градієнта спряженого без попереднього обумовлення системи [1]
де
Матриця попереднього кондиціонера M повинна бути симетричною-позитивно визначеною і фіксованою, тобто не може змінюватися від ітерації до ітерації. Якщо будь-яке з цих припущень щодо попереднього кондиціонера порушено, поведінка методу попередньо обумовленого градієнта може стати непередбачуваним.
Прикладом часто використовуваного попереднього кондиціонера є неповна факторизація Холеського .
Метод гнучких попередньо обумовлених градієнтів
У важкозахисних програмах застосовуються складні попередні кондиціонери, що може призвести до змінної попередньої кондиціонування, що змінюється між ітераціями. Навіть якщо попередній кондиціонер є симетричним позитивно-визначеним на кожній ітерації, той факт, що він може змінитися, робить аргументи вище недійсними, а на практичних тестах призводить до значного уповільнення конвергенції алгоритму, представленого вище. Використовуючи формулу Поляка-Ріб'єра
замість формули Флетчер-Рівз
може різко покращити конвергенцію в цьому випадку. Цей варіант попередньо обумовленого методу градієнта кон'югату можна назвати гнучким, оскільки він дозволяє змінювати попередню умову. Також показано, що гнучка версія є надійною, навіть якщо попередній кондиціонер не є симетричним позитивним значенням (SPD).
Реалізація гнучкої версії вимагає зберігання додаткового вектора. Для фіксованого попереднього кондиціонера SPD, тому обидві формули для βk еквівалентні в точній арифметиці, тобто без похибки округлення .
Математичне пояснення кращої поведінки конвергенції методу за формулою Поляка-Ріб'єра полягає в тому, що метод в цьому випадку є локально оптимальним, зокрема, він не зближується повільніше, ніж локально оптимальний метод найбільш крутого спуску.
Приклад коду в MATLAB / GNU Octave
function [x, k] = cgp(x0, A, C, b, mit, stol, bbA, bbC) % Synopsis: % x0: initial point % A: Matrix A of the system Ax=b % C: Preconditioning Matrix can be left or right % mit: Maximum number of iterations % stol: residue norm tolerance % bbA: Black Box that computes the matrix-vector product for A * u % bbC: Black Box that computes: % for left-side preconditioner : ha = C \ ra % for right-side preconditioner: ha = C * ra % x: Estimated solution point % k: Number of iterations done % % Example: % tic;[x, t] = cgp(x0, S, speye(1), b, 3000, 10^-8, @(Z, o) Z*o, @(Z, o) o);toc % Elapsed time is 0.550190 seconds. % % Reference: % Métodos iterativos tipo Krylov para sistema lineales % B. Molina y M. Raydan - {{ISBN|908-261-078-X}} if nargin < 8, error('Not enough input arguments. Try help.'); end; if isempty(A), error('Input matrix A must not be empty.'); end; if isempty(C), error('Input preconditioner matrix C must not be empty.'); end; x = x0; ha = 0; hp = 0; hpp = 0; ra = 0; rp = 0; rpp = 0; u = 0; k = 0; ra = b - bbA(A, x0); % <--- ra = b - A * x0; while norm(ra, inf) > stol ha = bbC(C, ra); % <--- ha = C \ ra; k = k + 1; if (k == mit), warning('GCP:MAXIT', 'mit reached, no conversion.'); return; end; hpp = hp; rpp = rp; hp = ha; rp = ra; t = rp' * hp; if k == 1 u = hp; else u = hp + (t / (rpp' * hpp)) * u; end; Au = bbA(A, u); % <--- Au = A * u; a = t / (u' * Au); x = x + a * u; ra = rp - a * Au; end;
Місцево оптимальний метод найбільш стрімкого спуску
І в оригінальному, і в попередньо обумовленому методах градієнта кон'югату потрібно лише встановити щоб зробити їх локально оптимальними, використовуючи пошук лінії, найкрутіші методи спуску . При цій підстановці вектори p завжди такі ж, як вектори z, тому немає необхідності зберігати вектори p . Таким чином, кожна ітерація цих найбільш стрімких методів спуску є дещо дешевшою порівняно з методом спряженого градієнта. Однак останні сходяться швидше, якщо не застосовується (високо) змінна та / або попередній кондиціонер, який не є SPD, див. Вище.
Виведення методу
Метод спряженого градієнта може бути отриманий з кількох різних точок зору, включаючи спеціалізацію методу спряженого спрямування для оптимізації та варіацію ітерації Арнольді / Ланцоса для проблем власного значення. Незважаючи на розбіжність у підходах, ці виводи поділяють загальну тему - доказуючи ортогональність залишків та сукупність напрямків пошуку. Ці дві властивості мають вирішальне значення для розробки добре відомого стислого способу.
Спряження градієнта на нормальних рівняннях
Кон'югат градиентного метод може бути застосований до довільного п матриця з розмірністю м матриці, застосовуючи його до нормальним рівнянням ТА і права частина вектора А ТЬ, так як ТА є симетричною позитивно-полуопределена матрицею для будь-якого А. Результат - це спряжений градієнт у звичайних рівняннях (CGNR).
- A TAx = A Tb
Як ітераційний метод не потрібно явно формувати A TA в пам'яті, а лише виконувати матричний вектор і транспонувати множення матричного вектора. Отже, CGNR особливо корисний, коли A є розрідженою матрицею, оскільки ці операції зазвичай є надзвичайно ефективними. Однак недоліком формування нормальних рівнянь є те, що число умови κ ( A TA ) дорівнює κ 2 ( A ), тому швидкість конвергенції CGNR може бути повільною і якість приблизного рішення може бути чутливою до округлення помилки. Пошук хорошого попереднього кондиціонера часто є важливою частиною використання методу CGNR.
Запропоновано кілька алгоритмів (наприклад, CGLS, LSQR). Нібито алгоритм LSQR має найкращу числову стійкість, коли A погано обумовлений, тобто A має велике число умов .
Див. також
- Метод проксимального градієнта
- Метод двобічного градієнта (BiCG)
- Спосіб кон'югації залишків
- Пропаганда вірувань Гаусса
- Ітеративний метод: Лінійні системи
- Крилова підпростір
- Метод нелінійного спряженого градієнта
- Підготовка
- Рідке множення матричного вектора
Примітки
- Straeter, T. A. On the Extension of the Davidon-Broyden Class of Rank One, Quasi-Newton Minimization Methods to an Infinite Dimensional Hilbert Space with Applications to Optimal Control Problems. NASA.
- The conjugation constraint is an orthonormal-type constraint and hence the algorithm bears resemblance to .
- Saad, Yousef (2003). Iterative methods for sparse linear systems (вид. 2nd). Philadelphia, Pa.: Society for Industrial and Applied Mathematics. с. 195. ISBN .
- Hackbusch, W. (21 червня 2016). Iterative solution of large sparse systems of equations (вид. 2nd). Switzerland: Springer. ISBN . OCLC 952572240.
- Golub, Gene H.; Ye, Qiang (1999). Inexact Preconditioned Conjugate Gradient Method with Inner-Outer Iteration. SIAM Journal on Scientific Computing. 21 (4): 1305. CiteSeerX 10.1.1.56.1755. doi:10.1137/S1064827597323415.
- Notay, Yvan (2000). Flexible Conjugate Gradients. SIAM Journal on Scientific Computing. 22 (4): 1444—1460. CiteSeerX 10.1.1.35.7473. doi:10.1137/S1064827599362314.
- Henricus Bouwmeester, Andrew Dougherty, Andrew V Knyazev. Nonsymmetric Preconditioning for Conjugate Gradient and Steepest Descent Methods. Procedia Computer Science, Volume 51, Pages 276-285, Elsevier, 2015. https://doi.org/10.1016/j.procs.2015.05.241
- Knyazev, Andrew V.; Lashuk, Ilya (2008). Steepest Descent and Conjugate Gradient Methods with Variable Preconditioning. SIAM Journal on Matrix Analysis and Applications. 29 (4): 1267. arXiv:math/0605767. doi:10.1137/060675290.
Література
Спосіб спряженого градієнта спочатку був запропонований в
- , ; (December 1952). Methods of Conjugate Gradients for Solving Linear Systems. Journal of Research of the National Bureau of Standards. 49 (6): 409. doi:10.6028/jres.049.044.
Описи методу можна знайти в наступних підручниках:
- Atkinson, Kendell A. (1988). Section 8.9. An introduction to numerical analysis (вид. 2nd). John Wiley and Sons. ISBN .
- Avriel, Mordecai (2003). Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN .
- Golub, Gene H.; Van Loan, Charles F. (15 жовтня 1996). Chapter 10. Matrix computations (вид. 3rd). Johns Hopkins University Press. ISBN .
- Saad, Yousef (1 квітня 2003). Chapter 6. Iterative methods for sparse linear systems (вид. 2nd). SIAM. ISBN .
Посилання
- Hazewinkel, Michiel, ed. (2001) [1994], "Conjugate gradients, method of", Encyclopedia of Mathematics, B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ye sirim perekladom z anglijskoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad kviten 2020 U matematici metod sprya zhenogo gradiyenta ye algoritmom chiselnogo rishennya okremih sistem linijnih rivnyan a same tih chiya matricya simetrichna i pozitivno viznachena Metod spryazhenogo gradiyenta chasto realizovuyetsya yak iteracijnij algoritm zastosovnij do rozridzhenih sistem yaki zanadto veliki shob obroblyati yih shlyahom pryamoyi realizaciyi abo inshih pryamih metodiv takih yak dekompoziciya Holeskogo Veliki rozridzheni sistemi chasto vinikayut pri chiselnomu virishenni chastkovih diferencialnih rivnyan abo zadachah optimizaciyi Porivnyannya zbizhnosti gradiyentnogo spusku z optimalnim rozmirom kroku zelenim ta kon yugovanim vektorom chervonim kolorom dlya minimizaciyi kvadratichnoyi funkciyi pov yazanoyi iz zadanoyu linijnoyu sistemoyu Spryazhenij gradiyent pripuskayuchi tochnu arifmetiku shoditsya ne bilshe n krokiv de n rozmir matrici sistemi tut n 2 Metod spryazhenogo gradiyenta takozh mozhe buti vikoristanij dlya virishennya neobmezhenih zadach optimizaciyi takih yak minimizaciya energiyi Jogo v osnovnomu rozrobili Magnus Gestenes ta Eduard Stifel yaki zaprogramuvali jogo na Z4 Metod dvobichnogo spryazhenogo gradiyenta zabezpechuye uzagalnennya do nesimetrichnih matric Rizni metodi nelinijnogo spryazhenogo gradiyenta shukayut minimumi nelinijnih rivnyan Opis zadachi kotru virishuyut spolucheni gradiyentiPripustimo mi hochemo rozv yazati sistemu linijnih rivnyan Ax b displaystyle mathbf A mathbf x mathbf b dlya vektora x de vidoma n n matricya A simetrichna tobto A T A pozitivno viznachena tobto x TAx gt 0 dlya vsih nenulovih vektoriv x v R n i realna i b takozh vidomo Poznachimo unikalnij rozv yazok ciyeyi sistemi cherez x displaystyle mathbf x Pryamij metodMi pripuskayemo sho dva nenulovi vektori u i v ye spoluchenimi shodo A yaksho uTAv 0 displaystyle mathbf u mathsf T mathbf A mathbf v 0 Oskilki A simetrichna i pozitivno viznachena liva chastina viznachaye vnutrishnij dobutok uTAv u v A Au v u ATv u Av displaystyle mathbf u mathsf T mathbf A mathbf v langle mathbf u mathbf v rangle mathbf A langle mathbf A mathbf u mathbf v rangle langle mathbf u mathbf A mathsf T mathbf v rangle langle mathbf u mathbf A mathbf v rangle Dva vektori ye spoluchenimi todi i lishe todi koli voni ortogonalni shodo cogo vnutrishnogo dobutku Buduchi spoluchenim ce simetrichne vidnoshennya yaksho u ye spryazhenim na v to v ye spryazhenim na u Pripustimo sho P p1 pn displaystyle P mathbf p 1 dots mathbf p n yavlyaye soboyu sukupnist n vzayemno spoluchenih vektoriv shodo A Todi P stanovit osnovu dlya Rn displaystyle mathbb R n i mi mozhemo visloviti rishennya x of Ax b displaystyle mathbf Ax mathbf b vihodyachi z cogo x i 1naipi displaystyle mathbf x sum i 1 n alpha i mathbf p i Na osnovi cogo rozshirennya mi obchislyuyemo Ax i 1naiApi displaystyle mathbf A mathbf x sum i 1 n alpha i mathbf A mathbf p i Livu chastinu mnozhimo na pkT displaystyle mathbf p k mathsf T pkTAx i 1naipkTApi displaystyle mathbf p k mathsf T mathbf A mathbf x sum i 1 n alpha i mathbf p k mathsf T mathbf A mathbf p i pidstavlyayuchi Ax b displaystyle mathbf Ax mathbf b i uTAv u v A displaystyle mathbf u mathsf T mathbf A mathbf v langle mathbf u mathbf v rangle mathbf A pkTb i 1nai pk pi A displaystyle mathbf p k mathsf T mathbf b sum i 1 n alpha i left langle mathbf p k mathbf p i right rangle mathbf A potim uTv u v displaystyle mathbf u mathsf T mathbf v langle mathbf u mathbf v rangle i vikoristannya i k pk pi A 0 displaystyle forall i neq k langle mathbf p k mathbf p i rangle mathbf A 0 vrozhajnist pk b ak pk pk A displaystyle langle mathbf p k mathbf b rangle alpha k langle mathbf p k mathbf p k rangle mathbf A sho oznachaye ak pk b pk pk A displaystyle alpha k frac langle mathbf p k mathbf b rangle langle mathbf p k mathbf p k rangle mathbf A Ce daye nastupnij metod rozv yazannya rivnyannya Ax b znajti poslidovnist n spryamovanih napryamkiv a potim obchisliti koeficiyenti ak Yak iterativnij metodYaksho mi oberezhno oberemo spolucheni vektori p k to mozhlivo nam ne znadoblyatsya vsi shob otrimati garne nablizhennya do rishennya x Otzhe mi hochemo rozglyanuti metod spryazhenogo gradiyenta yak iteracijnij metod Ce takozh dozvolyaye priblizno virishiti sistemi de n nastilki velike sho pryamij metod zajnyav bi zanadto bagato chasu Poznachimo pochatkove pripushennya dlya x cherez x0 mozhna bez vtrati zagalnosti vvazhati sho x0 0 inakshe rozglyanemo sistemu Az b Ax 0 Pochinayuchi z x0 mi shukayemo virishennya i v kozhnij iteraciyi mi povinni mati metriku kotra zmozhyee skazati nam chi mi blizhche do virishennya x nam ce nevidomo Cya metrika viplivaye z togo sho rishennya x takozh ye unikalnim minimizatorom nastupnoyi kvadratichnoyi funkciyi f x 12xTAx xTb x Rn displaystyle f mathbf x tfrac 1 2 mathbf x mathsf T mathbf A mathbf x mathbf x mathsf T mathbf b qquad mathbf x in mathbf R n Isnuvannya unikalnogo minimizatora ochevidno oskilki jogo druga pohidna zadana simetrichnoyu pozitivno viznachenoyu matriceyu 2f x A displaystyle nabla 2 f mathbf x mathbf A i sho minimalizator viokristovuye Df x 0 virishuye pochatkovu zadachu ochevidno z yiyi pershoyi pohidnoyi f x Ax b displaystyle nabla f mathbf x mathbf A mathbf x mathbf b Ce govorit pro te shob pershij bazovij vektor p 0 buv vid yemnim gradiyentom f pri x x 0 Gradiyent f dorivnyuye Ax b Pochinayuchi z pochatkovoyi zdogadki x 0 ce oznachaye sho beremo p 0 b Ax 0 Inshi vektori v osnovi budut spryazheni z gradiyentom zvidsi i nazva metod spryazhenogo gradiyenta Zauvazhimo sho p 0 takozh ye zalishkovim peredbachenim cim pochatkovim krokom algoritmu Nehaj r k zalishok na k mu kroci rk b Axk displaystyle mathbf r k mathbf b mathbf Ax k Yak bulo zaznacheno vishe r k vid yemnij gradiyent f pri x x k tomu metod spusku gradiyentom potrebuye ruhu v napryamku r k Tut odnak mi napolyagayemo shob napryamki p k buli spolucheni odin z odnim Praktichnij sposib zabezpechiti ce vimagayuchi shob nastupnij napryamok poshuku buv pobudovanij z potochnogo zalishkovogo ta vsih poperednih napryamkiv poshuku Ce daye takij viraz pk rk i lt kpiTArkpiTApipi displaystyle mathbf p k mathbf r k sum i lt k frac mathbf p i mathsf T mathbf A mathbf r k mathbf p i mathsf T mathbf A mathbf p i mathbf p i div malyunok u verhnij chastini statti pro vpliv obmezhennya spryazhenosti na zbizhnist Sliduyuchi comu napryamku nastupne optimalne misce zadayetsya xk 1 xk akpk displaystyle mathbf x k 1 mathbf x k alpha k mathbf p k z ak pkT b Axk pkTApk pkTrkpkTApk displaystyle alpha k frac mathbf p k mathsf T mathbf b mathbf Ax k mathbf p k mathsf T mathbf A mathbf p k frac mathbf p k mathsf T mathbf r k mathbf p k mathsf T mathbf A mathbf p k de ostannya rivnist viplivaye z viznachennya r k Viraz dlya ak displaystyle alpha k mozhe buti otrimano yaksho pidminyati viraz x k 1 na f i minimizuvati jogo wrt ak displaystyle alpha k f xk 1 f xk akpk g ak g ak 0 ak pkT b Axk pkTApk displaystyle begin aligned f mathbf x k 1 amp f mathbf x k alpha k mathbf p k g alpha k g alpha k amp overset 0 quad Rightarrow quad alpha k frac mathbf p k mathsf T mathbf b mathbf Ax k mathbf p k mathsf T mathbf A mathbf p k end aligned Otrimanij algoritm Navedenij vishe algoritm daye najbilsh proste poyasnennya metodu spryazhenogo gradiyenta Zdayetsya algoritm yak zayavleno vimagaye zberigannya vsih poperednih napryamkiv poshuku ta vektoriv zalishkiv a takozh bagatoh matrichnih vektornih mnozhen i takim chinom mozhe buti obchislyuvalno dorogim Odnak bilsh detalnij analiz algoritmu pokazuye sho r i ye ortogonalnim do r j tobto riTrj 0 displaystyle mathbf r i mathsf T mathbf r j 0 dlya i j I p i A ortogonalna do p j tobto piTApj 0 displaystyle mathbf p i mathsf T A mathbf p j 0 dlya i j Ce mozhna vvazhati sho v miru prosuvannya algoritmu p i i r i ohoplyuyut toj samij pidprostir Krilova Yaksho r ya utvoryuye ortogonalnu osnovu vidnosno standartnogo vnutrishnogo dobutku a p i utvoryuye ortogonalnu osnovu vidnosno vnutrishnogo dobutku indukovanogo A Tomu x k mozhna rozglyadati yak proyekciyu x na pidprostir Krilova Algoritm detalno opisanij nizhche dlya rozv yazannya Ax b de A realna simetrichna pozitivno viznachena matricya Vhidnij vektor x 0 mozhe buti pribliznim pochatkovim rishennyam abo 0 Ce insha receptura tochnoyi proceduri opisanoyi vishe r0 b Ax0if r0 is sufficiently small then return x0 as the resultp0 r0k 0repeatak rkTrkpkTApkxk 1 xk akpkrk 1 rk akApkif rk 1 is sufficiently small then exit loopbk rk 1Trk 1rkTrkpk 1 rk 1 bkpkk k 1end repeatreturn xk 1 as the result displaystyle begin aligned amp mathbf r 0 mathbf b mathbf Ax 0 amp hbox if mathbf r 0 text is sufficiently small then return mathbf x 0 text as the result amp mathbf p 0 mathbf r 0 amp k 0 amp text repeat amp qquad alpha k frac mathbf r k mathsf T mathbf r k mathbf p k mathsf T mathbf Ap k amp qquad mathbf x k 1 mathbf x k alpha k mathbf p k amp qquad mathbf r k 1 mathbf r k alpha k mathbf Ap k amp qquad hbox if mathbf r k 1 text is sufficiently small then exit loop amp qquad beta k frac mathbf r k 1 mathsf T mathbf r k 1 mathbf r k mathsf T mathbf r k amp qquad mathbf p k 1 mathbf r k 1 beta k mathbf p k amp qquad k k 1 amp text end repeat amp text return mathbf x k 1 text as the result end aligned Ce najbilsh chasto vikoristovuvanij algoritm Taka zh formula dlya bk takozh vikoristovuyetsya v nelinijnomu metodi gradiyenta Fletchera Rivza Rozrahunok alfa ta beta versiyi V algoritmi ak vibirayetsya takim sho rk 1 displaystyle mathbf r k 1 ye ortogonalnim do r k Znamennik sprosheno vid ak rkTrkrkTApk rkTrkpkTApk displaystyle alpha k frac mathbf r k mathsf T mathbf r k mathbf r k mathsf T mathbf A mathbf p k frac mathbf r k mathsf T mathbf r k mathbf p k mathsf T mathbf Ap k z tih pir rk 1 pk 1 bkpk displaystyle mathbf r k 1 mathbf p k 1 mathbf beta k mathbf p k bk vibirayetsya takim sho pk 1 displaystyle mathbf p k 1 spoluchayetsya z p k Spochatku bk ye bk rk 1TApkpkTApk displaystyle beta k frac mathbf r k 1 mathsf T mathbf A mathbf p k mathbf p k mathsf T mathbf A mathbf p k vikoristovuyuchi rk 1 rk akApk displaystyle mathbf r k 1 mathbf r k alpha k mathbf A mathbf p k i rivnoznachno Apk 1ak rk rk 1 displaystyle mathbf A mathbf p k frac 1 alpha k mathbf r k mathbf r k 1 chiselnik bk perepisuyetsya yak rk 1TApk 1akrk 1T rk rk 1 1akrk 1Trk 1 displaystyle mathbf r k 1 mathsf T mathbf A mathbf p k frac 1 alpha k mathbf r k 1 mathsf T mathbf r k mathbf r k 1 frac 1 alpha k mathbf r k 1 mathsf T mathbf r k 1 oskilki rk 1 displaystyle mathbf r k 1 i r k ye ortogonalnimi za konstrukciyeyu Znamennik perepisuyetsya yak pkTApk rk bk 1pk 1 TApk 1akrkT rk rk 1 1akrkTrk displaystyle mathbf p k mathsf T mathbf A mathbf p k mathbf r k beta k 1 mathbf p k 1 mathsf T mathbf A mathbf p k frac 1 alpha k mathbf r k mathsf T mathbf r k mathbf r k 1 frac 1 alpha k mathbf r k mathsf T mathbf r k vikoristovuyuchi sho napryamki poshuku p k kon yuguyutsya i znovu sho zalishki ye ortogonalnimi Ce daye b v algoritmi pislya skasuvannya ak Priklad kodu v MATLAB GNU Octave function x conjgrad A b x r b A x p r rsold r r for i 1 length b Ap A p alpha rsold p Ap x x alpha p r r alpha Ap rsnew r r if sqrt rsnew lt 1e 10 break end p r rsnew rsold p rsold rsnew end end Chislovij priklad Rozglyanemo linijnu sistemu Ax b zadanu cherez Ax 4113 x1x2 12 displaystyle mathbf A mathbf x begin bmatrix 4 amp 1 1 amp 3 end bmatrix begin bmatrix x 1 x 2 end bmatrix begin bmatrix 1 2 end bmatrix mi vikonayemo dva etapi metodu spryazhenogo gradiyenta pochinayuchi z pochatkovoyi zdogadki x0 21 displaystyle mathbf x 0 begin bmatrix 2 1 end bmatrix shob znajti priblizne rishennya dlya sistemi Rishennya Dlya dovidki pravilne rishennya x 111711 0 09090 6364 displaystyle mathbf x begin bmatrix frac 1 11 frac 7 11 end bmatrix approx begin bmatrix 0 0909 0 6364 end bmatrix Nash pershij krok obchisliti zalishkovij vektor r 0 pov yazanij z x 0 Cej zalishok obchislyuyetsya za formuloyu r 0 b Ax 0 a v nashomu vipadku dorivnyuye r0 12 4113 21 8 3 displaystyle mathbf r 0 begin bmatrix 1 2 end bmatrix begin bmatrix 4 amp 1 1 amp 3 end bmatrix begin bmatrix 2 1 end bmatrix begin bmatrix 8 3 end bmatrix Oskilki ce persha iteraciya mi budemo vikoristovuvati zalishkovij vektor r 0 yak nash pochatkovij napryamok poshuku p 0 metod viboru p k zminitsya v podalshih iteraciyah Teper obchislimo skalyarnij a0 vikoristovuyuchi vidnoshennya a0 r0Tr0p0TAp0 8 3 8 3 8 3 4113 8 3 73331 displaystyle alpha 0 frac mathbf r 0 mathsf T mathbf r 0 mathbf p 0 mathsf T mathbf Ap 0 frac begin bmatrix 8 amp 3 end bmatrix begin bmatrix 8 3 end bmatrix begin bmatrix 8 amp 3 end bmatrix begin bmatrix 4 amp 1 1 amp 3 end bmatrix begin bmatrix 8 3 end bmatrix frac 73 331 Teper mi mozhemo obchisliti h 1 vikoristovuyuchi formulu x1 x0 a0p0 21 73331 8 3 0 23560 3384 displaystyle mathbf x 1 mathbf x 0 alpha 0 mathbf p 0 begin bmatrix 2 1 end bmatrix frac 73 331 begin bmatrix 8 3 end bmatrix begin bmatrix 0 2356 0 3384 end bmatrix Cej rezultat zavershuye pershu iteraciyu rezultatom yakoyi ye pokrashene priblizne rishennya dlya sistemi x 1 Teper mi mozhemo perejti i obchisliti nastupnij zalishkovij vektor r 1 za formuloyu r1 r0 a0Ap0 8 3 73331 4113 8 3 0 28100 7492 displaystyle mathbf r 1 mathbf r 0 alpha 0 mathbf A mathbf p 0 begin bmatrix 8 3 end bmatrix frac 73 331 begin bmatrix 4 amp 1 1 amp 3 end bmatrix begin bmatrix 8 3 end bmatrix begin bmatrix 0 2810 0 7492 end bmatrix Nastupnim nashim krokom u procesi ye obchislennya skalyarnogo b0 yake zgodom bude vikoristano dlya viznachennya nastupnogo napryamku poshuku p 1 b0 r1Tr1r0Tr0 0 28100 7492 0 28100 7492 8 3 8 3 0 0088 displaystyle beta 0 frac mathbf r 1 mathsf T mathbf r 1 mathbf r 0 mathsf T mathbf r 0 frac begin bmatrix 0 2810 amp 0 7492 end bmatrix begin bmatrix 0 2810 0 7492 end bmatrix begin bmatrix 8 amp 3 end bmatrix begin bmatrix 8 3 end bmatrix 0 0088 Teper vikoristovuyuchi cej skalyar b0 mi mozhemo obchisliti nastupnij napryamok poshuku p 1 vikoristovuyuchi vidnoshennya p1 r1 b0p0 0 28100 7492 0 0088 8 3 0 35110 7229 displaystyle mathbf p 1 mathbf r 1 beta 0 mathbf p 0 begin bmatrix 0 2810 0 7492 end bmatrix 0 0088 begin bmatrix 8 3 end bmatrix begin bmatrix 0 3511 0 7229 end bmatrix Teper mi obchislyuyemo skalyarnij a1 vikoristovuyuchi neshodavno pridbanij p 1 vikoristovuyuchi toj samij metod sho i dlya a0 a1 r1Tr1p1TAp1 0 28100 7492 0 28100 7492 0 35110 7229 4113 0 35110 7229 0 4122 displaystyle alpha 1 frac mathbf r 1 mathsf T mathbf r 1 mathbf p 1 mathsf T mathbf Ap 1 frac begin bmatrix 0 2810 amp 0 7492 end bmatrix begin bmatrix 0 2810 0 7492 end bmatrix begin bmatrix 0 3511 amp 0 7229 end bmatrix begin bmatrix 4 amp 1 1 amp 3 end bmatrix begin bmatrix 0 3511 0 7229 end bmatrix 0 4122 Nareshti mi znahodimo h 2 vikoristovuyuchi toj samij metod sho i dlya znahodzhennya h 1 x2 x1 a1p1 0 23560 3384 0 4122 0 35110 7229 0 09090 6364 displaystyle mathbf x 2 mathbf x 1 alpha 1 mathbf p 1 begin bmatrix 0 2356 0 3384 end bmatrix 0 4122 begin bmatrix 0 3511 0 7229 end bmatrix begin bmatrix 0 0909 0 6364 end bmatrix Rezultat x 2 ye krashim nablizhennyam do rishennya sistemi nizh x 1 i x 0 Yakbi tochna arifmetika povinna vikoristovuvatisya v comu prikladi zamist obmezhenoyi tochnosti to tochne rishennya teoretichno bulo b dosyagnute pislya n 2 iteracij n ce poryadok sistemi Vlastivosti zbizhnostiMetod spryazhenogo gradiyenta teoretichno mozhna rozglyadati yak pryamij metod oskilki vin daye tochne rishennya pislya kincevogo chisla iteracij sho ne perevishuye rozmir matrici za vidsutnosti pomilki okruglennya Odnak metod gradiyenta spryazhenih nestabilnij shodo navit nevelikih zburen napriklad bilshist napryamkiv na praktici ne ye spoluchenimi i tochnogo rishennya tak i ne otrimati Na shastya metod spryazhenogo gradiyenta mozhe buti vikoristanij yak iteracijnij metod oskilki vin zabezpechuye monotonno polipshennya nablizhen xk displaystyle mathbf x k do tochnogo rishennya yake mozhe dosyagti neobhidnogo dopusku pislya vidnosno nevelikoyi porivnyano z rozmirom problemi kilkosti iteracij Polipshennya yak pravilo linijne i jogo shvidkist viznachayetsya chislom umovi k A displaystyle kappa A sistemnoyi matrici A displaystyle A tim bilshe k A displaystyle kappa A ye chim povilnishe polipshennya Yaksho k A displaystyle kappa A velika poperednya umova vikoristovuyetsya dlya zamini vihidnoyi sistemi Ax b 0 displaystyle mathbf Ax mathbf b 0 z M 1 Ax b 0 displaystyle mathbf M 1 mathbf Ax mathbf b 0 takij yak k M 1A displaystyle kappa mathbf M 1 mathbf A menshe nizh k A displaystyle kappa mathbf A Divitsya nizhche Teorema konvergenciyi Viznachte pidmnozhinu mnogochleniv yak Pk p Pk p 0 1 displaystyle Pi k left lbrace p in Pi k p 0 1 right rbrace de Pk displaystyle Pi k ce mnozhina mnogochleniv maksimalnogo stupenya k displaystyle k Dozvolyati xk k displaystyle left mathbf x k right k buti iteracijnim nablizhennyam tochnogo rishennya x displaystyle mathbf x i viznachiti pomilki yak ek xk x displaystyle mathbf e k mathbf x k mathbf x Teper shvidkist konvergenciyi mozhna priblizno ociniti yak ek A minp Pk p A e0 A minp Pk maxl s A p l e0 A 2 k A 1k A 1 k e0 A displaystyle begin aligned left mathbf e k right mathbf A amp min p in Pi k left p mathbf A mathbf e 0 right mathbf A amp leq min p in Pi k max lambda in sigma mathbf A p lambda left mathbf e 0 right mathbf A amp leq 2 left frac sqrt kappa mathbf A 1 sqrt kappa mathbf A 1 right k left mathbf e 0 right mathbf A end aligned de s A displaystyle sigma mathbf A poznachaye spektr i k A displaystyle kappa mathbf A poznachaye nomer umovi Zauvazhte vazhliva mezha koli k A displaystyle kappa mathbf A shilyayetsya do displaystyle infty k A 1k A 1 1 2k A fork A 1 displaystyle frac sqrt kappa mathbf A 1 sqrt kappa mathbf A 1 approx 1 frac 2 sqrt kappa mathbf A quad text for quad kappa mathbf A gg 1 Cya mezha pokazuye bilsh shvidkij koeficiyent konvergenciyi porivnyano z iteracijnimi metodami Yakobi abo Gaussa Sejdelya yaki masshtabuyutsya yak 1 2k A displaystyle approx 1 frac 2 kappa mathbf A Metod poperedno obumovlenogo gradiyentaU bilshosti vipadkiv poperednya pidgotovka neobhidna dlya zabezpechennya shvidkoyi konvergenciyi metodu gradiyenta spryazhenih Metod poperedno obumovlenogo gradiyenta maye takij viglyad r0 b Ax0 displaystyle mathbf r 0 mathbf b mathbf Ax 0 z0 M 1r0 displaystyle mathbf z 0 mathbf M 1 mathbf r 0 p0 z0 displaystyle mathbf p 0 mathbf z 0 k 0 displaystyle k 0 repeatak rkTzkpkTApk displaystyle alpha k frac mathbf r k mathsf T mathbf z k mathbf p k mathsf T mathbf Ap k xk 1 xk akpk displaystyle mathbf x k 1 mathbf x k alpha k mathbf p k rk 1 rk akApk displaystyle mathbf r k 1 mathbf r k alpha k mathbf Ap k if rk 1 is sufficiently small then exit loop end if zk 1 M 1rk 1 displaystyle mathbf z k 1 mathbf M 1 mathbf r k 1 bk zk 1Trk 1zkTrk displaystyle beta k frac mathbf z k 1 mathsf T mathbf r k 1 mathbf z k mathsf T mathbf r k pk 1 zk 1 bkpk displaystyle mathbf p k 1 mathbf z k 1 beta k mathbf p k k k 1 displaystyle k k 1 dd end repeat The result is xk 1 dd Vishevkazanij sklad ekvivalentnij zastosuvannyu metodu gradiyenta spryazhenogo bez poperednogo obumovlennya sistemi 1 E 1A E 1 Tx E 1b displaystyle mathbf E 1 mathbf A mathbf E 1 mathsf T mathbf hat x mathbf E 1 mathbf b de EET M x ETx displaystyle mathbf EE mathsf T mathbf M qquad mathbf hat x mathbf E mathsf T mathbf x Matricya poperednogo kondicionera M povinna buti simetrichnoyu pozitivno viznachenoyu i fiksovanoyu tobto ne mozhe zminyuvatisya vid iteraciyi do iteraciyi Yaksho bud yake z cih pripushen shodo poperednogo kondicionera porusheno povedinka metodu poperedno obumovlenogo gradiyenta mozhe stati neperedbachuvanim Prikladom chasto vikoristovuvanogo poperednogo kondicionera ye nepovna faktorizaciya Holeskogo Metod gnuchkih poperedno obumovlenih gradiyentivU vazhkozahisnih programah zastosovuyutsya skladni poperedni kondicioneri sho mozhe prizvesti do zminnoyi poperednoyi kondicionuvannya sho zminyuyetsya mizh iteraciyami Navit yaksho poperednij kondicioner ye simetrichnim pozitivno viznachenim na kozhnij iteraciyi toj fakt sho vin mozhe zminitisya robit argumenti vishe nedijsnimi a na praktichnih testah prizvodit do znachnogo upovilnennya konvergenciyi algoritmu predstavlenogo vishe Vikoristovuyuchi formulu Polyaka Rib yera bk zk 1T rk 1 rk zkTrk displaystyle beta k frac mathbf z k 1 mathsf T left mathbf r k 1 mathbf r k right mathbf z k mathsf T mathbf r k zamist formuli Fletcher Rivz bk zk 1Trk 1zkTrk displaystyle beta k frac mathbf z k 1 mathsf T mathbf r k 1 mathbf z k mathsf T mathbf r k mozhe rizko pokrashiti konvergenciyu v comu vipadku Cej variant poperedno obumovlenogo metodu gradiyenta kon yugatu mozhna nazvati gnuchkim oskilki vin dozvolyaye zminyuvati poperednyu umovu Takozh pokazano sho gnuchka versiya ye nadijnoyu navit yaksho poperednij kondicioner ne ye simetrichnim pozitivnim znachennyam SPD Realizaciya gnuchkoyi versiyi vimagaye zberigannya dodatkovogo vektora Dlya fiksovanogo poperednogo kondicionera SPD zk 1Trk 0 displaystyle mathbf z k 1 mathsf T mathbf r k 0 tomu obidvi formuli dlya bk ekvivalentni v tochnij arifmetici tobto bez pohibki okruglennya Matematichne poyasnennya krashoyi povedinki konvergenciyi metodu za formuloyu Polyaka Rib yera polyagaye v tomu sho metod v comu vipadku ye lokalno optimalnim zokrema vin ne zblizhuyetsya povilnishe nizh lokalno optimalnij metod najbilsh krutogo spusku Priklad kodu v MATLAB GNU Octave function x k cgp x0 A C b mit stol bbA bbC Synopsis x0 initial point A Matrix A of the system Ax b C Preconditioning Matrix can be left or right mit Maximum number of iterations stol residue norm tolerance bbA Black Box that computes the matrix vector product for A u bbC Black Box that computes for left side preconditioner ha C ra for right side preconditioner ha C ra x Estimated solution point k Number of iterations done Example tic x t cgp x0 S speye 1 b 3000 10 8 Z o Z o Z o o toc Elapsed time is 0 550190 seconds Reference Metodos iterativos tipo Krylov para sistema lineales B Molina y M Raydan ISBN 908 261 078 X if nargin lt 8 error Not enough input arguments Try help end if isempty A error Input matrix A must not be empty end if isempty C error Input preconditioner matrix C must not be empty end x x0 ha 0 hp 0 hpp 0 ra 0 rp 0 rpp 0 u 0 k 0 ra b bbA A x0 lt ra b A x0 while norm ra inf gt stol ha bbC C ra lt ha C ra k k 1 if k mit warning GCP MAXIT mit reached no conversion return end hpp hp rpp rp hp ha rp ra t rp hp if k 1 u hp else u hp t rpp hpp u end Au bbA A u lt Au A u a t u Au x x a u ra rp a Au end Miscevo optimalnij metod najbilsh strimkogo spuskuI v originalnomu i v poperedno obumovlenomu metodah gradiyenta kon yugatu potribno lishe vstanoviti bk 0 displaystyle beta k 0 shob zrobiti yih lokalno optimalnimi vikoristovuyuchi poshuk liniyi najkrutishi metodi spusku Pri cij pidstanovci vektori p zavzhdi taki zh yak vektori z tomu nemaye neobhidnosti zberigati vektori p Takim chinom kozhna iteraciya cih najbilsh strimkih metodiv spusku ye desho deshevshoyu porivnyano z metodom spryazhenogo gradiyenta Odnak ostanni shodyatsya shvidshe yaksho ne zastosovuyetsya visoko zminna ta abo poperednij kondicioner yakij ne ye SPD div Vishe Vivedennya metoduMetod spryazhenogo gradiyenta mozhe buti otrimanij z kilkoh riznih tochok zoru vklyuchayuchi specializaciyu metodu spryazhenogo spryamuvannya dlya optimizaciyi ta variaciyu iteraciyi Arnoldi Lancosa dlya problem vlasnogo znachennya Nezvazhayuchi na rozbizhnist u pidhodah ci vivodi podilyayut zagalnu temu dokazuyuchi ortogonalnist zalishkiv ta sukupnist napryamkiv poshuku Ci dvi vlastivosti mayut virishalne znachennya dlya rozrobki dobre vidomogo stislogo sposobu Spryazhennya gradiyenta na normalnih rivnyannyahKon yugat gradientnogo metod mozhe buti zastosovanij do dovilnogo p matricya z rozmirnistyu m matrici zastosovuyuchi jogo do normalnim rivnyannyam TA i prava chastina vektora A T tak yak TA ye simetrichnoyu pozitivno poluopredelena matriceyu dlya bud yakogo A Rezultat ce spryazhenij gradiyent u zvichajnih rivnyannyah CGNR A TAx A Tb Yak iteracijnij metod ne potribno yavno formuvati A TA v pam yati a lishe vikonuvati matrichnij vektor i transponuvati mnozhennya matrichnogo vektora Otzhe CGNR osoblivo korisnij koli A ye rozridzhenoyu matriceyu oskilki ci operaciyi zazvichaj ye nadzvichajno efektivnimi Odnak nedolikom formuvannya normalnih rivnyan ye te sho chislo umovi k A TA dorivnyuye k 2 A tomu shvidkist konvergenciyi CGNR mozhe buti povilnoyu i yakist pribliznogo rishennya mozhe buti chutlivoyu do okruglennya pomilki Poshuk horoshogo poperednogo kondicionera chasto ye vazhlivoyu chastinoyu vikoristannya metodu CGNR Zaproponovano kilka algoritmiv napriklad CGLS LSQR Nibito algoritm LSQR maye najkrashu chislovu stijkist koli A pogano obumovlenij tobto A maye velike chislo umov Div takozhMetod proksimalnogo gradiyenta Metod dvobichnogo gradiyenta BiCG Sposib kon yugaciyi zalishkiv Propaganda viruvan Gaussa Iterativnij metod Linijni sistemi Krilova pidprostir Metod nelinijnogo spryazhenogo gradiyenta Pidgotovka Ridke mnozhennya matrichnogo vektoraPrimitkiStraeter T A On the Extension of the Davidon Broyden Class of Rank One Quasi Newton Minimization Methods to an Infinite Dimensional Hilbert Space with Applications to Optimal Control Problems NASA The conjugation constraint is an orthonormal type constraint and hence the algorithm bears resemblance to Saad Yousef 2003 Iterative methods for sparse linear systems vid 2nd Philadelphia Pa Society for Industrial and Applied Mathematics s 195 ISBN 978 0 89871 534 7 Hackbusch W 21 chervnya 2016 Iterative solution of large sparse systems of equations vid 2nd Switzerland Springer ISBN 9783319284835 OCLC 952572240 Golub Gene H Ye Qiang 1999 Inexact Preconditioned Conjugate Gradient Method with Inner Outer Iteration SIAM Journal on Scientific Computing 21 4 1305 CiteSeerX 10 1 1 56 1755 doi 10 1137 S1064827597323415 Notay Yvan 2000 Flexible Conjugate Gradients SIAM Journal on Scientific Computing 22 4 1444 1460 CiteSeerX 10 1 1 35 7473 doi 10 1137 S1064827599362314 Henricus Bouwmeester Andrew Dougherty Andrew V Knyazev Nonsymmetric Preconditioning for Conjugate Gradient and Steepest Descent Methods Procedia Computer Science Volume 51 Pages 276 285 Elsevier 2015 https doi org 10 1016 j procs 2015 05 241 Knyazev Andrew V Lashuk Ilya 2008 Steepest Descent and Conjugate Gradient Methods with Variable Preconditioning SIAM Journal on Matrix Analysis and Applications 29 4 1267 arXiv math 0605767 doi 10 1137 060675290 LiteraturaSposib spryazhenogo gradiyenta spochatku buv zaproponovanij v December 1952 Methods of Conjugate Gradients for Solving Linear Systems Journal of Research of the National Bureau of Standards 49 6 409 doi 10 6028 jres 049 044 Opisi metodu mozhna znajti v nastupnih pidruchnikah Atkinson Kendell A 1988 Section 8 9 An introduction to numerical analysis vid 2nd John Wiley and Sons ISBN 978 0 471 50023 0 Avriel Mordecai 2003 Nonlinear Programming Analysis and Methods Dover Publishing ISBN 978 0 486 43227 4 Golub Gene H Van Loan Charles F 15 zhovtnya 1996 Chapter 10 Matrix computations vid 3rd Johns Hopkins University Press ISBN 978 0 8018 5414 9 Saad Yousef 1 kvitnya 2003 Chapter 6 Iterative methods for sparse linear systems vid 2nd SIAM ISBN 978 0 89871 534 7 PosilannyaHazewinkel Michiel ed 2001 1994 Conjugate gradients method of Encyclopedia of Mathematics Springer Science Business Media B V Kluwer Academic Publishers ISBN 978 1 55608 010 4