Medzi základné úlohy lineárnej algebry patrí riešenie sústavy lineárnych rovníc v tvare $\mathbb{A}\mathbf{x}=\mathbf{b}$

\[\begin{pmatrix} a_{11} & a_{12} & a_{13} & \dots & a_{1n} \\ a_{21} & a_{22} & a_{23} & \dots & a_{2n} \\ \dots & \dots & \dots & \dots & \dots \\ a_{n1} & a_{n2} & a_{n3} & \dots & a_{nn} \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ \dots \\ x_n \end{pmatrix} = \begin{pmatrix} b_{1} \\ b_{2} \\ \dots \\ b_{n} \end{pmatrix},\]

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í:

  1. priamy beh - úprava matice na trojuholníkový alebo diagonálny tvar (okrem diagonály má všade nuly),
  2. 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}$:

\[\begin{pmatrix} c_{11} & c_{12} & c_{13} & \dots & \dots& \dots & c_{1n} \\ 0 & c_{22} & c_{23} & \dots & \dots& \dots & c_{2n} \\ \dots & 0 & \dots &\dots& \dots & \dots & \dots \\ \dots & \dots & \dots& \dots& \dots & \dots & \dots \\ 0 & 0 & \dots& \dots& c_{n-2, n-2} &c_{n-2, n-1} & c_{n-2, n} \\ 0 & 0 & \dots& \dots& 0 &c_{n-1, n-1} & c_{n-1, n} \\ 0 & 0 & 0 & \dots &\dots & 0 &c_{nn} \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ \dots \\ \dots \\ x_{n-2} \\ x_{n-1}\\ x_n \end{pmatrix} = \begin{pmatrix} d_{1} \\ d_{2} \\ \dots \\ \dots \\ d_{n-2} \\ d_{n-1} \\ d_{n} \end{pmatrix}\]

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<-.