x - fyzikazeme.sk
x - fyzikazeme.sk
x - fyzikazeme.sk
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Prednáška č. 5<br />
Numerické metódy matematiky I<br />
Riešenie sústav lineárnych rovníc<br />
(pokračovanie )
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
• Metóda najväčšieho spádu<br />
• Metóda združených (konjugovaných) gradientov (CG)<br />
• Zovšeobecnenia metódy CG<br />
• Konvergencia metódy CG<br />
• Predpodmienenie (preconditioning)<br />
• Zhrnutie<br />
2. Metóda singulárneho rozkladu<br />
3. QR-rozklad<br />
4. Literatúra
Gradientné iteračné metódy<br />
Gradientné iteračné metódy sú zvlášť atraktívne<br />
pre riedke systémy lineárnych rovníc,<br />
pretože často využívajú<br />
len násobenie matice sústavy vektorom.<br />
Základné metódy tejto <strong>sk</strong>upiny sú vhodné<br />
na riešenie sústavy<br />
so symetrickou a pozitívne definitnou maticou<br />
a využívajú fakt,<br />
že riešenie takejto sústavy je<br />
jediným minimom formy<br />
1 T T<br />
Q ( x)<br />
= x Ax- x b .<br />
2<br />
Definícia: Matica A je pozitívne definitná, ak<br />
pre ľubovoľný nenulový vektor x platí<br />
T<br />
x<br />
⋅A⋅ x ><br />
0
Gradientné iteračné metódy<br />
Postupnosť vektorov,<br />
ktorá konverguje k presnému riešeniu danej sústavy<br />
sa dá potom konštruovať tak,<br />
že za predpokladu,<br />
že k-tá aproximácia x (k) je už určená,<br />
sa zvolí smer v (k) a určí číslo α k tak,<br />
aby vektor x (k) + α k v (k)<br />
minimalizoval formu Q na priamke x (k) + α k v (k)<br />
a položí sa<br />
( k 1) ( k) ( k)<br />
x + = x +α k v<br />
.<br />
Špeciálnou voľbou smerov v (k)<br />
v jednotlivých krokoch<br />
dostávame konkrétne metódy.
Gradientné iteračné metódy<br />
Ak za smery v (1) ,v (2) ,... volíme postupne vektory<br />
v smere prvej, druhej, ... súradnice,<br />
dostaneme Gauss-Seidlovu metódu.<br />
Jednu iteráciu (v zmysle Gauss-Seidlovej metódy)<br />
dostaneme až po vyčerpaní všetkých súradníc.
Gauss-Seidlova metóda<br />
Pripomeňme si Gauss-Seidlovu metódu<br />
1<br />
( 1) 1<br />
⎛ i−<br />
n ⎞<br />
k+ ( k+<br />
1) ( k)<br />
xi = bi aijxj aijx j , i 1, 2,..., n .<br />
a<br />
−∑<br />
− ∑<br />
=<br />
ii ⎜⎝<br />
j= 1 j= i+<br />
1 ⎠⎟<br />
Gauss-Seidlova metóda konverguje,<br />
keď A je rýdzo diagonálne dominantná<br />
alebo<br />
pozitívne definitná.
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
• Metóda najväčšieho spádu<br />
• Metóda združených (konjugovaných) gradientov (CG)<br />
• Zovšeobecnenia metódy CG<br />
• Konvergencia metódy CG<br />
• Predpodmienenie (preconditioning)<br />
• Zhrnutie<br />
2. Metóda singulárneho rozkladu<br />
3. QR-rozklad<br />
4. Literatúra
Metóda najväčšieho spádu<br />
V tejto metóde sa volí smer v (k) tak,<br />
aby súhlasil so smerom gradientu funkcie Q.<br />
Príslušné vzorce sú<br />
( kT ) ( k)<br />
( 1) ( )<br />
x + = x + r r r<br />
( kT ) ( k)<br />
r Ar<br />
( )<br />
k k k<br />
,<br />
kde vektor r (k) sa nazýva<br />
rezíduum k-tej aproximácie<br />
a je daný vzťahom<br />
( k) ( k) = − .<br />
r b Ax
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
• Metóda najväčšieho spádu<br />
• Metóda združených (konjugovaných) gradientov (CG)<br />
• Zovšeobecnenia metódy CG<br />
• Konvergencia metódy CG<br />
• Predpodmienenie (preconditioning)<br />
• Zhrnutie<br />
2. Metóda singulárneho rozkladu<br />
3. QR-rozklad<br />
4. Literatúra
Metóda združených (konjugovaných) gradientov (CG)<br />
V tejto metóde sa volia vektory v (k) tak,<br />
že vzniknú A-ortogonalizáciou vektora rezíduí.<br />
A-ortogonalizácia<br />
(pri danej symetrickej a pozitívne definitnej matici A)<br />
je postup,<br />
pomocou ktorého<br />
sa z postupnosti lineárne nezávislých vektorov u (1) , ... , u (n)<br />
zostrojí iná postupnosť lineárne nezávislých vektorov v (1) , ... , v (n) tak,<br />
že platí<br />
v ( i )T Av ( j ) = 0<br />
pre i ≠ j .
Metóda združených (konjugovaných) gradientov (CG)<br />
To vedie na algoritmus popísaný rovnicami:<br />
( 1) ( 1) ( 1)<br />
v = r = b−Ax<br />
,<br />
α<br />
=<br />
( kT ) ( k)<br />
k kT k<br />
v<br />
v<br />
r<br />
( ) ( )<br />
Av<br />
,<br />
( k+<br />
1) ( k) ( k)<br />
x = x + α v<br />
k<br />
,<br />
( k+<br />
1) ( k) ( k)<br />
r = r −α<br />
Av<br />
β<br />
v<br />
= −<br />
v<br />
( kT ) ( k+<br />
1)<br />
k kT k<br />
( ) ( )<br />
( k+ 1) ( k+<br />
1) ( k)<br />
v = r + β v<br />
k<br />
Ar<br />
Av<br />
k<br />
,<br />
,<br />
.
Metóda združených (konjugovaných) gradientov (CG)<br />
Z podstaty algoritmu vyplýva,<br />
že po n iteráciách<br />
dostaneme presné riešenie systému rovníc<br />
a teda nejde v pravom zmysle slova<br />
o iteračnú metódu.<br />
To by však platilo len v prípade,<br />
že by sme sa nedopúšťali zaokrúhľovacích chýb.<br />
Preto je nutné pozerať sa na MCG ako na iteračnú metódu<br />
a definovať kritériá na zastavenie iterácií.
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
• Metóda najväčšieho spádu<br />
• Metóda združených (konjugovaných) gradientov (CG)<br />
• Zovšeobecnenia metódy CG<br />
• Konvergencia metódy CG<br />
• Predpodmienenie (preconditioning)<br />
• Zhrnutie<br />
2. Metóda singulárneho rozkladu<br />
3. QR-rozklad<br />
4. Literatúra
Zovšeobecnenia metódy CG<br />
V prípade nesymetrických<br />
a nie nutne pozitívne definitných matíc<br />
používame<br />
metódu bikonjugovaných gradientov<br />
(napr. subroutina linbcg z Numerical Recipes).<br />
Obyčajná metóda konjugovaných gradientov je<br />
jej špeciálnym prípadom.
Zovšeobecnenia metódy CG<br />
Iný variant pre symetrické, ale nie pozitívne definitné matice A<br />
dostaneme ak v obyčajnej metóde CG<br />
zameníme všetky maticové násobenia<br />
a . b za a . A . b .<br />
Táto metóda sa nazýva algoritmus minimálnych rezíduí,<br />
pretože zodpovedá postupným minimalizáciám funkcie<br />
1 T 1 2<br />
Q ( x)<br />
= r ⋅ r= A⋅x- b .<br />
2 2<br />
Zovšeobecnenie tohto algoritmu pre nesymetrické matice vedie na<br />
metódu zovšeobecnených minimálnych rezíduí (GMRES).
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
• Metóda najväčšieho spádu<br />
• Metóda združených (konjugovaných) gradientov (CG)<br />
• Zovšeobecnenia metódy CG<br />
• Konvergencia metódy CG<br />
• Predpodmienenie (preconditioning)<br />
• Zhrnutie<br />
2. Metóda singulárneho rozkladu<br />
3. QR-rozklad<br />
4. Literatúra
Konvergencia metódy CG<br />
Nech x (k) je približné riešenie v k-tom kroku CG<br />
a nech x* je presné riešenie.<br />
Pre symetrickú, pozitívne definitnú maticu definujme<br />
číslo podmienenosti matice κ(A)<br />
a A-normu ľubovoľného vektrora z :<br />
( )<br />
( ) : λ max A<br />
κ A = , z : = ( Az , z) 1/2<br />
λ<br />
.<br />
A<br />
A<br />
min<br />
( )<br />
Potom<br />
⎡<br />
( k) κ ( ) 1⎤<br />
2<br />
A −<br />
x* −x ≤ x* −x<br />
A ⎢ κ ( A)<br />
+ 1<br />
⎣ ⎦<br />
⎥<br />
k<br />
() 1<br />
A<br />
Pri κ(A) >> 1 je konvergencia veľmi pomalá.
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
• Metóda najväčšieho spádu<br />
• Metóda združených (konjugovaných) gradientov (CG)<br />
• Zovšeobecnenia metódy CG<br />
• Konvergencia metódy CG<br />
• Predpodmienenie (preconditioning)<br />
• Zhrnutie<br />
2. Metóda singulárneho rozkladu<br />
3. QR-rozklad<br />
4. Literatúra
Predpodmienenie (preconditioning)<br />
Účelom predpodmienenia je<br />
zvýšiť rýchlosť konvergencie iteračnej metódy tak,<br />
že sa rieši náhradný systém lineárnych rovníc,<br />
v ktorom má nová matica sústavy<br />
nižšie číslo podmienenosti κ<br />
než pôvodná matica.<br />
Nech A.x = b je pôvodný lineárny systém.<br />
Ľavé predpodmienenie definujeme nasledovne:<br />
Nech matica M je regulárna a „blízka“ k matici A.<br />
Potom riešime sústavu<br />
-1 -1<br />
M Ax<br />
=<br />
M b<br />
Pravé predpodmienenie definujeme nasledovne:<br />
Nech matica M je regulárna. Potom riešime sústavu<br />
-1 −1<br />
AM u = b, x = M u .
Predpodmienenie v metóde CG<br />
Pôvodný algoritmus CG:<br />
( 1) ( 1)<br />
r = b−Ax<br />
v<br />
() 1 () 1<br />
α<br />
=<br />
=<br />
r<br />
v<br />
( kT ) ( k)<br />
k kT k<br />
v<br />
( ) ( )<br />
( k+<br />
1) ( k) ( k)<br />
x = x + α v<br />
( k+<br />
1) ( k) ( k)<br />
r<br />
Av<br />
r = r −α<br />
Av<br />
k<br />
k<br />
Algoritmus predpodmienenej CG:<br />
( 1) ( 1) ( 1) ( 1)<br />
r = b−Ax<br />
v<br />
() 1 () 1<br />
α<br />
=<br />
=<br />
z<br />
( kT ) ( k)<br />
k kT k<br />
v<br />
z<br />
r<br />
( ) ( )<br />
Av<br />
( k+<br />
1) ( k) ( k)<br />
x = x + α v<br />
k<br />
,<br />
−1<br />
( k+<br />
1) ( k) ( k) ( k+ 1) ( k+<br />
1)<br />
r = r −α<br />
Av<br />
k<br />
z = M r<br />
,<br />
−1<br />
z = M r<br />
β<br />
v<br />
= −<br />
v<br />
( kT ) ( k+<br />
1)<br />
Ar<br />
k kT k<br />
( ) ( )<br />
Av<br />
β<br />
k<br />
=<br />
z<br />
( k+<br />
1) T ( k+<br />
1)<br />
z<br />
r<br />
( k) T ( k)<br />
r<br />
( k+ 1) ( k+<br />
1) ( k)<br />
v = r + β v<br />
k<br />
v<br />
( k+ 1) ( k+<br />
1) ( k)<br />
= z + β v<br />
k
Jacobiho predpodmieňovač (preconditionner)<br />
Najjednoduchším predpodmieňovačom je diagonálna matica,<br />
ktorá je tvorená len diagonálnymi členmi matice A<br />
M<br />
ij<br />
=<br />
{<br />
A ak i=<br />
j<br />
ii<br />
0 ak<br />
i<br />
≠<br />
j<br />
M<br />
Potom<br />
− 1 ij<br />
ij = δ<br />
Aii<br />
.<br />
Takéto predpodmienenie sa nazýva<br />
Jacobiho predpodmienenie<br />
alebo<br />
diagonálne škálovanie.<br />
Výhody Jacobiho predpodmienenia sú<br />
v ľahkej implementácii a<br />
nízkych pamäťových nárokoch.
Iné typy predpodmienenia<br />
Viac sofistikované voľby predpodmieňovača<br />
musia byť kompromisom<br />
medzi redukciou čísla podmienenosti matice<br />
a tým rýchlejšou konvergenciu<br />
a<br />
časom potrebným na vypočítanie inverznej matice M -1 .<br />
Viac informácií je možné nájsť v prehľade<br />
M. Benzi (2002):<br />
Preconditioning Techniques for Large Linear Systems: A Survey<br />
Journal of Computational Physics 182, 418-477<br />
doi: 10.1006/jcph.2002.7176
Príklad
Príklad
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
• Metóda najväčšieho spádu<br />
• Metóda združených (konjugovaných) gradientov (CG)<br />
• Zovšeobecnenia metódy CG<br />
• Konvergencia metódy CG<br />
• Predpodmienenie (preconditioning)<br />
• Zhrnutie<br />
2. Metóda singulárneho rozkladu<br />
3. QR-rozklad<br />
4. Literatúra
Zhrnutie<br />
• Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
• Metóda najväčšieho spádu<br />
• Metóda konjugovaných gradientov.<br />
Smerové vektory vzniknú A-ortogonalizáciou vektora rezíduí.<br />
• Zovšeobecnenia metódy CG<br />
• metóda bikonjugovaných gradientov<br />
• metóda GMRES<br />
• Konvergencia metódy CG – závislosť na<br />
čísle podmienenosti matice<br />
• Predpodmienenie CG<br />
• Jacobiho predpodmienenie
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
2. Metóda singulárneho rozkladu (SVD)<br />
• Úvod<br />
• SVD štvorcovej matice<br />
• SVD pre menej rovníc ako neznámych<br />
• SVD pre viac rovníc ako neznámych<br />
3. QR-rozklad<br />
4. Literatúra
Terminológia a základné vzťahy<br />
Majme štvorcovú maticu A.<br />
Jej vlastné čísla budeme označovať λ n a<br />
pravé resp. ľavé vektory x a y,<br />
pre ktoré platí<br />
( A λI)<br />
det − = 0<br />
Ax<br />
= λ x<br />
i i i<br />
T T<br />
i = λiyi<br />
y A<br />
A ∈R<br />
potom λ i , x i ≡ y i<br />
∈R<br />
Ak platí, že a je symetrická,<br />
vlastné vektory generujú ortogonálnu bázu.<br />
Podobnostná transformácia P -1 AP<br />
nemení vlastné čísla matice A.<br />
a
Terminológia a základné vzťahy<br />
Reálna ortogonálna matica je taká štvorcová matica Q,<br />
ktorej transponovaná matica je jej inverznou maticou.<br />
T<br />
T<br />
Q ⋅ Q= Q⋅ Q = I<br />
Ak Q je obdĺžniková matica,<br />
potom podmienky<br />
T<br />
Q ⋅ Q= I a Q⋅ Q = I<br />
nie sú ekvivalentné.<br />
Podmienka Q T .Q = I hovorí, že<br />
matica Q je stĺpcovo ortogonálna.<br />
T<br />
Podmienka Q .Q T = I hovorí, že<br />
matica Q je riadkovo ortogonálna.
Metóda singulárneho rozkladu - úvod<br />
Ak je počet rovníc sústavy M menší ako počet neznámych N,<br />
alebo ak M = N ale rovnice sú lineárne závislé,<br />
potom sústava nemá žiadne riešenie<br />
alebo<br />
má viac než jedno riešenie.<br />
V druhom prípade priestor riešení tvorí<br />
partikulárne riešenie<br />
pripočítané k ľubovoľnej lineárnej kombinácii N - M vektorov.<br />
Úlohu nájsť priestor riešení matice A<br />
je možné riešiť metódou<br />
singulárneho rozkladu matice A.
Metóda singulárneho rozkladu - úvod<br />
Ak je počet rovníc sústavy M väčší ako počet neznámych N,<br />
vo všeobecnosti neexistuje vektor riešenia a<br />
sústave rovníc sa hovorí preurčená.<br />
Môžeme ale nájsť najlepšie „kompromisné“ riešenie,<br />
ktoré je „najbližšie“ k tomu,<br />
aby vyhovovalo všetkým rovniciam.<br />
Ak „najbližšie“ definujeme v zmysle najmenších štvorcov,<br />
t.j. že suma kvadrátu rozdielov<br />
medzi ľavou a pravou stranou rovnice je najmenšia,<br />
potom sa preurčený systém redukuje<br />
na (zvyčajne) riešiteľný problém<br />
nazývaný metóda najmenších štvorcov.
Metóda singulárneho rozkladu - úvod<br />
Redukovaný systém rovníc môžeme zapísať ako<br />
systém N x N rovníc<br />
(<br />
T<br />
) (<br />
T<br />
A ⋅A ⋅ x= A ⋅b)<br />
.<br />
Tieto rovnice voláme normálne rovnice<br />
problému najmenších štvorcov.<br />
Metóda singulárneho rozkladu má veľa spoločného<br />
s problémom najmenších štvorcov,<br />
čo si ukážeme ne<strong>sk</strong>ôr.<br />
Priame riešenie normálnych rovníc nie je vo všeobecnosti<br />
najlepším spôsobom hľadania riešenia najmenších štvorcov.
Metóda singulárneho rozkladu<br />
V mnohých prípadoch,<br />
keď GEM alebo LU rozklad zlyhajú,<br />
metódy singulárneho rozkladu<br />
(singular value decompisition, SVD)<br />
presne diagnostikujú, v čom je problém<br />
a v mnohých prípadoch tiež<br />
po<strong>sk</strong>ytnú vhodné numerické riešenie.<br />
SVD je tiež metóda<br />
na riešenie mnohých problémov typu najmenších štvorcov.
Metóda singulárneho rozkladu<br />
SVD je založená na nasledujúcej teoréme lineárnej algebry:<br />
Každá matica A typu M x N,<br />
ktorej počet riadkov M je väčší alebo rovný počtu stĺpcov N,<br />
môže byť zapísaná ako súčin<br />
stĺpcovo-ortogonálnej matice U typu M x N,<br />
diagonálnej matice W typu N x N<br />
s kladnými alebo nulovými prvkami (singulárnymi hodnotami)<br />
a transponovanej ortogonálnej matice V typu N x N.
Metóda singulárneho rozkladu<br />
Ortogonálnosť matíc U a V môžeme zapísať nasledovne
Metóda singulárneho rozkladu<br />
SVD dekompozícia môže byť vykonaná aj keď M < N.<br />
V takom prípade singulárne hodnoty w j<br />
sú všetky nulové<br />
ako aj odpovedajúce stĺpce matice U.<br />
pre j = M+1, …, N<br />
Existuje viacero algoritmov na SVD,<br />
osvedčená je subroutina svdcmp z Numerical Recipes.
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
2. Metóda singulárneho rozkladu (SVD)<br />
• Úvod<br />
• SVD štvorcovej matice<br />
• SVD pre menej rovníc ako neznámych<br />
• SVD pre viac rovníc ako neznámych<br />
3. QR-rozklad<br />
4. Literatúra
Metóda singulárneho rozkladu štvorcovej matice<br />
Aj je matica A štvorcová, povedzme typu N x N,<br />
potom U , W a V sú všetko štvorcové matice typu N x N.<br />
Keďže U a V sú ortogonálne,<br />
ich inverzné matice sú rovné ich transponovaným maticiam.<br />
Potom môžeme písať vzťah pre inverznú maticu A<br />
A − 1<br />
diag( 1/ )<br />
T<br />
= V ⋅ ⎡ w ⎤<br />
j ⋅ U<br />
⎢⎣<br />
⎥⎦<br />
SVD dáva jasnú diagnostiku situácie,<br />
ak sú niektoré singulárne hodnoty nulové<br />
alebo blízke nule.
Metóda singulárneho rozkladu štvorcovej matice<br />
Pripomeňme jednu z definícií<br />
čísla podmienenosti matice κ(A):<br />
( A)<br />
κ : =<br />
max<br />
min<br />
{ w }<br />
j<br />
{ w }<br />
j<br />
Matica je singulárna ak je jej číslo podmienenosti nekonečno.<br />
Matica je zle podmienená<br />
ak prevrátená hodnota jej čísla podmienenosti<br />
je blízka strojovej presnosti počítača,<br />
t.j. menšia než 10 -6 pre jednoduchú presnosť alebo<br />
10 -12 pre dvojnásobnú presnosť.
Metóda singulárneho rozkladu štvorcovej matice<br />
Prípad sústavy lineárnych rovníc<br />
Ax ⋅ = b<br />
v ktorej matica A je singulárna:<br />
,<br />
Naj<strong>sk</strong>ôr sa pozrime na prípad homogénnej sústavy,<br />
t.j. prípad keď b=0.<br />
SVD dáva priamo riešenie – každý stĺpec matice V,<br />
ktorého zodpovedajúca singulárna hodnota w j je nulová<br />
je riešením.
Metóda singulárneho rozkladu štvorcovej matice<br />
Hľadané riešenie systému s nenulovou pravou stranou<br />
pomocou SVD nájdeme nasledovne:<br />
• nahradíme 1/w j nulou ak w j =0<br />
• potom počítame (sprava doľava)<br />
x = V ⋅⎡diag 1/ ⎤<br />
⎢ ⎥<br />
⋅ ⋅<br />
⎣ ⎦<br />
U b<br />
( ) (<br />
T<br />
w )<br />
j<br />
Ak partikulárne riešenie leží v rozsahu (range) A,<br />
2<br />
potom má najmenšiu veľkosť x .<br />
Ak partikulárne riešenie neleží v rozsahu (range) A,<br />
r : =<br />
Ax ⋅ −b<br />
potom x minimalizuje rezíduum riešenia .
Metóda singulárneho rozkladu štvorcovej matice<br />
Matica A nie je singulárna
Metóda singulárneho rozkladu štvorcovej matice<br />
Matica A je singulárna
Metóda singulárneho rozkladu štvorcovej matice<br />
Doteraz sme uvažovali len o krajných prípadoch<br />
a to že matica sústavy je alebo nie je singulárna.<br />
Numericky je častý prípad,<br />
že singulárne hodnoty w j sú veľmi malé, no nenulové,<br />
takže matica je zle podmienená.<br />
V takom prípade môžu priame metódy<br />
po<strong>sk</strong>ytnúť formálne riešenie,<br />
ale vektor riešenia má nezmyselne veľké prvky,<br />
ktoré pri algebraickom krátení počas násobení maticou A<br />
dajú veľmi zlú aproximáciu vektora pravej strany.<br />
Vtedy je často lepšie malé hodnoty w j vynulovať a<br />
riešenie určiť podľa vzorca<br />
(s tým, že 1/w j nahradíme nulou ak w j =0)<br />
x diag( 1/ ) (<br />
T<br />
= V ⋅⎡<br />
w ⎤<br />
)<br />
⎢<br />
j ⎥<br />
⋅ ⋅<br />
⎣ ⎦<br />
U b<br />
Je nutné byť ale opatrný a<br />
dobre zvoliť prahovú hodnotu nulovania veličín w j
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
2. Metóda singulárneho rozkladu (SVD)<br />
• Úvod<br />
• SVD štvorcovej matice<br />
• SVD pre menej rovníc ako neznámych<br />
• SVD pre viac rovníc ako neznámych<br />
3. QR-rozklad<br />
4. Literatúra
Metóda singulárneho rozkladu pre menej rovníc ako neznámych<br />
Ak máme menej rovníc ako neznámych<br />
neočakávame jediné riešenie.<br />
Obyčajne existuje celý N - M rozmerný priestor riešení,<br />
ktorý chceme nájsť.<br />
SVD dá v takomto prípade<br />
N - M nulových alebo zanedbateľne malých hodnôt w j .<br />
Ak niektoré z M rovníc degenerujú,<br />
môžeme zí<strong>sk</strong>ať ďalšie nulové w j .<br />
Potom tie stĺpce matice V,<br />
ktorých zodpovedajúca singulárna hodnota w j je nulová<br />
tvoria bázové vektory hľadaného priestoru riešení.<br />
Partikulárne riešenie nájdeme aplikovaním vzorca<br />
x = V ⋅⎡diag 1/ ⎤<br />
⎢ ⎥<br />
⋅ ⋅<br />
⎣ ⎦<br />
U b<br />
( ) (<br />
T<br />
w )<br />
j
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
2. Metóda singulárneho rozkladu (SVD)<br />
• Úvod<br />
• SVD štvorcovej matice<br />
• SVD pre menej rovníc ako neznámych<br />
• SVD pre viac rovníc ako neznámych<br />
3. QR-rozklad<br />
4. Literatúra
Metóda singulárneho rozkladu pre viac rovníc ako neznámych<br />
Ak máme viac rovníc ako neznámych<br />
hľadáme riešenie,<br />
v zmysle problému najmenších štvorcov.<br />
Riešime teda sústavu, zapísanú tabuľkovo nasledovne:
Metóda singulárneho rozkladu pre viac rovníc ako neznámych<br />
Po aplikácii SVD na maticu A dostaneme<br />
riešenie v tvare<br />
V tomto prípade nie je zvyčajne nutné nulovať hodnoty w j<br />
avšak neobvykle malé hodnoty indikujú, že<br />
dáta nie sú citlivé na niektoré parametre.
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
2. Metóda singulárneho rozkladu (SVD)<br />
• Úvod<br />
• SVD štvorcovej matice<br />
• SVD pre menej rovníc ako neznámych<br />
• SVD pre viac rovníc ako neznámych<br />
3. QR-rozklad<br />
4. Literatúra
QR rozklad<br />
Podobne ako LU rozklad matice,<br />
existuje aj tzv. QR rozklad matice<br />
A = Q.R<br />
kde R je hornátrojuholníkovámatica a<br />
Q je ortogonálna matica, teda platí<br />
Q T .Q = I.<br />
Riešenie sústavy rovníc nájdeme riešením<br />
R.x = Q T .b<br />
QR rozklad vyžaduje asi 2-krát viac operácií<br />
ako LU rozklad,<br />
ale existujú špeciálne typy rovníc,<br />
v ktorých je výhodnejšie ho použiť.
Prednáška č. 5<br />
OBSAH<br />
1. Gradientné iteračné metódy riešenia<br />
systému lineárnych rovníc<br />
• Metóda najväčšieho spádu<br />
• Metóda združených (konjugovaných) gradientov (CG)<br />
• Zovšeobecnenia metódy CG<br />
• Konvergencia metódy CG<br />
• Predpodmienenie (preconditioning)<br />
• Zhrnutie<br />
2. Metóda singulárneho rozkladu (SVD)<br />
• Úvod<br />
• SVD štvorcovej matice<br />
• SVD pre menej rovníc ako neznámych<br />
• SVD pre viac rovníc ako neznámych<br />
3. QR-rozklad<br />
4. Literatúra
Literatúra
Literatúra
Literatúra