LineÄru vienÄdojumu sistÄ“mas. Gausa metode.
LineÄru vienÄdojumu sistÄ“mas. Gausa metode.
LineÄru vienÄdojumu sistÄ“mas. Gausa metode.
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Mana personīgā lapa – šeit.<br />
Adrese komentāriem: Karlis.Podnieks@lu.lv<br />
Algebra:<br />
Lineāru vienādojumu<br />
sistēmas<br />
Kārlis Podnieks, LU profesors<br />
Lekcijas<br />
This work is licensed under a Creative Commons License and is copyrighted © 2009-2012 by<br />
me, Karlis Podnieks.<br />
Literatūra<br />
[1] E-kursa materiāli (latviešu valodā).<br />
[2] A. G. Kurošs. Vispārīgās algebras kurss. Nauka, Maskava,<br />
1971 (vai cita gada izdevums). Pieejama tiešsaistē šeit (krievu<br />
valodā).<br />
[3] System of linear equations Wikipedia – ātram pārskatam, ja<br />
tēma jau zināma.<br />
[4] WolframAlpha Wikipedia – aprēķiniem tiešsaistē.<br />
Divi vienādojumi ar diviem nezināmajiem<br />
Visa tā lielā teorija, ko tūlīt studēsim, ir izaugusi no ļoti<br />
vienkārša uzdevuma.<br />
Atcerēsimies skolas laiku:<br />
2x+3y=5<br />
2x−3y=1<br />
Trīs <strong>metode</strong>s (var iznākt daļskaitļi):<br />
a) Metode: jautājiet WolframAlpha:<br />
{2x+3y=5, 2x−3y=1}<br />
{x+2y+3z=1, 2x+2y+z=3, 3x+3y+5z=4}<br />
b) "Izteikt x ar y":
x= 5−3y<br />
2<br />
;(5−3y)−3y=1 ; 4=6y ; y= 2<br />
3<br />
c) "Saskaitīt, lai pazūd": 4x=6 ; x= 3<br />
2<br />
Bet kāda tam jēga?<br />
; x= 3<br />
2 .<br />
2x −1 2<br />
; y= =<br />
3 3 .<br />
Kāpēc to ir vērts zināt un prast?<br />
1) Optimizācijas uzdevumi.<br />
Piemērs: no 50L spirta un 90L ūdens taisām divus maisījumus – 40% un 20%.<br />
Abu cena ir 1 Ls par 1L. Kā jārīkojas, lai nopelnītu visvairāk?<br />
Apzīmējam: x – pirmā maisījuma daudzums litros, y – otrā. Tātad mums ir<br />
jāatrod skaitļi x, y ar vislielāko x+y, kam izpildās divi nosacījumi:<br />
0.4x+0.2y≤50;<br />
0.6x+0.8y≤90.<br />
[Bilde no WolframAlpha: {0.4x+0.2y=50, 0.6x+0.8y=90}, ar taisnes<br />
x+y=C bīdīšanu.]<br />
Uzdevuma atrisinājums būs punkts, kurā krustojas taisnes 0.4x+0.2y=50,<br />
0.6x+0.8y=90, t.i. lineāru vienādojumu sistēmas atrisinājums.<br />
Reālos optimizācijas uzdevumos mainīgo skaits ir lielāks – pat simtos un<br />
tūkstošos. Tad ir jārisina attiecīgi lielākas vienādojumu sistēmas.<br />
2) Dator-modelēšanas uzdevumi.<br />
Piemērs: PKikusts.EXE – programma, kas modelē gāzes molekulu kustību. Kā<br />
tādu uzrakstīt?<br />
Trīs situācijas (atceramies skolu...)<br />
x+5y=1<br />
x+5y=3<br />
Nav neviena atrisinājuma. Kāpēc? Sauksim to par<br />
nesavietojamu (pretrunīgu, nekonsistentu) vienādojumu<br />
sistēmu.<br />
2x+3y=5<br />
2x−3y=1
Ir tikai viens atrisinājums: x=3/2; y=2/3. Sauksim to par<br />
savietojamu un noteiktu sistēmu.<br />
3x−y=1<br />
6x−2y=2<br />
Bezgalīgi daudz atrisinājumu: x=t; y=3t−1. Kāpēc? Sauksim to<br />
par savietojamu un nenoteiktu sistēmu. Pavisam nenoteikta<br />
jau nu tā nav...<br />
3 vienādojumi, 3 nezināmie<br />
(a) x+2y+3z=1;<br />
(b) 2x+2y+z=3;<br />
(c) 3x+3y+5z=4.<br />
Metode: jautājiet WolframAlpha:<br />
{x+2y+3z=1, 2x+2y+z=3, 3x+3y+5z=4}<br />
Metode "izteikt un ievietot"...<br />
Metode "izdalīt, pareizināt un atņemt" – izslēdzam vispirms x,<br />
tad – y:<br />
d) (b−2a) −2y−5z=1;<br />
e) (c−3a) −3y−4z=1.<br />
f) (d/−2) y+ 5<br />
2<br />
z=− 1<br />
2 ;<br />
g) (e+3f) (−4+3 5 3<br />
)z=1−<br />
2 2<br />
h) (g/(7/2)) z=− 1<br />
7 ;<br />
y=− 1 5<br />
−<br />
2 2<br />
z=− 1<br />
7 ;<br />
; jeb 7<br />
2<br />
z=− 1<br />
2 ;<br />
x=1 −2y −3z= 12<br />
7 .<br />
Šo metodi sauc arī par <strong>Gausa</strong> metodi jeb
izslēgšanas metodi (Gaussian Elimination). Šo metodi ir<br />
visvieglāk vispārināt, t.i. piemērot 4 un vairāku vienādojumu<br />
sistēmām – un “iemācīt” datoram!<br />
Carl Friedrich Gauss Wikipedia (1777-1855) – viens no visu laiku<br />
izcilākajiem matemātiķiem.<br />
Droši vien, pats Kārlis Frīdrihs Gauss nemaz tik ļoti nepriecātos, uzzinot, ka<br />
viņam piedēvē tik vienkāršu metodi, kas pie tam ķīniešiem bija zināma jau 2. gs.<br />
pmē. (sk. Gaussian Elimination Wikipedia )<br />
<strong>Gausa</strong> <strong>metode</strong>:<br />
uzlabotā tehnikā uz tāfeles<br />
Risinot sistēmas ar lielāku nezināmo skaitu, vienādojumu<br />
pārrakstīšana kļūst apgrūtinoša. Taču bez tās var iztikt:<br />
(a) x+2y+3z=1;<br />
(b) 2x+2y+z=3;<br />
(c) 3x+3y+5z=4.<br />
1 2 3 1<br />
2 2 1 3<br />
3 3 5 4<br />
−> atņemam (b)−2(a) un (c)−3(a)<br />
1 2 3 1<br />
0 −2 −5 1<br />
0 −3 −4 1<br />
> dalām (b) ar −2<br />
1 2 3 1<br />
0 1 5/2 −1/2<br />
0 −3 −4 1
piekaitām (c)+3(b)<br />
1 2 3 1<br />
0 1 5/2 −1/2<br />
0 0 7/2 −1/2<br />
> dalām (c) ar 7/2<br />
1 2 3 1<br />
0 1 5/2 −1/2<br />
0 0 1 −1/7<br />
Ievērojiet, ka iegūtā tabula ir “trīsstūrveida”. Esam ieguvuši<br />
ekvivalentu sistēmu:<br />
x+2y+3z=1 ;<br />
y+ 5<br />
2<br />
z=− 1<br />
2 ;<br />
z=− 1<br />
7 ,<br />
no kuras viegli atrodam nezināmo vērtības:<br />
z=− 1<br />
7 ;<br />
y=− 1 5<br />
−<br />
2 2<br />
z=− 1<br />
7 ;<br />
x=1 −2y −3z= 12<br />
7 .<br />
s vienādojumi, n nezināmie<br />
Kā vispārīgā veidā pierakstīt s lineārus vienādojumus ar n<br />
nezināmajiem?<br />
ax+by=c;<br />
dx+ey=f.<br />
Būs jāpierod pie jauniem apzīmējumiem:
a 11 x 1 +a 12 x 2 =b 1 ;<br />
a 21 x 1 +a 22 x 2 =b 2 .<br />
Lasām "a viens viens", nevis<br />
"a vienpadsmit", utt.<br />
a 11 x 1 +a 12 x 2 +a 13 x 3 =b 1 ;<br />
a 21 x 1 +a 22 x 2 +a 23 x 3 =b 2 ;<br />
a 31 x 1 +a 32 x 2 +a 33 x 3 =b 3 .<br />
Daži no koeficientiem var būt nulles, piemēram:<br />
a 11 x 1 +a 12 x 2 +a 13 x 3 =b 1 ;<br />
.......... a 22 x 2 +a 23 x 3 =b 2 ;<br />
.................... a 33 x 3 =b 3 .<br />
Šeit a 21 = a 31 = a 32 = 0.<br />
Sekojot šiem paraugiem, uzrakstiet paši vispārīgu 4<br />
vienādojumu sistēmu ar 4 nezināmajiem.<br />
Tagad vispārīgais gadījums –<br />
s vienādojumi, n nezināmie:<br />
a 11 x 1 +a 12 x 2 + ... + a 1n x n =b 1 ;<br />
a 21 x 1 +a 22 x 2 + ... + a 2n x n =b 2 ;<br />
...<br />
a s1 x 1 +a s2 x 2 + ... + a sn x n =b s .<br />
Koeficients a ij (i-tais vienādojums, j-ais koeficients – pie x j ).<br />
Brīvais loceklis b i .<br />
Pie šiem apzīmējumiem būs jāpierod.
<strong>Gausa</strong> <strong>metode</strong> vispārīgajā gadījumā<br />
Kā to izstāstīt? Un kā to noprogrammēt?<br />
No piemēriem mēs jau zinām, ka <strong>Gausa</strong> <strong>metode</strong> ir veidota no<br />
šādiem elementāriem soļiem:<br />
a) Izdalām vienādojuma abas puses ar kādu<br />
skaitli C (kas nav nulle).<br />
b) No viena vienādojuma V 1 atņemam otru V 2 ,<br />
pareizinātu ar kādu skaitli D, un rezultātu<br />
V 1 −D∙V 2 liekam V 1 vietā.<br />
Ko darīt, ja šajā operācijā rodas vienādojums 0=0?<br />
Piemērs: x+y=1; 2x+2y=2.<br />
Tad operāciju b) nemaz neizpildām, bet vienādojumu V 1<br />
vienkārši atmetam. Kāpēc tā? Piemērs: x+y=1; 2x+2y=2.<br />
Ko darīt, ja šajā operācijā rodas vienādojums 0=1 vai tml.?<br />
Piemērs: x+y=1; 2x+2y=3.<br />
Tad vienādojumi V 1 un V 2 nav savietojami, un tāpēc nav<br />
savietojama arī visa sistēma. Tad tālāk vairāk nekas nav jādara.<br />
Dažos gadījumos nākas izmantot vēl divas vienkāršas<br />
operācijas:<br />
c) Divus vienādojumus apmainīt vietām.<br />
d) Divus nezināmos apmainīt vietām.<br />
Piemērs:<br />
0x+2y+3z=4,<br />
2x+3y+4z=5,<br />
3x+4y+5z=6.<br />
Divi varianti: vai nu pārvietojam vienādojumus
2x+3y+4z=5,<br />
0x+2y+3z=4,<br />
3x+4y+5z=6,<br />
vai arī pārvietojam nezināmos:<br />
2y+0x+3z=4,<br />
3y+2x+4z=5,<br />
4y+3x+5z=6.<br />
[Vienādojumu sistēmās visos vienādojumos nezināmos ir<br />
pieņemts sakārtot vienādā secībā.]<br />
Ar operāciju c) un d) palīdzību mēs vienmēr varam panākt, ka<br />
sistēmas kreisajā augšējā stūrī ir nezināmais ar<br />
nenulles koeficientu. Tālāk, šim koeficientam arī lietosim<br />
operāciju a).<br />
Vienādojumu skaits sistēmā operācijās a), b),<br />
c), d) nemainās vai samazinās.<br />
Vienādojumu sistēmas atrisinājums sakārtota skaitļu virkne:<br />
(c 1 , c 2 , ..., c n ), ko ieliekot (x 1 , x 2 , ..., x n ) vietā, visi s<br />
vienādojumi izpildās.<br />
Jēdziens par ekvivalentām vienādojumu sistēmām (abām der<br />
vai neder vieni un tie paši atrisinājumi).<br />
Lemma. Ja lineāru vienādojumu sistēma S 2 ir<br />
iegūta no sistēmas S 1 ar operāciju a), b), c), d)<br />
palīdzību (jebkurā secībā, arī ar<br />
atkārtojumiem), tad abas sistēmas ir<br />
ekvivalentas.<br />
Pierādījums. Matemātikas cienītājiem – pavisam viegls.<br />
Trīsstūrveida un trapecveida sistēmas.
Piemērs trīsstūrveida sistēmai (visi diagonāles<br />
koeficienti ir 1, sistēmas pēdējā vienādojumā ir viens<br />
nezināmais):<br />
x 1 +a 12 x 2 +a 13 x 3 =b 1 ; ← a 11 = 1;<br />
.......... x 2 +a 23 x 3 =b 2 ; ← a 21 = 0; a 22 = 1;<br />
.................... x 3 =b 3 ; ← a 31 =a 32 = 0; a 33 = 1.<br />
x+2y+3z=7;<br />
0x+y+2z=4;<br />
0x+0y+z=3.<br />
Trīsstūrveida sistēmai ir tieši viens atrisinājums, ko var ļoti<br />
viegli aprēķināt.<br />
Piemērs trapecveida sistēmai (visi diagonāles<br />
koeficienti ir 1, bet sistēmas pēdējā vienādojumā ir vairāk par<br />
vienu nezināmo):<br />
x 1 +a 12 x 2 +a 13 x 3 =b 1 ; ← a 11 = 1;<br />
.......... x 2 +a 23 x 3 =b 2 ; ← a 21 = 0; a 22 = 1.<br />
Pat ja a 23 = 0, tad x 3 varam ņemt patvaļīgu vērtību, bet x 2 var būt tikai viena<br />
vērtība b 2 . Tātad arī šai gadījumā sistēmai būs bezgalīgi daudz atrisinājumu.<br />
x+2y+3z=7;<br />
0x+y+2z=4.<br />
Trapecveida sistēmai jebkura gadījumā ir bezgalīgi daudz<br />
atrisinājumu, ko var viegli aprēķināt.<br />
Trīsstūrveida un trapecveida sistēmu apvienotā definīcija –<br />
ABĀM:<br />
a) visiem i, j, ja i>j, tad koeficients a ij =0;<br />
b) kā arī visiem i: a ii =1.
Kā <strong>Gausa</strong> <strong>metode</strong> darbojas vispārīgajā<br />
gadījumā?<br />
Rakstām programmu datoram:<br />
Ja vajag, vienādojumus pārkārtojam: sākumā ar operācijām c) vai d) izbīdām<br />
kreisajā augšējā stūrī vienādojumu vai nezināmo x i , pie kura koeficients nav<br />
nulle.<br />
Tad pirmajam vienādojumam izpildām operāciju a), lai koeficients pie x i kļūtu<br />
vienāds ar 1.<br />
Tad vairākkārt izpildām operāciju b), izslēdzot x i no otrā, trešā utt.<br />
vienādojumiem. Pēc tam pirmo vienādojumu “atliekam malā”.<br />
Tālāk, ja vajag, ar c), d) izbīdām diagonāles otrajā vietā vienādojumu vai<br />
nezināmo x j , pie kura koeficients nav nulle.<br />
Utt.<br />
Katrā tādā solī vienādojumu un nezināmo skaits samazinās par 1. Tā turpinām,<br />
līdz vienādojumi un/vai nezināmie izbeidzas, un operācijas a, b, c, d lietot vairs<br />
nav iespējams.<br />
Kāds var būt <strong>Gausa</strong> <strong>metode</strong>s rezultāts?<br />
Darbojoties ar <strong>Gausa</strong> metodi, darbu nobeidzot, ir iespējami<br />
tikai 3 varianti.<br />
1.variants – beigās rodas trīsstūris:<br />
...<br />
..... x 3 + 3x 4 + 2x 5 = 6;<br />
............. x 4 + 2x 5 = 3;<br />
...................... x 5 = 2.<br />
Un vairāk vienādojumu nav. Tad risinām "atpakaļ":<br />
x 5 =2; x 4 = –1; x 4 =5; utt.<br />
Tātad saskaņā ar mūsu Lemmu, šai gadījumā sākotnējai<br />
sistēmai ir viens un tikai viens atrisinājums (savietojama un<br />
noteikta sistēma).
2.variants – beigās rodas trapece.<br />
...<br />
.... x 3 + 2x 4 + x 5 = 4<br />
............. x 4 +3x 5 = 5<br />
Un vairāk vienādojumu nav. Tad risinām "atpakaļ":<br />
x 5 =t; x 4 =5−3t; utt.<br />
Tātad saskaņā ar mūsu Lemmu, šai gadījumā sākotnējai<br />
sistēmai ir bezgalīgi daudz atrisinājumu (savietojama un<br />
nenoteikta sistēma). Kā izskatās nenoteiktas sistēmas<br />
atrisinājumu formulas vispārīgajā gadījumā?<br />
3.variants – darbs beidzies (operācijas a, b, c, d lietot vairs nav<br />
iespējams), bet aiz pēdējā iegūtā “normālā” vienādojuma (kam<br />
pirmā nezināmā koeficients ir 1) ir palikuši vēl viens vai vairāki<br />
vienādojumi.<br />
Tad visi šie palikušie vienādojumi ir formā 0=h (ja kreisajā<br />
puse būtu palicis kaut viens nenulles koeficients, tad mēs to<br />
varētu apstrādāt ar operācijām c, d, a).<br />
Ja visos palikušajos vienādojumos h=0, tad tos visus var<br />
atmest, un mēs nonākam pie 1. vai 2.varianta.<br />
Ja kādā no palikušajiem vienādojumiem h≠0, tad tas ir<br />
neizpildāms vienādojums. Tad saskaņā ar mūsu Lemmu, šai<br />
gadījumā sistēmai nav neviena atrisinājuma (nesavietojama<br />
sistēma).<br />
Piemērs: ...........0 = 1; ← neizpildāms.<br />
Esam pierādījuši teorēmu:<br />
Teorēma. Jebkuru savietojamu lineāru<br />
vienādojumu sistēmu ar <strong>Gausa</strong> <strong>metode</strong>s<br />
palīdzību var pārveidot ekvivalentā<br />
trīsstūrveida vai trapecveida sistēmā.
Nesavietojamai sistēmai, <strong>Gausa</strong> <strong>metode</strong>s darba<br />
laikā parādās vienādojums 0=h, kur h≠0.<br />
Vienādojumu skaits un nezināmo skaits<br />
Secinājumi no <strong>Gausa</strong> <strong>metode</strong>s:<br />
1) Ja s=n (vienādojumu ir tikpat cik nezināmo)<br />
tad ir iespējami visi varianti: sistēma vai nu ir<br />
nesavietojama, vai arī atrisinājumu skaits ir<br />
viens vai bezgalīgi daudz. Kāpēc?<br />
2) Ja sn (vienādojumu ir vairāk nekā<br />
nezināmo) tad tajā ir vismaz s−n atkarīgu<br />
vienādojumu! Kāpēc? Piemērs – 5 v. un 4 n. Ir<br />
iespējami visi varianti: sistēma vai nu ir<br />
nesavietojama, vai arī atrisinājumu skaits ir<br />
viens vai bezgalīgi daudz.<br />
Homogēnas sistēmas<br />
Definīcija: visi brīvie locekļi ir nulles.<br />
x+2y+3z=0;<br />
2x+2y+z=0;<br />
3x+3y+5z=0.<br />
Nulles atrisinājums homogēnai sistēmai der vienmēr: (0, 0, 0),<br />
t.i. tās vienmēr ir savietojamas.<br />
Ja lietojam <strong>Gausa</strong> metodi, kas var iznākt? Trīsstūris (tad der
tikai nulles atrisinājums) vai trapece (tad sistēmai ir arī<br />
bezgalīgi daudz nenulles atrisinājumu). Kāpēc?<br />
Datoriķiem: <strong>Gausa</strong> <strong>metode</strong>i<br />
nepieciešamais programmas darbības laiks<br />
Sk. Gaussian Elimination Wikipedia .<br />
Ja n lineāru vienādojumu sistēmu ar n nezināmajiem risina ar<br />
<strong>Gausa</strong> metodi, tad pavisam iznāk izpildīt aptuveni n 2 dalīšanas<br />
operāciju, aptuveni n 3 reizināšanas un aptuveni n 3 atņemšanas<br />
operāciju.<br />
Uzdevums (i-iespēja). Saskaitiet precīzāk operācijas, kas<br />
jāizpilda, risinot s vienādojumu sistēmu ar n nezināmajiem.<br />
Jāiegūst 3 formulas.<br />
Tas nozīmē, ka izmantojot datorus, ar <strong>Gausa</strong><br />
metodi var sekmīgi risināt sistēmas, kurās ir<br />
līdz tūkstotim vienādojumu un nezināmo.<br />
Bet ja vienādojumu skaits sniedzas miljonos,<br />
tad būs jāizmanto citas <strong>metode</strong>s. Par tām sk. to pašu<br />
Gaussian Elimination Wikipedia .<br />
Datoriķiem: vēl viena problēma...<br />
Gaussian Elimination Wikipedia – te varat izlasīt par vēl vienu<br />
problēmu:<br />
<strong>Gausa</strong> metodē atņemšanas operācijas mijas ar dalīšanām.<br />
Piemērs:<br />
x+y=1;<br />
x+1,001y=2;<br />
Atņemot no otrā vienādojuma pirmo:<br />
0,001y=1;
y=1000; x=−999.<br />
Ja 1,001 būtu radies noapaļošanas rezultātā, t.i. īstenībā tur ir<br />
skaitlis no 1,0005 līdz 1,0015, tad īstā y vērtība ir robežās no<br />
666,7 līdz 2000. Tāpēc korektāk būtu par rezultātu uzskatīt<br />
nevis y=1000, bet gan:<br />
y≈ 666,7+2000<br />
≈1333 ; x≈−1332 .<br />
2<br />
Ja atņemšanas rezultātā rodas ļoti mazs skaitlis, ar kuru pēc<br />
tam ir jādala, tad tas stipri palielina rēķināšanas kļūdas.<br />
Tāpēc,programmējot praktiskai lietošanai, <strong>Gausa</strong> metodi vajag<br />
vēl vairāk pilnveidot... Kā?