Õppetund
Teooria — Gaussi elimineerimine232 sõna
Elimineerimine taandab süsteemi samaväärsele kolmnurkkujule, mille lahendi saab seejärel alt üles välja lugeda. Meetodi olulisus ei seisne pelgalt selle toimimises – toimivaid meetodeid on mitu. Otsustavaks saab hoopis see, mida selle rakendamine maksab, sest just arvutuskulukus määrab, millise algoritmi masin tegelikult valib.
Mida iga sümbol tähendab
n- tundmatute arv ja ühtlasi ainus tegur, millest arvutuskulukus sõltub.
pivot- kordaja, millega rida jagatakse. Algoritmi paika pandud tehete järjekord muudab protseduuri otsustevabaks; see aga, milline arv juhtelemendi kohale satub, tagab arvutuse töökindluse ujukomaarvudega töötamisel.
- Eeldab
- Eeldatakse ärakasutatava struktuurita tihedat süsteemi. Hõredate, lint- või sümmeetriliste süsteemide lahendamine on odavam ning õige spetsialiseeritud meetodi valik moodustabki arvutusliku lineaaralgebra põhiosa.
- Ei kehti, kui
- Arvutuskulu on kuupfunktsioon ja kuupfunktsioon on otsekui sein. n tundmatuga süsteemi elimineerimine nõuab ligikaudu
n³/3korrutamist ja sama palju liitmisi. Reaalsel elimineerimisel tehteid üle lugedes on juhuln = 100tulemuseks 333 300 korrutamist hinnangulise 333 333 vastu. See astendaja toob endaga kaasa vääramatu karistuse süsteemi kasvu eest: tundmatute arvu kahekordistamine korrutab töömahu täpselt 8-ga. Seega vajab 100 tundmatut 333 300 korrutamist ja 200 tundmatut juba 2 666 600 korrutamist. Masin, mis lahendab tuhande tundmatuga süsteemi ühe sekundiga, vajab seega kahe tuhande jaoks kaheksat sekundit ning kahekümne tuhande tarvis ligikaudu kahte ja veerandit tundi. Selline see sein välja näebki. Just sel põhjusel ei ole arvutusliku lineaaralgebra kõige põnevam küsimus peaaegu kunagi selles, kuidas tihedat süsteemi lahendada, vaid hoopis selles, kuidas niisugusest süsteemist hoiduda.
Ülesanded täielikult lahendatud
-
2x + y − z = 8 lahendamine ja selle kulu täpsuses 7 sammu
Lahenda süsteem 2x + y − z = 8, −3x − y + 2z = −11, −2x + y + 2z = −3. Seejärel leia, millise lõivu nõudis elimineerimine täpsuselt.
-
Kirjuta süsteem laiendatud maatriksina. Tähtedest pole siin mingit kasu. Jäta need ära ja säilita vaid veerud.
-
Vali juhtelemendiks esimese veeru suurim liige. Selleks on teise rea −3, mis tuleb nüüd üles vahetada. Iga reavahetus pöörab determinandi märki. Pea nende üle arvet.
-
Nulli ülejäänud esimene veerg. Selleks lahuta ridadest juhtelemendi rea kordsed.
-
Korda sama protseduuri teise veeruga. Vaata seejärel alumist rida. Selles on järel vaid üks tundmatu ja selle väärtus.
-
Tee tagasiasendusi alt üles. Viimane rida annab z-i. Keskmine annab seejärel y-i ja kõige ülemisest saad x-i.
-
Determinandi saamiseks korruta juhtelemendid ja arvesta juurde kahe reavahetuse märk. Kontrolli lahendit algsete, mitte taandatud võrrandite kaudu.
-
Jääk tuleb umbes 10⁻¹⁶, mis ei ole päris null. See on vältimatu ümardamisvea suurus. See ongi aus arv, mida näidata. Täielikku täpsust lubav vastus põhineb kas täisarvude aritmeetikal või pigistab lihtsalt silmad kinni. Muuda ilma juhtelemendi valikuta režiimis juhtkordaja väärtuseks 10⁻¹⁷. Seesama jääk saab kohe väärtuseks 1. See on nüüd juba täiest kõrist karjuv hoiatus.
Vastus
x = 2, y = 3, z = −1, determinant −1. Umbes 10⁻¹⁶ suurune jääk näitabki, et arvutus on just nii täpne, kui ujukomaarvutus lubab. Lülita halvasti skaleeritud süsteemis juhtelemendi valik välja ja just see number ütleb sulle, et vastus on vale.
-
-
Determinant 0, kaks korda, tähendades kaht eri asja 7 sammu
Sellel eelseadistusel pole lahendit ja järgmisel on neid lõpmata palju, ning mõlemad trükivad determinandiks 0. Leia, mis neid tegelikult eristab, ja otsusta, mida parema poole muutmine üldse osta suudaks.
-
Osaline juhtelemendi valik vaatab esimeses veerus alla suurima kordaja järele. Ta leiab alumisest reast 3, seega on esimene käik reavahetus.
-
Nulli veerg: lahuta teisest reast ⅔ uuest esimesest reast ja kolmandast ⅓ sellest.
-
Teises veerus asub 4/3 juba 2/3 kohal, seega vahetada pole midagi. Lahuta kolmandast reast pool teisest reast.
-
Kolmas rida on nüüd vasakul tühi ja paremal on −½, mis loeb 0 = −½. Maha pandi ainult kaks juhtelementi, 3 ja 4/3, samas kui kolm tundmatut nõuavad kolme, ja puuduv juhtelement teeb korrutise nulliks.
-
Astak on see, mida determinant varjab. Kordajate maatriksil on kaks sõltumatut rida. Laiendatud maatriksil on neid kolm, sest see ülejäänud −½ on rida, mida miski taandada ei saa. Astak 2 astaku 3 vastu ongi see, mida „lahendit ei ole“ tähendab.
-
Eelseadistus Üks võrrand kolm korda teeb sama aritmeetika ja ütleb midagi muud. Iga rida on esimese kordne, seega on mõlemad astakud 1 ja determinant on jälle 0. Lahendihulgal on 3 − 1 = 2 vaba suunda: kogu tasand x + y + z = 3. Tööriist ütleb „lõpmata palju“, ütlemata, mitmes suunas.
-
Muuda üht arvu ja vaata, milline suurus liigub. Pane teise rea paremale poolele 7 asemel 6. Kordajate maatriks jääb puutumata, seega determinant ei võpata, kuid laiendatud astak langeb 2 peale ja vastuseks saab lahendite sirge, mitte lahendite puudumine.
Vastus
Determinant teatab ainult seda, kas kordajate maatriksil on täielik juhtelementide komplekt. Ta ei vaata kunagi paremale poolele, ja just seepärast ei suuda ta neid kahte eelseadistust eristada, kaks astakut aga suudavad: lahendit ei ole, kui nad lahknevad, ja lahendihulga mõõde on 3 − astak, kui nad kokku langevad. Kui determinant on juba 0, ei osta ükski parem pool sulle üht ainsat vastust — sa saad kas mitte ühtegi või terve pere, ja b otsustabki ainult nende kahe vahel. Jäägikaart kustub sama põhjuse pärast, mille jaoks ta olemas on: jäägi jaoks on vaja lahendit, mille saaks võrranditesse tagasi panna.
-
Õpitee
Tundmatu x leidmine miinusmärgist alates
Allikad (1)
- Two centuries of the method being reinvented and misattributed, including how Gauss's name came to be on it: J. F. Grcar, "How ordinary elimination became Gaussian elimination." Historia Mathematica 38:2 (2011), 163–218.