nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 ·...

35
Nemlineáris egyenletrendszerek megoldása 2019. május 6.

Upload: others

Post on 05-Mar-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Nemlineáris egyenletrendszerek megoldása

2019. május 6.

Page 2: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Nemlineáris egyenletrendszerek

Az egyenletrendszer a következő formában adott:

fi(x1, x2, ..., xM) = 0 i = 1...N

I az fi függvények az xj változókban nem lineárisakI egyenletrendszer esetén több függvény gyökét keressük

szimultán módon

Sokkal nehezebb probléma, mint a lineáris eset.I ott az egyenletek lineáris kombinálgatásával lehetett eliminálniI lineárisan kombinálni itt is lehet, de nem vezet megoldásra

Page 3: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A megoldás léte

A megoldás léteI N > M esetben általában nincsen megoldásI N ≤ M esetben sem garantáltI ha van megoldás, akkor nem garantált, hogy egyértelműI gyakori, hogy a gyökök nem diszkrétek, egész intervallum gyökI lehetnek nem valós gyökök is

Inverzfüggvény-tételI ha egy f függvény egy x pontban folytonos, és a deriváltja

nem nulla, akkor az x pont egy környezetében invertálhatóI ez általánosítható többdimenziós esetre isI N ≤ M esetben tudunk mondani valamit a megoldás létére

Page 4: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Mitől jobb egyik vagy másik módszer?

Függvénykiértékelések számaI minél kevesebb függvénykiértékelés mellettI minél pontosabban meg akarjuk határozni a gyökötI kovergencia sebessége

StabilitásI általában „kézzel” kell a gyök közeléből indítaniI garantálja-e valami, hogy ott is marad a közelbenI nem divergál-e el a végtelenbe

Page 5: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A módszerek általános tulajdonságai

Sokat segít, ha nem csak f-et, de a deriváltját is ismerjükI jóval gyorsabb algoritmusok

Egy változós esetben vannak hatékony módszerekI megfelelően jól viselkedő függvényekreI a gyököket be lehet keretezni

Page 6: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Iteratív módszerek

A nem lineáris módszerek mindig iteratívakI kiindulunk valamilyen értékekbőlI ez lehet egy intervallum, amin belül a gyököt sejtjükI a gyököt lépésről lépésre közelítjük meg

A közelítő módszer következményeI a gyököt általában csak közelítőleg kapjuk megI viszont tetszőlegesen kis hibával meghatározhatjuk

Nem mindig konvergálI el kell tudni dönteni, hogy konvergál-eI megfelelő helyről kell kiindulniI jó helyre konvergált-e?

Page 7: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Gyök bekeretezése egy dimenzióban

Példa gyök bekeretezhetőségéreI tudjuk, hogy a függvény folytonos a < x < b intervallumonI f(a) < 0 és f(b) > 0 ⇒ létezik gyök az intervallumon

Page 8: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Rosszul viselkedő függvények

A bekeretezős módszer nem mindig egyszerű

A fő problémát a szinguláris viselkedés okozzaI a függvény nem folytonosI valahol divergálI valamelyik deriváltja divergál

A gyök léte nem féltetlenül jelent előjelváltástI lehet, hogy a gyök minimumhelyen vanI de a minimumhely nem feltétlen gyök

Egy intervallumon belül sok gyök is lehet

Page 9: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Szakaszonként folytonos, divergens függvény

Page 10: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Függvény rosszul viselkedő deriválttal

Page 11: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Gyökök és minimumok konfigurációi

Page 12: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A nem lineáris gyökkeresés a függvény analízisével kezdődik

A nem lineáris algoritmusok nem garantáltan jókI nincsen globális megoldásI mindig valami jó becslés kell a gyökök helyére

Iteratív módszerek gyakori problémájaI ha rossz helyről eldivergálI jó kiindulási pontokat kell találniI a jó kiindulási pontok megtalálására nincsen algoritmusI analitikusan kell kezelni a függvényt

Érdemes mindig ábrázolniI ha könnyen deriválható, akkor a deriváltakat is vizsgálni

Page 13: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Felezős módszer

KiindulásI valamilyen módon sikerült bekeretezni a gyökötI adott tehát egy [a, b] intervallumI f(a)f(b) < 0, azaz a függvény előjelet vált

Iteratív lépésI megfelezzük az intervallumotI a felezőpont előjele megegyezik valamelyik végpont előjelévelI az előjelváltó fél intervallumot tartjuk meg

Page 14: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A felezős módszer leállási feltétele

A konvergenciához szükséges lépések számaI a kiindulási intervallum hossza: ϵ0I a gyök értékére előírt pontosság: ϵ

I a módszer az intervallumot felezi, így a lépések száma

n = log2ϵ0ϵ

Leállási feltételI ha az intervallum hossza eléri ϵ-t, megállunkI gyöknek az intervallum felezőpontját tekintjük

Page 15: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A felezős módszer tulajdonságai

Fő előny:I a módszer mindig konvergál

Fő gondok:I csak előjelváltó esetben működikI csak egy gyököt talál megI ha a függvénynek szakadása van, és ezért vált előjelet, akkor a

módszer nem a gyököt, hanem a szakadási pontot találja meg

Page 16: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A szekáns módszer

KiindulásI valamilyen módon megközelítettük a gyökötI nem is kell feltétlen bekeretezniI egy x0 és x1 pontból indulunk

Iteratív lépésI tekintjük az f(xi−1) és f(xi) értékeketI xi−1 és xi között lineárisan interpoláljuk a függvényI az xi+1 értéke a lineáris interpoláció gyöke lesz

Page 17: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A szekáns módszer

Page 18: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A szekáns módszer tulajdonságaiGyorsabban konvergál, mint a felezős módszerI ott az intervallum mindig a felére csökkentI itt a konvergencia sebessége ϵ gyenge hatványával megy

limi→∞

|ϵi+1| = c · |ϵi|α ,

aholα =

1 +√

52 ≃ 1,618

A módszer nem tartja bekeretezve a gyökötI nem csak ott működik, ahol a függvény előjelet váltI de ha a gyök lokális minimum környékén van, akkor eltévedI akár a végtelenbe is elmehet

Akkor működik jól, ha a függvény jól közelíthető egyenessel.

Page 19: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A szekáns módszer egy problémája

Page 20: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Regula falsi módszer

A módszer az előző kettő kombinációjaI bekeretezve tartja a gyökötI de nem az intervallumot felezgeti, hanem egyenessel metszi az

abszcisszát

A szekáns módszert így módosítjukI nem a legrégebbi pontot dobjuk elI (hiszen így kifuthatnánk az intervallumból)I hanem a metszéspont megtalálása utána azt a kettőt tartja

meg, amelyeknél a függvény előjele különböző

Page 21: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Regula falsi módszer

Page 22: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A regula falsi módszer algoritmusa

KiindulásI valamilyen módon sikerült bekeretezni a gyökötI adott tehát egy [a, b] intervallumI f(a)f(b) < 0, azaz a függvény előjelet vált

Iteratív lépésI [a, b]-n lineárisan interpolálunkI megkeressük az egyenes és az x-tengely metszéspontjátI azt az új intervallumot tartjuk meg, ahol f előjelet vált

Némileg gyorsabb, mint a felezős módszer

Page 23: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Magasabb rendű módszerek

A szekáns módszernél egyenessel interpoláltunkI csak kellően sima függvényekre hatékonyI interpolálhatnánk magasabb rendű függvénnyel isI ehhez nem elég az intervallum két végpontja

Például: inverz kvadratikus módszerI nem kettő, hanem három ponttal dolgozunkI ezekre parabolát illesztünk y = ax2 + bx + c alakbanI a gyököket a megoldóképlettel határozzuk meg

Magasabb rendre nehezen általánosíthatóI nem léteznek megoldóképletek

Page 24: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A belassulást elkerülő módszerek

Vannak függvények, ahol az elvileg gyorsabb módszereklemaradnakI pl. a regula falsi lehet lassabb a felezős módszernél isI ilyenkor érdemes a módszereket kombinálniI figyeljük a konvergencia sebességétI ha lassú, akkor más módszerre váltunk

Wijngaarden–Dekker–Brent-módszer (röviden Brent)I alapesetben az inverz kvadratikus módszert használjaI ha az új pont a kereten kívül esik, vagyI a konvergencia túl lassúI akkor inkább felezi az intervallumot

Page 25: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A függvény deriváltjának felhasználása

Az eddigit módszerek nem használták a függvény deriváltjátI viszont lehet, hogy az is expliciten adottI ekkor gyorsabb módszer lehetséges

A Newton–Ralphson-módszerI egyetlen pontból indulunkI meghúzzuk a függvény érintőjétI az x tengellyel vett metszet lesz az új pont

Page 26: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A Newton–Ralphson-módszer

Page 27: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A Newton–Ralphson-módszer tulajdonságai

Kellően sima függvény esetén jól működik, ugyanisI a gyök körüli Taylor-sorból elég csak az első tagot megtartani

f(x + δ) ≈ f(x) + f′(x)δ + 12 f′′(x)δ2 + ...

I ezzel a gyöktől való eltérés egy jó közelítése

δ ≈ − f(x)f′(x)

Belátható, hogy a konvergencia sebessége négyzetes:

ϵi+1 = c · ϵ2i

Page 28: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Newton–Ralphson-módszer: túl lapos függvény

Page 29: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Newton–Ralphson-módszer: „páratlan” függvény

Page 30: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A Newton–Ralphson-módszer javítása

A Newton–Ralphson-módszer gyakran nem konvergálI ilyenkor érdemes hibrid módszert választaniI a Wijngaarden–Dekker–Brent-módszerhez hasonlóan

Egy dimenzióban nem szabad numerikus deriváltat használniI több függvénykiértékelést igényelI nem elég pontos, így lassítja a konvergenciátI a szekáns módszer gyorsabb

A Newton–Ralphson-módszer lokálisan gyors, de globálisan instabilI érdemes ezért más módszerrel bekeretezni a gyökötI ha már közel járunk, akkor N–R-módszerrel pontosítjuk

Page 31: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Polinomok gyökeiAz n-ed rendű polinomnak n gyöke vanI lehetnek valósak vagy komplexekI ha az együtthatók valósak, akkor

I a gyökök valósak, vagyI komplex konjugált párok

A gyököket egyesével keressükI valamilyen módszerrel egy gyököt megtalálunk: rI leosztjuk a polinomot (x − r)-rel

Pi(x) = (x − r)Pi+1(x)

I Pi+1 meghatározására létezik egyszerű algoritmusI az eggyel alacsonyabb fokú polinom egy gyökét ismét valami

elemi algoritmussal keressük

Page 32: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Polinomok gyökeinek megtalálása

Problémák:I a gyökkeresés nagyon sok lépést igényelI felhalmozódnak a numerikus hibákI a megtalált gyök, amivel osztunk, sem teljesen pontos

Javítási lehetőségI megkeressük a gyököketI egyenként pontosítjuk őket a Newton–Ralphson-módszerrelI gyökök „polírozása”

Módszerek komplex gyökök megtalálásáraI ld. Numerical RecipesI pl. Laguerre-módszer

Page 33: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Gyökök keresése több dimenzióbanTöbb dimenzióban nincsen általánosan jó gyökkereső módszer.I a probléma már két függvény esetén is nagyon bonyolult

Page 34: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

A többdimenziós módszer vázlata

Meg kell határozni valahogyan az fi függvények zéró-kontúrjaitI a gyökök a kontúrok metszéspontjaiban lesznekI de eleve a kontúrok meghatározása is közel lehetetlen

Mindenképpen tudnunk kell részleteket is a problémárólI hány gyököt várunkI ezeket kb. hol várjuk

Jobb híjánI olyan módszert keresünk, ami egy gyököt meg tud találniI abban az esetben, ha a gyöktől elég közelről indulunk

Page 35: Nemlineáris egyenletrendszerek megoldásadobos/teaching/fiznum2019/slides/09.pdf · 2019-05-06 · A megoldás léte A megoldás léte I N > M esetben általában nincsen megoldás

Newton–Ralphson-módszer több dimenzióbanA deriváltat most a teljes Jacobi-mátrix helyettesíti:

Jik =∂fi∂xk

Ezzel a függvény Taylor-sora

f(x + δx) = f(x) + Jδx + ...

Hasonlóan, mint egy dimenzióbanI keressük azt a δx vektort,I ami a gyök irányába lépteti az aktuális legjobb becslést

Ehhez a Jδx = −f lineáris egyenletrendszert kell megoldani, majd

xi+1 = xi + δx