2014 m. lapkričio 26 d., trečiadienis

Tiesinių lygčių sprendimas Gauso metodu

Matematika ir aš niekada nebuvome geri draugai, todėl su baime laukiau matematikos paskaitų universitete. Ilgai laukęs sulaukiau, ir, turiu pasakyti, mano baimės visai pasiteisino - tik spėji sprendinį nurašyt nuo lentos, o jo ten jau nebėra, atsiranda kitas sprendinys, kuris priklauso nuo pirmojo, paskui trečias, kuris priklauso jau nuo abiejų pirmųjų. Aiškinimo nebuvo daug - ištęstinių studijų privalumas turbūt, todėl kai po vieno (!) uždavinio sprendimo gaudavau antrą uždavinį spręsti savarankiškai... Įsivaizduoju, kad panašiai turėtų atrodyti žmogus, išmestas į didžiulės turgaus aikštės, esančios kokioje Kinijoje ar Indijoje, vidurį. Vienu žodžiu, ne kas.


Baisiausias pasirodė Gauso metodas, naudojamas tiesinių lygčių sistemos sprendimui. Kol dėstytoja rašo - lyg ir viskas aišku: "čia darom nulius, va šitą skaičių man atrodo geriausiai padaryti nuliu, darom, tada iš čia irgi padarom nulį, paskui čia (- dėstytoja, kodėl? - Man taip atrodo geriau. )ir paskui va čia padalinam ir pridedam ir gaunam". Kai reikia spręsti pačiam - nuliai arba vienoj, arba kitoj vietoj, tik ne abu kartu...
Svarbiausia, kad, man rodos, perkandau šitą baisybę, todėl noriu pasidalinti ir su kitais, ką bėdos prispaudė, o ypač noriu pasidalinti su savo bendramoksliais.
Taigi,
GAUSO METODAS
Karlas Frydrichas Gausas gyveno kiek senokai, 1777 - 1855 metais. Matematinius sugebėjimus parodė būdamas trijų metų, kai, kaip pasakojama, rado klaidą savo tėvo buhalteriniuose skaičiavimuose. Gavęs paramą ir vietinio hercogo, studijavo universitete, aspigynė disertaciją ir paskui visą amželį ramiai dirbo tame pačiame universitete. K. F. Gausas pasižymėjo ne vienoje srityje: skaičių teorija, matematinėje analizėje, diferencialinėje geometrijoje, geodezijoje, astronomijoje, optikos teorijoje ir kitur. Beje, Gauso metodas tik pavadintas šio mokslininko vardu (jis berods jį patobulino), tačiau išrastas jis buvo ne jo.
Gauso metodo esmė - tiesinėje lygčių sistemoje padaryti tokius elementarius pertvarkius su eilutėmis, kad gautume trikampę sistemą, kur paskutinėje eilutėje tebūtų vienas skaičius, antroje nuo apačios - du ir t.t. Čia aprašinėsiu tik lygčių sistemas, kurių nežinomųjų skaičius lygus eilučių skaičiui.

Turime lygčių sistemą:


Pirmas veiksmas, kurį turime padaryti - visus koeficientus prie kintamųjų ir laisvuosius narius susirašyti į lentelę, t.y. matricą, kuri vadinama išplėstąaj sistemos matrica:

Gauso metodu sprendžiant lygčių sistemą reikia, atliekant elementarius pertvarkius matricoje, "pasidaryti" nulius po koeficientų matricos istrižaine:

Istrižainė pažymėta raudonomis linijomis, mėlynu trikampiu pažymėtos vietos, kur reikia "pasidaryti" nulius.
Darant elementariuosius pertvarkius su matricos eilutėmis galime atlikti tik tokius veiksmus:
  1. Eilutes galima sukeisti vietomis;
  2. Bet kurią eilutę galima padauginti iš bet kokio skaičiaus;
  3. Bet kurią eilutę galima padauginti iš bet kokio skaičiaus ir pridėti prie kitos eilutės, tačiau ta eilutė, kurią dauginame, lieka nepakitusi.

Nuo ko pradėti? Man asmeniškai čia buvo pagrindinis klausimas, į kurį atsakymo universitete nedavė arba aš tiesiog jo neišgirdau. Buvau priverstas ieškotis pats, ko nesigailiu, tiesą sakant.
Taigi, pirmiausia reikia turėti vienetą pirmoje eilutėje pirmame stulpelyje. Žiūrime į kitas eilutes - jeigu nors vienoje iš jų pirmas stulpelis būtų vienetas, eilutes paprasčiausiai sukeistume vietomis. Šiuo atveju nei vienoje eilutėje vieneto nėra. Ką galime daryti, kad pirmoje eilutėje atsirastų vienetas? Iš galimų veiksmų pirmasis (eilučių keitimas vietomis) kol kas atkrenta, lieka antras ir trečias. Kaip naudojantis antru ir trečiu veiksmu pirmame bet kurios eilutės stulpelyje gauti vienetą? Jeigu taikysime antrą veiksmą, t.y. dauginimą, atsiras trupmenos, ko aš visai nenoriu. Šis būdas tiktų, jei visus pirmos eilutės skaičius galima būtų padauginti, tarkim iš 1/2, t.y. padalinti iš dviejų. Tokiu atveju pirmoje eilutėje atsirastų 1 3/2 3 2 . Sitemą būtų galima spręsti toliau, tik kad nelabai gražiai viskas atrodys dėl antrame stulpelyje atsirandančios trupmenos. Lieka trečiasis veiksmas: kokią eilutę mes galėtume padauginti iš kažkokio skaičiaus ir prie kokios eilutės reiktų ją pridėti (arba atimti)?
Pirmame stulpelyje skaičiai nedideli, todėl pamatyti, iš ko įmanoma padaryti vienetą nėra sunku. Daug variantų: galima pirmą atimti iš antros (3-2=1), galima antrą atimti iš trečios (4-3=1). Turiu pasakyti, kad kiekvieną kartą galima išspęsti kitaip ir gauti tą patį atsakymą.
Aš pasirenku iš antros eilutės atimti pirmąją:

Vienetas yra, tačiau jo mums reikia pirmoje eilutėje. Sukeičiame pirmą ir antrą eilutes vietomis:

Turėdami vienetą pirmoje eilutėje pirmame stulpelyje turime atskaitos tašką, nuo kurio labai nesunku pradėt, ir čia kol kas nereikia galvot: mums reikia antroj ir trečioj eilutėje pirmame stulpelyje padaryti nulius. O nulį galime gauti atėmę (jei skaičius teigiamas) arba pridėję (jeigu skaičius neigiamas) tokį patį skaičių. Šiuo atveju antroje eilutėje pirmame stulpelyje yra 2, o 2 iš vieneto, kurį pasidarėme, gauti visiškai paprasta: tereikia padauginti iš dviejų. Taip pat ir trečia eilutė: jeigu iš trečios eilutės atimsime keturias pirmas eilutės, pirmas stulpelis joje bus nulis. Veikiame: pirmą eilutę padauginame iš dviejų ir atimame iš antros (t.y. iš antros atimame dvi pirmas eilutes); tada pirmą eilutę padauginame iš keturių ir atimame iš trečios (t.y. atimame keturias pirmas eilutes).

Skaičiai didėja, darosi baisu :) Tačiau gera naujiena, kad pirmas stulpelis sutvarkytas. Imamės antro. Antrame stulpelyje nulis turi būti tik vienas, trečiojoje eilutėje. Po visko eikite į prekybos centrą pirkti kalkuliatoriaus - prireiks :)
Aš dažniausiai strigdavau ties šia vieta. Labai sunku sugalvoti, ką iš ko atimti ar ką pridėti, jei skaičiai nepatogūs. Prastas, žodžiu, iš manęs matematikas. Todėl man pasirodė, kad tokiais atvejais lengviausias būdas - keikvieną eilutę padauginti iš kitos eilutės antro stulpelio skaičiaus, kurie gausis lygūs, todėl bus lengva gauti nulį. Įsivaizduoju, kaip matematikai juoksis iš tokių sprendimų, bet mane, ne matematiką, toks griozdiškas būdas išgelbėjo :) Taigi, antrą eilutę dauginu iš trečios eilutės antro stulpelio, t.y. 19, o trečią eilutę dauginu iš antros eilutės antro stulpelio, t.y. 11. Skaičiai didės... :D

Skaičiai dideli, bet gražūs, nes akivaizdu, kad iš trečios eilutės atėmę antrą trečiojoje eilutėje gausime nulį:

Jau matosi viso to grožis. Nulius turime visus, kuriuos reikia, grožio vardan galime padailinti trečią eilutę padalindami iš -32

Gauso metodas kaip ir pritaikytas. Per paskaitas mus mokė, kad čia sprendimo pabaiga: trečioje eilutėje turim nežinomąjį z, kuris šiuo atveju lygus 1. Tada, žinodami, kad z=1 įsistatome jį į antrą eilutę, kuri, jei grąžinsime nežinomuosius prie koeficientų, atrodo taip: 209y+494z=76. Žinodami z gauname 209y+494=76, 209y=76-494, 209y=-418, y=-418/209, y=-2. Žinodami, kad z=1 ir y=-2 į pirmą eilutę grąžinę koeficientus gauname 1x-4y-10z=0. Įsistatome rastus nežinomuosius y ir z: 1x-4*(-2)-10=0, x+8-10=0, x-2=0, x=2. Sprendimas turimas, lygtis išspręsta. Tačiau yra ir kita, gražesnė išeitis: pasidaryti daugiau nulių, kas (jeigu neklystu, o jeigu klystu - tepataiso mane išmanantys) vadinama Gauso - Žordano metodu.
Norėdami pritaikyti šį metodą, turime pasidaryti nulius virš matricos istrižainės. Pradedam nuo antros eilutės trečio stulpelio, trečią eilutę padaugindami iš 494 ir atimdami iš antros (man patogiau sakyti ir suprasti, kai sakau, jog iš antros atimame 494-ias trečias eilutes):


Gražumo vardan antrą eilutę padaliname iš 209

Liko pirmoje eilutėje antrame ir trečiame stulpelyje pasidaryti nulius. Turėdami vienetus šiuose stulpeliuose kitose eilutėse, tiesiog dauginame ir atiminėjame arba pridedame: prie pirmos eilutės pridedu keturias antras eilutes:


tada prie pirmos eilutės pridedu dešimt trečių eilučių:

Viskas. Nieko skaičiuoti įsistatinėjant į lygtis nebereikia, kiekvienos eilutės paskutinis stulpelis yra vieno iš nežinomųjų reikšmė:

x=2; y=-2; z=1
Uždaviniai pasibandymams:






Manau, kad savarankiškai išsprendus šias pridėtas tris sistemas Gauso metodas ne tik paaiškės, bet ir patiks. Juolab kad toks pertvarkinėjimas bus reikalingas ir ketvirtos eilės determinanto radimui.


Nuorodos:
Įrankis formulėms rašyti - panaudotas šiame straipsnyje rašomoms sistemoms ir matricoms, mažu prireiks :)
Man padėjęs Gauso metodo aprašymas - noriu padėkoti B. Burgiui už užvedimą ant kelio :)
Šiek tiek apie K. F. Gausą
Netyčia rastas užduočių sąrašas (*.doc formatu)

Komentarų nėra:

Rašyti komentarą