3. cvičenie 2.3.2023
Medzi základné úlohy lineárnej algebry patrí riešenie sústavy lineárnych rovníc v tvare $\mathbb{A}\mathbf{x}=\mathbf{b}$
kde $\mathbb{A}$ je regulárna matica typu $n \times n$, $\mathbf{b}$ je vektor pravej strany a $\mathbf{x}$ je riešenie sústavy. V praxi riešime i úlohy s maticami, ktoré majú $n$ rovníc a $m$ neznámych, kde neplatí $n=m$, či singulárne sústavy typu $n\times n$, ak si definujeme, aký typ riešenia hľadáme. Ďalšími základnymi úlohami sú výpočet inverznej matice, výpočet determinantu, či hľadanie vlastných čísel a vektorov matice.
Na treťom a štvrtom cvičení budeme preberať predovšetkým riešenie sústavy lineárnych rovníc. Vo všeobecnosti tieto metódy delíme na priame (finitné), iteračné a gradientné metódy. Na tomto cvičení sa zameriame na priame metódy.
Riešenie sústavy pomocou priamych metód pozostáva z dvoch častí:
- priamy beh - úprava matice na trojuholníkový alebo diagonálny tvar (okrem diagonály má všade nuly),
- spätný beh - riešenie sústavy pre hornú/dolnú trojuholníkovú alebo diagonálnu maticu.
Základné priame metódy sú:
- Gaussova eliminácia,
- Gauss-Jordanova eliminácia,
- LU metóda.
Predtým než začneme, pozrite si ->základné príkazy lineárnej algebry v Matlabe<-. Príkazy si vyskúšajte vo svojom Matlabe.
Gaussova eliminácia
Priamy beh
Gaussovu elimináciu dobre poznáte z lineárnej algebry. Priamy beh Gaussovej eliminácie spočíva v prevedení matice na hornú trojuholníkovú maticu. V počítači teda musíme v cykloch postupne nulovať všetky prvky pod diagonálou matice $\mathbb{A}$ (a pritom robiť aritmetické úpravy i vo vektore $\mathbf{b}$!).
V numerike sa musíme pozerať na presnosť riešenia sústavy. Kvôli konečnej presnosti čísel totiž môže dôjsť k zaokrúhľovacím chybám. Preto používame tzv. pivoting.
Pivot = $a_{11}$ = prvý prvok v prvom riadku a prvom stĺpci matice $\mathbb{A}$.
Význam a ukážku pivotingu si pozrite v tomto súbore: ->PIVOTING<-. Všimnite si, ako zmena pivota upresnila riešenie!
Spätný beh
Po získaní hornej trojuholníkovej matice musíme previesť spätný beh, teda riešime sústavu s hornou trojuholníkovou maticou $\mathbb{C}\mathbf{x}=\mathbf{d}$:
Jednotlivé prvky vektoru $x$ budeme dopočítavať zdola hore, od $x_n$, $x_{n-1}$, až po $x_1$.
Program z videa si môžete stiahnuť ->tu<-.
Gauss-Jordanova metóda
Gauss Jordanova metóda je takmer identická s Gaussovou elimináciou. Rozdiel je v priamom behu, kde namiesto trojuholníkovej matice dostávame maticu s diagonálou s jedničkami. Spätný beh bude v tomto prípade menej náročný. Stačí, aby sme v jednom cykle priradili výsledné prvky vektoru $x_n,x_{n-1},x_{n-2},…x_{1}$. Pozrite si názornú ukážku Gauss-Jordanovej metódy ->v tomto súbore<-. Všimnite si, že pomocou Gauss-Jordanovej metódy sme schopní priamo vypočítať inverznú maticu.
LU metóda
Vysvetlenie a príklad LU metódy nájdeš v tomto súbore: ->LU metóda<-. Interaktívnu LU metódu si môžete vyskúšať na ->tejto stránke<-.