Биконюгат градиентін тұрақтандыру әдісі - Biconjugate gradient stabilized method

Жылы сандық сызықтық алгебра, екі конъюгациялық градиентті тұрақтандыру әдісі, жиі қысқартылған BiCGSTAB, болып табылады қайталанатын әдіс әзірлеген H. A. van der Vorst симметриялық емес сандық шешім үшін сызықтық жүйелер. Бұл қос конвейтті градиент әдісі (BiCG) және бастапқы BiCG-ге қарағанда жылдамырақ және тегіс конвергенцияға ие, сонымен қатар басқа нұсқаларға конъюгаттық градиент квадрат әдісі (CGS). Бұл Крылов кіші кеңістігі әдіс.

Алгоритмдік қадамдар

Шартсыз BiCGSTAB

Сызықтық жүйені шешу үшін Балта = б, BiCGSTAB бастапқы болжамнан басталады х0 және келесідей:

  1. р0 = бБалта0
  2. Ерікті векторды таңдаңыз 0 осындай (0, р0) ≠ 0мысалы, 0 = р0 . (х,ж) векторлардың нүктелік көбейтіндісін білдіреді (х,ж) = хТ ж
  3. ρ0 = α = ω0 = 1
  4. v0 = б0 = 0
  5. Үшін мен = 1, 2, 3, …
    1. ρмен = (0, рмен−1)
    2. β = (ρмен/ρмен−1)(α/ωмен−1)
    3. бмен = рмен−1 + β(бмен−1ωмен−1vмен−1)
    4. vмен = Апмен
    5. α = ρмен/(0, vмен)
    6. сағ = хмен−1 + αбмен
    7. Егер сағ жеткілікті дәл, содан кейін орнатылады хмен = сағ және шығу
    8. с = рмен−1αvмен
    9. т = Қалай
    10. ωмен = (т, с)/(т, т)
    11. хмен = сағ + ωменс
    12. Егер хмен жеткілікті дәл, содан кейін шығыңыз
    13. рмен = сωмент

Шартты BiCGSTAB

Шарттар әдетте итерациялық әдістердің конвергенциясын жеделдету үшін қолданылады. Сызықтық жүйені шешу үшін Балта = б алғышартпен Қ = Қ1Қ2A, алдын ала шартталған BiCGSTAB бастапқы болжамнан басталады х0 және келесідей:

  1. р0 = бБалта0
  2. Ерікті векторды таңдаңыз 0 осындай (0, р0) ≠ 0мысалы, 0 = р0
  3. ρ0 = α = ω0 = 1
  4. v0 = б0 = 0
  5. Үшін мен = 1, 2, 3, …
    1. ρмен = (0, рмен−1)
    2. β = (ρмен/ρмен−1)(α/ωмен−1)
    3. бмен = рмен−1 + β(бмен−1ωмен−1vмен−1)
    4. ж = Қ −1
      2
       
      бмен
    5. vмен = Ай
    6. α = ρмен/(0, vмен)
    7. сағ = хмен−1 + αж
    8. Егер сағ сол кезде жеткілікті дәл хмен = сағ және шығу
    9. с = рмен−1αvмен
    10. з = Қ −1
      2
       
      с
    11. т = Аз
    12. ωмен = (Қ −1
      1
       
      т, Қ −1
      1
       
      с)/(Қ −1
      1
       
      т, Қ −1
      1
       
      т)
    13. хмен = сағ + ωменз
    14. Егер хмен дәл болғаннан кейін, оны тастаңыз
    15. рмен = сωмент

Бұл тұжырымдама алдын ала шартталған жүйеге шартсыз BiCGSTAB қолданумен тең

Ãx̃ =

бірге Ã = Қ −1
1
 
AҚ −1
2
 
, = Қ2х және = Қ −1
1
 
б
. Басқаша айтқанда, бұл тұжырыммен солға да, оңға да алдын-ала шарт қою мүмкін.

Шығу

BiCG көпмүшелік түрінде

BiCG-де іздеу бағыттары бмен және мен және қалдықтар рмен және мен келесілерді қолдана отырып жаңартылады қайталанатын қатынастар:

бмен = рмен−1 + βменбмен−1,
мен = мен−1 + βменмен−1,
рмен = рмен−1αменАпмен,
мен = мен−1αменAТмен.

Тұрақтылар αмен және βмен болып таңдалды

αмен = ρмен/(мен, Апмен),
βмен = ρмен/ρмен−1

қайда ρмен = (мен−1, рмен−1) қалдықтар мен іздеу бағыттары сәйкесінше биортогоналдылық пен қос конъюктураны қанағаттандыратын етіп, яғни менj,

(мен, рj) = 0,
(мен, Апj) = 0.

Мұны көрсету тікелей

рмен = Pмен(A)р0,
мен = Pмен(AТ)0,
бмен+1 = Тмен(A)р0,
мен+1 = Тмен(AТ)0

қайда Pмен(A) және Тмен(A) болып табылады менші дәрежелі көпмүшеліктер A. Бұл көпмүшелер келесі қайталану қатынастарын қанағаттандырады:

Pмен(A) = Pмен−1(A) − αменAТмен−1(A),
Тмен(A) = Pмен(A) + βмен+1Тмен−1(A).

BiCGSTAB-ты BiCG-ден шығару

BiCG қалдықтары мен іздеу бағыттарын нақты қадағалау қажет емес. Басқаша айтқанда, BiCG қайталануы жанама түрде орындалуы мүмкін. BiCGSTAB-да қайталанатын қатынастардың болуын қалайды

мен = Qмен(A)Pмен(A)р0

қайда Qмен(A) = (Менω1A)(Менω2A)⋯(МенωменA) сәйкес тұрақтылармен ωj орнына рмен = Pмен(A) деген үмітпен Qмен(A) жылдам және тегіс конвергенцияны қосады мен қарағанда рмен.

Үшін қайталанатын қатынастардан туындайды Pмен(A) және Тмен(A) және анықтамасы Qмен(A) бұл

Qмен(A)Pмен(A)р0 = (МенωменA)(Qмен−1(A)Pмен−1(A)р0αменAQмен−1(A)Тмен−1(A)р0),

үшін қайталанатын қатынастың қажеттілігін тудырады Qмен(A)Тмен(A)р0. Мұны BiCG қатынастарынан да алуға болады:

Qмен(A)Тмен(A)р0 = Qмен(A)Pмен(A)р0 + βмен+1(МенωменA)Qмен−1(A)Pмен−1(A)р0.

Анықтауға ұқсас мен, BiCGSTAB анықтайды

мен+1 = Qмен(A)Тмен(A)р0.

Векторлық түрінде жазылған, үшін қайталанатын қатынастар мен және мен болып табылады

мен = мен−1 + βмен(Менωмен−1A)мен−1,
мен = (МенωменA)(мен−1αменAмен).

Үшін қайталану қатынасын шығару үшін хмен, анықтаңыз

смен = мен−1αменAмен.

Үшін қайталану қатынасы мен деп жазуға болады

мен = мен−1αменAменωменҚалаймен,

сәйкес келеді

хмен = хмен−1 + αменмен + ωменсмен.

BiCGSTAB тұрақтыларын анықтау

Енді BiCG тұрақтыларын анықтау қалады αмен және βмен және қолайлы таңдаңыз ωмен.

BiCG-де, βмен = ρмен/ρмен−1 бірге

ρмен = (мен−1, рмен−1) = (Pмен−1(AТ)0, Pмен−1(A)р0).

BiCGSTAB бақылауды нақты жүргізбейтіндіктен мен немесе рмен, ρмен осы формуладан бірден есептелмейді. Алайда, бұл скалярмен байланысты болуы мүмкін

ρ̃мен = (Qмен−1(AТ)0, Pмен−1(A)р0) = (0, Qмен−1(A)Pмен−1(A)р0) = (0, рмен−1).

Биортогенділіктің арқасында рмен−1 = Pмен−1(A)р0 ортогоналды болып табылады Uмен−2(AТ)0 қайда Uмен−2(AТ) - бұл кез-келген дәрежелік полином мен − 2 жылы AТ. Демек, тек жоғары ретті шарттар Pмен−1(AТ) және Qмен−1(AТ) нүктелік өнімдердегі зат (Pмен−1(AТ)0, Pмен−1(A)р0) және (Qмен−1(AТ)0, Pмен−1(A)р0). Жетекші коэффициенттері Pмен−1(AТ) және Qмен−1(AТ) болып табылады (−1)мен−1α1α2αмен−1 және (−1)мен−1ω1ω2ωмен−1сәйкесінше. Бұдан шығатыны

ρмен = (α1/ω1)(α2/ω2)⋯(αмен−1/ωмен−1)ρ̃мен,

және осылайша

βмен = ρмен/ρмен−1 = (ρ̃мен/ρ̃мен−1)(αмен−1/ωмен−1).

Үшін қарапайым формула αмен ұқсас түрде алынуы мүмкін. BiCG-де,

αмен = ρмен/(мен, Апмен) = (Pмен−1(AТ)0, Pмен−1(A)р0)/(Тмен−1(AТ)0, AТмен−1(A)р0).

Жоғарыдағы жағдайға ұқсас, тек ең жоғары деңгейдегі шарттар Pмен−1(AТ) және Тмен−1(AТ) нүктелік өнімдердегі биортогонализм мен қос конъюктураның арқасында заттар. Бұл солай болады Pмен−1(AТ) және Тмен−1(AТ) бірдей жетекші коэффициентке ие. Осылайша, оларды бір уақытта ауыстыруға болады Qмен−1(AТ) әкелетін формулада

αмен = (Qмен−1(AТ)0, Pмен−1(A)р0)/(Qмен−1(AТ)0, AТмен−1(A)р0) = ρ̃мен/(0, AQмен−1(A)Тмен−1(A)р0) = ρ̃мен/(0, Ap̃мен).

Соңында, BiCGSTAB таңдайды ωмен азайту мен = (МенωменA)смен жылы 2-norm функциясы ретінде ωмен. Бұл кезде қол жеткізіледі

((МенωменA)смен, Қалаймен) = 0,

оңтайлы мән беру

ωмен = (Қалаймен, смен)/(Қалаймен, Қалаймен).

Жалпылау

BiCGSTAB-ді BiCG және комбинациясы ретінде қарастыруға болады GMRES мұнда әрбір BiCG қадамынан кейін GMRES (1) (яғни GMRES әр қадамда қайта іске қосылды) CGS-тің жүйесіз конвергенция әрекетін қалпына келтіру қадамы, оны жақсарту үшін BiCGSTAB жасалған. Алайда, градустық минимум қалдық полиномдарының қолданылуына байланысты, егер матрица болса, мұндай жөндеу тиімді болмауы мүмкін A үлкен күрделі жеке жұптары бар. Мұндай жағдайларда BiCGSTAB тоқырауға ұшырауы ықтимал, бұл сандық эксперименттермен расталған.

Бұл жағдайды жоғары деңгейлі минималды қалдық көпмүшелер жақсы шешеді деп күтуге болады. Бұл BiCGSTAB2 қоса алгоритмдерді тудырады[1] және жалпы BiCGSTAB (л)[2]. BiCGSTAB ішінде (л), GMRES (л) қадам әрқайсысына сәйкес келеді л BiCG қадамдары. BiCGSTAB2 эквиваленті BiCGSTAB (л) бірге л = 2.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  • Ван дер Ворст, Х.А. (1992). «Bi-CGSTAB: Бейсимметриялық сызықтық жүйелерді шешу үшін жылдам және тегіс конвергенцияланатын Bi-CG варианты». SIAM J. Sci. Стат. Есептеу. 13 (2): 631–644. дои:10.1137/0913035. hdl:10338.dmlcz / 104566.
  • Саад, Ю. (2003). «§7.4.2 BICGSTAB». Сирек сызықтық жүйелерге арналған итерациялық әдістер (2-ші басылым). СИАМ. бет.231–234. дои:10.2277/0898715342. ISBN  978-0-89871-534-7.
  • ^ Гуткнехт, Х. (1993). «Күрделі спектрі бар матрицаларға арналған BICGSTAB нұсқалары». SIAM J. Sci. Есептеу. 14 (5): 1020–1033. дои:10.1137/0914062.
  • ^ Слейпен, Г. Л. Г .; Фоккема, Д.Р (қараша 1993). «BiCGstab (л) күрделі спектрі бар симметриялы емес матрицаларды қамтитын сызықтық теңдеулер үшін « (PDF). Сандық анализ бойынша электрондық транзакциялар. Кент, ОХ: Кент мемлекеттік университеті. 1: 11–32. ISSN  1068-9613. Архивтелген түпнұсқа (PDF) 2011-06-06. Алынған 2010-02-07.