Výpočet Gaussovho tvaru matice

Na výpočet Gaussovho tvaru matice možno použit' nasledujúci jednoduchý algoritmus: A1: Ak matica má všetky riadky nulové, tak je automaticky v Gaussovom tvare. V opačnom prípade vyberieme taký riadok, v ktorom nenulový prvok má najmenší stĺpcový index (je "najviac vl'avo"), a pomocou riadkovej operácie O1 tento riadok presunieme na prvé miesto. A2: Použitím riadkovej operácie O2 vytvoríme v prvom riadku vedúcu jednotku, a postupným aplikovaním riadkových operácií O3 dosiahneme, aby v stĺpci pod touto vedúcou jednotkou boli všetky prvky rovné nule. A3: Odmyslíme si prvý riadok a zopakujeme predchádzajúce dva kroky algoritmu na takto vzniknutej "menšej" matici. Postup rekurzívne opakujeme až kým nedostaneme maticu v Gaussovom tvare.

Redukovaný Gaussov tvar sa pomocou uvedeného algoritmu dostane tak, že v kroku A2 sa pomocou postupného používania riadkovej operácie O3 postaráme o to, aby sme vynulovali aj prvky v stĺpci nad vedúcou jednotkou.

Príklad 3. Nasleduje ukážka použitia algoritmu pre úpravu matice

\begin{displaymath}{\bf A}=\left( \begin{array}{rrrrr}
1 & -2 & 3 & -1 & 3 \\
...
...
3 & -4 & 5 & 1 & 5 \\
2 & -4 & 6 & 1 & 8 \end{array}\right) \end{displaymath}

do Gaussovho tvaru. Ked'že prvok najviac vl'avo v prvom riadku je (vedúca) jednotka, prejdeme rovno na krok A2, čiže na vytvorenie núl pod touto jednotkou. To dosiahneme tak, že pripočítame dvojnásobok prvého riadku k druhému riadku, (-3)-násobok prvého riadku k tretiemu riadku, a napokon (-2)-násobok prvého riadku ku poslednému riadku. Tak dostaneme z pôvodnej matice s riadkami $R_1$, $R_2$, $R_3$ a $R_4$ novú (ekvivalentnú) maticu s nezmeneným prvým riadkom a novým druhým, tretím a štvrtým riadkom $R'_2$, $R'_3$ a $R'_4$. Symbolicky, vykonanie uvedených riadkových operácií typu O3 označíme takto: $R'_2=R_2+2R_1$, $R'_3=R_3+(-3)R_1$, a $R'_4=R_4+(-2)R_1$. Potom prejdeme na krok A3, čiže ignorujeme prvý riadok a kroky A1 a A2 znova aplikujeme na druhom až štvrtom riadku vzniknutého medzivýsledku, atd'Celý postup (spolu so symbolickým znázornením použitých riadkových operácií) je uvedený nižšie:

\begin{displaymath}{\bf A}=\left( \begin{array}{rrrrr}
1 & -2 & 3 & -1 & 3 \\
...
..._2=R_2+2R_1 \\ R'_3=R_3+(-3)R_1 \\ R'_4=R_4+(-2)R_1 \end{array}\end{displaymath}


\begin{displaymath}\cong \left( \begin{array}{rrrrr}
1 & -2 & 3 & -1 & 3 \\
0 ...
...}{l} R'_3=\frac12 R_3 \\ R_2\leftrightarrow R'_3 \\ \end{array}\end{displaymath}


\begin{displaymath}\cong \left( \begin{array}{rrrrr}
1 & -2 & 3 & -1 & 3 \\
0 ...
...gin{array}{l} R'_3=\frac16 R_3 \\ R'_4=R_4+(-3)R'_3 \end{array}\end{displaymath}


\begin{displaymath}\cong \left( \begin{array}{rrrrr}
1 & -2 & 3 & -1 & 3 \\
0 ...
...1 & 2/3 \\
0 & 0 & 0 & 0 & 0 \end{array}\right) ={\bf B} \ \ .\end{displaymath}

Matica $\bf B$ je Gaussovým tvarom matice $\bf A$; samozrejme ${\bf B}\cong{\bf A}$.

Ak by sme chceli dostat' redukovaný Gaussov tvar matice $\bf A$, je potrebné splnit' aj podmienku G5, teda vynulovat' všetky prvky nad vedúcimi jednotkami v matici $\bf B$. Výpočet by teda formálne pokračoval napr. takto:

\begin{displaymath}{\bf B}=\left( \begin{array}{rrrrr}
1 & -2 & 3 & -1 & 3 \\
...
...
\begin{array}{l} R'_2=R_2+(-2)R_3 \\ R'_1=R_1+R_3 \end{array}\end{displaymath}


\begin{displaymath}\cong \left( \begin{array}{rrrrr}
1 & -2 & 3 & 0 & 11/3 \\
...
...\end{array}\right)
\begin{array}{l} R'_1=R_1+2R_2 \end{array}\end{displaymath}


\begin{displaymath}\cong \left( \begin{array}{rrrrr}
1 & 0 & -1 & 0 & -3 \\
0 ...
...1 & 2/3 \\
0 & 0 & 0 & 0 & 0 \end{array}\right) ={\bf C}\ \ . \end{displaymath}

Matica $\bf C$ je redukovaným Gaussovým tvarom pôvodnej matice $\bf A$.

Na tomto mieste by sme radi upozornili, aké dôležité je dobré ovládanie uvedeného algoritmu na určenie (redukovaného) Gaussovho tvaru matice -- ten je totiž základom pre riešenie väčšiny úloh v tejto podkapitole (a neskôr úloh na riešenie sústav lineárnych rovníc).

Na Gaussov tvar matice sa viaže d'alší dôležitý pojem. Pod hodnost'ou matice rozumieme počet nenulových riadkov v Gaussovom tvare danej matice. Hodnost' matice $\bf A$ budeme označovat' symbolom $h({\bf A})$. Pozor -- hodnost' $h({\bf A})$ sa nemusí vždy rovnat' počtu nenulových riadkov matice $\bf A$! Na to, aby sme stanovili hodnost' matice $\bf A$, treba ju najprv pomocou riadkových operácií upravit' do Gaussovho tvaru, a v ňom spočítat' počet nenulových riadkov; ten môže často byt' menší ako počet nenulových riadkov v pôvodnej matici! Tak napr. pre hodnost' matice $\bf A$ z predchádzajúceho príkladu platí $h({\bf A})=3$, pretože jej Gaussov tvar (matica $\bf B$) má 3 nenulové riadky.

Dá sa dokázat', že pre každú maticu $\bf A$ typu $m\times n$ platí: $h({\bf A})\le min\{ m,n\}$.