v numerická lineární algebra , metoda sdruženého gradientu je iterační metoda pro numerické řešení lineární systém
A X = b { displaystyle { boldsymbol {Ax}} = { boldsymbol {b}}} kde A { displaystyle { boldsymbol {A}}} je symetrický pozitivní-definitivní . Metodu konjugovaného gradientu lze odvodit z několika různých perspektiv, včetně specializace metoda sdruženého směru pro optimalizace a variace Arnoldi /Lanczos iterace pro vlastní číslo problémy.
Záměrem tohoto článku je zdokumentovat důležité kroky v těchto derivacích.
Odvození od metody směru konjugátu Metodu konjugovaného gradientu lze chápat jako speciální případ metody konjugované směry aplikované na minimalizaci kvadratické funkce
F ( X ) = X T A X − 2 b T X . { displaystyle f ({ boldsymbol {x}}) = { boldsymbol {x}} ^ { mathrm {T}} { boldsymbol {A}} { boldsymbol {x}} - 2 { boldsymbol {b }} ^ { mathrm {T}} { boldsymbol {x}} { text {.}}} Metoda konjugovaného směru V konjugovaném směru metoda pro minimalizaci
F ( X ) = X T A X − 2 b T X . { displaystyle f ({ boldsymbol {x}}) = { boldsymbol {x}} ^ { mathrm {T}} { boldsymbol {A}} { boldsymbol {x}} - 2 { boldsymbol {b }} ^ { mathrm {T}} { boldsymbol {x}} { text {.}}} jeden začíná počátečním odhadem X 0 { displaystyle { boldsymbol {x}} _ {0}} a odpovídající zbytek r 0 = b − A X 0 { displaystyle { boldsymbol {r}} _ {0} = { boldsymbol {b}} - { boldsymbol {Ax}} _ {0}} a vypočítá iterát a reziduum podle vzorců
α i = str i T r i str i T A str i , X i + 1 = X i + α i str i , r i + 1 = r i − α i A str i { displaystyle { begin {aligned} alpha _ {i} & = { frac {{ boldsymbol {p}} _ {i} ^ { mathrm {T}} { boldsymbol {r}} _ {i }} {{ boldsymbol {p}} _ {i} ^ { mathrm {T}} { boldsymbol {Ap}} _ {i}}} { text {,}} { boldsymbol {x} } _ {i + 1} & = { boldsymbol {x}} _ {i} + alpha _ {i} { boldsymbol {p}} _ {i} { text {,}} { boldsymbol {r}} _ {i + 1} & = { boldsymbol {r}} _ {i} - alpha _ {i} { boldsymbol {Ap}} _ {i} end {zarovnáno}}} kde str 0 , str 1 , str 2 , … { displaystyle { boldsymbol {p}} _ {0}, { boldsymbol {p}} _ {1}, { boldsymbol {p}} _ {2}, ldots} jsou série vzájemně konjugovaných směrů, tj.
str i T A str j = 0 { displaystyle { boldsymbol {p}} _ {i} ^ { mathrm {T}} { boldsymbol {Ap}} _ {j} = 0} pro všechny i ≠ j { displaystyle i neq j} .
Metoda konjugovaného směru je nepřesná v tom smyslu, že pro výběr směrů nejsou uvedeny žádné vzorce str 0 , str 1 , str 2 , … { displaystyle { boldsymbol {p}} _ {0}, { boldsymbol {p}} _ {1}, { boldsymbol {p}} _ {2}, ldots} . Konkrétní volby vedou k různým metodám, včetně metody konjugovaného gradientu a Gaussova eliminace .
Odvození z iterace Arnoldi / Lanczos Metodu konjugovaného gradientu lze také považovat za variantu iterace Arnoldi / Lanczos aplikované na řešení lineárních systémů.
Obecná Arnoldiho metoda V Arnoldiho iteraci začíná jeden vektorem r 0 { displaystyle { boldsymbol {r}} _ {0}} a postupně staví ortonormální základ { proti 1 , proti 2 , proti 3 , … } { displaystyle {{ boldsymbol {v}} _ {1}, { boldsymbol {v}} _ {2}, { boldsymbol {v}} _ {3}, ldots }} z Krylovský podprostor
K. ( A , r 0 ) = s str A n { r 0 , A r 0 , A 2 r 0 , … } { displaystyle { mathcal {K}} ({ boldsymbol {A}}, { boldsymbol {r}} _ {0}) = mathrm {span} {{ boldsymbol {r}} _ {0} , { boldsymbol {Ar}} _ {0}, { boldsymbol {A}} ^ {2} { boldsymbol {r}} _ {0}, ldots }} definováním proti i = w i / ‖ w i ‖ 2 { displaystyle { boldsymbol {v}} _ {i} = { boldsymbol {w}} _ {i} / lVert { boldsymbol {w}} _ {i} rVert _ {2}} kde
w i = { r 0 -li i = 1 , A proti i − 1 − ∑ j = 1 i − 1 ( proti j T A proti i − 1 ) proti j -li i > 1 . { displaystyle { boldsymbol {w}} _ {i} = { begin {cases} { boldsymbol {r}} _ {0} & { text {if}} i = 1 { text {,}} { boldsymbol {Av}} _ {i-1} - sum _ {j = 1} ^ {i-1} ({ boldsymbol {v}} _ {j} ^ { mathrm {T}} { boldsymbol {Av}} _ {i-1}) { boldsymbol {v}} _ {j} & { text {if}} i> 1 { text {.}} end {cases}}} Jinými slovy, pro i > 1 { displaystyle i> 1} , proti i { displaystyle { boldsymbol {v}} _ {i}} je nalezen Gram-Schmidt ortogonalizace A proti i − 1 { displaystyle { boldsymbol {Av}} _ {i-1}} proti { proti 1 , proti 2 , … , proti i − 1 } { displaystyle {{ boldsymbol {v}} _ {1}, { boldsymbol {v}} _ {2}, ldots, { boldsymbol {v}} _ {i-1} }} následuje normalizace.
V maticové formě je iterace zachycena rovnicí
A PROTI i = PROTI i + 1 H ~ i { displaystyle { boldsymbol {AV}} _ {i} = { boldsymbol {V}} _ {i + 1} { boldsymbol { tilde {H}}} _ {i}} kde
PROTI i = [ proti 1 proti 2 ⋯ proti i ] , H ~ i = [ h 11 h 12 h 13 ⋯ h 1 , i h 21 h 22 h 23 ⋯ h 2 , i h 32 h 33 ⋯ h 3 , i ⋱ ⋱ ⋮ h i , i − 1 h i , i h i + 1 , i ] = [ H i h i + 1 , i E i T ] { displaystyle { begin {aligned} { boldsymbol {V}} _ {i} & = { begin {bmatrix} { boldsymbol {v}} _ {1} & { boldsymbol {v}} _ {2 } & cdots & { boldsymbol {v}} _ {i} end {bmatrix}} { text {,}} { boldsymbol { tilde {H}}} _ {i} & = { začít {bmatrix} h_ {11} & h_ {12} & h_ {13} & cdots & h_ {1, i} h_ {21} & h_ {22} & h_ {23} & cdots & h_ {2, i} & h_ {32} & h_ {33} & cdots & h_ {3, i} && ddots & ddots & vdots &&& h_ {i, i-1} & h_ {i, i} &&&& h_ {i + 1, i} end {bmatrix}} = { begin {bmatrix} { boldsymbol {H}} _ {i} h_ {i + 1, i} { boldsymbol {e}} _ {i} ^ { mathrm {T}} end {bmatrix}} end {zarovnáno}}} s
h j i = { proti j T A proti i -li j ≤ i , ‖ w i + 1 ‖ 2 -li j = i + 1 , 0 -li j > i + 1 . { displaystyle h_ {ji} = { begin {cases} { boldsymbol {v}} _ {j} ^ { mathrm {T}} { boldsymbol {Av}} _ {i} & { text {pokud }} j leq i { text {,}} lVert { boldsymbol {w}} _ {i + 1} rVert _ {2} & { text {if}} j = i + 1 { text {,}} 0 & { text {if}} j> i + 1 { text {.}} end {případy}}} Při aplikaci Arnoldiho iterace na řešení lineárních systémů se začíná na r 0 = b − A X 0 { displaystyle { boldsymbol {r}} _ {0} = { boldsymbol {b}} - { boldsymbol {Ax}} _ {0}} , zbytek odpovídá počátečnímu odhadu X 0 { displaystyle { boldsymbol {x}} _ {0}} . Po každém kroku iterace se počítá y i = H i − 1 ( ‖ r 0 ‖ 2 E 1 ) { displaystyle { boldsymbol {y}} _ {i} = { boldsymbol {H}} _ {i} ^ {- 1} ( lVert { boldsymbol {r}} _ {0} rVert _ {2 } { boldsymbol {e}} _ {1})} a nová iterace X i = X 0 + PROTI i y i { displaystyle { boldsymbol {x}} _ {i} = { boldsymbol {x}} _ {0} + { boldsymbol {V}} _ {i} { boldsymbol {y}} _ {i}} .
Přímá Lanczosova metoda U zbytku diskuse to předpokládáme A { displaystyle { boldsymbol {A}}} je symetrický kladně definitivní. Se symetrií A { displaystyle { boldsymbol {A}}} , horní Hessenbergova matice H i = PROTI i T A PROTI i { displaystyle { boldsymbol {H}} _ {i} = { boldsymbol {V}} _ {i} ^ { mathrm {T}} { boldsymbol {AV}} _ {i}} stává se symetrickým, a tedy trojrozměrným. To pak může být jasněji označeno
H i = [ A 1 b 2 b 2 A 2 b 3 ⋱ ⋱ ⋱ b i − 1 A i − 1 b i b i A i ] . { displaystyle { boldsymbol {H}} _ {i} = { begin {bmatrix} a_ {1} & b_ {2} b_ {2} & a_ {2} & b_ {3} & ddots & ddots & ddots && b_ {i-1} & a_ {i-1} & b_ {i} &&& b_ {i} & a_ {i} end {bmatrix}} { text {.}}} To umožňuje krátké třídobé opakování pro proti i { displaystyle { boldsymbol {v}} _ {i}} v iteraci a iterace Arnoldi je snížena na iteraci Lanczos.
Od té doby A { displaystyle { boldsymbol {A}}} je symetrický kladně definitivní, tak je H i { displaystyle { boldsymbol {H}} _ {i}} . Proto, H i { displaystyle { boldsymbol {H}} _ {i}} může být LU faktorizovaná bez částečné otočení do
H i = L i U i = [ 1 C 2 1 ⋱ ⋱ C i − 1 1 C i 1 ] [ d 1 b 2 d 2 b 3 ⋱ ⋱ d i − 1 b i d i ] { displaystyle { boldsymbol {H}} _ {i} = { boldsymbol {L}} _ {i} { boldsymbol {U}} _ {i} = { begin {bmatrix} 1 c_ {2 } & 1 & ddots & ddots && c_ {i-1} & 1 &&& c_ {i} & 1 end {bmatrix}} { begin {bmatrix} d_ {1} & b_ {2} & d_ { 2} & b_ {3} && ddots & ddots &&& d_ {i-1} & b_ {i} &&&& d_ {i} end {bmatrix}}} s pohodlným opakováním pro C i { displaystyle c_ {i}} a d i { displaystyle d_ {i}} :
C i = b i / d i − 1 , d i = { A 1 -li i = 1 , A i − C i b i -li i > 1 . { displaystyle { begin {aligned} c_ {i} & = b_ {i} / d_ {i-1} { text {,}} d_ {i} & = { begin {cases} a_ {1 } & { text {if}} i = 1 { text {,}} a_ {i} -c_ {i} b_ {i} & { text {if}} i> 1 { text {. }} end {cases}} end {aligned}}} Přepsat X i = X 0 + PROTI i y i { displaystyle { boldsymbol {x}} _ {i} = { boldsymbol {x}} _ {0} + { boldsymbol {V}} _ {i} { boldsymbol {y}} _ {i}} tak jako
X i = X 0 + PROTI i H i − 1 ( ‖ r 0 ‖ 2 E 1 ) = X 0 + PROTI i U i − 1 L i − 1 ( ‖ r 0 ‖ 2 E 1 ) = X 0 + P i z i { displaystyle { begin {aligned} { boldsymbol {x}} _ {i} & = { boldsymbol {x}} _ {0} + { boldsymbol {V}} _ {i} { boldsymbol {H }} _ {i} ^ {- 1} ( lVert { boldsymbol {r}} _ {0} rVert _ {2} { boldsymbol {e}} _ {1}) & = { boldsymbol {x}} _ {0} + { boldsymbol {V}} _ {i} { boldsymbol {U}} _ {i} ^ {- 1} { boldsymbol {L}} _ {i} ^ {- 1} ( lVert { boldsymbol {r}} _ {0} rVert _ {2} { boldsymbol {e}} _ {1}) & = { boldsymbol {x}} _ {0} + { boldsymbol {P}} _ {i} { boldsymbol {z}} _ {i} end {zarovnáno}}} s
P i = PROTI i U i − 1 , z i = L i − 1 ( ‖ r 0 ‖ 2 E 1 ) . { displaystyle { begin {aligned} { boldsymbol {P}} _ {i} & = { boldsymbol {V}} _ {i} { boldsymbol {U}} _ {i} ^ {- 1} { text {,}} { boldsymbol {z}} _ {i} & = { boldsymbol {L}} _ {i} ^ {- 1} ( lVert { boldsymbol {r}} _ {0 } rVert _ {2} { boldsymbol {e}} _ {1}) { text {.}} end {zarovnáno}}} To je nyní důležité pozorovat
P i = [ P i − 1 str i ] , z i = [ z i − 1 ζ i ] . { displaystyle { begin {aligned} { boldsymbol {P}} _ {i} & = { begin {bmatrix} { boldsymbol {P}} _ {i-1} & { boldsymbol {p}} _ {i} end {bmatrix}} { text {,}} { boldsymbol {z}} _ {i} & = { begin {bmatrix} { boldsymbol {z}} _ {i-1} zeta _ {i} end {bmatrix}} { text {.}} end {zarovnáno}}} Ve skutečnosti existují krátké opakování str i { displaystyle { boldsymbol {p}} _ {i}} a ζ i { displaystyle zeta _ {i}} také:
str i = 1 d i ( proti i − b i str i − 1 ) , ζ i = − C i ζ i − 1 . { displaystyle { begin {aligned} { boldsymbol {p}} _ {i} & = { frac {1} {d_ {i}}} ({ boldsymbol {v}} _ {i} -b_ { i} { boldsymbol {p}} _ {i-1}) { text {,}} zeta _ {i} & = - c_ {i} zeta _ {i-1} { text { .}} end {zarovnáno}}} S touto formulací dospějeme k jednoduchému opakování pro X i { displaystyle { boldsymbol {x}} _ {i}} :
X i = X 0 + P i z i = X 0 + P i − 1 z i − 1 + ζ i str i = X i − 1 + ζ i str i . { displaystyle { begin {aligned} { boldsymbol {x}} _ {i} & = { boldsymbol {x}} _ {0} + { boldsymbol {P}} _ {i} { boldsymbol {z }} _ {i} & = { boldsymbol {x}} _ {0} + { boldsymbol {P}} _ {i-1} { boldsymbol {z}} _ {i-1} + zeta _ {i} { boldsymbol {p}} _ {i} & = { boldsymbol {x}} _ {i-1} + zeta _ {i} { boldsymbol {p}} _ {i } { text {.}} end {zarovnáno}}} Výše uvedené vztahy přímo vedou k přímé Lanczosově metodě, která se ukazuje být o něco složitější.
Metoda konjugovaného gradientu z uložení ortogonality a konjugace Pokud dovolíme str i { displaystyle { boldsymbol {p}} _ {i}} škálovat a kompenzovat škálování v konstantním faktoru, můžeme potenciálně mít jednodušší opakování formuláře:
X i = X i − 1 + α i − 1 str i − 1 , r i = r i − 1 − α i − 1 A str i − 1 , str i = r i + β i − 1 str i − 1 . { displaystyle { begin {aligned} { boldsymbol {x}} _ {i} & = { boldsymbol {x}} _ {i-1} + alpha _ {i-1} { boldsymbol {p} } _ {i-1} { text {,}} { boldsymbol {r}} _ {i} & = { boldsymbol {r}} _ {i-1} - alpha _ {i-1 } { boldsymbol {Ap}} _ {i-1} { text {,}} { boldsymbol {p}} _ {i} & = { boldsymbol {r}} _ {i} + beta _ {i-1} { boldsymbol {p}} _ {i-1} { text {.}} end {zarovnáno}}} Jako prostor pro zjednodušení nyní odvodíme ortogonalitu r i { displaystyle { boldsymbol {r}} _ {i}} a konjugace str i { displaystyle { boldsymbol {p}} _ {i}} , tj. pro i ≠ j { displaystyle i neq j} ,
r i T r j = 0 , str i T A str j = 0 . { displaystyle { begin {aligned} { boldsymbol {r}} _ {i} ^ { mathrm {T}} { boldsymbol {r}} _ {j} & = 0 { text {,}} { boldsymbol {p}} _ {i} ^ { mathrm {T}} { boldsymbol {Ap}} _ {j} & = 0 { text {.}} end {zarovnáno}}} Zbytky jsou vzájemně ortogonální, protože r i { displaystyle { boldsymbol {r}} _ {i}} je v podstatě násobkem proti i + 1 { displaystyle { boldsymbol {v}} _ {i + 1}} od i = 0 { displaystyle i = 0} , r 0 = ‖ r 0 ‖ 2 proti 1 { displaystyle { boldsymbol {r}} _ {0} = lVert { boldsymbol {r}} _ {0} rVert _ {2} { boldsymbol {v}} _ {1}} , pro i > 0 { displaystyle i> 0} ,
r i = b − A X i = b − A ( X 0 + PROTI i y i ) = r 0 − A PROTI i y i = r 0 − PROTI i + 1 H ~ i y i = r 0 − PROTI i H i y i − h i + 1 , i ( E i T y i ) proti i + 1 = ‖ r 0 ‖ 2 proti 1 − PROTI i ( ‖ r 0 ‖ 2 E 1 ) − h i + 1 , i ( E i T y i ) proti i + 1 = − h i + 1 , i ( E i T y i ) proti i + 1 . { displaystyle { begin {aligned} { boldsymbol {r}} _ {i} & = { boldsymbol {b}} - { boldsymbol {Ax}} _ {i} & = { boldsymbol {b }} - { boldsymbol {A}} ({ boldsymbol {x}} _ {0} + { boldsymbol {V}} _ {i} { boldsymbol {y}} _ {i}) & = { boldsymbol {r}} _ {0} - { boldsymbol {AV}} _ {i} { boldsymbol {y}} _ {i} & = { boldsymbol {r}} _ {0} - { boldsymbol {V}} _ {i + 1} { boldsymbol { tilde {H}}} _ {i} { boldsymbol {y}} _ {i} & = { boldsymbol {r}} _ {0} - { boldsymbol {V}} _ {i} { boldsymbol {H}} _ {i} { boldsymbol {y}} _ {i} -h_ {i + 1, i} ({ boldsymbol {e}} _ {i} ^ { mathrm {T}} { boldsymbol {y}} _ {i}) { boldsymbol {v}} _ {i + 1} & = lVert { boldsymbol {r}} _ {0} rVert _ {2} { boldsymbol {v}} _ {1} - { boldsymbol {V}} _ {i} ( lVert { boldsymbol {r}} _ { 0} rVert _ {2} { boldsymbol {e}} _ {1}) - h_ {i + 1, i} ({ boldsymbol {e}} _ {i} ^ { mathrm {T}} { boldsymbol {y}} _ {i}) { boldsymbol {v}} _ {i + 1} & = - h_ {i + 1, i} ({ boldsymbol {e}} _ {i} ^ { mathrm {T}} { boldsymbol {y}} _ {i}) { boldsymbol {v}} _ {i + 1} { text {.}} end {zarovnáno}}} Chcete-li vidět konjugaci str i { displaystyle { boldsymbol {p}} _ {i}} , to stačí ukázat P i T A P i { displaystyle { boldsymbol {P}} _ {i} ^ { mathrm {T}} { boldsymbol {AP}} _ {i}} je úhlopříčka:
P i T A P i = U i − T PROTI i T A PROTI i U i − 1 = U i − T H i U i − 1 = U i − T L i U i U i − 1 = U i − T L i { displaystyle { begin {aligned} { boldsymbol {P}} _ {i} ^ { mathrm {T}} { boldsymbol {AP}} _ {i} & = { boldsymbol {U}} _ { i} ^ {- mathrm {T}} { boldsymbol {V}} _ {i} ^ { mathrm {T}} { boldsymbol {AV}} _ {i} { boldsymbol {U}} _ { i} ^ {- 1} & = { boldsymbol {U}} _ {i} ^ {- mathrm {T}} { boldsymbol {H}} _ {i} { boldsymbol {U}} _ {i} ^ {- 1} & = { boldsymbol {U}} _ {i} ^ {- mathrm {T}} { boldsymbol {L}} _ {i} { boldsymbol {U}} _ {i} { boldsymbol {U}} _ {i} ^ {- 1} & = { boldsymbol {U}} _ {i} ^ {- mathrm {T}} { boldsymbol {L} } _ {i} end {zarovnáno}}} je symetrický a spodní trojúhelníkový současně, a proto musí být diagonální.
Nyní můžeme odvodit konstantní faktory α i { displaystyle alpha _ {i}} a β i { displaystyle beta _ {i}} s ohledem na měřítko str i { displaystyle { boldsymbol {p}} _ {i}} pouze zavedením ortogonality r i { displaystyle { boldsymbol {r}} _ {i}} a konjugace str i { displaystyle { boldsymbol {p}} _ {i}} .
Kvůli ortogonalitě r i { displaystyle { boldsymbol {r}} _ {i}} , to je nutné r i + 1 T r i = ( r i − α i A str i ) T r i = 0 { displaystyle { boldsymbol {r}} _ {i + 1} ^ { mathrm {T}} { boldsymbol {r}} _ {i} = ({ boldsymbol {r}} _ {i} - alpha _ {i} { boldsymbol {Ap}} _ {i}) ^ { mathrm {T}} { boldsymbol {r}} _ {i} = 0} . Jako výsledek,
α i = r i T r i r i T A str i = r i T r i ( str i − β i − 1 str i − 1 ) T A str i = r i T r i str i T A str i . { displaystyle { begin {aligned} alpha _ {i} & = { frac {{ boldsymbol {r}} _ {i} ^ { mathrm {T}} { boldsymbol {r}} _ {i }} {{ boldsymbol {r}} _ {i} ^ { mathrm {T}} { boldsymbol {Ap}} _ {i}}} & = { frac {{ boldsymbol {r}} _ {i} ^ { mathrm {T}} { boldsymbol {r}} _ {i}} {({ boldsymbol {p}} _ {i} - beta _ {i-1} { boldsymbol { p}} _ {i-1}) ^ { mathrm {T}} { boldsymbol {Ap}} _ {i}}} & = { frac {{ boldsymbol {r}} _ {i} ^ { mathrm {T}} { boldsymbol {r}} _ {i}} {{ boldsymbol {p}} _ {i} ^ { mathrm {T}} { boldsymbol {Ap}} _ {i }}} { text {.}} end {zarovnáno}}} Podobně kvůli konjugaci str i { displaystyle { boldsymbol {p}} _ {i}} , to je nutné str i + 1 T A str i = ( r i + 1 + β i str i ) T A str i = 0 { displaystyle { boldsymbol {p}} _ {i + 1} ^ { mathrm {T}} { boldsymbol {Ap}} _ {i} = ({ boldsymbol {r}} _ {i + 1} + beta _ {i} { boldsymbol {p}} _ {i}) ^ { mathrm {T}} { boldsymbol {Ap}} _ {i} = 0} . Jako výsledek,
β i = − r i + 1 T A str i str i T A str i = − r i + 1 T ( r i − r i + 1 ) α i str i T A str i = r i + 1 T r i + 1 r i T r i . { displaystyle { begin {aligned} beta _ {i} & = - { frac {{ boldsymbol {r}} _ {i + 1} ^ { mathrm {T}} { boldsymbol {Ap}} _ {i}} {{ boldsymbol {p}} _ {i} ^ { mathrm {T}} { boldsymbol {Ap}} _ {i}}} & = - { frac {{ boldsymbol {r}} _ {i + 1} ^ { mathrm {T}} ({ boldsymbol {r}} _ {i} - { boldsymbol {r}} _ {i + 1})}} { alpha _ {i} { boldsymbol {p}} _ {i} ^ { mathrm {T}} { boldsymbol {Ap}} _ {i}}} & = { frac {{ boldsymbol {r}} _ {i + 1} ^ { mathrm {T}} { boldsymbol {r}} _ {i + 1}} {{ boldsymbol {r}} _ {i} ^ { mathrm {T}} { boldsymbol {r}} _ {i}}} { text {.}} end {zarovnáno}}} Tím je derivace dokončena.
Reference Hestenes, M. R. ; Stiefel, E. (Prosinec 1952). "Metody konjugovaných přechodů pro řešení lineárních systémů" (PDF) . Journal of Research of the National Bureau of Standards . 49 (6).Saad, Y. (2003). „Kapitola 6: Krylovské podprostorové metody, část I“. Iterační metody pro řídké lineární systémy (2. vyd.). SIAM. ISBN 978-0-89871-534-7 . Klíčové koncepty Problémy Hardware Software