Feladat: megoldani az alábbi egyenletrendszert: A x = b,

Hasonló dokumentumok
3. Lineáris egyenletrendszerek megoldása február 19.

Numerikus módszerek 1.

Gauss-eliminációval, Cholesky felbontás, QR felbontás

9. gyakorlat Lineáris egyenletrendszerek megoldási módszerei folyt. Néhány kiegészítés a Gauss- és a Gauss Jordan-eliminációhoz

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Gauss-Seidel iteráció

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

NUMERIKUS MÓDSZEREK I. TÉTELEK

Gauss elimináció, LU felbontás

Mátrixok 2017 Mátrixok

1. Determinánsok. Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert:

Lineáris egyenletrendszerek

Lineáris egyenletrendszerek

15. LINEÁRIS EGYENLETRENDSZEREK

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

1. A kétszer kettes determináns

3. el adás: Determinánsok

Vektorok, mátrixok, lineáris egyenletrendszerek

Numerikus módszerek I. zárthelyi dolgozat, 2009/10. I. félév, A. csoport, MEGOLDÁSOK

Diszkrét matematika II., 5. előadás. Lineáris egyenletrendszerek

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

1. Mátrixösszeadás és skalárral szorzás

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

Bevezetés az algebrába 1

Saj at ert ek-probl em ak febru ar 26.

1 Lebegőpontos számábrázolás

Lineáris algebra. (közgazdászoknak)

alakú számot normalizált lebegőpontos számnak nevezik, ha ,, és. ( : mantissza, : mantissza hossza, : karakterisztika) Jelölés: Gépi számhalmaz:

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39

Robotok inverz geometriája

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján

DETERMINÁNSSZÁMÍTÁS. Határozzuk meg a 1 értékét! Ez most is az egyetlen elemmel egyezik meg, tehát az értéke 1.

Lineáris algebra Gyakorló feladatok

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Eddig csak a polinom x-ben felvett értékét kerestük

5 = hiszen és az utóbbi mátrix determinánsa a középs½o oszlop szerint kifejtve: 3 7 ( 2) = (példa vége). 7 5 = 8. det 6.

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.

7. Előadás. Megyesi László: Lineáris algebra, oldal. 7. előadás Elemi bázistranszformáció

Totális Unimodularitás és LP dualitás. Tapolcai János

Numerikus módszerek 1.

Numerikus módszerek beugró kérdések

Konjugált gradiens módszer

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

NUMERIKUS MÓDSZEREK PÉLDATÁR

Bodó Bea, Somonné Szabó Klára Matematika 2. közgazdászoknak

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

Saj at ert ek-probl em ak febru ar 22.

NUMERIKUS MÓDSZEREK I. BEUGRÓ KÉRDÉSEK

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

41. Szimmetrikus mátrixok Cholesky-féle felbontása

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Bevezetés az algebrába 1

11. DETERMINÁNSOK Mátrix fogalma, műveletek mátrixokkal

Lineáris leképezések. 2. Lineáris-e az f : R 2 R 2 f(x, y) = (x + y, x 2 )

1. Homogén lineáris egyenletrendszer megoldástere

1. zárthelyi,

I. VEKTOROK, MÁTRIXOK

Matlab alapok. Baran Ágnes

LINEÁRIS ALGEBRA (A, B, C) tematika (BSc) I. éves nappali programtervező informatikus hallgatóknak évi tanév I. félév

Egyenletek, egyenlőtlenségek VII.

Mátrixfelbontások BSc szakdolgozat

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak

1. Geometria a komplex számsíkon

Matematika III. harmadik előadás

összeadjuk 0-t kapunk. Képletben:

Numerikus Analízis I.

A KroneckerCapelli-tételb l következik, hogy egy Bx = 0 homogén lineáris egyenletrendszernek

Bevezetés az algebrába 1

Numerikus matematika vizsga

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

Testek. 16. Legyen z = 3 + 4i, w = 3 + i. Végezzük el az alábbi. a) (2 4), Z 5, b) (1, 0, 0, 1, 1) (1, 1, 1, 1, 0), Z 5 2.

Keresztmetszet másodrendű nyomatékainak meghatározása

Lineáris algebra és mátrixok alkalmazásai

Nemlineáris egyenletrendszerek megoldása április 15.

Bázistranszformáció és alkalmazásai 2.

Numerikus módszerek 1.

Polinomok, Lagrange interpoláció


8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer

EGYSZERŰSÍTETT ALGORITMUS AZ ELEMI BÁZISCSERE ELVÉGZÉSÉRE

A Szállítási feladat megoldása

Lineáris algebra (10A103)

Feladatok megoldásokkal a 9. gyakorlathoz (Newton-Leibniz formula, közelítő integrálás, az integrálszámítás alkalmazásai 1.

Számítógépes Grafika mintafeladatok

Lineáris algebra numerikus módszerei

Matematika elméleti összefoglaló

A szimplex tábla. p. 1

Gyakorló feladatok I.

Bevezetés az algebrába 2 Differencia- és differenciálegyenlet-rendszerek

1. ábra ábra

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Abszolútértékes és gyökös kifejezések Megoldások

Valasek Gábor

Matematika A2 vizsga mgeoldása június 4.

Segédlet a gyakorlati tananyaghoz GEVAU141B, GEVAU188B c. tantárgyakból

1. fogalom. Add meg az összeadásban szereplő számok elnevezéseit! Milyen tulajdonságai vannak az összeadásnak? Hogyan ellenőrizzük az összeadást?

Átírás:

Gauss Jordan-elimináció Feladat: megoldani az alábbi egyenletrendszert: ahol A négyzetes mátrix. A x = b, A Gauss Jordan-elimináció tulajdonképpen az általános iskolában tanult módszer lineáris egyenletrendszerek megoldására. Egyszerre álĺıtja elő az egyenletrendszer megoldását, és adja meg az A mátrix inverzét. Numerikusan legalább annyira stabil, mint más eljárás, főleg teljes pivotolás 1 esetén 1 pivot = csuklópont, de a pivoting és pivot element szavaknak nincsen bevett fordítása

A Gauss Jordan-elimináció tulajdonságai Memóriaigény: tárolni kell a mátrixot, és a megoldásvektort: N 2 + N a mátrix inverzét elvileg lehet tárolni a bemeneti mátrix helyén Számítási igény: szükséges műveletek száma O(N 3 ) de ha olyan algoritmusokat nézünk, amik hasonlóan megoldják az egyenletrendszer, és ugyanakkor elő is álĺıtják a mátrix inverzét, akkor ez háromszor lassabb, mint a legjobb módszer

A megoldási módszer elemi lépései A következő műveletek nem változtatják meg egy lineáris egyenletrendszer megoldását: két sor felcserélése ez nyilvánvaló, hiszen az egyenletek sorrendje teljesen tetszőleges, feltéve persze, hogy a jobboldal megfelelő sorait is megcseréljük más sorok lineárkombinációjának hozzáadása bármely sorhoz ebbe belefér az is, hogy egy sort számmal szorzunk, ha az a szám nem nulla; természetesen mindkét oldalon el kell végezni a változók felcserélése ez lényegileg nem változtat az egyenleteken, ha emlékszünk, hogy a végén a változókat megfelelő permutáció szerint vissza kell cserélgetni; ez az A mátrix oszlopainak felcserélését jelenti.

Kiindulás: kibővített mátrix A megoldandó egyenletrendszer: 2 6 2 1 1 1 x = 3 9 5 18 1 35 Feĺırjuk a mátrixot és a jobb oldalt a következő alakban: 2 6 2 18 1 1 1 1 3 9 5 35 Ha az inverz mátrixot keressük, akkor pedig: 2 6 2 1 0 0 1 1 1 0 1 0 3 9 5 0 0 1 (A jobb oldalon tulajdonképpen akárhány oszlop állhat, amennyiben egyszerre több egyenletet akarunk megoldani.)

Az elimináció menete Cél: a korábban ismertetett elemi műveletek segítségével a baloldalt egységmátrix alakra hozzuk úgy, hogy közben a műveleteket a jobb oldalon is elvégezzük. Ekkor jobboldal előáll az egyenletrendszer megoldása (illetve a mátrix inverze). Elindulunk a főátló első elemétől. 1. Ha az elem nem 1, akkor az egész sort elosztjuk a főátlóbeli elemmel, hogy a főátlóban 1 legyen 2 6 2 18 1 3 1 9 1 1 1 1 1 1 1 1 3 9 5 35 3 9 5 35

2. Minden alatta levő sorból kivonjuk az aktuális sor valahányszorosát úgy, hogy a főátló alatt végig 0 legyen 1 3 1 9 1 3 1 9 1 1 1 1 0 2 2 8 3 9 5 35 0 0 2 8 3. Ha főátlóbeli elem alatt mindent kinulláztunk, akkor folytatjuk a főátló következő elemével: 1 3 1 9 1 3 1 9 0-2 2 8 0 1 1 4 0 0 2 8 0 0 2 8 4. Majd kivonjuk a sor valahányszorosát az összes többiből úgy, hogy a főátlót kivéve mindenütt 0 legyen: 1 3 1 9 1 0 2 3 0 1 1 4 0 1 1 4 0 0 2 8 0 0 2 8

5. Az eljárást tovább folytatjuk a főátló elemeire 1 0 2 3 1 0 2 3 0 1 1 4 0 1 1 4 0 0 2 8 0 0 1 4 1 0 0 5 0 1 0 0 0 0 1 4 6. Az eljárás akkor ér végét, ha a baloldali részmátrix az egységmátrix alakját veszi fel. Ekkor jobboldalon vagy a megoldást kapjuk, vagy pedig a mátrix inverzét, attól függően miből indultunk ki. 1 0 0 5 0 1 0 0 0 0 1 4

1. probléma: Zérus elem a főátlóban Képzeljük el a következő szituációt: 1 0 5 0 1 6 0 0 0. Ilyenkor az adott sorral nem tudjuk az alatta és fölötte levő elemeket eliminálni. Megoldás: sorcsere! Keressünk a főátló aktuális eleme alatti oszlopban olyan elemet, ami nem nulla (ez lesz az ún. pivot-elem), cseréljük meg a két sort (a jobboldalt is!), majd folytassuk az eliminációt, mintha mi se történt volna. Az eljárás neve: részleges pivotolás.

2. probléma: Nagyon pici elem a főátlóban Ha ezzel próbálnánk eliminálni, akkor nagy szorzótényezők miatt nagyon nagy számok jelennének meg a mátrixban, ami numerikus instabilitási problémákhoz vezet. Megoldás: válasszuk az adott oszlop főátló alatti abszolút értékben legnagyobb elemét, a megfelelő sorokat cseréljük meg, és folytassuk így az eliminációt.

3. probléma: a mátrix sorai tetszőlegesen normálhatók A sorokat tetszőleges számmal szorozva végül is bármelyik aktuális oszlopbeli, főátló alatti elem lehet maximális. Megoldás: Úgy keressük a legnagyobb elemet, hogy a sorokat az eredeti mátrix sorainak legnagyobb elemével normáljuk. Ez a gyakorlatban azt jelenti, hogy a soronkénti legnagyobb elemet tárolni kell. Vagy a mátrix sorait a legelején leosztjuk minden sor abszolút értékben maximális elemével.

4. probléma: Az oszlop főátló alatti része csupa 0 1 0 5 0 1 6 0 0 0 0 0. 0 Ez könnyű: a mátrix szinguláris, megállunk.

További javítási lehetőség: oszlopcsere Ilyenkor a főátlóbeli aktuális elem alatti, és tőle jobbra levő almátrixban keressük az abszolút értékben legnagyobb elemet, ez lesz a pivot-elem. A megfelelő sorokat és oszlopokat megcseréljük (feljegyezve, hogy melyik két változót kell az eljárás végén visszacserélni!), majd a pivot-elemmel eliminálunk. Ezt nevezzük teljes pivotolásnak. Nem bizonyított álĺıtás, csak sejtés, hogy az algoritmus stabil, ha pivotnak mindig az almátrix abszolút értékben legnagyobb elemét választjuk.

Gauss-elimináció visszahelyettesítéssel Ez nagyjából azonos az előbbiekkel, de Elimináláskor csak a főátló alatti elemeket nullázuk le A főátlóban minden elemet 1-esre hozunk A felső háromszöget csak ezután, a jobb alsó sarokból kiindulva nullázzuk ki Ez némileg kevesebb műveletet igényel, ráadásul numerikusan stabilabb 1 3 1 9 0 1 1 4 0 0 2 8 1 3 0 5 0 1 0 0 0 0 1 4 1 3 1 9 0 1 1 4 0 0 1 4 1 0 0 5 0 1 0 0 0 0 1 4

Az algoritmus építőkövei Az implementálást sosem a fő algoritmussal kezdjük, hanem azonosítjuk a fő részalgortimusokat, amiket külön-külön könnyű megírni. Eldöntjük, hogy milyen formában tároljuk a mátrixokat (sorok vagy oszlopok szerint) Azonosítjuk az alapvető műveleteket: Legnagyobb abszolút értékű elem megtalálása sorban Sor szorzása számmal Legnagyobb abszolút értékű elem megtalálása oszlopban, főátló alatt Legnagyobb abszolút értékű elem megtalálása almátrixban Két sor cseréje Két oszlop cseréje (oszlopcsere könyvelése) Két oszlop különbségének képzése

Az algoritmus implementálása Az építőelemeket külön-külön megvalósítjuk és Külön-külön teszteljük! Soha ne írjunk úgy programot, hogy előbb nagyjából kész legyen, aztán majd javítgatjuk. Soha sem fog működni. Mindig alulról felfelé, az egyes függvényeket alaposan kipróbálva kell haladni! Ezek után jöhet a fő algoritmus leprogramozása Többfajta mátrixon teszteljük Direkt kell olyan mátrixokat gyártani, ami próbára teszi az algoritmust. Például: van a főátlóban 0 elem, szinguláris mátrix stb. A numerikus stabilitás tesztelése ugyanakkor nehéz feladat.

Alsó-felső háromszög dekompozíció Invertáláshoz a mátrixot gyakran érdemes faktorizálni, azaz kettő vagy több speciális tulajdonságú mátrix szorzataként előálĺıtani. A legegyszerűbb faktorizáció: LU-dekompozíció. Az A mátrixot A = L U alakban keressük, ahol L csak főátlóbeli, és főátló alatti elemeket tartalmaz U csak főátlóbeli, és főátló fölötti elemeket tartalmaz a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 = l 11 0 0 l 21 l 22 0 l 31 l 32 l 33 u 11 u 12 u 13 0 u 22 u 23 0 0 u 33

Az LU-dekompozíció alapötlete Vegyük észre, hogy ha A = L U, akkor az A x = b egyenlet átírható A x = (L U) x = L (U x) = b alakra, azaz a probléma két lépésre bontható: L y = b U x = y A módszer előnye, hogy mivel L és U háromszög-mátrixok, a korábbi visszahelyettesítéses módszerrel közvetlenül meghatározhatók (ha már y ismert): U esetében ugyanúgy a jobb alsó sarokból kell indulni L esetében a bal felsőből

L és U meghatározása L és U összesen N 2 + N ismeretlen elemet tartalmaz az (L U) x = b egyenletrendszer viszont csak N 2 egyenletet ad: i < j : i = j : i > j : l i1 u 1j + l i2 u 2j +... + l ii u ij = a ij l i1 u 1j + l i2 u 2j +... + l ii u jj = a ij l i1 u 1j + l i2 u 2j +... + l ij u jj = a ij Kössük, ki hogy az L mátrix főátlójában csupa 1-es szerepel, azaz l ii = 1. Ez az általánosság megszorítása nélkül megtehető. Ez további N egyenletet ad.

Az N 2 + N egyenlet megoldása Az egyenletrendszer a Crout-algoritmussal megoldható: for j = 1, 2,..., N do for i = 1, 2,..., j do az első két egyenlet felhasználásával: u ij = a ij i 1 k=1 l iku kj end for i = j + 1, j + 2,..., N do a harmadik egyenlet felhasználásával: l ij = (1/u jj )(a ij j 1 k=1 l iku kj end end Az algoritmus második belső ciklusában az u jj elem a nevezőben szerepel. Elkerülendő, hogy ez ne legyen 0, a Gauss-eliminációhoz hasonlóan itt is szükség lehet átrendezésre.

Az LU-dekompozíció előnyei Az A mátrix determinánsa előáll a következő alakban: det A = N j=1 u jj A dekompozíció elegendő egyszer elvégezni, és utána már a visszahelyettesítéses módszerrel gyorsan megkapható az egyenletrendszer megoldása bármilyen jobb oldal esetére. Ugyanígy a mátrix inverze is könnyen számolható.

Iteratív módszerek egyenletrendszerek megoldására A megoldást iteratívan érdemes előálĺıtani, ha az egyenletrendszer nagyon nagy közel szinguláris, és numerikusan nehezen kezelhető Tegyük fel, hogy ismerünk egy x + δx közeĺıtő megoldást. (Csak az összeg ismert, de mi x értékét keressük.) Behelyettesítve az egyenletbe a jobb oldal el fog térni az eredetitől: A (x + δx) = b + δb Ebből kivonva az eredeti A x = b egyenletet: A δx = δb

Iterációs lépés Viszont az eredetit átrendezve: δb = A (x + δx) b, aminek a jobb oldalát ismerjük, tehát megoldhatjuk δx-re a egyenletet. A δx = A (x + δx) b Ha A LU-faktorizációját ismerjük, akkor csak behelyettesítgetni kell. Várhatóan pontosabb megoldást kapunk, és az eljárást ismételve egyre konvergálunk az egyenlet megoldásához.

Iterációs módszerek általánosabban Írjuk át az A x = b egyenletet: ahol I az egységmátrix. x = (I A) x + b, Itt x kivételével minden ismert, és ha ismerünk egy kellően jó x k megoldást, akkor képezhetjük a következő iterációt: x k+1 = (I A) x k + b Belátható, hogy ha I A mátrix-normája kisebb egynél, akkor az iteráció konvergens.