pro řešení soustav lineárních rovnic. Gaussova eliminační metoda pro řešení soustavy lineárních rovnic sestává ze dvou kroků:

Podobné dokumenty
Soustavy linea rnı ch rovnic

0.1 Úvod do lineární algebry

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Základy matematiky pro FEK

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

0.1 Úvod do lineární algebry

Obsah. Lineární rovnice. Definice 7.9. a i x i = a 1 x a n x n = b,

1 Determinanty a inverzní matice

Soustavy. Terminologie. Dva pohledy na soustavu lin. rovnic. Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová.

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Matematika B101MA1, B101MA2

IB112 Základy matematiky

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Operace s maticemi

1 Řešení soustav lineárních rovnic

Lineární (ne)závislost

Operace s maticemi. 19. února 2018

Součin matice A a čísla α definujeme jako matici αa = (d ij ) typu m n, kde d ij = αa ij pro libovolné indexy i, j.

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

1 Soustavy lineárních rovnic

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Soustavy lineárních rovnic

1/10. Kapitola 12: Soustavy lineárních algebraických rovnic

Lineární algebra. Soustavy lineárních rovnic

(Cramerovo pravidlo, determinanty, inverzní matice)

Připomenutí co je to soustava lineárních rovnic

1 Linearní prostory nad komplexními čísly

8 Matice a determinanty

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Cvičení z Numerických metod I - 12.týden

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

P 1 = P 1 1 = P 1, P 1 2 =

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava luk76/la1

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

1 Lineární prostory a podprostory

Soustavy lineárních rovnic a determinanty

Matematika I, část I. Rovnici (1) nazýváme vektorovou rovnicí roviny ABC. Rovina ABC prochází bodem A a říkáme, že má zaměření u, v. X=A+r.u+s.

1 Vektorové prostory.

Lineární algebra - I. část (vektory, matice a jejich využití)

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Co je obsahem numerických metod?

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Lineární algebra : Metrická geometrie

4. Trojúhelníkový rozklad p. 1/20

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Úvod do lineární algebry

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

Cvičení 5 - Inverzní matice

VĚTY Z LINEÁRNÍ ALGEBRY

Úvodní informace Soustavy lineárních rovnic. 12. února 2018

Číselné vektory, matice, determinanty

Soustava m lineárních rovnic o n neznámých je systém

Kapitola 11: Vektory a matice:

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Lineární algebra Operace s vektory a maticemi

Soustavy lineárních rovnic

2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi.

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

6 Lineární geometrie. 6.1 Lineární variety

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

7. Lineární vektorové prostory

Řešení. Hledaná dimenze je (podle definice) rovna hodnosti matice. a a 2 2 1

Základy maticového počtu Matice, determinant, definitnost

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

Úlohy nejmenších čtverců

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

1 Projekce a projektory

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Matematika. Kamila Hasilová. Matematika 1/34

1 0 0 u 22 u 23 l 31. l u11

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

Matice přechodu. Pozorování 2. Základní úkol: Určete matici přechodu od báze M k bázi N. Každou bázi napíšeme do sloupců matice, např.

9 Kolmost vektorových podprostorů

Aplikovaná numerická matematika - ANM

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

VEKTOROVÝ PROSTOR. Vektorový prostor V n je množina všech n-složkových vektorů spolu s operacemi sčítání, odčítání vektorů a reálný násobek vektoru.

Soustavy lineárních rovnic

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

7. Důležité pojmy ve vektorových prostorech

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Výběr báze. u n. a 1 u 1

4EK213 Lineární modely. 4. Simplexová metoda - závěr

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

Přednáška 4: Soustavy lineárních rovnic

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

Lingebraické kapitolky - Počítání s maticemi

Transkript:

Kapitola 2 Gaussova eliminace Název druhé kapitoly je současně názvem nejčastěji používané metody (algoritmu) pro řešení soustav lineárních rovnic. Gaussova eliminační metoda pro řešení soustavy lineárních rovnic sestává ze dvou kroků: převedení rozšířené matice soustavy pomocí elementárních řádkových úprav do řádkově odstupňovaného tvaru pomocí Gaussovy eliminace, nalezení všech řešení soustavy pomocí zpětné substituce. Oba kroky si nyní podrobně rozebereme. Začneme definicí řádkově odstupňovaného tvaru. Definice 2. Matice E = (a ij ) tvaru m n je v řádkově odstupňovaném tvaru, jestliže splňuje dvě následující podmínky: obsahuje-li i-tý řádek E i samé nuly, pak všechny řádky pod i-tým řádkem jsou také nulové, je-li v i-tém řádku E i první nenulový prvek v j-tém sloupci (tj. na místě (i, j)), pak všechny prvky, které leží v prvních j sloupcích a současně pod i-tým řádkem, se rovnají 0. První nenulový prvek v každém řádku nazýváme pivot. První podmínka říká, že u matice v řádkově odstupňovaném tvaru jsou všechny nulové řádky v dolní části matice. Z druhé podmínky vyplývá, že matice v řádkově odstupňovaném tvaru má tolik pivotů, kolik má nenulových řádků. V každém nenulovém řádku je právě jeden pivot.

2 KAPITOLA 2. GAUSSOVA ELIMINACE Cvičení 2. Rozhodněte, které z následujících matic jsou a které nejsou v řádkově odstupňovaném tvaru: A = 0 2 0 3 0 2 4 0 0 2 0 0 0 0 3 0 B = 2 0 3 0 0 2 4 0 0 0 0 0 0 0 0 0 C = 0 2 0 3 0 0 0 2 4 5 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 D = 0 2 0 0 2 4 0 0 0 0 0 0 0 Označte pivoty v těch maticích, které jsou v řádkově odstupňovaném tvaru. Gaussova eliminace algoritmus pro převedení libovolné matice do řádkově odstupňovaného tvaru pomocí elementárních řádkových úprav spočívá v několikerém opakování jednoho a téhož cyklu na stále menší matice. Ukážeme si jeden průběh cyklu. Nechť je dána matice A = (a kl ) tvaru m n. Předpokládáme, že cyklus Gaussovy eliminace již proběhl (i )-krát a z matice A jsme dostali matici B = (b kl ). Tento předpoklad také připouští možnost i = 0, tj. že výpočet pomocí Gaussovy eliminace začíná s maticí B = A. Cyklus sestává z následujících kroků: prohlížíme sloupce matice B zleva a najdeme první sloupec, který obsahuje nenulový prvek v i-tém řádku nebo v nějakém řádku pod i- tým řádkem; pokud takový sloupec neexistuje, pokračujeme posledním krokem, je-li první takový sloupec B j, označíme si místo (i, j) jako místo pro i-tý pivot, je-li prvek b ij na místě (i, j) rovný 0, přesuneme pomocí první elementární řádkové úpravy na místo i-tého řádku libovolný řádek pod i-tým řádkem, ve kterém je prvek v j-tém sloupci nenulový; v opačném případě pokračujeme hned následujícím krokem, pokud je na místě (i, j) nenulové číslo, přičteme ke všem ostatním řádkům pod i-tým řádkem vhodné násobky i-tého řádku tak, abychom vynulovali všechny prvky ve sloupci B j, které se nacházejí pod pivotem na místě (i, j) (tj. opakovaně používáme třetí elementární úpravu),

3 pokud jsou všechny prvky v i-tém řádku matice B a ve všech řádcích pod ním nulové, algoritmus končí. Průběh celého algoritmu si ukážeme v následující úloze. Úloha 2. Převeďte následující matici do řádkově odstupňovaného tvaru pomocí Gaussovy eliminace: 2 4 2 4 0 4 4 2 3 8 2 4 0 4 7. Řešení. Čísla na místech pro pivoty jsou vyznačena tučně: 2 4 2 4 0 4 4 2 3 8 2 4 0 4 7 2 4 0 0 2 4 2 0 0 0 0 0 0 0 0 0 3 2 4 0 0 2 4 2 0 0 2 4 2 0 0 2 4 5 2 4 0 0 2 4 2 0 0 0 0 3 0 0 0 0 0 Ověřit, že po skončení Gaussovy eliminace dostaneme matici v řádkově odstupňovaném tvaru, není obtížné. Především si všimněme, že pokud v i- tém průběhu cyklu nepřeskočíme druhý krok, zůstane po vykonání třetího a čtvrtého kroku na místě (i, j) nenulový prvek. Proběhne-li celý i-tý cyklus, prvních i řádků nové matice je nenulových. Pokud tedy v prvním kroku i-tého cyklu žádný nenulový prvek nenajdeme, znamená to, že i-tý řádek a všechny řádky pod ním jsou nulové. Řádky nad i-tým řádkem jsou naopak nenulové. Matice tak splňuje první podmínku z Definice 2.. Pokud v prvním kroku i-tého cyklu najdeme nějaký nenulový prvek a ve druhém kroku místo (i, j) pro i-tý pivot, znamená to, že všechny prvky matice B, které jsou v prvních j sloupcích a současně v i-tém řádku B i nebo v nějakém řádku pod ním, nulové. Po proběhnutí třetího a čtvrtého kroku bude na místě (i, j) nenulový prvek a všechny prvky pod ním budou nulové. První nenulový prvek v i-tém řádku tak bude na místě (i, j). Stejně.

4 KAPITOLA 2. GAUSSOVA ELIMINACE tak všechny prvky v prvních j sloupcích a pod i-tým řádkem budou nulové. Nová matice tak bude splňovat druhou podmínku Definice 2. pro i-tý řádek. Po skončení Gaussovy eliminace proto bude celá matice splňovat také druhou podmínku definice řádkově odstupňovaného tvaru. Cvičení 2.2 Napište program pro Gaussovu eliminaci. Později si dokážeme následující důležité tvrzení. Tvrzení 2.2 Je-li A libovolná matice a je-li E nějaká matice v řádkově odstupňovaném tvaru, kterou dostaneme z A pomocí elementárních řádkových úprav, pak jsou místa pro pivoty v matici E určená maticí A jednoznačně. Pivoty samotné, stejně jako celá matice E, nejsou maticí A určené jednoznačně. Cvičení 2.3 Najděte matici A, kterou lze různými posloupnostmi elementárních řádkových úprav převést do matic v řádkově odstupňovaném tvaru, které mají na stejných místech různé pivoty. Následující definice zavádí mimo jiné důležitý pojem hodnosti matice. Definice 2.3 Je-li A libovolná matice, pak počet pivotů (tj. počet nenulových řádků) v libovolné matici v řádkově odstupňovaném tvaru, kterou dostaneme z A pomocí elementárních řádkových úprav, nazýváme hodnost matice A. Hodnost matice A budeme označovat r(a) (symbol r pochází z anglického slova rank). Sloupce matice A, ve kterých leží místo pro nějaký pivot, nazýváme bázové sloupce matice A. Hodnost r(a) se tak rovná také počtu bázových sloupců matice A. Všimněte si, že smysluplnost definice hodnosti matice závisí na zatím nedokázaném Tvrzení 2.2. Cvičení 2.4 Najděte místa pro pivoty ve všech maticích ze Cvičení 2.. Určete hodnost těchto matic. Nyní se budeme zabývat otázkou, kdy soustava lineárních rovnic nemá žádné řešení, kdy je neřešitelná. Máme-li soustavu m lineárních rovnic o n

5 neznámých a x + a 2 x 2 + + a n x n = b, a 2 x + a 22 x 2 + + a 2n x n = b 2, a m x + a m2 x 2 + + a mn x n = b m,. (2.) označíme A = (a ij ) matici této soustavy a b = (b, b 2,..., b m ) T sloupcový vektor pravých stran. Rozšířenou matici této soustavy budeme zapisovat také [A b]. Tvrzení 2.4 Soustava (2.) nemá řešení, pokud je sloupec pravých stran b bázový sloupec rošířené matice soustavy [A b]. Sloupec b je bázový sloupec rozšířené matice soustavy [A b] právě když r(a) < r[a b]. Důkaz. Matici [A b] převedeme pomocí elementárních řádkových úprav do řádkově odstupňovaného tvaru [E c]. Je-li b bázový sloupec matice [A b], obsahuje tento sloupec nějaké místo pro pivot. Toto místo leží řekněme v i-tém řádku. V matici [E c] je v i-tém řádku jediný nenulový prvek c v posledním sloupci. Protože elementárním řádkovým úpravám matice [A b] odpovídají elementární úpravy soustavy, které podle Tvrzení.3 nemění množinu všech řešení soustavy, má soustava (2.) stejná řešení jako soustava s rozšířenou maticí [E c]. Rovnice této soustavy odpovídající i-tému řádku matice [E c] má tvar 0x + 0x 2 + + 0x n = c. Protože je c 0, nemá tato rovnice žádné řešení. Tím také celá soustava s rozšířenou maticí [E c] nemá žádné řešení. Proto je soustava (2.) rovněž neřešitelná. Všimněme si, že matice E je v řádkově odstupňovaném tvaru a že jsme ji dostali z A pomocí elementárních řádkových úprav. Bázové sloupce matice A jsou proto také bázovými sloupci matice [A b]. Jestliže je r(a) < r[a b], sloupec pravých stran musí být bázový v matici [A b]. Naopak, je-li b bázový sloupec matice [A b], má tato matice více bázových sloupců než matice A, proto r(a) < r[a b]. Tím je dokázána ekvivalence obou tvrzení z druhého odstavce. Tvrzení 2.4 doplníme důkazem, že soustava (2.) je řešitelná, pokud sloupec pravých stran b není bázový sloupec rozšířené matice [A b] této soustavy. Ukážeme, jak v takovém případě najít všechna řešení soustavy.

6 KAPITOLA 2. GAUSSOVA ELIMINACE Začneme případem, kdy platí b i = 0 pro všechny indexy i =,..., m. Takovou soustavu nazýváme homogenní soustava lineárních rovnic. Otázka řešitelnosti homogenních soustav je triviální. Soustava a x + a 2 x 2 + + a n x n = 0, a 2 x + a 22 x 2 + + a 2n x n = 0, a m x + a m2 x 2 + + a mn x n = 0. (2.2) má vždy aspoň jedno řešení x = x 2 = = x n = 0. Nazýváme jej triviální řešení. Homogenní soustava může mít ještě další řešení, jak ukazuje následující úloha. Úloha 2.2 Najděte všechna řešení soustavy x + 2x 2 + 2x 3 + 3x 4 = 0, 2x + 4x 2 + x 3 + 3x 4 = 0, 3x + 6x 2 + x 3 + 4x 4 = 0. Řešení. Rozšířenou matici soustavy 2 2 3 0 2 4 3 0 3 6 4 0 převedeme Gaussovou eliminací do řádkově odstupňovaného tvaru 2 2 3 0 0 0 3 3 0. 0 0 0 0 0 Původní soustava je tedy ekvivalentní soustavě Z druhé rovnice dostaneme a po dosazení za x 3 do první rovnice x + 2x 2 + 2x 3 + 3x 4 = 0, 3x 3 3x 4 = 0. x 3 = x 4 x = 2x 2 2x 3 3x 4 = 2x 2 2( x 4 ) 3x 4 = 2x 2 x 4.

7 Hodnoty neznámých x 2 a x 4 můžeme zvolit libovolně a pak dopočítáme hodnoty neznámých x a x 3 z posledních dvou rovností. Řešení soustavy je následující: x = 2x 2 x 4, x 2 x 3 = x 4, x 4 je volná neznámá, je volná neznámá. Řešení můžeme také vyjádřit pomocí sloupcových vektorů x 2x 2 x 4 2 x 2 x 3 = x 2 x 4 = x 2 0 + x 0 4 x 4 x 4 0 Označíme-li h = ( 2,, 0, 0) T a h 2 = (, 0,, ) T, můžeme obecné řešení soustavy vyjádřit ve tvaru x = x 2 h + x 4 h 2, kde x 2 a x 4 jsou libovolná reálná čísla. Poslední vyjádření množiny všech řešení soustavy připomíná parametrické vyjádření přímky nebo roviny. Zvolíme-li hodnoty parametrů x 2 = a x 4 = 0, dostaneme, že vektor h je řešením soustavy. Podobně také h 2 je řešením soustavy. Cvičení 2.5 Najděte všechna řešení několika homogenních soustav lineárních rovnic. Můžete dostat různá parametrická vyjádření množiny všech řešení nějaké soustavy pokud rozšířenou matici této soustavy převedete pomocí elementárních řádkových úprav do různých matic v řádkově odstupňovaném tvaru? Postup, který jsme použili při řešení Úlohy 2.2, můžeme snadno zobecnit na řešení libovolné homogenní soustavy lineárních rovnic (2.2). Rozšířenou matici soustavy [A 0] převedeme pomocí Gaussovy eliminace do řádkově odstupňovaného tvaru [E 0]. Neznámé, jejichž koeficienty leží v bázových sloupcích matice [A 0], nazveme bázové neznámé. Ostatní neznámé, jejichž koeficienty neleží v bázových sloupcích, nazveme volné neznámé. Počet bázových neznámých se rovná počtu bázových sloupců matice [A 0], tj. počtu míst pro pivoty v této matici, tj. počtu nenulových řádků.

8 KAPITOLA 2. GAUSSOVA ELIMINACE v matici [E 0]. Podle Definice 2.3 se tak počet bázových neznámých rovná hodnosti r = r[a 0] = r(a). Počet volných neznámých se proto rovná n r. Volné neznámé označíme x f, x f2,..., x fn r. Jejich hodnoty můžeme zvolit libovolně. Pak dopočítáme hodnoty bázových neznámých x b,..., x br následovně. V matici E je poslední nenulový řádek E r. V rovnici, která odpovídá tomuto řádku, je nenulový koeficient u jediné bázové neznámé x br. Z této rovnice můžeme proto vyjádřit neznámou x br pomocí volných neznámých. Předpokládejme, že jsme už našli vyjádření všech bázových neznámých x bi+,..., x br pomocí volných neznámých. V rovnici odpovídající i-tému řádku matice E je určitě nenulový koeficient u bázové neznámé x bi. Z bázových neznámých mohou mít nenulové koeficienty pouze x bi+,..., x br. Tyto neznámé už umíme vyjádřit pomocí volných neznámých. Po dosazení těchto vyjádření do rovnice odpovídající i-tému řádku matice [E, 0] vyjádříme také bázovou neznámou x bi pomocí volných neznámých. Tímto postupem, kterému říkáme zpětná substituce, postupně vyjádříme všechny bázové neznámé pomocí volných neznámých. Napíšeme-li tato vyjádření do sloupce včetně volných neznámých, najdeme podobně jako při řešení Úlohy 2.2 obecné řešení soustavy (2.2) ve tvaru x = x f h + x f2 h 2 + + x fn r h n r, kde h, h 2,..., h n r jsou vhodná konkrétní řešení této soustavy a x f,..., x fn r jsou libovolná reálná čísla. Dokázali jsme tak první část následující věty. Věta 2.5 Obecné řešení homogenní soustavy lineárních rovnic lze vyjádřit ve tvaru a x + a 2 x 2 + + a n x n = 0, a 2 x + a 22 x 2 + + a 2n x n = 0, a m x + a m2 x 2 + + a mn x n = 0 x = x f h + x f2 h 2 + + x fn r h n r, kde r = r(a) je hodnost matice soustavy A = (a ij ), h, h 2,..., h n r jsou vhodná konkrétní řešení této soustavy, a x f,..., x fn r jsou libovolná reálná čísla. Soustava má pouze triviální řešení právě když r(a) = n..

9 Důkaz. Zbývá dokázat ekvivalenci z druhého odstavce. Soustava má pouze triviální řešení právě když není žádná neznámá volná. To je právě když jsou všechny sloupce matice A bázové. Z Definice 2.3 plyne, že všechny sloupce matice A jsou bázové právě když r(a) = n. Řešení soustavy s obecnou pravou stranou probíhá analogicky. Úloha 2.3 Najděte všechna řešení soustavy x + 2x 2 + 2x 3 + 3x 4 = 4, 2x + 4x 2 + x 3 + 3x 4 = 5, 3x + 6x 2 + x 3 + 4x 4 = 7. Řešení. Rozšířenou matici soustavy [A b] = 2 2 3 4 2 4 3 5 3 6 4 7 převedeme Gaussovou eliminací do řádkově odstupňovaného tvaru 2 2 3 4 0 0 3 3 3 = [E c]. 0 0 0 0 0 Původní soustava je tedy ekvivalentní soustavě Z druhé rovnice dostaneme a po dosazení za x 3 do první rovnice x + 2x 2 + 2x 3 + 3x 4 = 4, 3x 3 3x 4 = 3. x 3 = x 4 x = 2 2x 2 x 4. Hodnoty neznámých x 2 a x 4 můžeme zvolit libovolně a pak dopočítáme hodnoty neznámých x a x 3 z posledních dvou rovností. Řešení soustavy je následující: x = 2 2x 2 x 4, x 2 x 3 = x 4, x 4 je volná neznámá, je volná neznámá.

0 KAPITOLA 2. GAUSSOVA ELIMINACE Vyjádříme-li řešení pomocí sloupcových vektorů, dostaneme x x 2 x 3 x 4 = 2 2x 2 x 4 x 2 x 4 x 4 = 2 0 0 + x 2 2 0 0 = x 4 Označíme-li p = (2, 0,, 0) T, h = ( 2,, 0, 0) T a h 2 = (, 0,, ) T, můžeme obecné řešení soustavy vyjádřit ve tvaru x = p + x 2 h + x 4 h 2, kde x 2 a x 4 jsou libovolná reálná čísla. Všimněte si, že vektor p je jedním konkrétním řešením soustavy, zvolímeli hodnoty volných neznámých x 2 = x 4 = 0. Srovnáme-li řešení Úlohy 2.3 s řešením Úlohy 2.2, vidíme že obecné řešení nehomogenní soustavy dostaneme jako součet konkrétního řešení p této soustavy a obecného řešení x 2 h + x 4 h 2 příslušné homogenní soustavy x + 2x 2 + 2x 3 + 3x 4 = 0, 2x + 4x 2 + x 3 + 3x 4 = 0, 3x + 6x 2 + x 3 + 4x 4 = 0. Tato vlastnost není žádnou specialitou soustavy řešené v Úloze 2.3. Dokážeme si to ve Větě 2.7. Postup pro řešení obecné soustavy (2.) je analogický postupu pro řešení homogenní soustavy (2.2). 0. Pomocí Gaussovy eliminace převedeme matici [A b] do řádkově odstupňovaného tvaru [E c]. Je-li sloupec pravých stran c bázovým sloupcem matice [E c], je soustava (2.) neřešitelná podle Tvrzení 2.4. Pokud není bázovým sloupcem matice [E c], pokračujeme následujícími kroky. Identifikujeme bázové a volné neznámé podle toho, jsou-li sloupcové vektory jejich koeficientů bázové sloupce matice [E c]. Pomocí zpětné substituce vyjádříme bázové neznámé pomocí volných neznámých.

Vyjádříme obecné řešení ve tvaru x = p + x f h + x f2 h 2 + + x fn r h r, kde p je vhodné konkrétní řešení soustavy (2.), h, h 2,..., h n r jsou vhodné sloupcové vektory dimenze m, x f,..., x fn r jsou libovolná reálná čísla a r = r(a). Pokud tedy sloupec pravých stran rozšířené matice [A b] soustavy (2.) není bázový sloupec této matice, je soustava řešitelná. Spolu s první částí Tvrzení 2.4 jsme tak dokázali následující důležitou větu. Věta 2.6 Soustava (2.) m lineárních rovnic o n neznámých je řešitelná právě když sloupec pravých stran není bázovým sloupcem rozšířené matice [A b] této soustavy. Dokážeme ještě následující větu. Věta 2.7 Obecné řešení x = p + x f h + x f2 h 2 + + x fn r h r řešitelné soustavy (2.) dostaneme tak, že ke konkrétnímu řešení p této soustavy přičteme obecné řešení x f h + x f2 h 2 + + x fn r h r příslušné homogenní soustavy (2.2). Soustava má jednoznačně určené řešení právě když r(a) = n, kde A je matice soustavy. Důkaz. Označíme p = (p, p 2,..., p n ) T konkrétní řešení soustavy (2.). Pro každé j =, 2,..., m proto platí a j p + a j2 p 2 + + a jn p n = b j. Dále označíme q = (q, q 2,..., q n ) T = x f h + x f2 h 2 + + x fn r h r. Je-li vektor p + q = (p + q,..., p n + q n ) T také řešení soustavy (2.), musí platit pro každé j =, 2,..., m Odtud plyne a j (p + q ) + a j2 (p 2 + q 2 ) + + a jn (p n + q n ) = b j. b j = a j (p + q ) + a j2 (p 2 + q 2 ) + + a jn (p n + q n ) = = (a j p + a j2 p 2 + + a jn p n ) + (a j q + a j2 q 2 + + a jn q n ) = = b j + a j q + a j2 q 2 + + a jn q n.

2 KAPITOLA 2. GAUSSOVA ELIMINACE Proto a j q + a j2 q 2 + + a jn q n = 0 pro každé j =, 2,..., m. Vektor q je tedy řešením homogenní soustavy (2.2). Je-li naopak vektor r = (r, r 2,..., r n ) T řešením homogenní soustavy (2.2), platí a j r + a j2 r 2 + + a jn r n = 0 pro každé j =, 2,..., m. Potom b j = (a j p + a j2 p 2 + + a jn p n ) + (a j r + a j2 r 2 + + a jn r n ) = a j (p + r ) + a j2 (p 2 + r 2 ) + + a jn (p n + r n ). Vektor p + q je tedy řešením soustavy (2.). Právě jsme dokázali, že řešitelná soustava (2.) má jednoznačně určené řešení právě když příslušná homogenní soustava (2.2) má pouze triviální řešení. Poslední tvrzení tak plyne z Věty 2.5. Efektivita Gaussovy eliminace Jak efektivní je algoritmus pro řešení soustavy lineárních rovnic založený na Gaussově eliminaci a zpětné substituci? Efektivitu algoritmu můžeme měřit různými způsoby. Kolik operační paměti je k němu potřeba? Jak dlouho trvá výpočet? Odpověď na první otázku je důležitá v případě, že algoritmus vyžaduje velkou operační paměť. Velikost operační paměti se stále zvětšuje. Moje první PC v roce 988 mělo 52kB operační paměti. Nyní používám notebook, který má 52MB operační paměti. Důležitost odhadu velikosti operační paměti, která je třeba pro realizaci algoritmu, se proto v čase mění. Nyní lze bez problémů řešit úlohy, jejichž řešení bylo ještě před 0 lety nemyslitelné. Odpověď na druhou otázku závisí především na rychlosti procesoru. Ta se prudce zvyšuje. Odhad efektivity algoritmu by neměl záviset na tom, jak se vyvíjí hardware, na kterém algoritmus realizujeme. Mnohem vhodnější je spočítat kolik základních operací musí algoritmus vykonat. Zrychlení procesoru znamená zkrácení doby, která je třeba pro realizaci jednotlivých základních operací, nemění ale jejich počet. Gaussova eliminace používá sčítání, odčítání, násobení a dělení. Kromě toho při prohazování řádků matice musí procesor přepsat adresy, kde data uchovává. Doba potřebná pro přepisování adres je zanedbatelná v porovnání s dobou, která je třeba pro provedení základních aritmetických operací. Algoritmy pro základní aritmetické operace jsou většinou shodné s těmi algoritmy, které jsme se učili na prvním

3 stupni základní školy. Doba potřebná pro násobení/dělení je tak podstatně větší než doba potřebná pro sčítání/odčítání. Proto si spočítáme zvlášť, kolikrát je nutné při řešení soustavy lineárních rovnic násobit/dělit, a kolikrát je třeba sčítat/odčítat. Začneme řešením soustavy n lineárních rovnic o n neznámých, jejíž matice má hodnost n. Lze totiž ukázat, že takové soustavy vyžadují nejvíce operací mezi všemi soustavami, které mají nejvýše n rovnic a nejvýše n neznámých (zkuste si rozmyslet proč). Tvrzení 2.8 Řešení soustavy n lineárních rovnic o n neznámých, jejíž matice má hodnost n, Gaussovou eliminací a zpětnou substitucí vyžaduje nejvýše 3 n3 + n 2 3 n násobení/dělení, a 3 n3 + 2 n2 5 6 n sčítání/odčítání. Důkaz. Označme matici soustavy A = (a ij ). Je to čtvercová matice řádu n a podle předpokladu je její hodnost n. Označme dále vektor pravých stran b. Spočítáme, kolik jakých operací je třeba vykonat při prvním průběhu hlavního cyklu Gaussovy eliminace. Všechny prvky prvního řádku rozšířené matice soustavy [A b] s výjimkou prvku a musíme vynásobit číslem a 2 /a. Výpočet tohoto prvku vyžaduje jedno dělení a násobení celého prvního řádku s výjimkou prvku a vyžaduje dalších n násobení. Odečtení (a 2 /a )-násobku prvního řádku od druhého vyžaduje n odečítání. Řádky sice mají n + prvků, jejich první čísla ale nemusíme odečítat. Koeficient a 2 /a jsme zvolili tak, abychom dostali na místě (2, ) nulu. Celkem tedy pro úpravu druhého řádku potřebujeme n + n násobení/dělení, a sčítání/odčítání. Tímto způsobem musíme upravit všech n řádků pod prvním řádkem rozšířené matice soustavy [A b]. Celkem tedy první průběh cyklu Gaussovy eliminace vyžaduje (n )(n + ) = n 2 násobení/dělení, a (n )n = n 2 n sčítání/odčítání. Při druhém průběhu hlavního cyklu Gaussovy eliminace se nemusíme zabývat prvky v prvním řádku a prvním sloupci. Druhý průběh tedy vyžaduje (n 2)n = (n ) 2 násobení/dělení, a

4 KAPITOLA 2. GAUSSOVA ELIMINACE (n 2)(n ) = (n ) 2 (n ) sčítání/odčítání. Celá Gaussova eliminace tak vyžaduje n (i 2 ) = 3 n3 + 2 n2 5 6 n i= násobení/dělení, a n (i 2 i) = 3 n3 3 n i= sčítání/odčítání. Protože má matice A hodnost n, dostaneme po skončení Gaussovy eliminace matici d d 2 d n e 0 d 22 d 2n e 2......., 0 0 d nn e n ve které jsou všechny pivoty d ii 0. Formulka pro výpočet neznámé x i zpětnou substitucí je x i = d ii (e i d i,i+ x i+ d i,i+2 x i+2 d in x n ) pro i =, 2,..., n. Výpočet neznámé x i tak vyžaduje n i + n i násobení/dělení, a sčítání/odčítání. Celkem tedy zpětná substituce vyžaduje n n (n i + ) = i = 2 n2 + 2 n i= i= n n (n i) = i = 2 n2 2 n i= i=0 násobení/dělení, a sčítání/odčítání. Gaussova eliminace spolu se zpětnou substitucí tak vyžaduje celkem 3 n3 + 2 n2 5 6 n + 2 n2 + 2 n = 3 n3 + n 2 3 n násobení/dělení, a 3 n3 3 n + 2 n2 2 n = 3 n3 2 n2 5 6 n sčítání/odčítání.

5 Cvičení 2.6 Dokažte všechny formulky pro sumy v předchozím důkazu matematickou indukcí podle n. Spolehlivost Gaussovy eliminace Gaussova eliminace spolu se zpětnou substitucí najde správně všechna řešení dané soustavy lineárních rovnic. Problém nastává v okamžiku, kdy reálná čísla vyjadřujeme pomocí plovoucí desetinné čárky, tj. ve tvaru ±0, d d 2 d t β ɛ, kde základ β, exponent ɛ a cifry 0 d i < β pro i =, 2,..., t jsou celá čísla. Takovou reprezentaci reálných čísel používá naprostá většina programovacích jazyků. Obvyklý dekadický zápis dostaneme volbou β = 0. Binární zápis dostaneme, pokud β = 2. 64-bitový procesor přirozeně používá základ β = 2 64. Číslo t nazýváme přesnost nebo také počet platných cifer. Problém je, že čísla v tomto vyjádření nejsou uzavřená na základní aritmetické operace. Součin nebo podíl dvou takových čísel může vyžadovat více platných cifer. V takovém případě je výsledek zaokrouhlen na t platných cifer. Aritmetika čísel vyjádřených pomocí plovoucí desetinné čárky není exaktní. Výsledky základních aritmetických operací jsou zatížené zaokrouhlovacími chybami. Tyto chyby se v průběhu delšího výpočtu akumulují a důsledkem může být, že konečný výsledek se velmi liší od správného výsledku, který dostaneme používáme-li exaktní aritmetiku. Efekt zaokrouhlovacích chyb si ukážeme na řešení soustavy 47x + 28y = 9, 89x + 53y = 36. Gaussova eliminace následovaná zpětnou substitucí vede při použití exaktní aritmetiky k výsledku x = a y =. Zkusíme provést zcela stejný postup s přesností na tři platné cifry. První problém nastane hned při pokusu převést rozšířenou matici soustavy ( 47 28 ) 9 89 53 36 do řádkově odstupňovaného tvaru. Při zaokrouhlování výsledku každé aritmetické operace na tři platné cifry dostaneme po prvním cyklu Gaussovy eliminace matici ( ) 47 28 9. 0, 2 0, 0,

6 KAPITOLA 2. GAUSSOVA ELIMINACE Pokud tedy nepoužíváme exaktní aritmetiku, může se stát, že se nám nepodaří převést matici do řádkově odstupňovaného tvaru. Potom ale nelze použít zpětnou substituci. Jedinou možností, jak tento problém obejít, je prostě napsat do matice číslo 0, pokud nějakou operaci provádíme s cílem vynulovat příslušný prvek matice. Čili Gaussova eliminace prováděná s přesností na tři platné cifry vede k matici ( ) 47 28 9. 0 0, 0, Zpětnou substitucí pak dostaneme řešení y = a x = 0, 9. Problém zaokrouhlovacích chyb můžeme v některých případech odstranit parciální pivotací. Ta spočívá v tom, že na místo pro pivot vždy převedeme pomocí první elementární řádkové úpravy největší číslo v absolutní hodnotě, které lze prohozením příslušného řádku s nějakým řádkem pod ním na toto místo dostat. Parciální pivotace ale nepomůže vždy. Exaktní řešení soustavy je 0x + 0 5 y = 0 5, x + y = 2 x = 0000 000 a y = 0002 000. Nyní počítáme řešení s platností na tři platné cifry. Protože 0 >, není parciální pivotace nutná. Gaussova eliminace vede k matici ( ) 0 0 5 0 5 0 0 4 0 4. Zpětná substituce pak vede k řešení x = 0 a y =. Problém s touto soustavou spočívá ve skutečnosti, že první rovnice obsahuje koeficienty, které jsou mnohem větší než koeficienty v druhé rovnici. Lze jej odstranit tím, že změníme měřítka, ve kterých počítáme jednotlivé neznámé. V našem případě pomůže, pokud nepočítáme neznámou y, ale y = 000y. Místo původní soustavy tak řešíme soustavu 0x + 0y = 0, x + 0 3 y = 2.

7 Žádná obecně použitelná metoda pro vyloučení zaokrouhlovacích chyb ale neexistuje. Problém zaokrouhlovacích chyb zdánlivě vyřeší systémy, které používají exaktní aritmetiku. Jejich problém ale spočívá v mnohem menší rychlosti výpočtů. Je-li nutné řešit soustavu s obrovským počtem rovnic a neznámých, může se stát, že exaktní aritmetika je prakticky nepoužitelná. Při praktickém řešení soustav lineárníich rovnic se lze setkat ještě s problémem jiného druhu. Exaktní řešení soustavy je 0, 835x + 0, 667y = 0, 68, 0, 333x + 0, 266y = 0, 067 x = a y =. Změníme-li nepatrně pravou stranu druhé rovnice na 0, 066, dostaneme soustavu která má exaktní řešení 0, 835x + 0, 667y = 0, 68, 0, 333x + 0, 266y = 0, 066, x = 666 a y = 834. O soustavách, u kterých nepatrná změna koeficientů způsobí velkou změnu řešení, říkáme že jsou to chybně formulované úlohy. Geometrická příčina tohoto jevu je v našem konkrétním případě následující. Každá rovnice určuje přímku v rovině. Jejich průsečík je řešením soustavy. Směrnice obou přímek jsou téměř stejné. Nepatrný posun jedné z přímek tak způsobí velký posun jejich průsečíku. Pokud jsou koeficienty soustavy výsledkem nějakého měření, neznáme je nikdy s absolutní přesností. Každý měřící přístroj má nějakou toleranci. Řešení chybně formulované úlohy je nepřijatelně závislé na přesnosti odečtu výsledků měření, která určují koeficienty soustavy. Na takové řešení je lépe se nespoléhat. Nutné je upravit fyzikální model, který k soustavě vedl tak, abychom po úpravě dostali úlohu, která není chybně formulovaná. Exaktní aritmetika v tomto případě nemůže pomoci. Chybně formulované úlohy mají ještě jeden rys, který je dobré si uvědomit. Zkusme do soustavy 0, 835x + 0, 667y = 0, 68, 0, 333x + 0, 266y = 0, 067

8 KAPITOLA 2. GAUSSOVA ELIMINACE dosadit x = 666 a y = 834. Dostaneme 0, 835 ( 666) + 0, 667 834 0, 68 = 0, 0, 333 ( 666) + 0, 266 834 0, 067 = 0, 00. Zdá se, že čísla x = 666 a y = 834 soustavě téměř vyhovují. Ve skutečnosti se ale velmi liší od exaktního řešení x = a y =. Gaussova-Jordanova eliminace Gaussova-Jordanova eliminace je upravená Gaussova eliminace, která převádí danou matici do redukovaného řádkově odstupňovaného tvaru. Definice 2.9 Matice E tvaru m n je v redukovaném řádkově odstupňovaném tvaru, jestliže je v řádkově odstupňovaném tvaru, první nenulový prvek v každém řádku (tj. každý pivot) se rovná, všechny prvky nad každým pivotem (v témže sloupci) jsou rovné 0. Algoritmus pro Gaussovu-Jordanovu eliminaci získáme úpravou čtvrtého kroku algoritmu pro Gaussovu eliminaci. Ten provedeme v následující podobě: pokud je na místě (i, j) nenulové číslo b ij, vynásobíme i-tý řádek číslem b ij a poté přičteme ke všem ostatním řádkům různým od i-tého řádku vhodné násobky tohoto řádku tak, abychom vynulovali všechny prvky ve sloupci B j, různé od pivotu na místě (i, j) (tj. opakovaně používáme třetí elementární úpravu). Gaussova-Jordanova eliminace je náročnější na výpočet než Gaussova eliminace. O kolik náročnější nám říká následující tvrzení. Tvrzení 2.0 Řešení soustavy n lineárních rovnic o n neznámých, jejíž matice má hodnost n, Gaussovou eliminací a zpětnou substitucí vyžaduje nejvýše 2 n3 + 2 n2 násobení/dělení, a 2 n3 2 n sčítání/odčítání.

9 Důkaz. Důkaz je podobný důkazu Tvrzení 2.8, proto budeme postupovat rychleji. Matici soustavy označíme A = (a ij ). Při prvním průběhu hlavního cyklu Gaussovy-Jordanovy eliminace potřebujeme n násobení/dělení při násobení prvního řádku číslem a. Vynulování prvku na místě (2, ) vyžaduje dalších n násobení/dělení a n sčítání/odčítání. To musíme udělat se všemi n řádky pod prvním řádkem. Celkem tedy první průběh hlavního cyklu vyžaduje n + (n )n násobení/dělení, a (n )n sčítání/odčítání. Abychom při druhém průběhu hlavního cyklu dostali číslo na místě (2, 2), musíme použít n násobení/dělení. Vynulování všech prvků ve druhém sloupci s výjimkou čísla na místě (2, 2) vyžaduje dalších (n )(n ) násobení/dělení a (n )(n ) sčítání/odčítání. Celkem tedy Gaussova- Jordanova eliminace vyžaduje n (i + (n )i) = 2 n3 + 2 n2 i= násobení/dělení, a n (n )i = 2 n3 2 n i= sčítání/odčítání. Po skončení Gaussovy-Jordanovy eliminace dostaneme matici 0 0 e 0 0 e 2....... 0 0 e n ze které přímo vyčteme řešení x i = e i pro i =, 2,..., n. Zpětnou substituci není nutné v tomto případě provádět. Počet operací nutných pro Gaussovu- Jordanovu eliminaci tak stačí pro řešení soustavy n lineárních rovnic o n neznámých s maticí hodnosti n. Srovnání Tvrzení 2.8 s Tvrzením 2.0 ukazuje, že řešení soustavy Gaussovou-Jordanovou eliminací vyžaduje zhruba o 50% operací více, než výpočet Gaussovou eliminací následovaný zpětnou substitucí. Proč tedy vůbec o Gaussově-Jordanově eliminaci mluvit? Důvod spočívá v tom, že Gaussova-Jordanova metoda se více hodí pro jiné úlohy než je řešení soustav lineárních rovnic. Dále má určité teoretické výhody, protože platí následující věta, kterou si rovněž dokážeme později.

20 KAPITOLA 2. GAUSSOVA ELIMINACE Tvrzení 2. Převedeme-li matici A do redukovaného řádkově odstupňovaného tvaru pomocí elementárních řádkových úprav, dostaneme jednoznačně určenou matici E A. Výsledkem Gaussovy-Jordanovy eliminace použité na nějakou matici A je tedy jednoznačně určená matice E A. Narozdíl od výsledku Gaussovy eliminace, ve kterém jsou podle Tvrzení 2.2 jednoznačně určená pouze místa pro pivoty.