23
Gauss–Jordan-elimin´ aci´o Feladat: megoldani az al´ abbi egyenletrendszert: A · x = b, ahol A egyzetes m´ atrix. A Gauss–Jordan-elimin´ aci´ o tulajdonk´ eppen az ´ altal´ anos iskol´ aban tanult m´ odszer line´ aris egyenletrendszerek megold´ as´ ara. I Egyszerre ´ all´ ıtja el˝ o az egyenletrendszer megold´ as´ at, ´ es I adja meg az A atrix inverz´ et. I Numerikusan legal´ abb annyira stabil, mint m´ as elj´ ar´ as, I oleg teljes pivotol´ as 1 eset´ en 1 pivot = csukl´ opont, de a pivoting ´ es pivot element szavaknak nincsen bevett ford´ ıt´ asa

Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Gauss–Jordan-eliminacio

Feladat: megoldani az alabbi egyenletrendszert:

A · x = b,

ahol A negyzetes matrix.

A Gauss–Jordan-eliminacio tulajdonkeppen az altalanos iskolabantanult modszer linearis egyenletrendszerek megoldasara.

I Egyszerre allıtja elo az egyenletrendszer megoldasat, es

I adja meg az A matrix inverzet.

I Numerikusan legalabb annyira stabil, mint mas eljaras,

I foleg teljes pivotolas1 eseten

1pivot = csuklopont, de a pivoting es pivot element szavaknak nincsenbevett fordıtasa

Page 2: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

A Gauss–Jordan-eliminacio tulajdonsagai

Memoriaigeny:

I tarolni kell a matrixot, es a megoldasvektort: N2 + N

I a matrix inverzet elvileg lehet tarolni a bemeneti matrix helyen

Szamıtasi igeny:

I szukseges muveletek szama O(N3)

I de ha olyan algoritmusokat nezunk, amik hasonloan megoldjakaz egyenletrendszer, es ugyanakkor elo is allıtjak a matrixinverzet, akkor ez haromszor lassabb, mint a legjobb modszer

Page 3: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

A megoldasi modszer elemi lepesei

A kovetkezo muveletek nem valtoztatjak meg egy linearisegyenletrendszer megoldasat:

I ket sor felcsereleseez nyilvanvalo, hiszen az egyenletek sorrendje teljesentetszoleges, felteve persze, hogy a jobboldal megfelelo sorait ismegcsereljuk

I mas sorok linearkombinaciojanak hozzaadasa barmely sorhozebbe belefer az is, hogy egy sort szammal szorzunk, ha az aszam nem nulla; termeszetesen mindket oldalon el kell vegezni

I a valtozok felcsereleseez lenyegileg nem valtoztat az egyenleteken, ha emlekszunk,hogy a vegen a valtozokat megfelelo permutacio szerint visszakell cserelgetni; ez az A matrix oszlopainak felcserelesetjelenti.

Page 4: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Kiindulas: kibovıtett matrixA megoldando egyenletrendszer: 2 6 2

1 1 −13 9 5

· x =

181

35

Felırjuk a matrixot es a jobb oldalt a kovetkezo alakban: 2 6 2 18

1 1 −1 13 9 5 35

Ha az inverz matrixot keressuk, akkor pedig: 2 6 2 1 0 0

1 1 −1 0 1 03 9 5 0 0 1

(A jobb oldalon tulajdonkeppen akarhany oszlop allhat,amennyiben egyszerre tobb egyenletet akarunk megoldani.)

Page 5: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Az eliminacio menete

Cel: a korabban ismertetett elemi muveletek segıtsegevel abaloldalt egysegmatrix alakra hozzuk ugy, hogy kozben amuveleteket a jobb oldalon is elvegezzuk. Ekkor jobboldal eloall azegyenletrendszer megoldasa (illetve a matrix inverze).

Elindulunk a foatlo elso elemetol.

1. Ha az elem nem 1, akkor az egesz sort elosztjuk a foatlobelielemmel, hogy a foatloban 1 legyen 2 6 2 18

1 1 −1 13 9 5 35

−→ 1 3 1 9

1 1 −1 13 9 5 35

Page 6: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

2. Minden alatta levo sorbol kivonjuk az aktualis sorvalahanyszorosat ugy, hogy a foatlo alatt vegig 0 legyen 1 3 1 9

1 1 −1 13 9 5 35

−→ 1 3 1 9

0 −2 −2 −80 0 2 8

3. Ha foatlobeli elem alatt mindent kinullaztunk, akkor folytatjuk

a foatlo kovetkezo elemevel: 1 3 1 90 -2 −2 −80 0 2 8

−→ 1 3 1 9

0 1 1 40 0 2 8

4. Majd kivonjuk a sor valahanyszorosat az osszes tobbibol ugy,

hogy a foatlot kiveve mindenutt 0 legyen: 1 3 1 90 1 1 40 0 2 8

−→ 1 0 −2 −3

0 1 1 40 0 2 8

Page 7: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

5. Az eljarast tovabb folytatjuk a foatlo elemeire 1 0 −2 −30 1 1 40 0 2 8

−→ 1 0 −2 −3

0 1 1 40 0 1 4

−→

1 0 0 50 1 0 00 0 1 4

6. Az eljaras akkor er veget, ha a baloldali reszmatrix az

egysegmatrix alakjat veszi fel. Ekkor jobboldalon vagy amegoldast kapjuk, vagy pedig a matrix inverzet, attol fuggoenmibol indultunk ki. 1 0 0 5

0 1 0 00 0 1 4

Page 8: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

1. problema: Zerus elem a foatloban

Kepzeljuk el a kovetkezo szituaciot:1 0 50 1 60 0 0 · · · · · ·

...

Ilyenkor az adott sorral nem tudjuk az alatta es folotte levoelemeket eliminalni.

Megoldas: sorcsere! Keressunk a foatlo aktualis eleme alattioszlopban olyan elemet, ami nem nulla (ez lesz az un. pivot-elem),csereljuk meg a ket sort (a jobboldalt is!), majd folytassuk azeliminaciot, mintha mi se tortent volna.

Az eljaras neve: reszleges pivotolas.

Page 9: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

2. problema: Nagyon pici elem a foatloban

Ha ezzel probalnank eliminalni, akkor nagy szorzotenyezok miattnagyon nagy szamok jelennenek meg a matrixban, ami numerikusinstabilitasi problemakhoz vezet.

Megoldas: valasszuk az adott oszlop foatlo alatti abszolut ertekbenlegnagyobb elemet, a megfelelo sorokat csereljuk meg, esfolytassuk ıgy az eliminaciot.

Page 10: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

3. problema: a matrix sorai tetszolegesen normalhatok

A sorokat tetszoleges szammal szorozva vegul is barmelyik aktualisoszlopbeli, foatlo alatti elem lehet maximalis.

Megoldas: Ugy keressuk a legnagyobb elemet, hogy a sorokat azeredeti matrix sorainak legnagyobb elemevel normaljuk.

I Ez a gyakorlatban azt jelenti, hogy a soronkenti legnagyobbelemet tarolni kell.

I Vagy a matrix sorait a legelejen leosztjuk minden sor abszolutertekben maximalis elemevel.

Page 11: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

4. problema: Az oszlop foatlo alatti resze csupa 0

1 0 50 1 60 0 0 · · · · · ·

00...0

Ez konnyu: a matrix szingularis, megallunk.

Page 12: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Tovabbi javıtasi lehetoseg: oszlopcsere

Ilyenkor a foatlobeli aktualis elem alatti, es tole jobbra levoalmatrixban keressuk az abszolut ertekben legnagyobb elemet, ezlesz a pivot-elem.

A megfelelo sorokat es oszlopokat megcsereljuk (feljegyezve, hogymelyik ket valtozot kell az eljaras vegen visszacserelni!), majd apivot-elemmel eliminalunk.

Ezt nevezzuk teljes pivotolasnak.

Nem bizonyıtott allıtas, csak sejtes, hogy az algoritmus stabil, hapivotnak mindig az almatrix abszolut ertekben legnagyobb elemetvalasztjuk.

Page 13: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Gauss-eliminacio visszahelyettesıtessel

Ez nagyjabol azonos az elobbiekkel, de

I Eliminalaskor csak a foatlo alatti elemeket nullazuk le

I A foatloban minden elemet 1-esre hozunk

I A felso haromszoget csak ezutan, a jobb also sarokbolkiindulva nullazzuk ki

I Ez nemileg kevesebb muveletet igenyel, raadasul numerikusanstabilabb 1 3 1 9

0 1 1 40 0 2 8

−→ 1 3 1 9

0 1 1 40 0 1 4

−→ 1 3 0 5

0 1 0 00 0 1 4

−→ 1 0 0 5

0 1 0 00 0 1 4

Page 14: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Az algoritmus epıtokovei

Az implementalast sosem a fo algoritmussal kezdjuk, hanemazonosıtjuk a fo reszalgortimusokat, amiket kulon-kulon konnyumegırni.

I Eldontjuk, hogy milyen formaban taroljuk a matrixokat(sorok vagy oszlopok szerint)

I Azonosıtjuk az alapveto muveleteket:I Legnagyobb abszolut erteku elem megtalalasa sorbanI Sor szorzasa szammalI Legnagyobb abszolut erteku elem megtalalasa oszlopban,

foatlo alattI Legnagyobb abszolut erteku elem megtalalasa almatrixbanI Ket sor cserejeI Ket oszlop csereje (oszlopcsere konyvelese)I Ket oszlop kulonbsegenek kepzese

Page 15: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Az algoritmus implementalasa

I Az epıtoelemeket kulon-kulon megvalosıtjuk es

I Kulon-kulon teszteljuk!

Soha ne ırjunk ugy programot, hogy elobb “nagyjabol” kesz legyen,aztan majd javıtgatjuk. Soha sem fog mukodni. Mindig alulrolfelfele, az egyes fuggvenyeket alaposan kiprobalva kell haladni!

I Ezek utan johet a fo algoritmus leprogramozasa

I Tobbfajta matrixon teszteljuk

Direkt kell olyan matrixokat gyartani, ami probara teszi azalgoritmust. Peldaul: van a foatloban 0 elem, szingularis matrixstb. A numerikus stabilitas tesztelese ugyanakkor nehez feladat.

Page 16: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Also-felso haromszog dekompozıcio

Invertalashoz a matrixot gyakran erdemes faktorizalni, azaz kettovagy tobb specialis tulajdonsagu matrix szorzatakent eloallıtani.

A legegyszerubb faktorizacio: LU-dekompozıcio.

Az A matrixot A = L ·U alakban keressuk, ahol

I L csak foatlobeli, es foatlo alatti elemeket tartalmaz

I U csak foatlobeli, es foatlo folotti elemeket tartalmaz

a11 a12 a13a21 a22 a23a31 a32 a33

=

l11 0 0l21 l22 0l31 l32 l33

u11 u12 u130 u22 u230 0 u33

Page 17: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Az LU-dekompozıcio alapotlete

Vegyuk eszre, hogy ha A = L ·U, akkor az A · x = b egyenletatırhato

A · x = (L ·U) · x = L · (U · x) = b

alakra, azaz a problema ket lepesre bonthato:

L · y = b

U · x = y

A modszer elonye, hogy mivel L es U haromszog-matrixok, akorabbi visszahelyettesıteses modszerrel kozvetlenulmeghatarozhatok (ha mar y ismert):

I U eseteben ugyanugy a jobb also sarokbol kell indulni

I L eseteben a bal felsobol

Page 18: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

L es U meghatarozasa

L es U osszesen N2 + N ismeretlen elemet tartalmaz az

(L ·U) · x = b

egyenletrendszer viszont csak N2 egyenletet ad:

i < j : li1u1j + li2u2j + . . .+ liiuij = aiji = j : li1u1j + li2u2j + . . .+ liiujj = aiji > j : li1u1j + li2u2j + . . .+ lijujj = aij

Kossuk, ki hogy az L matrix foatlojaban csupa 1-es szerepel, azazlii = 1. Ez az altalanossag megszorıtasa nelkul megteheto. Eztovabbi N egyenletet ad.

Page 19: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Az N2 + N egyenlet megoldasa

Az egyenletrendszer a Crout-algoritmussal megoldhato:

for j = 1, 2, ..., N dofor i = 1, 2, ..., j do

az elso ket egyenlet felhasznalasaval:uij = aij −

∑i−1k=1 likukj

endfor i = j + 1, j + 2, ..., N do

a harmadik egyenlet felhasznalasaval:lij = (1/ujj)(aij −

∑j−1k=1 likukj

end

end

Az algoritmus masodik belso ciklusaban az ujj elem a nevezobenszerepel. Elkerulendo, hogy ez ne legyen 0, a Gauss-eliminaciohozhasonloan itt is szukseg lehet atrendezesre.

Page 20: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Az LU-dekompozıcio elonyei

Az A matrix determinansa eloall a kovetkezo alakban:

detA =N∏j=1

ujj

A dekompozıcio elegendo egyszer elvegezni, es utana mar avisszahelyettesıteses modszerrel gyorsan megkaphato azegyenletrendszer megoldasa barmilyen jobb oldal esetere. Ugyanıgya matrix inverze is konnyen szamolhato.

Page 21: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Iteratıv modszerek egyenletrendszerek megoldasara

A megoldast iteratıvan erdemes eloallıtani, ha

I az egyenletrendszer nagyon nagy

I kozel szingularis, es numerikusan nehezen kezelheto

Tegyuk fel, hogy ismerunk egy x + δx kozelıto megoldast.(Csak az osszeg ismert, de mi x erteket keressuk.)

Behelyettesıtve az egyenletbe a jobb oldal el fog terni az eredetitol:

A · (x + δx) = b + δb

Ebbol kivonva az eredeti A · x = b egyenletet:

A · δx = δb

Page 22: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Iteracios lepes

Viszont az eredetit atrendezve:

δb = A · (x + δx)− b,

aminek a jobb oldalat ismerjuk, tehat megoldhatjuk δx-re a

A · δx = A · (x + δx)− b

egyenletet.

Ha A LU-faktorizaciojat ismerjuk, akkor csak behelyettesıtgetnikell. Varhatoan pontosabb megoldast kapunk, es az eljarastismetelve egyre konvergalunk az egyenlet megoldasahoz.

Page 23: Gauss{Jordan-elimin aci o - Eötvös Loránd Universitydobos/teaching/fiznum2015/pres/03.pdf · A Gauss{Jordan-elimin aci o tulajdons agai Mem oriaig eny: I t arolni kell a m atrixot,

Iteracios modszerek altalanosabban

Irjuk at az A · x = b egyenletet:

x = (I− A) · x + b,

ahol I az egysegmatrix.

Itt x kivetelevel minden ismert, es ha ismerunk egy kelloen jo xkmegoldast, akkor kepezhetjuk a kovetkezo iteraciot:

xk+1 = (I− A) · xk + b

Belathato, hogy ha I− A matrix-normaja kisebb egynel, akkor aziteracio konvergens.