Professional Documents
Culture Documents
Horvath.R Farago.I Jegyzet
Horvath.R Farago.I Jegyzet
NUMERIKUS MDSZEREK
Elsz
Az Olvas most egy egyetemi jegyzetet tart a kezben vagy nz a szmtgpe kpernyjn. E jegyzetet a Budapesti Mszaki s Gazdasgtudomnyi Egyetemen illetve az Etvs Lornd Tudomnyegyetemen tartott numerikus mdszerek kurzusainkhoz rtuk. Az rs sorn mindvgig azt vettk gyelembe, hogy a jegyzet segtsgvel hallgatink alapos ismereteket tudjanak elsajttani a trgy tmjban s egyben eredmnyesebben tudjanak felkszlni a vizsgkra. Ezt a clt szolgljk a magyarz brk, a szemlltet pldk, az ellenrz krdsek, a gyakorl feladatok s a jegyzet vgn tallhat szszedet is. A jegyzetbe nem akartunk tbb dolgot belezsfolni, mint amirl egy kt flves kurzus sorn az eladsokon is sz lehet, de igyekeztnk azrt az rdekld hallgatknak is kitekintst nyjtani az eladsok anyagn tlmutat elmletek felvillantsval vagy az ezeket trgyal irodalom megadsval. A jegyzetben a dencikat s tteleket vastag vonallal emeltk ki. Azokat a pldkat, amelyek a jobb megrtst segtik bekeretezve kzljk. Szintn bekeretezve szedtk az egyes algoritmusokat s programrszleteket. A bizonytsok vgt , a pldk s megjegyzsek vgt pedig jel zrja. A dencik, a ttelek, a kvetkezmnyek s a megjegyzsek fejezetenknt folytonosan sorszmozdnak. A fontosabb fogalmakat dlt betvel szedtk. ltalban ezek kerltek a szszedetbe is. Mivel ez a jegyzet elektronikus formban lesz elrhet, gy kihasznltuk azokat a lehetsgeket is, amiket az elektronikus forma megenged. gy szmos helyen megadtunk internethivatkozsokat valamilyen szemlltet programhoz, bvebb lershoz vagy letrajzhoz. Termszetesen mivel ezek internetes tartalmak, a jvben vltozhatnak s elrhetetlenn is vlhatnak. A kpletekre, ttelekre vagy a szszedetbeli elemekre val hiperhivatkozsok a pdf fjlban egy kattintssal elrhetk, majd az ALT+ billentyvel visszatrhetnk ez eredeti olvassi helyhez. Ksznet illeti hallgatinkat, akik az elmlt flvek sorn alaposan tnztk a jegyzet korbbi vltozatait, megjegyzseikkel hozzjrultak az anyag kialakulshoz s vgleges formba ntshez, s a korbbi vltozatokban lv hibkra felhvtk gyelmnket. Ksznet illeti Dr. Havasi gnest rtkes javaslatairt, aki a tle megszokott alapossggal nzte t a kziratot. A jegyzet a TMOP 4.1.2. 08/2/A/KMR: Termszettudomnyos (matematika s zika) kpzs a mszaki s informatikai felsoktatsban plyzat tmogatsval jtt ltre.
A Szerzk
1. Elismeretek
Ebben a fejezetben azokat az elismereteket gyjtjk ssze, amik nem tartoznak szorosan a numerikus mdszerek trgy tmakrhez, de ismeretk elengedhetetlen lesz a ksbbiekben. Ezek az ismeretek fleg a lineris algebra s a funkcionlanalzis trgyhoz tartoznak. Bevezetjk a vektor- s mtrixnorma fogalmt, igazoljuk a Banach-fle xpontttelt, ismertetjk a GramSchmidt-fle ortogonalizcis eljrst, felsorolunk nhny nevezetes mtrixtpust s megvizsgljuk a tulajdonsgaikat. Sz lesz mg a mtrixok sajtrtkeirl s sajtvektorairl, ezek normkkal val kapcsolatrl, az M-mtrixokrl ill. a diagonalizlhat mtrixokrl. sszehasonltjuk a sorozatok s fggvnyek konvergenciasebessgt. A fejezetet a MATLAB programcsomag bemutatsval zrjuk. Azok a hallgatk, akik tanultak lineris algebrt s funkcionlanalzist e fejezet nagy rszt tugorhatjk az olvass sorn. Br a jellsek megismersnek rdekben rdemes minden fejezetet tszaladni, nekik csak a Gersgorin-ttelt (1.2.14. ttel), a Banach-fle xpontttelt (1.1.18. ttel), a normk s sajtrtkek kapcsolatrl szl 1.2.3. fejezetet, az M-mtrixokrl szl 1.2.4. fejezetet s a konvergenciasebessgrl szl 1.3. fejezetet rdemes alaposan tnzni.
1.1. Vektorterek
1.1.1. Vals s komplex vektorterek
Jelentse a tovbbiakban vagy a vals szmok (R) vagy a komplex szmok (C) testjt.
1.1.1. denci.
Egy
V =
halmazt (K
=R
esetn vals,
K=C
estn komplex)
vektortrnek
neveznk, ha
rtelmezve van rajta egy sszeads s egy szmmal val szorzs mvelet az albbi tulajdonsgokkal: 1. 2. 3. 4. 5. 6. 7. 8.
1.
Elismeretek
0 x = o minden o = o minden K esetn s x = (1) x minden x V esetn. Ez utbbi tulajdonsg alapjn az x y klnbsgen az x + (1) y sszeget rtjk. Vals vektorteret alkotnak pl. a sk s a tr helyvektorai, az n-elem vals oszlopvektorok n mn halmaza (R ), az m-szer n-es vals mtrixok halmaza (R ), az [a, b] intervallumon folytonos fggvnyek halmaza (C[a, b]), az [a, b] intervallumon legalbb k -szor folytonosan derivlhat fggk vnyek halmaza (C [a, b]), a vals egytthats polinomok halmaza (P ), a legfeljebb n-edfok vals egytthats polinomok halmaza (Pn ) s ezek [a, b] intervallumra vonatkoz leszortsai 1 (P [a, b], Pn [a, b]) a szoksos mveletek esetn . n Komplex vektorteret alkotnak pl. az n-elem komplex oszlopvektorok halmaza (C ) s az mn m-szer n-es komplex mtrixok halmaza (C ). Ebben a fejezetben jelentsen a tovbbiakban V egy adott (vals vagy komplex) vektorteret. V elemeit ltalnosan vektoroknak hvjuk.
A vektortr fenti aximibl knnyen nyerhetk az albbi tulajdonsgok: esetn,
xV
1.1.2. denci.
Egy olyan
hvunk, ha vannak
1.1.3. denci.
Egy a
V vektortr egy W rszhalmazt a vektortr egy alternek hvjuk, ha W V -beli mveletekre nzve.
maga is vektortr
Pldul a legfeljebb harmadfok polinomok vektorterben a legfeljebb msodfok polinomok alteret alkotnak. Jellje lin(x1 , x2 , . . . , xn ) az nzve. ncijnak halmazt. Ekkor lin(x1 , x2 , . . . , xn ) a
x1 , x2 , . . . , xn V vektorok sszes lineris kombiV vektortr egy altere lesz a V -beli mveletekre
1.1.4. denci.
Az egyenlsgbl
akkor hvunk linerisan fggetlennek, ha brmely vges rszhalmaza linerisan fggetlen vektorokat tartalmaz. A nem linerisan fggetlen vektorrendszereket linerisan sszefgg rendszereknek hvjuk.
1.1.5. denci.
Egy vektorrendszert a
vektortr
bzisnak
minden
V -nek
Egy vges dimenzis vektortr minden bzisnak egyforma az elemszma. Ez a vektortr dimen-
1 A jegyzetben hasznlt vektorokkal s mtrixokkal kapcsolatos jellseket s elnevezseket az 1.2. fejezetben foglaltuk ssze.
6 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
1.1.
Vektorterek
egy vektortr, s
x = 0 x = o, x = || x
,
x V, K,
,
x+y x + y
x, y V
(hromszg-egyenltlensg).
Mivel a sk- ill. a trvektorok vektorterben a vektorok hossza normt ad meg, ezrt ltalnosan is szoks egy vektor normjt a vektor hossznak nevezni.
1.1.7. megjegyzs.
Knnyen igazolhat, hogy a norma csak nemnegatv rtket vehet fel. Vizs-
elem esetn az
x x)
0= o = xx x + x =2 x ,
amibl kvetkezik az llts. Most felsorolunk nhny fontos pldt normlt terekre.
A sk s a tr helyvektorai, ha a A
Kn
vektortr, ha egy
x = [x1 , . . . , xn ]T x
p
|x1 |p + + |xn |p
kplettel rtelmezzk
p = 1, 2, . . .
x x
= |x1 | + + |xn |
valamint a
hatrtmenettel nyert,
x
A
Kn
vektornormknak
hvjuk.
C[a, b]
C[a,b]
mdon rtelmezzk (maximumnorma), amely tulajdonkppen a fggvnygrakon mrt legnagyobb eltrsnek nagysgt adja meg.
x-tengelytl
tankonyvtar.bme.hu 7
1.
Elismeretek
Kmn
A = [aij ] Kmn
i=1,...,m; j=1,...,n
mtrix esetn az
A =
kplettel rtelmezzk. A
max
{|aij |}
Kmn
mtrixnormknak
gunk ms fontos mtrixnormkat is. A norma alkalmas arra, hogy mrjk kt folytonos fggvny, kt vektor vagy kt mtrix "tvolsgt". gy mrni tudjuk, hogy pl. egy lineris egyenletrendszer kzelt megoldsa "milyen messze" van a pontos megoldstl. A tvolsg segtsgvel konvergencit is denilhatunk.
1.1.8. denci.
Az
x, y (V, )
vektorok
tvolsgn
az
xy
szmot rtjk.
1.1.9. ttel.
A fent denilt tvolsgra teljeslnek az albbi tulajdonsgok: 1. 2. 3.
A hromszg-egyenltlensg kzvetlen kvetkezmnye az albbi ttel, ami azt mutatja, hogy kt vektor normjnak eltrse tetszlegesen kicsi lehet, ha a kt vektor tvolsgt elegenden kicsinek vlasztjuk.
1.1.10. ttel.
Egy
(V, )
normlt trben
| x y | xy
minden
x, y (V, )
esetn.
y = (y x) + x y x + x , x = (x y) + y x y + y .
Az els egyenltlensgbl kapjuk, hogy
xy
a
. Az utbbi egyenlsget az
yx y x yx
alakot lti, ami a bizonytand lltssal ekvivalens.
1.1.11. denci.
Azt mondjuk, hogy az az
{xk } (V, )
sorozat tart az
{ xk x } x
x (V, ) xk x.
elemhez (konvergens), ha
Az telm.
1.1.
Vektorterek
1.1.12. denci.
Azt mondjuk, hogy egy amely tart valamilyen ha komplementere zrt.
H (V, ) halmaz zrt, ha minden olyan {xk } H sorozatra, x (V, ) elemhez, igaz, hogy x H . Egy H (V, ) halmaz nylt,
1.1.13. denci.
Egy olyan
c2 x , x V.
Knnyen lthat, hogy a normk ekvivalencija ekvivalencia-relci, azaz reexv, szimmetrikus s tranzitv. Ekvivalens normk ugyanazt a konvergencit deniljk. Ez azt jelenti, hogy ha egy sorozat az egyik normban tart egy adott elemhez, akkor a msik normban is ahhoz az elemhez fog tartani. A ksbbiekben tbbszr alkalmazzuk majd az albbi ttelt.
1.1.14. ttel.
Vges dimenzis vektorterekben minden norma ekvivalens.
v1 , . . . , vn bzissal. Ebben a vektortrn k vk alakban, ahol az k egytthatk k=1 n 2 K-beli egyrtelmen meghatrozott konstansok. Ekkor a vektortrben a (x) = k=1 |k |
Bizonyts. Legyen egy vges dimenzis vektortr a ben minden
x=
vektor-
egy tetszleges
V -beli
vektor. Ekkor
x =
k=1
ahol
k vk
k=1
|k | vk
k=1
|k
|2
k=1
vk
= c2 (x),
n 2 egy, az x vektortl fggetlen konstans. Az utols becslsnl a Cauchy k=1 vk Schwarz-egyenltlensget hasznltuk. gy a norma fellrl becslhet a norma konstans-
c2 =
f : (K ,
n k=1
Kn
|f () f ()| =
k=1
Mivel az
k vk
k=1
k v k
(k k )vk c2 2 .
k=1
G = { Kn |
nyilvnvalan nagyobb nullnl, hiszen klnben a
= 1} f
. Az
rtk
v1 , . . . , v n
1.
Elismeretek
Mivel
x=o
esetn
Ez mutatja, hogy
(x/(x)) = 1, ezrt x/(x) f , amibl kvetkezik, c1 = f megfelel vlaszts. Ezt akartuk megmutatni.
hogy
x f (x).
1.1.15. denci.
Azt mondjuk, hogy az olyan
M N
szm, melyre
szmhoz van
1.1.16. ttel.
Minden
(V, )
1.1.17. denci.
Azt mondjuk, hogy a
, ha minden
A normlt terekre korbban felsorolt pldk egyben pldk Banach-terekre is. Teht pl. brmilyen ms normval is. Ugyanakkor nem minden normlt tr Banach-tr. Ha a
Rn
Banach-tr a felsorolt normkkal, s mivel ezen a vektortren minden norma ekvivalens, ezrt
C[a, b] vekb tortren a normt az f = |f (x)| dx mdon deniljuk, akkor az gy nyert normlt tr nem a lesz Banach-tr. Most igazoljuk azt a ttelt, amely a ksbbi itercis eljrsok konvergencijt
fogja majd biztostani.
(V, )
egy Banach-tr, s
H (V, )
F :H H
0q<1
vals szm,
F (x) F (y) q x y
brmely
x, y H
Ekkor F -nek egyrtelmen ltezik xpontja H -ban, azaz egy olyan x H F (x ) = x . Tetszleges tart. rvnyes az
x0 H
kezdelemmel az
xk+1 = F (xk )
-hoz
x xm
becsls.
qm x1 x0 1q
(1.1.1)
2 Stefan Banach (1892 (Lvov)-1945), lengyel matematikus. A modern funkcionlanalzis megalaptja. Eredmnyei jelentsen hozzjrultak a topologikus vektorterek, a mrtkelmlet, az integrls s az ortogonlis sorok elmlethez is. Rszletes angol nyelv letrajz tallhat pl. az http://www-history.mcs.st-and.ac.uk/Biographies/ Banach.html oldalon.
10 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
1.1.
Vektorterek
x0 H
elem esetn az
xk+1 = F (xk )
rekurzival de-
H -ban
n>m
xn xm = xn xn1 + xn1 xn2 + . . . + xm+1 xm xn xn1 + xn1 xn2 + . . . + xm+1 xm q n1 x1 x0 + q n2 x1 x0 + . . . + q m x1 x0 = (q n1 + q n2 + . . . + q m ) x1 x0 = (q nm1 + q nm2 + . . . + 1)q m x1 x0 =
Ez mutatja, hogy (1.1.2)
qm q nm 1 m q x1 x0 x1 x0 . q1 1q
Cauchy-sorozat, hiszen
{xk }
egy
H -beli
0 q < 1,
>0
esetn
M=
ln((1 q)/ x1 x0 ) ln q
Most azt fogjuk igazolni, hogy
(V, ),
xpontja
melyre
F -nek.
x x
F (x ) xk+1 = F (x ) F (xk ) q x xk 0 (k ),
ezrt hogy kt
xk+1 F (x ). Mivel xk+1 x is igaz, gy a hatrrtk egyrtelmsgbl kvetkezik, F (x ) = x . Az egyrtelmsg igazolshoz indirekt mdon felttelezzk, hogy van legalbb klnbz xpont: x s x . Ekkor x x = F (x ) F (x ) q x x
ha
, n indexszel vgtelenhez
< 1),
x =x
, ami ellentmonds.
lehet a teljes
(V, )
msodik lltsa gyakorlati tmutatst is ad arra, hogy a xpontot hogy kell megkeresnnk. A harmadik rszben szerepl becsls pedig a xponthoz tart sorozat els kt elemnek tvolsgval s a
m-edik
{xk }
H -beli
1.1.19. denci.
Egy F : (V1 , ) (V2 , ) lekpezs folytonos az x (V1 , ) pontban, ha minden {xk } (V1 , ) sorozatra, melyre xk x , kvetkezik, hogy F (xk ) F (x ) (V2 , )-ben. F folytonos, ha minden x (V1 , ) pontban folytonos. Fontos plda, hogy az F : (V, ) (R, |.|), F (x) = x xk x (V, )-beli sorozat esetn minden k indexre igaz, ttel), azaz xk x . folytonos lekpezs, hiszen tetszleges hogy
| xk x | xk x
(1.1.10.
tankonyvtar.bme.hu 11
1.
Elismeretek
1.1.20. denci.
Egy
ha van olyan
K R+ 0
szm, melyre
1.1.21. denci.
Egy
F : (V1 , ) (V2 , ) lekpezst lineris opertornak F (x) + F (y) minden x, y (V1 , ), , K esetn.
neveznk, ha
F (x + y) =
1.1.22. ttel.
Lineris opertorokra a folytonossg s a korltossg ekvivalens tulajdonsgok. Ha egy lineris opertor folytonos egy pontban, akkor folytonos Jellje
(V1 ,
minden pontjban.
B(V1 , V2 )
az sszes korltos
L : (V1 ,
) (V2 ,
ahol a mveleteket az
1.1.23. ttel.
Az
L := sup
x=o
L(x) x B(V1 , V2 )
vektortren, gy
B(V1 , V2 )
V2
Banach-tr, akkor
B(V1 , V2 )
is Banach-tr.)
AK
L : (Kn ,
) (Km ,
mn
A := L = sup
induklt normknak
x=0
Ax x
(1.1.3)
1.1.24. ttel.
Tegyk fel, hogy a
Kn
Km
Oktadernorma (p
= 1): A
= maxj=1,...,n
m i=1
|aij |
n j=1
(oszlopsszegnorma), (sorsszegnorma),
Maximumnorma (p
= ): A = 2): A
|aij |
az
Euklideszi norma (p
ahol
mtrix spektrlsugara, s
az
1.1.
Vektorterek
Ax
=
i=1 j=1
aij xj
i=1 j=1 m
|aij ||xj | =
j=1 i=1 n
|aij ||xj | =
j=1 m
|xj |
i=1
|aij |
j=1,...,n
max
|aij |
i=1 j=1
|xj | =
j=1,...,n
max
|aij |
i=1
x 1,
m 1 maxj=1,...,n i=1 |aij |. Az egyenlsghez azt kell megmutatni, hogy n van olyan 0 K vektor, mellyel a fenti becslsekben egyenlsgek szerepelnek. Tegyk fel, m m hogy a i=1 |aij | sszeg a j0 oszlopban a legnagyobb. Ekkor az 0 = j0 i=1 |aij0 | vlaszts megfelel, ugyanis
Ax0
Itt
=
i=1
|aij0 |
i=1
|aij0 | = n
j=1,...,n
max
|aij |
i=1
x0 1 .
j0 -adik
eleme 1, a
ej0
j0 -adik
tbbi pedig nulla. Maximumnorma: Az oktadernormhoz hasonlan igazolhat. Lsd az 1.6.2. feladatot a fejezet vgn. Euklideszi norma: Ksbb igazoljuk (24. oldal). Most mg nem ll rendelkezsnkre minden eszkz a bizonytshoz.
1.1.25. megjegyzs. Unitr s ortogonlis mtrixok 2-es normja 1, ugyanis A 2 = (AH A) = (E) = 1. Unitr s ortogonlis mtrixszal val szorzs nem vltoztatja meg egy mtrix 2-es normjt. Legyen B tetszleges mtrix s A egy unitr mtrix, melyek sszeszorozhatk AB
alakban. Ekkor
AB
((AB)H (AB)) =
(BH AH AB) =
(BH B) = B 2 .
1.1.26. megjegyzs.
elemabszoltrtkkel.
Diagonlis mtrixok
p-normja
1.1.27. ttel.
Tegyk fel, hogy a
Kn -beli .
m
v vektornorma a
Knn -beli
Ax
Az
v minden
x Kn
vektor s
A Knn
tulajdonsg),
E egysgmtrixra E
m
= 1,
AB
m minden
A, B Knn
tulajdonsg).
tankonyvtar.bme.hu 13
1.
Elismeretek
Az
A = maxi,j {|aij |}
(V, ., . )
1. 2. 3.
prt
egy vektortr, s
., . : (V V ) K
egy adott
x, y = y, x
x, y V
esetn (a
x, y = x, y x, x > 0,
, minden
x, y V, K
esetn.
minden
o=xV
Kn oszlopvektorok terben, az x = [x1 , . . . , xn ]T s y = [y1 , . . . , yn ]T jellssel az x, y = x1 y1 +. . .+xn yn hozzrendels skalris szorzst ad meg. Megjegyezzk, hogy az egyszersg H kedvrt a ksbbiekben a mtrixszorzs szablyt hasznlva az x, y = x y vagy vals T vektorok esetn az x, y = x y rsmdot fogjuk hasznlni, hiszen ezek olyan 1 1-es C[a, b]
vektortren az
f, g =
a
s(x)f (x)g(x) dx
(1.1.4)
1.1.29. denci.
Egy euklideszi tr
x, y = 0.
elem normlt, ha a skalris szorzs ltal induklt normja 1. Egy vektorrendszer ortogonlis, ha brmely kt klnbz eleme ortogonlis. Egy vektorrendszer ortonormlt, ha ortogonlis s minden eleme normlt.
Tbbszr fontos szerepet fog jtszani az az eljrs, mellyel linerisan fggetlen vektorokbl ortonormlt rendszert lehet kszteni. Ezt az eljrst GramSchmidt-fle ortogonalizcis eljrsnak (rviden GS ortogonalizci) hvjuk.
x1 , . . . , x k
vektorrendszerbl elllthat
q1 , . . . , q k
lin(x1 , x2 , . . . , xl )
l = 1, . . . , k
index esetn.
1.1.
Vektorterek
q 1 = x1 , qi , xl qi (l = 2, . . . , k) qi , qi
l1
q l = xl
i=1
mdon ellltott
q1 , . . . , qk
ql =
ql ql
(l = 1, . . . , k)
vektorok pedig ortonormlt rendszert alkotnak. A numerikus matematikban fontos szerepet jtszanak az ortogonlis polinomok. Az 1.1.29. denci alkalmazsval kt mon az
p, q P [a, b]
b
[a, b]
intervallu-
s(x)p(x)q(x) dx = 0.
a
Az
1, x, x2
stb. polinomokbl a
1/ 1 x2
0 1 2 3 4
1.1.31. ttel.
Tegyk fel, hogy a lisak az
p0 , p1 , . . . (az als index a fokszmot jelli) polinomok pronknt ortogon[a, b] intervallumon egy adott s pozitv slyfggvnyre. Ekkor a polinomoknak minden zrushelye vals, egyszeres s az [a, b] intervallumba esik.
Bizonyts. Tekintsk a
pl polinomot, s jellje z1 , . . . , zk a pratlan multiplicits klnbz [a, b]-ben. Ha k = l, akkor igaz az llts, ha k < l, akkor tekintsk a p(x) = (x z1 ) . . . (x zk ) (p 1, ha k = 0) polinomot, amely k -ad fok. A pl p polinom (l + k)-ad fok, s nem vlt eljelet [a, b]-ben (minden vals gyktnyez pros hatvnyon szerepel). gy az
vals zrushelyeket
pl (x)p(x)s(x) dx = 0
a
felttel nem teljeslhet. Ezzel igazoltuk az lltst.
tankonyvtar.bme.hu 15
1.
Elismeretek
1.2. Mtrixok
Ebben a jegyzetben az oszlopvektorokat flhzott flkvr kisbetkkel, mg a mtrixokat flkvr nagybetkkel jelljk. Egy
aij -vel
nem szeretnnk j jellst bevezetni a mtrix elemeire, alkalmazzuk az mdon jrunk el a vektorok esetn is.
(A)ij
A jellsek megknnytse rdekben tbb esetben alkalmazzuk a MATLAB jellseit is. Pl. egy
AK
programcsomag
mn
mtrix esetn
A(:, c : d)
az
A(a : b, c : d) A(a : b, :)
diag( az
Vektorok esetn
diag(v) azt a diagonlis mtrixot jelenti, melynek diagonlis elemei rendre megegyeznek a
vektor elemeivel.
rixnak
nullvektornak ill. nullmt0 jellst hasznljuk. Mrett kln nem jelljk, ngyzetes vagy kvad-
ratikus
Egy
mtrixoknak nevezzk.
A vals mtrixot s zimmetrikusnak hvunk, ha AT = A, ahol ()T jelli a transzponls T H 4 = A, mvelett ((A )ij = (A)ji ). Egy A komplex mtrixot hermitikusnak hvunk, ha A
ahol
()H
Egy
A Kmn mtrixrl azt mondjuk, hogy svmtrix , ha lteznek olyan p, q N konstanaij = 0 ha j < i p s ha j > i + q . Az 1 + p + q p = 0, q = 0.
rtket a mtrix
svszlessgnek
- Diagonlis a mtrix, ha
fogja jellni az egysgmtrixot. A mrett ltalban nem jelljk, mindig olyan mretnek tekintjk, hogy elvgezhetek legyenek vele a mtrixmveletek. Egy mtrix kzvetlenl a ftl "feletti" ("alatti") elemeit a mtrix szuperdiagonlisnak (szubdiagonlisnak) nevezzk. - Fels hromszgmtrixrl beszlnk, ha a ftl "alatti" elemek nullk (p
= 0).
Pl.
0 0 0
0 0 0
3 A MATLAB programcsomagrl az 1.4. fejezetben runk rszletesebben. 4 Charles Hermite (18221901), francia matematikusrl elnevezett mtrixtpus. mutatta meg, hogy az her-
1.2.
Mtrixok
- Als Hessenberg-mtrix: a szuperdiagonl "feletti" elemek nullk (q - Tridiagonlis mtrix: egyszerre als- s fels Hessenberg-mtrix (p balra
s tle jobbra
szerepel.
A ngyzetes mtrix esetn azt a mtrixot, mellyel akr balrl, akr jobbrl szorozA-t, az egysgmtrixot kapjuk eredmnyl, az A mtrix inverznek nevezzk. Jellse: A1 (AA1 = E). Azokat a mtrixokat, melyeknek van inverze regulris vagy nemszinkn gulris mtrixoknak nevezzk. Legyenek az A mtrix oszlopvektorai a1 , . . . , an . Ekkor a lin(a1 , . . . , an ) vektortr dimenzijt az A mtrix rangjnak nevezzk s r(A)-val nn jelljk. Egy A R mtrix determinnst a det(A) mdon jelljk. Egy ngyzetes
Egy zuk mtrixnak pontosan akkor van inverze, ha determinnsa nulltl klnbzik, ami pontosan akkor teljesl, ha a mtrix rangja megegyezik oszlopainak szmval. Fontos szably a determinnsok szorzsi szablya, amely szerint kt tetszleges det(
AB) = det(A)det(B).
egysgvektort
A, B Rnn
mtrix esetn
Az
i-edik
ei
ei = [0, . . . , 0, 1, 0, . . . , 0]T ,
ahol az 1-es az
i-edik elem a vektorban. A vektor mrett nem jelljk, az mindig kvetkezik a kpletekben
szerepl tbbi mtrix mretbl.
0 felttelek teljeslnek. A nempozitv ill. negatv tulajdonsgokat hasonlan deniljuk. Ha B s C kt azonos mret mtrix, melyek balrl szorozhatk az A 0 mtrixszal, akkor a B C felttelbl kvetkezik az AB AC felttel, ugyanis az A(C B) szorzatnak
minden eleme nemnegatv s gy a szorzat maga is egy nemnegatv mtrix lesz. Azokat a mtrixokat, melyek elemei mtrixok,
blokkmtrixoknak
hvjuk. Megadsukra a
a = [1, 2, 3]T
3 B = 4 5
akkor
4 4 0 1 , 2 2 1 3 4 5 2 3 4 4 . 0 1 2 2
aT a B
1
Egy
1 1 = 2 3
vals mtrixot
ortogonlisnak
A1 = AT .
Az elnevezs
onnt ered, hogy ebben az esetben a mtrix oszlopvektorai ortonormltak a szoksos beli skalris szorzsra nzve. Egy
A1 = AH .
hiszen ha pl.
mtrixot
unitr
Rn -
A s B ortogonlisak (A1 = AT s B1 = BT ), akkor E = (AB)(BT AT ) = (AB)(AB) , azaz AB inverze a transzponltja, azaz AB ortogonlis.
T
tankonyvtar.bme.hu 17
1.
Elismeretek
Egy hermitikus
x xH Ax
xH Ax rtke vals.
(1 1)-es
mtrix, s
1.2.1. denci. Legyen A egy adott hermitikus mtrix. Ekkor, ha tetszleges x = 0 vektorra igaz, hogy xH Ax > 0 (xH Ax < 0), akkor az A mtrixot pozitv (negatv) denit mtrixnak, xH Ax 0 (xH Ax 0), akkor az A mtrixot pozitv (negatv) szemidenit mtrixnak,
Ha az
ha a felttelek vals
A mtrix vals s szimmetrikus, akkor az adott tulajdonsgok teljeslshez elegend, x vektorokkal teljeslnek.
alak mtrixot, ahol i1 , . . . , in az 1, 2, . . . , n szmok egy permutcis mtrixnak hvunk. Egy A Rnn mtrix esetn az AP szorzat A oszlopainak i1 , . . . , in sorrend trendezst adja, mg a PT A szorzat A sorait rendezi T T t az emltett sorrendbe. rvnyes tovbb a PP = P P = E relci, azaz a permutcis Egy permutcija, mtrixok ortogonlisak.
egy tetszleges ngyzetes mtrix. Ha egy nullvektortl klnbz szm esetn teljesl az
0=v
Av = v
egyenlsg, akkor a neveznk. Egyszeren igazolhatk az albbi ttelek.
1.2.3. ttel.
Egy mtrix adott sajtrtkhez tartoz sajtvektorai a nullvektorral kiegsztve alkotjk.
Cn
egy altert
c1 , c2
szmok esetn
c1 v1 + c2 v2 = 0
v1
v2
kt klnbz,
-hoz
tartoz sajt-
is sajtvektor. Ez kvetkezik
egyenlsgbl.
1.2.
Mtrixok
n darab sajtrtke det(A E) = 0 egyenlet megoldsai. Egy adott sajtrtkhez tartoz v sajtvektorokat az (A E)v = 0 lineris algebrai egyenletrendszer nullvektortl klnbz
mtrixnak a multiplicitst is gyelembe vve pontosan van. A sajtrtkek a
E)v = 0
Av = v
(A
letrendszer homogn, gy biztosan van megoldsa, hiszen a nullvektor megolds lesz. Ahhoz, hogy
sajtrtk legyen, pontosan az kell, hogy legyen nullvektortl klnbz megoldsa is az egyenletrendszernek. Ez pontosan akkor teljesl, ha det(A E) = 0. Ez az egyenlet azt mutatja, hogy a sajtrtkek a pA () := det(A E) polinom zrushelyei. Ezekrl pedig az algebra alapttelbl tudjuk, hogy multiplicitssal egytt n darab van bellk.
1.2.5. denci. nn Egy adott A C mtrix esetn a pA () = det(A E) polinomot a mtrix karakterisztikus
polinomjnak,
a
PA () = 0
Ha
egyenletet pedig
karakterisztikus egyenletnek
nevezzk.
1.2.6. megjegyzs.
1.2.7. ttel.
Jellje
1 , . . . , n
az
A Cnn
det(A) =
i=1
ahol tr(
i ,
tr(
A) =
i=1
i ,
n-edfok
polinom
1 2 . . . n = (1)n
a0 an1 , 1 + 2 + . . . + n = . an an an = (1)n ,
a0 = det(A).
Bizonyts. Tekintsk az
Av = 0 homogn lineris egyenletrendszert. Ennek pontosan akkor A) = det(A 0E) = 0. Ez egyenrtk azzal, hogy a
tankonyvtar.bme.hu 19
1.
Elismeretek
1.2.9. megjegyzs.
nemszingulris. Ugyanis ehhez azt kell megmutatnunk, hogy nincs olyan nulltl klnbz vektor, mellyel a mtrixot megszorozva nullvektort kapunk.
1.2.10. ttel.
Hermitikus mtrixok minden sajtrtke vals.
Bizonyts. Legyen
vH v.
sajtrtkkel. Ekkor
vH Av = vH v =
Nyilvn
(vH Av)H = vH Av, (vH v)H = vH v, (11)-es mtrixok, melyek transzponlt konjugltja nmaga, azaz vals szmokat is vals kell legyen.
Az elz ttel alapjn a vals szimmetrikus mtrixoknak is minden sajt-
tartalmaznak. gy
1.2.11. megjegyzs.
1.2.12. ttel.
Hermitikus pozitv (szemi)denit mtrixok minden sajtrtke (nemnegatv) pozitv.
v egy sajtvektora a mtrixnak sajtrtkkel. Az elz ttelbl tudjuk, H H H hogy vals. Ekkor v Av = v v = v v > 0, s a v v > 0 egyenltlensgbl kvetkezik az
Bizonyts. Legyen
1.2.13. denci. nn Egy A C mtrix legnagyobb abszoltrtk sajtrtknek abszolt rtkt A spektrlsugarnak hvjuk. Jells: (A). Azaz (A) = maxi=1,...,n {|i | | i sajtrtke A-nak}.
A sajtrtkek komplex szmskon val elhelyezkedsre ad becslst az albbi n. Gersgorin ttel.
5
aii ,
s sugara
Legyen Ki a komplex szmskon az a zrt krlap, melyn j=1,j=i |aij | (i = 1, . . . , n). Ekkor a mtrix sajtrtkei az
i=1,...,n Ki
halmazban tallhatk.
A-t A = D + T alakban, D = diag(diag(A)) az A diagonlist tartalmaz mtrix. Az A E mtrix szingulris, gy olyan x = 0 vektor, mellyel (A E)x = 0, azaz (D E)x = Tx. A bal oldali mtrix x
invertlhat, hiszen olyan diagonlis mtrix, melynek egyik ftlbeli eleme sem nulla. gy
(D E)1 T
5 Szemjon Aranovics Gersgorin (19011933), belorusz matematikus. A sajtrtkek becslsrl szl cikkt 1931-ben publiklta. Bvebb letrajz: http://www-groups.dcs.st-and.ac.uk/~history/Biographies/Gershgorin.html
20 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
1.2.
Mtrixok
amibl
1
valamely
n j=1,j=k
|akj |
|akk |
krlap belsejbe esik.
k = 1, . . . , n
indexre, azaz Ha
Kk
1.2.15. megjegyzs.
pontosan
1.2.16. ttel.
Klnbz sajtrtkekhez tartoz sajtvektorok linerisan fggetlenek. Bizonyts. Elegend a ttelt csak kt sajtrtkre igazolni gy, hogy megmutatjuk, hogy az egyikhez tartoz egy sajtvektor nem fejezhet ki a msikhoz tartoz sajtvektorok lineris kombincijaknt. Tegyk fel teht indirekt, hogy egy hogy megfelel
v = Av = A
i=1
ami csak gy lehetne, ha
i wi =
i=1
i wi = v,
= .
Ez ellentmonds.
1.2.17. kvetkezmny.
(n n)-es
mtrixnak
1.2.2. Diagonalizlhatsg
1.2.18. denci. Az A s B ugyanolyan mret ngyzetes mtrixokat hasonlnak 1 lris mtrix, melyre B = S AS.
A hasonlsg ekvivalenciarelci.
S regu-
1.2.19. ttel.
Hasonl mtrixok sajtrtkei megegyeznek.
A s B mtrix karakterisztikus polinomja ugyanaz. Legyen B = S AS. Mivel det(S)det(S ) = det(E) = 1, ezrt
Bizonyts. Elg megmutatnunk, hogy a kt hasonl
1.2.20. megjegyzs.
albbi sszefggs: ha
tankonyvtar.bme.hu 21
1.
Elismeretek
A=
1 0
1 1
mtrix. Ennek a mtrixnak ktszeres sajtrtke az 1, gy az egysgmtrixszal kellene hasonlnak lennie, de akkor valamilyen regulris
1.2.23. ttel.
Egy
(n n)-es
sajtvektorrendszere.
(nn)-es A mtrixnak van n darab linerisan fggetlen Avj = j vj (j = 1, . . . , n) gy, hogy a vj sajtvektorok linerisan fggetlenek. 1 0 0 2 0 0
.. .
A v1 . . . vn
:=S
v1 . . . vn
... ...
:=
v1 . . . vn jellst arra a mtrixra, melynek oszopvektorai a S1 AS = , azaz a mtrix diagonalizlhat. 1 A msik irny igazolshoz tegyk fel, hogy van olyan regulris S mtrix, mellyel S AS = , valamilyen diagonlis mtrixszal. Ekkor A sajtrtkei megegyeznek elemeivel. Mivel az ej rendszer sajtvektorrendszere a mtrixnak, gy Sej sajtvektorrendszere A-nak. Ezek S
egyenlsg. Bevezetve az
S=
hvunk, ha
AH A = AAH .
1.2.25. megjegyzs. Vals normlis mtrixok pl. a szimmetrikus s ortogonlis mtrixok. Komplex normlis mtrixok az hermitikus s unitr mtrixok.
1.2.26. ttel.
Minden normlis mtrix diagonalizlhat.
1 s 1 a mtrix egy sajtprja. H Legyen 1 normlt, azaz olyan, hogy 1 1 = 1. Egsztsk ki ezt a vektort a GramSchmidtortogonalizci segtsgvel ortonormlt rendszerr (unitr mtrixsz) a 2 , . . . , n vektorokkal.
Bizonyts. Legyen egy tetszleges normlis mtrix, s
v v
1.2.
Mtrixok
Ekkor
A v1 . . . vn
=:S1 (unitr)
ahonnt, bevezetve az
v1 . . . vn A2
1 0 . . . 0
. . . . . .
S1 = [v1 . . . vn ]
jellst s az
(2 : n, 2 : n)
SH AS1 = 1
Hajtsuk vgre az elz eljrst az
A2
2 0 H S2 A2 S2 = 0
Legyen
S2 =
Ekkor
1 0 0 S2 1 0 0 0 2 0 0
SH SH AS1 S2 = 2 1
Hasonlan folytatva nyerhetek az
. . .
...
S3 , . . . , Sn1
SH . . . SH SH AS1 S2 . . . Sn1 n1 2 1
1 0 = 0
2 0
.. .
. n
S = S1 . . . Sn1 . Ez nyilvnvalan unitr mtrix. Vezessk be a T jellst a fenti kpletben TH T = SH AH SSH AS = SH AH AS = SH AAH S = SH ASSH AH S = TTH ,
gy
T fels hromszgmtrix, csak gy lehet normlis, A normlis mtrix unitr mtrixszal diagonalizlhat.
ha diagonlis
1.2.27. kvetkezmny. A ttel bizonytsbl kzvetlenl kvetkezik, hogy minden A ngyzetes H mtrix felrhat A = STS alakban, ahol S unitr mtrix, T pedig egy fels hromszgmtrix.
Ezt az alakot a mtrixok a
Schur-felbontsnak
tankonyvtar.bme.hu 23
1.
Elismeretek
1.2.28. kvetkezmny. Az elz ttel msik kvetkezmnye, hogy egy mtrix akkor s csak akkor
diagonalizlhat unitr mtrixszal, ha normlis. Az, hogy a normlis mtrixok unitr mtrixszal diagonalizlhatk, kvetkezik az elz ttel bizonytsbl. A msik irny igazolshoz tegyk fel, hogy
A unitr mtrixszal diagonalizlhat, azaz van olyan S unitr mtrix, mellyel SH AS = , H ahol diagonlis mtrix. Ekkor viszont A = SS , s AH A = (SSH )H (SSH ) = SH SH SSH = SH SH = SH SH = (SSH )(SH SH ) = AAH .
1.2.29. ttel.
Egy vals mtrix akkor s csak akkor diagonalizlhat ortogonlis mtrixszal, ha szimmetrikus.
Bizonyts. Igazoljuk elszr, hogy ha egy zlhat, akkor az szimmetrikus. Legyen azaz
A szimmetrikus.
ortogonlis s
A = SST .
Ekkor
AT = SST = A,
A msik irny igazolshoz tudjuk, hogy a szimmetrikus mtrixok normlisak, ezrt diagonalizlhatk. gy van linerisan fggetlen sajtvektorrendszerk. Azt kell megmutatnunk, hogy ezek a vektorok vlaszthatk ortonormltan. Ha egy sajrrtkhez tbb linerisan fggetlen sajtvektor is tartozik, akkor ezek a GramSchmidt eljrssal ortonormlhatk. Mr csak azt kell megmutatnunk, hogy a klnbz sajtrtkekhez tartoz sajtvektorok nemcsak fggetlenek, hanem ortogonlisak is. Legyen teht a
kt klnbz sajtrtkhez ( s
) tartoz sajtvektor.
vT Av = vT v = vT v , vT Av = vT v = vT v = vT v
rtkeknek meg kell egyeznik. Ez csak gy lehet, ha
tartoz sajtvektorok ortogonlisak. gy vlaszthat ortonormlt sajtvektorrendszer. A mtrix azzal az ortogonlis mtrixszal diagonalizlhat, melynek oszlopai az ortonormlt sajtvektorok.
(AH A).
Most mr minden eszkznk megvan ezen llts bizonytshoz. Bizonyts. (Az 1.1.24. ttel harmadik lltsnak bizonytsa.) az Az
AH A
mtrix hermiti-
xH AH Ax = Ax 2 0 egyenltlensgbl. Az hermitikussg miatt a mtrix diagonalizlha2 H H H t, azaz A A felrhat A A = VV alakban, ahol V megfelel unitr mtrix, pedig a
24 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
1.2.
Mtrixok
2 2
(1.2.1)
AH A
x-nek
pont egyenlsg van. gy az llts valban igaz. A fenti ttel kzvetlen kvetkezmnye az albbi ttel.
1.2.30. ttel.
Hermitikus (vals szimmetrikus) ngyzetes mtrixok esetn
= (A).
Bizonyts. Mivel
hermitikus, ezrt
AH A = A2 ,
tkei az eredeti mtrix sajtrtkeinek ngyzetei, azaz rlsugarnak ngyzetvel. Ebbl kvetkezik az llts.
A2
spektrlsugara
A2 sajtrmegegyezik A spekt-
1.2.31. ttel.
Ngyzetes mtrixokra induklt normk esetn rvnyes a
(A) A
becsls.
esetn minden
> 0
induklt norma,
A mtrix Schur-felbontsbl. Eszerint A felrhat A = STSH alakban, ahol S unitr mtrix, T pedig olyan fels hromszgmtrix, melynek diagonlisban az A mtrix 1 , . . . , n sajtrtkei szerepelnek. Legyen d > 0 egy ksbb megvlasztand rtk 1 2 n paramter. Deniljuk a D = diag(d, d , . . . , d ) diagonlis mtrixot. Ekkor a DTD tovbbra is 1 fels hromszgmtrix, melynek diagonlisa megegyezik T diagonlisval. Szmoljuk ki DTD
Bizonyts. Induljunk ki az 1-es normjt. A
j -edik
oszlop abszoltrtk-sszege:
j1
|j | +
i=1
Mivel
j1
kitevje negatv, gy ha
d-t
j1
|j | +
i=1
teljesljn minden
j = 1, . . . , n
DTD1
(A) + .
(1.2.2) tankonyvtar.bme.hu 25
1.
Elismeretek
Mr csak azt kell megmutatnunk, hogy a bal oldalon ll norma az induklt mtrixnormja. Deniljuk az
mtrixnak valamilyen
S s D mtrixok segtsgvel az x
1 1 S,D = (SD ) x
1 vektornormt. Annak
igazolst, hogy ez valban vektornorma, az Olvasra bzzuk (1.6.8. feladat). Hatrozzuk meg, hogy milyen mtrixnormt indukl ez a vektornorma! Legyen
Xx S,D (SD1 )1 Xx 1 = sup 1 x S,D x=0 (SD )1 x 1 (SD1 )1 XSD1 (SD1 )1 x 1 = sup (SD1 )1 x 1 x=0 (SD1 )1 XSD1 y 1 = sup y 1 y:=(SD1 )1 x=0
= (SD1 )1 XSD1 1 .
Vgl szmtsuk ki az az (1.2.2) becslst.
A
gy teht az
= DS1 ASD1
= DTD1
(A) + .
1.2.33. kvetkezmny. A ttel kvetkezmnye, hogy ha egy mtrix spektrlsugara 1-nl kisebb,
akkor van olyan induklt mtrixnorma, melyben a mtrix normja is egynl kisebb.
Ak 0
elemenknt, ha
(A) < 1.
Ak
k=0
sor konvergens, s sszege az
(E A)
mtrix.
Bizonyts. Elszr igazoljuk azt az irnyt, hogy a kt llts. Mivel ttel). Emiatt
Ak
(A) < 1 felttelbl kvetkezik a msik (A) < 1, ezrt van olyan induklt mtrixnorma, mellyel A < 1 (1.2.32. Ak A k 0, ha k . A normk ekvivalencija miatt (1.1.14. ttel) ekkor
Ak nullmtrixhoz tart, gy ennek a vektornak nullvektorhoz kellene tartania. Ez csak akkor lehet, ha || < 1. gy (A) < 1 kvetkezik.
Mivel Tekintsk az albbi azonossgot tetszleges
Ak
(E A)(E + A + A2 + + Al ) = E Al+1 .
Az
(A) < 1,
s ilyenkor az
1.2.
Mtrixok
1.2.35. megjegyzs.
Az
Ak 0 (k )
tulajdonsggal rendelkez
mtrixokat szoks
1.2.4. M-mtrixok
1.2.36. denci. nn Az olyan A R
Ax Ay
m onoton
egyenlsgbl kvetkezik az
x y
egyenlsg.
Dierencilegyenletek numerikus megoldsa sorn gyakran olyan egyenletrendszerekhez jutunk, melyek egytthatmtrixa M-mtrix.
1.2.37. plda.
Az
1 2 1
A = 1
0
1 2
mtrix pldul M-mtrix, hiszen a ftln kvl nincs pozitv eleme, s inverze
3/4
1/2 1
1/4
A1 = 1/2
1/4
1.2.38. ttel.
Egy M-mtrix ftlja pozitv elemeket tartalmaz. Bizonyts. Jelljk
A-val
a mtrixot. Ha
ei 0, ami ellentmonds.
aii 0 lenne valamilyen i indexre, akkor Aei 0 A1 0 mtrixszal szorozva azt kapjuk, hogy A1 Aei =
Az M-mtrix dencijban szerepl felttelek nehezen ellenrizhetk, hiszen ismerni kell hozz a mtrix inverzt. A kvetkez ttel egy knnyebben ellenrizhet szksges s elgsges felttelt ad.
e = [1, . . . , 1]T . Ekkor g = A1 e 1 megfelel vlaszts, ugyanis az A 0 mtrixnak nem lehet nulla sorsszege, azaz g > 0. Erre 1 a g vektorra igaz tovbb, hogy Ag = AA e = e > 0, amit igazolni akartunk.
Bizonyts. Igazoljuk elszr a felttel szksgessgt. Legyen tankonyvtar.bme.hu 27
1.
Elismeretek
G = diag(g1 , . . . , gn )
s
D = diag(a11 g1 , . . . , ann gn ).
Nyilvnvalan
invertlhat. Ekkor
D1 AG
eleme, tovbb a ftljban egyesek llnak. gy felrhat egy nemnegatv mtrix nulla ftlval. Mivel
EB
Ez mutatja, hogy
0 E + B + B2 + = (E B)1 . Teht A-nak is van = G(E B) D1 , s az nemnegatv, mert a jobb oldal minden mtrixa
1
Az elz ttel szerint, ha egy kvl, sikerl olyan ttel azt mutatja,
tallnunk, melyre
Ag > 0,
akkor
M-mtrix. A kvetkez
A1
mtrix
maximumnormjra.
1.2.40. ttel. Legyen A M-mtrix, s g > 0 egy olyan vektor, melyre Ag > 0 teljesl. Ekkor A1
mini (Ag)i
A1
.
mtrix nem-
A1 1.2.41. plda.
i=1,...,n
A1 Ag
= g
1 2 1
A = 1
0
mtrix esetn
1 2
gy az inverz maximumnorm-
mellett
A1
ami tnyleg teljesl, hiszen
3 = 3, 1
A1
= 2.
1.3.
els sorozat 2.00000000000000 1.80000000000000 1.67600000000000 1.59510240000000 1.54066723335142 1.50330168095915 1.47731008656169 1.45906557737600 1.44617834146764 1.43703516193463 1.43052815627098 1.42588707568258 1.42257168042272 1.42020066182865 1.41850366984279 1.41728840370705
msodik sorozat 2.0000000000000000000000000000000000000000000000000 1.5000000000000000000000000000000000000000000000000 1.4166666666666666666666666666666666666666666666667 1.4142156862745098039215686274509803921568627450981 1.4142135623746899106262955788901349101165596221157 1.4142135623730950488016896235025302436149819257762 1.4142135623730950488016887242096980785696718753772 1.4142135623730950488016887242096980785696718753770 1.4142135623730950488016887242096980785696718753770 1.4142135623730950488016887242096980785696718753770 1.4142135623730950488016887242096980785696718753770 1.4142135623730950488016887242096980785696718753770 1.4142135623730950488016887242096980785696718753770 1.4142135623730950488016887242096980785696718753770 1.4142135623730950488016887242096980785696718753770 1.4142135623730950488016887242096980785696718753770
2 = 1.4142135623730950488016887242096980785696718753770 . . . 2-hz
1.3.1. tblzat. Kt
2-hz
kerektve. Mindkt sorozatot egy-egy itercis eljrssal lltottuk el. Lthat, hogy a msodik sorozat sokkal "gyorsabban" konvergl. A hetedik elemtl kezdve nem is ltszik vltozs, pedig 49 tizedesjegyre kerektettnk. Az els sorozat pedig mg a 15. lps utn is hrom ezrednyire van a hatrrtktl. A sorozatok elemeinek hatrrtktl val tvolsgt az 1.3.1. brn brzoltuk. Jelljk egy adott konvergens sorozat elemeit
x(k) -val,
s hatrrtkt
-gal. Jellje
e(k) :=
(k)
(k
= 0, 1, . . .)
k -adik
ln |e(k) | ln |e(k1) |
rtket (ha
1.
Elismeretek
gyorsabban, amelyre ez a hnyados nagyobb. Az 1.3.2. brn a vizsglt kt sorozatra brzoltuk a logaritmikus relatv cskkenst. Az els sorozat esetn a logaritmikus relatv cskkens 1 kzelben van, mg a msodiknl 2 kzelben. Ezek a szmok teht alkalmasak lehetnek a konvergencia jellemzsre. Most vizsgljuk meg ltalnosan a konvergenciasebessg krdst normlt trbeli sorozatokra! Vizsgljunk olyan sorozatokat, melyek monoton mdon tartanak a hatrrtkhez (azaz egyik lpsben sem nvekedhet a hiba abszolt rtke), s egyik sorozatelem sem egyezik meg a hatrrtkkel (a fenti kt pldban ilyen sorozatokat mutattunk, s a gyakorlatban is tipikusan ilyen sorozatokat adnak az itercis eljrsok)! Legyen teht sorozat. A
{x(k) } egy tetszleges normlt trbeli, x -hoz monoton mdon tart konvergens k. sorozatelem hibjt jellje e(k) := x(k) x (a monotonits miatt teht e(k)
e(k1)
).
1.3.
1.3.1. denci.
Azt mondjuk, hogy az pontosan
{x(k) } x
p 1,
ha a
p.
1.3.2. megjegyzs.
Ha
p = 1,
1 < p < 2,
p=2
1.3.3. ttel.
Ha egy
{xk }
sorozatra s egy
e(k) = Ck e(k1)
valamilyen ben. Bizonyts. Az
konstansokkal, akkor
xk x
= Ck e(k1)
C e(k1)
becsls miatt
e(k)
e(0)
. Mivel
C < 1, ezekbl kvetkezik, hogy a sorozat monoton mdon fog az x elemhez tartani. Az e(k) = Ck e(k1) egyenlsg logaritmust vve, majd osztva az ln e(k1) < 0 rtkkel (feltve, hogy k
elg nagy ahhoz, hogy a hiba mr kisebb legyen, mint 1), azt kapjuk, hogy a logaritmikus relatv cskkens
Ck .
a
konstansokra vonatkoz
ln e(k1)
M ln 10/ ln C
lps-
szm utn cskken egy nagysgrendet a sorozat elemeinek hatrrtktl mrt tvolsga, hiszen
C = 1/2,
akkor
M = ln 10/ ln(1/2)
1.3.5. ttel.
Ha egy
{x(k) }
sorozatra s egy
e(k) = Ck e(k1)
valamilyen
p 1/(p1)
(1.3.1)
0 < C Ck C <
p > 1
konstansokkal, s
e(0)
< 1,
akkor
xk x
p.
tankonyvtar.bme.hu 31
1.
Elismeretek
Bizonyts. Vezessk be az
(k) = C
1/(p1) (k)
(k) = C
Teht
1/(p1)
e(k) C
1/(p1)
C e(k1)
= (C
1/(p1)
e(k1) )p = (k1)
(k) (k1)
azaz
(1.3.2)
pk
. (k) 0
1/(p1)
e(0) < 1
mdon. Mivel
e(k) = C
ezrt
(k)
1/(p1)
e(k) 0,
ln e(k1)
-val. Ekkor
0 < C Ck C
minden
k = 0, 1, . . .
esetn s
ln e(k1) ,
ha
k .
Ezt akartuk
megmutatni.
1.3.6. megjegyzs.
p-szerezdik. Pl. ha p = 2 s egy adott kzelts hibja 103 , akkor 6 12 mr kb. 10 -os, a rkvetkez pedig kb. 10 -es lesz. Ez a lineris
1/(p1)
azt jelenti, hogy az (1.3.1) egyenlsgbl csak akkor kvetkezik a konvergencia, ha a sorozat nulladik eleme elegenden kzel van a hatrrtkhez. Az elsrend konvergencihoz az 1.3.3.
0-t
vagy
-t.
g:RR
f :RR
-hoz
6
tart
-ban.
jells.
6 Az ord jells Edmund Landau (Edmund Georg Hermann Landau (1877 Berlin 1938) nmet matematikus nevhez fzdik. Bvebb letrajz: http://www-groups.dcs.st-and.ac.uk/~history/Biographies/Landau.html
32 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
1.3.
1.3.8. denci.
Ha azt rjuk, hogy albbi viszonyt rtjk: Vannak olyan
g(x) = O(f (x)) (x ) (ejtsd: "ord ef"), akkor ezen a g s f fggvnyek > 0 s C > 0 konstansok, mellyekkel |g(x)| C|f (x)| minden olyan kzs rtelmezsi tartomnybeli elemre, melyek sugar krnyezetbe esnek. A nulla sugar krnyezetn a szokott mdon a (, ) intervallumot, a vgtelen sugar krnyezetn az (1/, ) intervallumot rtjk.
Ha a szvegsszefggsbl vilgos, hogy mely
),
hiszen
C = 2
g(x) = O(x). 2 A g(x) = 4x 2x fggvnyrl rhatjuk, hogy g(x) = O(x) (x 0), hiszen C = 4 s = 1 megfelel vlaszts. Ha 1 < x < 1, akkor 4x 2x2 4x. Nyilvnvalan g(x) = O(1) is igaz, de a gyakorlatban treksznk a legnagyobb lehetsges x-hatvny megadsra. Nyilvnvalan g(x) = O(x2 )
1.3.9. plda.
ex
exponencilis
x0 = 0
ex = 1 + x +
x2 e + x3 , 2! 3!
megfelel
kz es (x-tl fgg)
e 3 e x x3 , 3! 3! O(x3 ).
Teht a Taylor-polinommal
ha
0 x 1,
val kzelts
ex = 1 + x +
x2 + O(x3 ) 2!
alak lesz. Hasonl felrs minden olyan esetben megtehet, amikor a Lagrange-fle maradktagban szerepl derivlt korltos a nulla egy krnyezetben.
Az ord jellst gyakran alkalmazzuk olyan esetekben, amikor egy kzelts hibjt adjuk meg egy paramter fggvnyben.
1.3.10. denci.
Azt mondjuk, hogy a elemnek (legalbb)
v (V, )
Az fenti dencibl s az ord jells dencijbl kvetkezik, hogy ha akkor van olyan
K > 0 konstans, hogy v(h) v Kh minden elegenden kis abszoltrtk h paramterre. A dencibl az is kvetkezik, hogy ha v(h) legalbb elsrend kzelts, akkor limh0 v(h) = v , msrszt ha pl. felezzk a h paramter rtkt, akkor kb. 2r -ed rszre cskken a v(h) v hiba.
tankonyvtar.bme.hu 33
1.
Elismeretek
1.3.11. plda. Kzeltsk egy ktszer folytonosan dierencilhat fggvny esetn a derivlt
rtkt egy
x0
pontban az
f (x0 + h) f (x0 ) h
hnyadossal. A Taylor-ttel miatt
h2 f () 2
megfelel
x0
x0 + h
kz es konstans. Teht
x0
pontban.
hogy
r-edrend elg megmutatnunk, v(h) v = O(hr ). Gyakran azonban pontosan is ismerjk az O(hr ) hibatagot (az 1.3.11. pldban pl. hf ()/2), ami lehetsget ad magasabbrend kzeltsek megadsra. Ezt az eljrst Richardson-extrapolcinak nevezzk. ltalnosan a Richardson-extrapolci az albbi mdon mkdik. Tegyk fel, hogy v(h) v -nek p-edrend kzeltse, s a hibt felrhatjuk v(h) v = g(h)hr alakban, ahol g : R (V, ) h-nak folytonosan dierencilhat fggvnye. Ekkor, ha h/2 rtkkel is kiszmtjuk a kzeltst, akkor v(h/2) v = g(h/2)hr /2r addik. A kt kzeltst
A denci alapjn annak igazolshoz, hogy egy kzelts ezek utn a
mdon slyozva
hr 2r v(h/2) v(h) = v + (g(h/2) g(h)) r 2r 1 2 1 g(h/2) g(h) hr+1 = v + O(hp+1 ) =v h/2 2(2r 1) eggyel magasabbrend kzeltst kapjuk a v elemnek.
Tekintsk az elz pldnkat, melyben a derivltat az
(1.3.3)
1.3.12. plda.
O(h)-val
hf ()/2,
azaz
(1.3.4)
paramtert (1.3.5)
1.4.
A MATLAB programcsomag
ahol most ha
x0
x0 + h/2
f folytonos fggvny, ezrt f () s f () is elegenden kzel lesz egymshoz (mondhatjuk s rtke nem ismert) s f (x0 )-hoz is. A h els hatvnyait
kz es megfelel konstans. Mivel
2(f (x0 + h/2) f (x0 )) f (x0 + h) f (x0 ) h/2 h =f (x0 ) + h(f () f ())/2 = f (x0 ) + =f (x0 ) +
ahol
h f () f () ( ) 2
h f ( )( ) = f (x0 ) + O(h2 ), 2
kz
http://matlabdb.mathematik.uni-stuttgart.de/index.jsp).
Klnbz alkalmazsi terletekhez kln eszkztrak (toolbox) kszltek, gy van pl. statisztikai, jelfeldolgozs, vagy parcilis dierencilegyenletek eszkztr. Tbb terlethez kszlt interaktv alkalmazs, ahol egyszeren menbl llthatk bizonyos eljrsok paramterei. A MATLAB htrnyai kztt szoks emlteni ms matematikai programokkal szemben, hogy numerikusan hajtja vgre a szmtsokat, ahol a numerikus szmtsok pontossga behatrolt (lsd rszletesen a 2.5. fejezetet). A numerikus szmtsi md azonban a legtbb valdi alkalmazsokat tartalmaz feladat esetn az egyetlen lehetsges megoldsi md, mivel szimbolikusan nem lehet a megoldst ellltani. Szimbolikus szmtsok vgezhetk a MATLAB-ban pl. a symbolic vagy a MAPLE for MATLAB (http://www.maplesoft.com/products/maplematlab/) eszkzMATICA (http://www.maplesoft.com/, tr segtsgvel, vagy a specilisan szimbolikus szmtsokra kifejlesztett MAPLE vagy MATHE-
http://www.wolfram.com/)
programok segtsgvel.
Msik htrnyknt emltik, hogy a fggvnyek futsi ideje lassabb, mintha azokat
C -ben
vagy
ms hasonl programozsi nyelven rtuk volna. Ezt a htrnyt rszben kompenzlja viszont az, tankonyvtar.bme.hu 35
1.
Elismeretek
hogy a programok megrsa sokkal gyorsabb s knyelmesebb eljrs, mint ms nyelveken. A programcsomag irnt mlyebben rdekld olvasknak ajnljuk a magyar nyelven elrhet [33] knyvet vagy a MATLAB-ot forgalmaz cg egyik alaptja ltal rt s online is elrhet linkek s informcik is. Ezen jegyzetnek nem clja a MATLAB programcsomag bemutatsa s rszletes ismertetse. Mgis, mivel a numerikus szmtsok legelterjedtebb s szinte nlklzhetetlen eszkze a MATLAB, minden fejezet vgn sszegyjtjk a fejezettel kapcsolatos MATLAB parancsokat. Mivel csak a numerikus eljrsokkal kapcsolatos parancsokra szeretnnk koncentrlni, gy feltesszk, hogy az Olvas ismeri mr az alapvet MATLAB parancsokat. Ezek cmszavakban a kvetkezk: sor- s oszlopvektor megadsa, mtrixok megadsa, mveletek mtrixokkal, mveletek elemenknti elvgzse, hivatkozs mtrixok elemeire ill. almtrixaira, nevezetes mtrixok megadsa (egysgmtrix, nullmtrix, Toeplitz-mtrix, diagonlis mtrix), a : jells, a for s a while ciklusok alkalmazsa, az if elgazs, mtrixok inverznek, determinnsnak s rangjnak szmtsa. A szemlltet brkat ill. az egyes eljrsokat bemutat fggvnyeket is MATLAB-ban ksztettk. A fggvnyekhez tartoz m-fjlok elektronikusan is elrhetk, vagy egyszeren e jegyzetbl egy res m-fjlba msolhatk. [25] knyvet. Nagyon hasznosak tovbb a MATLAB honlapjn (www.mathworks.com) tallhat
>> norm(A,2), norm(A,1), norm(A,inf) % A 2-es, 1-es s maximumnormk kiszmtsa ans = 9.50803200069572 ans = 9 ans = 15 >> B=A*A' B =
1.5.
14 32
32 77
>> eig(B) % A B mtrix sajtrtkeinek kiszmtsa ans = 0.59732747374606 90.40267252625394 >> [V,L]=eig(B) % A B mtrix sajtvektorainak (V oszlopvektorai) % ill. sajtrtkeinek kiszmtsa (L diagonlis elemei) V = -0.92236578007706 0.38631770311861 L = 0.59732747374606 0 0 90.40267252625394 >> C=[1 2 3; 4 5 6; 7 8 9] % mtrixmegads C = 1 4 7 2 5 8 3 6 9 0.38631770311861 0.92236578007706
tankonyvtar.bme.hu 37
1.
Elismeretek
1.6. Feladatok
Normk 1.6.1. feladat. Azonostsuk
R2
zt, melyek tvolsga az origtl kisebb, mint egy! Hasznljuk az 1-es, 2-es s maximumnormkat!
1.6.2. feladat. Igazoljuk az 1.1.24. ttelben szerepl formult a maximumnorma kpletre! 1.6.3. feladat. Igazoljuk az 1.1.27. ttel lltsait! 1.6.4. feladat. Igazoljuk az 1-es, 2-es s maximumnormk ekvivalencijt az ekvivalencia dencijban szerepl
c1
c2
konstansok megkeressvel!
ban norma. Mutassuk meg, hogy nem lehet vektornormbl szrmaztatni! 1.6.6. feladat. Igazoljuk, hogy induklt mtrixnorma esetn
A = max { AB }.
B
1
:= Ax
hozzren-
1.6.8. feladat. Igazoljuk, hogy az 1.2.32. ttelben szerepl ma! 1.6.9. feladat. Egy
n i=1
hogy ha
n j=1
a2 . Igazoljuk, hogy ij
2 F
li elemeinek sszegt jelenti (amely megegyezik a sajtrtkek sszegvel is). Igazoljuk tovbb,
1.6.10. feladat. Legyen egy vges dimenzis azt a hozzrendelst, amely egy tetszleges
(x) =
i=1
|i |2
1.6.
Feladatok
fggvny norma!
f ktszer folytonosan derivlhat fggvnyt az [a, b] intervallun termszetes szm esetn az xk = a + k(b a)/n (k = 0, . . . , n) T n+1 n+1 s f (xn ) = [f (x0 ), . . . , f (xn )] R . Igazolosztpontokat, s legyen xn = [x0 , . . . , xn ] R juk, hogy rvnyes az albbi konzisztenciatulajdonsg: vannak olyan pozitv n-tl fggetlen c1 , c2
konstansok, melyekkel
c1 f (xn )
C[a,b]
c2 f (xn )
(tmutats: Az
f (x) 0
c1 = 1
megfelel. A msik
becslshez pedig hasznljuk ki, hogy a szakaszonknt lineris interpolcis fggvny interpolcis hibja egy ktszer folytonosan derivlhat fggvny esetn fellrl becslhet az mon az
[a, b]
intervallu-
M2
egy
C[a,b] -re.)
fggvnyt. Igazoljuk, hogy
L2 [a,b]
:=
L2 [a,b] nem konzisztens az elz feladatban szerepl denci rtelmben, de az f ( n ) l2 := f ( n ) 2 /n norma (ezt is 2 igazoljuk!) mr konzisztens lesz f L2 [a,b] -vel! (tmutats: Az els rsz igazolshoz tekintsk az f (x) 1 fggvnyt. A msodik rsz igazolshoz vegyk szre, hogy (f 2 (x0 ) + . . . + f 2 (xn1 ))/n b 2 az f (x) dx integrl egy kzelt sszege.) a
b a
2 s
pozitv egszre a
F : [a, b] [a, b], F ([a, b]) [a, b] fggvnyre igaz, T := F m = F F . . . F fggvny kontrakci az [a, b]
fggvnyt. Igazoljuk,
x-
pontjt! 1.6.15. feladat. Tegyk fel, hogy a Banach-fle xpontttel felttelei kzl a kontrakcis felttelt
kicserljk az
F -nek maximum egy xpontja lehet, de F : [1, ) [1, ), F (x) = x + 1/x fggvnyt!
A Rnn
(E + A)1 (E A)
mtrix (
A n. Cayley-transzformltja) ortogonlis!
1.6.17. feladat. Igazoljuk, hogy ha egy Hessenberg-mtrix szimmetrikus, akkor tridiagonlis! 1.6.18. feladat. Igazoljuk, hogy fels hromszgmtrixok szorzata s inverze (ha ltezik) is fels hromszgmtrix! 1.6.19. feladat. Igazoljuk, hogy ha egy diagonlis mtrix! tankonyvtar.bme.hu 39
fels hromszgmtrixra
TT T = TTT ,
akkor
1.
Elismeretek
g > 0
vektort,
Q = tridiag [1, 2, 1] R33 . Ez a mtrix M -mtrix. Adjunk meg mellyel Qg > 0. Hogyan lehetne a g vektort megadni, ha Q n n-es
3 3-as
mtrixa pozitv denit mtrix!
mtrix? 1.6.21. feladat. Igazoljuk, hogy az elz feladat 1.6.22. feladat. Legyen
1 C = 0.1 0.2
Igazoljuk, hogy mtrix kiszmtsa nlkl. Sajtvektor, sajtrtk
0.1 1 0.1
0.2 0.1 . 1
1.6.23. feladat. Igazoljuk, hogy ha egy szimmetrikus mtrix minden sajtrtke pozitv, akkor az pozitv denit mtrix. (Igazoljuk, hogy ha egy mtrix szimmetrikus, pozitv szemidenit, s determinnsa zrustl klnbz, akkor a mtrix pozitv denit! Igazoljuk, hogy ha egy szimmetrikus M-mtrixnak szigoran dominns a ftlja, akkor a mtrix pozitv denit!) 1.6.24. feladat. Adjuk meg az albbi mtrixok sajtvektorait s sajtrtkeit! Ha lehetsges, akkor diagonalizljuk ket!
0 A= 0 8
1 0 0 1 12 6
3 B= 1 1
2 4 2
4 4 2
5 C= 1 1
1 3 1
1 1 3
A vvT
egy sajtrtke, s
Ellenrz krdsek
1. Melyek a nevezetes vektornormk? 2. Hogyan lehet vektornormbl mtrixnormt ltrehozni? Adjuk meg, hogy a nevezetes vektornormk esetn melyek ezek a mtrixnormk! 3. Milyen tulajdonsgai vannak az induklt mtrixnormknak? 4. Milyen kapcsolat van egy mtrix spektrlsugara s induklt normja kztt? 5. Ismertessk a Banach-fle xpontttelt! 6. Ismertessk a Gersgorin-tteleket! 7. Milyen mtrixokat hvunk M-mtrixnak? Hogyan ellenrizhet ez a tulajdonsg egy adott mtrix esetn?
2. Modellalkots s hibaforrsai
Ebben a fejezetben bemutatjuk azt, hogy az egyes tudomnygak ltal felvetett problmk megoldsa sorn milyen t vezet a numerikus eljrsok alkalmazshoz. Megvizsgljuk, hogy ezen folyamat alatt milyen hibk terhelhetik a vgleges megoldst. Bevezetjk a kondciszm fogalmt, amely azt mri, hogy egy feladat mennyire rzkeny a hibkra. Vgl megismerjk a lebegpontos szmbrzolst.
2.1. Modellalkots
A numerikus matematika a folytonos matematika problmihoz konstrul megoldsi eljrsokat, s elemzi azokat hatkonysguk szempontjbl. Ilyen eljrsokra ltalban azrt van szksg, mert a folytonos problmt nem, vagy csak nagy nehzsgek rn (sok id vagy pnz) lehetne egzaktul megoldani. A folytonos matematikai problmk ltalban valamilyen ms tudomnyg terletrl szrmaznak, pl. a zika, kmia vagy a kzgazdasgtan terletrl, s mg eljutunk a feladat megoldsig, ltalban tbbfajta egyszerstssel, modellel kell lnnk. Ezeket a lpseket szemllteti a 2.1.1. bra. Br ebben a jegyzetben csak a numerikus s a szmtgpes modellekkel A megoldand problma
Tudomnyos modell
Matematikai modell
fogunk foglalkozni, most egy plda erejig bemutatjuk a modellalkots tbbi lpst is. Pldaknt tekintsk azt a zikai feladatot, amikor egy inga lengsidejt szeretnnk meghatrozni. Esetnkben ez a
megoldand problma.
A feladat megoldshoz termszetesen lnnk kell bizonyos alapfeltevsekkel, pl. azzal, hogy az ingt gy tekintjk, mint egy slytalan ktlen lg pontszer testet, valamint hogy elhanyagolhatjuk a srldsbl s a kzegellenllsbl szrmaz vesztesgeket. A feladatot gy az energiamegmarads trvnyt hasznlva oldhatjuk meg. Ez a modell. Bevezetve az
tudomnyos,
g -vel jellve
2.
Modellalkots s hibaforrsai
(t)
id
t=0
idpillanatban ez a szg
volt ((0)
= ).
Az egyenlet
(t) =
(Az elengedstl a fggleges helyzetig a oldalt a
2g l
meghatrozni. Ehhez osszuk el az egyenlet mindkt oldalt a jobb oldallal, s integrljuk mindkt
[0, T /4]
intervallumon, ahol
T /4 0
(t)
2g l
dt = T /4.
Ktszer alkalmazva a helyettestses integrls kplett (msodszor a helyettestssel) a lengsidre az albbi kifejezst kapjuk:
T =2 2 l g
l g
1 d cos cos 1 d.
/2 0 2
=4
Ez a
matematikai modell.
Az integrl explicit alakban nem adhat meg (elliptikus integrlrl van sz), gy az integrl rtkt valamilyen numerikus integrlsi eljrssal kell kzeltennk (lsd a 8. fejezetet). Ez adja a
numerikus modellt.
szmtgpes modellt. Pl. l = 1m s g = 9.8m/s2 vlaszts esetn = 5 -os kezdeti kitrs esetn T = 2.008035541s addik lengsidnek, mg = 90 -ra T = 2.369049722s.
1/ 1 x fggvnyt az x = 0 pontban sorbafejtjk, a sorfejtst alkalmazzuk x = sin2 (/2) sin2 vlasztssal, majd elvgezzk az integrlst. Ekkor azt kapjuk, hogy
gy, hogy az Szoksos eljrs az is, hogy a matematikai modellben szerepl integrlt tovbb egyszerstjk az
T = 2
ahonnt a lengsid becslhet a
l g
1+
1 sin2 + . . . 4 2
(2.1.1)
T = 2
l g T = 2.007089923s
rtk addik, ami elg
kplettel, amennyiben feltesszk az eredeti feladatban, hogy csak kis kitrsekre szeretnnk a lengsidt megadni. A pldban szerepl adatokkal a j kzeltse az
= 5 -ra
2.2.
A modellalkots hibaforrsai
akkor a pontosabb megolds rdekben a becslsek alapjn tudunk vltoztatni a modelleken. Megjegyezzk, hogy a hiba jelenlte egy modellben nem felttlenl rossz. Gondoljunk csak arra, hogy bizonyos esetekben ppen a hiba jelenlte eredmnyezi azt, hogy meg tudjuk oldani egzaktul a matematikai modell egyenlett (pl. az inga pldjban a (2.1.1) sorfejts csonkolsa). Vegyk most sorra a modellalkots legfontosabb hibaforrsait (2.2.1. bra)!
Modellhiba: ltalban a tudomnyos modellek nem tkrzik teljesen a valsgot. Az ebbl szrmaz hibt
modellhibnak
nem hanyagolhat el, a test sem tekinthet pontszernek, s kzegellenlls is van, stb. Ezek elhanyagolsbl hiba kerl a modellbe.
Mrsi hiba: A valdi problma vizsglathoz szksgnk van bizonyos paramterek rtkre. Ezeket ltalban mrnnk kell. Innt
mrsi hiba
pl. meg kell mrnnk a ktl hosszt, s tudnunk kell a gravitcis gyorsuls rtkt.
Kplethiba: Amikor egy kpletet kezelhetsgnek rdekben gy egyszerstnk, hogy bizonyos rszeit elhagyjuk, vagy egyszerbbel helyettestjk, meg kis
kplethiba
keletkezik. Az ings
pldnl kplethiba keletkezett, amikor a (2.1.1) vgtelen sorbl csak az els tagot tartottuk
diszkretizcis hiba.
Abbl ered, hogy pl. a derivltat dierenciahnyadossal, az integrlt rszletsszeggel s ltalban a folytonos fggvnyeket n. rcsfggvnyekkel kzeltjk. Az ings pldban az integrl kzelt kiszmtsnl keletkezett diszkretizcis hiba.
Kerektsi s brzolsi hiba: Ha szmtgppel szmtunk ki valamit, akkor a bevitt adatokat brzolja a szmtgp a sajt szmrendszerben. Az ebbl ered hiba az
brzolsi
A valdi problma
kplethiba
Matematikai modell
diszkretizcis hiba
Numerikus modell
Szmtgpes modell
2.2.1. bra. A modellalkots hibaforrsai.
tankonyvtar.bme.hu 43
2.
Modellalkots s hibaforrsai
A teljes modell elksztse sorn a modellhibn, a mrsi hibn s a kplethibn nem nagyon tudunk cskkenteni. Ezekrl el kell fogadnunk, hogy vannak (vagy ms modellt, pontosabb mrmszert vagy ms kpletet kell alkalmaznunk). Az brzolsi s kerektsi hibkrl is el kell fogadnunk, hogy vannak, de a mveletek gyes szervezsvel cskkenteni lehet ezeket. Ennek lehetsgeit a 2.5. fejezetben s az egyes numerikus mdszerekkel foglalkoz fejezetekben fogjuk majd bemutatni. A legtbbet a diszkretizcis hibval fogunk foglalkozni majd. Ez a hiba ltalban tetszlegesen kicsiv tehet, de ennek az az ra, hogy a szmtgpes modell megoldsa sokkal tbb idt fog ignybe venni.
elemtl.
2.3.1. denci.
Az
xx
viszonytott)
abszolt hibjnak
s a kzelt
elem tvolsgt az
kzelts (x elemhez
nevezzk. Amennyiben
x = 0,
akkor az
xx x
hnyadost az
relatv hibjnak
nevezzk.
Nyilvnval, hogy a relatv hiba sokkal jobban kifejezi a hiba nagysgt, hiszen az abszolt hibt a pontos rtk normjhoz viszonytva adja meg. Az abszolt s relatv hibkat ltalban nem ismerjk, hiszen kiszmtsukhoz szksgnk lenne a kzeltett s nem ismernk. Emiatt megadunk egy n. abszolt s relatv hibakorltot (jellsk ltalban
x),
x x x
xx x x
mdon. Megjegyezzk, hogy a hibakorltokat is a rvidsg kedvrt ltalban csak egyszeren hibnak hvjuk. Az 1.1.10. ttelt alkalmazva az
x x x
sszefggsbl a
| x x | x
becslst nyerjk, s gy rhatjuk, hogy
x = (1 + ) x ,
valamilyen
(2.3.1)
|| x
konstanssal.
rdemes megvizsglni azt, hogy a vals szmokkal vgzett alapmveletek sorn hogyan viselkednek a hibk. Az egyszersg kedvrt azt vizsgljuk, hogy pozitv vals szmokkal elvgezve az alapmveleteket, mi trtnik a hibval. Legyen teht
az
2.4.
Feladatok kondicionltsga
jellst, melyrl feltesszk, hogy mindig egynl kisebb rtket vesz fel, az albbi kpletekben. Ekkor az sszeads abszolt hibja:
|( + y ) (x + y)| = |( x) + ( y)| = |x x + y y| (x + y) x x y
s relatv hibja
|( + y ) (x + y)| x . x+y
A kivons abszolt hibja
|( y ) (x y)| = |( x) ( y)| = |x x y y| (x + y) x x y
s relatv hibja
|( y ) (x y)| x x+y . |x y| |x y|
A szorzs esetn az abszolt hibra azt kapjuk, hogy
|(y ) (xy)| x (2 + ). xy
Az oszts esetn az abszolt hiba
(1 + x ) 1 (1 + y )
x y
1+ 1 1
x 2 x = y 1 y
y hibja
is kicsi.
F (x, d) = 0
alakban rhatk, ahol
(2.4.1)
d ismert mennyisget jell (ezek a feladat n. bemeneti adatai), x az egyenF pedig egy megfelel fggvny. A tovbbiakban feltesszk, hogy d s x is egy-egy normlt tr eleme, s . mindig az aktulis trbeli normt jelenti. Pldaknt 2 T gondolhatunk az ax + bx + c = 0 msodfok egyenletre, ahol a d = [a, b, c] vektor lehetne a beT men adat, az x = [x1 , x2 ] pedig a megoldsvektor, de gondolhatunk dierencilegyenletekre is, ahol d megadja a kezdeti- s/vagy peremfelttelt, x pedig a dierencilegyenlet peremfeltteleket
kielgt megoldsa.
tankonyvtar.bme.hu 45
2.
Modellalkots s hibaforrsai
2.4.1. denci.
Azt mondjuk, hogy a (2.4.1) feladat egyrtelm megoldsa (jellse
K(, d) > 0
gy, hogy
korrekt kitzs, ha > 0 gy, hogy a feladatnak xd+d ) van minden olyan d + d esetn, melyre d , s xd+d xd K(, d) d (a megolds folytonosan fgg d-tl).
1
rtkfeladatok esetn [14]. Egyenesen azt lltotta, hogy csak korrekt kitzs feladatokkal rdemes foglalkozni, ami vissza is vetette egy idre ms feladatok megoldsnak vizsglatt. Mirt is kell nem korrekt kitzs feladatokkal is foglalkozni? ltalban vve azrt, mert ha a matematikai modellekbe mrsi adatok kerlnek, akkor az mr nem szolgltat korrekt kitzs feladatot. Pl. egy dierencilegyenlet megoldsa korrekt kitzs lehet, ha a peremfelttelt megad fggvnyt ismerjk. Ez pedig a gyakorlatban a legritkbb esetben fordul el, hiszen a fggvnyrtkeket csak mrni tudjuk, a mrseket pedig legfeljebb vges sok pontban tudjuk csak elvgezni. gy a feladatnak mr nem felttlenl ltezik egyrtelm megoldsa. Ebben a jegyzetben csak korrekt kitzs feladatokkal foglalkozunk. A matematikai zika s az analzis nem korrekt kitzs feladatainak j sszefoglalsa tallhat a [22] monogrban.
2.4.2. plda.
az
a2 + a + d/4 = 0
d paramter fggvnyben. Knnyen lthat, hogy d < 1 esetn x = 2, d = 1 esetn x = 1, s d > 1 esetn x = 0. Azaz a d = 1 pontban a feladat nem korrekt kitzs. A megolds d paramtertl val folytonos fggse nem teljesl. Ha a d paramter valamilyen mrsi adat lenne, s pontos rtke d = 1 lenne, akkor ha egy kicsit is pontatlanul mrnk,
akkor lnyegesen megvltozik a feladat megoldsa.
2.4.3. plda.
= 3.5 = 5.2
= 3.5 = 5.2
egytthatjban klnbzik. Ez az
egytthat a msodik egyenletrendszerben 2%-kal kisebb, mint az elsben. Ez ltszlag nem nagy klnbsg, de az els lineris egyenletrendszer megoldsa
x1 = 331.7, x2 = 5,
a msik
x1 = 8.1499, x2 = 0.1101,
eredmnybl szrmazik, akkor szinte semmit nem mondhatunk majd a megoldsrl, hiszen kis mrsi hiba is nagy vltozst eredmnyezhet a megoldsban. Legyen a els egyenlet
bemen adat az
x1
x = [x1 , x2 ]T
megoldsvektor. Knny
d=5
pontban korrekt kitzs, teht a megolds folytonosan fgg konstans nagyon nagy.
d-tl.
dencijban szerepl
K(, d)
1 Jacques Salomon Hadamard (18651963), francia matematikus. Fbb kutatsi terletei a dierencilegyenletek elmlete s a fggvnytan volt. Az nevhez fzdik a CauchyHadamard-ttel a hatvnysorok konvergenciasugarrl vagy az Hadamard-mtrixok vizsglata. Fontos szmelmleti eredmnye a prmszmttel, mely szerint az n-nl nem nagyobb prmszmok szma tart n/ ln n-hez, ha n tart vgtelenhez. Hadamard bvebb letrajza megtallhat pl. a http://www.gap-system.org/~history/Mathematicians/Hadamard.html honlapon.
46 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
2.5.
2.4.4. denci.
A
(d) = lim
rtket a (2.4.1) feladat
d0
xd+d xd / xd d / d
nevezzk.
(relatv) kondciszmnak
A kondciszm teht szemlletesen azt mri, hogy pl. a bemen adat 1%-os megvltozsa hny szzalkos vltozst eredmnyez a megoldsban. Ha a kondciszm kicsi, akkor jl kondicionlt feladatrl, ha pedig nagy, akkor rosszul kondicionlt feladatrl beszlnk. Hogy mit rtnk kicsin vagy nagyon, az mindig az aktulis feladattl elvrt viselkeds fggvnye. A kondciszm, ahogy jeleztk is, a rtelmezhet.
xd
vagy
2.4.5. denci.
A
d0
xd+d xd d
nevezzk.
abszolt kondciszmnak
d
egy krnyezetben az
xd+d = G(d + d)
alakban, ahol a
fggvnyt
fggvny dierencilhat
d-ben,
a relatv kondciszmra a
(d) =
mg az abszolt kondciszmra a
G (d) d , G(d)
2.4.6. plda.
mban szmolva
(5) 1985
megoldsvektor 2-es normjt 3970%-kal is megvltoztathatja. gy rthet, hogy a megolds annyira nagyot vltozhatott.
Termszetesen a modellalkots sorn kerlni kell a rosszul kondicionlt feladatokat, vagy legalbbis j tudnunk egy feladatrl, hogy annak megoldsa rosszul kondicionlt. Ennek jelentsge onnt ltszik, hogy egy rosszul kondicionlt feladatban, ha a bemen adatok mrsi eredmnyek, akkor egy kis mrsi pontatlansg is jelentsen megvltoztathatja a feladat megoldst.
2.
Modellalkots s hibaforrsai
2.5.1. plda.
hiszen
1.6331e + 016
s
/2-nl
21074 /2 = 0
10310 =Inf.
sszetettebb pldaknt tekintsk az albbi eljrst Jelentse
yk
az egysgkrbe rt szablyos
2k -szg
yk ,
ha
k .
Tovbb rvnyes az
yk+1 = 2k+1
rekurzi, ahol
1 2
1 (2k yk )2
y1 = 2, y2 = 2 2, . . . . Az itercit szmtgpen vgrehajtva az albbi szmokat kapjuk: y10 = 3.14158627, y12 = 3.14166137, . . . , y19 = 3.70727600, . . . . Azaz szemmel lthatan a sorozat nem tart -hez. Ebben a feladatban a matematikai vagy numerikus modell a rtkt szolgltatja, de a szmtgpes modell mr nem.
A szmtgp kt egysge jtszik fontos szerepet a szmtsok elvgzsnl. Az egyik a processzor (CPU=central processing unit), a msik pedig a memria. A processzor vgzi a mveleteket, a memriban pedig a mveletekhez szksges adatokat troljuk. Innt rgtn lthatjuk, hogy pl. irracionlis szmokat vagy vgtelen szakaszos tizedes trteket nem tudunk szmtgpen trolni. A memria mretnek korltozottsgbl kvetkezik, hogy csak vges sok racionlis szmot tudunk a memriban elhelyezni. Megjegyezzk, hogy mivel a szmtgpek a kettes szmrendszert hasznljk ltalban a trolshoz, ezrt pl. az hiszen az
1/10-et
trt.
2
A vals szmok brzolsra a legelterjedtebb mdszer az n. lebegpontos szmbrzols. Ebben az esetben a vals szmot a
bk
a0 a1 a2 ap1 + 1 + 2 + + p1 0 b b b b b
a0 .a1 a2 . . . ap1 bk
(2.5.1)
a szmbrzols alapja,
a kitev (karakterisztika). Az
p a szerepl szmjegyek (mantissza) ai (i = 0, . . . , p 1) szmjegyekrl feltesszk, hogy azok szmok. Ha a0 = 0, akkor azt mondjuk, hogy a felrt szm
normlalakban van. Ha normlalakban rjuk fel a szmokat, akkor az brzolsuk egyrtelm lesz. Termszetesen, ha egy vals szm nem rhat fel ilyen alakban, akkor a szmot kerektennk kell. Megmutathat, hogy a kerekts szoksos szablya miatt (nevezetesen, hogy az 5-s szmjegyet felfel kerektjk) a szmtsok rtke bizonyos esetekben felfel toldhat, gy a szmtgpek
2 A lebegpontos szmbrzols bevezetse Konrad Zuse (1910-1995) nmet mrnk nevhez kthet, aki tbb szmtgpet is ptett az ppen a msodik vilghborra kszld Nmetorszgban. Eredmnyeire nem gyeltek akkoriban fel. Mr 1941-ben ltrehozott egy jelfogkkal mkd, a lebegpontos kettes szmrendszeren alapul, teljesen programozhat szmtgpet [37].
48 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
2.5.
ltalban a prosra kerekts (angolul: round to even) szablyt hasznljk. Azaz pl. a 3.155-t a szoksos mdon 3.16-ra kerektjk felfel (a 6 pros), a 3.145-t viszont 3.14-re lefel kerektjk (a 4 pros). Knnyen lthat, hogy a lebegpontosan brzolhat szmok rendelkeznek az albbi tulajdonsgokkal:
Csak vges sok racionlis szmot tudunk ellltani. A lehetsges szmok nem alkotnak testet. Pl. nem kommutatv vagy asszociatv az sszeads). (pl.: ad a
123.4+0.04+0.03+0.02+0.01 ktfle sorrendben sszeadva ms-ms eredmnyt p = 4, b = 10, k = 2, . . . , 2 lebegpontos szmrendszerben (jellse: F (4, 2, 2)). F (4, 2, 2)-ben a legnagyobb elllt-
Az elllthat szmok korltos halmazt alkotnak. Pl. szmts eredmnye, akkor tlcsordulsrl beszlnk.
hat szm a 999.9, a legkisebb pedig -999.9. Ha ezeknl nagyobb abszolt rtk lesz egy
F (4, 2, 2)-ben a legkisebb pozitv elllthat 0.00001. Ha ezeknl kisebb pozitv szm
F (4, 2, 2)
rendszerben ez
A MATLAB dupla pontossg lebegpontos szmrendszere a kvetkez struktrj: A szmokat kettes szmrendszerben (a (2.5.1) ellltsban nlva. Egy biten troljuk az eljelet (0
annak a tizedespont utni rszt, hiszen normlalak esetn a tizedesponttl balra mindenkppen 1-esnek kell szerepelnie. 11 biten a karakterisztika troldik gy, hogy a kitevhz hozzadunk 1023-at, s az gy nyert szm 2-es szmrendszerbeli alakjt troljuk. gy a karakterisztika -1023-tl 1024-ig trolhat. A -1023-as karakterisztika a 0 (ha a mantissza is csupa nulla) ill. annak jelzsre szolgl, hogy az adott szm nincs normlalakban (ilyenkor az rtke
A csupa 1-essel kdolt 1024-es karakterisztika specilis clokra foglalt. Ha a mantissza nem nulla, az azt jelenti, hogy a szmts mvelete nem szm (jellsben NaN = not a number). Ilyen pl. a
0/0
+-t,
vagy
-t
Vegyk szre, hogy mg az els szm normlalakban van, addig a msodik nem. A normlalakban brzolhat legkisebb pozitv szm az
Az 1-et az
1 1. 000 . . . 000 20
52db
tankonyvtar.bme.hu 49
2.
Modellalkots s hibaforrsai
1. 000 . . . 000 1 20 ,
51db
ami
2.5.2. ttel.
Legyen
M x M .
Ekkor
|fl(x) x|
0 ,
g |x| 2 ,
ha ha
az
xi
mantisszja
jegy, s karakterisztikja
lebegpontos szmok
|fl(x) x|
xj xi bp+1 bk g |x| = . 2 2 2
Az egy
gpi pontossgnak
nevezzk. Jellse
u.
lebegpontosan brzolt szmok relatv hibakorltja. A fenti ttel kzvetlen kvetkezmnye, hogy
M -nl
fl(x) = (1 + )x
egyenlsg, ahol
|| u.
Egy szmtgpes szmtst leegyszerstve gy kpzelhetjk el, hogy a processzor megkapja azt a kt szmot, amikkel mveleteket kell vgeznie, lebegpontoss alaktja ket, ezekkel pontosan elvgzi a mveletet, majd pedig kerekti az eredmnyt gy, hogy lebegpontosan brzolhat legyen. Legyen egy tetszleges mvelet vals szmok kztt. Ekkor az
vals szmokkal
y := fl(fl(x) fl(y)).
Nzznk meg kt alapmveletet (a kivonst s az osztst), hogy hogy viselkedik lebegpontos szmokkal vgrehajtva! Elszr vizsgljuk a kivons relatv hibjt
|x
ahol
Ha
kiegyszersdsnek
Kt kzeli szm kivonsnl abbl is ered hiba, hogy a mantissza hossza vges. Ezt a jelensget nevezzk. A jelensg szemlltetsre mutatunk be most kt pldt.
2.5.
2.5.3. plda. Tekintsk az F (10, 10, 10) szmrendszert. Ebben rjuk fel az albbi gykket:
9876 = 9.937806599 101 , 9875 = 9.937303457 101 .
9876
A megjelen 4 darab nullnak a szmtsokhoz nincs semmi kze, abbl erednek, hogy a szmjegyeket balra toltuk a mantisszban a normlalak ltrehozshoz. A kiegyszersdst kikszblhetjk a nevezetes szorzat alkalmazsval:
9876
9875 =
Jl mutatja a kt szmols kzti klnbsget, hogy az els rtk relatv hibja mg a msodik
1.6 1010 .
2.5.4. plda.
1
nvekszik, akkor
1 (2k yk )2
yk+1 = yk
2 1+ 1 (2k yk )2
pozitv szmok.
y x/y =
x(1 + x ) x (1 + / ) y(1 + y ) y
=
ahol
x (1 + u)2 x x (1 + x ) (1 + / ) 1 1 = 3u + O(u2 ) , y (1 + y ) y 1u y
Ez mutatja, hogy az oszts abszolt hibja nagyon nagy lehet, ha a
|x |, |y |, |/ | u.
nevezben szerepl szm jval kisebb a szmllnl. Megjegyezzk, hogy a relatv hiba gpi pontossg) nagysgrend.
3u
(azaz
Azt, hogy a lebegpontos szmokkal milyen mdon kell szmolni ill. hogy hogy kell kerekteni ket, szabvnyok rgztik. A legelterjedtebb ilyen szabvny az IEEE 745-s (IEEE=Institute of Electrical and Electronics Engineers [16]). Az interneten tbb, a lebegpontos szmokat szemlltet alkalmazs rhet el. Ezek kzl ajnlunk kettt a [17, 38] honlapokon. A szmtgpen megrt programokat jl jellemzi az, hogy vgrehajtsuk sorn hny lebegpontos mveletet (+, , , /) hajtunk vgre. Ezek megszmolsval sszehasonlthatunk kt eljrst futsi sebessg szempontjbl. A mveletignyt ltalban
op eration).
tankonyvtar.bme.hu 51
2.
Modellalkots s hibaforrsai
Vgezznk el egy ksrletet arra vonatkozan, hogy a szmtgp mennyi id alatt hajt vgre lebegpontos mveletet. A futsi idt a mrhetjk. Vizsgljuk az sszeadst, a szorzst s az osztst.
108
>> x=sqrt(2); tic, for i=1:10^8 x=x+1; end, toc; x=sqrt(2); tic, for i=1:10^8 x=x*1.00000001; end, toc; x=sqrt(2); tic, for i=1:10^8 x=x/1.0000001; end, toc; Elapsed time is 47.930000 seconds. Elapsed time is 49.164000 seconds. Elapsed time is 66.737000 seconds.
Lthat teht, hogy az sszeadshoz s a szorzshoz szinte pontosan ugyanannyi id kellett, mg az osztshoz kb. 36%-kal tbb. Az adatok azt jelentik, hogy a hasznlt szmtgp kb. mveletet (specilisan szorzst) kpes 1 msodperc alatt elvgezni.
2106
2.7. Feladatok
Lebegpontos szmbrzols 2.7.1. feladat. Vizsgljuk meg, hogy korrekt kitzs-e az szer a
vals paramter fggvnyben! Adjuk meg a kondciszmot maximumnormban! kifejezs kondicionltsgt a d vltoz d rtkek esetn lesz korrekt kitzs a feladat? Adjunk meg olyan d rtket,
x = d +
d2 4
melyre a (relatv) kondciszm 100-nl nagyobb! 52 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
2.7.
Feladatok
hasznl szmtgpen! Javasoljunk numerikus szempontbl jobb szmolst gy is a szmolsokat! 2.7.4. feladat. Az trozzuk meg mi is
hasznl szmtgpen! Javasoljunk numerikus szempontbl jobb szmolst gy is a szmolsokat! 2.7.5. feladat. Egy 10-es szmrendszeren alapul szmtgp a Hatrozzuk meg ezen a szmtgpen az kpletet az
A rtkt egy tizes szmrendszer, hatjegy mantisszs lebegpontos szmokat A-ra, s vgezzk el sin x, cos x, x2
fggvnyek
fggvny rtkt az
x = 0.7854
helyen! Mekkora a szmtott eredmny relatv hibja? Indokoljuk az eredmnyt! Javasoljunk jobb
f (x)
rtk kiszmtsra!
yk+1 = 2k+1
1 2
1 (2k yk )2
yk+1 = yk
itercival! Magyarzzuk meg az eltrst!
2 1+ 1 (2k yk )2
ex = lim
i=0
xi i! x = 25)!
Mit tapasztalunk?
sor sszegnek kiszmtsra. Futtassuk negatv rtkek esetn (pl. Adjunk magyarzatot a jelensgre! Javasoljunk jobb mdszert 2.7.8. feladat. Legyen tissza hossza,
e25
kiszmtsra!
kmin
mantissza hossza, s
F (p, kmin , kmax ) a tizes alap lebegpontos szmok halmaza (p a mankmax pedig a minimlis s maximlis karakterisztikt jelentik), ahol p a kmin s kmax a karakterisztika legkisebb s legnagyobb rtke. Adjuk meg az F (1, 2, 2) rendszerben az 1/3, 1/900, 20200, (((2+0.1)+0.1)+ (((0.1 + 0.1) + 0.1) + + 0.1) + 2 rtkeket!
F (1, 2, 2) + 0.1)
2.7.10. feladat. Adjunk meg olyan lebegpontos szmrendszert (F (p, kmin , kmax )), melyben az albbi szmok brzolhatk! a) 5,50,500,5000; b) 5,5.5,5.55; c) 5,0.5,0.05,0.005; d) 5,55,555,5555. 2.7.11. feladat. Milyen lebegpontos szmrendszerben szmolhat kerekts nlkl
2.
Modellalkots s hibaforrsai
Ellenrz krdsek
1. Milyen tulajdonsgai vannak egy korrekt kitzs feladatnak? 2. Mikor mondjuk egy korrekt kitzs feladatrl, hogy rosszul kondicionlt? 3. Hogy brzolja a MATLAB a vals szmokat, s milyen kvetkezmnyei vannak ennek? 4. Soroljuk fel azokat a lebegpontos mveleteket, melyek nagy hibval rendelkezhetnek! 5. Mekkora a MATLAB gpi pontossga?
aij
bi
= 1, . . . , m; j = 1, . . . , n).
Keressk azokat az
xj
szmokat (j
= 1, . . . , n),
melyekre
am1 x1 + + amn xn = bm .
Bevezetve az
aj = [a1j , . . . , amj ]T
jellst (j
xj
szmokat (j
b1 b2 b= . . . bm
vektor az
x1 a1 + + xn an = b
mdon rhat fel lineris kombinciknt. Az n. mtrixos, az elmleti vizsgldsok sorn a leggyakoribb, alak gy adhat meg, hogy bevezetjk az
x n-elem
oszlopvektort, mellyel
Ax = b.
A lineris
55
3.
3.1.1. ttel. Egy Ax = b lineris egyenletrendszer akkor s csak akkor megoldhat, ha az A egytthatmtrix s a b vektorral kibvtett egytthatmtrix rangja megegyezik: r(A) = r(A|b). Ha az egyenletrendszer megoldhat s r(A) < n, akkor vgtelen sok megolds van, ha r(A) = n,
akkor egyrtelm a megolds.
Ebben a fejezetben egszen a 3.7. alfejezetig feltesszk, hogy az egyenletrendszer mtrixa ngyzetes, s hogy az egyenletrendszernek pontosan egy megoldsa van csak. Ennek szksges s elgsges felttele, hogy az mtrixokra is.
A Rnn , b Rn
s det(
A) = 0.
Legyen
az
Ax = b
lineris
x + x
vektorral.
A(x + x) = b + b
Jelentsen
egyenletrendszer megoldsfggvnye
x = G(b) = A1 b,
gy a relatv kondciszm
(b) =
A1 b A1 A x = A A1 =: (A). x A1 b
A relatv kondciszm teht fellrl becslhet a mtrix s inverze normjnak szorzatval. Mivel ez a szorzat sokszor elfordul klnbz becslsekben, ezrt kln nevet adunk neki.
(A) = A A1
szmot a
mtrix kondci-
nevezzk.
A mtrixok kondciszma fgg a hasznlt mtrixnormtl. Ezt nha jelezni szoktuk a kondciszm indexeknt, azaz pl.
2 (A)
3.2.
sgok rvnyesek:
2 (A) = 1, (A) |max /min |, tovbb 2 (A) = |max /min |, ahol max
Szimmetrikus mtrixokra s
min
1 =
AA1 A A1
E =
2-es
vonatkoz tdik llts az 1.2.30. s 1.2.31. ttelekbl s abbl kvetkezik, hogy regulris mtrix inverznek sajtrtkei az eredeti mtrix sajtrtkeinek reciprokai.
3.2.3. megjegyzs.
mrjk.
csak induklt normra, hanem brmilyen mtrixnormra is teljesl. Teht csak az els lltshoz s az tdik llts els rszhez hasznltuk fel, hogy a kondciszmot induklt mtrixnormban
3.2.4. plda.
alakja gy
Hilbert-mtrix elemeit
(n n)-es (Hn )i,j = 1/(i+j 1) mdon deniltak. Pl. a 66-os Hilbert mtrix H6 = 1 1/2 1/3 1/4 1/5 1/6 1/2 1/3 1/4 1/5 1/6 1/7
mg a
Erre a mtrixra
(10 10)-es
mtrixra
Most trjnk t arra az esetre, amikor nemcsak a jobb oldali vektor, de maga az egytthatmtrix is vltozik. Elszr kt kisebb ttelt igazolunk.
ahol
R =: q < 1
S1
1 . 1q
tankonyvtar.bme.hu 57
3.
Bizonyts. Legyen
Rx
x Rn
x = Sx Rx,
azaz
x Sx +
. gy
Sx x Rx x R x = x (1 R ) = x (1 q),
ami mutatja, hogy
S1 z z
= sup
z=Sx
x=0
x 1 . Sx 1q
normban. Ekkor az
A + A mtrix is regulris, s
(A + A)1
A1 A < 1
valamilyen induklt
A1 . 1 A1 A
(A + A) (E + A1 A)1 A1 = (A + A) A(E + A1 A)
Ezrt
= E.
A + A inverze az (E + A1 )1 A1
mtrix, s gy
(A + A)1 (E + A1 A)1 A1
1 1 A
1
A1 .
3.2.7. ttel.
Tegyk fel, hogy az letrendszert oldjuk meg, s az egytthatmtrix perturbcijra teljesl a megoldsa van. Ezt a megoldst
Ax = b egyenletrendszer helyett az (A + A)y = b + b perturblt egyen A < 1/ A1 y = x + x alakban rva rvnyes az albbi becsls:
b
(A) 1 (A) A / A
Bizonyts. Mivel
A < 1/ A1
, ezrt
x = (A + A)1 ( b Ax).
Alkalmazzuk az elz ttelt.
A1 ( b + A x ) 1 A1 A
b
A1 A 1 A1 A
A x
3.3.
Gauss-mdszer
Innt
A1 A 1 A1 A
b A + A x A b
(A) 1 (A) A / A
rdemes egy kicsit elidzni a fenti ttel lltsn. A benne szerepl kplet azt fejezi ki, hogy a megolds relatv hibja fgg az egytthatmtrix s a jobb oldal relatv hibjtl. A kpletben szorztnyezknt szerepel mg viszont az egytthatmtrix kondciszma. Ez mutatja, hogy a megolds relatv hibja gy is nagy lehet, ha az egytthatmtrix s a jobb oldal hibja nem tl nagy, de az egytthatmtrix kondciszma nagy. A gyakorlatban egy egyenletrendszer megoldsa sorn az egytthatmtrix s a jobb oldali vektor tbb dolog miatt is perturbldhat. Pl. amiatt, hogy az elemeik mrsi adatok, gy hibval terheltek. De mg csak nem is kell hibval terheltnek lenniuk az adatoknak, hiszen magbl a lebegpontos brzolsbl is szrmazik hiba. Csak egy becslsek . Tegyk fel, hogy az egyenletrendszert, az
1
x megoldsra rvnyes az
(A)u
A + A mtrixot A u A
s egy
b + b b
vektort
xx 4u (A) x
becsls. Ez a hiba nagyon nagy lehet, ha a kondciszm nagy.
3.3. Gauss-mdszer
A lineris egyenletrendszerek megoldsi mdszereit kt nagy csoportba oszthatjuk: n. direkt s itercis mdszerek. Direkt mdszerek esetn a megoldst vges sok aritmetikai mvelettel lltjuk el. Ha minden lpst pontosan szmolunk, azaz a lpsek nem terheltek a lebegpontos szmolsbl szrmaz hibkkal, akkor pontosan megkapjuk az egyenletrendszer megoldst. Ilyen megoldsi mdszer pl. a Cramer-szably. Megjegyezzk persze, hogy ennek alkalmazsa hromnl tbb egyenlet esetn egyltaln nem praktikus. Itercis mdszerek esetn egy, a megoldshoz tart vektorsorozatot lltunk el, s ennek egy megfelel elemvel kzeltjk a megoldst. Kismret lineris egyenletrendszerek megoldst ltalban gy vgezzk, hogy valamelyik egyenletbl kifejezzk valamelyik ismeretlent, s azt a tbbi egyenletbe helyettestjk. Ezzel a mdszerrel az ismeretlenek szma eggyel cskkenthet. Msik lehetsg, hogy valamelyik egyenlet egy gyesen vlasztott szmszorost kivonjuk egy msik egyenletbl, kiejtve ezzel valamelyik ismeretlent. Felcserlhetnk egymssal egyenleteket is, hiszen ezek sorrendjtl nem fgg a megolds. Felcserlhetjk a vltozkat is, csak az egyenletrendszer megoldsnak felrsakor gyelembe kell majd vennnk ezt a csert. Ezekkel a mdszerekkel ismt cskkenthet az ismeretlenek szma. A felsorolt eljrsok egyike sem vltoztatja meg az egyenletrendszer megoldst. Termszetesen nagymret egyenletrendszerek megoldshoz vagy egy lineris egyenletrendszerek megoldsra szolgl program elksztshez a fenti eljrsokat valamilyen szablynak megfelelen kellene alkalmaznunk. A legegyszerbb, de mig nagyon sokszor hasznlt, direkt lineris egyenletrendszer megold mdszer az n. dik pedig a
Gauss-mdszer ,
visszahelyettests.
elimincis rsz
(Gauss-eliminci), a mso-
3.
melynek utols egyenletben csak az utols ismeretlen szerepel, az utols elttiben csak az utols kett, stb. Ezen j egyenletrendszer egytthatmtrixa mr egy fels hromszgmtrix lesz. Az eljrs utn a megolds az utols egyenlettl visszafel egyszer visszahelyettestssel nyerhet. Nzzk az eljrst most rszletesen. Tegyk fel egyelre, hogy az eljrs sorn sehol sem fordul el nullval val oszts! Ksbb majd megvizsgljuk, hogy ha ez nem ll fenn, akkor hogy lehet a mdszert mdostani. Tegyk fel teht, hogy az
b R
det(A) = 0.
Ax = b
A Rnn ,
b1 b2 b3 bn
an1
Lssuk el az egytthatkat egy
(1)
(1)
(1)
(1)
b1 (1) b2 (1) b3 . bn
(1)
(1)
an1
(1)
Els lpsknt az els egyenlet segtsgvel kiejtjk a tbbi egyenletbl az els vltozt. Ezt gy rjk el, hogy az els egyenlet egy szmszorost kivonjuk a megfelel egyenletbl. Legyen teht
l21 = a21 /a11 , . . . , ln1 = an1 /a11 . Ekkor knny ltni, hogy az i. egyenletbl kivonva az els egyenlet li1 -szerest az i. egyenletbl kiesik az els vltoz. Az lij alak szorzkat gy indexeljk, hogy lij az i. sor j. elemnek kinullzshoz hasznlt szorzt jelentse. gy az a11 0 0
. . .
(1)
(1)
(1)
(1)
(1)
a12 (1) (1) a22 l21 a12 (1) (1) a32 l31 a12 an2 ln1 a12
(1) (1)
(1)
a1n (1) (1) a2n l21 a1n (1) (1) a3n l31 a1n ann ln1 a1n
(1) (1)
(1)
(1)
(1)
egyenletrendszerhez jutunk. A knnyebb tlthatsg kedvrt lssuk el az elemeket most indexszel. Mivel az els sor elemei nem vltoznak, gy ott megtartjuk az
(1)
-es indexet.
a11 0 0
. . .
(1)
(1)
(1)
b1 (2) b2 (2) b3 . bn
(2)
(1)
3.3.
Gauss-mdszer
Most kiszmtva az
(2)
(2)
(2)
(2)
msodik oszlop ftl alatti elemeit is, majd tindexels utn kapjuk az j
a11 0 0
. . .
b1 (2) b2 (3) b3 bn
(3)
(1)
egyenletrendszert. Ezt folytatjuk addig, mg az utols eltti ftlbeli elem alatti egyetlen elem is le nem nullzdik. Ekkor a megfelel indexelst elvgezve kapjuk az
a11 0 0
. . .
(1)
(1)
(1)
b1 (2) b2 (3) b3 bn
(n)
(1)
egyenletrendszert. Ezzel az elimincis rsz vgre rtnk. A fenti egyenletrendszer egytthatmtrixa egy fels hromszgmtrix. Megoldsa egyszer visszahelyettestssel trtnik. Az utols egyenletbl nyerjk az
xn
ismeretlen rtkt az
xn =
formulval. Ezutn visszafel haladva rendre az
bn
(n) (n)
ann
xn1 =
. . .
(n1)
(n1)
x2 = x1 =
rtkeket kapjuk.
(2)
(2)
(2)
(1)
l = [0, . . . , 0, lk+1,k , . . . , ln,k ]T Rn (k = 1, . . . , n 1). Ekkor a Gauss-eliminci k -adik lpse gy vltoztatja meg a mtrixot, mintha az Lk := E lk eT mtrixszal szoroztuk k volna azt. Az Lk (k = 1, . . . , n 1) mtrixszal val szorzst Gauss-transzformcinak nevezzk. A teljes elimincis eljrs sorn ltrejv fels hromszgmtrix Ln1 . . . L2 L1 A alakban rhat. Ezt a mtrixot ltalban U-val jelljk, utalva arra, hogy ez egy fels (u pper) hromszgmtrix.
gvel is. Legyen k
meknek
fele-
nevezzk. Egy adott felem alatti elemek kinullzst felrhatjuk mtrixszorzs segts-
tankonyvtar.bme.hu 61
3.
3.3.1. ttel.
A Gauss-transzformci
Lk = E lk eT k
mtrixa invertlhat, s
L1 = E + lk eT , k = 1, . . . , n k k
Elvgezve a szorzst azt
1.
Bizonyts. Azt kell megmutatni, hogy kapjuk, hogy
(E lk eT )(E + lk eT ) = E. k k
(E lk eT )(E + lk eT ) = E lk eT + lk eT + lk eT lk eT = E + lk eT lk eT = E. k k k k k k k k
Az utols lps onnt kvetkezik, hogy az k k mtrix els k sora csupa nulla elembl ll, s a oszloptl jobbra is csak nulla elemek szerepelnek. gy a mtrix ngyzete nullmtrixot ad.
l eT
k.
Most vizsgljuk meg, hogy milyen mtrixok esetn hajthat vgre a Gauss-mdszer a fent ismertetett mdon, azaz gy, hogy kzben egyik felem sem lesz nulla. Ekkor ugyanis a nullval val oszts miatt nem tud vgigfutni az eljrs.
3.3.2. ttel.
A Gauss-mdszer pontosan akkor hajthat vgre, ha az azaz
Bizonyts. A Gauss-eliminci sorn az egyes sorokbl kivonjuk ms sorok szmszorosait. Ez az eljrs nem vltoztatja meg a determinnst. Teht
ann -el
(n)
osztanunk
xn
M -mtrix,
elimincis eljrs ez a tulajdonsg megrzdik. Elegend ezt az els ill. i-edik sorra megmutatni. Tegyk fel teht, hogy az els s
3.3.
Gauss-mdszer
Ezekbl
|a11 ai1 | |a12 ai1 | + |a13 ai1 | + + |a1n ai1 |, |aii a11 | > |ai1 a11 | + + |ai,i1 a11 | + |ai,i+1 a11 | + + |ain a11 |
s
i-edik
sornak
i-edik
eleme:
>
j=2,j=i
Vgl az
A szimmetrikus, pozitv denit mtrix. Szimmetrikus, pozitv denit mtrix xk olyan nemnulla vektor, melynek a k + 1 : n elemei nullk. Ezzel xT Axk > 0, ami mutatja, hogy a k -adik minormtrix pozitv denit, azaz k
2. Legyen most determinnsa pozitv (sajtrtkek szorzata). Legyen determinnsa pozitv. Teht nem nulla. 3. Legyen vgl
|a11 |
A M-mtrix. Ekkor van olyan g > 0 vektor, hogy Ag > 0. Ismt azt mutatjuk A1 g > 0
egy pozitv vektor, mellyel
meg, hogy a Gauss-eliminci egy lpse utn a mtrix tovbbra is M-mtrix marad. Elg ezt beltni az els transzformcira. Az els transzformci utn a ftln kvli elemek tovbbra sem lehetnek pozitvak. Tovbb hiszen
L1
L1 AA1 g = L1 g > 0,
Vizsgljuk meg a Gauss-mdszer egyes lpseinek mveletszmt! A mveletszmok ismerete a ksbbiekben segt abban, hogy az adott problmt mindig a lehet leggyorsabban oldjuk meg.
k -adik felemmel nullzunk. Ekkor k op). A k -adik sor k + 1 : n + 1 elemt szoroznunk kell a kiszmtott szorzkkal (n k + 1 op), majd ki kell vonni azt az i-edik sorbl (i = k + 1, . . . , n) (egyenknt n k + 1 op). Ez sszesen 2(n k + 1)(n k) op. Ezutn a
Kezdjk az eliminci mveletignyvel. Tegyk fel, hogy a ki kell szmolnunk az
lk+1,k , . . . , ln,k
szorzkat (n
n1
n1
(2(n k + 1)(n k) + n k) =
k=1 k=1
op.
1 + 3 + + 2n 1 = n2
op.
2 3 n + O(n2 ). 3
Vegyk szre, hogy nagy mret egyenletrendszerek esetn a visszahelyettests mveletignye elhanyagolhat az eliminci mveletignyhez kpest. tankonyvtar.bme.hu 63
3.
Ingamdszer
A gyakorlatban sokszor olyan egyenletrendszereket kell megoldanunk, melyek egytthatmtrixa tridiagonlis. Ilyen feladattal tallkozunk pl. a spline-interpolcinl ill. a dierencilegyenletek numerikus megoldsa esetn. Legyen teht a megoldand lineris egyenletrendszer
b1 a2
alak, ahol az
c1 b2
.. .
c2
.. . .. .
an1
bn1 an
cn1 bn
. . . xn1 xn xi
x1 x2
. = . . fn1 fn
f1 f2
ai , bi , ci , fi
rtkek adottak, s az
alkalmazva ltjuk, hogy nem szksges az elimincit minden oszlopon teljesen vgigfuttatni, hiszen a szubdiagonl alatt csak nulla elemek vannak, hanem elegend csak a szubdiagonlbeli elemeket lenullzni. (Ezzel vrhat, hogy az
n3
nagysgrend lesz.) Most az eliminci sorn a felemmel leosztjuk a sort is. Ez ugyan kt osztst jelent soronknt, de gy minden sorban csak kt elre nem ismert elem lesz a hrom helyett, tovbb a ftlban 1-esek fognak llni, gy a visszahelyettests sorn nem kell ezekkel az elemekkel osztani. Az els
i2
1 0 0 . . . 0
alak lesz, ahol
2 1 0
. . .
3
.. . .. . .. .
1 ai
i bi
.. .
ci
.. . .. .
an1 0 i , i ...
bn1 an
cn1 bn
x1 x2 . . . xn1 xn
. . . i = fi . . . fn1 fn
2 3
2 =
f1 c1 , 2 = b1 b1
i+1 =
A fenti kt kplet segtsgvel az
ci fi ai i , i+1 = . ai i + bi ai i + bi
(3.3.1)
i , i
1 = 1 = 0
2 1
3
.. . .. .
n 1
. . . xn1 xn
x1 x2
2 3
. . .
n (fn an n )/(bn + n an )
3.4.
LU-felbonts
xn =
majd a tbbi ismeretlen pedig az
2
fn an n , an n + bn
kplettel nyerhet.
xi1 = i xi + i (i = n : 1 : 2)
A most tridiagonlis mtrixokra ismertetett lineris egyenletrendszer megoldsi mdot ingamdszernek vagy Thomas -algoritmusnak vagy egyszerstett Gauss-mdszernek nevezzk. Az algoritmus teht a korbbi jellsekkel az albbi mdon foglalhat ssze, melybl az is ltszik, hogy az algoritmus
8n 3
Inga-mdszer
Mivel az ingamdszer tulajdonkppen olyan Gauss-mdszer, amely kihasznlja, hogy a mtrix tridiagonlis, gy biztosan elakads nlkl vgigfut a 3.3.3. ttelben felsorolt mtrixokra. Ezen bell, ha a mtrix szigoran dominns ftlj, akkor mivel ez a tulajdonsg az eliminci sorn is megmarad, igaz lesz, hogy
|i | < 1 (i = 2, . . . , n).
3.4. LU-felbonts
Az elz fejezetben lttuk, hogy bizonyos felttelek mellett egy
A mtrix Gauss-transzformcikkal
mtrixra
a Gauss-eliminci vgrehajthat vele. Ekkor ltezik egy olyan szerepelnek) als (lower) hromszgmtrix s egy m.
U fels (upper) hromszgmtrix, melyekkel A = LU. Ha egy regulris mtrixnak ltezik LU -felbontsa, akkor az LU -felbontsa egyrtelBizonyts. A Gauss-eliminci sorn a Gauss-transzformcik az szgmtrix alakra hozzk. Legyen ez az
azaz
U mtrix. gy teht
Ln1 Ln2 . . . L1 A = U.
2 Llewellyn Thomas (19031992) angol zikus. A mdszert tbben is kitalltk a mlt szzad kzepn. Thomas a [36] cikkben emlti. Bruce [5] cikke az els, amelyik szles krhz eljut folyiratban jelenteti meg a mdszert. David Young hvja elszr Thomas-algoritmusnak. Magyarul szoks ingamdszernek is nevezni a mdszert. Az elnevezs a szorzk s az ismeretlenek meghatrozsi sorrendjre utal.
tankonyvtar.bme.hu 65
3.
Mivel
(E lk eT )1 = E + lk eT , k k
s k k l l
A = L1 . . . L1 L1 U = 1 n2 n1
k=1 n1
(E + lk eT ) U k
E+
k=1
lk eT k
U = LU. A
A = LU = LU. Ekkor
1
L L = UU1 = E,
mivel normlt als hromszgmtrixok szorzata normlt als hromszgmtrix, a felsk fels hromszgmtrix.
3.4.2. kvetkezmny.
felbontsa.
3.4.3. megjegyzs. Az LU-felbontsban teht U az eliminci sorn kialakul fels hromszgmtrix, L pedig az lij szorzkbl az
1 l21 L = l31 . . . ln1
mdon kszlt mtrix.
0 1 l32 ln2
0 0 0 1
Az LU-felbonts alkalmazsa
Az
LU -felbontst
trolhat
2n2
mveletignye. gy
teht, ha tbb olyan lineris egyenletrendszert kell megoldanunk, melyek csak a jobb oldali vektorban klnbznek, akkor rdemes az els megoldsa utn eltrolni az LU-felbonts mtrixait, s a tbbi egyenletrendszert mr a fenti mdszerrel megoldani.
Inverz mtrix. Tipikus plda a fenti esetre az, amikor egy mtrix inverzt kell meghatroznunk. Ekkor elszr meghatrozhatjuk az LU-felbontst, ami
3.5.
n 2n3
8n3 /3 + O(n2 )
2n
a mveletszm.
Ha nem ismert elre az LU-felbonts, akkor a fentinl jobb mveletszmot rhetnk el, nevezetesen
alkalmazzuk, ami lineris egyenetrendszer megoldsakor nem praktikus, de mtrixinverz szmts esetn igen (3.11.7. feladat). Lnyege, hogy a felemmel nemcsak a ftl alatt, hanem a ftl felett is nullzunk. Megjegyezzk mg, hogy egy mtrix inverzt, annak nagy mveletignye miatt, a gyakorlatban csak akkor szmtjuk ki, ha explicit mdon szksgnk van az inverz mtrix egyes elemeire.
k -adik oszlop elimincijnl (k) akk felem nulla lenne, akkor a k -adik egyenletet cserljk ki egy olyan nagyobb sorszm (k +1, . . . , n) egyenlettel, melyben a k -adik ismeretlenhez tartoz egytthat nem nulla. Az ilyen csere biztosan vgrehajthat, mert klnben az egytthatmtrix k. oszlopa elllna az els k 1 oszlop lineris kombincijaknt. Ez pedig nem fordulhat el, mert detA-rl feltettk,
a felttel mgsem teljesl. Mit tehetnk ebben az esetben? Ha a tartunk, s az hogy nem nulla. Az egyenletcsernek nem csak akkor van jelentsge, ha klnben nem futna vgig az elimincis eljrs. Eddig nem vettk ugyanis gyelembe, hogy a Gauss-mdszert ltalban szmtgpek segtsgvel hajtjuk vgre, azaz a szmolsnl lebegpontos szmrendszert hasznlunk. Milyen hatsa van vajon ennek a szmtott megoldsra? Alkalmazva a 2.5.2. ttel eredmnyt a szmbrzols hibjrl, az egyenletrendszer egytthatmtrixnak egy ahol az
ua [|aij |]
A = [aij ] Rnn
aij
elemre
mtrix esetn az
|fl(A) A| u|A|
becslshez jutunk. Az albbi, az LU-felbonts hibjra vonatkoz ttelt bizonyts nlkl kzljk [18].
3.5.1. ttel. (Golub, van Loan [18], 105. oldal) nn Tegyk fel, hogy egy A R mtrix LU-felbontst
amely
gpi pontossg lebegpontos szmokat hasznl. Tegyk fel tovbb, hogy az elimi-
nci sorn mely alatt egyik felem sem lett nulla az melyekkel
mtrixokhoz jutottunk,
| L|
sorn ennek elemei a lehet legkisebbek legyenek. Arrl, hogy ennek elrse sorn
U elemei sem
3 Wilhelm Jordan (18421899) nmet geodta. Nem tvesztend ssze (kiejtsben sem) a francia Camille Jordannal, akinek nevhez pl. a Jordan-mrtk elnevezs fzdik.
tankonyvtar.bme.hu 67
3.
egyes oszlopok ftl alatti elemeit, gy ezek az elemek 1-nl nem nagyobb abszoltrtkek, ha
Annak rdekben teht, hogy minl pontosabb megoldst kapjunk, a sorcsert akkor is rdemes vgrehajtani, ha a felemek nem nullk. Azt az eljrst, amikor a az felcserljk a sszesen
A(k) (k + 1 : n, k) oszlop legnagyobb abszoltrtk elemnek vlasztjuk, majd ezen elem sort
k. sorral, rszleges felemkivlasztsnak hvjuk. A rszleges felemkivlasztshoz (n2 n)/2 sszehasonlts szksges. Mg jobban cskkenthet az L mtrix elemeinek abszoltrtke, ha a legnagyobb abszoltr(k) tk elemet a k -adik lpsben nem csak az oszlopban, hanem a teljes A (k : n, k : n) blokkban keressk. Ezutn az gy megtallt j felem sort s oszlopt cserljk a k -adik sorral s oszloppal. 3 2 Ezt az eljrst teljes felemkivlasztsnak nevezzk. Ez n(n + 1)(2n + 1)/6 1 = n /3 + O(n )
sszehasonltssal jr, ami ha elfogadjuk, hogy egy sszehasonlts kb. ugyanannyi ideig tart, mint egy lebegpontos mvelet mr a Gauss-mdszer nagysgrendjbe esik. Emiatt a gyakorlatban ltalban a rszleges felemkivlasztst alkalmazzk, a teljes felemkivlasztst csak akkor rdemes hasznlni, ha nagy pontossg megoldsra van szksgnk.
3.5.2. plda.
Tekintsk az albbi feladatot, ahol tegyk fel, hogy a megolds sorn mindig
4 szmjegyre kerektnk.
= 59.17 = 46.78
Felemkivlaszts nlkl a megolds
x1 = 10.00, x2 = 1.000.
x1 = 10, x2 = 1.001
ed rend bal fels sarokdeterminnsa klnbzik nulltl. Az albbi ttel azt mutatja, hogy
felbontsa.
3.5.3. ttel. (LU-felbonts ltalnos mtrixra) nn Legyen A R egy tetszleges mtrix. Ekkor ltezik egy olyan L als normlt hromszgmtrix, melynek elemei egynl nem nagyobb abszolt rtkek, egy U fels hromszgmtrix, s egy P permutcis mtrix, melyekkel PA = LU.
Bizonyts. Hajtsuk vgre az albbi eljrst az vgrehajthat.
Legyen Ha
A(1) = A, s k = 1.
akkor legyen
A(k) (k : n, k) = 0,
Pk = Lk = E,
ask
(k)
), s deniljuk a
Lk
Pk A(k)
mtrix
k -adik
oszlophoz tartoz
3.5.
Legyen
A(k+1) = Lk Pk A(k) .
k = k + 1,
s jrjunk el hasonlan, mg
Ezutn legyen
k=n
nem lesz.
U = Ln1 Pn1 . . . L1 P1 A
fels hromszgmtrix. Mivel
P2 = E i
(hiszen
Pi
az
i-edik
Ln1 = Ln1
Lk = E lk eT , s Pk k
Lk = E
k -adik
lk (k + 1 : n) elemeinek cserivel
alakak, gy inverzei
Az
Lk
mtrixok
E lk eT k
= E + lk eT k
L = L1 . . . Ln1 .
A rszleges felemkivlasztsbl kvetkezik, hogy (emiatt
P = Pn1 . . . P1 ,
ami nyilvn egy permutcis mtrix. Ezekkel a jellsekkel teht
PA = LU.
Ezt akartuk bizonytani.
3.5.4. ttel. (Golub, Van Loan [18], 115. oldal) nn Legyen adott egy A R mtrix. Tegyk fel, hogy
melyekkel
P LU A = A. Ekkor rvnyes a
P, L
mtrixokhoz jutottunk,
3(n 1)u( A
+n U
+ O(u2 ).
U mtrix maximumnormja. Vizsgljuk meg, L elemei egynl kisebb abszoltrtkek legyenek, akkor vajon nem nvekszik-e meg ezzel prhuzamosan U . Vezessk
Vegyk szre, hogy a fenti kpletben szerepel az
= max
i,j,k
|ij | a
(k)
tankonyvtar.bme.hu 69
3.
n. nvekedsi faktort, ami azt mri, hogy az eliminci sorn az eliminlt lpsekbeli elemei mennyire nhetnek meg becslst kapjuk
mtrix egyes
3(n 1)u( A
+ n2 A
+ O(u2 ) 6n3 A
+ O(u2 ).
A gyakorlatban a nvekedsi faktor ltalban 10-nl nem szokott nagyobb lenni, gy ez egy elfogadhat becslst ad a hibamtrixra. Megjegyezzk azonban, hogy mestersgesen konstrult feladatokra lehet a nvekedsi faktor akr
2n1
is (3.11.11. feladat).
3.5.3. Cholesky-felbonts
Lttuk, hogy bizonyos felttelek mellett egy
ngyzetes mtrix
A = LU
alakba rhat. A
gyakorlatban sokszor olyan egyenletrendszereket kell megoldanunk, melyek mtrixa szimmetrikus, pozitv denit. Ezt a tulajdonsgot kihasznlva kevesebb mvelettel is megadhatunk egy az LUfelbontshoz hasonl alak felbontst.
3.5.5. ttel.
Tegyk fel, hogy az olyan
L s LDMT .
A Rnn mtrix egyik fminorja sem zrus. Ekkor egyrtelmen lteznek M normlt als hromszgmtrixok s egy D diagonlis mtrix, melyekkel A = U
egyik diagonlis eleme
M = (D1 U)T
D =
diag(diag(
U)),
azaz
az
LD(D1 U) = LU = A. Az
3.5.6. ttel. A Rnn mtrix esetn egyrtelmen ltezik T mtrix s egy D diagonlis mtrix, melyekkel A = LDL .
Szimmetrikus Bizonyts. Az egy normlt als hromszg-
M1 AM = M1 LD mtrix szimmetrikus s als hromszgmtrix, azaz 1 diagonlis. Mivel det(D) = 0, ezrt M L is diagonlis, de egyttal normlt als hromszgmt1 rix is. Azaz M L = E, teht M = L.
Vgl, ha a mtrix szimmetrikus, pozitv denit, akkor a felbonts tovbb egyszersdik. gy jutunk el az n. Cholesky -felbontshoz.
4
3.5.7. ttel. (Cholesky-felbonts) Tegyk fel, hogy A egy szimmetrikus, pozitv denit mtrix. Ekkor ltezik pontosan egy olyan T pozitv diagonlis G als hromszgmtrix, mellyel A = GG .
4 AndreLouis Cholesky, 1875 1918, francia katonatiszt, trkpsz. A normlegyenlet megoldsra konstrult mdszert mr nem tudta publiklni, mert az I. vilghborban 1918. augusztus 31-n hallos sebeslst kapott egy szak-franciaorszgi harcmezn. Mdszert egy Benoit nev katonatiszt trsa publiklta [2]. A mdszer publiklsa utn elgg feledsbe merlt, majd Jack Todd mr tantotta egy King's College-i (London) analzis kurzusn a II. vilghbor alatt. 1948-ban Fox, Huskey s Wilkinson elemzi a mdszert, s Turing jelentet meg egy cikket a mdszer stabilitsval kapcsolatban. Bvebb letrajz: http://www-history.mcs.st-andrews.ac.uk/Biographies/ Cholesky.html.
70 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
3.5.
G = L diag( d11 , . . . , dnn ), ami egy pozitv ftlj als hromszgmtrix. Ekkor GGT = A. Ezt
A diagonlis mtrix pozitv ftlj az mtrix pozitv denitsge miatt. Legyen akartuk megmutatni. Termszetesen a Cholesky-felbontst nem az LU-felbontsbl szoks meghatrozni (emlkeztetl ennek mveletignye
A = LDLT
alakban.
A G mtrix elemeit oszloponknt balrl jobbra A mtrix elemeibl pl. az albbi pldban bemutatott mdon.
3.5.8. plda.
Pldaknt lltsuk el az
2 A = 1 0
mtrix Cholesky-felbontst! Olyan
1 2 1
0 1 2
0 g22 g32
0 g11 0 0 g33 0
vektor
g22 =
1 = 2
3/2 1
3/2-del.
gy
g32 = 2/3.
A harmadik oszlophoz (specilisan most annak egyetlen nem nulla elemhez) az vektorbl kell levonnunk a
A(3, 3)
2/3] [0, 2/3]T = [2 2/3] = [4/3], majd ezt osztani a vektor els elemnek gykvel: 2/ 3. gy g33 = 2/ 3. A keresett G mtrix teht a 2 0 0 G = 1/ 2 3/2 0 0 2/3 2/ 3 [2] [0,
mtrix lesz.
i1
gii =
aii
j=1
2 gij , i = 1, . . . , n,
(3.5.1)
gki
tankonyvtar.bme.hu 71
3.
n3 /3 + O(n2 )
mtrix
nltuk a szimmetrit).
3.5.9. megjegyzs.
valamelyik lpsben elakad. Ezt a jelensget felhasznlhatjuk arra, hogy megllaptsuk, hogy egy szimmetrikus mtrix pozitv denit-e.
Ax = b
olyan konvergens sorozatokat konstrulnak, melyek hatrrtke az egyenlet megoldsa. Lineris egyenletrendszerek esetn a lineris itercis eljrsokkal foglalkozunk, melyek alakja
x(k+1) = Bx(k) + f, k = 0, 1, . . . ,
ahol az
(3.6.1)
{x(k) }
sorozattl vrjuk el, hogy tartson a megoldshoz. Rgtn lthatjuk, hogy a mt-
2n2
n/3
itercis lpst
100 100-as
kzel kellene kerlnnk a megoldshoz. Ennek egy tetszlegesen vlasztott kezdvektor esetn kicsi az eslye. Az itercis mdszereket ltalban ezrt n. rixokra, melyekben a nemnulla elemek szma
ritka mtrixokra
O(n)
nagysgrend) alkalmazzuk.
Megjegyezzk,
hogy dierencilegyenletek numerikus megoldsa sorn gyakran ilyen tpus mtrixokat kapunk, gy ezekben az esetekben jl alkalmazhat a mdszer. Az itercis megoldsok esetn a kvetkez krdsek vetdnek fel.
B mtrixot s az f, x(0)
vektorokat?
Mikor konvergl a megoldshoz a sorozat? Mekkora lesz a konvergencia sebessge? Honnt tudjuk, hogy mikor lljunk le az itercival?
3.6.1. denci. (k+1) Az x = Bx(k) + f itercit az Ax = b egyenletrendszerrel konzisztensnek x = Bx + f. (Az x vektor az egyenletrendszer megoldsa.)
Tekintsk az
hvjuk, ha
F : Rn Rn , F(x) = Bx + f
x1 , x2 Rn
vektorokra. gy teht, ha
B < 1,
akkor az
lekpezs kontrakci,
5 Az itercis mdszereket fleg olyan ritka mtrixok esetn rdemes alkalmazni, melyekben a nemnulla elemek elhelyezkedse nem jl strukturlt. Svmtrixos egyenletrendszerek a Gauss-mdszer egyszer mdostsval direkt mdon is gyorsan megoldhatk (lsd pl. ingamdszer).
72 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
3.6.
szerrel konzisztens itercik esetn az egyenletrendszer megoldsa. A normk ekvivalencija miatt termszetesen nem csak az adott vektornormban, hanem tetszleges ms normban is az egyenletrendszer megoldshoz fog tartani az iterci. Ezt a megllaptst az 1.2.32. ttellel sszevetve lthatjuk, hogy konzisztens itercik esetn a
(B) < 1
annak, hogy a (3.6.1) iterci tetszleges kezdvektor esetn az egyenletrendszer megoldshoz tartson. Ez az llts kzvetlenl is igazolhat. Legyen a konvergencia azt jelenti, hogy
(k)
3.6.2. ttel. Egy, az Ax = b egyenletrendszerrel konzisztens lineris iterci pontosan akkor tart az egyenletrendszer megoldshoz tetszleges kezdvektor esetn, ha (B) < 1.
Bizonyts. Az
e(k) = Bk e(0) .
(B) < 1
Bk
nullmtrixhoz tartson,
legyen.
A bizonytsbl nyilvnval, hogy a konvergencia annl gyorsabb, minl kisebb a meg is talltuk a vlaszt. Foglalkozzunk most a (3.6.1) iterci ellltsval. Tegyk fel, hogy az mtrix. Ekkor a
mtrix
A egytthatmtrixot ellltottuk A = S T alakban, ahol S regulris b = Ax = (S T)x egyenlsget S inverzvel balrl szorozva, majd x-et kifejezve x = S1 Tx + S1 b. Ezen egyenlsg miatt az x(k+1) = S1 T x(k) + S1 b
=B =f
S mtrixot prekondicionlsi mtrixnak hvjuk. Ez a mtrix hatrozza meg, hogy mennyire B = S1 T = S1 (S A) = E S1 A egyenlsg miatt j lenne, hiszen akkor a B mtrix spektrlsugara jval kisebb lehetne, mint 1,
nehz vagy knny az iterci vgrehajtsa. Megvlasztst kt, egymssal ellenttes kvetelmny hatrozza meg. Egyrszt knnyen invertlhatnak kell lennie, hiszen az itercihoz szksg van a mtrix inverzre, msrszt a ha
"kzel lenne
A-hoz",
Nzznk meg kt specilis esetet S megvlasztsra! Legyen elszr S = A. Ekkor az iterci x(k+1) = (E S1 A)x(k) + S1 b = 0x(k) + A1 b alak lesz, ami egy lpsben konvergl a megoldshoz brmely kezdvektor esetn. Ebben az esetben S ugyan kzel van A-hoz (hiszen megegyezik vele), de inverznek meghatrozsa egyenrtk az egyenletrendszer direkt megoldsval, gy az eljrs nem ad semmi elnyt a direkt mdszerekhez kpest. A msik esetben legyen
S az egysgmtrix. Ekkor az iterci x(k+1) = (E A)x(k) + b alak lesz. Az S mtrixot ebben az esetben nem kell invertlni, de S-nek semmi kze sincs az A mtrixhoz, gy konvergenciatulajdonsgai nem lesznek nagyon jk. egyik esetben az Most ismertetnk nhny sokszor alkalmazott lehetsget az
S mtrix megvlasztsra. MindA mtrixot A = D L U alakba6 rjuk fel, ahol D a diagonlis elemek, L a diagonlis alatti elemek 1-szereseinek, mg U a diagonlis feletti elemek 1-szereseinek mtrixa. Feltesszk, hogy D ftljnak (azaz A ftljnak) egyik eleme sem nulla. Ez mindig elrhet
az egyenletek megfelel trendezsvel.
6 Felhvjuk a gyelmet arra, hogy az s mtrixok nem egyeznek meg az LU-felbonts hasonlan jellt mtrixaival. A jells csak arra utal, hogy als- ill. fels hromszgmtrixokrl van sz.
tankonyvtar.bme.hu 73
L U
3.
3.6.1. Jacobi-iterci
Az
itercit (
x(0)
tetszleges kezdvektor)
mtrixt a tovbbiakban
BJ
Jacobi7 -itercinak
n
xi
itercit nyerjk.
(k+1)
1 = aii
aij xj
(k)
bi , i = 1, . . . , n
j=1,=i
3.6.2. GaussSeidel-iterci
Az
itercit (
x(0)
tovbbiakban
BGS
tetszleges kezdvektor) GaussSeidel -itercinak nevezzk. Itercis mtrixt a jelli majd. Hogy lssuk az iterci Jacobi-itercival val kapcsolatt, alakts vgl szorozzunk
Lx(k+1) -et,
(D L)
x(k+1) = D1 (Lx(k+1) + Ux(k) ) + D1 b D1 Lx(k+1) szerepel. Ltszlag ez az iter1 (k+1) vektor, de mivel D L szigor (a ci nem explicit, hiszen a jobb oldalon is szerepel az x (k+1) ftlban nullk szerepelnek) als hromszgmtrix, gy x mgis egyszeren meghatroz(k+1) (k+1) hat. Az x vektor els elemnek meghatrozshoz nincs szksg az x vektorra. A
tag helyett a GaussSeidel-iterciban stb. Mg jobban ltszik a kapcsolat a kt iterci kztt, ha a GaussSeidel-iterci utbbi alakjt komponensenknt is kirjuk itercit nyerjk. Lthat, hogy a Jacobi-itercihoz kpest csak annyi a klnbsg, hogy a
D1 Lx(k)
msodik elem meghatrozshoz pedig csak a korbban meghatrozott els elemre van szksg,
(k+1) xi
(3.6.3)
(i = 1, . . . , n).
iterci az
x(k+1)
Ha sszevetjk ezt a Jacobi-iterci kpletvel, akkor lthat, hogy a Jacobivektor komponenseinek meghatrozshoz csak az
(k+1)
x(k)
vektort hasznlja, mg
j = 1, . . . , i 1
x(k)
7 Carl Gustav Jacob Jacobi (1804-1851, nmet). 8 Philipp Ludwig von Seidel (1821-1896, nmet).
74 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
3.6.
3.6.3. plda. Pldaknt vgezznk el egy-egy lpst a Jacobi- s a GaussSeidel-itercikkal (0) az x = [1, 1, 1]T vektorrl indulva a
2x1 x2 x1 + 2x2 x3 x2 + 2x3
egyenletrendszerre! Mindkt esetben a koordintnknti vltozatt fogjuk alkalmazni az iterciknak. A Jacobi-iterci esetn az
= = =
1 2 3
i-edik x1 x2 x3
egyenletbl kifejezzk az
i-edik
vltozt
(i = 1, 2, 3)
= x2 /2 + 1/2 = x1 /2 + x3 /2 + 1 = x2 /2 + 3/2
s gy ksztjk el az itercit
x1
= x2 /2 + 1/2 = x1 /2 + x3 /2 + 1 = x2 /2 + 3/2.
(k) (k) (k)
(k)
x2
x3
gy
x(1)
vektorknt az
[1, 2, 2]T
vektort nyerjk.
x1
= x2 /2 + 1/2 = x1
(k+1) (k+1)
(k)
x2
/2 + x3 /2 + 1 /2 + 3/2 x1 =
(1)
(k)
x3
itercit adja. Az
= x2
[1, 1, 1]T
1,
a msodik egyenletbl
x2
(1)
= 2
0 BJ = 1/2 0
s
(BJ ) = 1/ 2 0.7071,
mg
BGS
s a spektrlsugara
0 = 0 0
0 1/2 1/4
tart vektorsorozatot eredmnyez, s mivel a msodik esetben kisebb a spektrlsugr, ezrt erre a feladatra a GaussSeidel-mdszerrel ellltott sorozat konvergl gyorsabban.
tankonyvtar.bme.hu 75
3.
Els gondolatra, s taln az elz plda is azt sugallja, gy tnhet, hogy a GaussSeidelmdszer jobb, mint a Jacobi, hiszen minden lpsben felhasznljuk az j itercis vektor mr kiszmolt komponenseit. A kvetkez plda azt mutatja, hogy ez nincs gy.
3.6.4. plda.
1/2 1 2
A = 1/2
2
Ekkor
1 . 1 0 1/2 1
1/2 0
BJ = 1/2
gy
1 , BGS = 0 1/4 1/2 . 0 3/2 1 2 2 0 (BGS ) = | 3/8 73/8| 1.443 > 1. Ezrt a fenti A
mtrix
vagy kisebb ugyan, de kzel van egyhez, akkor a mdszer nem vagy nagyon lassan konvergl. Ekkor azt tehetjk, hogy vltoztatunk az egyenletrendszeren (pl. trendezzk a sorait), vagy msik
egy paramtert az iterciba, melyet majd gy vlasztunk meg, hogy az iterci konvergens, st gyorsan konvergl legyen. Az els kt lehetsggel ksbb foglalkozunk. Most tekintsk a harmadik eljrst rszletesebben a Jacobi-iterci pldjn. Tegyk fel, hogy a Jacobi-iterciban a
k -adik
(k) itercis lpsnl tartva ismerjk mr az (k+1) vektort eredmnyezn. A (k + 1)-edik lps J
(k) vektorrl most is a Jacobi-iterci ltal (k+1) adott vektor irnyba lpnk tovbb, de nem -be lpnk, hanem egy kicsit messzebb, J vagy egy kicsit kzelebb attl fggen, hogy egynl nagyobb vagy kisebb. (Termszetesen az
=1
> 1,
akkor tlrelaxlsrl, ha
0 < < 1,
akkor
alulrelaxlsrl beszlnk. (A relaxls angolul relaxation sz itt arra utal, hogy a Jacobiiterci kplett nem vesszk szigoran, hanem mdostunk egy kicsit rajta.) A Jacobi-iterci relaxlt vltozatra a JOR (Jacobi overrelaxation) rvidtst fogjuk hasznlni, itercis mtrixt
BJ()
jelli majd.
rjuk fel mtrixos alakban a JOR itercit! Ehhez helyettestsk a (3.6.4) kpletbe a Jacobimdszer ltal adott
x(k+1) J
3.6.
(k+1) xi
= (1
(k) )xi
aii
n (k) aij xj
bi , i = 1, . . . , n
j=1,j=i
BJ() = (1 )E + D1 (L + U) = BJ + (1 )E.
A JOR iterci az
(3.6.5)
A = S T felbontsban az S = (1/)D, T =
1 D+L+U
(3.6.6)
S1 T = D1
s
1 D+L+U
= (1 )E + D1 (L + U) = BJ()
S1 b = D1 b.
Vegyk szre, hogy minden vlaszts esetn az egyenletrendszerrel konzisztens itercit
kapunk. Mivel
meg, hogy az iterci konvergens legyen, vagy hogy a konvergencia a lehet leggyorsabb legyen. Most trjnk t a GaussSeidel-iterci relaxcijra. Ezt a mdszert SOR (successive overrelaxation) fogja rvidteni a ksbbiekben, s itercis mtrixt most a GaussSeidel-iterci (3.6.3) koordintnknti alakjbl, s alkalmazuk a relaxci (3.6.4) kplett a Jacobi-iterci
x(k+1) J
xi
(k+1)
1 (k+1) (k) (k) aij xj + aij xj bi xi aii j=1 j=i+1 i1 n (k) (k+1) (k) = (1 )xi aij xj + aij xj bi . aii j=1 j=i+1 = xi
(k)
i1
BGS() = (D L)1 ((1 )D + U). A SOR mdszerhez eljuthatunk gy is, hogy az A = S T felbontsban az S=
1 1 D L, T = D+U
(3.6.7)
3.
felbontst
regulris felbontsnak
hvjuk, ha
regulris,
3.6.6. ttel. 1 nn Ha az A R mtrixnak, amely regulris s A 0, A = S T egy regulris felbontsa, 1 akkor (S T) < 1.
Bizonyts. A
B = S1 T 0
k
k -ra
k
0
i=0
Azaz a
Bi S1 =
i=0
Bi (E B)A1 = (E Bk+1 ) A1 A1 .
S1
0 0
i nemnegatv tag sor rszletsszegei korltosak, gy a sor konvergens, aminek i=0 szksges s elgsges felttele ( ) < 1 (1.2.34. ttel).
olyan ngyzetes mtrix, melynek a ftljn kvl nincs pozitv eleme. Ekkor
A M-mtrix.
A M-mtrix. Ekkor megmutatjuk, hogy a Jacobi-iterci felbontsa S = D > 0 (mivel A M-mtrix, gy ftljban pozitv T = L + U 0. Ez egy regulris felbonts, tovbb mivel A1 0, ezrt az (S1 T) < 1.
A msik irny igazolshoz csak azt kell megmutatnunk, hogy a mtrixnak van inverze, s az egy nemnegatv mtrix. Az
= (S T)
= (S(E S
T))
= (E
S T ) S
1 (S1 T)<1
1 1
(S1 T)k S1 0
k=0
xok segtsgvel az inverzt. Az inverz mtrixot elllt sor tagjai nemnegatvok, gy az inverz
3.6.
3.6.8. ttel.
Ha az egyenletrendszer egytthatmtrixa M-mtrix, akkor a Jacobi, a GaussSeidel-itercik s ezek relaxlt vltozatai
(0, 1)
S s T mtrixok (0, 1] esetn regulris felbontst adjk A-nak. gy az elz ttel szerint az
iterci konvergens lesz. A SOR mdszer esetn (3.6.7) szintn regulris felbontst ad, ha Az
M-mtrix, akkor
A1 0.
(0, 1].
=1
3.6.9. ttel.
Szigoran dominns ftlj egytthatmtrixok esetn a Jacobi- s a GaussSeidel-itercik minden kezdvektor esetn az egyenletrendszer megoldshoz konverglnak. Bizonyts. Mivel szigoran dominns ftl esetn a ftlbeli elem abszolt rtke nagyobb, mint a sorbeli tbbi elem abszoltrtk-sszege, gy a
q = D1 L
s = D1 U
jellsekkel
q, s 0
q + s < 1.
(BJ ) BJ
A GaussSeidel-itercira a
= D1 (L + U)
= q + s < 1.
BGS
(BGS ) BGS
= (E D1 L)1 D1 U
1 s 1q s= < = 1, 1q 1q 1q
3.6.10. ttel. Ha az A egytthatmtrix szimmetrikus s pozitv denit, akkor a Gauss-Seidel-iterci konvergl az egyenletrendszer megoldshoz tetszleges kezdeti vektor esetn.
A szimmetrikus, gy U = LT . Teht A az A = D L LT alakban rhat. 1 T gy BGS = (D L) L . Ez a mtrix mr nem felttlenl szimmetrikus, gy lehetnek kpzetes sajtvektorai s sajtrtkei. Legyen pl. egy sajtrtke, s v egy hozz tartoz sajtvektor,
Bizonyts. Mivel azaz
(D L)1 LT v = v.
vH LT v = vH (D L)v.
Az egyenlsg minkt oldalt a
3.
(1 1)-es
(1 )-val
(1 ||2 )vH Av = |1 |2 vH Dv
addik. Mivel egy szimmetrikus pozitv denit mtrix diagonlisban pozitv elemek szerepelnek, gy
vH Dv
pozitv. A
sszefggsbl
(D L LT )v = Av = 0
BGS
mtrix sajtrtke nem lehet 1, mert ellenkez esetben a (3.6.8) lenne, azaz
1 ||2 > 0.
Teht
|| < 1.
Trjnk t a SOR iterci vizsglatra. Elszr egy szksges felttelt igazolunk a konvergencira.
|i | = | det(BGS() )| =
i=1
(BGS() ) = max |i |
i=1,...,n n 1/n
i=1
|i |
= |1 |.
A kvetkez ttel, melyet bizonyts nlkl kzlnk, azt mondja, hogy szimmetrikus pozitv denit mtrixokra a Kahan-ttel felttele elgsges is a konvergencihoz.
3.6.12. ttel. (Ostrowski [26], 1954; Reich [27], 1949) Ha A szimmetrikus, pozitv denit mtrix, s (0, 2), akkor
(BGS() ) < 1,
azaz a SOR iterci konvergens lesz.
3.7.
Varicis mdszerek
Mr emltettk, hogy a dierencilegyenletek numerikus megoldsa sorn a leggyakrabban elfordul mtrixtpusok a szimmetrikus pozitv denit mtrixok, a diagonlisan dominns mtrixok s az M-mtrixok. Az elz ttelek alapjn elmondhatjuk, hogy szigoran dominns ftlj mtrixok esetn a Jacobi- s a GaussSeidel-iterci is konvergens lesz. Nha az egyenletek sorrendjnek megvltoztatsval knnyen el is rhet, hogy a mtrix szigoran dominns ftlval rendelkezzen. Szimmetrikus pozitv denit mtrixok esetn a SOR mdszer konvergens lesz minden konverglnak
(0, 2) vlaszts esetn (s csak ezekre). M-mtrixok esetn a SOR s a JOR mdszerek is (0, 1] esetn, de a SteinRosenberg-ttel miatt a SOR mdszer a clravezetbb
(gyorsabban konvergl).
Ha
x(1) x(0) .
Vizsgljuk az egyms utni itercik eredmnyeit, ha lelltjuk az itercit. Kiszmtjuk az n. maradkvektorokat: den kicsi, akkor lelltjuk az itercit. Megadunk egy
x(k+1) x(k)
elegen-
kmax
Ezek kzl akr tbbet is alkalmazhatunk. Pl. az utols felttelt minden programba rdemes bepteni, hogy gondoskodjunk a tnyleges lellsrl.
A Rnn
(x) = n-vltozs
1 T x Ax xT b 2
(1 1)-es
Ax = b egyenletrendszer megoldsa.
Rn
halmazon s ez pontosan az
tankonyvtar.bme.hu 81
3.
x = A1 b
Ezutn
tssel addik. A a
(x)
(x)
fggvny
xk
(k = 1, . . . , n).
n
rjuk ki ehhez a
(x)
fggvnyt rszletesen.
(x) =
Hagyjuk el az
1 2
aij xi xj
i=1 j=1 j
bj x j .
xk
vltozt nem tartalmaz tagokat, hiszen a derivls sorn ezek gyis eltnnek,
1 (x) = xk 2
aik xi xk +
k=j=1
akj xk xj + akk x2 bk xk k
xk
akj xj bk .
j=1
k=i=1
vektort maradkvektornak hvjuk. Jellsre az angol residual sz kezdbetjt hasznljuk. A vegkrnyezetbl mindig vilgos lesz, hogy a maradkvektort melyik
x vektor fggvnye, de ezt nem szoktuk a jellsben feltntetni. A szx vektorral kpeztk. A maradkvektor megmutatja, hogy egy adott x vektor esetn mekkora az eltrs az egyenletrendszer kt oldala kztt. Nyilvnvalan x = x esetn r = 0. Fontos szrevtel, hogy a gradiensvektor a
Az
maradkvektor
Ax = b
(1)-szerese.
lineris egyenletrendszer megoldsa teht a
(x)
fggvny minimumhelynek
megkeressvel egyenrtk. Hogy jobban el lehessen kpzelni, hogy milyen fggvnyt kell minimalizlni, rjuk a (3.7.1) kpletben a
vektor helyre az
xx
vektort
1 T 1 (x) = b A1 b + (x x )T A(x x ). 2 2
Innt ltszik, hogy a fggvny hiperellipszoid. (
c b A1 b/2
centrum
3.7.2. plda.
2, x2 = 1.
2x1 = 4, 8x2 = 8
x1 =
c = 0
rtkhez
3.7.
Varicis mdszerek
ami egy
kzep,
ill.
Az elbbiek alapjn a
fellet "legmlyebben" fekv pontjnak megkeresse, melynek szintvonalai koncentrikus hiperellipszoidok (kt dimenziban koncentrikus ellipszisek, lsd 3.7.1. bra). Elszr foglalkozzunk az irnymenti minimumok megkeressvel, azaz azzal az esettel, amikor nem az egsz felleten, hanem csak egy adott pontbl adott irnyban szeretnnk megkeresni a legkisebb fggvnyrtkt
(x)-nek.
3.7.3. ttel. Legyenek x s p = 0 adott vektorok. A g() = (x + p) T T minimumt az = p r/(p Ap) vlaszts esetn veszi fel.
Bizonyts. Mivel
minimumt valban az
= pT r/(pT Ap)
megkeressre. Tegyk fel, hogy valamilyen mdszerrel (ezt a ksbbiekben pontostani fogjuk) meghatroztuk az egyes lpseknl alkalmazand keressi irnyokat: tetszleges ms vektort is). Az mdon jrhatunk el. Vlasztunk egy kiindulsi kzeltst, legyen ez
x1 kzeltsnek. Ezutn hasonlan jrunk el mindig a kvetkez keressi irnyt vlasztva az adott
pontbl. Az algoritmus az albbi mdon foglalhat ssze.
end while
Az alapalgoritmus megismerse utn mr csak azt a krdst kell megvizsglnunk, hogy milyen mdon vlasszuk meg a keressi irnyokat ahhoz, hogy a minimumhelyet a leghatkonyabban tudjuk meghatrozni. tankonyvtar.bme.hu 83
3.
3.7.1. Gradiens-mdszer
Ismert, hogy egy tbbvltozs fggvny a gradiensvektorval ellenttes irnyban cskken a leggyorsabban. Ehhez elg felidznnk az irnymenti derivltrl tanultakat. gy kzenfekvnek ltszik mindig a gradiensvektor (-1)-szerest (ami a korbban mondottak szerint ppen az adott pontbeli a
r = b Ax maradkvektor) vlasztani keressi irnynak. Az gy nyert itercis mdszert (x) fggvny minimumhelynek megkeressre gradiens-mdszernek, mskppen a legmeredeA gradiens-mdszernl teht a 3.7.3. ttelt alkalmazva egy
vektor irnyba az
pontbl, ahol
r = b Ax
bA x+ rT r r rT Ar
rT b A x +
= rT r rT A
rT r rT r r = rT r T rT Ar = 0 rT Ar r Ar
egyenlsg miatt lthat, hogy az iterci sorn az egyms utni keressi irnyok merlegesek egymsra. A gradiens-mdszer sorn vgzett lpseket szemllteti egy ktvltozs egyenletrendszer esetn a 3.7.1. bra.
3.7.1. bra.
adott vektor.
end while
3.7.
Varicis mdszerek
3.7.4. ttel.
A gradiens-mdszer sorn rvnyes a
1 2 (A)
(k = 0, 1, . . .)
(xk ) + (1/2)b A1 b =
1 1 1 1 = xT rk + rT A1 b = rT A1 (b Axk ) = rT A1 rk . 2 k 2 k 2 k 2 k
Tovbb a
(k + 1)-edik
maradkvektorra
Teht
=1
rT A1 rk k (rT rk )2 k =1 T rk Ark rT A1 rk k
1 1
A1
=1
2
1 . 2 (A) 2 (A)
nagy rtk.
fggvny vltozst mutat elz ttelbl jl lthat, hogy a fggvny nagyon lassan
x0
x1
pontba.
Ha itt olyan keressi irnyt tudnnk vlasztani, amely a minimumhely irnyba mutat, akkor a kvetkez lpsben mr meg is tallnnk a minimumot, hiszen abban a keressi irnyban az irnymenti minimum egyben abszolt minimum is. De hogyan lehetsges gy vlasztani a keressi irnyt, hiszen ehhez ltszlag szksgnk lenne a keresett
minimumhelyre? tankonyvtar.bme.hu 85
3.
3.7.2. bra.
x1
x0
pontbeli maradkvektorra.
x1 ) = 0 felttelt. Az egyszerbb megfogalmazs kedvrt vezessk be az albbi fogalmat. 3.7.5. denci. y vektorok
Legyen adva egy
x1 pontbl az x
pT A(x 1
A Rnn
x s
skalris szorzatbeli ortogonalitst jelenti. A denci segtsgvel teht mondhatjuk, hogy a hogy az legyen
A-ortogonlis
p1
p2 = r1 1 p1
alakban a msodik keressi irnyt. Az A-ortogonalitsi felttelt felhasznlva ekkor
1 =
pT Ar1 1 . pT Ap1 1
Tovbb, hasonlan a gradiens-mdszer konvergenciasebessgrl szl 3.7.4. ttel bizonytsban szerepl talaktsokhoz
mus kt lpsben megtallja az abszolt minimumhelyet. Azaz egy tetszleges kezdpontbl a 86 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
3.7.
Varicis mdszerek
maradkvektor irnyban keres elszr irnymenti minimumot, majd ebben a pontban meghatroz egy vektort, mely A-konjuglt az els keressi irnyra. Ebben az irnyban megkeresve az irnymenti minimumot, az abszolt minimumot kapjuk.
A R22 pozitv denit mtrix, b R2 x0 := 0, r0 := b p1 := r0 1 := pT r0 /(pT Ap1 ) 1 1 x1 := x0 + 1 p1 r1 := r0 1 Ap1 1 := pT Ar1 /(pT Ap1 ) 1 1 p2 = r1 1 p1 2 := pT r1 /(pT Ap2 ) 2 2 x2 := x1 + 2 p2 (= x pontos megolds)
tetszleges vektor.
Ezt a mdszert a konjuglt keressi irnyok vlasztsa miatt konjuglt gradiens-mdszernek nevezzk. A mdszert teljes egszben Magnus Hestenes s Eduard Stiefel adta meg elszr az 1950-es vek elejn. Mivel kt itercis lpsben pontosan szmolva pontosan megkapjuk a megoldst, ezrt ez a mdszer elmletileg direkt mdszernek tekinthet. Most rtrnk a konjuglt gradiens-mdszer tbbdimenzis algoritmusra, amely knnyen addik a ktvltozban megismert algoritmus ltalnostsaknt. (Ksbb majd mg pontostjuk ezt az algoritmust.)
adott.
end while
Termszetesen az korntsem vilgos, hogy ez az algoritmus is hasonl j tulajdonsgokkal rendelkezik, mint a ktdimenzis esetben bemutatott algoritmus. Azt, hogy ez mgis gy van, a kvetkez ttel mutatja.
tankonyvtar.bme.hu 87
3.
3.7.6. ttel. Ha rk1 = 0 egy adott k -ra (azaz nem rt vget az eljrs a (k 1)-edik lpsben), akkor xk lin{p1 , . . . , pk } = lin{r0 , . . . , rk1 } =: Vk ,
valamint
k2
esetn
rT rj = 0, j = 0, . . . , k 2, k1 pT Apj = 0, j = 1, . . . , k 1. k
k -ra
vonatkoz teljes indukcival trtnik.
Bizonyts. A bizonyts A
k=1
eset:
r0 = p1 = 0 s 1 = 0, ezrt x1 = 1 p1 = 1 r0 .
lin(r0 ,...,rl1 )
xl+1 =
xl
lin(p1 ,...,pl )
+l+1 pl+1
=rl l pl
lin(p1 , . . . , pl+1 )
= lin(r0 , . . . , rl ).
Most ngy klnbz esetet kell vgignznnk 1.
rtke szerint.
j <l1
esetn
rT rj = (rT l pT A)rj = 0. l l1 l
2.
j =l1
esetn, mivel
rT rl1 = l1
r
s
pT l
T l1 l1
rl1
p
T l1
pT Arl1 = pT A l l
ezrt
pl
rl1 l1 pl1
j<l
esetn
3.7.
Varicis mdszerek
4.
j=l
ezrt
esetn, mivel
k =
tovbb
rT rk1 k1 , pT Apk k
s gy
r r r
x Rn vektor
A-normjn
e(k) = x xk
jellst.
az egyetlen pont
Vk -ban,
melyre
e(k) e(k)
A A,
minimlis.
e(1)
tovbb
e(2)
Bizonyts. Tekintsk az
egy tetszleges
Vk -beli
vektor.
e(k) + x
= (e(k) )T Ae(k) + xT Ax + 2
(e(k) )T A
=(Ae(k) )T =(bAxk )T =rT k
x
Vk
xk
V1 V2 Vk
A-normjnak
3.
xn
n
az
-ben
hiszen az rk vektorok ortogonlisak. A-normban legjobban kzelt vektor, azaz maga az x megolds.
Vn = Rn ,
3.7.10. kvetkezmny.
legfeljebb
nek. Ahogy mr korbban emltettk, elmletileg (azaz szmbrzolsi s kerektsi hibk nlkl) a konjuglt gradiens-mdszer egy direkt mdszer. A gyakorlatban viszont a hibval terhelt szmtsok miatt itercis mdszerknt alkalmazzuk.
3.7.11. kvetkezmny. Ha a k-adik lpsben lelltjuk megoldst A-normban legjobban kzelt vektort.
Vk -bl
A konjuglt gradiens-mdszer konvergencijra vonatkozan megadunk most bizonyts nlkl kt ttelt. A ttelek azt mutatjk, hogy kis kondciszm vagy kevs klnbz sajtrtkkel rendelkez mtrixok esetn a mdszer gyorsan konvergl.
2 (A).
Ekkor a kon-
(k)
A2
2 (A) 1 2 (A) + 1
e(0)
A.
adott vektor.
end while
k := k + 1 k := rT rk1 /(pT Apk ) (2n 1 + 2n2 + n 1 k1 k xk := xk1 + k pk (2n op) rk := rk1 k Apk (2n op) k := rT rk /(rT rk1 ) (2n 1 op) k k1 pk+1 := rk + k pk (2n op)
op)
itercinknt. gy ha
n/3-nl tbb lps kellene, akkor a Gauss-mdszer gyorsabb nla. Emiatt inkbb ritka mtrixokra
alkalmazzk. Elnye a korbban ismertetett itercis mdszerekkel szemben, hogy nem kell hozz optimlis relaxcis paramtert keresni a gyors konvergencia elrshez. 90 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
3.8.
A QR-felbonts
3.7.14. megjegyzs.
azt jelenti, hogy ekvivalens talaktsokkal olyan alakra hozzk az egyenletrendszert, melynek egytthatmtrixnak kondciszma jval kisebb, mint az eredeti egyenletrendszer mtrix, ugyanakkor a megoldsa kzel azonos mvelettel jr. A mi esetnkben lehet pozitv denit mtrix, melyre
C2
kzelti
A-t s C2
szimmetrikus,
C2
3.8. A QR-felbonts
Korbban mr lttunk ktfajta mtrixfelbontst. Az egyik a Schur-felbonts volt, amely szerint minden mtrix unitr hasonlsgi transzformcival fels hromszgmtrixba vihet. A msik az LU-felbonts, amely szerint bizonyos mtrixok felrhatk egy normlt als s egy fels hromszgmtrix szorzataknt. Mindkt felbonts hasznosnak bizonyult az alkalmazsok sorn. Ebben a fejezetben egy jabb felbontssal fogunk megismerkedni: a QR-felbontssal, amely hasonlan hasznos eszkz lesz a ksbbiekben. A QR-felbonts egy ortogonlis s egy fels hromszgmtrix szorzataknt lltja el a teljes oszloprang mtrixokat. Egy mtrixot szma legalbb annyi, mint oszlopai.
teljes oszloprangnak
h-
vunk, ha rangja megegyezik oszlopainak szmval. Nyilvnvalan ez csak gy lehet, ha sorainak Tulajdonkppen mr tallkoztunk is olyan eljrssal, amely QR-felbontst ad. Az 1.1.30. ttel
x1 , . . . , xn Rm (n m) vektorokhoz megadhatk olyan ortonormlt q1 , . . . , qn vektorok, hogy lin(x1 , . . . , xl ) = lin(q1 , . . . , ql ) (l n). gy teht vannak olyan ij szmok, melyekkel
szerint a GramSchmidt ortogonalizcis eljrs sorn a linerisan fggetlen
x1 = 11 q1 x2 = 12 q1 + 22 q2
. . .
xn = 1n q1 + . . . + nn qn .
Ha teht a teljes rang
A Rmn
mtrix oszlopvektorai
x1 , . . . , xn , akkor A felrhat az
... ... ... 1n 2n nn
11 0 A = [q1 , . . . , qn ] 0
12 22 0
alakban. Ezt a felbontst reduklt QR-felbontsnak hvjuk. Az els tnyez egy ortonormlt vektorokat tartalmaz Ha most kiegsztjk a
(m n)-es mtrix, a msodik pedig egy (n n)-es fels hromszgmtrix. q1 , . . . , qn vektorokat ortonormlt bziss a qn+1 , . . . , qm vektorokkal,
tankonyvtar.bme.hu 91
3.
akkor az
11 0 . . . A = [q1 , . . . , qn , qn+1 , . . . , qm ] 0 0 . . . 0
ellltsban az els mtrix egy oszlopai az
12 22 0 0
. . .
... ...
.. .
... 0
. . .
1n 2n . . . nn 0 . . . 0
m m-es
Q mtrix n+1 : m
mn
mret
elemeivel szorzdnak. Termszetesen nem vletlen, hogy a GramSchmidt-eljrs sorn ritkn emltik csak, hogy alkalmas QR-felbonts ltrehozsra. Ennek oka az, hogy a numerikus szmtsok sorn felhalmozd kerektsi s brzolsi hibk elgg pontatlann teszik a mdszert. Most megismernk kt msik, sokkal gyakrabban alkalmazott eljrst QR-felbonts ellltsra.
v=0
normlvektorval az
Rn
trben egy
(n 1)-dimenzis
hipersk. Legyen
v
ezrt a tkrkp gy addik, hogy
x-bl kivonjuk ezen vektor ktszerest. Teht a tkrkp vT x vvT 2vvT =x2 T x= E T v 2 v v v v
2vvT
x2
Ezek alapjn egy adott azokat a
x.
v=0
H=E
mtrixszal szorozzuk. A tkrzst a bra szemllteti.
vT v
H-t. Az ortogonalitshoz
azt mutatjuk meg, hogy a mtrix inverze sajt maga, mert ez a szimmetria miatt elegend az
2vvT
vT v
2vvT
vT v
=E4
x Rn
H(H)x = Ex = x,
valban megfelel a tkrzsi tulajdonsgnak. Az is knnyen ltszik, hogy a vektorok, azaz a hipersk vektorai helyben maradnak a szorzs sorn. 92 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
v vektorra merleges
ami
3.8.
A QR-felbonts
3.8.1. bra.
Viszgljuk meg most azt a krdst, hogy milyen v vektorral visz a tkrzs egy x vektort egy e1 -gyel prhuzamos vektorba! Azaz szeretnnk az x vektorhoz egy olyan v vektort tallni, hogy a vele konstrult
tkrzsre (sematikusan)
0 Hx = H . = . . . . . 0
teljesljn. Mivel
Hx = x
lin(e1 )
gy
2vT x
vT v
v,
v lin(x, e1 ). Legyen v = x + e1
Ekkor
valamilyen
konstanssal.
Hx = x
2(xT + eT )x 1 (x + e1 ) (x + e1 )T (x + e1 )
x = 0 esetn v = x x 2 e1
Hx =
= x 2 x 2 x
2 2 2 2
2(x x 2 e1 )T x e1 = (x x 2 e1 )T (x x 2 e1 )
Ha
2 x 2 x1 e1 = 2 x 2 x1
x 2 e1 .
3.8.2. megjegyzs.
Mivel
x1 = 0,
9
akkor clszer a
v = x + sgn(x1 ) x 2 e1
vlaszts a kiegyszer-
v-nek csak az irnya fontos, a nagysga nem, azrt clszer gy normlni, hogy az els v vektor trolhat az x vektor lenullzott elemeinek helyn.
9 Az sgn rvidts a signum fggvnyt jelli: sgn(x) pozitv x rtkekre +1, negatvokra 1 s x = 0 esetn 0.
tankonyvtar.bme.hu 93
3.
Legyen
2vvT
vT v
C=C
2vvT
vT v
C=C+v
2vT C
vT v
= C + vwT
=:wT
kplettel rdemes szmtani a jval tbb mveletet ignyl tnyleges mtrixszorzs helyett.
mtrixot, amely az
vektorhoz tartoz)
Householder10 -tkrzsnek
vektort az
e1
egy-
zel a
x vektorra gy v = x x 2 e1
vektorral kpezzk a
vektorhoz tbb
Householder-mtrix is ltezik. Householder-tkrzsekkel knnyen elllthat egy teljes oszloprang mtrix QR-felbontsa.
RR
mn
A = QR .
Q Rmm
H1 az A(1 : m, 1) oszlophoz tartoz Householder-tkrzs. Ekkor A(2) := H1 A (2) els oszlopnak 2 : m elemei nullk. Legyen H2 az A (2 : m, 2) oszlophoz tartoz Householder(3) mtrix. Legyen tovbb H2 = diag(1, H2 ). Ekkor A := H2 A(2) els oszlopnak 2 : m elemei ill. msodik oszlopnak 3 : m elemei nullk. A teljes rang miatt az eljrs tovbb folytathat. gy
a
Hn H1 A = R
ellltst nyerjk, ahol a fenti jellsekkel
R fels A = QR .
hromszgmtrix. A
QT := Hn H1
mtrix ortogonlis, gy
vektornak az az
vektor, melyre
x =
sin cos
x.
=:G
G -val. Knnyen ellenrizhet, hogy ez a mtrix ortogonlis. G mtrix milyen szg esetn visz egy ktelem x oszlopvektort olyan vektorba, melynek msodik eleme nulla, azaz milyen G mtrixszal lesz
Jelljk a forgatsi mtrixot Vizsgljuk meg, hogy a
= G
3.8.
A QR-felbonts
x2 = 0 ,
akkor
x2 = 0,
akkor az
sx1 + cx2 = 0, s2 + c2 = 1 s= x2 x2 1 +
egyenletrendszer megoldsbl
x2 2
, c=
x1 x2 1 + x2 2
addik. sszefoglalva teht, brmely ktelem vektor megszorozhat gy egy ortogonlis mtrisszal, hogy az eredmnyvektor msodik eleme nulla legyen. Trjnk t most a tbbdimenzis esetre. Milyen ortogonlis mtrixsszal szorozzunk meg egy adott s az
x Rm
i-edik
j -edik
(j = 2, . . . , m),
< j )?
A ktdimenzis esetet
ltalnostva knnyen addik a vlasz. A keresett mtrixnak az albbi alaknak kell lennie.
1
.. .
c 1
.. .
1 s c
.. .
Rmm , 1
(3.8.1)
ahol az
rtkek az
i-edik
ill.
x vektor xi
j.
j -edik
i.
x Rm
j -edik (j = 2, . . . , m 1)
i-edik
elem
A Givens
-forgats nem egyrtelm, azaz egy adott vektor adott kt elemhez tbbfajta, a
feltteleknek megfelel mtrix is megadhat. Egy teljes oszloprang mtrix QR-felbontsa elllthat Givens-forgatsok segtsgvel is. Elszr megkeressk az els oszlophoz tartoz szorozzuk a mtrixot. Ekkor a mtrix az els oszlop
(m 1, m)
m-edik
(m 2, m 1)
oszlopban az els elem kivtelvel minden elem lenullzdott. Ezutn folytatjuk az eljrst a msodik oszloppal, kinullzva az oszlopban a ftl alatti elemeket. Stb. Az egyes lpsek nem rontjk el a korbban lenullzott elemeket. Az eljrs vgn egy fels hromszgmtrixot kapunk, ez lesz az
Q mtrix.
3.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Ahogy lttuk, a QR-felbontst hromflekppen is el tudjuk lltani: Gram-Schmidt ortogonalizcival, Householder-tkrzsekkel s Givens-forgatsokkal. Vajon ezek ugyanazt a felbontst lltjk el? Ezt vizsglja az albbi ttel.
3.8.6. ttel.
Egy teljes oszloprang mtrix esetn a reduklt QR-felbonts egyrtelm, ha megkveteljk, hogy
Ha
R1
Q1 = A
R1 , azrt 1
Q1
AT A
mt-
is egyrtelmen
2n2 (m n/3)
3n2 (m n/3)
op. gy
azt mondhatjuk, hogy a Hoseholder tkrzsek alkalmazsa ltalban gyorsabb, mint a Givensforgatsok. A Givens-forgatsok elnye viszont abban ll, hogy segtsgkkel elemenknt tudjuk lenullzni az eredeti mtrix elemeit. Pl. fels Hessenberg mtrixok QR-felbontsnl ez nagyon praktikus, hiszen csak a szubdiagonl elemeit kell lenullznunk. Sematikusan ez a kvetkez mdon tehet meg, az Givens-forgatst:
i-edik
lpsben az
i-edik
(i, i + 1)
index
0 0
0 0 0 0
0 0 0 0
0 0 0 0 0
0 0 0
A QR-felbontst a kvetkez fejezetben tlhatrozott lineris egyenletrendszerek megoldsra fogjuk hasznlni. Tovbbi alkalmazsval a sajtrtkmeghatrozsi mdszereknl fogunk majd tallkozni.
3.9.
a ngyzetes mtrix egyenletrendszereket is, azaz azt az esetet, amikor ugyanannyi egyenlet van mint ismeretlen. Az egytthatmtrixrl feltesszk tovbb, hogy teljes oszloprang. sszefoglalva teht az
Ax = b, A Rmn , m n, r(A) = n b
el-
Ismert, hogy a fenti lineris egyenletrendszernek vagy csak egy megoldsa van (ha
oszlopvektoraival) vagy nincs megoldsa (ha nem ll el). Ha van megolds, akkor azt a
Gauss-mdszerrel hatrozhatjuk meg, hasonlan ahhoz az esethez, amikor az egytthatmtrix invertlhat ngyzetes mtrix volt. Gauss-transzformcik s esetleges sorcserk segtsgvel az llni. Ha most a
mtrixot fels hromszg alakra hozzuk, melynek ftljban nulltl klnbz elemek fognak pedig nullvektor, akkor az egyrtelm megolds egyszer visszahelyettestssel addik. A fentiek alapjn ltalban azt mondhatjuk teht, hogy egy tlhatrozott lineris egyen-
letrendszernek nincs megoldsa. Hasznos azonban a megolds fogalmt egy kicsit kiterjeszteni. Nevezzk egy tlhatrozott lineris egyenletrendszer esetn legkisebb ngyzetek (angolul least square, rvidtve LS) rtelemben legjobb megoldsnak, rviden LS-megoldsnak, azt az vektort, melyre Legyen
Ax b
2 2 a lehet legkisebb.
x Rn
(x) = Ax b 2 , 2
Az = 0),
(x + z) = A(x + z) b = Ax b = Ax b
2 2 2 2
2 2
+ 2 Az
2 2
2 2
+ Az
Az
2 2
AT Ax = AT b
n. normlegyenlet megoldsa (
(3.9.1)
AT A
xLS . Ekkor
2 2
(xLS + z) = AxLS b
akkor legyen
+ 2 Az
2 2
= (xLS ) + 2 Az 2 . 2 -t.
Ha
=1
z = y xLS , azaz
2 2
= (xLS ),
y = xLS .
LLT
A A
T
(m + n/3)n2
op. tankonyvtar.bme.hu 97
3.
A = QR az A mtrix QR-felbontsa. Az Ax b
2 2
= QR x b
2 2
= QT (QRx b)
2 2
2 2 2 2
az
= Rx QT b
egyenlsg miatt, ahol
= R1 x c
2 2
+ d
Kpezzk az
A mtrix QR-felbontst.
R1 = R(1 : n, 1 : n)
mtrixot.
Meghatrozzuk az Meghatrozzuk a Az
xLS
LS-megolds az
Az eljrs mveletignye:
2(m n/3)n2
3.9.1. megjegyzs.
m >> n
tesnek. esetn a QR-felbontsos megolds mveletszma kb. ktszerese a normlegyenle-
4n3 /3,
ami a Gauss-
mdszer ktszerese. Viszont ha a memriakezelst is gyelembe vesszk, akkor a teljes futsi id sszemrhet a Gauss-mdszerrel, st stabil is, hiszen nincs nvekedsi faktor.
Ranghinyos vagy kzel ranghinyos esetben ezek a mdszerek nem hasznlhatk. A normlegyenletre alkalmazhat a konjuglt gradiens-mdszer, de akkor az j rendszer kondciszma az eredeti ngyzete lesz. Ha
A Rnn ,
akkor
xLS = A1 b,
megoldsa.
sparse
a MATLAB-bal, hogy egy mtrix ritka. Ebben az esetben a mtrix szerkezetnek megfelel meg-
3.10.
>> A=[2,-1;-1,2]; B=[1;1]; b=[1;1]; % A mtrixok megadsa. >> A\b, B\b % Az egyenletrendszer s a tlhatrozott egyenletek megoldsa. ans = 1.00000000000000 1.00000000000000 ans = 1.00000000000000 >> chol(A) % Cholesky-felbonts ans = 1.41421356237310 0 -0.70710678118655 1.22474487139159
>> [L,U,P]=lu(A) % Az ltalnos LU-felbonts meghatrozsa. L = 1.00000000000000 -0.50000000000000 U = 2.00000000000000 0 P = 1 0 0 1 -1.00000000000000 1.50000000000000 0 1.00000000000000
-0.70710678118655 0.70710678118655
3.
-1.41421356237310 0
n n-es
lineris egyenletrend-
szerre, melyre vgigfut a mdszer. Figyeljk meg, hogy az egytthatmtrixot az eljrs elejn kibvtjk a jobb oldali vektorral, gy vgig az egytthatmtrix elemeiknt tudunk minden elemre hivatkozni. Az eljrs vgre az egytthatmtrix tartalmazza az LU-felbonts mtrixait, utols sorban pedig a megoldst.
function [U,L,x]=gaussmodszer(A,b) % A: egytthatmtrix, b: jobb oldal n=max(size(A)); A=[A,b]; for k=1:n-1 for i=k+1:n A(i,k)=A(i,k)/A(k,k); A(i,k+1:n+1)=A(i,k+1:n+1)-A(i,k)*A(k,k+1:n+1); end; end; for j = n:-1:2, A(j,n+1)=A(j,n+1)/A(j,j); A(1:j-1,n+1)=A(1:j-1,n+1)-A(j,n+1)*A(1:j-1,j); end; A(1,n+1) = A(1,n+1)/A(1,1); U=triu(A(:,1:n)); L=A(:,1:n)-U+eye(n); x=A(:,n+1);
A Cholesky-felbontst egy szimmetrikus, pozitv denit mtrixra az albbi mdon lehet ellltani. Ebben a mdszerben az eljrs a mtrix als hromszg rszt rja t a Cholesky-felbonts
G mtrixv.
function [G]=choleskyfelbontas(A) % A: poz. def. szimm. matrix n=max(size(A)); for k=1:n if k>1 A(k:n,k)=A(k:n,k)-A(k:n,1:k-1)*(A(k,1:k-1))'; end; A(k:n,k)=A(k:n,k)/sqrt(A(k,k)); end; G=tril(A);
3.11.
Feladatok
3.11. Feladatok
Kondciszm 3.11.1. feladat. Igazoljuk, hogy tetszleges regulris
A Rnn
mtrix esetn
A Rnn
1-esek, "alatta" nullk, s a ftlban 1-esek llnak. Szmtsuk ki a mtrix determinnst s a kondciszmt maximumnormban! 3.11.3. feladat. Igazoljuk, hogy regulris 3.11.4. feladat. Legyen
A Rnn
mtrix. Igazoljuk, hogy tetszleges induklt norma esetn segtsgvel adjunk als becslst az
A=
mtrix maximumnormabeli kondciszmra! 3.11.5. feladat. Igazoljuk, hogy ha
1.01 1
1 1
= B
2 s
2 (A) = 2 (B)!
3.11.6. feladat. Ismert, hogy egy mtrix spektrlsugara becslhet a mtrix tetszleges induklt normjval. Igazoljuk ennek segtsgvel, hogy tetszleges s hogy tetszleges invertlhat
A mtrix esetn
2 (A)
A mtrixra A
2 2
1 (A) (A) !
Gauss-mdszer, LU-felbonts, Cholesky-felbonts 3.11.7. feladat. Vizsgljuk meg, hogy mekkora a mveletszma a GaussJordan-elimincinak egyenletrendszer megoldsa s inverz szmtsa esetn! 3.11.8. feladat. Ha egy fels Hessenberg-mtrixra alkalmazzuk a Gauss-mdszert, akkor gyelembe vehetjk, hogy a ftl "alatt" csak a kzvetlenl a ftl alatti elemek klnbznek nulltl. Mekkora lesz az ilyen mtrixok LU-felbontsnak mveletszma? Mit mondhatunk az s kerl egy egyenletrendszer megoldsa? 3.11.9. feladat. Oldjuk meg az
L U mtrixok szerkezetrl? Ha mr a mtrix LU-felbontsa elkszlt, akkor mennyi mveletbe Ax = b lineris egyenletrendszert a Gauss-mdszer segtsgvel
4 16 , 64 256 x1 x x = 2 , x3 x4 2 10 b= 44 . 190
tankonyvtar.bme.hu 101
1 1 A= 1 1
2 3 4 9 8 27 16 81
3.
Adjuk meg az
A mtrix LU-felbontst! Az A mtrix inverze a MATLAB jellseit hasznlva A mtrix maximumnormabeli kondciszmt!
3 3-as aij = 1,
Hilbert-mtrix LU-
inv(A)=[4,-13/3,3/2,-1/6;-3,19/4,-2,1/4;4/3,-7/3,7/6,-1/6 ;-1/4,11/24,-1/4,1/24].
Szmtsuk ki az
3.11.10. feladat. Kzi szmols segtsgvel hatrozzuk meg a felbontst! 3.11.11. feladat. Tekintsk azt az
A Rnn
mtrixot, melyre
A-nak
ha
i=j
vagy
van LU-felbontsa,
j = n, |lij | 1, s
3 A = 1 0
0 3 1
0 0 . 3
Diagonalizlhat-e ez a mtrix? Vlaszunkat indokoljuk! Hatrozzuk meg a mtrix LU-felbontst! 3.11.13. feladat. Tekintsnk egy olyan lineris egyenletrendszert, melynek mtrixban csak az els oszlopban, az els sorban ill. a ftlban vannak nemnulla elemek. Mi trtnik a mtrixszal a Gauss-mdszer alkalmazsa sorn? Adjunk javaslatot a jelensg elkerlsre! 3.11.14. feladat. Legyen
2 A= 1 3
s tekintsk az
Ax = b
vlasztssal, ngyjegy mantisszval szmolva! 3.11.15. feladat. Oldjuk meg az egyenletrendszert a Gauss-mdszerrel teljes felemkivlasztssal s anlkl, ngyjegy mantisszt hasznlva! Mekkora a kt megolds eltrse maximumnormban?
= 59.17 = 46.78
Ax = b egyenletrendszert, ahol A=
34 55 55 89 , b= 21 34 .
r = b Ax maradkvektort az x = [0.11, 0.45]T vektorral kiszmtva r = [0.01, 0]T , T T mg az x = [0.99, 1.01] vektorral r = [0.89, 1.44] . A megolds melyik x kzeltse pontosabb? Adjunk als s fels becslst egy x kzelts megoldstl val eltrsre a maradkvektor
Az segtsgvel! Ellenrizzk a becslst az adott egyenletrendszeren! 3.11.17. feladat. Oldjuk meg a
hogy csak 4 szmjegy mantisszval dolgozhatunk! Mit tapasztalunk? Segt-e a rszleges felemkivlaszts? Szorozzuk be az els egyenletet Fogalmazzuk meg tapasztalatainkat! 102 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
3.11.
Feladatok
3.11.18. feladat. Hatrozzuk meg, hogy lebegpontos szmokat hasznlva mekkora lesz az oszts mvelet abszolt hibja (|(x /
y) (x/y)| =?)!
ill.
LDLT
B mtrix LDLT
2 1 1 2 .
B=
A R44 szimmetrikus mtrix LU-felbontst tartalmazza gy, hogy a ftl "alatti" rsz az L mtrix megfelel ftl alatti rszt tartalmazza, a tbbi elem pedig az U mtrix megfelel eleme. Ltezik-e az A mtrixnak Cholesky-felbontsa? T 4 Ha igen, akkor adjuk meg a G mtrixot (A = GG )! Adjuk meg azt az x R vektort, melyre T Ax = [1, 0, 0, 0] !
3.11.21. feladat. Az albbi mtrix egy
2 3/2 1 2
4 3 3 1/7
Itercis egyenletrendszer-megolds, gradiens-mdszerek 3.11.22. feladat. Mely itercis mdszerrel oldhat meg a
2x y = 1 x + 2y = 3
lineris egyenletrendszer? Mely
rtkt gy, hogy a konvergencia a lehet leggyorsabb legyen! A SOR mdszer esetn milyen
rtkeket, s vizsgljuk meg szmtgp segtsgvel a konvergencia sebessgt! 3.11.23. feladat. Adjunk becslst arra, hogy az elz feladatban a Jacobi-mdszert hasznlva, kezdvektorrl indulva hny iterci szksges ahhoz, hogy a megoldst
az
x0 = [1, 1]T
106 -nl
x + 5y 2z = 3 x + y 4z = 9 4x y + 2z = 8
egyenletrendszert valamilyen itercis mdszerrel! 3.11.25. feladat. Az ahol
Ax = b
x(k+1) = (E hA)x(k) + hb
h
konzisztens itercit,
B=
2 1
1 2
tankonyvtar.bme.hu 103
3.
Bx = [1, 1]T
lineris egyenlet-
rendszert. Vgezznk el kt itercis lpst a nullvektorrl indulva, s becsljk meg, hogy hny itercis lps lenne szksges ahhoz, hogy a kapott kzeltsnek a maximumnorma-beli eltrse a pontos megoldstl
106 -nl
kisebb legyen! s
x0 = 1 xk =
x20 = 0
3 2
Hogyan vlasszuk meg
1 4
x1 x2
2 1
hogy a nulvektorrl indulva a leggyorsabb mdszerrel mennyit kellene iterlni, hogy a megoldst
106 -nl
1 1/2
a
1/2 1
x=
1 1
.
jobban megkzeltse a sorozat 2-es
Adjunk fels becslst arra, hogy hny itercis lpst kellene elvgeznnk a gyorsabb mdszerrel
[0, 0]T
106 -nl
normban!
4x + 2y = 7 2x + 3y = 10
lineris egyenletrendszerre! Householder- s Givens-transzformcik. QR-felbonts. Tlhatrozott rendszerek. 3.11.32. feladat. Keressk meg azt a Householder-mtrixot, amellyel a esetn? 3.11.33. feladat. Megegyezhet-e egymssal egy Householder-tkrzs s egy Givens-forgats mtrixa? 3.11.34. feladat. Szorozzuk meg a
[2, 6, 3]T
2 A= 6 3
0 2 1
1 0 0 , B = 1 1 0
0 3 3 , C = 3 2 0
3 5 0
0 0 6
3.11.
Feladatok
mtrixok Householder QR-felbontsait! 3.11.36. feladat. Kpezzk a fenti Hny Givens-forgatsra van szksg? 3.11.37. feladat. Az albbi tblzat nyolc skbeli pont koordintaprjait tartalmazza. Adjuk meg azt a legfeljebb harmadfok
p(x)
polinomot, melyre
8 i=1 (p(xi )
yi )2 6 135
minimlis lesz! b-
xi yi
4 35.1
2 15.1
1 15.9
0 8.9
1 0.1
3 0.1
4 21.1
y ) mrtnk, ill. ezek klnbsgt s sszegt. Az eredx = a, y = b, xy = c s x+y = d. Oldjuk meg ezt a tlhatrozott egyenletrendszert!
1 10k 0
tlhatrozott egyenletrendszert felbontst hasznlja) s az sonltsuk ssze az eredmnyt!
1 0 10k
x y
k = 6, 7, 8 esetn elszr papron szmolva, majd az A\b (QR(A A)\(A b) utastsokkal (Cholesky-felbontsos megolds). Ha-
Ellenrz krdsek
1. Hogyan rtelmezzk a mtrixok kondciszmt? 2. Hogyan fgg egy lineris egyenletrenszer megoldsnak hibja az egytthatmtrix s az egyenlet jobb oldalnak hibjtl? 3. Ismertessk a Gauss-mdszert, s adjuk meg mveletszmt! 4. Milyen mtrixok esetn fut vgig a Gauss-mdszer elakads nlkl? 5. Mi az az inga-mdszer? 6. Hogyan lltjuk el egy mtrix LU-felbontst, s mire lehet ezt hasznlni? 7. Mirt van szksg felemkivlasztsra, s hogy hajtjuk ezt vgre? 8. Mi az a Cholseky-felbonts? 9. Milyen mtrixok esetn rdemes egy lineris egyenletrendszert itercis mdszerrel megoldani? 10. Hogy nz ki ltalnosan egy itercis mdszer? 11. Ismertessk a Jacobi- s GaussSeidel-itercikat! 12. Mitl fgg egy itercis mdszer konvergencijnak sebessge? 13. Mit jelent a relaxls mdszere? tankonyvtar.bme.hu 105
3.
14. A SOR mdszer szimmetrikus, pozitv denit mtrixokra milyen relaxcis paramter esetn lesz konvergens? 15. Hogyan alakthat t egy lineris egyenletrendszer megoldsa varicis feladatt? 16. Ismertessk a gradiens-mdszert s tulajdonsgait! 17. Ismertessk a konjuglt gadiens mdszert s tulajdonsgait! 18. Mi az a Householder-tkrzs s Givens-forgats? 19. Hogyan llthat el egy mtrix QR-felbontsa? 20. Mit jelent, hogy egy egyenletrendszer tlhatrozott? Hogyan lehet egy tlhatrozott egyenletrendszert megoldani?
mtrix, azaz
felrhat
A = VDV1
alakban, ahol
p vektornormban,
A sajtrtke
min
V1 (A + A E)V = D + V1 AV E
1 Friedrich Ludwig Bauer (1923-), nmet matematikus.
107
4.
x = 0 vektor, mellyel
(D E + V1 AV)x = 0.
azaz
x = (D E)1 V1 AVx. x
p
gy
(D E)1
V1
hanem a diagonalizl mtrix (a sajtvektorok mtrixa) kondciszma hatrozza meg. Ez specilisan azt jelenti, hogy mivel a szimmetrikus mtrixok ortogonlis mtrixokkal diagonalizlhatk, s az ortogonlis mtrixok 2-es normja 1, szimmetrikus mtrixokra a
s..-e
min
A-nak
| | A Hn
megoldsakor rosszul, viszont sajtrtk-feladatok esetn jl kondicionlt, hiszen a sajtrtkek maximum akkort vltozhatnak, mint a perturbl mtrix 2-es normja.
Av v
4.2.1. plda.
Hilbert-mtrix,
tegyk
fel,
hogy
vT
1 1/2 1/3 0.82694986 1.16473138 0.82694986 1/2 1/3 1/4 0.45995562 = 0.64764625 0.45995562 , 1/3 1/4 1/5 0.32341112 0.45532108 0.32341112
4.2.
1 = 1.40846675, 2 = 1.40806247, 3 = 1.40787084, vagy vehetjk ezek 4 = 1.40813335 rtket ad. Ez utbbi rtk 1.85576699.104 -nel tr csak el jtrtktl ( = 1.40831893).
Adhatunk-e az elz pldban nyert rtknl jobb kzeltst a sajtrtkre? Pl. az egyenlsget balrl meg ezt a kzeltst az elz pldn.
v 4.2.2. plda. A fenti pldban adott sajtvektor-kzeltssel kiszmtva a vT Av/( T v) = 1.40831889 3.87698300.108 , amely sokkal
hnyadost addik. Ennek a pontos sajtrtktl val eltrse csak kisebb, mint az elz pldban nyert kzelt rtk.
Lthat teht, hogy ez a msodik kzelts sokkal pontosabb, mint az els. Ennek okt az albbi ttel vilgtja meg.
4.2.3. ttel.
Legyen adva az
0 = x Rn
vektor s az
A Rnn
2 2
mtrix. Ekkor
min Ax x
R
ahol
= Ax R(x)x 2 , 2
R(x) =
xT Ax . xT x
Ax x
2 2
Mivel
xT Ax = R(x) xT x
A Rnn . Ekkor az
R(x) =
xT Ax xT x
hvjuk.
szmot az
A ttel szerint teht 2-es normban egy vektor Rayleigh-hnyados-szorosa lesz legkzelebb szmszorosai kzl az
tankonyvtar.bme.hu 109
4.
4.2.5. megjegyzs.
Ez utbbi llts az n. CourantFischer-ttel. Az elzek alapjn teht, ha van egy kzeltsnk a sajtvektorra, akkor a Rayleigh-hnyados segtsgvel kaphatunk j becslst a sajtvektorhoz tartoz sajtrtkre. Ha a Rayleigh-hnyados az
R(x) = xT Ax
x normja 1, akkor
alakra egyszersdik.
4.2.1. A hatvnymdszer
A hatvnymdszer alaptlete a kvetkez. Legyen hogy a mtrixnak van egy egyszeresen dominns mellyel a tbbi (2 , . . . , n ) sajtrtkre igaz a
A Rnn
sajtrtk,
|1 | > |2 | . . . |n | 1 R, tovbb a hozz tartoz v1 sajtvektor valsnak A mtrix normlis. Ekkor a mtrixnak van ortonormlt sajtvekn torrendszere. Legyen ez v1 , . . . , vn . Legyen x R olyan, hogy az x = 1 v1 + 2 v2 + + n vn T ellltsban 1 = v1 x = 0 (1 R). Ekkor
egyenltlensg. Ebben az esetben nyilvn vlaszthat. Tegyk fel, hogy az
Ak x = 1 k v1 + 2 k v2 + + n k vn 1 2 n
= k 1 v1 + 2 1 2 1
0
A jellt tagok
v2 + + n
n 1
0
vn .
nvelsvel
v1
Ak x vektor k
1, akkor az gy nyert vektorok hossza vagy nullhoz, vagy vgtelenhez fog tartani,
gy alul- vagy fellcsorduls lphet fel amikor szmtgpen hajtjuk vgre az itercit. Emiatt az egyes lpsek utn a keletkez vektort clszer normlni. gy jutunk el a hatvnymdszerhez, melynek algoritmusa a kvetkez.
Hatvnymdszer,
for k := 1 : kmax x(k) := Ay(k1) y(k) := x(k) / x(k) 2 (k) := (y(k) )T Ay(k) end for
A
A normlis, y(0) do
vT y(0) = 0, y(0) 1
=1
(k)
sra is. Pl. ha rtke mr egy adott toleranciaszintnl kevesebbet vltozik, akkor lellthatjuk az 110 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
4.2.
itercit. A hatvnymdszer (angolul power method) nyilvnvalan onnt kapta a nevt, hogy az ttel azt mutatja, hogy a fenti algoritmus valban a vrt eredmnyt szolgltatja.
y(0) vektort az A mtrix egyre nagyobb hatvnyaival szorozzuk meg az eljrs sorn. A kvetkez 4.2.6. ttel.
A fenti algoritmusban
y(k) =
(k) 1 (k ),
tovbb ltezik olyan
Ak y(0) , Ak y(0) 2
sorozat, hogy
{k } R
|k | = 1 (k = 1, . . . )
k y(k) v1 .
Bizonyts. A ttel els lltsa teljes indukcival egyszeren igazolhat. A harmadik lltshoz a Parseval-egyenlsget fogjuk hasznlni, mely szerint ha
x = 1 v1 + . . . + n vn ,
ahol
v1 , . . . , vn
n i=1
|i |2 .
Ez az
xH x =
i=1
Legyen teht hogy
i vH i
i=1
i vi
=
i=1
|i |2 .
(0)
= 1 v1 + 2 v2 + + n vn , k 1 v1 + 2 1
2 1 k
1 = 0.
gy
y(k) =
v2 + + n
|i |2 |i |2k
n 1
vn vn
.
k 1 v1 + 1 =
2 1
2 1
n i=1 k
v2 + + n 1
n 1
|1 |k |1 | 1 +
Teht
n i 2 i 2k i=2 | 1 | || 1 |
=:k
|1 | |1 | (k) y = k 1 1
ahol
v1 + 2 1
2 1
v2 + + n 1
n 1
vn
1+
n i 2 i 2k i=2 | 1 | || 1 |
v1 ,
hatrrtkbl, mellyel
esetn
4.
Ha Ha Ha Ha
1 , 1 > 0,
akkor
y(k) v1 .
y(k) v1 . (1)k y(k) v1 . (1)k+1 y(k) v1 .
4.2.8. megjegyzs.
elegenden nagy
Legyen
rtkekre
e(k) = y(k) v1 a sajtvektor k-adik kzeltsnek hibja. Ekkor e(k+1) 2 |2 /1 | e(k) 2 , ami a lineris konvergencin kvl azt
|2 /1 |
hnyados hatrozza meg a konvergencia sebessgt.
A hatvnymdszer konvergencijt az egyszersg kedvrt csak normlis mtrixok esetn igazoltuk, de az eljrs alkalmazhat pl. diagonalizlhat mtrixok esetn is. Termszetesen az a felttel, hogy
mtrixnak lehetnek kpzetes rsszel rendelkez sajtrtkei is, melyek konjugltja is sajtrtk lesz, gy nem sok esly van arra, hogy egyszeresen dominns sajtrtke legyen a mtrixnak. Ha viszont a mtrix szimmetrikus, akkor annak eslye, hogy a dominns sajtrtk tbbszrs lesz, kicsi. gy a tovbbiakban mindig feltesszk, hogy az a mtrix, melynek a sajtrtkeit s sajtvektorait keressk, szimmetrikus.
106
powmeth.m
kezdvektorral s
3.97765118.
4.2.10. megjegyzs. A hatvnymdszer alkalmazshoz eddig feltettk, hogy az y(0) kezdT (0) vektor olyan, hogy v1 y = 0, azaz hogy a kezdvektornak van az els sajtvektor irnyba
es komponense. Hogyan biztosthat ez, ha nem ismerjk a sajtvektorokat? Szerencsre a gyakorlatban a
vT y(0) = 0 1
teljesl a felttel, a kerektsi hibk miatt az iterci sorn lesz az itercis vektornak komponense, s azzal mr elindul az iterci.
v1
irny
(i = 1, . . . , n).
sajtvektorai en kzel van
(A E)1 . Ha elegendmegegyeznek A sajtvektoraival, sajtrtkei pedig (i ) 1 valamelyik j sajtrtkhez, akkor a dominns sajtrtk (j ) lesz, s az
Ha
sajtrtkekkel s
= i (i = 1, . . . , n),
akkor az
A E
vi
A Rnn
ortonormlt sajtvektorokkal
mtrix invertlhat, s
4.2.
(A E)1
vj
meghatrozhat. Az algoritmus
teht a kvetkez.
A szimmetrikus, y(0) 2 = 1 2 for k := 1 : kmax do (A E)x(k) = y(k1) megoldsa x(k) -ra y(k) := x(k) / x(k) 2 (k) := (y(k) )T Ay(k) end for
Inverz iterci, Az eljrst nyilvnvalan azrt hvjuk inverz itercinak, mert az mtrix inverzvel hajtjuk vgre a hatvnymdszert. Ha a legkisebb abszolt rtk sajtrtket tallja meg a mdszer. Termszetesen az inverz iterci sokkal nagyobb mveletigny, mint a hatvnymdszer, hiszen az elbbinl minden itercis lpsben meg kell oldanunk egy-egy lineris egyenletrendszert. A mveletszm cskkentsre jl alkalmazhat az LU-felbonts. Mivel minden itercis lps egyenletrendszerben az lpsben
2n3 /3 + O(n2 )
A E
2n2
op mveletre
van szksg. Fontos szrevtel, hogy mg a Rayleigh-hnyados segtsgvel sajtvektor kzeltsbl sajtrtket tudtunk kzelteni, addig, ha adott egy becsls egy sajtrtkre, akkor a hozz tartoz sajtvektort az inverz iterci segtsgvel tudjuk meghatrozni (termszetesen ekkor a sajtrtkbecsls is pontosodik).
Rayleigh-hnyados iterci,
for k := 1 : kmax do R(y(k1) ) kiszmtsa (A R(y(k1) )E)x(k) = y(k1) y(k) := x(k) / x(k) 2 end for
A szimm., y(0)
megoldsa
2 2
=1
x(k) -ra
Az algoritmus sorn minden lpsben egy j lineris egyenletrendszert kell megoldanunk. Cserbe gyorsabb konvergencit nyernk, nevezetesen a konvergencia harmadrend lesz. rdemes megjegyezni, hogy az iterciban attl fgg, hogy melyik sajtrtket s sajtvektort tallja meg a mdszer, hogy milyen kezdvektorrl indtjuk azt. A mdszer ltalban a kezdvektor ltal meghatrozott Rayleigh-hnyadoshoz legkzelebbi sajtrtkhez s a hozz tartoz sajtvektorhoz konvergl. Ha egy adott
rdemes elszr az inverz itercit alkalmazni, majd amikor mr elg kzel kerltnk a keresett sajtrtkhez, akkor ttrhetnk a Rayleigh-hnyados itercira. tankonyvtar.bme.hu 113
4.
4.2.11. megjegyzs.
A R(y(k1) )E
az itercis mtrixunk szingulriss vlik a szmtgpes eljrs sorn, az azt jelzi, hogy nagyon kzel vagyunk a keresett sajtrtket. Ez hasznlhat teht lellsi felttelknt.
A Rnn vals szimmetrikus mtrixnak minden sajtrtke abszolt rtkv1 sajtvektort (pl. a hatvnymdszer segtsgvel), akkor nhny
2
lesz a dominns sajtrtke, Ha mr meghatroztuk a mtrix szigoran dominns
gy azt a hatvnymdszerrel meg tudjuk hatrozni most mr az j mtrixra alkalmazva azt. Ez az eljrs addig folytathat, amg a kell szm sajtrtket meg nem hatroztuk. Ezt az eljrst
decinak 2
Householder-deci A Rnn mtrix szigoran dominns 1 sajtrtkt s a hozz tartoz euklideszi normban normlt v1 sajtvektort. Hatrozzuk meg ezutn azt a H Householder-tkrzsi mtrixot, mellyel Hv1 = e1 . Ekkor
Tegyk fel, hogy mr meghatroztuk az
HAH
mtrix teht a
HAH =
b A2
|2 | > |3 |,
A2 mtrix 2 -hz tartoz sajtvektort is, akkor hasonlan folytathatnnk a tbbi sajtpr meghatrozst, mint ahogy 1 s v1 segtsgvel meghatroztuk a 2 , v2 sajtprt. Az A2 mtrix 2 -hz tartoz sajtvektora knnyen meghatrozhat. Mivel
Ha most meg tudnnk mondani az
v2
A 2 E
sajtvektort, s a
2 -re
Hv2
sajtvektora a
HAH
mtrixnak
sajtrtkkel. Azaz
(Hv2 )(2 : n)
sajtvektora
A2 -
nek, szintn
Rangdeci A Rnn mtrix szigoran dominns 1 sajtrtkt T s a hozz tartoz normlt (euklideszi normban) v1 sajtvektort. Tekintsk az A 1 v1 v1 mtrixot. Ennek sajtrtkei megegyeznek A sajtrtkeivel azzal a klnbsggel, hogy 1 helyett
Tegyk fel ismt, hogy meghatroztuk az
4.3.
A Rnn
1, . . . , m)
mtrixok (
A11 , . . . , Amm
A=
Akl (k, l =
A1m
. . . . . . . . .
Amm
A blokk als hromszgmtrix hasonlan denilhat. Ha egy mtrix blokk hromszgmtrix alak, akkor a sajtrtkei a diagonlisban szerepl
A11 , . . . , Amm
m = 2,
mtrixok sajtrtkeinek
unijaknt addnak. (Ez knnyen igazolhat a karakterisztikus polinom vizsglatval.) gy a sajtrtk-meghatrozst visszavezethetjk kisebb mret mtrixok sajtrtkeinek meghatrozsra. Klnsen gyakran alkalmazzuk az eljrst akkor, ha s
A22
A11 (n 1) (n 1)-es,
pedig egy
1 1-es
vgzett hasonlsgi transzformcikkal blokk hromszgmtrix alakra hozhat (lsd pl. 4.5.2. feladat).
A Rnn mtrixot A = STSH H alakban, ahol T fels hromszgmtrix s S unitr mtrix, akkor az S AS = T egyenlsg miatt A sajtrtkei megegyeznnek T diagonlis elemeivel. A f problmt az S unitr mtrix megkeresse jelenti. Direkt mdszerrel S ltalban nem hatrozhat meg. gy itercis mdszereket kell tallnunk, melyek az S mtrixot egy mtrixsorozat hatrrtkeknt lltjk el. Kt mdszert
ismertetnk most ennek megvalstsra. A tovbbiakban ismt vals szimmetrikus mtrixokkal foglalkozunk csak, gy a Schur-felbonts tulajdonkppen az az ortonormlt sajtvektorok mtrixa,
A = SST
4.3.1. A Jacobi-mdszer
S ortogonlis mtrixot s diagonlis mtrixot, melyekkel ST AS = . Az S mtrixot 2 2-es szimmetrikus mtrixokra knnyen meghatrozhatjuk. Legyen pl.
metrikus mtrix. Keresnk egy olyan A most ismertetend mdszert elszr Jacobi rta le 1845-ben.
3
Legyen
A=
(b
a b c s
b d s c
= 0)
s keressk az
S mtrixot S=
3 Elmleti eredmnyknt j darabig feledsbe merlt a mdszer. A szmtgpek elterjedsvel az 1950-es vektl kezdtk nagymret mtrixok sajrrtkeinek meghatrozsra hasznlni. Manapsg prhuzamosthatsga miatt npszer.
tankonyvtar.bme.hu 115
4.
alakban, ahol
s = sin
c = cos ,
valamilyen
paramterrel. (Az
c s s c =
2
a b
b d
c s
s c
s2 + c2 = 1.
a = d, akkor a cos(2) = 0 egyenlsgnek kell teljeslnie. Ezt s az s2 + c2 = 1 sszefggst felhasznlva s s c meghatrozhat. 2 2 Ha a = d, akkor tg(2) = 2b/(a d). Ebbl s az s + c = 1 sszefggsbl s s c ismt
meghatrozhat (lsd 4.5.8. feladat). Ezzel a
2 2-es
hasonlsgi transzformci sorn azt diagonlis mtrixba viszi. Nagyobb mret mtrixoknl azonban ez nehz feladat. A Jacobi-mdszer alaptlete az, hogy nagyobb mret mtrixok esetn is a
2 2-es
algoritmus a kvetkez.
Vlasszuk ki a mtrix ftlja felett a legnagyobb abszolt rtk elemet. Legyen ez az elem (i
aij
< j ).
S mtrixot az
aii aij aij ajj s
s
2 2-es
paramtereket.
Deniljuk az albbi
n n-es
ortogonlis mtrixot:
Sij = [e1 , . . . , ei1 , cei sej , ei+1 , . . . , ej1 , sei + cej , ej+1 , . . . , en ],
azaz
Sij =
1
.. .
c 1
.. .
1 s c 1
.. .
. 1
Az
A(1) = ST ASij ij
mtrixban az
aij
(1)
aji
(1)
S-t).
Azt mondjuk, hogy a fenti eljrssal vgrehajtottunk egy transzformcit. 116 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
(i, j)
4.3.
Ezutn visszalpnk az eljrs elejre jra kivlasztva a ftl felett a legnagyobb abszolt rtk elemet.
(i, j)
(j, i)
lenullzdnak, de egy kvetkez lps jra nulltl klnbzv teheti ket. Mutassuk meg, hogy az algoritmus valban a vrt eredmnyt adja! Ehhez igazolnunk kell, hogy az algoritmussal nyert
Sij
4.3.1. ttel.
Tegyk fel, hogy a fent ismertetett mdon vgrehajtottunk egy transzformcit. Ekkor az sebb lesz, mint az
A mtrix esetn.
A(1)
2a2 -tel ij
keve-
i-edik
(1)
s a
j -edik
l = i, j
(1)
= cali salj ,
(1) alj
(1)
(1)
(1)
(1)
(ail )2 + (ajl )2 = (cail sajl )2 + (cajl + sail )2 = (c2 + s2 )(ail )2 + (s2 + c2 )(ajl )2 = (ail )2 + (ajl )2
mdon lthat, a msik pedig hasonlan igazolhat. Szmtsuk ki most a ngyzetsszeg-vltozst a mtrix ftl feletti rszn:
(1)
(1)
ail
(1)
ajl
(1)
a2 + ij
l=i+1,=j
i1
ali
j1
alj
+
l=1
= a2 + ij
((ail )2 (ail )2 ) +
l=i+1 l=i+1
(1)
((alj )2 (alj )2 ) = a2 . ij
(ajl )2 (ajl )2
(1)
(1)
gy a teljes ftln kvli rsz ngyzetsszeg-vltozsa valban Legyen a ftln kvli elemeket tartalmaz mtrix a Ekkor
2a2 . ij
Bk
2 F
= Bk1
2 F
2(aij
(k1) 2
) Bk1
Bk1
2 F
n(n 1)
tankonyvtar.bme.hu 117
4.
= Bk1
gy
2 F
2 n(n 1) 2 n(n 1)
,
k
Bk
2 F
B0
2 F
Ez a becsls mutatja, hogy a mdszer konvergenciarendje legalbb egy (valjban msodrend). A Jacobi-transzformcikat vgrehajtva teht a mtrix ftln kvli elemei nullhoz tartanak. gy az
Sij
lpst vgrehajtva a ftln kvli elemek annyira lecskennek, hogy a ftlban megkapjuk a sajtrtkek kzeltseit a Gersgorin-ttelt alkalmazva.
4.3.2. megjegyzs. A legnagyobb elem kivlasztsa n(n1)/2 sszehasonltst jelent, ami sokig
tart. Ezrt inkbb az a szoks, hogy a ftl feletti rszen soronknt haladunk vgig a Jacobitranszformcikkal (azaz ilyenkor nem a legnagyobb abszolt rtk elemet vlasztjuk ki ez a mdostott Jacobi-mdszer). A tapasztalat szerint 5-szri vgighalads elg szokott lenni egy megfelel sajtrtk-kzeltshez.
4.3.3. megjegyzs.
s ignyel.
4n
szorzst
2n sszeadst ignyel, s n(n 1)/2 elemen 5-szr kell vgighaladni. Ez kb. 15n3
op mveletet
4.3.4. megjegyzs.
mdon kzelthet.
Ha egyms utn az
Si1 j1 , . . . , Sik jk
Jacobi-transzformcihoz, akkor a
Si1 j1 . . . Sik jk ej
4.3.5. megjegyzs.
4.3.2. QR-iterci
A mdszer alaptlete az, hogy az ortogonlis diagonalizl mtrixot az
A mtrix QR-felbontsnak
A adott mtrix, A(0) := A for k := 1 : kmax do (k1) (k1) Ksztsk el A QR-felbontst: A = Q(k1) R(k1) (k) (k1) (k1) A := R Q end for
Elszr is ltnunk kell, hogy az iterci
A
Teht
(k)
=R
(k1)
(k1)
= (Q
(k1) T
) Q
4.3.
A(k)
sajtrtkei megegyeznek
A sajtrtkeivel.
Minden lpsben szksg van egy QR-felbontsra. Ez elg kltsges eljrs, hiszen Householder-
szr a mtrixot Hessenberg-alakra transzformljuk hasonlsgi transzformci segtsgvel (hogy a sajtrtkek ne vltozzanak), majd pedig ezzel az j mtrixszal hajtjuk vgre a QR-itercit. Az iterci sorn a Hessenberg-struktra megmarad. A QR-felbontst gy minden lpsben Givensforgatsokkal hajtjuk vgre (3n elszr
H1 legyen az A(2 : n, 1) oszlophoz tartoz Householder-tkrzsi mtrix, majd H1 = 1 ), H2 . Legyen A(2) = H1 AH1 . Ezutn legyen H2 az A(2) (3 : n, 2) oszlophoz tartoz diag(1, H 2 ), s deniljuk az A(3) = H2 A(1) H2 Householder-tkrzsi mtrix, majd H2 = diag(1, 1, H (n) mtrixot. Hasonlan eljrva kapjuk n 1 lps utn az A = Hn1 . . . H2 H1 AH1 H2 . . . Hn1 3 Hessenberg alak, A-val hasonl mtrixot. Az eljrst, melynek mveletignye 4n /3 op, sematikusan az albbi mdon foglalhatjuk ssze:
Igazoljuk, hogy ha trt. Legyen
0 0
0 0
. 0
A egy fels Hessenberg-mtrix, akkor a QR-iterci megtartja ezt a strukA = QR fels Hessenberg-mtrix. Ekkor az A(1) = QT AQ = QT QRQ = RQ = RQRR1 = RAR1
mtrix is fels Hessenberg-mtrix, hiszen fels Hessenberg-mtrixok szorzata is fels Hessenbergmtrix lesz. Itt feltettk, hogy tegyk fel, hogy az eredeti
R,
azaz
Az ltalunk vizsglt szimmetrikus mtrixokra a Hessenberg alakra transzformlt mtrix egy szimmetrikus, tridiagonlis mtrix lesz. Egy ilyen mtrixszal kell ezutn vgrehajtani a QRitercit. A tovbbiakban feltesszk, hogy a QR-itercit mr mindig egy Hessenberg alakra hozott mtrixszal indtjuk. Az, hogy a kzljk.
Qk -val
jellt
Q(0) . . . Q(k1)
mtrix valban az
A-t
diagonalizl
mtrixhoz
4.3.6. ttel. (pl. QuarteroniSaccoSaleri [29], 202. oldal) nn Ha az A R mtrixnak minden sajtrtke vals s abszolt rtkben klnbz (|1 | >
|2 | > |3 | > > |n |),
akkor
lim A(k)
1 0 = . . . 0
a12 2
. . .
... a23
.. .
a1n ... . . . n
valamilyen megfelel Ha
aij
tankonyvtar.bme.hu 119
4.
4.3.7. megjegyzs.
lnbz.
fenti ttel olyan mtrixokra is vonatkozik, melyeknek minden sajtrtke abszolt rtkben k-
4.3.8. megjegyzs.
Igazolhat, hogy ha
A(k)
mtrixok szubdiagonlbeli
elemeire (a Hessenberg alak miatt csak ezek klnbzhetnek nulltl a ftl alatt)
|ai,i1 |
(k)
i i1
, i = 2, . . . , n.
Ez mutatja, hogy a QR-iterci konvergenciarendje lineris, s hogy a konvergenciasebessget az abszolt rtkben egymst kvet sajtrtkek hnyadosa hatrozza meg. Ha vannak abszolt rtkben egymshoz kzeli sajtrtkek, akkor lassan konvergl csak a mdszer.
4.3.9. plda.
Hatrozzuk meg QR-itercival a H6 Hilbert mtrix sajtrtkeit! lltsuk le akkor a QR-itercit, ha a ftln kvli elemeket tartalmaz mtrix maximumnormja mr csak legfeljebb 10 -szorosa a ftl legkisebb elem abszolt rtknek! A 16. iterci utn az albbi mtrixot nyerjk
1.6189 7.1945 1014 0 0 0 0 7.1945 1014 0.2424 0 0 0 0 2.0429 1016 3.2897 1017 1.6322 102 4.9 1025 0 0 4.8395 1017 4.3090 1017 1.4419 1017 6.1575 104 0 0 8.0718 1017 4.3450 1017 2.0930 1017 1.6031 1017 1.2571 105 0 1.1143 1017 4.8171 1017 1.2691 1017 5.3934 1018 9.3562 1018 1.0828 107
Figyeljk meg, hogy az iterci sorn abszolt rtkben cskken mdon kerlnek a sajtrtk-kzeltsek a ftlba. A legnagyobb abszolt rtk sajtrtkrl pl. a Gersgorinttelt alkalmazva azt mondhatjuk, hogy rtke az
inter-
vallumba esik (itt tbb tizedesjegyre pontosan rtuk ki a szmokat, mint a mtrixban).
Lttuk, hogy a QR-iterci elsrend mdszer sajtrtk meghatrozsra. A mdszer felgyorsthat az n. eltolt QR-iterci alkalmazsval. Az algoritmusban szerepl vlasztsnak mdjrl ksbb lesz sz.
rtkek meg-
Eltolt QR-iterci,
adott paramterek
for k := 1 : kmax do (k1) Ksztsk el A k1 E QR-felbontst: A(k1) k1 E = Q(k1) R(k1) (k) (k1) (k1) A := R Q + k1 E end for
Az eljrs valban mindig
4.4.
Sajtrtkszmts a MATLAB-ban
minden
k = 1, 2, . . .
esetn.
Az iterci sorn ha az utols sor utols eltti eleme kicsiv vlna, akkor a ftl utols eleme nagy pontossggal a mtrix sajtrtkt adn. Ezek utn mr elegend lenne csak a mtrix
(1 : n 1, 1 : n 1)
rtkekre
k = ann ,
(k)
azaz
elemt szoks vlasztani. Ekkor ugyanis, ha a ftl utols eleme kzelt egy
|(n k )/(n1 k )|
tartanak.
eigs
eig
hess
>> [V,L]=eig(A) % V: sajtvektorok mtrixa, L: sajtrtkek mtrixa V = 0.5000 0.7071 0.5000 L = 0.5858 0 0 0 2.0000 0 0 0 3.4142 -0.7071 0.0000 0.7071 -0.5000 0.7071 -0.5000
4.
0.2311 0.6068
0.8913 0.7621
0.0185 0.8214
>> [S,H]=hess(A) % Hessenberg alakra hozs parancsa (H=SAS^T) S = 1.0000 0 0 H = 0.9501 -0.6494 0 % ortogonlis mtrix 0 -0.3559 -0.9345 0 -0.9345 0.3559
Vgl kzlnk egy egyszer programot a hatvnymdszer megvalstsra. A program egyszer mdostssal trhat gy, hogy az inverz itercit vagy a Rayleigh-hnyados itercit hajtsa vgre. A programban
Ez utbbi azt jelenti, hogy ha kt egyms utni sajtrtk-kzelts kzelebb van egymshoz, mint ez az rtk, akkor lelltjuk az itercit. Az Ha
iter=kmax,
nu
a sajtrtk-kzelts.
function [y,nu,iter]=hatvanymodszer(A,kmax,toll); n=max(size(A)); y=(ones(n,1)); y=y/norm(y); nu=y'*A*y; err=1; iter=0; while err>toll & iter<kmax iter=iter+1; y=A*y; y=y/norm(y); nuold=nu; nu=y'*A*y; err=abs(nu-nuold); end;
4.5.
Feladatok
4.5. Feladatok
4.5.1. feladat. Igazoljuk, hogy az kikerlhetnek!
A
3 0
tsa nlkl), ill. adjunk meg egy lehetleg rvid intervallumot, amibl a
mtrix sajtrtkei
A = 0 4 1 ,
1 5
B= 2
1
2 1 7 0 0 5
4.5.2. feladat. A sajtrtkek kiszmtsa nlkl mondjuk meg, hogy hny nem vals sajtrtke van az albbi mtrixnak? (Alkalmazzunk hasonlsgi transzformcikat permutcis mtrixokkal!)
4 2 0.5 0.5 2
0 2 0 0 0.5
0 4 1 0.2 1
0.5 0 3 1 0 0 3 0 3 4
A=
2 1
1 2
, B=
2 1
9 2
mtrixokat. Becsljk meg, hogy ha ezen mtrixok msodik sornak els elemeihez 0.1-et adunk, akkor legfeljebb mennyivel trnek el az j mtrixok sajtrtkei az eredetiektl! Ellenrizzk az eredmnyt a MATLAB segtsgvel! (Hasznljuk a BauerFike-ttelt!) 4.5.4. feladat. Alkalmazzuk a hatvnymdszert az tkek:
2, 2 +
2, 2
2,
sajtvektorok:
Ay(20)
A = tridiag(1, 2, 1) mtrixra (sajtr [1, 0, 1]T , [1, 2, 1]T , [1, 2, 1]T ). lltsuk le a sz(20) lps utn. Becsljk meg 1 rtkt az y vektorral
vektor elemeit! Hasonltsuk ssze ezeket az rtkeket a
Rayleigh-hnyados ltal adott rtkkel! 4.5.5. feladat. Hatrozzuk meg az elz feladat mtrixnak legkisebb abszolt rtk sajtrtkt a korbbi program mdostsval, ha tudjuk, hogy rtke kb. 0.5! Hasznljuk az inverz itercit! 4.5.6. feladat. Hatrozzuk meg az
A = tridiag(1, 2, 1) R5050
kisebb abszolt rtk sajtrtkt s a hozzjuk tartoz sajtvektorokat. A legkisebb abszolt rtk sajtrtket ktflekppen is hatrozzuk meg! Elszr a mtrix inverznek s a hatvnymdszernek a hasznlatval, s msodszor azt az informcit hasznlva, hogy rtke kb. 0.003! Hatrozzuk meg a mtrix 1.1-hez legkzelebbi sajtrtkt! 4.5.7. feladat. Egy
A 4 4-es
A E mtrixra, hogy
szget, melyre teljesl
az az 1 kzeli sajtrtket s a hozz tartoz sajtvektort adja meg? 4.5.8. feladat. A Jacobi-itercis mdszernl keresnnk kell egy olyan a ctg(2)
= (d a)/(2b)
sin
cos
rtke-
+ 2ctg(2) tg 1 = 0
tankonyvtar.bme.hu 123
4.
sin
cos
rtkt kiszmtani?
5 5-s
Hilbert-mtrixra ill. az
A = tridiag(1, 2, 1) R5050
mtrixra szmtgp segtsgvel! 4.5.10. feladat. rjunk MATLAB programot a QR-itercis s eltolt QR-itercis sajtrtkmeghatrozsra, s hatrozzuk meg jra az
R5050
mtrix sajtrtkeit!
Ellenrz krdsek
1. Milyen kt nagy csoportja van a sajtrtk-meghatrozsi mdszereknek? 2. Ismertessk a hatvnymdszer mkdst! 3. Hogyan mdosthat a hatvnymdszer gy, hogy a dominns sajtrtkeken kvl ms sajtrtkeket is megtalljon? 4. Ha adott egy mtrix egyik sajtrtkre egy kzelts, akkor hogyan hatrozhatjuk meg a hozz tartoz sajtvektort? 5. Ha adott egy mtrix egyik sajtvektorra egy kzelts, akkor hogyan hatrozhatjuk meg a hozz tartoz sajtrtket? 6. Mi az a Rayleigh-hnyados, s milyen tulajdonsgai vannak? 7. Ismertessk a Jacobi-mdszert! 8. Ismertessk a QR-iterci lnyegt! Milyen mdszerrel lehet a konvergencijt felgyorstani?
intervallumfelezsi-, a hr-, a szel- s a Newton-mdszereket, valamint a xpont-itercis mdszereket, s megvizsgljuk ezen mdszerek tulajdonsgait.
Ax = b
ax = b
dsa komplikltabb. Egy bizonyos rszk explicit mdon knnyen megoldhat (ilyen polinom-, trigonometrikus-, exponencilis- vagy logaritmikus egyenletekkel tallkoztunk kzpiskolai tanulmnyaink sorn), de sok olyan egyenlet is van, amely nem ilyen. Pldul az az
x2 = 4 sin x
vagy
x = cos x
lynek meghatrozsra nincs megoldkplet (olyan kplet, ami az egytthatkbl megmondan a zrushelyeket), ezrt ezek megoldsa sem lehetsges ltalban explicit mdon. Ilyen polinom pldul az
x5 4x4 + x3 x2 + 4x 4 = 0
valamilyen ms egyszer mdszerrel nem alakthat szorzatt, gy nem lehet a zrushely keresst visszavezetni alacsonyabbfok polinomokira. Explicit megolds hinyban a nemlineris egyenletek megoldsra ltalban itercis mdszereket hasznlunk, melyek lnyege, hogy olyan sorozatot lltunk el, amely valamelyik megoldshoz konvergl. Azok a mdszerek, amelyeket be fogunk mutatni ebben a fejezetben, tbb szz vvel ezeltt keletkeztek. Ennek ellenre mgis fontos ket megismernnk, mert mg ma is ezeket a mdszereket hasznljuk nemlineris egyenletek megoldsra. Termszetesen ma mr a fradtsgos szmolsokat elvgzik helyettnk a szmtgpek, de pl. a nemlineris egyenletrendszerek megoldsa (fleg a legalbb hrom ismeretlent tartalmazk) mg mindig nehz feladat.
5.1.1. ttel.
Ha egy folytonos fggvny esetn
c (a, b),
melyre
f (c) = 0.
125
5.
Ez a ttel a Bolzano-ttel kzvetlen kvetkezmnye. Ha teht bizonyos pontokban kiszmtjuk a fggvnyrtkeket, s kt egymst kvet pontban ellenttes a fggvnyrtkek eljele, akkor a pontok kztt van zrushely. Ha azt is tudjuk mg, hogy a fggvny szigoran monoton az adott intervallumon (pl. derivlhat, s a derivltja nem vlt eljelet), akkor azt is tudjuk mr, hogy az adott intervallumban pontosan egy zrushely lesz. A gykk elklntsben segthet az is, ha az egyenlet kt oldaln szerepl fggvnyeket tudjuk kln-kln brzolni, mert akkor a kt grakon metszspontjainak abszcisszi adjk a megoldsokat. Ez a mdszer alkalmazhat pl. az
Ha polinomok zrushelyeit keressk, akkor hasznos tudni, hogy a vals zrushelyek melyik intervallumbl kerlhetnek ki egyltaln. Ezt a krdst vizsglja meg az albbi ttel.
5.1.2. ttel.
A
p(x) = an xn +. . .+a1 x+a0 (an , a0 = 0) polinom zrushelyei az orig kzep R = 1+A/|an | s r = 1/(1 + B/|a0 |) sugarak ltal meghatrozott krgyrben vannak, ahol A = max{|an1 |, . . . , |a0 |}, B = max{|an |, . . . , |a1 |}.
|p(x)| |an ||x|n |an1 ||x|n1 . . . |a1 ||x| |a0 | |an ||x|n A(|x|n1 + . . . + |x| + 1) = |an ||x|n A
Ha most
xk
|xk |n |an | +
A 1 |xk |
|xk | 1 +
A =R |an | R sugar
egyenltlensget kapjuk. Teht a zrushelyek a komplex szmskon az orig kzppont krn kvl nem helyezkedhetnek el. Az als becslshez legyen
x = 1/y . 1 y
Ekkor a polinom
p(x) = p =
= an
1 y
+ . . . + a1
1 y
+ a0
1 (an + . . . + a1 y n1 + a0 y n ) yn
5.1.
Nemlineris egyenletek
alakban rhat, ahol a zrjelben lv polinomra alkalmazhatjuk a fels korltra elbb bizonytott lltst. Mivel
p(x)-nek,
akkor
a0 = 0, gy a p(x) polinomnak a nulla nem zrushelye. Ezrt, yk = 1/xk zrushelye a zrjelben szerepl polinomnak, azaz 1 = |yk | 1 + B/|a0 |. |xk |
ha
xk
zrushelye
gy
|xk |
Ezt akartuk megmutatni.
1 = r. 1 + B/|a0 |
5.1.3. plda.
polinom
esetn
A=4
B = 4,
s gy a
A polinomok helyettestsi rtkt a Horner -mdszerrel lehet gyorsan szmolni. Ennek alaptlete a polinom
sszeads s
n(n + 1)/2
n-edfok
sszeads kell.
n-edfok
szorzs kell.
f (x) = d
megoldfggvnyt (f inverzt)
G.
Ekkor teht
x = G(d).
Ha a
G(d)
megoldfggvny dierenci-
(d) =
Ez mutatja, hogy ha
feladat. A rossz (j) kondicionltsg azt jelenti, hogy sokat (csak keveset) vltozhat a megolds rtke.
5.
f (x) = 0
, azaz
f (x ) = 0.
A nemline-
ris egyenletek megoldsi mdszereinek nagy rsze azon alapul, hogy a megoldshoz szemlletesen
fggvny grakonjnak s az
x-tengelynek
ht egy olyan sorozatot kell ellltanunk, amely a metszspont abszcisszjhoz tart. Ezeket a mdszereket geometriai mdszereknek nevezzk.
Intervallumfelezsi mdszer
Tegyk fel, hogy egy nyilvnvalan az feltesszk, hogy
f : [a, b] R folytonos fggvnyre teljesl, hogy f (a)f (b) < 0. Ekkor f fggvnynek legalbb egy zrushelye van az [a, b] intervallum belsejben. Itt f (a) negatv s f (b) pozitv. Ha nem gy lenne, akkor vizsgljuk a f (x) = 0 x-tengely metszspontjt, [a, b] intervallumot, majd
egyenletet, melynek nyilvn ugyanazok a megoldsai, mint az eredeti egyenletnek. Az n. intervallumfelezsi eljrs gy keresi meg a grakon s az hogy a felezpont segtsgvel kt rszintervallumra bontja az eredeti
ezen intervallumok vgpontjaiban megvizsglva a fggvny eljeleit megllaptja, hogy melyik rszintervallumba esik a metszspont. Ezutn ezzel az intervallummal vgrehajtjuk ugyanezt az eljrst, stb. A mdszert az 5.1.1. brn szemlltettk. Itt az gatv, gy az
x(0)
(0)
x(1)
ked (az eredeti intervallum harmadik negyedel intervalluma) intervallummal folytatjuk tovbb az itercit, stb. Az brn bejelltk, hogy az egyes lpsekben mely pontok jtsszk az vgpontok szerept.
Az albbi algoritmus az intervallumfelezsi eljrst hajtja vgre egy olyan folytonos fggvny esetn, melyre iterciszm elri a
f : [a, b] R
f (a) < 0
kmax
rtket, vagy az
algoritmus, ha az
a, b (a < b), toll, k = 0, kmax while k < kmax and b a > toll do x := a + (b a)/2
Intervallumfelezsi mdszer,
adott,
5.1.
Nemlineris egyenletek
f := f (x)
A konstrukcibl nyilvnval, hogy az eljrs ltal generlt sorozat tartani fog az az eljrs.
[a, b]
inter-
vallum valamelyik zrushelyhez. Ha tbb zrushely van, akkor valamelyiket biztosan megtallja Azt is fontos szrevenni, hogy a generlt sorozat nem monoton mdon tart ltalban a zrus-
x(1) . Emiatt az 1.3.1. denci rtelmben nem denilhat a mdszer konvergenciarendje. Jellje ek a k. k zelts hibjnak egy abszolt rtkben vett fels becslst. A e (0) = (b a)/2 nyilvnvalan j vlaszts, s gy e (k) = (b a)/2k+1 . Br a sorozat konvergenciarendjt nem tudtuk denilni, de az ltszik, hogy a hiba fels becslseinek sorozata elsrendben konvergens. Mivel e (k+1) = e(k) /2,
helyhez. Az 5.1.1. brn pldul az kzelts kzelebb van a zrushelyhez, mint gy a hibabecslsnk kb. hrom itercis lpsenknt javul egy nagysgrendet. Az
x(0)
(k)
= x(k) x
kmax =
ln((ba)/) ln 2
1,
akkor a
-nl
jobban megkzeltette a zrushelyet. Ms lellsi felttel lehet mg a mdszerhez az, hogy akkor lltjuk le az
5.1.6. megjegyzs.
itercit, ha
|f (x(k) )| toleranciaszint.
a s b kz es rtket ad, mg a msik nem. Ktjegy mantisszval dolgozva pl. (0.67 + 0.69)/2 = 1.36/2 1.4/2 = 0.7, ami nem esik a kt szm kz. Viszont 0.67 + (0.69 0.67)/2 = 0.67 + 0.02/2 = 0.67 + 0.01 = 0.68.
Hrmdszer
A most trgyaland hrmdszer s a ksbbi szel- ill. Newton-mdszerek az albbi ltalnos megfontolson alapulnak. Tegyk fel, hogy az
dierencilhat fggvny
zrushelyhez tart
tankonyvtar.bme.hu 129
5.
sorozatot szeretnnk ellltani. Tegyk fel, hogy a sorozat pontban sem nulla az
(k)
k -adik eleme x(k) , s hogy f (x) egyik sorba a fggvnyt az x megolds krl!
=0
f (x
ahol
(k)
) = f (x ) +f (k )(x(k) x ),
az
x(k)
x = x(k)
Azaz ha tudnnk Legyen
f (x(k) ) . f (k ) f (k )
rtkt minden lpsben kzeltjk.
qk
k -adik
lpsben az
f (k )
x(k+1) = x(k)
itercikat lehet hasznlni. A klnbz trgyaland mdszerek abban klnbznek, hogy hogyan hatrozzuk meg a ponton tmen A
qk
(x(k) , f (x(k) ))
s
qk meredeksg egyenes x-tengellyel alkotott metszspontja lesz. hrmdszer esetn a qk rtket az adott k -adik sorozatelemhez tartoz grakonpontot
a hozz legkzelebbi korbbi ellenkez eljel fggvnyrtket ad sorozatelemhez tartoz grakonpontot sszekt hr meredeksgnek vlasztjuk. A mdszert az 5.1.2. brn szemlltettk.
x(0) s x(1) rtkek a zrushelye(ke)t tartalmaz intervallum kt vgpontja. Az f (x )f (x ) < 0 felttel biztostja, hogy valban van zrushely az adott intervallumon. Az x(2) (0) (1) sorozatelemet az x s x pontokhoz tartoz grakonpontokat sszekt hr x-tengellyel alko(0) (1) (2) tott metszspontja adja. Ez nyilvn x s x kz esik. Mivel f (x ) < 0 s f (x(1) ) > 0 ezrt a kvetkez kzeltst az ezen kt ponthoz tartoz grakonpontokat sszekt hr x-tengellyel (3) (2) (1) (3) alkotott metszspontja adja. gy kapjuk x -at, ami x s x kz esik. Mivel f (x ) > 0 s (2) f (x ) < 0, azrt a kvetkez kzeltst az ezen kt ponthoz tartoz grakonpontokat sszekt (4) (2) (3) hr x-tengellyel alkotott metszspontja adja. gy kapjuk x -et, ami x s x kz esik. Mivel (4) (4) (2) f (x ) is pozitv, gy a kvetkez lpsben az x s jra az x ponthoz tartoz grakonponto(5) kat sszekt hr x-tengellyel alkotott metszspontja adja x -t. Stb. Az brn x-szel jelltk az aktulis itercis lpst, s s-sel azt a legkzelebbi korbbi itercis lpst, mellyel f (s)f (x) < 0.
Az brn az
(0)
(1)
Hrmdszer,
a, b
ill.
adott,
(qk
f (x)f (s) ) xs
end
x := xnew
5.1.
Nemlineris egyenletek
A mdszer konstrukcijbl kvetkezik, hogy a kiindulsi intervallumban elhelyezked zrushelyek egyikt biztosan meg fogja tallni (csakgy, mint az intervallumfelezsi mdszer). Tbb ttelben hasonl feltevseket kell majd tennnk, ezrt a ttelek megfogalmazsnak megknnytsre bevezetjk az albbi dencit.
5.1.8. denci.
Azt mondjuk, hogy az
fggvny
kielgti az alapfeltevseket
[a, b]-n.
az
[a, b]
intervallumon, ha van
[a, b]
f els s msodik derivltjnak eljele jl meghatrozott m1 , m2 , M1 s M2 pozitv konstansok, melyekkel 0 < m1 |f (x)| M1 < s 0 < m2 |f (x)| M2 < minden adott intervallumbeli x rtkre. Figyeljk meg, hogy m az als becslseket, M a fels becslseket jelli, az index pedig azt adja
A fenti felttelekbl kvetkezik, hogy meg, hogy a becsls hnyadik derivltra vonatkozik. A szigor monotonitsbl kvetkezik, hogy csak egy zrushely lehet az
[a, b]
5.1.9. ttel.
Elgtse ki
[a, b]
f (x) = 0
egyenlet
|e(k+1) | C|e(k) |,
ahol
Bizonyts. A derivltak eljele szempontjbl ngy klnbz eset lehetsges csak. Vizsgljuk csak azt az esetet, amikor
5.
f <0
f > 0.
A szigor konvexits (f
> 0) miatt {x(k) } szigoran monoton cskken (s = x(0) (k 1)), x(k) x (k 1). gy a sorozat konvergens. Legyen a hatrrtke
y
y.
Az
x(k+1) = x(k)
y y
f (x(k) )
f (y)
y=y
egyenletet kell kielgtenie, ahol
f () f (y) = 0, azaz y = x . A konvergenciarend megllaptshoz ki kell fejeznnk a (k +1)-edik kzelts hibjt a k -adik kzelts hibjval. A (k + 1)-edik kzelts hibja
kz esik (Lagrange-kzprtkttel). Mivel
x(0)
x(k+1) x = x(k)
x(k) x(0) f (x(k) ) f (x(0) ) f (x(k) ) x f (x(k) ) f (x(0) ) f (x(k) ) f (x(0) ) = f (x(0) )(x x(k) ) f (x(k) )(x x(0) ) f (x(k) ) f (x(0) ) k -adik
kzelts hibjval osztva kapjuk, hogy
e(k+1) f (x(0) )/e(0) + f (x(k) )/e(k) = (k) e(0) e f (x(k) ) f (x(0) ) = f (x(k) )/e(k) f (x(0) )/e(0) f (x(k) ) f (x(0) ) =
Cauchy-k..t.
f (k )(k x ) f (k ) , (k x )2 f (k )
5.1.
Nemlineris egyenletek
ahol
k x(0)
x(k)
kifejezst az
fggvny
pontban vett
0 = f (x ) = f (k ) + f (k )(x k ) +
Taylor-polinomjnak rtkbl fejezhetjk ki, ahol
f (k ) (x k )2 2 x
kz esik. gy
k k
0<
|e(k+1) | =
jells bevezetsvel. Ezzel a ttelt igazoltuk. Az (5.1.1) becsls nyilvnvalan csak akkor hasznlhat lellsi felttel Ez elrhet gy, ha
5.1.10. megjegyzs.
megadsra, ha
C < 1.
x(0) -t
Szelmdszer
A szelmdszer annyiban klnbzik a hrmdszertl, hogy itt nem gyelnk arra, hogy mindig kt ellenkez eljel fggvnyrtket ad grakonpont legyen sszektve. Egyszeren kt egyms utni sorozatelemhez tartoz grakonponton t hzunk szelt, s ahol az metszi (ha van metszspont) az
x-tengelyt,
mindig tallja meg a kvnt zrushelyet, cserbe viszont magasabbrend konvergencit kapunk. A szelmdszer esetn a
qk =
kzeltst hasznljuk.
Az 5.1.4. brn szemlltettk a szelmdszer itercijt. Ha az rushely, akkor vlaszthatjuk t berajzolt szel
x(2) . Ezutn az x(1) s x(2) pontokhoz tartoz grakonpontokat ktjk ssze. Az sszekt szel x-tengellyel alkotott metszspontja lesz x(3) . (Megjegyezzk, hogy a hrmdszer esetn ebben a lpsben az x(0) s x(2) pontokhoz tartoz (2) (3) grakonpontokat ktnnk ssze.) Ezutn x -vel s x -mal tesszk ugyanezt. Stb. x-tengellyel
alkotott metszspontja lesz tankonyvtar.bme.hu 133
5.
5.1.4. bra.
5.1.5. bra.
Arra, hogy a szelmdszer nem mindig tallja meg az intervallumban lv zrushelyet, az 5.1.5. brn adtunk pldt. Az metszi az
x(2)
x(1)
[a, b]
intervallumban
x-tengelyt,
Szelmdszer,
a, b
ill.
adott,
(qk
f (x)f (s) ) xs
else
end
s := x, x := xnew
5.1.
Nemlineris egyenletek
5.1.11. ttel.
f fggvny az 5.1.8. dencibeli alapfeltevseket az [a, b] intervallumon. Ekkor, max{|a x |, |b x |} < 2m1 /M2 , akkor a szelmdszerrel ellltott sorozat monoton mdon x -hoz tart, s a konvergencia rendje (1 + 5)/2 1.618. Tovbb rvnyes az
Teljestse az ha
C = M2 /(2m1 )
vlasztssal.
x(k1)
x(k)
2m1 /M2 ,
akkor az
(k+1)
(0)
-ra s
(1)
-re is teljesl a
felttel, minden sorozatelem kzelebb lesz, mint Szmtsuk ki a hrmdszer esetn, csak
2m1 /M2
(k + 1)-edik itercis lps hibjt! x(0) helyett x(k1) -et kell rni.) x(k+1) x = x(k)
x(k) x(k1) f (x(k) ) f (x(k1) ) f (x(k) ) x f (x(k) ) f (x(k1) ) f (x(k) ) f (x(k1) ) = f (x(k1) )(x x(k) ) f (x(k) )(x x(k1) ) . f (x(k) ) f (x(k1) )
kzelts hibjval osztva kapjuk, hogy
Ezutn a
(k 1)-edik
k -adik
f (x(k) )/e(k) f (x(k1) )/e(k1) f (x(k) ) f (x(k1) ) x kz es megfelel rtk f fggvny k pont krli, x
(k)
f (k )(k x ) f (k ) , (k x )2 f (k )
k x
(k1)
lv kifejezst az
0 = f (x ) = f (k ) + f (k )(x k ) +
Taylor-polinomjnak rtkbl fejezhetjk ki, ahol
f () (x k )2 2 x
kz esik. gy
k k
e(k+1) f (k )(k x ) f (k ) = (k) e(k1) (k x )2 f (k ) e = f (k )(k x ) (f (k )(x k ) f (k )(x k )2 /2) f (k ) = . (k x )2 f (k ) 2f (k ) |e(k+1) | C|e(k) ||e(k1) |,
ahol (5.1.2)
5.
felttel miatt
d := C max{|a x |, |b
x |}
jellst. Nyilvn
0 < d < 1.
|e(0) | d/C, |e(1) | d/C, |e(2) | C|e(1) ||e(0) | < d2 /C, |e(3) | C|e(2) ||e(1) | < d3 /C, |e(4) | C|e(3) ||e(2) | < d5 /C,
. . .
uk+1
a Fibonacci-sorozat
k + 1-edik
eleme. Mivel
0 < d < 1,
s a Fibonacci-sorozat vgte-
lenhez tart, a fenti becslsek mutatjk a sorozat konvergencijt. Most mr csak a konvergenciarend megllaptsa van htra. Jelljk hnyadost. Ezzel a jellssel a hibaegyenlet az
Ck -val az f (k )/(2f (k ))
A konvergenciarend a bal oldalon ll logaritmikus relatv cskkens hatrrtke. Jellje ezt jobb oldali els tag hatrrtke 0, hiszen mivel ezrt miatt
x(k) x
Ck -nak
1/r-hez tart. Azaz a hatrrtk egyrtelmsge r-nek ki kell elgtenie az r = 1 + 1/r egyenletet, melynek egynl nagyobb megoldsa r = (1 + 5)/2. Teht a konvergenciarend valban (1 + 5)/2.
msodik tag egy, a harmadik pedig nyilvnvalan
Newton-mdszer
A most ismertetend mdszer els vltozatt Newton rta le 1671-ben Method of Fluxions cm mvben, de csak 1736-ban publiklta. Egy letisztultabb vltozata 1690-ben jelent meg Joseph Raphson
2
szrmazik. Rla a Numerikus integrls fejezetben lesz majd mg sz. A mdszert gyakran hvjk NewtonRaphson-mdszernek is, de mi a tovbbiakban A mdszer alaptlete az, hogy az els derivlt meredeksgvel kzeltjk, azaz
Newton-mdszer nek
fogjuk nevezni.
pontbeli rtkt az
x(k)
pontbeli rint
qk = f (x(k) ).
5.1.
Nemlineris egyenletek
Newton-mdszer,
x(0)
ill.
adott.
(0)
(qk
= f (x))
end
x(0)
pontbeli gra-
x(1) kzelts. Ezutn az ehhez a ponthoz tartoz grakonpontban hzunk rintt. Ahol ez metszi az x-tengelyt, (2) az lesz az x kzelts, stb. x-tengelyt,
az lesz az
5.1.6. bra.
Fontos klnbsg a korbbi mdszerekhez kpest, hogy mg korbban minden lpsben csak egyszer kellett kiszmolni az
Newton-mdszer fenti "nehzsgei" csak addig lasstottk az itercis eljrs vgrehajtst, amg a szmtgpek meg nem jelentek. Ezekrt a nehzsgekrt a mdszer msodrend konvergencit ad cserbe.
5.1.12. ttel.
Teljestse az
[a, b]
intervallumon. Az
x(0)
pontbl
{x }
az
becsls a
C = M2 /(2m1 )
vlasztssal.
tankonyvtar.bme.hu 137
5.
x(k)
eleme az
zrushely
h0
f x
(k)
-ban!
k x
x(k)
kz esik. Innt
amit a Newton-mdszer
(k + 1)-edik
x(k+1) = x(k)
kpletbe helyettestnk.
f (x(k) ) f (x(k) )
x(k+1) x = x(k) x
= x(k) x + (x x(k) ) + =
A
0<
egyenltlensgbl s a
|x(k+1) x | =
h0
sugar krnyezetbe, gy a tbbi sorozatelem is ebbe a krnyezetbe fog esni (teljes indukci).
x(k) -ban
sorbafejthet
Az elz ttel feltteleit ltalban nehz ellenrizni. Most megadunk egy knnyebben ellenrizhet felttelt, amely radsul szigoran monoton sorozat hatrrtkeknt lltja el az egyenlet megoldst.
5.1.13. ttel.
Tegyk fel, hogy az
f C 2 [a, b] fggvny els s msodik derivltja sem vesz fel nulla rtket az x zrushely s az x(0) kezdpontok ltal meghatrozott intervallumon, s f (x(0) )f (x(0) ) > 0. (k) Ekkor a Newton-mdszer ltal generlt {x } sorozat szigoran monoton sorozat lesz, s tart x -hoz.
5.2.
Fixpont-itercik
x(0) > x
(ekkor
s a
zrushely kztt). Az
x(k+1) = x(k)
itercis kpletbl lthat, hogy
(amg a zrushelyet meg nem tallja). Msrszt a szigor konvexitsbl kvetkezik, hogy
x(k)
f ( ) x
x(k+1) = x(k)
x x
f (x(k) ) f (x(k) )
f ( ) x
x =x
5.2. Fixpont-itercik
A xpont-itercis egyenletmegolds a Banach-fle xpontttelt (1.1.18. ttel) alkalmazva hatrozza meg egy nemlineris egyenlet megoldst. Vals fggvnyekre a ttel azt mondja ki, hogy ha egy F : [a, b] [a, b] fggvny kontrakci a 0 q < 1 kontrakcis tnyezvel, akkor brmilyen x(0) [a, b] kezdelemre az x(k) = F (x(k1) ) itercival ellltott sorozat tart az
fggvny egyetlen
[a, b]-beli x
xpontjhoz, tovbb
|x(k) x |
qk |x(1) x(0) |. 1q
(5.2.1)
x(0)
x-tengelyre
x(1) -gyel
Az (5.2.1) becsls hasznlhat lellsi felttelknt, hiszen meg tudjuk becslni az els kt elem segtsgvel, hogy hnyadik sorozatelemtl lesznk kzelebb a hatrrtkhez, mint egy adott hibaszint. Ha egy
f (x) = 0
F (x) = x xpontproblmv, ahol most mr az F (x) F (x) fggvnyt tbbflekppen elllthatjuk. A legegyszerbb az, ha ki tudjuk fejezni f (x)-bl az x vltozt. Plda lehet erre mondjuk az x2 2 = 0 egyenlet megoldsa, ahol f (x) = x2 2, s x-et kifejezve kapjuk, hogy x = 2/x, vagyis az F (x) = 2/x vlaszts megfelel. Egy ltalnosabb mdszer xpontproblma ellltsra az, ha egy tetszleges, sehol sem nulla folytonos g fggvnnyel kpezzk az F (x) = x g(x) f (x) fggvnyt. Mivel g nem vehet fel nulla rtket, x = F (x) pontosan olyan x-re teljeslhet csak, amire f (x) = 0.
Termszetesen nem elegend csak a megoldand egyenlet xpontproblmv transzformlsa a megoldshoz, hiszen az A gyakorlatban a kontrakcis tulajdonsgot garantlja, ha
(a, b)-ben,
tovbb van
F (x) fggvnynek ki kell elgtenie az Banach-fle xpontttel feltteleit. F folytonos [a, b]-n s dierencilhat olyan 0 q < 1 szm, mellyel |F (x)| q , x (a, b) (Lagrange-
5.
5.2.1. bra.
A xpont-iterci szemlltetse.
5.2.1. megjegyzs.
hoz, ha az
F [a, b]-bl [a, b]-be kpez folytonos fggvny monoton nv, s a-bl vagy b-bl (0) (1) indtjuk az itercit. Ha pl. a = x -bl indtjuk, akkor x = F (x(0) ) x(0) , s a monotonits (2) (1) (0) (1) miatt x = F (x ) F (x ) = x , azaz a generlt sorozat monoton nv lesz. Mivel minden elem fels korltja b, gy a sorozat konvergens lesz. A hatrrtk F folytonossga miatt csak F egy xpontja lehet (az a-hoz legkzelebbi).
A xpont-iterci konvergencijrl szl az albbi ttel.
5.2.2. ttel.
Legyen
F : [a, b] [a, b]
legalbb
r-szer
folytonosan dierenci-
F (x ) = . . . = F (r1) (x ) = 0,
s
F (r) (x ) = 0. Ekkor az F ltal meghatrozott xpontiterci [a, b] brmelyik indtva r -ed rendben tart az F fggvny egyetlen [a, b]-beli xpontjhoz.
Bizonyts. Csak azt kell igazolnunk, hogy a konvergencia rendje
pontjbl
r.
x = a, b,
F (x(k) ) = F (x ) +
azaz
F (r) () (k) (x x )r , r!
F (x(k) ) x =
Mivel az
r-edik
derivlt folytonos s
-ban
krnyezetben teljeslnek
r.
Most megadunk egy olyan hibabecsl formult, amely kt egymst kvet sorozatelem segtsgvel mond becslst a xpponttl val tvolsgra.
5.2.
Fixpont-itercik
5.2.3. ttel.
Az az
f (x) = 0 egyenlet egy [a, b] intervallumbeli x megoldsnak megkeressre alkalmazzuk x(k+1) = F (x(k) ) xpont-itercit, ahol az F (x) fggvnyt az F (x) = x g(x)f (x) mdon vlasztjuk. Tegyk fel, hogy F az [a, b] intervallumot nmagra kpezi, hogy f s g az [a, b] intervallumon folytonos, (a, b)-ben derivlhat fggvny, hogy g -nek nincs zrushelye [a, b]ben, valamint hogy teljesl az m1 := minx(a,b) {|(gf ) (x)|} > 0 felttel. Ekkor ha valamilyen > 0 szmra s k indexre |x(k+1) x(k) | m1 , (5.2.2) 1+ |x(k) | |x(k) x | |x |
akkor az
becsls is igaz.
Bizonyts. Rendezzk t a
alkalmazzuk a Lagrange-kzprtkttelt.
= |(gf ) (k )| |x
ahol
(k)
x | m1 |x
(k)
x |,
megfelel konstans az
x(k)
m1
|x(k+1) x(k) |
Az
|x(k+1) x(k) |
tnyezvel egyszerstve az
|x | max{|a|, |b|},
ezrt ha
-t
max{|a|, |b|}
rtk kisebb
legyen, mint egy elrni kvnt hibartk, akkor az (5.2.2) felttel teljeslsbl kvetkezik, hogy
x(k)
5.2.1. Aitken-gyorsts
Az albbi eljrs segtsgvel a xponthoz tart sorozat konvergencijt gyorsthatjuk fel. Az eljrst Aitken -gyorstsnak nevezzk. Tegyk fel, hogy van egy itercival ellltott elsrend konvergens sorozatunk. Ekkor az elz fejezet szerint
3
e(k+1) = F (k )e(k) ,
ahol
k x(k)
kz esik. Hasonlan
5.
Az
xpontot.
x =
x(k1) x(k+1) (x(k) )2 x(k1) x(k+1) (x(k) )2 = (k+1) (k1) + x(k+1) 2x(k) x x x(k) (x(k) x(k1) )
=:xk+1 xk
x(k+1) (x(k1) + x(k+1) 2x(k) ) ((x(k+1) )2 2x(k+1) x(k) + (x(k) )2 ) xk+1 xk = x(k+1) (xk+1 )2 . xk+1 xk
=:2 xk
x = x(k+1)
(xk+1 )2 =: x(k1) 2 x k x
rtkt, de az gy
Termszetesen az alkalmazott kzelts miatt ez nem adja meg pontosan kiszmolt hogy
{(k1) } x
5.3. Mintafeladat
Ebben a fejezetben az vlasszuk az
x2 2 = 0
2 megoldst. Kiindulsi intervallumnak mindig [1, 2] intervallumot. Ebben elre tudhatjuk, hogy van megolds, hiszen f (x) = x2 2 6 folytonos, f (1) = 1 s f (2) = 2. Az itercikat addig csinljuk, mg a megoldst 10 -nl kisebb
alkalmazst. Hatrozzuk meg az egyenlet hibval kapjuk mr meg. Intervallumfelezsi mdszer. Elre kiszmolhat, hogy hny lpst kell tennnk az adott pontossg elrshez.
x =
azaz 19
itercis lps elegend. Az itercis lpseket az 5.3.1. tblzatban foglaltuk ssze. rdemes szrevenni, hogy a konvergencia nem monoton, vagyis az utols oszlopbeli rtkek nem monoton cskkenek. Hrmdszer. Mivel eljelet az
f (x) = 2x
f (x) = 2,
[1, 2]
5.3.
Mintafeladat
k
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
a
1.00000000000000 1.00000000000000 1.25000000000000 1.37500000000000 1.37500000000000 1.40625000000000 1.40625000000000 1.41406250000000 1.41406250000000 1.41406250000000 1.41406250000000 1.41406250000000 1.41406250000000 1.41418457031250 1.41418457031250 1.41418457031250 1.41419982910156 1.41420745849609 1.41421127319336 1.41421318054199
b
2.00000000000000 1.50000000000000 1.50000000000000 1.50000000000000 1.43750000000000 1.43750000000000 1.42187500000000 1.42187500000000 1.41796875000000 1.41601562500000 1.41503906250000 1.41455078125000 1.41430664062500 1.41430664062500 1.41424560546875 1.41421508789063 1.41421508789063 1.41421508789063 1.41421508789063 1.41421508789063
x(k)
1.50000000000000 1.25000000000000 1.37500000000000 1.43750000000000 1.40625000000000 1.42187500000000 1.41406250000000 1.41796875000000 1.41601562500000 1.41503906250000 1.41455078125000 1.41430664062500 1.41418457031250 1.41424560546875 1.41421508789063 1.41419982910156 1.41420745849609 1.41421127319336 1.41421318054199 1.41421413421631
|x(k) x |
0.08578643762690 0.16421356237310 0.03921356237310 0.02328643762690 0.00796356237310 0.00766143762690 0.00015106237310 0.00375518762690 0.00180206262690 0.00082550012690 0.00033721887690 0.00009307825190 0.00002899206060 0.00003204309565 0.00000152551753 0.00001373327153 0.00000610387700 0.00000228917974 0.00000038183110 0.00000057184321
|e(k) | (1/2)k ,
kmax = 20
itercis lpst vgezni (a valsgban kevesebb is elg, de a fenti becslsnk ezt adja). Az itercis lpseket az 5.3.2. tblzatban foglaltuk ssze. Az utols oszlop a logaritmikus relatv cskkenst adja meg. Lthat, hogy ennek rtke 1-hez tart, hiszen elsrend a mdszer. A sorozat hibja (msodik oszlop) teljesl, hogy
k2
C = M2 /(2m1 ) = 1/2.
Ekkor nyilvn
d = 1/2,
emiatt alkalmazhatjuk az
|e(k) |
becslst. Ebbl kapjuk, hogy
dk = 2dk 106 C
Az 5.3.3. tblzatbl ltszik, hogy sokkal hamarabb (6. lpsben) is elrjk a kvnt pontossgot, st tovbb mr nem is tudunk menni, mert a MATLAB nullval val oszts miatt hibazenetet ad. A
k2
= 2 > 0,
f (x) > 0,
ha
x > x
, ezrt a Newton-mdszer
x(0) > x
x(0) = 1.9
pontbl. Ekkor
|e(0) | 1 durva (1) (0) 2 (2) (1) 2 (3) becslst hasznljuk, akkor |e | C|e | 1/2, |e | C|e | 1/8, |e | C|e(2) |2 (4) (3) 2 1/128, |e | C|e | 1/32768 s |e(5) | C|e(4) |2 1/(2(32768)2 ) 4.6566 1010 < 106 .
nyilvn teljeslnek az 5.1.12. ttel felttelei. gy az (5.1.3) becsls miatt, ha az Ez mutatja, hogy ngy lps biztosan elg lesz az adott pontossg elrshez, ahogy ezt az 5.3.4. tblzatban szerepl adatok is mutatjk. Figyeljk meg, hogy a logaritmikus relatv cskkens valban 2 kzeli. tankonyvtar.bme.hu 143
5.
k
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
x(k)
1.00000000000000 2.00000000000000 1.33333333333333 1.40000000000000 1.41176470588235 1.41379310344828 1.41414141414141 1.41420118343195 1.41421143847487 1.41421319796954 1.41421349985132 1.41421355164605 1.41421356053263 1.41421356205732 1.41421356231892 1.41421356236380 1.41421356237150 1.41421356237282 1.41421356237305 1.41421356237309 1.41421356237309
|x(k)
2|
log. rel. cskk. 4.70229223589887 1.69141982231166 1.41343626909880 1.29307890232953 1.22672843924426 1.18483435747867 1.15600171615800 1.13494961104049 1.11890364913929 1.10626800210629 1.09605990342007 1.08764109222480 1.08057902359452 1.07456970644472 1.06939397673514 1.06487465606826 1.06086537951130 1.05688612585613 1.05133725968926
0.41421356237310 0.58578643762690 0.08088022903976 0.01421356237310 0.00244885649074 0.00042045892482 0.00007214823168 0.00001237894114 0.00000212389823 0.00000036440355 0.00000006252177 0.00000001072704 0.00000000184047 0.00000000031577 0.00000000005418 0.00000000000930 0.00000000000159 0.00000000000027 0.00000000000005 0.00000000000001 0.00000000000000
k
0 1 2 3 4 5 6
x(k)
1.00000000000000 2.00000000000000 1.33333333333333 1.40000000000000 1.41463414634146 1.41421143847487 1.41421356205732
|x
(k)
x2 2 = 0 egyenletet trhatjuk pl. az x = 2/x =: F (x) alakra, mellyel (k+1) denilhatjuk az x = F (x(k) ) itercit. Sajnos ez az iterci nem fogja megtallni a xpontot, (0) (1) hiszen x -rl indtva x = 2/x(0) s x(2) = 2/(2/x(0) ) = x(0) , azaz az iterci felvltva lpeget x(1) -re s x(0) -ra. gy ms itercis eljrst kell keresnnk. 2 rjuk t az egyenletet az ekvivalens x = x g(x 2) =: F (x) alakba, ahol g meghatrozand pozitv konstans. Most F (x) = 1 2gx. Az [1, 2] intervallumon ennek akkor lesz a legkisebb az abszoltrtk-maximuma, ha g = 2/5, s ekkor a maximum 3/5 = q < 1. Azaz F valban kontrakci lesz az [1, 2] intervallumon. Tovbb, mivel F -nek stacionrius pontja van x = 5/4-nl s F (1) = 1.4, F (2) = 1.2 s F (5/4) = 1.425, ezrt F az [1, 2] intervallumot valban az [1, 2] (0) intervallum belsejbe kpezi. gy a Banach-fle xpontttel miatt brmilyen x [1, 2] pontbl
Fixpont iterci. Az indtva az
5.4.
k
0 1 2 3 4 5
x(k)
1.90000000000000 1.47631578947368 1.41551974856928 1.41421416502183 1.41421356237322 1.41421356237310
|x(k) x |
0.48578643762690 0.06210222710059 0.00130618619619 0.00000060264874 0.00000000000013 0
x(0) = 2
pontbl. Ekkor
|x(k) x |
gy
kmax = 29
iterci elg az elre adott pontossg elrshez. Az 5.3.5. tblzat azt mutatja,
hogy 8 itercis lps is elegend. A tblzat utols eltti oszlopban kiszmoltuk az Aitkengyorstssal kapott j sorozatot is s annak logaritmikus relatv cskkenst. Lthat, hogy az Aitken-gyorstssal ellltott elemek hibja kisebb, mint az eredeti sorozat megfelel hibja. Az j sorozat is elsrendben konvergl.
x(k)
|x(k) x |
0 1 2 3 4 5 6 7 8
log. rel. cskk. 2.88104303658437 3.00286370704064 1.43234778523415 1.30688572006857 1.23429487859350 1.18987664275526 1.15957057942449 1.13761248562765
H Rn
f:HH
xH
vektorokat, melyekre
f(x) = 0.
Ha
lineris,
akkor egy lineris egyenletrendszert kell megoldanunk, klnben nemlineris egyenletrendszert kapunk. A nemlineris egyenletrendszerek megoldsa ltalban nehz feladat. Mr annak eldntse sem egyszer, hogy van-e, s ha igen, hny megoldsa van az egyenletrendszernek. Magasabb dimenziban az a lehetsgnk is megsznik, hogy szmtgppel brzolva a fggvnyeket meg tudjuk sejteni a megolds helyt. Ktvltozs, ktismeretlenes egyenletrendszerek esetn segthet, ha szmtgpes program segtsgvel megrajzoljuk
tartoz szintvonalait, s ezek metszspontjt megkeresve megsejthet a megolds helye. A nemlineris egyenletrendszerek megoldsra ltalban xpont-itercit szoks alkalmazni. Azaz trjuk az egyenletrendszert ekvivalens mdon
F(x) = x
alakra s, ha az
fggvnyre
teljeslnek a Banch-fle xpontttel felttelei (termszetesen ennek ellenrzse ltalban nem tankonyvtar.bme.hu 145
5.
egyszer), akkor annak segtsgvel a xpont, vagyis az eredeti feladat megoldsa meghatrozhat. Nha nem szksges a Banach-fle xpontttel feltteleinek ellenrzse. Egyszeren elindtjuk egy
x(0) H
pontbl az
x(k+1) = F(x(k) ) x f
vektorhoz, akkor nyilvnvalan
F(x ) = x
miatt
A xpont-itercik egy specilis formja az egyvltozs esetben megismert Newton-mdszer tbbdimenzis vltozata. Fejtsk sorba az
fggvnyt az
x(k)
xpontra:
J(x(k) ) =
f1 (k) ) x1 ( . . . fn ( (k) ) x1
f1 (k) ) xn ( . . . fn ( (k) ) xn
x x
-t:
alakban. vltozs Newton-mdszernek nevezzk. Egyszeren meg is jegyezhet, hiszen a derivlttal val oszts helyett a Jacobi-mtrix (derivltak mtrixa) inverzvel val szorzs szerepel. A mdszer vgrehajtsa sorn mveletignyes, hogy a Jacobi-mtrixot minden lpsben ki kell szmolni s meg kell oldani egy lineris egyenletrendszert. Ha az
mtrix Lipschitz-folytonos (megfelel induklt normkat hasznlva), akkor konvergencia msodrend lesz.
egy elegenden
5.4.1. megjegyzs.
oldanunk egy lineris egyenletrendszert, melynek mtrixa az elz itercis lpsnek megfelel pontban kiszmolt Jacobi-mtrix. Ha nagymrt feladatot kell megoldnunk, akkor mdosthatjuk gy az itercit, hogy minden lpsben a kezdpontban kiszmolt Jacobi-mtrixszal oldjuk meg az egyenletrendszert:
Ezt az eljrst mdostott Newton-mdszernek hvjuk. Ez a mdszer gyorsabb, de mr csak elsrend konvergencit biztost.
5.5. Feladatok
Nemlineris egyenletek megoldsa 146 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
5.5.
Feladatok
5.5.1. feladat. A
1+
2 + ... +
100
tizedesjegyre kerektjk. Hny helyes tizedesjegyre szmthatunk legalbb a vgeredmnyben? 5.5.2. feladat. 1225-ben Leonardo Pisano (alias Leonardo Bonacci, vagy Leonardo Fibonacci, vagy egyszeren Fibonacci) meghatrozta a
x = 1.368808107
nem tudjuk. Hatrozzunk meg egy olyan intervallumot, amelybl a fenti polinom zrushelyei kikerlhetnek! Van-e ms vals zrushelye a polinomnak? 5.5.3. feladat. Tegyk fel, hogy tudjuk, hogy az elz feladatban szerepl polinom zrushelye az [1,2] intervallumban van. Hatrozzuk meg a zrushelyet az intervallumfelezsi-, a hr-, a szel-, a Newton- s a xpont-itercis mdszer segtsgvel (rjunk egyszer MATLAB programokat)! Utbbinl alkalmazzuk az
x = 20/(x2 + 2x + 10)
zoljuk a konvergencit). Hasonltsuk ssze a mdszereket a konvergenciasebessg szerint! 5.5.4. feladat. Alkalmazzuk az Aitken-gyorstst az elz feladatbeli xpont-iterci s
x(10) , x(11)
(12)
2xln x4 = 0, 2x 4x = 0, x5 x2 = 0, a
pozitv szm
x ln x 14 = 0!
5.5.6. feladat. Adjunk olyan eljrst, amely oszts nlkl hatrozza meg egy reciprokt! Ksrletezznk az dsaival! 5.5.7. feladat. Igazoljuk, hogy ha egy
1 ax = 0
s az
a 1/x = 0
vgrehajtva a Horner-mdszert, a keletkez szmok ppen a a fenti eljrssal (deci). Hatrozzuk meg az
szm egy p(x) polinom zrushelye, akkor az szmmal p(x)/(x ) polinom egytthatit x4 16x3 + 72x2 96x + 24
egyenletnek a polinom sszes
adjk meg. Ha teht egy polinomnak megtalltuk egy zrushelyt, akkor a fokszma cskkenthet zrushelyt a Newton-mdszer s a decis eljrs segtsgvel! 5.5.8. feladat. Hny megoldsa van a
sin x = 1 x
[0, 1]
intervallumon? Ha-
trozzuk meg a gykt intervallumfelezssel! Hny lps kell ahhoz, hogy a gykt 4 tizedesjegy pontossggal meghatrozhassuk. Hatrozzuk meg a gykt xpont-itercival! Itt is becsljk meg a szksges lpsek szmt! 5.5.9. feladat. Egy harmadfok lpsben megadja a
p(x)
z1 , z2
z3 .
(z1 + z2 )/2
z3
gykt!
ex sin x = 0
egyenlet
0.5885
f (x) = 0
x(k+1) = x(k)
f (x(k) ) , (x(k) )
(x(k) ) =
Igazoljuk, hogy a mdszer msodrend, s oldjuk meg vele az elz feladat egyenlett! 5.5.12. feladat. Az
x(k+1) =
x(k+1)
= x(k) 2 +
x(k) . x(k) 1
tankonyvtar.bme.hu 147
5.
Vizsgljuk meg a mdszerek rendjt! Milyen kezdpontbl fog 2-hz konverglni a msodik mdszer? 5.5.13. feladat. Oldjuk meg az
x(k+1) = x(k)
itercit a megoldsra!
5.5.14. feladat. A Newton-mdszer is tulajdonkppen egy xpont-iterci. Hatrozzuk meg a konvergenciarendjt a xpont-itercik konvergenciarendjre vonatkoz ttel alapjn! 5.5.15. feladat. Alkalmazzuk a Newton-mdszert az vlasztva kezdpontnak, s a
g(x) =
fggvnyre!
Nemlineris egyenletrendszerek megoldsa 5.5.16. feladat. Oldjuk meg a Newton-mdszer segtsgvel az albbi egyenletrendszert!
1 4x + 2x2 2y 3 = 0 4 + x4 + 4y + 4y 4 = 0
6. Interpolcis feladatok
Ebben a fejezetben arra a krdsre vlaszolunk, hogy nhny, a derkszg koordintarendszerben adott pontot hogyan tudunk sszektni polinomok ill. trigonometrikus polinomok grakonjaival. Az sszekt polinomokat interpolcis polinomoknak hvjuk. Trgyalni fogjuk az interpolcis polinomok Lagrange- s Newton-fle alakjt. Megvizsgljuk, hogy az alappontok megvlasztsa hogyan befolysolja az interpolcis hibt. gy jutunk el a Csebisev-alappontok fogalmhoz. A trigonometrikus interpolcis feladatnl sz lesz a diszkrt Fouriertranszformcirl s a gyors Fourier-transzformcirl. Tegyk fel, hogy egy Az
f : R R fggvnynek n + 1 pontban ismerjk az rtkt. Legyenek (xi , fi ) (i = 0, . . . , n) alakban, ahol feltesszk hogy xi = xj , ha i = j . xi (i = 0, . . . , n) pontokat alappontoknak nevezzk. Vezessk be az I = [xmin , xmax ] jellst, xmin = min{x0 , . . . , xn }, xmax = max{x0 , . . . , xn }. I
intervallumbeli alappontoktl klnbz
fggvny rtkre az
egy adott intervallumon? Hogyan adhatnnk becslst arra, hogy hol van a fggvnynek szlsrA fenti feladatokat ltalnosan gy oldhatjuk meg, hogy rgztjk az
intervallumon de-
nilt adott tulajdonsg fggvnyek halmazt (pl. polinomok, trigonometrikus polinomok vagy szakaszonknt polinomfggvnyek), s ennek elemei kzl kivlasztjuk azt, amelyik grakonja tmegy az sszes adott ponton. Az gy nyert fggvnyt az adott pontokhoz tartoz interpolcis fggvnynek hvjuk. Ez ltalban egyrtelmen meghatrozott a fggvnyhalmazon bell. Az
interpolcinak
az interpolcis fggvny segtsgvel vlaszolunk: annak az rtkeit szmoljuk ki, azt derivljuk vagy integrljuk, vagy annak hatrozzuk meg a szlsrtkeit. Az interpolcis feladatok szmtalanszor elfordulnak gyakorlati problmk megoldsnl. A GPS mholdak csak bizonyos idkznknt kldenek jelet arrl, hogy hol vannak. Interpolcit hasznlunk akkor, ha szeretnnk a kztes idpontokban is megbecslni a mhold helyt, a sebessgt, vagy a gyorsulst. A kolajmezket modellez egyenletekben szksgnk van a nyoms rtkre. A kltsges frsok miatt a nyomsfggvnyt csak nhny frsnl elvgzett mrs alapjn, interpolcival tudjuk kzelteni. Tbb esetben egy parcilis dierencilegyenlet peremfelttelt s kezdeti felttelt is csak tbb mrsi adatot interpollva tudjuk kzelteni.
globlis polinominterpolcinak
nevezzk s
az interpolcis fggvnyt (globlis) interpolcis polinomnak hvjuk. Tegyk fel, hogy az adott pontokat interpollja egy teljeslnie kell. Mivel ez hiszen ezeknek
p polinom. Ekkor a p(xi ) = fi (i = 0, . . . , n) felttelnek nyilvnvalan n + 1 felttel, gy vrhat, hogy p egy legfeljebb n-edfok polinom lesz,
n+1
149
6.
Interpolcis feladatok
6.1.1. ttel.
Minden rgztett melyre
n + 1 darab ponthoz pontosan egy olyan legfeljebb n-edfok Ln Ln (xi ) = fi (i = 0, . . . , n). Ln (x) =
n k=0
polinom van,
Ln (xi ) =
k=0
ak xk = fi (i = 0, . . . , n). i
xi = xj ,
ha
i = j,
6.1.2. megjegyzs.
igazolhat. Ez a mdszer ltalnosabb esetekben is alkalmazhat lesz majd. Az egytthatkra felrt egyenletrendszer az albbi alak
1 1 1
. . .
x0 x1 x2
. . .
x2 0 x2 1 x2 2
. . .
. . . xn 0 . . . xn 1 . . . xn 2
. . . . . .
a0 a1 a2
. . .
xn
x2 n
...
xn n
f0 f1 f2
. . .
an
fn
Ha feltennnk indirekt, hogy az egytthatmtrix nem invertlhat, akkor ltezne a mtrixhoz egy olyan
0 = y = [y0 , . . . , yn ]T Rn+1
1 1 1
. . .
vektor, mellyel
x0 x1 x2
. . .
x2 0 x2 1 x2 2
. . .
. . . xn 0 . . . xn 1 . . . xn 2
. . . . . .
y0 y1 y2
. . .
xn
x2 n
...
xn n
0 0 0
. . .
yn
n+1
n k k=0 yk x legfeljebb n-edfok, a konstans nulla polinomtl zrushelye lenne, ami ellentmondana az algebra alapttelnek.
1 Joseph-Louis Lagrange, 17361813, olasz szrmazs francia matematikus. Eredeti olasz neve Giuseppe Luigi Lagrangia. Fontos eredmnyeket rt el az analzis, a szmelmlet s az elmleti mechanika terletn. Bvebb letrajz: http://www-history.mcs.st-and.ac.uk/Mathematicians/Lagrange.html.
150 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
6.1.
Globlis polinominterpolci
6.1.3. denci.
Adott alappontok esetn az
lk (x) =
(k
(x x0 ) . . . (x xk1 )(x xk+1 ) . . . (x xn ) (xk x0 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xn ) k -adik
(alapponthoz tartoz)
= 0, . . . , n)
polinomot a
Lagrange-fle alappolinomnak
nevez-
zk.
6.1.4. megjegyzs.
n + 1-edfok
Vezessk be a
polinomot
wn+1 (x) = (x x0 ) . . . (x xn ) jellst. A wn+1 (x) alappontpolinomnak hvjuk. Az alappontpolinom derivltja + (x x0 )(x x2 )(x x3 ) . . . (x xn ) + (x x0 )(x x1 )(x x3 ) . . . (x xn ) + . . . + (x x0 )(x x1 )(x x2 ) . . . (x xn1 ),
pontosan
melybe az
xk
alappontot helyettestve a
lk (x) =
alakban is felrhat (k
(6.1.1)
= 0, . . . , n). x0 = 0, x1 = 1, x2 = 2, x3 = 3
s
x4 = 4
6.1.5. ttel.
Az interpolcis polinom
n+1
alappont esetn az
Ln (x) =
k=0
alakban rhat.
fk lk (x)
n-edfok.
lk (xi ) =
egyenlsg, ezrt teljesl az
1, 0,
ha ha
i = k, i=k = 0, . . . , n).
Innt az interpolcis
Ln (xk ) = fk
egyenlsg is (k
6.1.6. megjegyzs.
snak segtsgvel is. Az elllts mutatja, hogy valban van egy legfeljebb
n-edfok interpolcis
tankonyvtar.bme.hu 151
6.
Interpolcis feladatok
6.1.1. bra. Az
x = 0, 1, 2, 3, 4
polinom, amely a feltteleknek megfelel. Az egyrtelmsge pedig indirekt mdon gy igazolhat, hogy ha lenne kt klnbz legfeljebb nomnak legalbb alapttelnek. Az interpolcis feladatoknl nem az a cl, hogy az interpolcis polinomot
n-edfok
n+1
x-hatvnyonknt
rendezett alakra hozzuk, hiszen ltalban nem a polinom ellltsa, hanem a polinom klnbz helyeken vett helyettestsi rtkeinek kiszmolsa a cl. gy egyszerbb a polinom Lagrangefle alakjba helyettesteni, mint ellltani a polinomot polinom-egytthatk kiszmtsnak mveletignye ebbe helyettesteni. Knnyen ellenrizhet, hogy az interpolcis polinom Lagrange-fle ellltsval az interpolcis polinom egy adott helyen vett helyettestsi rtke
4n2 + O(n)
Az elllts elnye, hogy ha valamelyik alappontban a fggvnyrtket meg kell vltoztatnunk, akkor az j polinom helyettestsi rtkeit knnyen jraszmolhatjuk a rgi rtkekbl. Htrny viszont, hogy egy j alappont felvtele esetn minden korbbi tagot jra kell szmolnunk.
6.1.7. plda.
6.1.
Globlis polinominterpolci
6.1.2. bra. A 6.1.7. pldban szerepl pontok s a hozzjuk tartoz interpolcis polinom grakonja.
L2 (x) = 2
A polinomot
x-hatvnyonknt
L2 (x) = 2
1 2 4 1 3 x x + 1 + 1 x2 + x + 5 3 3 2 2
1 2 1 x x 6 6
1 2 1 x x = x2 2x + 2. 6 6
qk =
(k
6.
Interpolcis feladatok
Ln (x) =
k=0
k=0
fk qk x xk
(6.1.2)
wn+1 (x)
k=0
hiszen a bal oldal az
qk 1, x xk
(xk , 1) (k = 0, . . . , n)
az interpolcis polinom egyrtelmsge miatt csak a konstans 1 polinom lehet. Ennek alapjn a (6.1.2) formult trhatjuk az albbi mdon:
Ln (x) =
Az gy nyert formult
2n op-ba kerl, azaz sszesen 2n2 + 2n op. Ha a slyokat mr ismerjk, akkor a helyettestsi rtk szmolsa mr csak 5n + 5 op. j osztpont felvtele sem kltsges, hiszen az j n + 2-edik sly kiszmtsa 2(n + 1) opot ignyel, a korbbi slyok mdostsa pedig egyenknt 2 op, azaz sszesen 2(n + 1) op. A slymdosts teht sszesen 4n + 4 op mvelet.
6.1.8. plda.
q0 =
L2 (x) =
Ezt
2 1/(3(x 0)) 1 1/(2(x 1)) + 5 1/(6(x 3)) . 1/(3(x 0)) 1/(2(x 1)) + 1/(6(x 3)) x2 3x + 2
x-hatvnyonknt
polinomot kapjunk.
(xi , fi ) (i = 0, . . . , n)
n-edfok c0 , . . . , c n
2 A baricentrikus, azaz slyponti, elnevezs arra utal, hogy a kplet hasonl a tmegpontrendszer slypontjt megad kplethez.
154 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
6.1.
Globlis polinominterpolci
Mivel
f0 = Ln (x0 ) = c0 ,
gy
c0
x1 -et
a (6.1.3) polinomba:
c1 =
f1 f0 . x1 x0
Hasonlan eljrva megkaphatjuk a tbbi egytthatt is, de a kpletek egyre komplikltabbak s nehezen tlthatk lesznek. Most megmutatjuk, hogy hogyan lehet az egytthatkat szisztematikus mdon ellltani.
6.1.9. denci.
Legyenek adva az
(yj , fj ), j = 1, . . . , s
s
pontok (yj1
= yj2 ,
ha
j1 = j2 ).
Ekkor az
[y1 , . . . , ys ]f =
j=1
szmot az (y1 , f1 ), . . . , (ys , fs ) pontokhoz tartoz (s1)-edrend (Newton-fle) osztott dierencinak nevezzk. A nulladrend osztott dierencit (amennyiben csak egy adott pont szerepel) [yj ]f = fj mdon rtelmezzk.
6.1.10. plda.
denci szerint
[0, 1, 3]f =
6.1.11. megjegyzs.
6.1.12. ttel.
Az osztott dierencia rtke fggetlen az az
yj (j = 1, . . . , s)
[y1 , . . . , ys ]f =
sszefggs.
Bizonyts. Az els llts a denci kzvetlen kvetkezmnye. A msodik rszhez igazoljuk, hogy
6.
Interpolcis feladatok
=
j=2
s1
=
j=2
fj (yj y1 ) fj (yj ys ) (yj y1 )(yj y2 ) . . . (yj ys ) j=1 (yj y1 ) . . . (yj ys1 )(yj ys )
(yj yj ) hinyzik (yj yj ) hinyzik s1
fs (ys y1 ) f1 (y1 ys ) fj (ys y1 ) + (ys y1 ) . . . (ys ys1 ) (y1 y2 ) . . . (y1 ys ) j=2 (yj y1 ) . . . (yj ys )
(yj yj ) hinyzik
= [y1 , . . . , ys ]f (ys y1 ).
Ezt akartuk megmutatni.
6.1.13. ttel.
Az interpolcis polinom (6.1.3) alakjban szerepl
cl (l = 0, . . . , n)
egytthatk a
cl = [x0 , . . . , xl ]f
kplettel szmthatk ki. Bizonyts. Legyen az mdon:
l {0, . . . , n}
pl (x)
polinomot az albbi
pl (x) = c0 + c1 (x x0 ) + c2 (x x0 )(x x1 ) + . . . + cl (x x0 ) . . . (x xl1 ). pl (x0 ) = Ln (x0 ), . . . , pl (xl ) = Ln (xl ), azaz pl (x) pontosan az (x0 , f0 ), . . . , (xl , fl ) l-edfok interpolcis polinom, cl pedig ennek a fegytthatja. Szmtsuk most ki ezt a fegytthatt! Ehhez rjuk fel a pl (x) interpolcis polinomot a LagrangeNyilvnval, hogy pontokat interpoll legfeljebb mdszerrel.
pl (x) =
k=0
melynek fegytthatja
fk
cl =
k=0
A cl egytthatk ezek utn rekurzival az albbi mdon [xi ]f = fi (i = 0, . . . , n). Ezek a nulladrend dierencik. A elsrend dierencikat az
[x0 , x1 ]f =
6.2.
Az interpolcis hiba
[x0 , x1 , x2 ]f =
mdon nyerhetk. Az eljrst addig folytatjuk, amg meg nem kapjuk az utols, dierencit is.
6.1.14. plda.
cl
rendezzk az osztott dierencikat. Ebben a tblzatban ttekinthet mdon feltntetjk az osztott dierencikat szmol rekurzi egyes lpseit. Az egyes oszlopok fels elemei adjk a keresett
cl
xi 0 1 3
fi = [xi ]f 2 = c0
12 10
[., .]f = 1 = c1
51 31
[., ., .]f
1 =2 5
2(1) 30
= 1 = c2
x2 2x + 2
polinomhoz jutunk.
(x0 , f0 ), . . . , (xn , fn ) pontok, s hogy ezek a pontok egy f : I R fk = f (xk ). Legyen tovbb I = [xmin , xmax ]. Jellje
(Ln f ) : I R az adott pontokra illesztett interpolcis polinomot. Ilyenkor azt mondjuk, hogy az f fggvnyt interpolljuk az x0 , . . . , xn pontokban, s Ln az f fggvny adott alappontokban
vett interpolcis polinomja.
6.2.1. denci.
Az
fggvnyt az
fggvny
Df
halmaznl, akkor az
Df
halmazon is rtelmezhetjk.
Vajon mit mondhatunk az interpolcis hibrl? Tudunk-e r fels becslst adni? Hogy vl-
polinomok sorozata az eredeti Rgtn lthat, hogy ha az Tegyk fel teht, hogy az
f f
fggvnyhez? Ha igen, akkor milyen felttelek mellett egyenletes fggvny simasgra nem tesznk felttelt, akkor a hibrl sem-
a konvergencia? Ezekre a krdsekre keressk a vlaszt ebben a fejezetben. mit sem tudunk mondani, hiszen az alappontokon kvl a fggvnyrtkek tetszlegesek lehetnek.
lyek arra hvjk fel a gyelmet, hogy ltalban nem vrhat el a pontonknti konvergencia. Egy tankonyvtar.bme.hu 157
6.
Interpolcis feladatok
[a, b]
intervallumbeli
rtnk, melynek
{x0 , . . . , xn } alappontsorozaton a tovbbiakban egy olyan sorozatot n=1 n-edik eleme az [a, b] intervallum n + 1 darab pronknt klnbz pontja.
(n)
(n)
{x0 , . . . , xn } [a, b]-beli alappontsorozathoz van olyan f C[a, b] folytonos n=1 fggvny, amelyre Ln f nem tart egyenletesen az f fggvnyhez az [a, b] intervallumon.
1980-ban Erds s Vrtesi [11] megmutattk, hogy brmely alappontsorozathoz olyan
(n)
(n)
f folyLn f (x) f (x) majdnem mindentt [a, b]-ben. Bernstein4 egy korbbi, 1918-es pldja [3] a [1, 1] intervallum ekvidisztns felosztssorozathoz megadott mr egy ilyen fggvnyt: az f (x) = |x| fggvny interpolcis polinomjai csak az x = 1, 0 s 1 pontokban konverglnak az f (x) fggvny megfelel rtkeihez. Itt gondolhatnnk, hogy a rossz interpolcis viselkedst az okozza, hogy az f (x) = |x| 5 fggvny nem derivlhat az x = 0 pontban. Runge 1901-ben szrevette [28], hogy ha az 2 f (x) = 1/(1 + x ) fggvnyt interpolljuk az ekvidisztns feloszts [5, 5] intervallumon, akkor az gy nyert polinomsorozat csak az |x| < 3.63 (kerektett rtk) felttelnek megfelel x pontokban
tonos fggvny is ltezik, melyre fog konverglni az eredeti fggvnyhez. A polinomsorozat az intervallumon kvl divergl. Azt, hogy csak egy bizonyos intervallumon bell van konvergencia, az okozza, hogy az el az interpolcis intervallumhoz. A 6.2.1. brn az ban hasonl
f (z) = 1/(1+z 2 )
most mr komplex vltozsnak tekintett fggvny szingulris helyei (i) kzel helyezkednek
1/(1 + x2 )
3x2 /8
lthat. Vegyk szre, hogy a msodik fggvnyt sokkal jobban kzelti az interpolcis polinom! (Figyeljk meg, hogy az utbbi fggvnynek nincs szingulris pontja!)
6.2.1. bra. Az
1/(1 + x2 )
s az
e3x
/8
[5, 5]
A kvetkez ttel azt mutatja, hogy az alappontok megfelel megvlasztsval az egyenletes konvergencia mindig elrhet. Megjegyezzk azonban, hogy nem mindig van lehetsg az alappontok szabad megvlasztsra.
3 Georg Faber (1877 1966) nmet matematikus. 4 Sergei Natanovich Bernstein (18801968) orosz matematikus. 5 Carl David Tolm Runge (18561927), nmet matematikus.
158 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
6.2.
Az interpolcis hiba
f C[a, b]
>0
szmhoz van
polinom, melyre
minden
x [a, b]
esetn
Megfelel simasg fggvnyek esetn az interpolcis hibt az albbi, Cauchytl szrmaz ttel segtsgvel szmolhatjuk ki.
6.2.5. ttel.
Tegyk fel, hogy az
f C n+1 (I)
fggvnyt interpolljuk az
x0 , . . . , x n
alappontokban, ahol
I = [xmin , xmax ].
xI
En (x) =
alakban rhat, ahol
x , egy az I intervallum belsejbe es megfelel konstans (az x index arra x pont megvlasztstl).
x G : I R,
G(t) = En (t)
fggvnyt, amely legalbb zrushelye van:
n + 1-szer folytonosan derivlhat I belsejben, s legalbb n + 2 x0 , . . . , xn s x. Ekkor a Rolle-kzprtkttelt alkalmazva lthat, hogy a G (t) fggvnynek legalbb n+1 zrushelye van. gy haladva mindig az eggyel kisebb derivltak irnyba (n+1) azt kapjuk, hogy a G (t) fggvnynek legalbb egy zrushelye van. Legyen ez a zrushely x . (n+1) Szmtsuk ki a G (t) derivltat, felhasznlva, hogy egy legfeljebb n-edfok polinom (n + 1)(n+1) edik derivltja nulla, s hogy wn+1 (x) 1. G(n+1) (t) = f (n+1) (t)
azaz
G(n+1) (x ) = f (n+1) (x )
teht
En (x) =
Ezt akartuk bizonytani.
6 Jzef Marcinkiewicz (19101940), lengyel matematikus. 7 Karl Theodor Wilhelm Weierstrass (18151897), nmet matematikus.
tankonyvtar.bme.hu 159
6.
Interpolcis feladatok
6.2.6. ttel.
Ha
f C [a, b] s az x0 , . . . , xn alappontok mindig az [a, b] intervallumbl (n) (n = 1, 2, . . .), tovbb ha ltezik M > 0 gy, hogy maxx[a,b] {|f (x)|} M n , Ln f C[a,b] 0, ha n .
Bizonyts. Az
(n)
(n)
kerlnek ki akkor
[a, b]
pontjra
|En (x)| =
(x-tl fggetlenl), ha
n . wn+1
alappontpolinom. Ennek abszolt rtkre
h-val
6.2.7. ttel.
A
wn+1 (x)
alappontpolinomra rvnyes a
|wn+1 (x)|
becsls, ahol
n! n+1 h 4
x I.
Bizonyts. Ha Legyen
x alappont, akkor az llts nyilvnvalan igaz. x (x0 , x1 ). Ekkor |(xx0 )(xx1 )| az x = (x0 +x1 )/2 vlaszts esetn a legnagyobb, x1 x0 x0 x1 h2 2 2 4
|(x x0 )(x x1 )|
becsls. Teht
|wn+1 (x)|
Legyen most
x (x1 , x2 ).
Ekkor
vlaszts esetn a
|(x x1 )(x x2 )|
Teht
|wn+1 (x)| 2h
Hasonlan jrhatunk el a tbbi intervallumnl is. A becslsekbl lthat, hogy az gy a kt szls osztintervallumon adott becsls lesz rvnyes az egsz
intervallumra.
6.2.8. megjegyzs.
ltalban az
Az, hogy az
rtkre adott fels becsls nagyobb, mint a beljebb lv intervallumokon, azt sugallja, hogy
6.3.
Interpolci Csebisev-alappontokon
Ezen meggyels alapjn gy rdemes vlasztani az osztpontokat, hogy azokat az intervallum szleinek kzelben srbben vesszk fel. Az alappontok egy lehetsges megvlasztsrl szl a kvetkez fejezet.
(n + 1)-ed
(n + 1)
(n + 1)
nsen egyrtelm megfeleltets van. Most megvizsgljuk, hogy hogyan kellene megvlasztani az alappontpolinomot ahhoz, hogy annak maximumnormja a lehet legkisebb legyen.
6.3.1. ttel.
Legyen
[a, b]
p(1)
(1)
1 fegytthats,
(n + 1)-ed
fok polinomra
(1)
p(1)
q polinom az [a, b]
C[a,b]
C[a,b] minden
q (1)
1 fegytthats
(n + 1)-ed n + 2 k-
lnbz abszolt szlsrtkhellyel, a szlsrtkhelyeken a fggvnyrtkek abszolt rtkben megegyeznek, s eljelk vltakozik. Bizonyts. Tegyk fel, hogy
p(1)
az
q (1) = p(1) 1 fegytthats, (n + 1)-ed > q (1) C[a,b] . Ekkor a p(1) q (1) legfeljebb n-ed fok polinomnak C[a,b] p(1) szlsrtkhelyeinl (legalbb (n + 2) darab) ugyanazok az eljelei, mint a p(1) polinomnak. (1) Ebbl kvetkezik, hogy a p q (1) polinomnak legalbb n + 1 zrushelynek kellene lenni, ami
nek, s eljelk vltakozik. Tegyk fel tovbb, hogy egy fok polinomra
p(1)
ellentmond az algebra alapttelnek. A megfordts igazolshoz tegyk fel indirekt, hogy fok polinom, melyre
p(1)
olyan 1 fegytthats
(n + 1)-ed
1 fegytthats (n + 1)-ed fok poC[a,b] minden q (1) linom esetn. Tegyk fel indirekt, hogy a p polinomnak maximum n + 1 helyen van abszolt
(1)
C[a,b]
(1)
(1)
szlsrtke gy, hogy ezeken a helyeken a fggvnyrtkek abszolt rtkben egyenlk s eljelk vltakozik. Ekkor viszont ltezik egy olyan legfeljebb szlsrtkhelyeken megegyezik ezek a zrushelyek rendre: polinom legfeljebb egyezik
n-edfok
p(1)
p(1) polinomnak zrushelye van. Legyenek x1 < x2 < . . . < xk (k n). Ekkor az s(x) = (x x1 ) . . . (x xk )
s alkalmas eljelet vlasztva az eljele a szlsrtkhelyeken meg-
n-edfok,
p(1)
>0
szmszorost kivonva
(1)
C[a,b]
p(1)
6.3.2. ttel.
Csak egyetlen olyan melyre
(1)
C[a,b]
p(1) 1 q (1)
fegytthats
C[a,b] minden
(n + 1)-ed fok polinom van az [a, b] intervallumon, q (1) 1 fegytthats (n + 1)-ed fok polinom esetn.
(1)
s
p1
p2
(1)
p1
(1) C[a,b]
= p2 D
=: D
(1)
p1 + p2 2
C[a,b]
p1
(1) C[a,b]
+ p2 2
(1) C[a,b]
=D
tankonyvtar.bme.hu 161
6.
Interpolcis feladatok
miatt
(p1 +p2 )/2 C[a,b] = D, gy a (p1 +p2 )/2 polinom is optimlis lenne. Emiatt a polinom legalbb n + 2 helyen venn fel az abszolt szlsrtkt (D) vltakoz eljellel, csakgy, mint (1) (1) (1) (1) p1 s p2 (6.3.1. ttel). Ez csak gy lehet, ha p1 s p2 is ugyanezeken a helyeken veszi fel (1) (1) a szlsrtkt. De akkor p1 s p2 legalbb n + 2 helyen ugyanazt az rtket veszi fel, gy
szksgkppen azonos polinomokrl van sz. gy ellentmondshoz jutottunk. Hogyan llthatjuk el az optimlis polinomokat? Vizsgljuk a krdst a edfok polinomot. Nyilvnvalan polinom legalbb
(1)
(1)
(1)
(1)
T0 (x) = 1
T1 (x) = x.
(n + 2)-szer
x vltoz alkalmas vlasztssal x = cos alakban rhat ( [0, ]). gy teht T0 (x) = cos(0), 1 (x) = cos(1). Ekkor cos(2) = cos2 sin2 = cos2 (1 cos2 ) = 2 cos2 1 = 2x2 1. T
Ez a polinom a konstrukci miatt hrom vltakoz eljel abszolt szlsrtkkel rendelkezik, azaz a
T2 (x) = x2 1/2
6.3.3. ttel.
A
fggvny a
polinom, amelynek
n+1
vl-
n = 1 s n = 2 vlaszts mellett nyilvnvalan igaz az llts. Az is nyilvnval, n rtk mellett a fggvnynek n + 1 vltakoz eljel abszolt szlsrtkhelye van. Nevezetesen Tn (x) szlsrtkhelyei a tk = cos(k/n) (k = 0, . . . , n) pontokban vannak, n (x)| 1/2n1 (|x| 1) s Tn (tk ) = cos(n arccos(tk ))/2n1 = cos(k)/2n1 = 1/2n1 hiszen |T (felvltva). Azt kell mr csak megmutatnunk, hogy a Tn (x) polinomok 1 fegytthatsak. Tegyk fel most, hogy n = k 1-re s n = k -ra igaz az llts. Mivel
Bizonyts. Az hogy tetszleges
2x cos(k arccos x) cos((k 1) arccos x) = 2x cos(k arccos x) (cos(k arccos x)x + sin(k arccos x) sin(arccos x)) = x cos(k arccos x) sin(k arccos x) sin(arccos x) = cos(arccos x) cos(k arccos x) sin(k arccos x) sin(arccos x) = cos((k + 1) arccos x),
ezrt
cos((k + 1) arccos x) Tk1 (x) Tk+1 (x) = = xTk , k 2 4 fegytthats (k + 1)-ed fok polinom.
(6.3.1)
A (6.3.1) formula egy itercis kpletet denil arra, hogy hogyan kaphatjuk meg a legjobban kzelt polinomokat. gy pl. Az a legkisebb a
T3 (x) = xT2 (x) T1 (x)/4 = x(x2 1/2) x/4 = x3 3x/4. fegytthats polinomok kzl teht a Tn+1 polinom normja Tn+1
lesz
alappontokat gy kell megvlasztanunk, hogy az alappontpolinom ppen a 162 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
6.3.
Interpolci Csebisev-alappontokon
Tn+1
Tn+1
polinom
xk = cos
(2k + 1) 2(n + 1)
, k = 0, . . . , n.
6.3.4. denci.
A
T0 (x) = 1
6.3.5. ttel.
A Csebisev-polinomok itercival az albbi mdon llthatk el: tbbi Csebisev-polinom a
T0 (x) = 1, T1 (x) = x,
s a
Tn (x)
fegytthatja
Bizonyts. Az els llts a (6.3.1) rekurzi alakjbl kvetkezik. A tbbi llts a 6.3.3. ttel kzvetlen kvetkezmnye. A fenti elnevezssel mondhatjuk teht, hogy az alappontpolinom normja akkor lesz a legkisebb, mgpedig
1/2n ,
T0 , . . . , T4
T10
[1, 1]
interval-
lumon. Figyeljk meg az abszolt szlsrtkhelyek s a zrushelyek elhelyezkedst. Lthat, hogy az intervallum szlei kzelben srbben vannak a zrushelyek.
6.3.6. megjegyzs.
nem az
[1, 1]
xk =
transzformcival brmilyen
a+b ba + xk 2 2
[a, b]
intervallumon is.
6.3.7. megjegyzs.
teljesl, hogy
|En (x)|
ahol
Mn+1 , x I, (n + 1)!2n
Bizonyts nlkl kzljk az albbi ttelt, amely a Csebisev-alappontokon val interpolci konvergencijrl szl.
6.3.8. ttel.
A
[a, b]
C[a, b]
6.
Interpolcis feladatok
6.3.1. bra. A
T0 , . . . , T4
T10
Csebisev-polinomok grakonjai a
[1, 1]
intervallumon.
|x|
1/(1 + x2 )
fgg-
lthatjuk 14 ill. 24 Csebisev-alapponttot vlasztva. Lthat, hogy 24 alappont esetn az interpolcis polinom grakonja mr alig klnbztethet meg az eredeti fggvnytl. rdemes az brt sszevetni a 6.2.1. bra bal oldali grakonjval.
6.4.
Hermite-interpolci
6.4. Hermite-interpolci
Az elz fejezetekben azt vizsgltuk, hogy ha ismert egy fggvny
n+1
alapontbeli rtke,
akkor hogyan llthatunk el egy olyan polinomot, amely ugyanazon alappontokban ugyanazon rtkeket veszi fel. Most ltalnostsknt vizsgljuk azt az esetet, amikor az alappontokban ismerjk mg az eredeti fggvny derivltjait is bizonyos rendig bezran. Azaz legyenek adottak az
x0 , . . . , xn klnbz alappontok, s az xk (k = 0, . . . , n) pontban legyen (0) (1) (mk ) szmrtk: fk , fk , . . . , fk . Keressnk olyan H polinomot, melyre H (i) (xk ) = fk , (k = 0, . . . n, i = 0, . . . , mk ).
(i)
adott
mk + 1
darab
Ezt az eljrst
Hermite-fle interpolcinak
HermiteFejr-interpolcirl 10
be-
N := m0 + . . . + mn + n + 1
(N 1)-ed
6.4.1. ttel.
Egyrtelmen ltezik egy olyan
HN 1
legfeljebb
(N 1)-ed
HN 1 (xk ) = fk , k = 0, . . . , n, i = 0, . . . , mk
feltteleket. Bizonyts. Legyen
(i)
(i)
HN 1 (x) = a0 + a1 x + . . . + aN 1 xN 1
1 0 . . . 1 0
. . .
x0 1
. . .
x2 0 2x0
. . .
N x0 1 (N 1)xN 2 0
. . .
x1 1
. . .
x2 1 2x1
. . .
N x1 1 (N 1)xN 2 1
. . .
. . .
Itt
N N
egyenlet van s
olyan nemnulla vektor, mellyel a mtrixot szorozva nullvektort kapnnk, akkor a nak zrushelye, akkor a polinom els
zrushelye lenne, ami lehetetlen. Itt felhasznltuk azt, hogy ha egy polinomnak
HN 1 polinomx k -szoros
k1
derivltjnak is zrushelye
x.
A tovbbiakban csak az HermiteFejr-interpolcival foglalkozunk, azaz azzal az esettel, amikor minden alappontban csak a fggvnyrtke s az els derivltja adott a keresett polinomnak
10 Fejr Lipt (1880 1959), magyar matematikus. Bvebb letrajz a http://www.omikk.bme.hu/archivum/magyarok/htm/fejerrov.htm cmen tallhat.
tankonyvtar.bme.hu 165
6.
Interpolcis feladatok
(fk
(0)
jebb
fk , k = 0, . . . , n). Ha n + 1 alappontunk van, akkor ez 2n + 2 adatot jelent, gy egy legfel(2n + 1)-ed fok polinom lesz az interpolcis polinom. Jellje H2n+1 a keresett polinomot.
(1)
Az HermiteFejr-interpolcis polinom elllthat gy, hogy az elz ttelben szerepl egyenletrendszert megoldjuk. Ezt a gyakorlatban ltalban nem alkalmazzuk, mert vannak mdszerek, melyek mveletszma lnyegesen kisebb.
6.4.2. ttel.
Az HermiteFejr-interpolcis polinom a
n 2 fk (1 2(x xk )lk (xk ))lk (x) + (0) 2 fk (x xk )lk (x) k=0 (1)
H2n+1 (x) =
k=0
k -adik
Bizonyts. Hasonlan az interpolcis polinom Lagrange-fle ellltshoz ellltunk olyan polinomokat, melyek
(2n + 1)-ed
alappontban, s a tbbi rtkk s derivltjuk pedig 0 a tbbi alappontban. Jellje alappolinomot, melyre
hk0
azt az
hk1
hk1 (xl ) = kl , hk1 (xl ) = 0, k, l = 0, . . . , n s i = 0, 1. kl a szoksos Kronecker-szimblum. Keressk az alappo2 h(x) = s(x)lk (x) alakban, ahol s(x) egy meghatrozand elsfok polinom. Mivel 2 h (x) = s (x)lk (x) + 2s(x)lk (x)lk (x), ezrt ha h-tl azt vrjuk el, hogy rtke s derivltja minden xk -tl klnbz alappontban legyen nulla, xk -ban az rtke legyen 0 s derivltja 1, akkor az s(xk ) = 0 s s (xk ) = 1 feltteleknek kell teljeslnik, azaz s(x) = x xk megfelel vlaszts. 2 Ebbl kvetkezik, hogy hk1 (x) = (x xk )lk (x) (k = 0, . . . , n). Amennyiben h-tl azt vrjuk el, hogy rtke s derivltja minden xk -tl klnbz alappontban legyen nulla, xk -ban az rtke legyen 1 s derivltja 0, akkor az s(xk ) = 1 s s (xk ) = 2lk (xk ) feltteleknek kell teljeslnik. 2 Teht az s(x) = 1 2(x xk )lk (xk ) j vlaszts. gy hk0 (x) = (1 2(x xk )lk (xk ))lk (x). A
ahol linomokat keresett interpolcis polinom teht a
H2n+1 (x) =
k=0
+
k=0
fk hk1 (x)
(1)
alakban rhat. Ezt akartuk megmutatni. Az interpolcis hibnl ismertetett mdon igazolhat az albbi ttel az HermiteFejrinterpolci hibjval kapcsolatban.
6.5.
6.4.3. ttel.
Tegyk fel, hogy az az
f C 2n+2 (I) fggvnyt interpolljuk a HermiteFejr-interpolcival x0 , . . . , xn alappontokban, ahol I = [xmin , xmax ]. Ekkor egy tetszleges x I pontban az f (2n+2) (x ) 2 w (x) (2n + 2)! n+1 x index arra
interpolcis hiba az
egy, az
pont megvlasztstl).
spline 11 -interpolcinak
nevezzk.
f0 , . . . , fn ,
sk (k = 1, . . . , n).
Szakaszonknt
sk (x) = fk1
s(x) =
ha ha . . . ha
11 Angol sz, vkony, lapos, hajlthat fa vagy fm csk, melyet grbk rajzolsra hasznlunk.
tankonyvtar.bme.hu 167
6.
Interpolcis feladatok
6.5.1. ttel.
Legyen
f C 2 (I).
|s(x) f (x)|
ahol
M2 2 h , 8 I
intervallumon, s
M2
msodik derivltjra az
a szomszdos alap-
pontok kztti maximlis tvolsg. Bizonyts. A ttel a 6.2.5. s a 6.2.7. ttelek szakaszonknti alkalmazsbl addik. A lineris spline-interpolci megvalstja azt a kvetelmnyt, hogy monoton koordintk esetn az interpolcis fggvny is monoton. Htrnya viszont, hogy a teljes nyert interpolcis fggvny nem lesz derivlhat (lsd a 6.5.1. brt).
[x0 , xn ] intervallumra
6.5.1. bra. A (0,4), (1,-1) (2,3) (3,3) (5,0) pontokhoz tartoz lineris spline-interpolcis fggvnyek grakonjai.
interpolcis fggvny
s interpolcis fggvny derivltjnak rtkt az x0 pontban. Legyen [x0 , x1 ] szakaszon Hermite-interpolcit vgrehajtva egyrtelmen meghatrozott egy olyan s1 legfeljebb msodfok polinom, melyre s1 (x0 ) = f0 , s1 (x0 ) = d0 s s1 (x1 ) = f1 . Vlasszuk d1 -nek az s1 (x1 ) rtket. Ezutn az [x1 , x2 ] szakaszon Hermite-interpolcit vgrehajtva egyrtelmen meghatrozott egy olyan s2 legfeljebb msodfok polinom, melyre s2 (x1 ) = f1 , s2 (x1 ) = d1 s s2 (x2 ) = f2 . A tbbi intervallumon hasonlan eljrva az ered s fggvny s d0 .
Ekkor az els derivltja is folytonos lesz az egsz intervallumon.
x0 , . . . , x n
pontokban a
d0 , . . . , d n
rtke-
ket, akkor minden rszintervallum mindkt vgpontjban adott egy-egy fggvnyrtk s egy-egy 168 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
6.5.
derivltrtk. Ezek egyrtelmen meghatroznak egy legfeljebb harmadfok polinomot (Hermite Fejr-interpolci). Mivel a derivltakat tetszlegesen vlaszthatjuk, ezrt elrhet, hogy az interpolcis fggvny monoton legyen, ha a pontok koordinti monotonok. Ilyen interpolcira lthatunk pldt a 6.5.2. brn.
6.5.2. bra. A (0,4), (1,-1) (2,3) (3,3) (5,0) pontokhoz tartoz, szakaszonknt harmadfok, monotonitst megrz interpolci.
Ez az eljrs ismt csak folytonosan derivlhat interpolcis fggvnyt ad. Ltni fogjuk, hogy a
d0 , . . . , d n
sk az [xk1 , xk ] intervallumon adott legfeljebb harmadfok polinom (k = 0, . . . , n). dk1 s dk derivltrtkekkel sk az HermiteFejr-interpolci segtsgvel adhat
alappontok
xk1 xk1
[., ., .]f
[., ., ., .]f
fk fk1 xk xk1
dk1
=: ck2
dk fk fk1 xk xk1 xk xk1
xk xk
fk dk fk sk
az
dk xk xk1
k
f f
xk xk1
k1
=: ck3
xk xk1
cki
egytthatk a
egyttha-
6.
Interpolcis feladatok
alakban. Mivel
xk
pontban, a
2 dk1 + 4 xk xk1 =6
egyenlethez jutunk van s Ha
1 1 + xk xk1 xk+1 xk
dk +
2 dk+1 xk+1 xk
(6.5.1)
(k = 1, . . . , n 1). Amennyiben a d0 , . . . , dn
n1 egyenletnk D0
s
n+1 k = 1,
Legyenek ezek az intervallum kt szln elrt msodik derivltak. Jellje ket akkor
Dn .
2 D0 1 f1 f0 d0 + d1 = 3 x1 x0 x1 x0 (x1 x0 )2 2
egyenlsget kapjuk. Ha
(6.5.2)
k = n,
akkor
(6.5.3)
d0 , . . . , d n
x0
xn
pontokban
D0
ill.
Termszetesen mivel
n1
biztosthat, hogy elrjuk a msodik derivltat a vgpontokban. Szoks az is, hogy magt a derivltrtket rjuk el ezekben a pontokban. A (0,4), (1,-1) (2,3) (3,3) (5,0) pontokhoz tartoz legfeljebb harmadfok spline-interpolcis fggvny grakonjt a 6.5.3. brn lthatjuk. Ebben az esetben azt rtuk el a vgpontokban, hogy a derivlt legyen nulla. A 6.5.4. brn pedig szintn egy legfeljebb harmadfok spline-interpolci lthat, de itt a vgpontokban azt rtuk el, hogy a msodik derivlt legyen nulla. Amennyiben az alappontok ekvidisztns mdon helyezkednek el, azaz
xk+1 xk = h
minden
k = 0, . . . , n 1
6.5.
6.5.3. bra. A (0,4), (1,-1) (2,3) (3,3) (5,0) pontokhoz tartoz marmadfok spline-interpolcis fggvny grakonja. A derivlt a vgpontokban nulla.
6.5.4. bra. A (0,4), (1,-1) (2,3) (3,3) (5,0) pontokhoz tartoz harmadfok spline interpolcis fggvny grakonja. A msodik derivlt a vgpontokban nulla.
h . 3 . . 0 0
2 1 0
1 4 1 0 0
0 1 4 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 1 0
0 0 0 4 1
0 0 0
f1 f0 D0 h2 /6 d0 f2 f0 d1 f3 f1 . . = . . . . . . . 1 dn fn fn1 + Dn h2 /6 2
tankonyvtar.bme.hu 171
6.
Interpolcis feladatok
h . 3 . . 0 0
4 1 0 0 0 1 4 1 0 0 0 1 4 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0
0 0 0 4 1
0 0 0
d1 d2 . . . . . . 1 dn1 4
d0 h/3 f2 f0 f3 f1
. . .
dn h/3
alak lesz. Mindkt esetben az egyenletrendszer mtrixa invertlhat, gy egyrtelm megoldst kapunk a derivltrtkekre, amik pedig egyrtelmen meghatrozzk az egyes szakaszokon a legfeljebb harmadfok polinomokat. A kvetkez ttel a szakaszonknt harmadfok spline-interpolcis fggvny egy extremlis tulajdonsgrl szl.
6.5.2. ttel.
Legyenek adottak az (D0 s
(xi , fi ), (i = 0, . . . , n)
pontok, s legyen
Dn )
nullk. Ekkor
(s (x))2 dx
I
minden olyan
(g (x))2 dx
I
g C 2 (I)
Bizonyts. Nyilvnvalan
s C 2 (I).
xn
Legyen
g C 2 (I)
(g (x))2 (s (x))2 dx 0.
x0
Knnyen ellenrizhet, hogy
xn
xn
xn
(g (x))2 (s (x))2 dx =
x0 x0
(g (x) s (x))2 dx 2
x0
A jobb oldali els tag nyilvn nemnegatv. A msodik tagrl pedig megmutatjuk, hogy nulla az rtke. Ez igazolja az lltsunkat. Szmoljuk ki az integrlt rszintervallumonknti parcilis integrlssal, kihasznlva, hogy a rszintervallumokon
xn
xk
=
k=1
=
k=1
6.6.
Trigonometrikus interpolci
=
k=1
[s (x)(s (x) g (x))]xk [s (x)(s(x) g(x))]xk k1 k1 = s (xn )(s (xn ) g (xn )) s (x0 )(s (x0 ) g (x0 )) = 0.
=D0 =0 =Dn =0
Az utols sor egyrszt abbl kvetkezik, hogy az utols eltti sor msodik tagjban szerepl
s(x) g(x)
adott pontokon. Msrszt az els tagbeli sszegbl csak az utols s els tagok klnbsge marad meg, hiszen a fggvnyek msodik derivltja folytonos az intervallumon. Ezzel igazoltuk a ttel lltst.
szerint periodikus
f (x)
f (x) = 0 +
j=0
alak ellltst, ahol periodikus fggvny az
(j cos(jx) + j sin(jx))
0 , j , j (j = 1, 2, . . .) megfelel konstansok. A fenti ellltst az f (x) trigonometrikus sornak nevezzk. Ismert hogy ahhoz, hogy a Fourier-sor 1 2 1 1
0 2 2
f (x)
0 = j = j =
f (x) dx,
0 2
(6.6.1)
mdon kell megvlasztanunk, gy nyerjk az n. Fourier-sort. A fenti integrlokat csak nagyon specilis
f (x)
f (x)
fggvnyt sem ismerjk pontosan, hanem csak nhny (leggyakrabban ekvidisztns) alappontban ismerjk az rtkt. A fenti problmkat gy hidalhatjuk t, hogy elszr az
f (x)
rikus interpolcinak
trigonomet-
f (x)
fggvny Fourier-sort.
Interpolcis feladatok sorn akkor is rdemes lehet trigonometrikus interpolcit hasznlni, ha tudjuk, hogy az adatok periodikus fggvnyrl szrmaznak. Tegyk fel teht, hogy egy
fk = f (xk )
rtkeit az
xk = 2k/(n + 1) [0, 2)
azt a
pontokban (k
= 0, . . . , n),
m
ahol
tm (x) = a0 +
j=1
alak n.
m-edfok
0, . . . , n).
Az ismeretlen
nevezzk. sszesen
|am | + |bm | = 0) trigonometrikus polinomot, amelyre tm (xk ) = fk (k = a0 , a1 , . . . , am , b1 , . . . , bm egytthatkat diszkrt Fourier-egytthatknak n + 1 egyenletet kell kielgteni 2m + 1 diszkrt Fourier-egytthatval. Ha
(ha tankonyvtar.bme.hu 173
6.
Interpolcis feladatok
n pros, akkor vrhat, hogy m = n/2 fok polinom megfelel lesz. Ha n pratlan, akkor m = (n + 1)/2-ed fok polinomra lesz vrhatan szksgnk. Ekkor viszont n + 2 egytthatnk s n + 1 egyenletnk lesz, azaz a rendszer alulhatrozott. Vegyk szre, hogy bm sin(mxk ) = bm sin
azaz a
n + 1 2k 2 n+1
= bm sin(k) = 0,
bm
egytthathoz tartoz
sin(mx) fggny az alappontokban nullt vesz fel, gy bm rtke bm rtkt vlaszthatjuk nullnak. Az ilyen trigonometrikus n esetn) kiegyenslyozott trigonometrikus polinomoknak nevezzk. Azt,
hogy a fent kitallt fokszm polinomokkal meg is valsthat az interpolci, az albbi ttelek
6.6.1. ttel.
Tegyk fel, hogy az Tegyk fel, hogy kiegyenslyozott
xk = 2k/(n+1) alappontokban adottak az fk R rtkek (k = 0, . . . , n). n pratlan. Ekkor egyrtelmen ltezik egy olyan m = (n + 1)/2-ed fok tm trigonometrikus polinom, melyre tm (xk ) = fk (k = 0, . . . , n). A vals 1 n+1 2 n+1 2 n+1
n
a0 = aj = bj =
fk ,
k=0 n
am =
1 n+1
fk cos(mxk ),
k=0
fk cos(jxk )
k=0 n
(j = 1, . . . , m 1), (j = 1, . . . , m 1).
fk sin(jxk )
k=0
Bizonyts. A ttelt gy igazoljuk, hogy ellltjuk explicit mdon az interpolcis polinomot. Kzben ltni fogjuk, hogy az elllts egyrtelm. A kompex szmok Euler-alakjt hasznlva
cos(jx) =
eijx + eijx 2
sin(jx) = tm
eijx eijx . 2i
polinomba.
tm (x) = a0 +
j=1 =:c0
aj
eijx + eijx eijx eijx + bj 2 2i =:cj =:cj aj bj i ijx aj + bj i ijx + e + e 2 2 cm imx cm imx e + e . 2 2
=:cm /2
=:cm /2
m1
= a0 +
j=1 m1
am imx e + 2
am 2
eimx
=
j=(m1)
cj eijx +
6.6.
Trigonometrikus interpolci
c0 = a 0 , aj bj i , cj = 2 aj + bj i cj = , 2 cm = cm = am
jellseket. Ezeket a
(6.6.2)
cj (j = m, . . . , m) a 0 = c0 , am = cm ,
cj
egytthatkkal:
(6.6.3)
= fk , azaz
(6.6.4)
m1
cj eijxk +
j=(m1)
interpolcis kvetelmnyek teljestsre (k Vezessk be a
w = ei2/(n+1)
komplex egysggykre (w
jellst az
(n + 1)-edik
n+1
= 1).
Ezzel a jellssel
eijxk = wjk
s
m1
cj wjk +
j=(m1)
cm cm (1)k + (1)k = fk 2 2
cm wmk
cj wjk = fk
j=(m1)
alakot lti.
(k = 0, . . . , n)
(6.6.5)
1 w(m2) w2(m2)
. . .
1 w(m1) w2(m1)
. . .
1 wm w2m
. . .
f0 f1 f2
. . .
wn(m2)
wn(m1)
wnm
cm
cn+1
fn
fn+1
tankonyvtar.bme.hu 175
Gn+1
6.
Interpolcis feladatok
(6.6.6)
cn+1 -re,
ahol az als indexek a mtrixok s vekto (1/ n + 1)Gn+1 mtrix unitr (inverze a
cn+1 =
vagy koordintnknt
1 GH fn+1 , n + 1 n+1
(6.6.7)
cj =
1 n+1
fk wjk ,
k=0
j = (m 1), . . . , m
(6.6.8)
index sornak
index elemt (k
= 0, . . . , n, j = (m
1), . . . , m)
m m
wks wjs =
s=(m1)
ws(kj)
ha
n + 1, w
(m1)(k1) (w
kj n+1
k = j, k = j.
1 wkj 1 )
= 0,
ha
Mivel az
fk
egyms konjugltjai;
a 0 = c0
am = cm
Fourier-szintzis
vagy ms nven
Fourier-analzis
vagy ms nven
kple-
tnek nevezzk. Ezen kplet segtsgvel lehet az alappontokbeli fggvnyrtkekbl a komplex Fourier-egytthatkat meghatrozni. Az elz ttelhez hasonl igaz pros
n esetn
6.7.
Gyors Fourier-transzformci
6.6.2. ttel.
Tegyk fel, hogy az
xk = 2k/(n + 1) alappontokban adottak az fk R rtkek (k = 0, . . . , n). Tegyk fel, hogy n pros. Ekkor egyrtelmen ltezik egy olyan m = n/2-ed fok tm trigonometrikus polinom, melyre tm (xk ) = fk (k = 0, . . . , n). A vals diszkrt Fourieregytthatk az albbi mdon szmolhatk:
a0 = aj = bj =
fk ,
k=0 n
fk cos(jxk )
k=0 n
(j = 1, . . . , m), (j = 1, . . . , m).
fk sin(jxk )
k=0
6.6.3. megjegyzs.
tulajdonkppen a (6.6.1) kpletben szerepl folytonos Fourier-egytthatk numerikus kzeltsei (lsd a numerikus integrlsrl szl 8. fejezetet).
6.6.4. plda.
Mivel
Hatrozzuk meg a
9 3 4 3
Itt az utols eltti oszlopban a fggvnyrtkek s a trigonometrikus rtkek vektornak skalris szorzatai szerepelnek. Az utols oszlopban pedig ezen rtkek vannak beszorozva
a2
t2 (x) =
GH n+1
cn+1
mtrixszal. Ez alapesetben
(n + 1)2
komplex szorzst
(n + 1)-edik
csak a szorzsokat szmoljuk. Ezt azzal indokoljuk, hogy egy komplex sszeads csak 2 op, tankonyvtar.bme.hu 177
6.
Interpolcis feladatok
6.6.1. bra.
mg egy komplex szorzs 6 op.) Vajon megvalsthat-e ez a szorzs kevesebb mvelettel is? Els rnzsre ez egyltaln nem vilgos, hiszen a met tartalmazhat, hiszen ennyi klnbz
GH n+1
n+1
klnbz ele-
n + 1-edik
n+1
m = (n + 1)/2-ed
m = (n + 1)/2
m-et,
hol
(n + 1)/2-t
gyors Fourier-transzformcinak
transform (FFT)) neveznek, mr Gauss is lerta az 1800-as vek elejn, de munkja feledsbe merlt. Az eljrst a szmtgpek megjelensvel jra felfedeztk. Az els alkalmazs 1965-ben James W. Cooley (IBM) s John W. Tukey (Princeton) nevhez fzdik. A diszkrt Fourier-transzformci vgrehajtshoz ki kell szmolnunk a (6.6.7) mtrixszorzst, ami koordintnknt kirva
cm
1 1 1 . . = n+1 . 1 1
w(m1) w(m2)
. . .
w2(m1) w2(m2)
. . .
w(m1) wm
w2(m1) w2m
alak. Sorcserkkel (a
cn+1
w (n + 1)-
6.7.
Gyors Fourier-transzformci
ws = ws+2m ),
. . . c(m1) cm cm1 . . . c1
c0 c1 c2
1 1 1 . . . 1 = 1 n+1 1 1 . . . 1
1 w w2
. . .
1 w2 w4
. . .
1 ... ...
1 wn w2n
.
f0 f1 f2
. . .
w wm (m+1) w
. . .
m1
w w
2(m1)
w2m
2(m+1)
. . .
wn
w2n
... ...
. . .
fn
wn
Ezutn oszlopcsert hajtunk vgre gy, hogy elre cserljk a mtrix pratlan sorszm oszlopait. Ekkor az
fn+1
. . . c(m1) cm cm1 . . . c1
c0 c1 c2
1 = n+1
1 1 1
1 w2 w4
1 ... ...
1 wn1 w2(n1)
1 w w2
1 w3 w6
1 ... ...
1 wn w2n
. . .
1 1 1
. . .
w2(m1) w2m w2(m+1)
. . .
... ... ...
. . .
w(m1)(n1) wm(n1) w(m+1)(n1)
. . .
wm1 wm w(m+1)
. . .
w3(m1) w3m w3(m+1)
. . .
... ... ...
. . .
w(m1)n wmn w(m+1)n
. . .
1
. . .
w2n
. . .
...
. . .
wn(n1)
. . .
wn
. . .
w3n
. . .
...
. . .
wn
f0 f 2 f 4 . . . fn1 f1 f3 . . . fn
Fn+1
1 = [f0 , f2 , f4 , . . . , fn1 ]T Rm s 2 = [f1 , f3 , . . . , fn ]T Rm vektorra. Vegyk f f szre, hogy az Fn+1 mtrixot mr az n+1 szmrtk maga meghatrozza. A DFT felgyorstshoz
osszuk fel kt az Vezessk be a fenti egyenletrendszer mtrixra az
Fn+1
jellst, tovbb az
fn+1
vektort is
Fn+1
szorzst kellene
1 f 2 f
(n + 1)2 1 f 2 f
Fn+1
Fn+1
F(n+1)/2 0 0 F(n+1)/2
1 f 2 f
F(n+1)/2
pedig az
rixszorzs sorn!
F(n+1)/22 f
az (n + 1)/2-edik egysggykkkel Fn+1 -hez hasonlan kpzett mtrix, m m-es egysgmtrix. Szmoljuk ki a komplex szorzsok szmt a fenti mt2 Elszr is az F(n+1)/21 szorzs ((n + 1)/2) komplex szorzst jelent, hasonlan f
D(n+1)/2
6.
Interpolcis feladatok
jelent. Tbb komplex szorzsra nincs szksg. gy sszesen az eredeti helyett csak
(n + 1)2
komplex szorzs
2
szorzst kell vgrehajtanunk.
n+1 2
n+1 2
Mg jelentsebb mveletszm-cskkens rhet el, ha szrevesszk, hogy az az eredeti feladat esetn. Ha teht alkalmazhat az Jellje
F(n+1)/21 szorzs f
n+1
sorn egy ugyanolyan tpus, csak kisebb mret mtrixszal kell szoroznunk egy vektort, mint
F(n+1)/21 f
s az
F(n+1)/22 f
(n + 1)/2
ketthatvny. Vizsgljuk meg ezt az esetet kln az elvgzend komplex szorzsok szempontjbl.
Ql
2l
Ql = 2Ql1 + 2l1 ,
hiszen kt fele akkora mret mtrixszorzst s egy fele akkora mret vektor elemeinek egysggykhatvnyokkal val beszorzst kell elvgeznnk. Figyelembe vve, hogy indukcival kapjuk, hogy
Q1 = 1,
teljes
Ql = l2l1 =
tblzatban az osztpontok
1 (n + 1) log2 (n + 1). 2
n+1
(xi , fi ) (i =
1, . . . , n)
xi
fi
adott pontokhoz "legkzelebb halad" fggvnyt. Mieltt tisztzzuk, hogy mit rtnk "legkzelebb halad" fggvnyen, vezessk be a kvetkez jellseket. Az Egy adott
fggvny esetn
(x)
fogja jellni a
f az [f1 , . . . , fn ]T
[(x1 ), . . . , (xn )]
vektort.
x = [x1 , . . . , xn ]T .
6.8.1. denci.
Azt mondjuk, hogy a
fggvny
(xi , fi ) (i = 1, . . . , n)
esetn.
pontoknak, ha
A legkisebb ngyzetek rtelemben legjobb kzeltst kt specilis esetben fogjuk megadni. Az egyik az az eset lesz, amikor
a legfeljebb
bizonyos, az alappontokon ortonormlt fggvnyek sszes lineris kombincija. Kezdjk teht azzal az esettel, amikor
F = Pk , azaz a legfeljebb k -adfok polinomok halmaza. k nkl. 1, ahol nkl. jelli az x1 , . . . , xn rtkek kztt a
6.8.
6.8.2. ttel.
Az jebb
(xi , fi ) (i = 1, . . . , n) pontokat legkisebb ngyzetek rtelemben legjobban k -adfok (k nkl. 1) ak xk + . . . + a1 x + a0 polinom egytthatit az a f 1 x1 x2 . . . x k 0 1 1 1 1 x2 x2 . . . xk a1 f2 2 2 a 2 = f3 . . . . . . . . . . . . . ... . . . . . 1 xn x2 . . . xk n n fn ak
A a f
kzelt, legfel-
(6.8.1)
aLS
megoldsa
Bizonyts. A (6.8.1) egyenletrendszer nyilvnvalan tlhatrozott, hiszen teljes rang. Ha a mtrix nem lenne teljes rang, akkor lteznnek olyan melyek kzl legalbb az egyik klnbzik nulltl, s
1 1 . . . 1
Ekkor viszont az
x1 x2
. . .
x2 1 x2 2
. . .
xn
x2 n
a xk 0 1 a xk 1 2 a 2 = . . . . . . k xn ak k -ad
0 0 0
. . .
0 nkl. k + 1
zrushelye
ak xk + . . . + a1 x + a0
legfeljebb
fok polinomnak
ak xk + . . . + a1 xi + a0 (i = i
AaLS f
2 2 1, . . . , n), ezrt az
aLS megoldsra Aa f 2 minden a Rk+1 esetn. Mivel (Aa)i = 2 aLS vektor ppen a legkisebb ngyzetek rtelemben
6.8.3. plda.
Keressk meg a
a0 a1 = 1 x1 1 x2 1 x3 1 x4
1 x1
1 x2
1 x3
1 x4
f1 f2 f3 . f4
n
n i=1
xi
n i=1 xi n 2 i=1 xi
a0 a1
a0 = 9/5, a1 = 9/10,
polinom lesz.
tankonyvtar.bme.hu 181
6.
Interpolcis feladatok
Most trjnk t arra az esetre, amikor abszcisszj pont az adott pontok kztt.
n = nkl. ,
6.8.4. denci.
T (x)2 (x) = 0. 1
alappontokon. Azt mondjuk, hogy a Ha
1 s 2 fggvnyek ortogonlisak az x1 , . . . , xn alappontokon, T (x)(x) = 1, akkor azt mondjuk, hogy a fggvny normlt
ha az
6.8.5. ttel.
Legyenek legyen
1 , . . . , k pronknt ortogonlisak s normltak az x1 , . . . , xn alappontokon, s F = lin{1 , . . . , k }, azaz a i fggvnyek sszes lineris kombincija. Az (xi , fi ) (i = 1, . . . , n) (klnbz abszcisszj) pontokat legkisebb ngyzetek rtelemben legjobban kzelt fggvny az F halmazbl a
k
(x) =
i=1
alakban rhat.
(T (x)f)i (x) i
F -bl a (x) = i=1 i i (x) alakban! Ekkor mivel tetszleges F , (x) = 1 1 (x) + . . . + k k (x) fggvny esetn 1 (x1 ) 2 (x1 ) . . . k (x1 ) 1 1 (x2 ) 2 (x2 ) . . . k (x2 ) 2 (x) = 1 1 (x) + . . . + k k (x) = . . . . . . . . . . ... . . 1 (xn ) 2 (xn ) . . . k (xn ) k F
fggvny adja a legjobb kzeltst, melyre az
gy az a
1 , . . . , n rtkek f1 1 f 2 2 f3 . = . . . . . k fn
f
ppen az
LS
tlhatrozott lineris egyenletrendszer legkisebb ngyzetek rtelemben legjobb megoldst adjk. Az egyenletrendszer az rtelemben legjobb
nk
gonalitsa miatt teljes rang is. A 3.9. fejezet alapjn az egyenletrendszer legkisebb ngyzetek
LS = [1 , . . . , k ]T
LS = (AT A)1 AT f = AT f
=E
alakban rhat, azaz
i = (AT f)i =
k j=1
6.9.
k -adfok (k n 1) polinomot megadni, akkor a kvetkez mdon jrhatunk el. VePk halmazon a p, q = pT (x)q(x) fggvny skalris szorzatot denil. Ezzel a k skalris szorzattal a GramSchmidt-ortogonalizcival ellltunk az 1, x, . . . x linerisan fggetlen polinomokbl egy ortonormlt bzist: q0 , q1 , . . . , qk , ahol az als index a polinom fokszmt
legfeljebb gyk szre, hogy a jelli. Ezutn a legkisebb ngyzetek rtelemben legjobban kzelt polinom a
p(x) =
i=0
alakban rhat.
6.8.6. plda.
Keressk meg a
feljebb elsfok polinomot az alappontokon ortonormlt polinomok segtsgvel! Az 1 s x polinomokat ortonormlva a megfelel skalris szorzatra nzve azt kapjuk, hogy q0 (x) = 1/2 s q1 (x) = (x 1/2)/ 5. Innt
p(x) =
91 9 1 9 9 + (x 1/2) = x+ . 22 2 5 5 10 5
Az
xk = 2k/(n + 1) (k = 0, . . . , n)
alappontokon az
1, sin(jx), cos(jx), (j = 1, 2, . . .)
polinomok ortogonlis rendszert alkotnak (6.10.15. feladat). Ezt a tnyt felhasznlva a legkisebb ngyzetek rtelemben legjobban kzelt legfeljebb
k -adfok
hatrozhat meg, mint a polinomok esetn. Eredmnyl azt kapjuk, hogy az alacsonyabb fokszm ngyzetsszeg rtelemben legjobban kzelt trigonometrikus polinomokat az interpoll trigonometrikus polinom megfelel csonkolsaival llthatjuk el.
6.8.7. megjegyzs.
legfeljebb
Tegyk fel, hogy mr meghatroztuk az adott pontokat legjobban kzelt polinomot. Ekkor, ha a legfeljebb
k -adfok
k+1
kivncsiak, s a normlegyenlettel hatroztuk meg a legfeljebb akkor cak meg kell hatrozni a
k -adfok
most jra fel kell rni, s meg kell oldani. Ha ellenben ortonormlt polinomokat hasznltunk, hozzadni a korbban kiszmolt
z=polyfit(x,y,n): Az interpolcis pontok x-koordintit az x vektor, mg y -koordintit az ugyanolyan mret y vektor tartalmazza. Az n rtk az illesztend polinom fokszmt
adja meg. Ha nincs a felttelnek megfelel polinom, akkor a legkisebb ngyzetek rtelmben legjobban kzelt polinomot kapjuk vissza. Az interpolcis polinom egytthati a vektorba kerlnek a legmagasabb fok taggal kezdden. tankonyvtar.bme.hu 183
6.
Interpolcis feladatok
yi=polyval(z,xi):
yi
xi
vek-
yi = interp1(x,y,xi,'mdszer'): A parancs az x s y vektorok ltal meghatrozott pontokra illeszt a 'mdszer' eljrsnak megfelelen egy interpolcis fggvnyt. Ezen fggvny
xi
yi
vektor. A 'mdszer'
lehet pl. 'linear': szakaszonknt lineris, 'spline': szakaszonknt legfeljebb harmadfok spline-interpolci, 'cubic': szakaszonknt legfeljebb harmadfok polinom, mely monotonitstart. Azaz monoton
fft, ifft:
6.9.1. bra.
6.10.
Feladatok
>> z=polyfit(x,y,3) % Legfeljebb harmadfok interpolcis polinom. z = 0.0000 1.0000 0.0000 0.0000 % Ez az x^3 fggvny.
>> yi=interp(x,y,[0.5,1.5],'linear'); % Szakaszonknt lineris % interpolcis fggvny 0.5-nl s 1.5-nl. yi = 0.5000 2.5000 fft
A MATLAB
function dftvalos(n,fx) m=(n+1)/2; h = 2*pi/(n+1); x=[0:h:2*pi*(n/(n+1))]; w=exp(i*h); %fx=eval(f); X=fft(fx); a=2*real(X(2:m+1))/(n+1); b=-2*imag(X(2:m+1))/(n+1); display('A vals diszkrt Fourier-egytthatk:') a0=X(1)/(n+1) if mod(n,2) == 1 a(m)=a(2)/2; end a b http://www.chem.
uoa.gr/applets/AppletPoly/Appl_Poly2.html
6.10. Feladatok
Polinominterpolci tankonyvtar.bme.hu 185
6.
Interpolcis feladatok
1 0
ex
dx
integrl rtkt gy, hogy a [0,1] intervallumot t egyenl rszre osztjuk, meghatrozzuk az interpolcis polinomot, s azt integrljuk az adott intervallumon! Az integrl "pontos" rtke 0.7468241330. Kzeltsk az sgvel az
ex
x = 0.5
6.10.2. feladat. A
0, 1, 2, 3, 4, 5, 6).
hatrozzuk meg szmthatunk!
sin 1
(1, 2)
pon-
tokra illeszked interpolcis polinomot a Lagrange- s Newton-mdszerrel is! 6.10.4. feladat. Szmtgp hasznlata nlkl hatrozzuk meg az segtsgvel! 6.10.5. feladat. Hogyan egyszersthet az interpolcis polinom meghatrozsa a Newtonmdszerrel, ha az alappontok egyforma tvol vannak egymstl? Hatrozzuk meg a mdszerrel a (4,1), (6,3), (8,8) s (10,20) pontokhoz tartoz interpolcis polinomot! 6.10.6. feladat. Igazoljuk a 6.2.7. ttelt teljes indukci segtsgvel! 6.10.7. feladat. Szmtgp nlkl hatrozzuk meg azt a legalacsonyabb fok melyre
x+x2
fggvny
polinomot,
p (3) = 2! p(2) = 2
s
p (2) = 1
6.10.9. feladat. Illessznk szakaszonknt harmadfok spline-fggvnyt az (1,2), (2,1), (3,1) alappontokra! 6.10.10. feladat. Osszuk fel a tekintsk az osztpontokban a maximlis eltrst! 6.10.11. feladat. Adjuk meg, hogy hogyan egyszersdik a interpolcira! Trigonometrikus interpolci 6.10.12. feladat. Tekintsk az f (x) = |x| fggvnyt, 2k/(3 + 1) (k = 0, . . . , 3) pontokat. Hatrozzuk meg az f nlkl! 6.10.13. feladat. Hogyan lehet a DFT-t felgyorstani abban az esetben, ha az interpolcis alappontok szma nem ketthatvny, hanem kt egsz szm szorzatakt ll el? 6.10.14. feladat. Alkalmazzuk az elz feladatban konstrult FFT mdszert a Fourier-egytthatk 186 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK) s vlasszuk alappontoknak az
[0, ] intervallumot hrom egyenl hosszsg intervallumra s sin x fggvny rtkeit. Az gy nyert pontokra illessznk szaka-
qk
xk =
6.10.
Feladatok
ellltsra az albbi alappontok esetn! Az FFT eljrst kzi szmolssal hajtsuk vgre!
xk fk
0 0
2/6 1
4/6 1
6/6 0
8/6 1
10/6 1
1, cos(jx), sin(jx) (j = 1, 2, . . .) n
fggvnyek ortogonlisak
xk = 2k/(n + 1) (k = 0, . . . , n)
6.10.16. feladat. Hatrozzuk meg az albbi pontokat legkisebb ngyzetek rtelemben legjobban kzelt legfeljebb els s msodfok polinomokat! (Oldjuk meg a feladatot a normlegyenlet felrsval ill. ortogonlis polinomok hasznlatval!) Oldjuk meg a feladatot ellenrzskppen a MATLAB
polyfit
parancsval is!
xk fk
1 3
0 1
1 1
2 0
4 1
Ellenrz krdsek
1. Adjuk meg a globlis polinominterpolci alapfeladatt! Mit mondhatunk az interpolcis polinom ltezsrl s unicitsrl? 2. Hogyan llthatjuk el az interpolcis polinomot Lagrange mdszervel? 3. Deniljuk az osztott-dierencik fogalmt s adjuk meg tulajdonsgaikat! 4. Hogyan llthatjuk el az interpolcis polinomot Newton mdszervel? 5. Mit ad meg az interpolcis hiba s hogyan tudjuk megadni az rtkt? 6. Mit szemlltet Runge pldja? 7. Milyen extremlis tulajdonsgai vannak a Csebisev-polinomoknak? 8. Mit rtnk HermiteFejr interpolcin? Hogy kell ezt az interpolcis polinomot meghatrozni? 9. Mit rtnk spline-interpolcin? 10. Milyen tulajdonsggal rendelkeznek a szakaszonknt legfeljebb harmadfok spline-fggvnyek? 11. Mit jelentenek a Fourier-szintzis s Fourier-analzis fogalmak? 12. Milyen eljrst neveznk gyors Fourier-transzformcinak? 13. Hogyan hatrozhatunk adott alappontokat legkisebb ngyzetek rtelemben legjobban kzelt fggvnyeket? Hasonltsuk ssze a mdszereket!
tankonyvtar.bme.hu 187
7. Numerikus derivls
Ebben a fejezetben azt vizsgljuk, hogy hogyan lehet egy fggvny derivltjait kzelteni a fggvnyrtkek segtsgvel. Bevezetjk a halad-, retrogrd- s kzponti dierencikat. A bemutatott kpletek a dierencilegyenletek numerikus megoldsval foglalkoz fejezetben jtszanak majd fontos szerepet.
x0 , x0 h, x0 2h, . . . , x0 kh R (h > 0, k N)
kellen sokszor dierencilhat fggvny fggvnyrtkei. Jellje ezeket rendre Ebben a fejezetben azt vizsgljuk meg, hogy hogyan kzelthetjk az
f f0 , f1 , f2 , . . . , fk .
fggvny derivltjait az
x0
f0 , f0
hogy ezek a kzeltsek milyen tulajdonsgokkal rendelkeznek. A fenti tpus feladattal tallkozunk amikor diszkrt idpontokban mrt helykoordintk segtsgvel sebessget, diszkrt sebessgrtkek segtsgvel gyorsulst, diszkrt tltsmennyisg rtkek esetn ramerssget stb. szeretnnk becslni. Pl. a GPS mholdak 15 percenknt sugroznak adatokat a helyzetkrl. Hogyan kzelthetnnk a mhold sebessgt s gyorsulst az adatok alapjn? A numerikus derivls msik fontos alkalmazsi terlete a dierencilegyenletek numerikus megoldsa. Pl. a vges dierencis mdszerek esetn az ismeretlen megoldsfggvny derivltjait az egyelre szintn ismeretlen diszkrt pontokbeli fggvnyrtkek segtsgvel kzeltjk. Ebbl egy egyenletrendszert nyernk a fggvnyrtkekre, amit megoldva megkaphatjuk a megolds kzeltst.
7.1.1. denci.
Jellje a kellen sokszor derivlhat s ennek egy kzeltse legyen
f fggvny egy tetszleges derivltjt az x0 pontban Df , f (h) (a h argumentum azt fejezi ki, hogy a kzelts fgg az alappontok h tvolsgtl). Azt mondjuk, hogy az x0 pontban a f (h) kzelts rendje (legalbb) r, ha van olyan K > 0 szm, hogy |Df f (h)| Khr ,
azaz, ha
7.1.2. megjegyzs.
mjra.
7.1.3. megjegyzs. Mi csak azt az esetet vizsgljuk, mikor az alappontok elhelyezkedse ekvidisztns. A nem ekvidisztns esetre vonatkoz formulk hasonlan nyerhetk (lsd 7.6.2. feladat).
189
7.
Numerikus derivls
f+ :=
n. halad (angolul forward) dierencia s a
f1 f0 h
f :=
f0 f1 h
n. retrogrd (angolul backward) dierencia. Az elnevezs onnt szrmazik, hogy a halad dierencia az
7.2.1. ttel.
A halad s a retrogrd dierencia is elsrend kzeltse egy
f C2
fggvny derivltjnak.
Bizonyts. Alkalmazzuk a Taylor-sorfejtst a msodrend tagnl a Lagrange-fle maradktagot hasznlva egy megfelel
pontban.
f+ = f =
f1 f0 (f0 + f0 h + f ()h2 /2) f0 = = f0 + f ()h/2 = f0 + O(h). h h f0 f1 f0 (f0 f0 h + f ()h2 /2) = = f0 f ()h/2 = f0 + O(h). h h
Azaz a kzeltsek valban elsrendek. A fenti bizonyts szerepelt a konvergenciarendre vonatkoz pldaknt az 1.3.11. pldban. Az elsrend kzelts szemlletesen azt jelenti, hogy felezve
Hogyan rhetnnk el magasabb rend kzeltseket? Tekintsk a 7.2.1. brt! A halad dierencia megegyezik a (h)-val jellt egyenes meredeksgvel, mg a retrogrd dierencia az (r)-rel jellt egyenes meredeksgt adja. Az rintegyenest () jelli. Az bra jl szemllteti, hogy az
(x1 , f1 ),
(x1 , f1 )
7.3.
f1 f1 f+ + f = , 2h 2
azaz megegyezik a halad s retrogrd dierencik tlagval. A
fc :=
rtket az
f+ + f 2
fggvny
x0
7.2.2. ttel.
A kzponti dierencia msodrend kzeltse egy
f C3
Bizonyts. Megint a Taylor-sorfejtst alkalmazzuk. Most a harmadfok tagnl szerepeltetjk a Lagrange-fle maradktagot megfelel
rtk, melyre
1 s 2 (f (1 ) + f (2 ))/2 = f ().
konstansokkal. Mivel
fc =
2 fc :=
mdon kzelteni. Ezt a kzeltst
f+ f f1 2f0 + f1 = h h2
nevezzk.
7.3.1. ttel.
A msodrend kzponti dierencia msodrend kzeltse egy derivltjnak.
f C4
fggvny msodik
1 , 2
konstansokkal
2 f c =
f0 + f0 h + f0 h2 /2 + f0 h3 /6 + f h2 (2 )h4 /24
(1 )h4 /24
2f0 h2 () h2 . 12
f0 f0 h + f0 h2 /2 f0 h3 /6 + f h2
= f0 + f
()
h2 = f0 + f 12
7.
Numerikus derivls
7.4.1. ttel.
Az ja egybeesik a halad dierencival. Az
(x0 , f0 ), (x0 +h, f1 ) pontokra illeszked interpolcis polinom (legfeljebb elsfok) derivlt(x0 h, f1 ), (x0 , f0 ) pontokra illeszked interpolcis
7.4.2. ttel.
Az msodfok) derivltja
(x0 h, f1 ), (x0 , f0 ), (x0 + h, f1 ) pontokra illeszked interpolcis polinom (legfeljebb x0 -ban egybeesik a kzponti dierencival, msodik derivltja pedig a
7.4.3. ttel.
Az vny
(x0 h, f1 ), (x0 , f0 ), (x0 +h, f1 ) pontokra illeszked harmadfok spline interpolcis fggx0 -pontbeli derivltja egybeesik a kzponti dierencival.
7.4.4. megjegyzs.
x0 , x0 h, x0 2h, . . .
pontokban kzelthetjk,
hanem az adott intervallum brmelyik pontjban. Ezt megtehetjk gy, hogy a kiszmolt derivltkzeltsekre interpolcis polinomot illesztnk, s ennek rtkeivel kzeltjk a derivltakat az adott pontok kztt. Msik lehetsg, hogy megfelelen mdostjuk a fejezetben megismert kpleteket. Pl. az
(f1 f0 )/h
kplettel az
fggvny
x0 + h/2
7.5. Lpstvolsg-dilemma
A derivltak kzeltse tart a pontos derivltrtkhez, ha a tileg teht minl kisebb plda mutatja, a gyakorlatban ez nem gy van.
h lpstvolsg nullhoz tart. Elmleh rtket vlasztunk, a kzelts annl pontosabb lesz. Ahogy a kvetkez
7.5.1. plda.
Kzeltsk a
ferencival! Tegyk fel, hogy mindent 9 tizedesjegy pontossggal szmolunk. A pontos derivltrtk s a kzelts eltrst az albbi tblzat mutatja.
0.01
0.001
0.1
0.0000167093
7.6.
Feladatok
A kerektsi hiba miatt (vagy ltalnosan a lebegpontos szmts hibja miatt) teht cskken
Vizsgljuk meg a fenti plda jelensgt ltalnosan! Tegyk fel, hogy az megvltoztatjuk
f1 , f0 , f1
rtkeket
-nl
f1 = f1 + 1 , f0 = f0 + 0 , f1 = f1 + 1 ,
ahol
|1 |, |0 |, |1 | .
Ekkor
f0
ahol
f1 2f0 + f1 M4 h2 4 + 2, 2 h 12 h
M4
az
fggny abszolt rtkben vett negyedik derivltjnak egy fels becslse. A kplet
h se nem tl nagy, se nem tl kicsi. Ezt a meggyelst lpstvolsg dilemmnak nevezzk. Egy kzelt optimlis rtket gy nyerhetnk, hogy a fels becslst minimalizljuk h-ban. Az gy nyert optimlis rtk a
mutatja, hogy akkor lesz kicsi a hiba, ha
hopt.
48/M4 M4 = 1
s
= 5 1010
hopt. = 0.012
sorn nyert optimumnak. Az 1.3. fejezetben trgyaltuk a Richardson-extrapolcit, ami kt alacsonyabb rend kzelts megfelel lineris kombincijnak segtsgvel ad egy magasabbrend kzeltst s nem a meg a mdszer hatkonysgt az elz pldn! Ltjuk, hogy a rtkek pontatlanabb kzeltst adjk a derivltnak. A ad (a kzelts hibja a tblzatban tallhat), (ennek hibja 0.00002420935). Mivel a kzelts alkalmazva
pa-
ramter tovbbi cskkentsvel (ami az elbbiek alapjn a hiba nvekedshez vezethet). Nzzk
h = 0.01 lpstvolsgnl kisebb h = 0.01 lpstvolsg 0.69669 kzeltst mg a ktszer akkora h = 0.02-es 0.6966825-est msodrend, ezrt az (1.3.3) formult r = 2-vel
h = 0.001
rtkekkel nyert
7.6. Feladatok
Numerikus derivls 7.6.1. feladat. ahol Tegyk fel, hogy adottak az
h = h+ .
pontok,
tankonyvtar.bme.hu 193
7.
Numerikus derivls
3f + 4f1 f2 2h
az els derivlt egy msodrend halad kzeltse! 7.6.4. feladat. Igazoljuk a 7.4.1., 7.4.2. s 7.4.3. tteleket! 7.6.5. feladat. Alkalmazzunk Richardson-extrapolcit az
f (x) = 1/x
fggvny esetn az
f (0.05)
h-nak
0.0016-ot s 0.0008-at!
f (1), f (1)
f (1)
rtkeit!
x f (x)
1.00 1.00000
1.05 1.02470
1.10 1.04881
1.15 1.07238
1.20 1.09544
1.25 1.11803
1.30 1.14017
Ellenrz krdsek
1. Milyen mdon kzelthetjk egy fggvny els s msodrend derivltjait fggvnyrtkeinek segtsgvel? 2. Mit jelent az, hogy egy derivltkzelts elsrend vagy msodrend? 3. Igaz-e, hogy a msodrend kzelts minden esetben pontosabban kzelt a derivltat mint az elsrend? 4. Hova tart a derivlt kzelt rtke, ha a lpstvolsggal nullhoz tartunk? 5. Mi az a lpstvolsg-dilemma? 6. Mire hasznlhat a Richardson-extrapolci?
8. Numerikus integrls
Ebben a fejezetben azt vizsgljuk, hogy egy fggvny nhny helyen vett fggvnyrtknek segtsgvel hogyan lehet kzelteni a fggvny hatrozott integrljt. Az n. interpolcis mdszerekkel fogunk foglalkozni, azaz azokkal, melyek a fggvnyrtkekre illesztett interpolcis polinomok integrljval kzeltik a tnyleges integrlrtket. Rszletesen vizsgljuk a trapz-, rint- s Simpson-formulkat ill. a Gauss-fle integrlformult.
[a, b] intervallumon egy f fggvny integrlhat, s van ezen az intervallumon = f ), akkor a fggvny hatrozott integrlja a NewtonLeibniz-szably
b
ex
fggvnyek, melyek primitv fggvnyeit - amelyek lteznek, hiszen a fggvnyek folytonosak nem tudjuk zrt alakban ellltani. Van olyan eset is, amikor nem is akarjuk az integrlt pontosan kiszmtani, mert az sokkal komplikltabb lenne, mint annak egy j kzeltst adni. Pl. egy szmtgpes programnak gyakran egyszerbb egy j kzeltst mondania egy adott
fggvny
[a, b]
san meghatrozni
plda erre a dierencilegyenletek megoldsa, ahol a megolds formlis ellltsa ltalban nehz feladat, mg annak numerikus kzeltse egyszeren elllthat. Termszetesen rgtn esznkbe jut nhny lehetsges mdszer a fenti problmk kikszblsre. Ha nem lehet ellltani a primitv fggvnyt zrt alakban, akkor azrt ltalban hatvnysor formjban elllthat az. Helyettestsk ilyenkor be a NewtonLeibniz-kpletbe a hatvnysor egy rszletsszegt, s annak integrlsval adjuk meg az integrl kzeltst! Msik lehetsg, hogy mivel az integrlt a kzelt sszegek hatrrtkeknt deniltuk, egy alkalmasan vlasztott kzelt sszeg megfelel kzeltst adhatja a tnyleges integrlnak. Az els mdszer alkalmazsra csak egy pldt mutatunk, hiszen ltalban egy-egy konkrt integrl meghatrozsra alkalmazhat csak a gyakorlatban is. A msodik mdszer pedig az n. interpolcis tpus integrlsi mdszerek kz tartozik, melyeket rszletesen ismertetnk a tovbbiakban.
195
8.
Numerikus integrls
8.1.1. plda.
Hatrozzuk meg az
1 x2 e dx integrlt 0
106 -nl
ex = 1 + x +
ezrt
x3 x2 + + ..., 2! 3! x6 x4 ... 2! 3!
1
ex = 1x2 +
s a sor tagonknt integrlhat. Teht
ex
0
dx
= x
x3 x5 x7 + ... 3 5 2! 7 3!
=1
0
1 1 1 + ... = 3 10 42
k=0
Vizsgljuk meg, hogy hnyadik tagig kell elmennnk a sorfejtsben, hogy az adott pontossggal tudjuk meghatrozni az integrl rtkt. Mivel az integrl rtkt egy Leibniz-sor adja, ha annak
k -adik
tagja kisebb
tag sszege mr
106 -nl
jobban
k=0
8.1.2. megjegyzs.
sin 1 = 1
gy sok esetben nincs lnyeges klnbsg akztt, hogy az integrl kiszmtsnl vagy a kiszmtott rtk szmszer felrsnl alkalmazunk kzeltseket. Azt az eljrst, amikor egy fggvny hatrozott integrljt nem a NewtonLeibniz-szably segtsgvel adjuk meg, hanem azt valamilyen mdszerrel kzeltjk, integrlhat hvjuk. A numerikus integrls alapfeladata teht a kvetkez. Ismert egy
b f (x) dx a integrl rtkre! A becslstl termszetesen elvrjuk, hogy knnyen kiszmthat legyen. Azt is
f0 := f (x0 ), . . . , fn := f (xn ).
Adjunk becslst az
8.2.
NewtonCotes-fle kvadratraformulk
elvrjuk, hogy ha az adott pontokat egyre srbben vesszk fel (ha lehetsges), akkor a becslseink "tartsanak" a pontos integrlrtkhez s "j tulajdonsg" fggvnyekre legyen gyors ez a konvergencia. Jellje egy
integrlhat fggvny
[a, b]-n
I(f ),
s lltsuk el
In (f ) =
k=0
alakban. Az szerepl
a k fk
(8.1.2)
als index arra utal, hogy a kzelts fgg az osztpontok szmtl s elhelyezke-
kvadratraformulnak1
nevezzk, a benne
ak
8.1.3. denci.
A (8.1.2) kvadratraformult beszlnk. Jellje
zrt kvadratraformulnak nevezzk, ha szerepelnek benne az a s b-beli fggvnyrtkek. Ha ezek nem szerepelnek benne, akkor nylt kvadratraformulrl
8.1.4. denci.
Azt mondjuk, hogy az
In (f ) kvadratraformula konvergenciarendje (legalbb) r 1, ha |In (f ) I(f )| = O(hr ) (az 1.3.10. denci specilisan kvadratraformulkra megfogalmazva).
8.1.5. denci.
Azt mondjuk, hogy az In (f ) kvadratraformula pontossgi rendje r 1, ha minden Pr1 -beli polinomra I(p) = In (p), de van olyan p Pr , melyre I(p) = In (p).
A kvadratraformulk fenti ktfle rendje ltszlag klnbz dolog. Az els a konvergenciasebessget adja meg, ha
rtke tetszlegesen kicsi lehet, a msodik pedig azt adja meg, hogy
hanyadfok a legalacsonyabb fokszm polinom, amit mr nem integrl ki pontosan a kplet. A ksbbiekben ltni fogjuk, hogy ez a kt rend sszefgg.
1 Az kori grgk gy hatroztk meg a skidomok terlett, hogy konstrultak egy, a skidommal megegyez terlet ngyzetet s annak szmtottk ki a terlett. Ezt az eljrst kvadratrnak hvtk. Innt kapta a numerikus integrlsi eljrs is a kvadratra nevet, hiszen ez az eljrs is egy skidom (az x-tengely s a fggvny grakonja kz es tartomny) terlett szmolja ki.
tankonyvtar.bme.hu 197
8.
Numerikus integrls
(xi , fi ) (i =
0, . . . , n)
x0 = a
xn = b)
nci szerint a pontokra illesztett interpolcis polinom integrljt adja, azaz az interpolcis feladatoknl megismert jellsekkel
b b n n
ak b a
In (f ) =
a
Ln (x) dx =
a k=0
fk lk (x)
dx
=
k=0
fk
lk (x) dx .
intervallumon vett
Innt lthat, hogy a formula slyai a Lagrange-fle alappolinomok integrljai lesznek, azaz
[a, b]
ak =
a
Alkalmazzuk a fenti integrlokban az helyettestses integrls szablya szerint
t [0, 1].
Ekkor a
ak =
a
lk (x) dx = (b a)
0
a Kronecker-szimblumot jelli)
k indexektl fgg, hiszen rtke nem ms, mint az (i/n, ki ) (ki (i = 0, . . . , n) pontokra illesztett (egyrtelmen meghatrozott) integrlja a [0, 1] intervallumon. Vezessk be ezen integrlok rtkre az
s rtkeket zrt NewtonCotes-egytthatknak nevezznk. Ezeket elre
n,k Nzrt
jellst! Az
n,k Nzrt
kiszmthatjuk, tblzatba foglalhatjuk, s amikor szksgesek, felhasznlhatjuk ket. Nhny zrt NewtonCotes-egytthat rtkt az albbi tblzatban kzljk.
k=0 k=1 k=2 k=3 1/2 1/2 trapzformula egytthati 1/6 4/6 1/6 Simpson-formula egytthati 1/8 3/8 3/8 1/8
esetet kln is rdemes megvizsglni. Az
n=1
n=2
n=1
esetben csak az
x0 = a
x1 = b
I1 (f ) = (b a)
f0 + f1 2
alakban. Ez az rtk pontosan a 8.2.1. brn lthat trapz terletvel egyezik meg, gy a fenti kpletet trapzformulnak nevezzk. Az
I1 (f ) = (b a)
alakban. Ezt a kpletet Simpson-formulnak msodfok polinom integrljt adja meg az
3
[a, b]
3 Thomas Simpson (17101761) angol matematikus. Fbb eredmnyei az interpolci s mumerikus integrls terletrl kerltek ki. A rla elnevezett Simpson-formult Newtonnak tulajdontjk. A nemlineris egyenetek megoldsra tanult Newton-mdszert viszont Simpson rta le elszr a mai formjban. Bvebb letrajz tallhat a http://www-history.mcs.st-and.ac.uk/Biographies/Simpson.html oldalon.
198 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
8.2.
NewtonCotes-fle kvadratraformulk
8.2.1. bra. A trapzformula az brn lthat bestttett trapz terletvel kzelti az integrl rtkt.
8.2.2. bra. A Simpson-formula az brn lthat bestttett, parabolval s egyenes szakaszokkal hatrolt tartomny terletvel kzelti az integrl rtkt.
8.2.2. plda.
f (x) = x2 2x + 2 fggvny integrljnak kzeltsre az [1, 3] intervallumon. Az osztpontok az x0 = 1 s x1 = 3 vgpontok, ezen pontokban a fggvnyrtkek pedig rendre f0 = f (1) = 1 s f1 = f (3) = 5. A slyokat az elz tblzat n = 1 sorbl olvashatjuk ki. gy az integrl kzelt rtkre
Alkalmazzuk a trapzformult az
8.2.3. plda.
elz tblzat
n=2
tankonyvtar.bme.hu 199
8.
Numerikus integrls
Trjnk t a nylt NewtonCotes-formulk megadsra. Ekkor a szomszdos osztpontok egyforma tvol vannak egymstl, de a vgpontokbeli fggvnyrtkek nem szerepelnek a kvadratrakpletben. Vezessk be az ahol
h = (b a)/(n + 2).
In (f ) =
k=0
fk
lk (x) dx ,
ahol az
ak
slyok megint a
[a, b]
n,k Nnylt
az
k=0 k=1 k=2 1 rintformula 1/2 1/2 2/3 1/3 2/3 n=0
egytthati
x0 = (a + b)/2
I0 (f ) = (b a)f0
rtkkel kzeltjk. Ez az rtk nem ms, mint egy akkora, mint az
ba
alap s
f0
(lsd a bestttett terletet a 8.2.3. bra bal oldaln). Vegyk szre, hogy ez a terlet ugyanltezik) integrlja az
(x0 , f0 ) pontban az integrland fggvnyhez hzott rintegyenes (amennyiben [a, b] intervallumon (lsd a bestttett terletet a 8.2.3. bra jobb oldaln).
8.2.3. bra. Az rintformula az intervallum felnl a grakonhoz hzott rint integrljval kzelti a pontos integrl rtkt.
8.2.
NewtonCotes-fle kvadratraformulk
8.2.4. plda.
Ekkor
8.2.5. megjegyzs.
f (a) + 4f ((a + b)/2) + f (b) (b a)(f (a) + f (b))/2 + 2(b a)f ((a + b)/2) = (b a) 3 6
rtket, ami pontosan a Simpson-formula ltal adott kzelts. Vizsgljuk most meg az interpolcis kvadratraformulk pontossgi rendjt!
8.2.6. ttel.
Egy
n+1 alappontos kvadratraformula akkor s csak akkor pontos minden legfeljebb n-edfok
Bizonyts. A felttel elgsgessge nyilvnval. A msik irny igazolshoz induljunk ki abbl, hogy a formulnak pontosnak kell lennie minden
n-edfok
lj (x)
(j = 0, . . . , n)
lj (x) dx =
a k=0
ak lj (xk ) = aj .
Teht a slyok a Lagrange-fle alappolinomok integrljai csakgy mint az interpolcis kvadratraformulknl. Ezt akartuk megmutatni. Jelentse
N n,k
8.2.7. ttel.
A NewtonCotes-egytthatkra igaz az albbi kt tulajdonsg:
N n,k = 1,
k=0
tankonyvtar.bme.hu 201
8.
Numerikus integrls
1 dx = b a =
a k=0
(N
n,k
(b a)1) = (b a)
k=0
N n,k .
Ez igazolja az els lltst. A msodik pedig egyszeren abbl kvetkezik, hogy lk s lnk grakonjai egyms tkrkpei az
x = (a + b)/2
Nyilvnval, hogy a trapz- s rint-formulk pontossgi rendje 2, hiszen lineris fggvnyekre pontosak, s nyilvn vannak olyan msodfok polinomok, amelyekre pedig nem pontosak. Az is nyilvnval az elz ttel miatt, hogy a Simpson-formula pontossgi rendje legalbb 3. Valjban a pontossgi rend 4. Ez egy ltalnosabb llts kvetkezmnyeknt knnyen addik.
8.2.8. ttel.
Az pros
n + 1 alappontos n esetn n + 2.
esetn
n + 1,
Bizonyts. Az llts els rsze a 8.2.6. ttel kvetkezmnye. A msodik rsz igazolshoz tegyk fel, hogy egy tetszleges
pn+1
n pros, s gy n + 1 pratlan alappontunk van. Azt kell megmutatnunk, hogy pn+1 n + 1-edfok polinom integrljt a formula pontosan szmolja ki. rjuk fel a n + 1-edfok polinomot (x (a + b)/2) polinomjaknt pn+1 (x) = n+1 x a+b 2
n+1
+ n x
a+b 2
+ . . . + 0 ,
s hasznljuk ki, hogy a 8.2.6. ttel miatt a formula pontos minden legfeljebb Cotes-egytthatk szimmetrijt (N grakonjnak
n-edfok polinomra.
gy mr csak azt kell megmutatnunk, hogy az els tagra pontos a kvadratraformula. A Newton
n,k
= N nk,k )
s a kvetkez kpletben
((a + b)/2, 0)
b
n+1 x
a
a+b 2
n+1
dx
= (b a)
N n,k
k=0 N n,nk
f (xk ) = 0.
f (xnk )
=:f (x)
Teht erre a polinomra is pontos rtket ad a formula, hiszen a fggvny integrlja az grakonjnak tatni. Sok alappont esetn nem clszer a NewtonCotes-formulkat hasznlni (ezrt is csak kicsi
fggvny
((a + b)/2, 0)
rtkekre adtuk meg a korbbi tblzatokban az egytthatk rtkt). Ennek oka egyrszt
vagy valamilyen tblzatbl kiolvasnunk, msrszt nagyobb gpes szmolsok sorn a kiegyszersds veszlye. Nagyobb
n n
rtkek esetn az
N n,k
rtkek
kztt megjelennek negatv rtkek is, melyekkel pozitv rtkek slyozsnl fennll a szmtrtkek esetn az n. sszetett kvadratraformulkat hasznljuk. Ezeket mutatjuk be a kvetkez fejezetben.
8.3.
sszetett kvadratraformulk
elz fejezetben megismert trapz-, Simpson- s rintformulkat alkalmazzuk. gy kapjuk az n. trapz-, Simpson- s rintformulkat.
egy, az
[a, b] intervallumon integrlhat fggvny. Osszuk fel az [a, b] intervallumot n a = x0 < x1 . . . < xn = b osztpontokkal, s jelljk h-val az osztintervallumok legyen h = (b a)/n. Az f fggvny hatrozott integrljt felrhatjuk az
b n xi
f (x) dx =
a i=1 xi1
f (x) dx
tett trapzformulhoz
ssze-
In,trap (f ) =
h h f0 + h(f1 + . . . + fn ) + fn = h 2 2
8.3.1. bra. Az sszetett trapzformula a bestttett tartomny terletvel kzelti az integrl pontos rtkt.
Lthat, hogy az sszetett trapzformula egy knnyen alkalmazhat zrt kvadratraformula. Az als s fels sszeg, ha az
sn In,trap (f ) Sn f
sn
Sn
kvadratraformula rtke az integrl pontos rtkhez tart. Az sszetett trapzformula pontossgi rendje nyilvnvalan 2, hiszen a trapzformula pontossgi rendje is 2. Vizsgljuk meg a konvergenciarendet elszr egy numerikus ksrlet segtsgvel. Szmtsuk ki a formula segtsgvel az
[0, 1]
intervallumot
n 1 10 100 1000
8.
Numerikus integrls
A tblzat azt sejteti, hogy a mdszer konvergenciarendje is 2. A konvergenciarend igazolshoz szksgnk lesz az albbi, analzisbl ismert integrl-kzprtkttelre.
8.3.1. ttel.
Ha
(x)g(x) dx = g()
a a
(x) dx.
8.3.2. ttel.
Az sszetett trapzformula hibja
f C 2 [a, b]
fggvnyek esetn
In,trap (f ) I(f ) =
ahol
(b a)h2 f (), 12
[a, b]. k egy rgztett index az {1, . . . , n} halmazbl. Az (xk1 , fk1 ) s (xk , fk ) L1 (x) interpolcis polinom (ebben az esetben lineris fggvny) interpolcis x (xk1 , xk ) pontban L1 (x) f (x) = f (x ) (x xk1 )(x xk ), 2
(8.3.1)
x egy az x ponttl fgg megfelel konstans (6.2.5. ttel). Deniljuk a g : [xk1 , xk ] R fggvnyt a g(x) = f (x ) mdon, ha x (xk1 , xk ), s legyen g(xk1 ) = f (xk1 ) s g(xk ) = f (xk ). Ez a g fggvny folytonos az [xk1 , xk ] intervallumon. Az, hogy az intervallum belsejben folytonos, onnt kvetkezik, hogy ha a (8.3.1) egyenlsget elosztjuk az (x xk1 )(x xk ) szorzattal, akkor a bal oldalon ll fggvny ktszer folytonosan derivlhat x szerint. Teht g -nek is ilyennek kell lennie. Msrszt
ahol
xxk1
lim g(x) =
xxk1
lim f (x ) =
xxk1
lim
xxk
Teht lt az
g folytonos a teljes [xk1 , xk ] intervallumon. Integrljuk a (8.3.1) egyenlsg mindkt olda[xk1 , xk ] intervallumon, s alkalmazzuk a 8.3.1. integrl-kzprtkttelt ((xxk1 )(x
nemnegatv az adott intervallumon)
xk )/2
fk + fk1 h 2
xk
xk
f (x) dx =
xk1 xk1 xk
=
xk1
= g(k ) = f (k ) h , 12
xk1 3
(x xk1 )(xk x) dx 2
8.3.
sszetett kvadratraformulk
ahol
egy az
[xk1 , xk ]
Mivel
In,trap (f ) I(f ) =
k=1
ahol
f (k )
h3 (b a)h2 h3 = nf () = f (), 12 12 12
megvlaszthat a fenti mdon, a
[a, b]
n k=1
hnyados az
folytonos fggvny
darab
rtk nyilvnvalan a legkisebb s legnagyobb fggvnyrtk kz esik. A Bolzano-ttel miatt pedig ezt az rtket fel is veszi az Ezt akartuk megmutatni.
fggvny. Teht
8.3.3. megjegyzs.
hibjt, amennyiben
|In,trap (f ) I(f )|
becsls, ahol a szokott mdon intervallumon.
(b a)h2 M2 12 (a, b)
M2
az
8.3.4. megjegyzs.
fgg
g(x)
folytonosan
x-tl
s az, hogy az
hasonl lltsok ksbb is szerepelni fognak, de akkor mr nem igazoljuk rszletesen ket.
az sszetett trapzformulhoz, az rintformult alkalmazza az ekvidisztnsan felosztott intervallum rszintervallumain. Az integrl pontos rtkt teht a formula az
[a, b]
8.3.5. ttel.
Az sszetett rintformula hibja
f C 2 [a, b]
fggvnyek esetn
In,rint (f ) I(f ) =
ahol
(b a)h2 f (), 24
[a, b]
tankonyvtar.bme.hu 205
8.
Numerikus integrls
8.3.2. bra. Az sszetett rintformula a bestttett tartomny terletvel kzelti az integrl pontos rtkt.
Bizonyts. A bizonytst nem az interpolcis hibafggvny integrljnak becslsvel hajtjuk vgre, mint az sszetett trapzformulra vonatkoz hasonl ttel esetn, mert azzal a mdszerrel csak elsrend konvergencia igazolhat. Ehelyett az integrland fggvnyt msodrend Taylorpolinomjnak s a hozz tartoz Lagrange-fle maradktagnak az sszegeknt lltjuk el, majd kiszmtjuk az rintformula ltal adott kzelts s a pontos integrl rtknek klnbsgt az
[xk1 , xk ]
intervallumon.
xk
fk1/2 h
xk1 xk
f (x) dx
= fk1/2 h
xk1
=
ahol
fk1/2 = f ((xk + xk1 )/2) s k,x megfelel k -tl s x-tl fgg rtk az (xk1 , xk ) nylt (k = 1, . . . , n). Az utols lpsben azt a tnyt alkalmaztuk, hogy az rintformula kplete s a Taylor-polinom els kt tagja integrljnak klnbsge nulla. Az k konstans rtkt
intervallumbl a 8.3.1. ttel szerint vlasztjuk. Mivel
[a, b]
rtkkel
In,rint (f ) I(f ) =
k=1
Ezt akartuk megmutatni.
8.3.6. megjegyzs.
Az elz ttelben az
|In,rint (f ) I(f )|
alakban.
(b a)h2 M2 24
8.3.
sszetett kvadratraformulk
In,Simp (f ) =
alakban adhat meg. Ez a rszintervallumok vgpontjaiban s felezpontjaiban lv hrom fggvnyrtkre illesztett legfeljebb msodfok polinom integrljval kzelti a tnyleges integrlt. Azt, hogy ez a formula mely tartomny terletvel kzelti a tnyleges integrlrtket, a 8.3.3. brn szemlltettk.
8.3.3. bra. Az sszetett Simpson-formula egy rszintervallumon a bestttett tartomny terletvel kzelti az integrl pontos rtkt. Az brn berajzoltuk az egyes rszintervallumon interpoll legfeljebb msodfok polinomokat is.
A formula zrt kvadratraformula, s rtke az integrl pontos rtkhez tart, ha az is 4. A kvetkez ttel mutatja, hogy a konvergenciarendje is 4.
n feloszts-
8.3.7. ttel.
Az sszetett Simpson-formula hibja
f C 4 [a, b]
fggvnyek esetn
In,Simp (f ) I(f ) =
ahol
[a, b]
[xk1 , xk ]
intervallumon az
fk1/2 (x xk1/2 )2 2
fk1/2 (x xk1/2 )3 6
xk
k -adik
h (fk1 + 4fk1/2 + fk ) 6
f (x) dx =
xk1
8.
Numerikus integrls
=
ahol
k1 , k2 , k (k = 1, . . . , n)
[xk1 , xk ]
intervallumbl
(k = 1, . . . , n).
A teljes hibra gy
In,Simp(f ) I(f ) =
k=1
addik, ahol
megfelel konstans az
8.3.8. megjegyzs.
|In,Simp (f ) I(f )|
becslst hasznlhatjuk.
(b a)h4 M4 2880
8.3.10. megjegyzs.
hogy az integrland fggvny derivltjra vonatkoz fels korltot ismerve megmondjuk, hogy az adott intervallumot hny rszre kell felosztanunk ahhoz, hogy a kzelts egy elre adott hibnl jobban megkzeltse az integrl pontos rtkt.
8.3.11. megjegyzs.
ezek knnyen tfogalmazhatk arra az esetre is, ha a rszintervallumok hossza nem egyforma.
8.3.12. plda.
x4 dx =
0
1 5
integrl rtkt a tanult sszetett formulk segtsgvel 4 osztintervallumot hasznlva! Most teht
f (x) = x4
h = 0.25.
Az sszetett trapzformula az
8.4.
Romberg-mdszer
I4,Simp (f ) =
8.4. Romberg-mdszer
Az elz fejezet vgn lttunk pldt arra (8.3.9. megjegyzs), hogy kt msodrend kvadratrakplet eredmnyt megfelelen slyozva negyedrend kvadratrakplet llthat el. Azt az eljrst, ahogy slyozssal alacsonyabbrend kvadratrakpletekbl magasabbrend kvadratrakpleteket lltunk el, Romberg -mdszernek nevezzk. A Romberg-mdszer tulajdonkppen a Richardson-extrapolci numerikus integrlsi formulkra alkalmazva. Ebben a fejezetben ezen mdszer lnyegt ismertetjk rviden. Legyen
4
In (f )
[a, b]
intervallumon.
r.
In (f ) I(f ) = Chr
alakban rhat, alkalmas
I2n (f ) I(f ) = C
addna. A fenti kt kpletbl
h 2
I(f )
kifejezhet
I(f ) = I2n (f ) +
alakban, ami termszetesen csak egy jabb kzeltse lesz a tnyleges integrlrtknek. Igazolhat azonban, hogy az gy kapott rtkek gyorsabban konverglnak a pontos integrlrtkhez, mint az eredeti kvadratrval kapott rtkek. Megmutathat, hogy az gy kapott szmsorozatok rendje
r + 2 lesz, azaz a rend kettvel nvekszik a slyozs ltal. gy teht ahelyett, hogy tovbb duplznnk az osztintervallumok szmt (ami jabb fggvnyrtkek kiszmolst ignyli), egyszer slyozssal pontosabb kzelts adhat az integrl rtkre.
8.4.1. plda.
Alkalmazzuk a Romberg-mdszert az
1 0
ex
dx
= 0.746824132812
8.
Numerikus integrls
integrl kiszmtsra! A szmtott s a slyozott rtkeket az albbi tblzatban tntettk fel. n ssz. trapz ssz. Simpson
2 0.7313702518
4 0.7429840978 0.7468553797
8 16 32 0.7458656148 0.7465845967 0.7467642546 0.7468261205 0.7468242574 0.7468241406 0.7468241699 0.7468241332 0.7468241328 0.7468241326 0.7468241328 0.7468241328
A fels sorban az osztintervallumok szma szerepel, a msodik sor az sszetett trapzformulval (msodrend, teht
r = 2)
szm esetn, az alatta lv sorok a Romberg-mdszer segtsgvel lettek szmtva. A msodik sor ppen a Simpson-formult adja. Lthat, hogy az als sorokban szerepl szmok sokkal pontosabbak, mint az sszetett trapzmdszer ltal adott kzeltsek.
8.5. Gauss-kvadratra
Egy hatrozott integrl rtkt kzelthetjk a korbban megismert sszetett kvadratraformulkkal. Ha mdunk van tbb helyen kiszmtani a fggvnyrtkeket, akkor az osztintervallumok szmnak nvelsvel tetszleges pontossggal megkzelthetjk az integrl rtkt. Ha erre nincs lehetsg, mert pl. mrsekbl csak jl meghatrozott helyeken ismerjk a fggvnyrtket, akkor mondhatunk egy kzeltst az integrlra, s feltve az integrland fggvny megfelel simasgt, a hibabecsl formulkbl mondhatunk egy fels korltot a hiba nagysgra. Ha tetszleges szm alappontban ki tudjuk szmtani a fggvnyrtkeket, akkor felmerl a krds, hogy mik legyenek ezek az alappontok. Az interpolcis feladatoknl lttuk, hogy az alappontok alkalmas megvlasztsval az interpolcis hiba jelentsen cskkenthet. Most megvizsgljuk, hogy az interpolcis kvadratrakpletek rendje nvelhet-e az alappontok alkalmas megvlasztsval. Ebben a fejezetben a korbban vizsglt hatrozott integrlokat gy mdostjuk, hogy az integrland teht az
[a, b]-n
folytonos s pozitv
slyfggvnnyel. Ter-
mszetesen az
s(x) 1
I(f ; s) :=
a
integrl minl pontosabb kzeltse.
s(x)f (x) dx
(x0 , f0 ), . . . , (xn , fn )
pontokon, akkor a kvadratraformula
In (f ; s) =
k=0
alak lesz, ahol a slyok
a k fk
ak =
a
8.5.
Gauss-kvadratra
ttel). Hogyan vlasszuk az alappontokat, hogy magasabbfok polinomokra is pontos legyen a kplet? A kvetkez ttel arrl szl, hogy mennyivel nvelhet meg a formula rendje.
8.5.1. ttel.
Az
In (f ; s) =
k=0
ak fk Pn+m -beli
polinomra, ha
wn+1 (x)s(x)p(x) dx = 0
a
minden
(8.5.1)
p Pm1
esetn. A
wn+1
Bizonyts. Igazoljuk elszr a felttel elgsgessgt. Legyen tatnunk, hogy a kvadratraformula pontos az maradkos oszts segtsgvel felrhat
f Pn+m ,
polinomra. Az
r Pn
q Pm1 .
b
Ekkor
ak r(xk ) =
k=0 a
r(x)s(x) dx =
a
f (x)s(x) dx
a
wn+1 (x)s(x)q(x) dx .
=0
Teht
s(x)f (x) dx =
a
azaz a kvadratraformula pontos hiszen legfeljebb
ak r(xk ) =
k=0 k=0
ak f (xk ),
f -re. p Pm1 .
Ekkor a formula pontos a
p wn+1
polinomra,
n+m
fok, azaz
s(x)p(x)wn+1 (x) dx =
a
Ezt akartuk megmutatni.
nvelhet meg a pontossgi rend. Lthat, hogy a kvadratraformula nem lehet pontos minden
P2n+2 -beli
p = wn+1
b
esetn az
2 s(x)wn+1 (x) dx = 0 a
egyenlsgbl a
wn+1 0
lehet. Most azt mutatjuk meg, hogy el is rhet, hogy a formula minden pontos legyen. Teht a Gauss-kvadratra pontossgi rendje gy nunk, hogy a (8.5.1) felttel teljesthet minden
2n + 2
P2n+1 -beli
8.
Numerikus integrls
az alappontokat. Tekintsk az
s-ortogonlis polix0 , . . . , x n az n + 1-edfok s-ortogonlis polinom zrushelyei. Ekkor ezen alappontokon a wn+1 polinom s-ortogonlis lesz minden nla kisebb fokszm polinomra, azaz minden n-edfok polinomra. gy (8.5.1) teljesl minden legfeljebb n-edfok p polinomra. Teht a formula pontos minden P2n+1 intervallumon az slyfggvnyre nzve beli polinomra. Attl fggen, hogy milyen ortogonlis polinomokat hasznlunk, az gy nyert kvadratrakpletet GaussCsebisev- vagy GaussLegendre-kvadratrnak nevezzk. A GaussCsebisev s GaussLegendre kvadratraformulk ltal hasznlt alappontokat s a slyokat az albbi tblzatban gyjtttk ssze.
[a, b]
nv Csebisev Legendre
s(x) 1/ 1 x2 1
slyok
8.5.2. megjegyzs.
[1, 1]
intervallumon ortogonlisak,
[a, b]
intervallumra ttranszformlhatk.
3/2.
a0 =
1
hasonlan
dx
= /3,
a1 = a2 = /3.
1 1
gy a formula
f (x) 1 x2
dx
8.5.4. ttel.
A Gauss-fle kvadratraformula hibja
n+1
alappont esetn
In (f ; s) I(f ; s) =
ahol
(a, b)-be
es megfelel konstans.
8.6.
az osztintervallumok szma s
fv
az integrland fggvny.
x sin(x) dx
0
integrl esetn az albbi mdon.
A MATLAB nmagban is knl nhny numerikus integrlsi eljrst. Ezek kzl mutatunk be kettt. Az els a
trapz
>> x=0:1/100:1; y=x.*sin(x); trapz(x,y) % Az x vektor tartalmazza az alappontokat, % az y vektor pedig a fggvnyrtkeket. ans = 0.30118019375974
A msik a
addig, mg a hiba
quad parancs, amely az sszetett 106 -nl kisebb nem lesz (lsd
tankonyvtar.bme.hu 213
8.
Numerikus integrls
8.7. Feladatok
Numerikus integrls 8.7.1. feladat. Alkalmazzuk az sszetett trapzformult az
2 0
integrl kiszmtsra gy, hogy a hiba
1 dx x+2
kisebb legyen!
103 -nl
8.7.2. feladat. Hatrozzuk meg az elz feladatbeli integrl pontos rtkt, s ksrletileg vizsgljuk meg az egyes mdszerek konvergenciarendjt szmtgp segtsgvel! 8.7.3. feladat. Hatrozzuk meg az
int
ex
[0, 1]
intervallumon az
[0, /2] intervallumon a 0.8 x2 Romberg-mdszer alkalmazsval. Hatrozzuk meg hasonlan az e dx integrlt. Mindkt 0 6 esetben legyen az elrni kvnt pontossg 10 . Addig szmoljunk, mg kt egyms utni kzelts 6 mr kzelebb van egymshoz, mint 10 !
8.7.5. feladat. Hatrozzuk meg a fggvny kzelt integrljt a 8.7.6. feladat. Egy kzelt integrlt hatroztunk meg a Simpson-szabllyal (In (f )), majd ktszer annyi osztintervallummmal jra kiszmoltunk egy kzeltst (I2n (f )). Adjunk becslst a fenti rtkek segtsgvel a durvbb kzelts hibjra! 8.7.7. feladat. Kzeltsk az
sin x
h 0
f (x) dx
h(a0 f0 + a1 f1 ) + h2 (b0 f0 + b1 f1 ),
ahol s
fi , fi
a 0 ill.
b1
2 xf (x) dx integrl kzeltsre az I2 (f ) = a0 f0 + a1 f1 + 0 a2 f2 kvadratrakpletet. Hatrozzuk meg gy az egytthatkat, hogy a kplet minden legfeljebb
8.7.8. feladat. Tekintsk az msodfok polinomra pontos legyen! 8.7.9. feladat. Ksztsk el a hrom pontra illeszked GaussLegendre-formult! Hatrozzuk meg ezzel a mdszerrel az
1 1
1 1
x4 / 1 x2
dx integrlok
8.7.
Feladatok
Ellenrz krdsek
1. Mirt van szksg kvadratraformulkra? 2. Milyen elven alapulnak az interpolcis kvadratraformulk? 3. Mennyiben specilis kvadratraformulk a NewtonCotes-formulk? 4. Mik azok a NewtonCotes-egytthatk? 5. Melyik a hrom nevezetes NewtonCotes-formula? 6. Adjuk meg a hrom nevezetes sszetett kvadratraformula kplett s konvergenciarendjt! 7. Ismertessk a Romberg-eljrst! 8. Mekkora pontossgi rend rhet el a Gauss-kvadratra segtsgvel? 9. Adjuk meg a Gauss-kvadratra kiszmtsnak mdjt!
tankonyvtar.bme.hu 215
9.1. Bevezets
A dierencilegyenletek gyakori eszkzei a termszettudomnyos, mszaki, kzgazdasgi folyamatok lersnak, azaz a folytonos matematikai modelleket tbbnyire ezek segtsgvel lehetsges (s szoksos) lerni. Az ilyen modellek elemzsvel a kznsges (illetve parcilis) dierencilegyenletek elmlete foglalkozik. Ezek a vizsglatok elssorban a klnbz jelleg feladatok megoldhatsgval foglakoznak, teht elssorban azt vizsgljuk, hogy a kitztt feladat milyen felttelek mellett korrekt kitzs. A megolds konkrt ellltsa zrt alakban (azaz megadsa olyan kpletek segtsgvel, amelyek ismert s knnyen kirtkelhet fggvnyeket tartalmaznak) csak ritkn lehetsges. Ezrt gyakorlati szempontbl megkerlhetetlen annak a vizsglata, amikor a megoldst valamilyen
numerikus mdszer
segtsgvel
kzelt alakban
fogjuk, ezek a mdszerek lehetv teszik a numerikus megolds nagy pontossg s megbzhat ellltst. Ez utbbi azt jelenti, hogy becslst tudunk adni az eredeti feladat elemi eszkzkkel nem meghatrozhat pontos megoldsa s az alkalmazott kzelt mdszerrel nyert numerikus megolds kztti eltrsre.
G R Rd egy tartomny (azaz sszefgg, nylt halmaz), (t0 , u0 ) G R, u0 Rd ), f : G Rd egy folytonos lekpezs. A du(t) = f(t, u), u(t0 ) = u0 dt
egy adott
(9.2.1) nevezzk.
feladatot
kezdetirtk-feladatnak,
avagy ms szval
Cauchy-feladatnak
u(t)
vektorrtk fggvny
i-edik
koordinta-fggvnyt,
fi : G R
az
ui () u0i
217
9.
(i
= 1, 2, . . . , d)
pedig az
u0
n. koordintnknti alakban:
(9.2.2)
i = 1, 2, . . . , d.
Egy Cauchy-feladat megoldsa azt jelenti, hogy meghatrozzuk az sszes olyan fggvnyt, amely valamely
u : R Rd
I R
{(t, u(t)) : t I} G;
minden
t I,
t0 I
u(t0 ) = u0
H, (t0 , u0 ) = {(t, u) : H, (t0 , u0 ) egy (t0 , u0 ) kzep, zrt, d + 1 dimenzis tglalap.) Mivel f folytonos a zrt H, (t0 , u0 ) halmazon, ezrt rtelmes az M = maxH, (t0 ,u0 ) f(t, u) vals szm bevezetse. Ekkor minden t, |t t0 | min{, /M } esetn ltezik a (9.2.1) Cauchy-feladatnak u(t) megoldsa. Ha emellett a H, (t0 , u0 ) halmazon az f fggvny a msodik vltozjban lipschitzes, azaz valamely L > 0 lland mellett minden (t, u1 ), (t, u2 ) H, (t0 , u0 ) pontban teljesl a |t t0 | , u u0 s
pozitv szmok mellett a
} G
jellst. (Teht
f(t, u1 ) f(t, u2 )
n.
L u1 u2
(9.2.3)
Lipschitz-fle felttel,
A tovbbiakban a (9.2.1) feladatra mindig feltesszk, hogy ltezik olyan alkalmasan megvlasztott
H, (t0 , u0 ) G
T = min{, /M }, s a kzelt megoldst Mivel a t vltoz az idt jelli, ezrt egy Cauchy-feladat megoldsa azt rja le, hogy a rendszer
idben hogyan vltozik. Mi a gyakorlati problmk vizsglata sorn ltalban erre az idbeli fejldsre (vltozsra) vagyunk kivncsiak. Ez azt jelenti, hogy ismerve a rendszer llapott egy rgztett kezdeti idpontban, annak ezen idpontot kvet llapott szeretnnk meghatrozni, azaz ismeretben az u(t) fggvnyt a t > t0 rtkeire vagyunk kivncsiak. A t = t0 idkezdpontnak, a megoldsfggvny ezen pontbeli rtkt kezdeti rtknek, a (t0 , u(t0 )) prt pedig kezdeti felttelnek nevezzk. Nyilvnvalan nem jelent megszortst, ha a kezdpontot t0 = 0 rtknek vesszk. gy a (9.2.1) feladat megoldsnak rtelmezsi tartomnya a [0, T ] I pontot 218 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
u(t0 )
9.2.
t [0, T ],
(9.2.4) (9.2.5)
u(0) = u0 .
Clunk a tovbbiakban ezen
9.2.3. megjegyzs. Az f fggvny folytonossga esetn (azaz f C(H) mellett) a Cauchy-feladat u(t) megoldsa egyszeresen folytonosan dierencilhat is, teht u C 1 [0, T ]. Ugyanakkor, ha f p p+1 magasabb rendben sima, akkor a megolds is simbb vlik: ha f C (H), akkor u C [0, T ], ahol p N. gy az adott f fggvny megfelel simasgval a megolds szksges simasga mindig
biztosthat. Ezrt teht nem jelent lnyeges megszortst, ha a tovbbiakban ahol ez szksges feltesszk, hogy a megolds
megfelelen sima.
A numerikus mdszereket a knnyebb ttekinthetsg kedvrt a skalris egyenletekre fogalmazzuk meg, azaz a tovbbiakban a
d=1
QT := [0, T ] R R2 , f : QT R.
(9.2.6) s a msodik
feladatot nevezzk Cauchy-feladatnak, ahol mindvgig feltesszk, hogy vltozjban lipschitzes fggvny, azaz
(9.2.7)
(9.2.8)
9.2.4. megjegyzs.
g(x, y) = y 2 .
g : R2 R
fggvny foly-
tonossga s a msodik vltozjban val lipschitzessge kztt? A vlasz nemleges, ugyanis, mint azt a kvetkez kt plda is mutatja, ezek egymstl fggetlen felttelek. Legyen elszr Ez a fggvny nyilvn folytonos a
G = R2
y1
y2
tetszlegessge miatt
1
|y1 + y2 | g
L=1
G = R2
skon.
9.2.5. megjegyzs.
g : R2 R
Hg
1 A Dirichlet-fggvny denicija: D(x) = 1, ha x racionlis, s D(x) = 0, ha x irracionlis. Ez a fggvny minden pontban szakad.
tankonyvtar.bme.hu 219
9.
y (y1 , y2 ) rtk mellett g(x, y1 ) g(x, y2 ) = 2 g(x, y )(y1 y2 ), L = supHg (|2 g(x, y)|) < llandval2 .
fggvnye a
QT
halmazon
folytonos, s a msodik vltozjban korltos parcilis derivlttal rendelkezik, akkor ltezik egy-
[0, T ]
intervallumon.
numerikus megoldst
fggvnyek esetn
mertetnk. Ebben a rszben az olyan tpus eljrsokkal foglalkozunk, ahol valamely rgztett
t [0, T ],
(9.3.1) (9.3.2)
u(t)
megoldsra
t [0, T ]
(9.3.3)
QT
halmazon. Ekkor az
u(t)
t [0, T ]
u (t ) = f (t , u(t )), u (t ) = 1 f (t , u(t )) + 2 f (t , u(t )) u (t ), u (t ) = 11 f (t , u(t )) + 212 f (t , u(t )) u (t ) + 22 f (t , u(t )) (u (t ))2 + + 2 f (t , u(t )) u (t ).
Vegyk szre, hogy (9.3.4)
hogy tetszleges, magasabb rend derivlt hasonl mdon kiszmthat, csak a kpletek egyre bonyolultabb vlnak.) Tegyk fel, hogy
[t , t] [0, T ].
Mivel az
u(t)
2 A g(x, y) jells a g fggvny msodik vltozja szerinti parcilis derivltat jelenti az (x, y) pontban. 2
220 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.3.
Egylpses mdszerek
Tn,u (t) =
k=0
Taylor-polinom
u(k) (t ) (t t )k k!
megoldshoz, ha
(9.3.5)
esetn konvergl az
u(t)
u(t) =
k=0
u(k) (t ) (t t )k k!
(9.3.6)
egyenlsggel. A megolds a (9.3.6) kplet szerinti Taylor-soros ellltsa a gyakorlati szmtsok sorn kivitelezhetetlen: felttelezi, hogy a pontosan tudjuk sszegezni. Az
t t
pontban az
fggvny
u(t)
pontos rtk kiszmtsa teht a (9.3.6) kplet szerint nem valsthat meg. Ezrt
a tovbbiakban ennek
vges szelett
kzeltst
u(t)
k=0
s ekkor az elhagyott rsz (azaz a hiba) az
(9.3.7)
Tp,u (t)
u(t)
fggvny
pontbeli
p-ed
A (9.3.7) s a (9.3.4) sszefggsek segtsgvel az albbi kzelt eljrsok denilhatk. a) Taylor-mdszer Vlasszuk a
t =0
u(t ) = u(0)
pontosan
ismert a
u(t)
k=0
b) Loklis Taylor-mdszer Tekintsk az albbi kzelt algoritmust. 1. A
u(k) (0) k t . k!
(9.3.8)
[0, T ] intervallumon a t0 , t1 , . . . , tN intervallumbeli pontok megadsval kijellnk h := {0 = t0 < t1 < . . . < tN 1 < tN = T } n. rcshlt, amelynek lpskzeit hi = ti+1 ti , (ahol i = 0, 1, . . . N 1,) mg nomsgt h = maxi hi -vel jelljk. (A tovbbiakban ezekben a pontokban hatrozzuk meg a kzeltseket, s u(ti ) kzeltst (k) yi -vel, mg u(k) (ti ) kzeltst yi -val jelljk, ahol k = 0, 1, . . . , p.4
egy
2.
(k)
3 Az elz szakaszban lertakbl kvetkezik, hogy rtelmes a megoldsfggvny t = 0 pontbeli derivltjairl beszlni. 4 Szoksosan a nulladik derivlsi rend (k = 0) a fggvnyrtket jelenti.
tankonyvtar.bme.hu 221
9.
3. Az
y1 =
k=0
kplettel meghatrozzuk az 4.
y0 k h , k! 0
(k)
(9.3.9)
u(t1 ) kzeltst. Az i = 1, 2, . . . , N 1 rtkekre yi ismeretben a (9.3.4) sszefggsek segtsgvel a (k) t = ti s u(t ) = u(ti ) yi behelyettestssel kzeltleg meghatrozzuk yi rtkeit a k = 0, 1, . . . , p rtkekre.
p
5. Az
yi+1 =
k=0
kplettel meghatrozzuk az
yi hk , k! i
(k)
(9.3.10)
u(ti+1 )
kzeltst.
p = 0, 1, 2
esetekre!
Ha
p = 0,
akkor
yi = y0
minden
rdektelen. Legyen
p = 1.
Ekkor
yi+1 = yi + yi hi = yi + hi f (ti , yi ),
ahol
i = 0, 1, . . . N 1,
(9.3.11)
y0 = u0
Legyen
p = 2.
yi+1 = yi + hi yi +
ahol
Hasonltsuk ssze a Taylor-mdszert s a loklis Taylor-mdszert! 1. Mindkt mdszer esetn a sgess teszi a
p-ed fok Taylor-polinomot hasznljuk, ezrt a mdszer szkp 1-ed rendig bezrlag valamennyi parcilis derivlt meghatrozst. Ezek szma p(p + 1)/2 1, s mindegyikben szksges a fggvnyek kirtkelse is. Ez mr viszonylag kis p rtkek mellett is rendkvl munkaignyes, s ez a mdszer gyakorlati alkalmazhatsgnak komoly korltja . Ezrt a Taylor-mdszer gyakorlatban elrhet pontossga behatrolt.
5
2. A Taylor-mdszer ugyan
a Taylor-sor konvergencia-sugarnl kisebbek. Ez a mdszer egyik legnagyobb htrnya: a konvergencia-sugr ltalban nem ismert, vagy a konvergencia-sugr kisebb teljes
[0, T ]
t = t pontban
vagyunk kvncsiak a
kzeltsre, s ez a pont a konvergenciatartomnyon bell helyezkedik el, akkor kzvetlenl, egy lpsben meghatrozhat a kzelts. A loklis Taylor-mdszer kikszbli a fenti hinyossgokat, hiszen ennl a mdszernl mivel csak a teljes
h a szksges mdon, akrmilyen kicsinek vlaszthat. Ugyanakkor n darab feladat megoldsa szksges, ahol h0 + h1 + . . . + hn1 = t, [0, t] idintervallumon tudjuk ellltani a kzeltst.
5 Az utbbi vekben elterjedt szimbolikus szmtsos programok ugyan lehetsget adnak az automatikus derivlsra, de a problma mg tovbbra is fennll.
222 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.3.
Egylpses mdszerek
4. A Taylor-mdszer alkalmazsa esetn a pontos s a kzelt megolds eltrsre a Taylorpolinom hibatagjval becslst tudunk adni. A loklis Taylor-mdszer esetn viszont a mdszer hibja kzvetlenl nem ltszik, ugyanis az eltrs kt rszbl addik: a) minden lpsnl a Taylor-mdszerhez hasonlan a fggvny mal trtn approximcijbl, b) a Taylor-polinom egytthatit (azaz a megoldsfggvny derivltjait) csak kzeltleg tudjuk meghatrozni. (Radsul, az itt elkvetett hiba a lpsek sorn felhalmozdhat.) 5. Vegyk szre, hogy a fenti Taylor-mdszerek felptshez nem szksges a megolds analitikussga. Elegend csak a megolds gend az
p + 1-szeres
f C p (QT )
simasgi felttel.
9.3.1. plda.
Tekintsk az
(9.3.13)
u(t) = exp(t) + t.
Ebben a feladatban
f (t, u) =
u + t + 1,
ezrt
polinomok:
(9.3.15)
T3,u (t) = 1 + t /2 t /6. t = 1 pontban T1,u (1) = 1, T2,u (1) = 1.5, T3,u (1) = 1.333. T4,u (1) = 1.375 s T5,u (1) = 1.3666.) Mint lthat, ezek az magas n esetn kzeltik megfelelen az u(1) = 1.367879 rtket.
Ezrt a hogy Az elsrend mdszer algoritmusa (Knnyen kiszmthat, rtkek csak viszonylag
(9.3.16)
yi+1 = yi + hi (yi + ti + 1) +
ahol
h1 + h2 + . . . + hN = T .
Szmtsainkat a
ssze a loklis s globlis Taylor-mdszereket. (LT1 s LT2 a loklis els- illetve msodrend Taylor-mdszert, mg T1, T2 s T3 a els-, msod- s harmadrend Taylor-mdszereket jelli.)
tankonyvtar.bme.hu 223
9.
ti 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
a pontos megolds
LT1
LT2
T1
T2
T3
1.0048 1.0187 1.0408 1.0703 1.1065 1.1488 1.1966 1.2493 1.3066 1.3679
1.0000 1.0100 1.0290 1.0561 1.0905 1.1314 1.1783 1.2305 1.2874 1.3487
1.0050 1.0190 1.0412 1.0708 1.1071 1.1494 1.1972 1.2500 1.3072 1.3685
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
1.0050 1.0200 1.0450 1.0800 1.1250 1.1800 1.2450 1.3200 1.4050 1.5000
1.0048 1.0187 1.0405 1.0693 1.1042 1.1440 1.1878 1.2347 1.2835 1.3333 h = 0.1 lpskz
a h lpskz
LT1
LT2
T1
T2
T3
A vizsglt mdszerekkel nyert numerikus megolds s a pontos megolds eltrse a rcshl pontjaiban meghatrozza az hogy
ei = yi u(ti
nyert eredmny vltozatlan marad. (Ez utbbi termszetes kvetkezmnye annak, hogy a mdszer fggetlen a lpskz megvlasztstl.) A loklis Taylor-mdszer egylpses mdszer, hiszen a
ti
ti+1 -beli
yi+1
kzeltsnek az
Az n.
loklis approximcis hiba, ami a Taylor-sor Taylor-polinommal val helyettestti pontbeli rtket pontosan ismerjk. Ennek a [ti , ti + hi ] intervallum hossza szerinti rendjt, vagyis az u(ti+1 ) Tn,u (ti+1 ) eltrs hi szerinti rendjt loklis hibarendnek nevezzk. (Megfelelen sima fggvnyek esetn ez a rend O(hp+1 ).) i
Minden lpsben (kivve az elst) a sorbafejtsben nem a pontos
ti -beli
rtkek, hanem
azoknak kzeltsei szerepelnek, s ezek az eltrsek a lpsek sorn felhalmozdhatnak. Minden szmtsnl
kerektsi hibk
tst. Ez termszetes velejrja a szmtgpek korltozott pontossgnak, s nagysga fgg a gpi pontossgtl. (A mdszerek vizsglata sorn mi ezen hibval nem foglalkozunk.)
Amikor a
[0, T ]
t [0, T ]
globlis hibnak
pontbeli k-
9.3.
Egylpses mdszerek
t = t
pontban, amikor a
maximlis lpskz
konvergenciarendjnek nevezzk. Ez a rend fggetlen a kerektsi t = t pontbeli kzelts meghatrozshoz kb. n lpst kell tennnk, ahol nh = t , ezrt O(hp+1 ) loklis csonkolsi hiba mellett a globlis konvergencia vrhat rendje O(hp ). (A 9.3.2. tblzat LT1 s LT2 mdszereihez tartoz eredmnyek ezt altmasztjk: az LT1 elsrendben, mg LT2 msodrendben konvergens a t = 1 pontban.)
hibktl. Mivel a
nullhoz tartsa esetn ez a globlis hiba is nullhoz tart. A globlis hiba nullhoz tart-
9.3.2. megjegyzs.
u = 1t3u
dierencil-
http://math.fullerton.edu/mathews/a2001/Animations/OrdinaryDE/Taylor/Taylor.html
p=1
s a lpskzk cskkentsvel a rcspontokban az ismeretlen fggvny jl kzelthet. Ebben a rszben az a clunk, hogy jabb, hasonl tulajdonsgokkal rendelkez egylpses mdszereket deniljunk. Az LT1 mdszert az ismeretlen csonkolsi hiba)
u(t)
megoldsfggvnynek a
6
[ti , ti+1 ]
intervallumon
T1,u (t)
i = 0, 1, . . . , N 1,
T1,u (t)
a megoldsgrbhez a
(ti , u(ti ))
P1 (t)
polinomot ke-
resnk, amely szintn tmegy ezen a ponton, de irnyt mivel a megoldsgrbe rcspontbeli rtkeibl akarjuk meghatrozni az meg. Ezrt legyen adott fggvny.
u(t) fggvny ti s ti+1 pontbeli rintinek irnya hatrozza P1 (t) := u(ti ) + (t ti ) (t [ti , ti+1 ]) alak, ahol = (u (ti ), u (ti+1 )) egy (Pldul, az = u (ti ) megvlasztssal P1 (t) = T1,u (t), s ekkor termszetesen
(9.3.19)
u (ti ) = O(hi )
becsls rvnyes.
(9.3.20)
6 Mindegyik [t , t i i+1 ] intervallumon ms polinomot hatrozunk meg, de a polinomok ezen i-tl val fggst a jellseinkben nem hangslyozzuk.
tankonyvtar.bme.hu 225
9.
9.3.3. ttel.
Tetszleges
esetn az
= (1 )u (ti ) + u (ti+1 )
megvlaszts fggvny esetn a (9.3.20) becsls rvnyes.
(9.3.21)
u (t)
fggvnyre! (9.3.22)
(9.3.23)
9.3.4. kvetkezmny.
A fenti
P1 (t)
polinom az
yi+1 = yi + hi
(9.3.24)
egylpses numerikus mdszert hatrozza meg, ahol a (9.3.21) s a (9.3.1) sszefggsek alapjn
(9.3.25)
9.3.5. denci.
A (9.3.24)-(9.3.25) numerikus mdszert
-mdszernek
nevezzk.
9.3.6. megjegyzs.
-mdszer
yi
valamilyen kzeltse az
u(ti )
pon-
tos rtknek, s az eltrs a Taylor-mdszernl is emltettekkel megegyezen alapveten a kvetkezk miatt van: a) minden lpsnl az b) a
u(t)
megoldsfggvnyt az elsfok
P1 (t)
polinommal approximljuk,
tudjuk meghatrozni.
Mivel az
irnyt a megoldsfggvny
ti
ti+1
paramtert csak a
[0, 1]
[0, 1]
Az explicit Euler-mdszer
Tekintsk a
mdszert generljk:
9.3.
Egylpses mdszerek
Mivel
yi
az ismeretlen
u(t)
fggvny
ti
y0 = u(0) = u0 ,
vagyis a (9.3.26) iterciban az
i=0
rtkhez tartoz
y0
9.3.7. denci.
A (9.3.26)(9.3.27) kpletekkel denilt egylpses mdszert zk. Mivel a
explicit Euler-mdszernek
P1
nevez-
= 0
esetn
= u (ti ),
polinom
megegyezik az elsrend Taylor-polinommal. Teht az explicit Euler-mdszer azonos a (9.3.11) kplettel denilt elsfok kzeltses loklis Taylor-mdszerrel.
9.3.8. megjegyzs.
pontbeli kzelts.
ti
pont-
ti+1
h := {ti = ih; i = 0, 1, . . . , N ; h = T /N }
ekvidisztns rcshln milyen becsls adhat az explicit Euler-mdszer ltal nyert numerikus kzelts s a pontos megolds eltrsre valamely megfelelen tovbbra is feltesszk, hogy az megolds megfelelen sima.) Jellje
tn h
ei = yi u(ti ), i = 0, 1, . . . , N
egy tetszleges
(9.3.28)
ti h
yi = ei + u(ti )
ei+1 ei = (u(ti+1 ) u(ti )) + hf (ti , ei + u(ti )) = [hf (ti , u(ti )) (u(ti+1 ) u(ti ))] + h [f (ti , ei + u(ti )) f (ti , u(ti ))] .
gy, bevezetve a
(9.3.29)
(9.3.30)
ei+1 ei = gi + hi
n.
(9.3.31)
hibaegyenletet
9.3.9. megjegyzs.
az
alakban felrt kplett milyen pontosan elgti ki. Ez a kifejezs azt a hibt tartalmazza, ami
u(t)
megoldsfggvnynek a
[ti , ti+1 ]
approximcijbl ered. (Ezt neveztk loklis approximcis hibnak.) A hogy a mdszer egy lpse sorn mekkora hiba keletkezik abbl, hogy az szolgl kpletben a pontos
yi+1
rtk kiszmolsra
u(ti )
yi
9.
Az
(9.3.32)
(9.3.33)
i = 0, 1, . . . , n 1
rtkre. Ezrt
|en | (1 + hL)|en1 | + |gn1 | (1 + hL) [(1 + hL)|en2 | + |gn2 |] + |gn1 | = (1 + hL)2 |en2 | + [(1 + hL)|gn2 | + |gn1 |]
n1 n1 i n
(9.3.34)
(1 + hL) |e0 | +
i=0
(Az utols lpsben az
|e0 | +
i=0
|gn1i | .
(1 + hL)i < (1 + hL)n , i = 0, 1, . . . , n 1 egyenltlensget alkalmaztuk.) Mivel tetszleges pozitv x esetn 1 + x < exp(x), ezrt az nh = tn relci kvetkeztben (1 + hL)n < exp(nhL) = exp(Ltn ). gy (9.3.34) alapjn
n1
|gn1i | .
(9.3.35)
|gi |
(9.3.36)
i (ti , ti+1 )
ezrt a
[0,tn ]
relci miatt a
gi
|gi |
M2 2 h 2
(9.3.37)
M2 t n M2 h = exp(Ltn ) |e0 | + h 2 2
(9.3.38)
e0 = 0,
ezrt rvnyes a
|en | exp(Ltn )
becsls.
tn M2 h, 2
n = 0, 1, . . . , N
(9.3.39)
A 9.3.6. megjegyzsben felsoroltuk a mdszer hibjnak, azaz a pontos s a kzelt megolds eltrsnek forrsait. A mdszer alkalmazsnak f clja annak biztostsa, hogy a nomod oldshoz. Ezt akrdst tbb szempontbl is megvizsglhatjuk. 228 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK) rcshlk sorozatn ellltott numerikus kzeltsek tartsanak (konvergljanak ) a pontos meg-
9.3.
Egylpses mdszerek
a. Egy rgztett
t [0, T ]
t [0, T ]
[0, t ]
intervallumon?
9.3.10. ttel.
Legyen az
t [0, T ]
h0
mellett a
[0, t ]
intervallumon (9.3.40)
index
h-tl
fgg, s
tn = nh = t
h-tl
h 0 esetn n . Emellett tetszleges h en = yn u(t ) hibra en = Ch, ahol C egyenltlensget! Mivel tn = t , ezrt t M2 h. 2
llandval. (9.3.41)
|en | exp(Lt )
gy az lltsunk kzvetlell kvetkezik a
C = 0.5 exp(Lt )t M2
Az explicit Euler-mdszer rgztett pontbeli konvergencijnak fenti bizonytsa viszonylag egyszeren kiterjeszthet az alkalmasan megvlasztott nemekvidisztns rcshlkra is. Legyen most
(9.3.42)
[0, t ]
intervallumon. Vezessk be a
hi = ti+1 ti ,
jellseket. A
h=
i=0,...,n1
max
hi ,
hmin =
i=0,...,n1
min
hi
(9.3.43)
|ei+1 | |ei | + |gi | + hi |i | |ei | + |gi | + hi L|ei | (1 + hi L)|ei | + |gi | exp(hi L)|ei | + |gi | exp(hi L) [|ei | + |gi |] .
Ekkor a
(9.3.44)
t = tn hv
gy alakul:
|en | exp(hn1 L) [|en1 | + |gn1 |] exp(hn1 L) [exp(hn2 L) (|en2 | + |gn2 |) + |gn1 |] = exp((hn1 + hn2 )L) (|en2 | + |gn2 | + gn1 |)
n
(9.3.45)
|gni | .
tankonyvtar.bme.hu 229
9.
Jellje
Kv K(hv ) = h/hmin
az
(9.3.46)
hv
|gi |
becsls alapjn
M2 2 h 2 i
(9.3.47)
Nyilvnvalan alapjn
hn1 + hn2
(9.3.49)
e0 = 0,
ezrt
|en | exp(Lt )
lyek az albbi tulajdonsgokkal rendelkeznek:
M2 t Kv 2
h.
(hv )
Ltezik olyan
K>0
Kv K.
Az egyes rcshlk
(9.3.51)
regulrisnak
nevezzk.
9.3.11. megjegyzs.
donsg.
K=1
dolhat, hogy a regulris rcshlsorozat msodik felttelbl nem kvetkezik a (9.3.51) tulaj-
9.3.12. ttel.
Legyen
t [0, T ]
(hv )
[0, t ]
rcshlsorozat. Ekkor a
|en | exp(Lt )
M2 t K 2
h.
(9.3.52)
alakban. Innen a 9.3.10. ttel bizonytsa megismtelhet. Trjnk t a b. krdsre! Az eddigi konvergenciavizsglatok sorn azt vizsgltuk, hogy a intervallum egy rgztett
[0, T ]
pontjban a
[0, t ]
t=t
9.3.
Egylpses mdszerek
9.3.13. ttel.
Legyen
(tnv )
lim h = 0 tulajdonsga kvetkeztben minden t [0, t ] ponthoz tnv hv s limnv tnv = t. Ezrt |env | = |ynv u(tnv )| Ch
(9.3.53)
t nv
alakban, ahol
C = exp(Lt )
adott lland. Mivel
M2 t K 2
(9.3.54) a
h 0 esetn nv , ezrt a (9.3.53) egyenltlensgben ttrve 0 hatrrkre, valamint felhasznlva az u fggvny folytonossgt, a ttelnk lltst limh0 ynv = u(t) sszefggst kapjuk.
jelent
Nyilvnvalan elegend volt az lltst csak a regulris rcshlsorozaton megmutatni, hiszen az ekvidisztns felosztson val konvergencia ebbl mr kvetkezik.
kifejezs
monoton
(hv )
[0, T ]
mindegyik
mdszer
C =
0.5M2 T K exp(LT )
9.3.16. megjegyzs.
esetben
y0 = u0
megvlaszts, elegend, ha
e0 = O(h).
(Emellett, tovbbra is
en = O(h).)
Az implicit Euler-mdszer
Tekintsk a
mdszert generlja:
i = 0, 1, . . . , N 1,
(9.3.55) (9.3.56)
9.3.17. denci.
A (9.3.55)(9.3.56) kpletekkel denilt egylpses mdszert zk.
implicit Euler-mdszernek
nevez-
tankonyvtar.bme.hu 231
9.
9.3.18. megjegyzs.
yi
ismeretben
yi+1
ei
ei+1 ei = (u(ti+1 ) u(ti )) + hi f (ti+1 , u(ti+1 ) + ei+1 ) = [hi f (ti+1 , u(ti+1 )) (u(ti+1 ) u(ti ))] + hi [f (ti+1 , u(ti+1 ) + ei+1 ) f (ti+1 , u(ti+1 ))] .
(9.3.57) gy a
(9.3.58)
(9.3.59)
i (ti , ti+1 )
Ezrt
gi
(9.3.58) szerinti
|gi |
(9.3.60)
egyenltlensg. Ugyanakkor az implicit Euler-mdszer esetn vltozatlan formban nem ismtelhet meg. (A mdszer ksbb foglalkozunk.)
ti+1
pontbeli kzeltstl s a
pontos megoldstl egyarnt fgg, ezrt az explicit Euler-mdszer vizsglata ebben az esetben
en
A CrankNicolson-mdszer
Tekintsk a
-mdszert
= 0.5
yi+1 yi =
ahol
i = 0, 1, . . . , N 1,
(9.3.61)
y0 = u0 .
9.3.19. denci.
A (9.3.61) egylpses mdszert
CrankNicolson-mdszernek
nevezzk.
Vegyk szre, hogy a CrankNicolson-mdszer is implicit. A CrankNicolson-mdszer hibafggvnyre az explicit s implicit Euler-mdszerek hibaegyenleteinek kombinlsval knnyen nyerhet a (9.3.31) alak hibaegyenletet, ahol most
1 hi [f (ti , u(ti )) + f (ti+1 , u(ti+1 ))] (u(ti+1 ) u(ti )), 2 1 1 i = [f (ti , u(ti ) + ei ) f (ti , u(ti ))] + [f (ti+1 , u(ti+1 ) + ei+1 ) f (ti+1 , u(ti+1 ))] . 2 2 gi =
232 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
(9.3.62)
9.3.
Egylpses mdszerek
ti 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
a pontos megolds
EE
IE
CN
1.0048 1.0187 1.0408 1.0703 1.1065 1.1488 1.1966 1.2493 1.3066 1.3679
1.0000 1.0100 1.0290 1.0561 1.0905 1.1314 1.1783 1.2305 1.2874 1.3487
1.0091 1.0264 1.0513 1.0830 1.1209 1.1645 1.2132 1.2665 1.3241 1.3855
1.0048 1.0186 1.0406 1.0701 1.1063 1.1485 1.1963 1.2490 1.3063 1.3676
9.3.3. tblzat. Az explicit Euler-mdszer (EE), az implicit Euler-mdszer (IE) s a Crank Nicolson mdszer (CN) sszehasonltsa a
h = 0.1
lpskz rcshln
1 gi kifejezsre! A ti+ 2 = ti + 0.5hi jellssel fejtsk 1 1 u(ti ) = u(ti+ 2 hi /2) s az u(ti+1 ) = u(ti+ 2 + hi /2) kifejezseket a t = ti+ 1 pont krl. 2
h3 i 1 2 (u (i ) + u (i )), 48
(9.3.63)
1 2 i , i (ti , ti+1 )
(9.3.64)
pont krl, az
(9.3.65)
gi
kifejezsre rvnyes a
|gi |
egyenltlensg.
M3 3 h , 6 i
M3 = max |u (t)|
[0,t ]
(9.3.66)
A 9.3.3. tblzatban a (9.3.13) tesztfeladat fenti hrom numerikus mdszerrel val megoldst ismertetjk. A 9.3.4. tblzatban a hibkat a maximumnormban hasonltjuk ssze a klnbz, egyre nomod rcshlkon. Az eredmnyekbl megllapthat, hogy rgztett rcshln a numerikus megolds explicit Euler-mdszer s implicit Euler-mdszer esetn nagyjbl hasonl pontossgot ad, mg a CrankNicolson-mdszer pontosabb az elz kt mdszernl. A nomod rcshlkon azt gyelhetjk meg, hogy a CrankNicolson-mdszer hibafggvnye licit Euler-mdszer s az implicit Euler-mdszer hibafggvnye viszont csak nullhoz. (Az ltalnos alak bizonytjuk be.) Ezen rsz befejezseknt megemltjk, hogy a fentiekben trgyalt egylpses mdszerek ms mdon is bevezethetk. Az egyik lehetsges t a kvetkez. Legyen dsa, azaz rvnyes r a (9.3.3) azonossg a mindkt oldalt integrlva az
-mdszer
u(ti+1 ) u(ti ) =
ti
t [0, T ]
(9.3.67)
tankonyvtar.bme.hu 233
9.
a h lpskz
EE
IE
CN
9.3.4. tblzat. Az explicit Euler-mdszer (EE), az implicit Euler-mdszer (IE) s a Crank Nicolson mdszer (CN) hibja
(i
legegyszerbb numerikus integrls, amikor az integrland fggvny intervallum valamely vgpontjban, avagy mindkettben felvett rtke szerepel csak a numerikus integrl formulkban. A klnbz numerikus integrl formulk elvezetnek a fenti mdszerekhez. Nevezetesen,
A legegyszerbb mdszer, amikor a tglalapszablyt alkalmazzuk az integrland fggvny bal oldali vgpontjban felvett rtknek felhasznlsval, azaz
ti+1
(9.3.68)
Ekkor a (9.3.67) s a (9.3.68) sszefggsek a (9.3.26) kplettel megadott explicit Eulermdszert eredmnyezik.
Egy tovbbi lehetsges mdszer a (9.3.67) azonossgban szerepl integrl kzelt meghatrozsra, hogy az intervallum jobb oldali vgpontbeli fggvnyrtket felhasznlva a tglalapszablyt alkalmazzuk, azaz
ti+1
(9.3.69)
ti+1
f (t, u(t)) dt
ti
(9.3.70)
akkor a (9.3.67) s a (9.3.70) kpletek felhasznlsval a (9.3.61) alak CrankNicolson-mdszert kapjuk. (Emiatt szoksos a CrankNicolson-mdszert
trapzszablynak
is nevezni.)
Egy msik lehetsges md a fenti mdszerek szrmaztatsra, amikor a (9.3.3) azonossgot valamely rgztett rcspontban felrva, a bal oldalon lv derivltra egy numerikus derivlsi formult alkalmazunk.
Ha a
kapjuk. A bal oldalon szerepl derivltat a halad vges dierencival kzeltve az generlja. 234 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
t = ti pontban rjuk fel a (9.3.3) azonossgot, akkor az u (ti ) = f (ti , u(ti )) egyenlsget u (ti ) (u(ti+1 ) u(ti ))/hi kzeltst kapjuk. Ez a kt formula pedig az explicit Euler-mdszert
9.3.
Egylpses mdszerek
Ha a
t = ti+1
alkalmazzuk, akkor az implicit Euler-mdszert kapjuk. A fenti kt kplet szmtani kzepe szolgltatja a CrankNicolson-mdszer kplett.
9.3.20. megjegyzs.
lthat a
Az Euler-mdszer viselkedse az
u = 1t3u
dierencilegyenletre jl
http://math.fullerton.edu/mathews/a2001/Animations/Animations9.html
linken megtallhat animcin.
h := {ti = ih; i = 0, 1, . . . , N ; h = T /N }
ekvidisztns rcshln (illetve azok sorozatn) megadjuk az egylpses mdszerek ltalnos alakjt, s deniljuk a numerikus mdszerek alapfogalmait. Tekintsk az
(9.3.71)
-mdszernek )
9.3.21. megjegyzs.
-mdszert
9.3.22. denci.
= (h, ti , yi ) (teht a fggvny nem fgg yi+1 -tl, fggvnyben nem szerepel yi+1 ) explicit mdszereknek nevezzk. Amennyiben = (h, ti , yi , yi+1 ) (azaz a fggvnyben szerepel yi+1 is), a mdszert implicitnek nevezzk.
Azokat a mdszereket, amelyekre azaz a Jellje tovbbra is
kedst jl jellemzi, hogy az a kzelts, amelyet a mdszerrel a pontos megoldsbl indulva egy lps elvgzse utn nyernk, milyen kzel van a pontos megolds rtkhez ebben a pontban, azaz az
(9.3.72) rtkhez.
yi+1
u(ti+1 )
tankonyvtar.bme.hu 235
9.
9.3.23. denci.
Az li (h)
= yi+1 u(ti+1 ) fggvnyt a (9.3.71) alak numerikus mdszer loklis diszkretizcis hibafggvnynek nevezzk.
Vezessk be a
(9.3.73)
9.3.24. denci.
Az
gi (h)
numerikus mdszer ti h pontbeli kplethibjnak loklis approximcis hibjnak ) nevezzk. Azt mondjuk, hogy a numerikus p-ed rendben konzisztens a ti h rcspontban, ha
fggvnyt a (9.3.71) alak
gi (h) = O(hp+1 )
valamely
(9.3.74)
p>0
llandval.
A loklis approximcis hiba rendje teht azt mutatja meg, hogy a pontos megolds milyen pontossggal elgti ki a
-mdszer
egyenlett.
9.3.25. megjegyzs. A (9.3.37), (9.3.60) s a (9.3.66) becslsek alapjn lthat, hogy az explicit
s implicit Euler-mdszerek elsrendek, mg a CrankNicolson-mdszer msodrend. Egyszer szmolssal ellenrizhet, hogy a
-mdszer
csak
= 0.5
mdszert jelenti) msodrend, egybknt elsrend. A tovbbiakban feltesszk, hogy a (9.3.71) alak amelyek mellett tetszleges
s1 , s2 , p1
p2
L3 = 0
(avagy
ti h s h > 0 L4 = 0).
esetn. Ha a
yi -tl
(avagy
yi+1 -tl),
akkor
9.3.26. megjegyzs.
megvlasztott
L3
L4
t (0, T ]
[0, t ]
jelli azt
r-ed rendben konzisztens -mdszerek (hv ) egy regulris rcshlsorozat a az indexet, amelyre tn = t .
7 Szoksos Ha g (h)/h fggvnyt kplethibnak nevezni. Ekkor a kplethiba rendje s a mdszer konvergencii jnak rendje megegyezik.
236 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.3.
Egylpses mdszerek
9.3.27. denci.
Az en (h) = yn u(t ), (nh = t ) ximcis hibjnak nevezzk. kifejezst a
numerikus mdszer
pontbeli
globlis appro-
9.3.28. denci.
Azt mondjuk, hogy a
numerikus mdszer
konvergens a t pontban,
ha (9.3.76)
h0
A (9.3.76) konvergencijnak rendjt a
lim en (h) = 0.
nevezzk.
-mdszer konvergenciarendjnek
ei (h) = ei ,
A fenti dencik alapjn fennll az
gi (h) = gi ,
li (h) = li .
(9.3.77)
(9.3.78)
(9.3.79)
li = yi+1 u(ti+1 ) = u(ti ) + h(h, ti , u(ti ), yi+1 )) u(ti+1 ) = u(ti+1 ) + u(ti ) + h(h, ti , u(ti ), u(ti+1 )) + h [(h, ti , u(ti ), yi+1 )) (h, ti , u(ti ), u(ti+1 ))] = gi + h [(h, ti , u(ti ), yi+1 )) (h, ti , u(ti ), u(ti+1 ))] .
Ezrt, felhasznlva a (9.3.75) felttelt, (9.3.80)
(9.3.81)
|li |
egyenltlensg.
1 |gi | 1 hL4
(9.3.82)
9.3.29. megjegyzs. A (9.3.82) egyenltlensg azt is mutatja, hogy egy p-ed rendben konzisztens
mdszer esetn a loklis diszkretizcis hiba is (legalbb
p + 1-ed
|yi+1 yi+1 | = |(yi + h(h, ti , yi , yi+1 )) (u(ti ) + h(h, ti , u(ti ), yi+1 ))| |ei | + h|(h, ti , yi , yi+1 ) (h, ti , u(ti ), yi+1 )| |ei |+hL3 |yi u(ti )| + hL4 |yi+1 yi+1 | = (1 + hL3 )|ei | + hL4 |yi+1 yi+1 |.
tankonyvtar.bme.hu 237 (9.3.83)
9.
|yi+1 yi+1 |
egyenltlensg.
(9.3.84)
|ei+1 |
alakra. Vezessk be a
(9.3.85)
= (h) =
jellseket.
1 + hL3 , 1 hL4
= (h) =
1 1 hL4
(9.3.86)
9.3.30. megjegyzs.
=1+h
s gy
L3 + L4 1 hL4
s
(9.3.87)
8
= 1 + O(h).
h0 , 0
= (h) 1 + 0 h,
= (h) 0 ,
h (0, h0 ).
(9.3.88)
(9.3.89)
i |gn1i |
(9.3.90)
n |e0 | +
i=0
|gn1i | . h (0, h0 )
esetn
s (9.3.91)
n1
|gn1i |
(9.3.92)
9.4.
becsls. Mivel feltettk, hogy a vizsglt denci alapjn, megfelelen kis egyenltlensg. Ezrt kis
esetn valamely
ezrt a (9.3.76) a
|gi | c0 hr+1
esetn
n1
(9.3.93)
(9.3.94)
c1 = 0 c0 t
=lland. Mivel
e0 = 0 ,
9.3.31. ttel.
Tegyk fel, hogy a (9.3.71) kplettel denilt
numerikus mdszer
p-ed
rendben konzisztens, s
a mdszert denil
Ekkor a
-mdszer p-ed
rendben konvergens a
[0, T ]
intervallumon.
9.3.32. kvetkezmny.
-mdszer = 0.5
esetn
msodrendben, egybknt pedig elsrendben konvergens. Ezrt teht az explicit s az implicit Euler-mdszer elsrendben, a CrankNicolson-mdszer pedig msodrendben konvergens.
9.3.33. megjegyzs.
pedig a benne szerepl tagok kt tulajdonsgbl: a mdszer konzisztens, azaz fggvny korltos; a
gi = O(hp+1 )
valamely
(h)
(h)
hogy az egyik idrtegrl a kvetkez idrtegre val ttrsnl a lpsszmok nvelsvel (azaz
mdszer stabilitsnak nevezzk. A 9.3.31.. ttel leegyszerstve teht azt mutatja, hogy a korrekt kitzs Cauchy-feladatokra a
-mdszer
9.
megmutatjuk, hogy a parcilis derivltak kiszmtsnak feladata egy viszonylag egyszer tlet segtsgvel megkerlhet.
9
u(t)
t = t +h
pontban. Mivel a
u(t + h) = u(t ) + hu (t ) +
Felhasznlva a (9.3.4) derivltakat, bevezetve az
h2 u (t ) + O(h3 ). 2!
(9.4.1)
stb.
u(t + h) =u(t ) + hf +
(9.4.2)
alakra. Mivel
10
(9.4.3)
u(t + h) = u(t ) +
alakban. Teht egy denilhatjuk az
(9.4.4)
rcshl tetszleges
yi+1 = yi +
(9.4.5)
k1 = f (ti , yi );
(9.4.6)
yi+1 = yi +
alakban. A (9.4.6)-(9.4.7) mdszert
h (k1 + k2 ) 2
nevezzk.
(9.4.7)
Heun-mdszernek
9 Az tlet Carl David Tolm Runge (1856 - 1927) nmet matematikustl s zikustl, illetve Martin Wilhelm Kutta (1867 - 1944) nmet matematikustl szrmazik. 10 Emlkeztetnk, hogy a ktvltozs f : Q R fggvny (t, u) pont krli elsfok Taylor-sorba fejtse T tetszleges c1 , c2 R esetn f (t + c1 h, u + c2 h) = f (t, u) + c1 h1 f (t, u) + c2 h2 f (t, u) + O(h2 ) alak.
240 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.4.
9.4.1. megjegyzs.
u(t + h) u(t )
ezrt a pontos megolds
(9.4.8)
rend.
a Heun-mdszer msod-
9.4.2. megjegyzs.
A Heun-mdszer nhny rszlete megtallhat a
dierencilegyenletre
Megadhatk-e egyb msodrend mdszerek? A (9.4.4) sszefggs ltalnostsa a kvetkez paramteres alak:
(9.4.9)
1 , 2 , a2 s b21 egyelre tetszleges paramterek. Felrva a t = ti pontban a (9.4.9) egyenletet, yi+1 = yi + 1 hf (ti , yi ) + 2 hf (ti + a2 h, yi + b21 hf (ti , yi ))
(9.4.10)
9.4.3. megjegyzs.
0 a2
b21 1
(9.4.11)
u(t + h) =u(t ) + 1 hf + 2 h[f + a2 h1 f + b21 hf 2 f ] + O(h3 ) =u(t ) + (1 + 2 )hf + h2 [a2 2 1 f + 2 b21 f 2 f ] + O(h3 )
(9.4.12)
egyenlsget kapjuk. A mdszerek rendjre vonatkoz (9.4.1.) megjegyzst alkalmazva, a (9.4.2) s a (9.4.12) kpletek sszevetsbl azt kapjuk, hogy a (9.4.10 ) ltal meghatrozott numerikus mdszer pontosan akkor msodrend, amikor
tankonyvtar.bme.hu 241
9.
9.4.4. ttel.
Tegyk fel, hogy a
1 , 2 , a2
b21
mdszernek
Vizsgljuk meg az RK2 mdszereket meghatroz (9.4.13) egyenletrendszert! Mivel a ngy ismeretlenre hrom egyenletnk van, ezrt a megoldsa nem egyrtelm. Knnyen lthat, hogy teszleges
=0
2 = ,
a (9.4.11) tblzat alapjn
1 = 1 ,
a2 = b21 = 0.5.
(9.4.16)
0 0.5
szerint kell megvlasztani.
0.5 1
(9.4.17)
9.4.5. megjegyzs.
= 0.5
= 1.
Ekkor
1 = 0 , 2 = 1
a2 = b21 = 0.5
s gy a
k1 = f (ti , yi ),
yi+1 = yi + hk2 .
nevezzk.
(9.4.18)
Vegyk szre, hogy a Heun-mdszer s a javtott explicit Euler-mdszer is bevezethet a korbbiakban mr ismertetett mdszerek mdostsval. Nevezetesen,
Ha a CrankNicolson-mdszer (9.3.61)
yi+1 yi =
kpletben az
f (ti+1 , yi+1 )
implicit tagban
yi+1 = yi + hf (ti , yi )
explicit
u(t)
pontos rtk
s ezzel az rtkkel meghatrozott irnyban egy jabb explicit Euler-mdszert runk fel a
Teht a fenti Runge-Kutta mdszerek paramtereinek (9.4.17) szerinti megadsa a kvetkez. A Heun-mdszer esetn
0 1
1 0.5
(9.4.19)
0.5
9.4.
0 0.5
0.5 0
(9.4.20)
9.4.6. megjegyzs. Felmerlhet a krds: lehetsges-e a tetszleges paramtert gy megvlasztani, hogy az RK2 mdszer nemcsak msodrend, hanem harmadrend legyen? A vlasz nemleges, amit a kvetkez plda bizonyt. Legyen a (9.3.1)-(9.3.2) Cauchy-feladatban a (9.3.1) dierencilegyenlet megoldsra
u (t) = u(t),
amelyet derivlva
Msrszt, az
yi+1 = yi + 1 hyi + 2 h(yi + b21 hf (ti , yi )) = yi + 1 hyi + 2 h(yi + b21 hyi ) = yi + hyi [1 + 2 + h2 b21 ] = yi [1 + (1 + 2 )h + 2 b21 h2 ]
(9.4.21)
alakot lti. Behelyettestve a msodrendsghez szksges (9.4.16) rtkeket, az RK2 mdszer erre a feladatra az
yi+1 = yi (1 + h +
algoritmust eredmnyezi, amely fggetlen a
h2 ) 2
(9.4.22)
u(t)
pontos megoldst a (9.4.22) kpletbe, azaz szmtsuk ki a loklis approximcis hibt! Ekkor
h2 ). 2
(9.4.23)
u(ti+1 ) kifejezs t = ti pontbeli sorbafejtse a derivltakra vonatkoz u (ti ) = u (ti ) = u(ti ) egyenlsg kvetkeztben u(ti+1 ) = u(ti )(1 + h + h2 /2) + O(h3 ). Ezrt teht gi = O(h3 ) tetszleges megvlasztsa mellett, azaz minden RK2 mdszer legfeljebb msodrend erre a
feladatra.
formulk ellltsa.
Tekintsk ismtelten a (9.4.14)-(9.4.15) alakban felrt mdszert. Megmutattuk, hogy ez a mdszer legfeljebb msodrendben pontos. (Nevezetesen, ha paramtereire teljeslnek a (9.4.13) felttelek.) Ezrt, ha harmadrend mdszert szeretnnk kszteni, jabb paramterek bevezetse s azok megfelel megvlasztsa szksges. Kiindulva a mdszer (9.4.14)-(9.4.15) alakjbl, kzenfekv a kvetkez ltalnosts:
yi+1 = yi + h(1 k1 + 2 k2 + 3 k3 ).
9.
0 a2 a3
alakban rhatjuk fel.
b21 b31 1
b32 2
(9.4.26)
A (9.4.24) mdszer harmadrendsghez a msodrendsghez hasonlan a loklis approximcis hiba vizsglata szksges. Egy meglehetsen hossz (de matematikailag nem nehz) szmols utn azt kapjuk, hogy a mdszer paramtereire a kvetkez felttelek kiktse szksges:
1 + 2 + 3 = 1.
Ez hat egyenletet jelent a nyolc ismeretlenre. A lehetsges megoldsok kzl kettt emelnk ki.
0 1/3 2/3
1/3 0 1/4
2/3 0 3/4
(9.4.28)
Szintn harmadrend a
0 1/2 1
mdszer. Mivel ez a mdszer az mazsa abban az esetben
1/2 1 1/6
2 2/3
(9.4.29)
1/6
f (t, u) = f (t) esetn O(h5 ) rendben pontos, ezrt alkalajnlatos, amikor a 2 f parcilis derivlt kzel van a nullhoz.
> 3)
pontossg elrshez a mdszer tovbbi ltalnostsa szksges. Ehadott egsz szm. Deniljuk a kvetkez, n.
m-lpcss explicit
9.4.
A kpletekben szerepl paramterek rgztse jelenti a mdszer megadst. A korbbiakhoz hasonlan, ismt sszefoglalhatjuk egy tblzatban ezeket a paramtereket.
0 a2 a3
. . .
b21 b31
. . .
b32
. . . (9.4.32)
am
bm1 1
bm2 2
... ...
ai
a1 = 0),
tovbb
Bij =
bij , 0,
ha ha
i > j, i j.
9.4.7. denci.
Egy explicit Runge-Kutta tpus mdszer
a
alakban felrt paramtereinek tblzatt
nevezzk.
(9.4.33)
Butcher-tblzatnak
11
mtrix nem
nulla elemeit soroljuk csak fel a tblzatban. Ugyanakkor, mint azt a tovbbiakban llni fogjuk, ez a felrsi md alkalmazhat tetszleges
Valamely explicit Runge-Kutta tpus mdszer konzisztenciarendjt viszonylag hosszadalmas szmolssal hatrozhatjuk meg: a (9.4.30)-(9.4.31) kpletekben majd kiszmtjuk az gy nyert kifejezs s az ban felrt, megfelel rend Taylor-polinomja klnbsgnek feltteleit.
yi helybe u(ti )-t helyettestnk, u(ti + h) kifejezs t = ti pontszerinti rendjt. Ezen szmtsok
p-ed
rend konzisztencijnak
9.4.8. megjegyzs.
bl lthat, hogy a szerepl
A msodrendsg (9.4.17) illetve a harmadrendsg (9.4.27) els felttelmtrix mindegyik sornak sszege megegyezik az ugyanabban a sorban az
a = Be
an = (an , an , . . . , an ) Rm , 1 2 m
ttele a
A = diag(a1 , a2 , . . . , am ) Rmm
p-ed
rend konzisztencijnak fel-
vektorra:
9.
rend
(p)
1 2 3 4
e=1 a = 1/2 (a2 ) = 1/3 Ba = 1/6 (a3 ) = 1/4 ABa = 1/8 B(a2 ) = 1/12 B2 a = 1/24, p = 2
rendhez szksges a
felttel
(9.4.34)
ahol a feltteleket kummulatvan kell rteni, azaz pl. felttele is. gy rvnyes az albbi
p = 1
rend
9.4.9. ttel.
A (9.4.33) Butcher-tblzat tens, amikor teljeslnek a explicit Runge-Kutta tpus mdszer pontosan akkor konzisz-
Be = a;
e=1
(9.4.35)
felttelek, azaz
bik = ai
k=1
minden
i = 1, 2, . . . , m
esetn, s emellett
k = 1.
k=1
(9.4.36)
A magasabb rend explicit Runge-Kutta tpus mdszerek kzl a leggyakrabban a 9.4.1. tblzatban megadott negyedrend mdszert szoksos alkalmazni. A mdszer algorimusa (azaz a pontbeli
ti+1
pontbeli
yi+1
ti
yi
kzeltsbl) a kvetkez:
k1 , k2 , k3
k4
rtkeket.
Az
yi+1 = yi +
(9.4.38)
kplettel meghatrozzuk az j kzeltst. 246 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.4.
9.4.10. megjegyzs.
Mi a kapcsolat az explicit Runge-Kutta tpus mdszerek lpcsszma msodrend, a hromlpcss (9.4.28)-(9.4.29) Butcher-tblzat
(m) s rendje (p) kztt? Azt lttuk, hogy az egylpcss explicit Euler-mdszer elsrend, a ktlpcss Heun-mdszermdszer Teht mdszerek harmadrendek, a ngylpcss (9.4.37)-(9.4.38) mdszer pedig negyedrendben pontos. Ugyanakkor, a kvetkez:
m = 1, 2, 3, 4 esetn a maximlisan elrhet konzisztenciarend megegyezik a lpcsszmmal. m 5 esetn ez mr nem rvnyes, a rend alatta marad a lpcsszmnak, azaz
p < m. A kzttk lv kapcsolat az els tz lpcsszm explicit Runge-Kutta tpus mdszerre m p(m)
Megjegyezzk, hogy
1, 2, 3, 4 m p
s
5, 6, 7 m1
8, 9, 10 m2
(9.4.39)
nvelsvel a
9.4.11. megjegyzs.
hat a
dierencilegyenletre
9.4.12. megjegyzs.
konvergencit nem trgyaltuk. f fggvny lipschitzessge mellett) n. zr-stabil is, s ez a tulajdonsg a p-ed rend konzisztencival egytt a p-ed
Megmutathat, hogy mindegyik explicit Runge-Kutta tpus mdszer ( az
rend konvergencit is biztostja. Mivel ezen krds rszletes trgyalsa meghaladja a jegyzet kereteit, ezrt a rszletek irnt rdekldknek javasoljuk az irodalomjegyzkben szerepl [1, 34] irodalmakat.
B Rmm
Rm
a = Be.
Egy RungeKutta tpus mdszer Butcher-tblzatt ezen elemekkel deniljuk. Az olyan mdszereket, amelyekre
B nem szigoran als hromszgmtrix, implicit Runge-Kutta tpus mdszernek (IRK) nevezzk. Amikor B als (de nem szigoran als) hromszgmtrix, akkor a mdszert diagonlisan implicit Runge-Kutta tpus mdszernek (DIRK) nevezzk. A DIRK-mdszer esetn ki rtknek kiszmolsa, az explicit Runge-Kutta tpus mdszertl eltren, egy (ltalban nemlineris) egyenlet megoldst, mg az implicit Runge-Kutta tpus mdszer esetn egy
mazst bonyolultabb teszi. Az implicit Runge-Kutta tpus mdszerek fontosak s az explicit Runge-Kutta tpus mdszerrel sszehasonltva a gyakorlatban tbbszr hasznlatosak. Ennek okai a kvetkezk. Egyrszt ugyanazon lpcsszm mellett magasabb rend konzisztencia (s gy konvergencia) is elrhet, biztosthat. Msrszt, az explicit Runge-Kutta tpus mdszerektl eltren, a magasabb rendben pontos mdszerek is j kvalitatv tulajdonsgokkal rendelkeznek.
12
(Ennek viszont, mint azt mr emltettk, a nagyobb szmtsi munka az "ra".) A tovbbiakban rviden trgyalunk nhny nevezetes implicit Runge-Kutta tpus mdszert, megadva a mdszer
12 Ezek a jobb kvalitatv tulajdonsg egy rsze, mint pl. az A-stabilits, a kvetkez 9.4.4. szakaszban kerl ismertetsre.
tankonyvtar.bme.hu 247
9.
Butcher-tblzatt. Mint ltni fogjuk, a numerikus mdszer ltalnos egylpses mdszer alakjban val megadsa (azaz a
Legyen a Butcher-tblzat
1 1
(9.4.40)
alak. Ez egy egylpcss diagonlisan implicit Runge-Kutta tpus mdszer, amely rszletesen kirva a kvetkezt jelenti:
(9.4.41)
k1
ismeretlenre
hk1 = yi+1 yi , ezt behelyettestve az k1 = f (ti + h, yi + (yi+1 yi )) = f (ti + h, yi+1 ). Ezrt, ismt a msodik yi+1 = yi + hf (ti + h, yi+1 ), azaz (h, ti , yi , yi+1 ) = f (ti + h, yi+1 ). gy
Legyen a Butcher-tblzat
0.5
0.5 1
(9.4.42)
alak. Ez szintn egy egylpcss diagonlisan implicit Runge-Kutta tpus mdszer, amely a kvetkezt jelenti:
(9.4.43)
fggvnyt! A msodik kpletbl hk1 = yi+1 yi . k1 = f (ti +0.5h, yi +0.5(yi+1 yi )) = f (ti +0.5h, 0.5(yi + yi+1 )). Teht (h, ti , yi , yi+1 ) = f (ti +0.5h, 0.5(yi +yi+1 )) s a megfelel egylpses mdszer yi+1 = yi + hf (ti + 0.5h, 0.5(yi + yi+1 ))
alak. A (9.4.44) diagonlisan implicit Runge-Kutta tpus mdszert (9.4.44)
szablynak
implicit kzpponti
h2 u (ti ) + O(h3 ), 2 f (ti + 0.5h, 0.5(u(ti ) + u(ti+1 ))) = f (ti + 0.5h, u(ti ) + 0.5hu (ti ) + O(h2 )) u(ti+1 ) u(ti ) = hu (ti ) + = f (ti , u(ti )) + 0.5h1 f (ti , u(ti )) + 0.5hu (ti )2 f (ti , u(ti )) + O(h2 ) h = f (ti , u(ti )) + [1 f (ti , u(ti )) + f (ti , u(ti ))2 f (ti , u(ti ))] + O(h2 ). 2
13 Az explicit s implicit mdszerek sszehasonltsra, s az utbbi elnyeire a 9.5.2. szakaszban mg visszatrnk. 14 A megoldshoz valamely, mr korbban ismertetett itercis mdszert (tipikusan a Newton-fle itercit) alkalmazzuk.
248 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.4.
gi
gi = O(h3 )
0 1
0 0.5 0.5
0 0.5 0.5
(9.4.45)
0.5h(k1 + k2 ) = yi+1 yi . Ezt s az els sszefggst behelyettestve k2 = f (ti + h, yi + (yi+1 yi )) = f (ti + h, yi+1 ) sszefggst kapjuk. Teht ezt a k2 rtket, illetve az els sszefggsbeli k1 rtket behelyettestve a harmadik egyenletbe, (h, ti , yi , yi+1 ) = 0.5[f (ti , yi ) + f (ti + h, yi+1 )]. Ezrt a (9.4.45)
Butcher-tblzat a CrankNicolson-mdszert jelenti.
A Butcher-tblzatbeli
3 6 3 6
1 4 1 4
1 4
1 4
3 6
(9.4.47)
+ 0.5
3 6
0.5
A (9.4.47) mdszer egy ktlpcss, implicit Runge-Kutta tpus mdszer, amely negyedrend.
1 3
5 12 3 4 3 4
1 12 1 4 1 4
nevezzk, amely egy harmadrend imp(9.4.48)
A (9.4.48) mdszert
ktlpcss Radau-mdszernek
licit Runge-Kutta tpus mdszer. A fenti implicit Runge-Kutta tpus mdszerek pontossgnak vizsglata sorn azt ltjuk, hogy a mdszerek pontossga (p) meghaladhatja a lpcsszmot (m). Pldul az egylpcss trapzszably msodrend, a ktlpcss Gauss-fle alappontokkal rendelkez (9.4.47) mdszer negyedrend, a ktlpcss Radau-mdszer harmadrend stb. Teht az explicit Runge-Kutta tpus mdszertl eltren, a
p > m
Runge-Kutta tpus mdszernl tbb szabadon megvlaszthat paramter ll a rendelkezsnkre.) Megmutathat, hogy adott lpcsszm esetn
p 2m.
tankonyvtar.bme.hu 249
9.
9.4.13. megjegyzs.
t [0, )
intervallumon az
u = u,
u(0) = 1
(9.4.49)
n. tesztfeladatot valamely rgztett < 0 szm esetn. (A (9.4.49) feladat pontos megoldsa u(t) = exp(t).) Oldjuk meg nhny rtkre a feladatot numerikusan az explicit s implicit Euler-mdszerekkel, s szmtsuk ki a hibt a t = 1 pontban! Eredmnyeinket a 9.4.2. tblzat tartalmazza.
= 9 EE IE 3.07e 01 1.20e 01 1.72e 02 1.60e 02 1.71e 03 1.60e 03 1.66e 04 1.65e 04 1.66e 05 1.66e 05
= 99 EE IE 3.12e + 09 9.17e 02 3.62e 01 1.31e 01 1.90e 02 1.75e 02 1.78e 03 1.68e 03 1.82e 04 1.18e 04
= 999 EE IE 8.95e + 19 9.93e 03 2.38e + 95 9.09e 02 3.67e 01 1.32e 01 1.92e 02 1.76e 02 1.83e 03 1.83e 03
t=1
pontban.
= 9
= 99 s a = 999 h megvlasztsok mellett az explicit Euler-mdszer nem Euler-mdszer viszont j kzeltst ad. A h paramter tovbbi h
megvlaszts-
cskkentsvel viszont mr mindkt mdszer az elmletnek megfelelen viselkedik. Mindebbl arra kvetkeztethetnk, hogy ezekre a feladatokra az implicit Euler-mdszer melletti tl fggetlenl mindig jl viselkedik, az explicit Euler-mdszer viszont csak valamely
h0 > 0
h < h0
h0
Euler-mdszer, amelynl 1.
h0
kzel van a legkisebb brzolhat pozitv szmhoz, ezrt a szmtgpes realizls eleve
nem lehetsges, 2. ha
h0
idrtegen val
ynt
t /h0 )
kedst, msrszt pedig a szmtsok sorn fellp hibk felhalmozdsnak a lehetsgt eredmnyezi. 250 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.4.
yi+1 = (1 + h)yi ,
az implicit Euler-mdszerrel pedig az
i = 0, 1, . . . ,
y0 = 1,
yi+1 =
1 yi , 1 h
i = 0, 1, . . . ,
y0 = 1,
egylpses itercikat jelenti. Egysgesen felrva, az egylpses mdszereknek a tesztfeladatra trtn alkalmazsa egy
yi+1 = R(h)yi
itercit jelent, ahol fggvnye. Mivel a tesztfeladat
(9.4.50)
R(h) az alkalmazott numerikus mdszer ltal meghatrozott n. stabilitsi u(t) = exp(t) pontos megoldsra u(ti+1 ) = exp(h)u(ti ),
(9.4.51)
exp(z)
fggvnyt.
9.4.14. megjegyzs.
sszefggsek alapjn
exp(z) R(z)
u(t) megolds korltos, ezrt a konzisztencia rendje meghatrozhat az (exp(h)R(h)) p-ed rend konzisztencia esetn exp(h) R(h) = O(hp+1 ). Mivel az explicit Euler-mdszer esetn REE (z) = 1 + z , az implicit Euler-mdszer esetn RIE (z) = 1/(1 z), a CrankNicolson-mdszer esetn pedig RCN (z) = (1 + z/2)/(1 z/2), ezrt knnyen ellenrizhe2 2 3 ten exp(z) REE (z) = O(h ), exp(z) RIE (z) = O(h ), exp(z) RCN (z) = O(h ), amely
termszetesen sszhangban ll az ezen mdszerek rendjre vonatkoz korbbi megllaptsainkkal. A tesztfeladatra tetszleges
<0
Ezrt nyilvnvalan csak azok a numerikus megoldsok tudjk a pontos megoldst jl approximlni, amelyekre az ellltott numerikus megolds is rendelkezik ezekkel a tulajdonsgokkal, , azaz a (9.4.50) mdszerben az
|R(h)| 1
felttel teljesl. Mivel
(9.4.52)
|REE (h)| 1
ezrt az explicit Euler-mdszerre a mr emltett implicit Euler-mdszer esetn
h 2/(), h h0
felttelben
(9.4.53)
h0 = 2/().
Ugyanakkor az
|RIE (h)| 1
minden
h>0
(9.4.54)
esetn teljesl. A (9.4.53) s a (9.4.54) sszefggsek magyarzatot adnak arra, hogy a 9.4.2. tblzatban mirt viselkednek ennyire eltren az explicit s implicit Euler-mdszerek bizonyos
rtkek esetn. Fontos megjegyeznnk, hogy valamely numerikus mdszer konvergencija a mdszer
h0
a numeri-
kus megolds kzel kerl a pontos megoldshoz. Ugyanakkor nem ad informcit a megoldsrl tankonyvtar.bme.hu 251
9.
valamely
rgztett rcshln.
R(z)
stabilitsi fggvnnyel
rendelkez numerikus mdszerek, amelyek tetszleges rgztett rcshln is jl kvetik a pontos megoldst. Ezt a tulajdonsgot a (9.4.49) tesztfeladat numerikus megoldsn ellenrizzk, ahol megengedjk komplex rtkt is.
15
9.4.15. denci.
Azon
zC
|R(z)| 1
felttel teljesl, a
(9.4.55)
numerikus mdszer stabilitsi tartomnynak nevezzk. Azt mondjuk, hogy A-stabil, ha a stabilitsi tartomnya tartalmazza a C = {z C :
Re(z) < 0} C
(Itt lnyegben a
komplex flskot.
(0, )
z = a + ib
a < 0,
rvnyes az
|R(z)| 1
egyenltlensg. Knnyen megmutathat, hogy az implicit Euler-mdszer A-stabil. (Az explicit Euler-mdszer nyilvn nem, hiszen, mint lttuk, (9.4.55) mr az
R C
9.4.16. megjegyzs.
1 + h/2 yi 1 h/2
h > 0 esetn h > 0 mellett mgsem viselkedik jl a mdszer. Ugyanis h > 2/() esetn RCN (h) (1, 0), ezrt az ilyen rcshlkon az yi rtkei lpsenknt eljelet vltanak, azaz br abszolt rtkben cskkenek,
alakban. Mint megmutattuk, a mdszer msodrend, s knnyen lthatn tetszleges minden vals
< 0
esetn
|RCN (h)| 1.
16
de emellett oszcilllnak is, ami ellentmond a pontos megolds szigorn monoton cskkensnek.
m darab (m 1) megelz pontbeli rtk segtsgvel hatrozzuk m-lpses mdszereknek nevezzk. (A korbbi egylpses mdszereink specilis esetnek tekinthetk az m = 1 megvlasztssal.)
Az albbiakban kt egyszer pldn bemutatjuk, hogy a (9.3.1)-(9.3.2) Cauchy-feladat megoldsnak a megfelel pontok krli Taylor-sorba fejtsvel hogyan szrmaztathatk ilyen tpus mdszerek.
15 Ennek oka, hogy az = , Rnn lineris rendszer Cauchy-feladata trhat n darab, a (9.4.49) alak tesztfeladatra, ahol az egyes szmok az mtrix sajtrtkei, amelyek ezrt teht komplex szmok is lehetnek. Lsd a 9.6. szakaszt, illetve bvebb ismeretekrt a jegyzkben tallhat [1] hivatkozst. 1+z/2 16 Megmutathat, hogy a mdszer R CN (z) = 1z/2 stabilitsi fggvnyre Re(z) < 0 esetn |RCN (z)| 1, azaz a mdszer A-stabil is.
u Au A
9.5.
A tbblpses mdszerek
9.5.1. plda.
Nyilvn
(9.5.1)
Ezrt
3u(ti ) 4u(ti1 ) + u(ti2 ) = 2hu (ti ) + O(h3 ) = 2hf (ti , u(ti )) + O(h3 ).
gy az
fi = f (ti , yi )
jellssel denilhat az
(9.5.2)
mdszer. Lthatan a (9.5.2) egy ktlpses implicit mdszer, amely msodrendben konzisz-
9.5.2. plda.
vnyt a
ti1
(9.5.3)
ezt behelyettestve
u(ti ) = u(ti1 ) +
sszefggst nyerjk. Ez alapjn
yi yi1 = h
(9.5.4)
m-lpses
9.5.3. denci.
Az adott
a0 , a1 , . . . , am
b0 , b1 , . . . , bm
nevezzk.
tankonyvtar.bme.hu 253
9.
az ismert
a0 = 0, hiszen csak ebben az esetben lehetsges yim , yim+1 , . . . , yi1 rtkekbl yi rtkt meghatrozni. Mivel fi = f (ti , yi ), ezrt a (9.5.5) mdszer explicit, ha b0 = 0, s implicit, amikor b0 = 0. Egy lineris tbblpses mdszer denilsa az ak s bk paramterek (k = 0, 1, . . . , m) konkrt rtkeinek a megadsval trtnik. Pldul, a (9.5.2) numerikus mdszer esetn m = 2, a0 = 1, a1 = 4/3, a2 = 1/3, s b0 = 2/3, b1 = 0, b2 = 0. Ha kt lineris tbblpses mdszer egytthati (ak , bk ) s (ak , bk ), s ltezik olyan = 0 lland, amely mellett ak = ak valamint bk = bk minden k = 0, 1, . . . , m rtkre,
A tovbbiakban mindig feltesszk, hogy akkor adott kezdeti rtkekbl mindkt mdszer ugyanazt az eredmnyt szolgltatja. Ezrt az ilyen mdszereket nem klnbztetjk meg egymstl. Teht a lineris tbblpses mdszereket ler
2(m + 1)
a0
a0 = 1.
(9.5.6)
Vizsgljuk meg a (9.5.5) ltalnos alak lineris tbblpses mdszer konzisztencijnak felttelt, illetve lehetsges konzisztenciarendjt. A mdszer loklis approximcis hibja
gi (h) =
k=0
Mivel a (9.3.1) alapjn
(9.5.7)
gi (h) =
k=0
Fejtsk a
(9.5.8)
t = ti
p-ed illetve p 1-ed rendig a (9.5.8) jobb oldaln szerepl 1 1 2 2 k h u (ti ) + . . . + (1)p k p hp u(p) (ti ) + O(hp+1 ), 2! p! 1 k p1 hp1 u(p) (ti ) + O(hp ). (p 1)!
fggvnyeket! Ekkor
(9.5.9)
d0 = d1 = d2 =
. . .
ak ,
k=0 m
(kak + bk ) 1 ( k 2 ak + kbk ), 2
(9.5.10)
k=0 m
k=0
dp = (1)p
(
k=0
1 p 1 k ak + k p1 bk ). p! (p 1)!
9.5.
A tbblpses mdszerek
p-ed
rend, amikor
gi (h) = O(hp+1 ),
azaz
d0 = d1 = . . . = dp = 0
9.5.4. ttel.
A (9.5.5) lineris tbblpses mdszer teljeslnek az albbi felttelek:
p-ed
m
a0 = 1,
k=0
ak = 0
(9.5.11)
1 j
k ak +
k=0 k=0
j1
bk = 0, j = 1, 2, . . . , p.
9.5.5. kvetkezmny.
a0 = 1,
m k=0 m
ak = 0
(9.5.12)
kak +
k=0
felttelek.
bk = 0
k=0
9.5.6. megjegyzs.
amikor
(9.5.13)
p2
1 j
k j ak +
k=1 k=1
k j1 bk = 0, j = 2, 3, . . . , p
(9.5.14)
1 2
(ahol
k 2 ak +
k=1 k=1
kbk = 0
(9.5.15)
felttel teljeslse szksges. Knnyen ellenrizhet, hogy a (9.5.2) numerikus mdszer esetn
m = 2, a0 = 1, a1 = 4/3, a2 = 1/3,
b0 = 2/3, b1 = 0, b2 = 0)
ezek az sszefggsek
rvnyesek. Milyen pontossg lehet egy (9.5.5) alak lineris tbblpses mdszer? Az ltalnos alakban
2m + 1
paramter (a1 , a2 , . . . , am s
paramtereknek a
p-ed
rend pontossghoz
a a
b0 = 0 ,
tankonyvtar.bme.hu 255
9.
9.5.7. ttel.
Egy
m-lpses
2m,
az explicit lineris
2m 1. a0 = 1
9.5.8. megjegyzs.
felttel
bk = 1
k=0
felttel megadsa. Ez azt biztostja, hogy (9.5.5)
(9.5.16)
roximlja. A (9.5.12) alakbl knnyen lthat, hogy a (9.5.16) felttel mellett a konzisztencia
a0 = 1,
k=0 m
ak = 0
(9.5.17)
kak = 1.
k=1
A
(9.5.18)
p2
k j1 (kak + jbk ) = 0, j = 2, 3, . . . , p
k=1
felttelek. Mint lthat, ebben a felrsban ki rjuk. gy (termszetesen)
(9.5.19)
p 2m,
s
s a
a1 , a2 , . . . , am
b1 , b2 , . . . , bm
2m a0
szm egyenletetbl ll
(9.5.18)(9.5.19) rendszert.
b0
egytthatkat az
a0 =
k=1
sszefggsekbl.
ak = 1,
b0 = 1
k=1
bk
(9.5.20)
() =
k=0 m
ak mk
(9.5.21)
() =
k=0
bk mk .
(9.5.22)
9.5.
A tbblpses mdszerek
9.5.9. denci.
A (9.5.21) s (9.5.22) mdon denilt
()
()
legfeljebb
m-ed
m-lpses
vezzk.
9.5.10. ttel.
Egy lineris tbblpses mdszer pontosan akkor konzisztens, amikor a karakterisztikus polinomjaira rvenyesek a
(1) = 0,
sszefggsek.
(1) = (1)
(9.5.23)
m-lpses lineris tbblpses mdszer felttelezi a kezdeti kzeltsek ismerett m pontjban, azaz feltesszk, hogy y0 , y1 , . . . , ym1 adottak. Ugyanakkor, a (9.3.2) felttelbl csak y0 rtke ismert. Ezeket a kzeltseket egy megfelel rendben pontos
egylpses mdszerrel hatrozzuk meg. (Tipikusan valamely Runge-Kutta tpus mdszerrel.) Itt gyelnnk kell arra, hogy a kivlasztott mdszer az alkalmazott lineris tbblpses mdszer rendjvel egyezzk meg, hiszen ellenkez esetben a kezdeti kzeltsek alacsonyabb rend meghatrozsval elveszthetjk a teljes mdszer pontossgt.
17
Trjnk t a lineris tbblpses mdszerek konvergencijnak krdsre. Mint azt mr az egylpses mdszereknl lttuk, a konzisztencia nmagban nem elgsges a konvergencihoz. A tovbbiakban, bizonyts nlkl, megadunk olyan felttelt, amely mellett a konvergencia biztostott. (A rszletek irnt rdekldknek javasoljuk az irodalomjegyzk [1, 34] hivatkozsait.) Mint lttuk, konzisztens mdszerek esetn
kvetkez denci arra vonatkozik, hogy milyen egyb gykk lehetnek mg.
9.5.11. denci.
Azt mondjuk, hogy egy lineris tbblpses mdszer karakterisztikus egyenlet gykk egyszeresek.
k C (k = 1, 2, . . . , m)
gykeire
Mint azt a kvetkez ttel mutatja, ez a felttel a lineris tbblpses mdszer stabilitst jelenti.
9.5.12. ttel.
Ha egy lineris tbblpses mdszer konzisztens s rvnyes r a gykkritrium, akkor konvergens is, azaz tetszleges rgztett
t (0, T )
pontban
h 0
esetn
yn u(t ),
ahol
nh = t
17 Megjegyezzk, hogy a modern programcsomagokban y (k = 1, 2, . . . m1) rtkt tbbnyire egy megfelelen k megvlasztott k 1-lpses mdszerrel szmoljk.
tankonyvtar.bme.hu 257
9.
9.5.13. megjegyzs.
Tekintsk az
(9.5.24)
p = 2m 1 = 3. Ugyanakkor els karakterisztikus polinomja () = 2 + 4 5 = ( 1)( + 5), teht a gykkritrium nem teljesl. Oldjuk meg az u = 0 feladatot az u(0) = 0 kezdeti felttellel. A feladat megoldsa u(t) = 0. Legyen tovbb y0 = 0 s y1 = . (Ha valamilyen egylpses mdszerrel kiszmoljuk y1 rtkt, akkor az a mdszer hibjnak megfelel rendben, de vrhatn csak kiss fog eltrni a pontos megoldstl az els idpontban, gy egy
nulltl klnbz kis szmnak tekinthet.) A fenti ktlpses mdszerrel szmolva a kezdeti kzeltsekre az albbiakat kapjuk:
Lthatan a numerikus megolds nem marad korltos, gy a konvergencia sem lehetsges. Fontos megjegyeznnk, hogy a numerikus realizlsok sorn a gykkritrium ltalban nem elgsges a stabilitshoz: vannak esetek, amikor a gykkritrium teljeslse ellenre a szmtsok sorn kialakul hibk miatt a mdszerek nem szolgltatnak megbzhat eredmnyt. Az ilyen mdszereknl az a problma, hogy a karakterisztikus egyenletnek tbb (br csak egyszeres) egy abszolt rtk gyke is van.
9.5.14. denci.
Azt mondjuk, hogy egy lineris tbblpses mdszer mot, s csak a
ersen stabil,
ha kielgti a gykkritriu-
=1
yi yi2 =
a gykk
1,2 = 1.
Ezrt a gykkritrium rvnyes, viszont nem lesz ersen stabil. Ezrt ennek
a mdszernek a hasznlata ltalban nem ajnlott. Mivel elssorban az ersen stabil lineris tbblpses mdszerek hasznlata a clszer, ezrt fontos megemlteni G. Dahlquist eredmnyt, amely az ilyen tpus mdszerek rendjrl szl.
9.5.15. ttel.
Egy ersen stabil
m-lpses
m + 1-ed
rend lehet.
Az egylpses mdszereknl mr bemutattuk, hogy egy mdszer konvergencija nem garantlja a megolds adekvt viselkedst valamely rgztett rcshln. (Csupn azt biztostja, hogy a numerikus megolds a "megfelen kicsi lpskz rcshln" kzel van a pontos megoldshoz. Ugyanakkor ez a lpskz tlsgosan kicsi is lehet.) Ennek elkerlse cljbl deniltuk az abszolt stabil mdszereket. (Lsd a 9.4.15. dencit.) Felmerlhet a krds: mi a helyzet a lineris tbblpses mdszerek abszolt stabilitsval? Sajnlatosan a vlasz azt mutatja, hogy ezekre a mdszerekre az A-stabilitst nehz biztostani. Ugyanis az n. els s msodik Dahlquist-korltok szerint 258 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.5.
A tbblpses mdszerek
az explicit lineris tbblpses mdszerek nem lehetnek A-stabilak; az A-stabil lineris tbblpses mdszerek rendje nem lehet kettnl nagyobb.
a0 = 1, a1 = 1, a2 = a3 = . . . = am = 0.
Az ilyen mdszereket zk.
18
(9.5.26) nevez-
Adams-tpus mdszereknek
b0 , b1 , . . . , bm
(vagy rviden
Adams-mdszereknek )
laszthat paramterknt a
u(ti+1 ) u(ti ) =
ti
(i
t [0, T ]
(9.5.27)
kiintegrlshoz egyszer formulkat alkalmaztunk. (V.. a (9.3.68), (9.3.69) s a (9.3.70) kpleteket.) Az Adams-tpus mdszereknl a numerikus integrlshoz egy tbb pontra tmaszkod kvadratra-kpletet alkalmazunk, s ezek hatrozzk meg a Alapvet klnbsg van a
b0 , b1 , . . . , bm
rtkeit.
b0 = 0
s a
b0 = 0
9.5.17. denci.
A
b0 = 0
megvlaszts Adams-mdszereket
megv-
9.5.18. ttel.
Egy Adams-tpus mdszer pontosan akkor konzisztens, amikor
b0 + b1 + . . . + bm = 0.
Tovbb a mdszer
(9.5.28)
p2
k j1 bk =
k=1
felttelek.
1 , j = 2, 3, . . . , p j
(9.5.29)
18 John Couch Adams (1819 - 1892), angol matematikus s csillagsz, Francis Bashforth (1819 1912) angol matematikus s zikus, Forest Ray Moulton (1872 - 1952) USA-beli csillagsz.
tankonyvtar.bme.hu 259
9.
Az
m-lpses
AdamsMoulton-mdszer
p = m + 1,
az AdamsBashforth-mdszer pedig
p = m.
Egy tet-
() = 1.
Ennek egyetlen gyke a
(9.5.30)
= 1,
9.5.19. ttel.
Az Adams-tpus mdszerek a konzisztencijukkal megegyez rendben konvergensek. A kvetkez 9.5.1. tblzatban hatodik rendig bezrlag felsoroljuk a maximlis rend Adams Bashforth-mdszerek
bk
bk 3
p 1 2 3 4 5 6
m 1 2 3 4 5 6
1 1 3 23 55 1901 4277
2 1 16 59 2774 7923
p = m.
Az
m=1
az explicit Euler-mdszert
m=2
mdszerek, mivel explicit mdszerek, nem A-stabilak. (Lsd az els Dahlquist-fle korltot.) Radsul az abszolt stabilitsi tartomnyuk nagyon kicsi. Az mdszer) esetben az abszolt stabilitsi tartomnyuk az azaz a
(1, 0)
m = 1 (vagyis az explicit Euler|1+z| 1 tulajdonsg komplex szmok, komplex szmskon. (V.. (9.4.53).) Emellett m
nvelsvel ez a tartomny tovbb szkl. Ezrt ezek a mdszerek nem alkalmasak az olyan feladatok megoldsra, ahol az abszolt stabilits szksges. Ez motivlja az AdamsMoultonmdszerek alkalmazst. A 9.5.2. tblzatban ismertetjk a maximlis rend AdamsMoulton-mdszerek egytthatit. A rendjk, az elmletnek megfelelen, Az els mdszer (m
p = m + 1.
az implicit Euler-mdszert jelenti. Ez a mdszer elsrend,
= 1 , b1 = 0 )
= 1, 1 = 0)
a (9.3.61) kplet
CrankNicolson-mdszert jelenti. Megjegyezzk, hogy az AdamsMoulton-mdszerek stabilitsi tartomnyai jval nagyobbak, mint az azonos rend AdamsBashforth-mdszerek. A fenti AdamsMoulton-mdszerek kzl csak az els kett (azaz az implicit Euler-mdszer s a Crank Nicolson-mdszer) A-stabil, a tbbi nem. (Ez kvetkezik a mr emltett msodik Dahlquist-fle korltbl.)
9.5.20. megjegyzs.
egyttesen, egymssal kombinlva kerlnek felhasznlsra a kvetkez mdon. Elszr egy Adams Bashforth-mdszerrel kiszmolt
yi
9.5.
A tbblpses mdszerek
p 1 2 3 4 5 6
m 1 1 2 4 5 6
0 1 1 5 9 251 475
1 1 8 19 646 1427
b0 f i
tagba
fi
helyett
fi = f (ti , yi )
Adams-Bashforth-Moulton-mdszer
explicit.
http://math.fullerton.edu/mathews/n2003/AdamsBashforthMod.html
linken, s konkrt formulkkal animcin is meggyelhetjk a mdszer viselkedst az dierencilegyenleten.
u = 1t 3 u
b0 = 0, b1 = b2 = . . . = bm = 0.
(9.5.31)
retrogrd dierencia mdszereknek nevezzk. A mdszer konzisztencijt s a0 , a1 , . . . , am egytthatk alkalmas megvlasztsval biztostjuk. A retrogrd mdszerek fontos tulajdonsga, hogy az f (t, u) fggvnyt csak egy pontban (a (ti , yi )
pontban) szksges kirtkelnnk. Ez a mdszer klnsen alkalmas a specilis stabilitst ignyl feladatok megoldsra. (Lsd a kvetkezkben a merev rendszerek lerst.) A 9.5.6. megjegyzs alapjn rvnyes a kvetkez llts.
tankonyvtar.bme.hu 261
9.
9.5.21. ttel.
Az
a1 + . . . + am = 1 a1 + 2a2 + . . . + mam = b0 .
Tovbb
(9.5.33)
p2
k j ak = 0, j = 2, 3, . . . , p
k=1
felttelek.
(9.5.34)
p+1 szm felttelnk van az m+1 darab b0 , a1 , a2 , . . . , am ismeretlenekre. p = m. A kvetkez 9.5.3. tblzatban
p 1 2 3 4 5 6
m 1 2 3 4 5 6
b0 1
2 3 6 11 12 25 60 137 60 147
a0 1 1 1 1 1 1
a2
1 3 9 11 36 25 300 137 450 147
a3
a4
a5
a6
2 11
16 25
200 137 400 147
9.5.3. tblzat. Az els hat maximlis rend retrogrd dierencia mdszer egytthati.
= 1) az implicit Euler-mdszert jelenti, mg az m = 2, 3, 4 mdszeremsod-, harmad- s negyedrend Curtis-Hirschfeld-mdszernek nevezzk. Az els kt mdszer (m = 1, 2) A-stabil, a tbbi mdszer a msodik Dahlquist-fle korltnak megfelelen 19 viszont nem. Ugyanakkor a stabilitsi tartomnyuk igen nagy. Megjegyezzk, hogy m > 6
ket rendre esetn a retrogrd dierencia mdszerek mr a legalapvetbb stabilitsi tulajdonsggal (az n.
Az els mdszer (m
19 Ha m = 3, 4, 5, 6, akkor a mdszerek stabilitsi tartomnya ugyan nem tartalmazza a teljes C komplex flskot, de a vals negatv tengelyt tartalmaz, origbl szggel kiindul szgtartomnyt igen. Az ilyen tulajdonsg mdszereket A()-stabil mdszereknek nevezzk. (Teht az A-stabilits az = 90 fokos stabilitst jelenti.) Ugyanakkor ez a szektor m nvekedsvel beszkl: mg m = 3 esetn 86 , (azaz "majdnem" A-stabil), addig m = 6 mellett mr csak 17, 8 .
262 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.6.
(9.6.1)
A Rmm
adott mtrix,
tnak
olyan
u 0 Rm
adott vektor, s
u : [0, T ] Rm
az ismeretlen
diagonlis mtrix.
Vezessk be
A diagonalizlhat mtrix, azaz ltezik S1 AS = , ahol az A mtrix sajtrtkeit tartalmaz 1 a w(t) = S u(t) j ismeretlen fggvnyt! Ekkor a (9.6.1)
dw = w(t), t (0, T ], dt w(0) = S1 u0
(9.6.2)
Cauchy-feladat trhat a
m-ismeretlenes
wk = k wk ,
wk (0) = adott, k = 1, 2, . . . , m
(9.6.3)
skalris feladatra,
k
lineris rendszerek numerikus megoldsa visszavezetdik a skalris feladatokra megfogalmazott mdszerekre. Ez azt jelenti, hogy ezeket a mdszereket a (9.6.3) feladatokra kell alkalmazni, ahol az
mtrix sajtrtkei. Teht egy numerikus mdszer alkalmazsa sorn azt kell megvizs-
glnunk, hogy a mdszer hogyan viselkedik a mtrix spektrumn a (9.6.3) tesztfeladatok esetn. Az explicit Euler-mdszer esetn lttuk, hogy egyetlen egyenlenlet esetn ez az idlpcs megvlasztsra a (9.4.53) felttelt jelenti. Ezrt
k < 0
esetn az (9.6.4)
|REE (hk )| 1
azaz a
h 2/(k ), k = 1, 2, . . . m, 2 maxk (k )
h
felttelt kapjuk.
(9.6.5)
9.6.1. megjegyzs.
tviteli elv
9.
m-ismeretlenes
u1 , u2 , . . . , um
j ismeretlen fggvnyeket:
(9.6.8)
Rm ui (t)
u(t) : [0, T ]
u = Au
elsrend, lineris rendszert kapjuk, ahol
A Rmm ,
0 1
. . .
A=
0 0
. . .
1 0
. . .
... ...
. . .
0 0
. . .
0 0
. . .
komponens adott
0 am
0 am1
0 am2
... ...
0 a2
1 a1
u(0) = c, ahol c Rm c1 , c2 , . . . cm
y + ( + 1)y + y = 0
msod-
y(0) = 1
y (0) = 2 0 1 ( + 1)
A=
a kezdeti vektor pedig
A I) = 2 + ( + 1) + = 0.
Ezrt az
esetn a
h < 2/
>> 1.
Ekkor a megvlaszthat
lpskz igen kicsi, viszont, mint az a pontos megolds (9.6.9) alakjbl lthat, az egyes megol-
t t0 esetn nem jtszanak u2 (t) 2 exp(t) lesz a [t0 , T ] intervallumon. Ez azt jelenti, hogy a teljes intervallumon nem szksges a h lpskz ilyen 21 kicsi megvlasztsa. Az ilyen tulajdonsg rendszereket merev rendszernek nevezzk. A merev
dsokban szerepl
exp(t)
t0
mellett
u1 (t)
9.6.
9.6.2. denci.
Azt mondjuk, hogy a (9.6.1) lineris rendszer merev, ha a rendszer
A Rmm
mtrixnak
k (k = 1, 2, . . . , m)
1.
Rek < 0
minden
k = 1, 2, . . . , m
totikusan stabil.) 2. Az
S=
mdon denllt
(9.6.10)
A merev rendszerek esetn teht a pontos megolds gyorsan s lassan lecseng komponensekbl addik ssze, s egy (ltalban kis)
t = t0
lassan vltoz komponensek hatrozzk meg. Az ilyen feladatok numerikus kezelsre az explicit mdszerek ltalban nem alkalmasak, s tipikusan az
A-stabil
korbbi mdszereink kzl klnsen alkalmasak a retrogrd dierencia mdszerek, ezen bell is az implicit Euler-mdszer illetve az els kt Curtis-Hirschfeld-mdszer.
9.6.3. megjegyzs.
lom valjban azt fejezi ki, az eredeti folytonos feladat nagyfok stabilitssal rendelkezik. Pldul az elz msodrend feladatban
megolds, amely a szoksos stabilitsi fogalomnl ("folytonosan fgg a megolds a bemen adatoktl") jval ersebb tulajdonsg, azt is mondhatjuk, hogy tlsgosan is stabil a feladat. Ezt a numerikus mdszerek csak bizonyos felttelek mellett (egszen pontosan, az A-stabilits mellett) kpesek csak kvetni. Ezrt a merev rendszerek numerikus megoldsra az explicit mdszerek gyakorlatilag nem alkalmazhatk. Megjegyezzk tovbb, -mint azt a pldnk is mutatja- ezzel a tulajdonsggal mr egy skalris egyenlet is rendelkezhet. Pldul, tekintsk az
t0
esetn a
(0, t0
intervallumon
u(t) = u0 exp(kt). Ha k << 0, akkor u(t) lecskken u0 -rl a legkisebb brzolt > t0 esetn u(t) 0. gy a feladat az idintervallum k = 15
esetn, a
u0
h = 1/4
h = 1/8
ltos marad s kveti is a pontos megoldst, de beoszcilll. Ha a CrankNicolson-mdszert alkalmazzuk, akkor viszont a numerikus megolds jl kveti a pontos megoldst. Bvebben lsd a
http://en.wikipedia.org/wiki/Stiff_equation
Befejezsl megemltjk, hogy a merevsg fogalma kiterjeszthet a nemlineris egyenletekre, illetve a nemlineris rendszerekre is. Ilyenkor a linearizlt feladatra fogalmazzuk meg a feltteleket, azaz rendszerek esetn az
tankonyvtar.bme.hu 265
9.
Els lpsben indtsuk el a MATLABot, majd az Editor segtsgvel ksztsk el az albbi m-fjlt!:
function[t,y] = expeuler(diffegy, t0, y0, h, N) t=zeros(N+1,1); y = zeros(N+1,1); t(1) = t0; y(1) = y0; for i=1:N t(i+1) = t(i) + h; y(i+1) = y(i) + h * diffegy(t(i),y(i)); end
A fenti programban az els sorban azt adtuk meg, hogyan tudjuk meghvni a mdszernket. (Mi most expeuler-nek neveztk el.) Utna soroljuk fel a megoldand feladatot illetve az explicit Euler- mdszert beazonost bemen paramtereket, a bal oldalon pedig a kimen paramtereket. (Ezek tipikusan a kiszmtott s a tovbbi clra felhasznlni kvnt eredmnyek.) A mi esetnkben t bemen s kett kimen paramter van. A kt kimen paramter a diszkretizlt id vektor s az ezen pontokban kiszmolt numerikus kzelt megoldsok vektora. Az els bemen paramter egy alfggvny, aminek jelen esetben ebben a fggvnyben rjuk meg a dierencilegyenletet specikl jelenti. A kvetkez paramter vesszk fel a
diffegy a neve, s
fggvnyt. A msodik
h,
jelenti, majd vgl N jelli a megtett idlpsek szmt. A msodik s harmadik sorban
sorban belltjuk a kezdrtkeket. Utna kvetkezik lnyegben a mdszer algoritmusa: egy ciklus keretben elszr belltjuk a vgl az
ti
yi
A fenti programmal mg nem tudjuk kzvetlenl az adott dierencilegyenlet numerikus megoldst ellltani, ehhez szksgnk van az megadsra. Ha az
u (t) = u(t) + t + 1,
ahol
t [0, 1]
u(0) = 1
feladat
22
22 Emlkeztetnk r, hogy ezen a feladaton teszteltk a numerikus mdszereinket a 9.3.1. s a 9.4. fejezetekben. Ebben a rszben a Runge-Kutta tpus mdszerrel illetve lineris tbblpses mdszerrel is megoldjuk ezt a feladatot.
266 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.7.
Ha mr megrtuk mindkt fggvnyt, futtassuk le a programunkat h = 0.1, h = 0.01 s h = 0.001 lpstvolsgokkal a [0, 1] intervallumon a [T1,Ye] = expeuler(@diffegy, 0, 1, 0.1, 10) utastssal. Enter utn megkapjuk a T1 s Ye vektorokat, amelyek a k-
plot(T1,Ye) paranccsal egy kln ablakban megjelenik a fggvnynk. (A h = 0.01 s h = 0.001 lpskzkre rtelemszeren a [T1,Ye] = expeuler(@diffegy, 0, 1, 0.01, 100) illetve a [T1,Ye] = expeuler(@diffegy, 0, 1, 0.001, 1000) parancsokat kell berni.)
Ha az explicit Euler-mdszer hibjra vagyunk kvncsiak, akkor a pontos megoldssal szksges a numerikus megoldsunkat sszehasonltani. A pldnk pontos megoldsa az
u(t) = et + t
fggvny. A 9.7.1.-9.7.3. brkon lthatjuk a mdszer pontossgt a lpstvolsgokkal. Az elvrtaknak megfelelen kzeledik a pontos megolds grakonjhoz.
9.7.1. bra. A
h = 0.1
A dierencilegyenlet-rendszerek numerikus kezelsre ksztett programot egy egyszer populcidinamikai modellen, az n. Lotka-Volterra-modellen mutatjuk be. Ez az n. ragadozzskmny modell, amely kt faj egyedei szmnak idbeli alakulst (fejldst) rja le. Jellje tankonyvtar.bme.hu 267
9.
9.7.2. bra. A
h = 0.01
9.7.3. bra. A
h = 0.001
x(t)
idpontban, mg
y(t) egy rkapopulci mrett! Feltesszk, x(0) s y(0) rtkeket. Ekkor a matematikai
9.7.
nyl tallkozik, akkor a nyulak szma cskken. A nyulak szmnak cskkensi sebessge arnyos azzal, hogy egy idegysg alatt hny rka s nyl tallkozik, azaz az x(t)y(t) szorzattal. Ezt fejezik ki a
b illetve c egytthatk. A modell kapcsn elvrsaink a kvetkezk. Ha nincs ragadoz, x = ax dinamikj, ahol a a zskmny populci nvekedsi rtja. Feltesszk tovbb, hogy zskmny hinyban a ragadozk kihalnak az y = dy egyenletdinamikja szerint, ahol d a ragadoz
akkor feltesszk, hogy a zskmny populci nagysga exponencilis nvekeds, azaz populci hallozsi arnya. A tovbbiakban a MATLAB segtsgvel numerikusan oldjuk meg a fenti egyenletet, s numerikus mdszerknt ismt az explicit Euler-mdszert vlasztjuk. Tekintsk most egy olyan pldt, amely ltalnostsa az elz modellnek abban az rtelemben, hogy az egytthatk akr fggvnyek is lehetnek.
x = x 2x2 xy y = 2y + 6xy,
legyen
function LVexpeuler(x,y,T,N) h=T/N; for n=1:N u=f(x,y); v=g(x,y); x=x+h*u; y=y+h*v; xhistory=[xhistory,x]; yhistory=[yhistory,y]; end t=0:h:T; plot(t,xhistory,'red', t, yhistory,'blue') xlabel('id'), ylabel('prda (piros), ragadoz (kk)')
Itt bemen paramterknt a kvetkezket adjuk meg: ragadozk kezdeti szma, Az grakont kapjuk.
x: a zskmny kezdeti szma, y : a T : a vizsglt idintervallum s N : az osztsrszek szma. LVexpeuler(1,0.1,20,1000) utastssal szmoljuk ki az eredmnyt. Futtats utn a 9.7.4.
Ahogy az elvrhat, a populci vagy kihal, vagy egyenslyba kerl. A grakonon is jl ltszik, hogy a kezdeti idpontokban sok ragadoz van s nincsenek zskmnyllatok, ezutn viszont a zskmnyllatok szma n, s az id mlsval egyenslyba kerlnek a populcik mretei. tankonyvtar.bme.hu 269
9.
Megjegyezzk, hogy a tbbi egylpses mdszer MATLAB programja hasonlan elkszthet, de ezeknl lpsenknt egy (ltalban nemlineris) egyenlet megoldsnak az algoritmust is be kell ptennk. Mint azt mr emltettk, lteznek a MATLAB programrendszerben beptett programok, amelyek alkalmasak akr nagy pontossggal s hatkonyan megoldani a kezdetirtk-feladatokat. Ilyen pldul a gyakran alkalmazott ode45 rutin, ami egy n. begyazott Dormand-Princemdszer. Ez egy egylpses, vltakoz lpskz mdszer, amelynek paramtereit a 9.7.1. tblzat tartalmazza.
23
Kutta-mdszert, s gy vlaszt lpskzt, hogy a hiba a negyedrend mdszer hibja legyen. A kvetkez tblzatban lthatjuk a mdszer Butcher-tbljt. Az els
szer, a msodik pedig az tdrend mdszer slyfggvnye. Az ode45 rutint ugyanolyan mdon
rtkek vektora. A bemen paramterek rendre: az alfggvny, ami lerja a dierencilegyenletnket, az id vektor, hogy melyik idpontokban szmoljuk ki a megoldst, s a kezdeti-rtk
9.7.1. megjegyzs.
amelynek segtsgvel bellthatjuk az integrlsi paramtereket. Itt adhatjuk meg azt a paramtert is, amely a mdszer pontossgt szablyozza. Teht a rutin meghvsnl megadott, rcshlra vonatkoz paramter nem azt a rcshlt hatrozza meg, amin a numerikus mdszernket alkalmazzuk, hanem csak azokat a pontokat, ahol kirtkeljk a numerikus megoldst.
23 A begyazott Runge-Kutta-mdszerek lnyege, hogy kt olyan klnbz RungeKutta-mdszert vlasztunk, amelyek Butcher-tblzatban ugyanazon vektor s mtrix szerepel, viszont eltrek a slyfggvnyek, s emiatt a mdszerek rendje is klnbzik. Errl, illetve a vltoz lpshosszsg megvlasztsrl olvashatunk a http://www.cs.elte.hu/blobs/diplomamunkak/bsc_alkmat/2010/molnar_viktoria.pdf linken tallhat dolgozatban.
9.7.
pontossgnak cskkenst. Ugyanakkor a gyakorlatban elegend az alapbellts, s ezrt az alaprtelmezst csak indokolt esetekben clszer megvltoztatni. Ezt az
odeset
rutinnal hajt-
0
1 5 3 10 4 5 8 9 1 5 3 40 44 45 19372 6561 9017 3168 35 384 9 40 56 15 25360 2187 355 33 32 9 64448 6561 46732 5247 500 1113 212 729 49 176 125 192 5103 18656 2187 6784 11 84
1 1
0 0 0
187 2100 11 84
1 40
h = 0.1
Egy msik, ugyancsak gyakran hasznlt beptett mdszer az ode23 ugyancsak begyazott Runge-Kutta tpus mdszer, amelyet Bogacki-Shampine-mdszernek is neveznk. Ennek
ti 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000
a pontos megolds
a numerikus megolds
a hiba
1.0000 1.0048 1.0187 1.0408 1.0703 1.1065 1.1488 1.1966 1.2493 1.3066 1.3679
1.0000 1.0048 1.0187 1.0408 1.0703 1.1065 1.1488 1.1966 1.2493 1.3066 1.3679 h = 0.1
0 2.9737e 010 5.3815e 010 7.3041e 010 8.8120e 010 9.9668e 010 1.0822e 009 1.1424e 009 1.1814e 009 1.2026e 009 1.2090e 009
tankonyvtar.bme.hu 271
9.
0
1 2 3 4 1 2 3 4 1 3 1 3 1 4
0
2 9 2 9 7 24
4 9 4 9 1 3
0
1 8
ti 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000
a pontos megolds
a numerikus megolds
a hiba
1.0000 1.0048 1.0187 1.0408 1.0703 1.1065 1.1488 1.1966 1.2493 1.3066 1.3679
1.0000 1.0048 1.0187 1.0408 1.0703 1.1065 1.1488 1.1966 1.2493 1.3066 1.3679 h = 0.1
0 4.0847e 006 7.3920e 006 1.0033e 005 1.2104e 005 1.3690e 005 1.4865e 005 1.5692e 005 1.6227e 005 1.6518e 005 1.6607e 005
lpskz rcshln
vgid])
Ez egy explicit
(2, 3)-tpus
retnnk kevsb pontos megoldst kapni. (ltalban nem merev, vagy csak nagyon kis merevsg feladatokra alkalmazzuk.) Most is a szoksos tesztfeladatunkra futtassuk le az ode23 algoritmust, majd rassuk ki eredmnyeinket a a 9.7.4. tblzat tartalmazza.
h = 0.1
A tbblpses mdszerek algoritmusai is megtallhatk a MATLAB-ban. Ilyen az ode113, amelynek a rendje 1-tl 13-ig vltozhat s az Adams-Bashforth-Moulton-mdszeren alapszik. sszehasonltva az ode45 mdszerrel, kevsb pontos, de kisebb szmtsi igny, s klnsen elnys, amikor az
f fggvny kirtkelse kltsges. Megjegyezzk, hogy ez a mdszer is [T1, Y113] = ode113(@diffegy,[kezdid, vgid]) szintaktikj, s tipikusan nem merev feladatokra alkalmazzuk. A mdszer pontossgt a szoksos tesztfeladatunkon a h = 0.1 lpstvolsg rcshln a 9.7.5. tblzat tartalmazza.
9.8.
Feladatok
ti 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000
a pontos megolds
a numerikus megolds
a hiba
1.0000 1.0048 1.0187 1.0408 1.0703 1.1065 1.1488 1.1966 1.2493 1.3066 1.3679
1.0000 1.0048 1.0187 1.0408 1.0703 1.1065 1.1488 1.1966 1.2493 1.3066 1.3679 h = 0.1
0 6.2300e 006 1.8714e 005 2.7885e 005 2.1933e 005 1.8889e 005 1.7254e 005 1.5668e 005 1.4228e 005 1.2872e 005 1.1643e 005
lpskz rcshln.
Az albbi tblzatban foglaljuk ssze nhny olyan mdszer pontossgt, amelyet ebben a szakaszban trgyaltunk. (Mdszereinket a szoksos (9.3.13) tesztfeladatra a hasonltjuk ssze.)
t = 1
idpontban
en
mdszer explicit Euler javtott Euler implicit Euler
h1 = 0.1
1.9201e-002 6.6154e-004 2.1537e-002 1.2090e-009 1.6607e-005
h2 = 0.01
1.8471e-003 6.1775e-006 1.8687e-003 1.0903e-009 1.5087e-005
ode45 ode23
Megjegyezzk, hogy a MATLAB sajt programjai rdemben nem cskkentek a rcshl nomodsval, amely a 9.7.1. megjegyzsben lert okok miatt trvnyszer. Befejezsl megjegyezzk, hogy merev feladatok megoldsra is vannak rutinok a MATLABban. Ilyenek a ode15s (amelynek meghvsa (amelynek meghvsa
[T1, Y15s] = ode15s(@diffegy, T1, 1)), ode23s [T1, Y23s] = ode23s(@diffegy, T1, 1)). A ode123t s az ode123tb
rutinok az enyhn merev rendszerek megoldsra javasolhatk. Ezek a mdszerek alacsony pontossgak. Az ode15s mdszer a retrogrd dierencia mdszeren (amelyet Gear-mdszernek is szoksos nevezni) alapul (lsd a 9.5.4. szakaszt), s ez is vltoz lpshosszsg mdszer. Klnsen akkor javasolt ez a mdszer, amikor az ode45 mdszer nagyon lass vagy egyltaln nem mkdik. Az ode23s egy msodrend, mdostott, egylpses n. Rosenbrock-mdszer. Mivel a mdszer egylpses, ezrt ltalban hatkonyabb, mint az ode15s mdszer. A mdszerek rszletei irnt rdekldknek javasoljuk a jegyzkben tallhat [1, 34], illetve a MATLAB programok irnt rdekldknek a jegyzk [12, 33] irodalmait ajnljuk.
9.8. Feladatok
Kznsges dierencilegyenletek
tankonyvtar.bme.hu 273
9.
folytomos a
halmazon, tovbb
|f (t, u)| 7
u = f (t, u) u(0) = u0
feladatnak biztosan ltezik megoldsa? 9.8.2. feladat. Vizsgljuk meg, hogy az
u = teu , u(0) = 0
egyenletnek t0
u = 1 + u2 , u(0) = 0
egyenletet! Mutassuk meg, hogy nem minden meg ennek okt! 9.8.5. feladat. Melyik az a legnagyobb intervallum, ahol a 9.8.4. plda feladatnak ltezik egyrtelm megoldsa? lltsuk el ezt a megoldst! 9.8.6. feladat. Bizonytsuk be, hogy az
t > 0
u = eu + t2 , u(0) = 0
feladatnak ltezik egyetlen megoldsa a
t [0, 0.351]
intervallumon!
u = f (t, u) u(0) = u0
feladatban
folytonos s korltos a
ltezik megoldsa a
t [a, b]
intervallumon!
megoldsa az
feladatnak! Az elsrend Taylor-sorba fejtses numerikus mdszerrel szmoljuk ki a kzelt megoldst! Adjunk magyarzatot arra, hogy mirt klnbzik a numerikus megolds a pontos megoldstl! 9.8.9. feladat. Szmtsuk ki
u(0.1)
kzelt rtkt az
u = tu2 , u(0) = 2
feladatra a msodrend Taylor-sorba fejtses numerikus mdszerrel! 274 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
9.8.
Feladatok
9.8.10. feladat. A Cauchy-feladat megoldsval jl kiszmtha nhny olyan hatrozott integrl, ahol a Newton-Leibniz szably nem alkalmazhat. Pldul az
2 0
integtl rtke meghatrozhat az
es ds
u = et , u(0) = 2
feladat megoldsval a
erf(t)
es ds
n. "hiba-fggvny" ("error-function") egy jl denilt folytonos fggvny, melynek rtkeit csak numerikusan tudjuk kiszmolni. Ezen rtkeket ltalban tblzatokban szoks megadni. (Lsd rszeletesebben a rtkre
u = tu1/3 ,
a a
u(1) = 1
expeuler programmal
[0, 5] intervallumon! Elszr kzi szmolssal a h = 1 lpskzzel, majd h = 0.10, 0.05, 0.01 lpstvolsgokkal! Vizsgljuk meg a konvergencit
t = 1, 2, 3, 4, 5
pldjt a
9.8.12. feladat. rjunk programot az implicit Euler-mdszerre s oldjuk meg a 9.8.11. feladat
h = 0.10, 0.05, 0.01 lpstvolsgokkal. Vizsgljuk meg a konvergencit a t = 1, 2, 3, 4, 5 u(t) = ln(1 + t2 + /2) fggvny!)
pontokban! Figyeljk meg a konvergenciarendet! (Ellenrizzk, hogy a pontos megolds az 9.8.13. feladat. rjunk programot a
-mdszerre s oldjuk meg a 9.8.11. feladat pldjt a h = t = 1, 2, 3, 4, 5 pontokban! a t = 1 pontban a = 0, 0.1, 0.2, . . . , 0.9, 1 rtkek esetn.
9.8.14. feladat. Szmtsuk ki MATLAB segtsgvel az explicit s az implicit Euler-mdszerrel, illetve a CrankNicolson mdszerrel a 9.8.3. feladat numerikus megoldst a
0.001
lpstvolsgokkal a
konvergenciarendet! (Ellenrizzk,
u = u tesztfeladatra! Mutassuk
yh (t)
yh (t + h) =
1 1 1 1 + h + h2 2 + h3 3 + h4 4 yh (t) 2 6 24 O(h5 )!
sszefggs rvnyes! Mutassuk meg, hogy erre a feladatra a loklis approximcis hiba
h = 0.01
9.
v(t)
sebessgt a
v = 32
dierencilegyenlet rja le, ahol a pldban
cv , m
v(0) = 1 c
a lgellenllst jellemz lland. Legyen
a goly tmege s
c/m = 2.
A Rnn
u = Au + b kznsges dierencilegyenlet-rendszert, ahol b Rn egy adott vektor. rjuk fel erre az egyenlet-
rendszerre az explicit s implicit Eutel-smkat s a CrankNicolson-smt! 9.8.19. feladat. Legyen a 9.8.18. feladat jellseivel
A=
s legyen a kezdeti felttel:
10 3 0 1
b=
2 1
y1 (x) = (e10x + 1)/2, y2 (x) = 1 megoldsa a dierencilegyenletnek! Oldjuk meg az egyenletet numerikusan a [0, 4] intervallumon y1 (0) = y2 (0) = 1.
Igazoljuk, hogy az explicit Euler-mdszerrel zunk s a (9.4.18) szerinti javtott explicit Euler-mdszerrel! Prblkoz-
h = 0.2
krli rtkekkel!
9.8.20. feladat. Hatrozzuk meg az egylpses, elsrend Adams-Moulton formult! Mi a kapcsolata a trapzszabllyal? 9.8.21. feladat. Ellenrizzk a 9.5.2. tblzat szerinti negyedrend Adams-Moulton mdszer kplett, azaz hogy a
yn+1 =
mdszer valban negyedrend!
9.8.22. feladat. Ellenrizzk a 9.5.1. tblzat szerinti negyedrend Adams-Bashfort mdszer kplett, azaz hogy a
yn+1 =
mdszer valban negyedrend! 9.8.23. feladat. Szmtsuk ki
u(0.1)
kzelt rtkt az
u = tu2 , u(0) = 2
feladatra a kt- s hromlpses Adams-Bashforth s Adams-Moulton formulkkal! (A kezdrtkekre vlasszunk megfelel RK-mdszert!) 9.8.24. feladat. Tekintsk az
9.8.
Feladatok
Ellenrz krdsek
1. Mit neveznk kznsges dierencilegyenletnek? 2. Mi a szerepe a kezdeti felttelnek? 3. Mit neveznk Lipschitz-fle tulajdonsgnak s mi a kapcsolata a Cauchy-feladat megoldhatsgval? 4. Adja meg az explicit Euler-mdszer algoritmust! 5. Mi a Taylor-soros mdszer? Sorolja fel a mdszer elnyeit s htrnyait! 6. Mutassa meg, hogy az explicit Euler-mdszer konvergens! 7. Denilja az implicit Euler-mdszert! Hasonltsa ssze az explicit Euler-modszerrel! 8. Mit neveznk
-mdszernek?
Mirt nevezetes a
= 0.5
megvlaszts mdszer?
9. Mikor neveznk egy numerikus mdszert konvergensnek? Mi a konzisztencia s a stabilits? Mi a kapcsolat kzttk? 10. Mit neveznk Runge-Kutta tpus mdszernek? 11. Mi a Butcher-tblzat? 12. Mit neveznk explicit, implicit s diagonlisan implicit Runge-Kutta tpus mdszernek? Hasonltsa ssze ezek algoritmusait! 13. Mit neveznk lineris tbblpses mdszernek? 14. Hogyan vlaszthatk meg a megfelel kezdeti kzeltsek a lineris tbblpses mdszerekre? 15. Mit neveznk Adams-tpus mdszernek? Milyen tulajdonsgak az Adams-Bashforth- s az Adams-Moulton-mdszerek? 16. Mit neveznk egy lineris tbblpses mdszer els illetve msodik karakterisztikus polinomjvak? Mi a kapcsolata a konzisztencival? 17. Mit neveznk merev feladatnak? Hogyan kezeljk ezeket numerikusan? 18. Mit neveznk retrogrd dierencia mdszernek s mire alkalmazhatjuk ezeket? 19. Az
u = u
20. Milyen MATLAB programokat ismer a kezdetirtk-feladatok megoldsra? 21. Milyen alapon mkdnek a beptett MATLAB programok?
tankonyvtar.bme.hu 277
10.1. Bevezets
Lttuk, hogy a kznsges dierencilegyenletek megoldsnak egyrtelmsghez kiegszt felttelek megadsa szksges. Az elz fejezetben ezek a felttelek a megolds valamely kezdeti (t
= 0)
u = f (t, u, u )
msodrend dierencilegyenlethez az
(10.1.1)
u(0) = u0 ; u (0) = u0
feltteleket adtuk meg, ahol
(10.1.2)
u0 , u0
[0, T ]
u(0) = u0 , u(T ) = u1
kiegszt feltteleket adjuk meg.
(10.1.3)
10.1.1. plda. Tegyk fel, hogy egy rgztett fldfelszni pontbl valamely irnyba kilvnk
egy gygolyt. Jellje
y(t)
x(t)
pedig a kilvsi
t0
vzszintes (x) irnyban lland sebessggel halad a goly; a fggleges (y ) irny mozgsra csak a gravitci hat.
Hatrozzuk meg, hogy milyen szgben kell kilni a golyt ahhoz, hogy egy elre rgztett
x=L
x(t) = 0 y (t) = g.
(10.1.4)
279
10.
Emellett
x(0) = 0 s y(0) = 0. (A t = 0 kezdeti idpontban sem vzszintesen, sem fgglegesen x(t) = vt, ahol v az lland vzszintes irny sebessg. Innen y(t) = y(x/v) =: Y (x) fggvnyt, az sszetett fggvny derivlsi y(t) = dY dx dY = v, dx dt dx
nem tvolodott el a goly a kezdeti helyzetbl.) Ezrt a kezdeti felttel gyelembevtelvel az els egyenlet megoldsa
t = x/v .
Bevezetve az
szablya alapjn
d2 Y d2 Y y (t) = v 2 v = v 2 2 . dx dx
delkezik:
(10.1.5)
Y (x) =
(10.1.6)
Mivel ez a dierencilegyenlet knnyen kiintegrlhat, ezrt a (10.1.6) feladat megoldsa kzvetlenl kiszmthat:
Y (x) =
Ezrt a kilvs
gx (L x). 2v 2 gL 2v 2
szgt a tg
= Y (0) =
vltozrl
trbeli tartomnyon
lett kitzve.
10.1.2. denci.
Az
u = u(t) C [ a, b]-beli
(10.1.7)
peremrtk-feladatnak
nevezzk.
Vegyk szre, hogy a deniciban egy skalris egyenlet szerepel, ellenttben a kezdetirtkfeladatok megfogamazsval, ahol ltalnosan vektor-skalr fv-re is deniltuk a feladatot. A fejezet felptse a kvetkez. A kvetkez 10.2. szakaszban egy egyszer kitzs feladaton mutatjuk be a vges dierencis numerikus megoldsi mdszert. Ezutn rtrnk a tma bvebb kifejtsre s egyes rszleteinek ismertetsre. Foglalkozunk az ltalnos alak folytonos feladat megoldhatsgval, majd ismertetjk az n. belvses mdszert. Ezutn a vges dierencis megoldsi mdszert rszletezzk.
1 A tovbbiakban az ismeretlen fggvnyre az y(t) (vagy az u(t)), illetve az y(x) (vagy az u(x)) jellseket egyarnt hasznljuk.
280 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
10.2.
(10.2.1)
feladatot, ahol
st ltalnos esetben nem tudjuk kzvetlenl ellltani, ezrt numerikus eljrst alkalmazunk. Ennek lnyege a kvetkez. 1. Denilunk a
[0, l] intervallumon rcshlkat, nevezetesen az h = {xi = ih, i = 1, 2, . . . , N 1, h = l/N } s az h = {xi = ih, i = 0, 1, . . . , N, h = l/N } rcshlkat. Jellje h = h \h = {x0 = 0; xN = l} az n. perempontokat. F( h )
s
2. Jellje
F(h )
az
s az
rcsokon rtelmezett,
R-be
a (10.2.1) feladat
yh F( h ) rcsfggvny meghatrozsa, amely az h pontjaiban kzel van u megoldshoz, s a rcshl nomtsval (azaz h 0 esetn) az
A numerikus mdszert az hatrozza meg, hogy milyen mdon vlaszjuk meg a keresett rcsfggvnyt. Kzenfekv az albbi tlet. Tekintsk a (10.2.1) egyenletet az a
(10.2.2)
xi
pontbeli els
u (xi )
(10.2.3)
u (xi )
(10.2.4)
mdon kzelthetjk. Mivel elvrsaink szerint a keresett rcsfggvnyre (10.2.2) s (10.2.4) alapjn felllthatjuk a kvetkez sszefggseket:
yh (xi ) u(xi ),
ezrt
(10.2.5)
2 Ebben a rszben a fggetlen vltozt x betvel jelljk. Ennek oka, hogy a kvetkez, a parcilis dierencilegyenletekrl szl fejezetben tbb helyen is ezen jells mellett utalunk ezen szakasz eredmnyeire.
tankonyvtar.bme.hu 281
10.
yh (x0 ) = , yh (xN ) = .
A (10.2.5)-(10.2.6) feladat felrhat az albbi kompakt mdon. Jellje azt az opertort, amely a kvetkez mdon rendeli hozz a
(10.2.6)
Lh : F( h ) F( h ) wh F( h ) rcsfggvnyhez az
Lh wh F( h )
rcsfggvnyt:
ha ha
xi h ; xi h .
(10.2.7)
bh F( h )
a kvetkez rcsfggvny:
f (xi ), bh (xi ) = , ,
ha ha ha
xi h ; xi = x0 , xi = xN . yh F( h )
(10.2.8)
Ezen jellsek mellett a (10.2.5)-(10.2.6) feladat nem ms, mint azon meghatrozsa, amelyet az adatunk az
rcsfggvny
Lh
opertor az adott
bh F( h )
Lh yh = bh
opertoregyenlet
megoldsa. Vezessk be az
(10.2.10)
Ez egy
N +1
Lh yh = bh
alakban, ahol tor , s
3
(10.2.11)
Lh
yh = [y0 , y1 , . . . , yN ]T
1 1 h2 0
. . .
az ismeretlen vektor,
bh = [, f1 , . . . , fN 1 , ]T
0 0 0
. . .
adott vek-
a kvetkez mtrix
Lh =
0 2 h2 + c 1 h2
. . .
0 0 1 h2 0 2 1 + c h2 h2
. . . . . .
0 0 0
. . .
0 0 0
. . .
0 0 0
. . .
(10.2.12)
0 0
0 0
0 0
0 0
... ...
0 0
1 h2 0
2 h2
1 + c h2 0 1
Lh
10.2.
10.2.1. ttel.
A (10.2.12) alak
Lh
mtrix M-mtrix.
Bizonyts. Mint az ismeretes (lsd 1.2.39. ttel), azt kell megmutatnunk, hogy ltezik olyan
RN +1 -beli gh > 0
vektor, amelyre
Lh gh > 0. Legyen a gh
gh,i = 1 + ih(l ih).
vektor
i-edik
eleme (i
= 0, 1, . . . , N )
Ekkor gh,i 1 s (Lh gh )0 = (Lh gh )N = 1. Egyszer behelyettestssel i = 1, 2, . . . , N 1 esetn gh,i1 + 2gh,i gh,i+1 = 2h2 . gy
gh e > 0,
Lh gh e > 0.
(10.2.14)
10.2.2. kvetkezmny.
mdon.
Az
Lh
mtrix minden
h>0
mellett invertlhat,
L1 0, s az 1.2.40. h
L1 h
mini (Lh gh )i
gh
maxi gh,i . 1
(10.2.15)
ih(l ih)
s gy
ih + (l ih) 2
l2 , 4
gh,i 1 + l2 /4.
L1 h
becsls.
K :=
l2 + 4 4
(10.2.16)
Ph : C([0, l]) F( h ) projekcis opertor, azaz (Ph u)(xi ) = u(xi ) minden xi h eh F( h ) az eh = yh Ph u egyenlsggel denilt n. hibafggvnyt. Ekkor eh (xi ) = yh (xi ) u(xi ) = yi u(xi ).
(10.2.17)
10.
10.2.3. denci.
Az
nek
Ha
Lh
a maximumnormban konvergens(10.2.18)
nevezzk, ha
h0
lim eh
= 0.
valamely
p1
A tovbbiakban megmutatjuk, hogy az elz pontban denilt (10.2.9) numerikus mdszer konvergens, tovbb meghatrozzuk konvergencijnak rendjt is. A (10.2.17) sszefggsbl, az
eh (xi ) = ei
egyszerst jellssel
yi = ei + u(xi ).
Ezt behelyette-
(10.2.19)
ahol
Mivel
u(xi+1 ) 2u(xi ) + u(xi1 ) cu(xi ). h2 fi = f (xi ) = u (xi ) + cu(xi ), ezrt h = i u(xi+1 ) 2u(xi ) + u(xi1 ) u (xi ) + (cu(xi ) cu(xi )) . h2
=0
(10.2.20)
(10.2.21)
h = O(h2 ). i
h (A vezet konstans kirsval i 2 4 (4)
(10.2.22)
= (M4 /12) h + O(h ), ahol M4 = max[0,l] |u |.) Jellje h F( h ) azt a rcsfggvnyt, amelyre h (x0 ) = h (xN ) = 0, mg az h rcshl pontjaiban h h 2 a (10.2.21) szerint denilt i rtkeket veszi fel. Ekkor = O(h ). Vegyk szre, hogy
a (10.2.19) hibaegyenlet felrhat
Lh eh = h
(10.2.23)
Lh a (10.2.12) alak mtrix, eh pedig az eh hibafggvnynek megfelel RN +1 -beli 1 h Mivel Lh regulris, ezrt eh = Lh . Innen, felhasznlva a (10.2.16) s a (10.2.22) eh
= 0.
egyenltlensgeket,
L1 h
K O(h2 ) = O(h2 ).
(10.2.24)
Ezrt
limh0 eh
10.2.4. ttel.
Tegyk fel, hogy a (10.2.1) feladat
u(x)
kor a (10.2.5)-(10.2.6) (avagy a vele ekvivalens (10.2.9) opertoregyenlet) ltal ellltott vges dierencis numerikus megolds a maximumnormban msodrenben konvergl az oldshoz.
u(x)
meg-
10.2.5. megjegyzs.
O(h2 ) = const. h2
M4 (l2 +4) . 48
10.2.
h i
u(x)
pontos
xi h
rcspontban a numerikus
mdszer smjt. Az elz fejezetben lttuk, hogy a nomod rcshlk sorozatn ez a numerikus megolds adott pontbeli viselkedsre adhat vlaszt, ugyanakkor az egsz intervallumon val viselkedsre nem. Mg a kezdetirtk-feladatok esetn a pontbeli illetve az egsz intervallumon val viselkeds jellemzsre egyarnt kerestk a vlaszt, addig a peremrtk-feladatok esetn csak a msodik eset a tipikus. hogy az
5
[0, l]
u(x)
h i
vektorral jellemezzk.
10.2.6. denci.
Azt mondjuk, hogy a Ha numerikus
limh0 h
= 0.
maximum
normban,
ha
a mdszert
p-ed
rendben kon-
zisztensnek nevezzk. Korbbi szmtsaink alapjn teht a (10.2.9) mdszer a maximumnormban msodrendben konzisztens. Mint azt a 10.2.4. ttel bizonytsa is mutatja, ltalban a konzisztencia nmagban nem elegend a konvergencia bizonytshoz. Ehhez egy msik tulajdonsg is szksges.
10.2.7. denci.
Azt mondjuk, hogy a numerikus mdszer a maximumnormban
Lh
stabil,
ha a mdszert ler
K > 0, h-tl
(10.2.25)
L1 h
K.
10.2.8. megjegyzs.
h rtkek mellett rh < h0 mellett teljeslnek a megkvetelt tulajdonsgok. Ebben az esetben a mdszert felttelesen stabilnak nevezzk. Ha h megvlasztsra nincs korlt, azaz az invertlhatsg s a (10.2.25) tulajdonsg minden h > 0 szm esetn rvnyes, akkor a smt felttel nlkl stabilnak nevezzk.
Gyakran a fenti tulajdonsgok csak megfelelen kis vnyesek, azaz csak valamely
h0 > 0
szm melletti
Kzvetlenl belthat a numerikus mdszerek egyik alapttele. (Ezt az lltst ksbb bebizonytjuk, s tbb alkalommal is alkalmazzuk.)
10.2.9. ttel.
Egy konzisztens s stabil numerikus mdszer konvergens, s a konvergencia rendje megegyezik a konzisztencia rendjvel.
10.2.4. sszefoglals
Foglaljuk ssze a szakasz eddigi eredmnyeit!
5 Ennek egyik oka, hogy a peremfeltteleket, amelyek az intervallum mindkt vgpontjban adottak, fel kell hasznlnunk a numerikus megolds meghatrozshoz. gy nem szoritkozhatunk egy rgztett x [0, l] pont esetn csak a [0, x ] intervallumon generlt rcshlsorozatokra.
tankonyvtar.bme.hu 285
10.
Jellje
azt a
C 2 [0, l]-beli
ha ha
x (0, l);
(10.2.26)
x {0; l},
f azt
[0, l]
f (x), (x) = f 1 , 2 ,
Feltesszk, hogy
ha ha ha
x (0, l); x = 0, x = l. 1
s
(10.2.27)
c(x)
f (x)
Lu = f
opertoregyenlet megoldsa Ehhez az egy
{h } [0, l]
Lh yh = bh
alak feladatot, ahol bh F( h ) adott, yh F( h ) pedig ismeretlen rcsfggvny, s Lh : F( h ) F( h ) a numerikus mdszert ler, (10.2.7) alak lineris opertor. Ekkor a Ph : C[0, l] F( h ) projekcis opertor segtsgvel megmutattuk a kvetkezket.
A diszkrt feladat msodrendben konzistens, ami azt jelenti, hogy az tossggal approximlja az hogy teljesl az
Lh
opertor
h2
pon-
L opertort a (10.2.28) feladat pontos megoldsn. Ez azt jelenti, (Lh (Ph u)) (xi ) (Lu) (xi ) = O(h2 )
(10.2.30)
relci minden
xi h
pontban, s az
O(h2 ) = const. h2
ellltsban
const.
fggetlen az
xi
Lh
F( h ) hibafggvny eh = O(h2 ).
telmsgt, fggetlenl a kezdeti felttel (avagy magasabb rend dierencilegyenletek esetn, a kezdeti felttelek) megvlasztstl. Az albbi plda megmutatja, hogy a peremrtk-feladatok esetn ez megvltozik, az
megolds ltezsre s annak egyrtelmsgre. 286 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
10.3.
10.3.1. plda.
f (t, u, u ) = u,
u = u
egyenletet. Mint ismeretes, (10.3.1) ltalnos megoldsa
C2
= 7.
(Teht csak
C1 s C2 rtkpr, amely
Megjegyezzk, hogy van olyan plda is, amelyben ltezik ugyan a peremrtk-feladatnak megoldsa, de az nem egyrtelm. Pldul, az
(10.3.2)
u(t) = 2 ln
fggvny , ahol
6
2e cos(/4)
oldsa van, ezrt a (10.3.2) feladatnak kt megoldsa ltezik. Az albbi ttel egy elgsges felttelt ad az egyrtem megolds ltezsre.
10.3.2. ttel.
Tegyk fel, hogy a
f : R3 R
1. 2. 3.
4. ltezik olyan
|3 f | M T -n.
Ekkor a (10.1.7) peremrtk-feladatnak ltezik egyrtelm megoldsa. A 10.3.2. ttel fontos kvetkezmnye az albbi llts.
10.3.3. kvetkezmny.
Legyen
(10.3.3)
6 A fenti kpletben szerepl cosh a koszinusz hiperbolikus fggvnyt jelenti, amelyet idnknt a ch szimbolummal is szoksos jellni.
tankonyvtar.bme.hu 287
10.
feladatot, ahol
p, q, r C[a, b]
akkor a (10.3.3)
lineris peremrtk-feladatnak ltezik egyrtelm megoldsa. Mint azt a 10.3.1. plda is mutatja, a a pldban szerepl
q(t) > 0 felttel nem hagyhat el, hiszen ezt a felttelt kivve f (t, s1 , s2 ) = s1 fggvnyre a 10.3.3. kvetkezmnyben szerepl valamennyi
felttel teljesl. Ugyanakkor, mint azt belttuk, nem ltezik megolds. Az elz fejezetben megmutattuk, hogy a magasabbrend dierencilegyenletek trhatk elsrend rendszerek alakjra. Alkalmazva ezt az n. tviteli elvet, a (10.1.7) peremrtk-feladat egyenlete is trhat ktismeretlenes rendszerr. Vezessk be az fggvnyt a kvetkez mdon:
u1 (t) = u(t)
u2 (t) = u (t).
(10.3.4)
alakban. Termszetesen a (10.3.4) feladat ebben a formban nem oldhat meg, hiszen csak az
u1
Megjegyezzk, hogy (10.3.4) egyenlete specilis alakja a kvetkez ltalnos alakban felrt egyenletnek:
(10.3.5)
ahol
f:R R
3
f(t, u) =f(t, u1 , u2 ) =
alakban vlasztjuk meg az
u2 f (t, u1 , u2 )
, t [a, b]
(10.3.6)
u = A(t)u + r(t)
alak, ahol
(10.3.7)
A(t) =
0 1 q(t) p(t)
, r(t) =
0 r(t)
(10.3.8)
Ba =
1 0
0 0
, Bb =
0 1
0 0
, v=
(10.3.9)
Ba u(a) + Bb u(b) = v
alakban rhat fel. A tovbbiakban ellltjuk a (10.3.7)(10.3.10) feladat megoldst. A (10.3.7) egyenlet ltalnos megoldsa felrhat a kvetkez mdon. Legyen egyenlet alapmegoldsa (ms nven fundamentlis mtrixa), vagyis az
(10.3.10)
Y(t) Rmm
az
(10.3.11)
10.3.
I Rmm
u(t) = Y(t) c +
a
ahol
Y1 (s)r(s)ds ,
(10.3.12)
c Rm
szerint denilt
u(t)
Y1 (s)r(s)ds
(10.3.13)
Y1 (s)r(s)ds
(10.3.14)
Q = Ba + Bb Y(b) Qc = v Bb Y(b)
a b
(10.3.15)
jellssel a
c vektorra a
Y1 (s)r(s)ds
(10.3.16)
10.3.4. ttel.
A (10.3.7)(10.3.10) lineris peremrtk-feladatnak pontosan akkor ltezik egyrtelm megoldsa, amikor a (10.3.15) alak ahol
c = Q1 v Bb Y(b)
a
Y1 (s)r(s)ds .
(10.3.17)
10.3.5. plda.
Vizsljuk meg az
(10.3.18)
A(t) = A =
ezrt az alapmegoldsa az
0 1
1 0
(10.3.19)
Y(t) =
alak mtrix. Ezrt a mtrix
(10.3.20)
Ba
Bb
Q=
1 0 cos b sin b
(10.3.21)
tankonyvtar.bme.hu 289
10.
alak. Ez a amikor a
Q mtrix pontosan akkor szingulris, amikor b = j , ahol j N tetszleges ponem egsz szm tbbszrse. (Ez az eredmny egyben megvlaszolja
zitv egsz szm. Teht pontosan akkor ltezik a (10.3.18) feladatnak egyrtelm megoldsa,
b vgpont a
a 10.3.1. plda eredmnyt, hogy mirt volt egyrtelm megolds nem ltezik megolds a
b = /2
esetn, s mirt
b=
megvlaszts mellett.)
10.3.6. megjegyzs.
Vezessk be a
(t) = Y(t)Q1
fggvnyt! Ekkor
(10.3.22)
(t) fgg-
u(t) = (t)v +
a
ahol
7
G(t, s)r(s)ds,
(10.3.23)
G(t, s) =
ha
s t;
ha s >t.
(10.3.24)
a peremrtk-feladatok esetn is valamely numerikus megolds alkalmazsa szksges. Az ismertetsre kerl numerikus mdszereket kt csoportba sorolhatjuk.
A peremrtk-feladat megoldst visszavezetjk Cauchy-fle kezdetirtk-feladatokra, s ezek megoldsra a korbban ismertetett numerikus mdszerek valamelyikt alkalmazzuk.
7 Ezt a
10.4.
u = f(t, u),
t [a, b]
u1 (a) = , u1 (b) =
elz szakaszban mr felrt ltalnos alak peremrtk-feladatot! A hogy a (10.4.1) feladat helyett az
(10.4.1)
belvses mdszer 8
lnyege,
(10.4.2)
u(a) =
ezrt a
u1 (a) u2 (a)
(10.4.3)
t = a pontbeli kezdeti llapotot ler c R2 vektor els komponense a (10.4.1) peremfelttelbl ismert, viszont a msodik komponenst (u2 (a) = u (a)) nem ismerjk. Legyen c = u2 (a).
A belvses mdszer lnyege, hogy a
c=
kezdetirtk megvlasztsban a sa a
(10.4.4)
c llandt gy hatrozzuk meg, hogy a (10.4.2) feladat megoldt = b pontban az elrtaknak megfelelen a rtket vegye fel. Ez a kvetkezt jelenti. Jellje u(t, c) a (10.4.1) feladatnak a (c paramter megvlasztstl fgg) megoldst. Feladatunk a c
paramter olyan megvlasztsa, amely mellett
u1 (b, c) = .
Ezt a
(10.4.5)
h(c) = u1 (b, c)
fggvny bevezetsvel a
(10.4.6)
h(c) = 0 h:RR
(10.4.7)
egyenlet megoldsval kaphatjuk meg. A (10.4.6) egyenlet egy nemlineris egyenlet, amelyben ("vals-vals") tpus fggvny. Megoldsra tbb ismert mdszer is alkalmazhat.
s ekkor a
folyamatos felezsvel hatrozhatjuk meg. A belvses mdszer intervallum-felez mdszeres algoritmusa teht a kvetkez. 1. Rgztnk valamely
rtket.
10.
4. A
c = 0.5(c1 + c2 )
5. Az gy nyert megolds
t=b
c1
vagy
c2
6. Amikor a kt vgpont tvolsga kisebb, mint egy elre megadott jezzk az itercit.
>0
A belvses mdszer sorn a (10.4.6) egyenlet megoldsa szksges, amihez az elzekben a felez eljrst alkalmaztuk. Ennl hatkonyabb (br mg mindig csak elsrend) a kzs htrnya a kezdeti ellenttes eljel alappontok meghatrozsa. Ha a
hrmdszer.
Ennek alkal-
szelmdszert
mazzuk, akkor erre nincs szksg. Ezzel a mdszerrel algoritmusunk a kvetkez: 1. Legyenek
c(0)
c(1)
tetszleges rtkek.
c(0) -t,
majd
c(1) -t
helyettestve, megoldjuk az
[a, b]
(c(1) , h(c(1) ))
h(c(1) ).
(10.4.8)
h(c(2) )
rtket.
6. A tovbbikban egy ktlpses itercit ptnk fel a fenti lpsek analgijaknt: rtkekre a mr kiszmolt meghatrozzuk a
k = 2, 3, . . .
(c(k2) , h(c(k2) ))
s a
(c(k1) , h(c(k1) ))
pontok ismeretben
c(k) = c(k1)
kzeltst, majd ennek ismeretben a 7. Amikor
h(c(k1) )
(10.4.9)
|h(c(k) )|
>0
itercit.
10.4.1. megjegyzs.
amely mellett a leges
nye teht, hogy az iterci elindtshoz nem szksges kt olyan kezdeti kzelts megkeresse,
h ellenttes eljelet vesz fel ezekben a pontokban, hanem indulhatunk kt tetszkzeltsbl. Ugyanakkor tetszleges feladatok esetn a mdszer konvergencija
c(0)
c(1)
a'priori nem biztosthat. A fenti algoritmus utols lpse utn szoksos mg egy javt lpst tenni. (Ennek oka, hogy ha
h(c(k1) )
h(c(k) )
10.4.
rtkt nem clszer tlsgosan kicsinek vlasztani.) Ezt a kvetkez mdon hajtjuk vgre.
Elksztjk a
h(c(0) ) c(0)
tblzatot s egy trozzuk azt a
h(c(1) ) c(1)
... ...
h(c(n) ) c(n)
(10.4.10)
n-ed fok interpolcis polinomot fektetnk ezekre az adatokra, azaz meghap(t) n-ed fok polinomot, amelyre p(h(c(k) )) = c(k) minden k = 0, 1, . . . n esetn. 1 Teht a p polinom a h fggvnyt (a h fggvny inverzt) interpollja. Ekkor a h fggvny (n+1) (n+1) gykhez val c kzeltst a p(0) = c sszefggs alapjn hatrozhatjuk meg.
Az egyenlet megoldsra lnyegesen hatkonyabb mdszer a msodrend nek sorn a
Newton-mdszer, amely(10.4.11)
c(s+1) = c(s)
h(c(s) ) , s = 0, 1, . . . h (c(s) )
itercival felptett sorozattal kzeltjk a keresett gykt. (A (10.4.11) iterciban a alapvet problma
c(0)
meg-
h (c(s) )
rtknek meghatrozsa.
Ehhez trjnk vissza az eredeti (10.1.7) feladatra! A belvses mdszer alkalmazsa azt jelenti, hogy keressk valamely
cR
mellett az
(10.4.12)
u(t, c)
fggvny s ekkor
t (a, b),
u(a, c) = , u (a, c) = c.
Derivljuk a (10.4.13) azonossgot a
(10.4.13)
u u u (t, c) = 2 f (t, u(t, c), u (t, c)) (t, c)+3 f (t, u(t, c), u (t, c)) (t, c), c c c u(a, c) = 0, c
Vezessk be a
(10.4.14)
u (a, c) = 1. c
w(t) :=
u (t, c) c
w (t) = 2 f (t, u(t, c), u (t, c))w(t) + 3 f (t, u(t, c), u (t, c))w (t),
(10.4.15)
w(a) = 0,
A (10.4.15) relci ltszlag az ismeretlen valjban nem az, hiszen a
w (a) = 1.
fggvnyre egy Cauchy-feladat . Ugyanakkor
9
w(t)
2 f
3 f
fggvnyeket az ismeretlen
pontban
nem tudjuk kirtkelni. Ha hozzvesszk a (10.4.15) relcihoz a (10.4.13) egyenlsget, akkor egy ngyismeretlenes elsrend kznsges dierencilegyenlet-rendszer Cauchy-feladatt kapjuk! Nevezetesen, bevezetve a
v1 (t) = u(t, c), v2 (t) = u (t, c), v3 (t) = w(t), v4 (t) = w (t)
9 Ezt a feladatot az irodalomban els varicis egyenletnek szoksos nevezni.
(10.4.16)
tankonyvtar.bme.hu 293
10.
v1 (t) = v2 (t), v2 (t) = f (t, v1 (t), v2 (t)), v3 (t) = v4 (t), v4 (t) = 2 f (t, v1 (t), v2 (t))v3 (t) + 3 f (t, v1 (t), v2 (t))v4 (t).
Emellett
(10.4.17)
(10.4.18)
[a, b]
intervallumon megoldva a
v3 (b) = w(b) =
ezrt (10.4.6) miatt zje kiszmthat.
u (b, c), c
(10.4.20)
h (c) = v3 (b),
c(0)
rtket.
c = c(0)
megvlasztssal az
kezdetirtk-feladatot az elz fejezetben ismertetett valamely numerikus mdszerrel. 3. A megoldsok ismertben kiszmoljuk a
h (c(0) ) = v3 (b)
rtkeket.
kzeltst.
|h(c(k) )|
>0
itercit.
(10.4.21)
akkor a numerikus trgyals is lnyegesen egyszerbb vlik. Tegyk fel, hogy a (10.4.21) feladatot a belvses mdszer segtsgvel megoldjuk a
c = c1
s a
c = c2
megvlasztssal. Jellje
u1 (t) = u(t, c1 )
u2 (t) = u(t, c2 )
c1
c2
rtkekhez tartoz
u1 (t) =p(t)u1 (t) + q(t)u1 (t) + r(t), t [a, b], u1 (a) = , u1 (a) = c1 ,
294 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
(10.4.22)
10.4.
u2 (t) =p(t)u2 (t) + q(t)u2 (t) + r(t), t [a, b], u2 (a) = , u2 (a) = c2 .
Legyen tovbb
(10.4.23)
(10.4.24)
(10.4.25) gy,
w(a) = s w(b) = u1 (b) + (1 )u2 (b). Ezrt vlasszuk meg a paramtert w(b) = felttel, azaz u1 (b) + (1 )u2 (b) = . Innen rtkt a = u2 (b) u1 (b) u2 (b)
melletti (10.4.24) alak
(10.4.26)
w(t)
fgg-
vny lesz az eredeti (10.4.21) lineris peremrtk-feladat megoldsa. A fenti megolds ellltsnak szmtgpes realizlsa a kvetkez mdon valsthat meg. Tekintsnk a kvetkez kt Cauchy-feladatot:
(10.4.27)
(10.4.28)
u1 (t), a (10.4.28) feladat megoldst pedig u2 (t). (Ezeket a (10.4.27) [a, b] interval-
lumon, az elz fejezetben ismertetett numerikus mdszerek valamelyikvel.) Ezutn a (10.4.26) kplet alapjn meghatrozzuk a paramter rtkt, s vgezetl a (10.4.21) feladat megoldst u1 (t) s u2 (t) elzekben mr kiszmolt kzeltseibl a (10.4.24) sszefggs alapjn hatrozzuk meg.
a (10.4.26) kplettel?
Tegyk fel, hogy a (10.4.21) lineris peremrtk-feladatnak ltezik egyrtelm megoldsa. Ekkor
u1 (t)
fggvny ez a megolds,
u1 (b) u2 (b) = 0,
s gy a (10.4.26) kpletbl
meghatrozhat.
Teht korrekt kitzs feladatok esetn a numerikus megolds is meghatrozhat. A (10.4.21) lineris peremrtk-feladat egyrtelmen ltez megoldst el tudjuk lltani nemcsak a (10.4.27) s a (10.4.28) Cauchy-feladatok lineris kombincijaknt, hanem ms tankonyvtar.bme.hu 295
10.
(10.4.29)
(10.4.30)
u2 (t).
Knnyen
w(t) = u1 (t) +
fggvny megoldsa a (10.4.21) feladatnak. gy elegend numerikusan megoldani a (10.4.29) s a (10.4.30) Cauchy-feladatokat. sszefoglalan teht megllapthatjuk, hogy a lineris peremrtk-feladatok numerikus megoldsa sorn tnylegesen nem alkalmazzuk a belvses mdszert, mivel a megoldst el tudjuk lltani kt, egyszer struktrj, msodrend kznsges dierencilegyenlet Cauchy-feladatnak megoldsval. Ez, sszehasonltva az ltalnos esettel, a szmtsi kltsgek tekintetben jelents megtakartst jelent: mg a lineris esetben sszesen ktszer kell valamely egylpses kezdetirtkfeladatot megold numerikus mdszert alkalmazni, addig az ltalnos esetben annyiszor, ahny itercis lpst hajtunk vgre a (10.4.7) egyenlet kzelt megoldsra.
(10.5.1)
feladatot, hanem az idintervallumon rcshlt hatrozunk meg, s a feladatban szerepl derivltakat ezen rcshln approximljuk. Ezutn ennek segtsgvel lltjuk el a kzelt megoldst.
u (t) = u (t) =
u(t + h) u(t) 1 hu (1 ) h 2
(10.5.2)
u(t) u(t h) 1 + hu (2 ) h 2 u(t + h) u(t h) 1 2 u (t) = h u (3 ) 2h 6 u(t + h) 2u(t) + u(t h) 1 u (t) = h2 u(4) (4 ), h2 12
296 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
(10.5.3)
(10.5.4)
(10.5.5)
10.5.
ahol
i (t, t + h) (i = 1, 2, 3, 4) t
u(t)
pontbeli de-
u (t )
u(t + h) u(t ) , u (t ) h u (t )
[a, b]
rcshl lpskze.
Jellje
h = {t0 = a, tN +1 = b}.
Tegyk fel, hogy a (10.5.1) feladatnak ltezik egyretelm olyan fggvny
10
u(t)
u(t) C 2 [a, b]
(10.5.10)
, amelyre
(10.5.11)
yi
u(ti )
kzeltsei),
(10.5.12)
N + 2 ismeretlenes egyenletrendszert az y0 , y1 , . . . , yN +1
ismeretlenekre, megha-
trozhatjuk a vges dierencis kzeltseket. Ugyanakkor, valjban nem tudjuk a vlaszt a kvetkez krdsekre.
A (10.5.12) rendszernek ltezik-e egyrtelm megoldsa? Ha igen, hogyan oldhat meg a rendszer hatkonyan?
10 Mint az a (10.5.10) sszefggsbl ltszik, elegend az u(t) C 2 (a, b)C[a, b] simasgi felttel, de a gyakorlati esetekben ez az egyszerbben ellenrizhet felttel nem jelent tnyleges megszortst.
tankonyvtar.bme.hu 297
10.
Kzel van-e
yi
rtke
u(ti )
rtkhez?
[a, b]
intervallumon a kzelt
(10.5.13)
(10.5.14)
yx,i =
(10.5.15)
amelyeket rendre jobb, bal s kzpponti dierenciknak neveznk. A (10.5.2) s a (10.5.3) alapjn nyilvnvalan a jobb s bal oldali dierencik elsrendben, mg a (10.5.4) kvetkeztben a kzpponti dierencia msodrendben approximlja az els derivltat a Knnyen lthat, hogy a
t = ti
pontban.
ti
yxx,i :=
(10.5.16)
u (t)
fggvnyt
t = ti
A (10.5.12) sma:
(10.5.17)
(10.5.18)
yxx,i =f (ti , yi , yx ,i ), i = 1, 2, . . . , N y0 = , yN +1 = .
(10.5.19)
10.5.
(10.5.20)
Vezessk be a
10.5.2. ttel.
A (10.5.20) lineris peremrtk-feladat (10.5.17)-(10.5.19) vges dierencis diszkretizcija
(10.5.21)
(10.5.22)
(10.5.23)
ai =
1 2 1 1 1 , di = 2 + qi pi , ci = 2 + pi 2 h h h h h h
esetn ezrt
(10.5.24)
1 (2 + h2 qi hpi ) 1 (1 hpi ) = qi . h2
(10.5.25)
ai =
1 2 1 1 1 pi , di = 2 + qi + pi , ci = 2 , h2 h h h h
(10.5.26)
ai =
1 1 1 1 2 pi , di = 2 + qi , ci = 2 + pi , 2 h 2h h h 2h h
rtkek mellett (10.5.22) rvnyes.
(10.5.27)
10.5.3. kvetkezmny.
d1 y1 + c1 y2 = r1 a1 , ai yi1 + di yi + ci yi+1 = ri , i = 2, 3, . . . , N 1, aN yN 1 + dN yN = rN cN
tankonyvtar.bme.hu 299 (10.5.28)
10.
ei
t = ti
eh (ti ) = ei )!
ei = yi ui ),
eh
10.5.4. denci.
Valamely numerikus mdszer
konvergencija
h0
Ha
lim eh = 0.
(10.5.29)
10.5.5. megjegyzs.
eh RN +2
eh
vektorsorozat (ahol
h = (b a)/(N + 1))
az
RN +2
A kvetkez lltsban a fenti vges dierencis kzeltsek konvergencijval s a konvergencia rendjvel foglalkozunk.
10.5.6. ttel.
A (10.5.24), (10.5.26) s (10.5.27) megvlaszts (10.5.21) alak vges dierencis diszkretizcik lineris peremrtk-feladat esetn konvergensek, emellett 1. a (10.5.27) megvlaszts esetn a sma msodrendben, 2. a (10.5.24) s a (10.5.26) megvlaszts esetn pedig a smk elsrendben konverglnak a (10.5.20) feladat megoldshoz. Bizonyts. Mivel a kt llts bizonytsa lnyegben megegyezik, a tovbbiakban csak az elst mutatjuk meg. Felhasznlva a (10.5.4) s a (10.5.5) approximcis tulajdonsgokat, a (10.5.20) feladat a pontban gy rhat fel:
t = ti
(10.5.30)
ahol
1 pi + 2 h 2h
ui+1 +
2 1 pi + qi ui + 2 2 h h 2h
ui1 = ri h2 gi ,
(10.5.31)
gi =
ai ui1 + di ui + ci ui+1 = ri h2 gi
300 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
(10.5.32)
10.5.
alakban. Mivel a numerikus megoldsra rvnyes a (10.5.21) sszefggs, (ahol az egytthatk (10.5.27) szerintiek), a (10.5.32) egyenlsgbl kivonva a (10.5.21) egyenleteket, az koordinti kielgtik az
eh
hibavektor
(10.5.33)
i-edik
di ei = ai ei1 ci ei+1 h2 gi ,
azaz abszolt rtkben becslve a
+ h2 g
(10.5.35)
g a gi koordintj vektor. Jellje i0 azt az indexet, amelyre = |ei0 |. (Nyilvnvalan i0 = 0 s i0 = N + 1, mivel e0 = eN +1 = 0.) Mivel (10.5.35) minden i = 1, 2, . . . , N rtkre rvnyes, ezrt az i = i0 indexre is, azaz eh
|di0 | eh
(|ai0 | + |ci0 |) eh
+ h2 g
(10.5.36)
h2 g
(10.5.37)
qi0 eh
becslst jelenti. A
h2 g
(10.5.38)
felttel kvetkeztben
eh
ahol
h2
qmin
Ch2 ,
(10.5.39)
pmax M3 M4 + )/qmin , Mj = max |u(j) |, pmax = max |p|. C=( 12 6 [a,b] [a,b] h0
esetn a hiba msodrendben tart nullhoz.
q(t) > 0
az
[a, b]
p=q=0
specilis esetre.
(10.5.40)
hosszsgnak tekintjk, s a
rcshl (10.5.41)
alak. Ekkor a (10.5.21) rendszer mindegyik diszkretizc esetn a (10.5.28) feladatot eredm-
ai =
1 2 1 , di = 2 , ci = 2 . h2 h h
(10.5.42)
tankonyvtar.bme.hu 301
10.
Ah yh = bh Ah R
0 0 ... 1 0
N N
mtrix
(10.5.43)
1 h2
2 1 ... 0 0
1 0 2 1 ... ... 0 0 0 0
0 0 ... 0 0
0 0 ... 2 1
0 0 ... 1 2
(10.5.44)
alak, s a
b h RN
vektorra pedig
(10.5.45)
10.5.7. ttel.
A (10.5.43) feladatnak tetszleges
h>0
h > 0 mellett az Ah
=0
Hatrozzuk meg az
(k) (k = 1, 2, . . . , N ) sajtrtkt! Mivel Ah szimmetN rikus, ezrt mindegyik k vals, s valamely nem nulla vk R vektor mellett Ah vk = k vk , azaz (ideiglenesen elhagyva a k index jellst) a v0 = vN +1 = 0 rtkekkel a v sajtvektor vi
mtrix
nem sajtrtke.
Ah
darab
koordintira teljesl a
(10.5.46)
(10.5.47)
vi = sin(pti ) i = 0, 1, . . . , N + 1
alakban, ahol testve:
(10.5.48)
pR
(10.5.49)
(10.5.50)
(10.5.51)
10.5.
sin(pti ) = vi
s a
indexre
vi = 0.
(10.5.52)
=
A
4 ph 2 (1 cos(ph)) = 2 sin2 . h2 h 2
(10.5.53)
p paramtert gy vlasztjuk meg, hogy a (10.5.47) msodik felttele is teljesljn, azaz a (10.5.48) v0 sin(p 0) = 0 s vN +1 sin(p l) = 0 legyen. Az els felttel nyilvnvalan minden p esetn teljesl, mg a msodik egyenletbl pl = k , azaz p = pk = k/l .
megvlaszts kvetkeztben Ezt behelyettestve a (10.5.53) sszefggsbe megkapjuk az
Ah
mtrix sajtrtkeit:
k =
A (10.5.48) sszefggsbl a
kh 4 sin2 , k = 1, 2, . . . , N. h2 2l
(10.5.54)
vk
sajtvektorok is felrhatk:
vk = sin
Mivel gy
kih l
, k = 1, 2, . . . , N.
i=1
(10.5.55)
minden
k fgg h-tl, alkalmazzuk a k =: k (h) jellst! Knnyen lthat, hogy k (h) > 0 k = 1, 2, . . . , N esetn, s emellett a legkisebb sajtrtk a k = 1 indexhez tartoz rtk. tetszlegesen rgztett h (azaz rgztett feloszts) esetn min k (h) = 1 (h) = 4 h sin2 . h2 2l
(10.5.56)
k=1,2,...,N
Vezessk be az
s=
j vltozt! Mivel
h 2l
(10.5.57)
h l/2,
ezrt
s (0, /4].
1 (s) =
alakban. Hasznljuk fel, hogy a Ezrt
(10.5.58)
11
(0, /4]
h>0
gy minden
inf 1 (h) = 1
l 2
16 8 sin2 = 2 . l2 4 l
(10.5.59)
h>0
esetn
1 (h)
vagyis az
8 , l2
(10.5.60)
Ah mtrix legkisebb sajtrtke minden h > 0 esetn a := 8/l2 > 0 szmnl nagyobb.
A fenti ttelbl s a bizonytsbl kzvetlenl kvetkeznek az albbi
10.5.8. kvetkezmny.
lltsok.
10.
1. Az 2. Az
Ah Ah
mtrix invertlhat, s
A1 h
1/ = l2 /8.
1 (h)v1
v1 > 0. Mivel 1 (h) > 0 is igaz, ezrt az Ah v1 = v1 > 0 vektorral Ah v1 > 0, azaz Ah M-mtrix.
10.5.9. megjegyzs.
ben szerepl becsls a telt.)
zuk, s nem hasznltuk a korbbi (az M-mtrixra vonatkoz) korbbi eredmnyeinket, amelybl a regularits szintn kvetkezik. Ezen megkzelts egyik fontos eredmnye a 10.5.8. kvetkezmny-
A1 h
Eredmnynket felhasznlva kzvetlenl belthat a (10.5.28), (10.5.42) numerikus mdszer konvergencija az rcsfggvnyek
h := {t0 , t1 , . . . , tN +1 }, h
yh
N +1
yh
alak normjban.
12
2 2,h
:= h
i=0
2 yi
(10.5.61)
2,h
= sup
v
RK
teht az 1. fejezetben denilt szoksos 2-es (vagy euklideszi) normval szmolhat. Tekintsk teht az
(10.5.62)
ei + u(ti ),
(10.5.63)
Ah eh = h
(10.5.64)
12 Knnyen lthat, hogy az a = t s b = t 0 N +1 kvetkeztben ez a norma az L2 [a, b] tr normjnak diszkrt analgja, azaz ha u az [a, b] intervallumon rtelmezett, ngyzetesen integrlhat fggvny, s yh (xi ) = u(xi ), akkor b limh0 yh 2 = u 2 [a,b] a u2 (x)dx. 2,h L
2
10.5.
vektorra pedig
)i = i , i = 1, 2, . . . , N .
Ah RN N
eh = A1 h , h
azaz
eh
Mivel (10.5.5) kvetkeztben
2,h
A1 h
2,h
2,h
= A1 h
2,h .
(10.5.66)
i = O(h2 ),
N
ezrt
N 2 i = h
2 2,h
=h
i=1
mivel
1 2 h
2,h
= O(h2 ).
eh
Ezzel belttuk az albbi lltst.
2,h
= O(h2 ).
(10.5.67)
10.5.10. ttel.
A (10.5.62) sma megoldsa
h0
peremrtk-feladat megoldshoz.
L0
C 2 [a, b]-beli
L0 u = u + p(t)u + q(t)u,
valamint
B1 , B2
azokat a szintn
C 2 [a, b]-beli
B1 u = u(a), B2 u = u(b).
Ekkor az
az az opertort, amely az
F1 [a, b] halmazon L0 v Lv = B1 v . B2 v
van rtelmezve, s
(10.5.71)
tankonyvtar.bme.hu 305
10.
Teht
egy
F1 [a, b] F2 [a, b]
v C 2 [a, b]
fggvnyhez az
Lv =
hrmast rendeli hozz.
(10.5.72)
r(t) f := F2 [a, b]
jells mellett keressk azon
(10.5.73)
u F1 [a, b]
elemet (azaz
C 2 [a, b]-beli
Lu = f.
Jellje
F( h ) illetve F(h ) az h illetve h rcshlkon rtelmezett rcsfggvnyek vektortert, (1) L0,h : F( h ) F(h ) pedig azt az opertort, amely valamely vh F( h ) fggvny esetn a kvetkez mdon hat: L0,h vh (t) =
Jellje tovbb lyekre
(1)
B1,h , B2,h
F( h )-beli
L0,h : F( h ) F(h ), B1,h , B2,h : F( h ) R tpus lineris opertorok. Jellje (1) Lh azt az opertort, amely az F( h ) halmazon van rtelmezve s (1) L0,h vh (1) Lh vh = B1,h vh . B2,h vh
Teht (10.5.77)
Lh
(1)
egy
rcshl
(1) Lh vh =
h rcshl pontjaiban denilt) rcsfggvnyt rendeli hozz. Jellje rh azt az F(h )-beli rcsfggvnyt, amelyre rh (t) = r(t) mindegyik t h
(ugyancsak az a (10.5.23) feladat felrhat a kvetkez mdon. Az
pontban. Ekkor
rh fh := F( h )
jells mellett keressk azon amelyre
(10.5.79)
vh F( h )
elemet (vagyis az
Lh vh = fh .
306 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
(1)
(10.5.80)
10.5.
Vegyk szre, hogy (10.5.80) a jellseinket gyelembe vve egy lineris algebrai egyenletrendszert jelent, amelynek mrete megegyezik az
N +2
fh rcsfggvnyeket N + 2 (1) dimenzis vektorokkal, mg az Lh lineris opertort egy (N + 2) (N + 2) dimenzis mtrix segtsgvel adhatjuk meg. Ez azt jelenti, hogy a (10.5.80) feladat felrhat
ismeretlent tartalmaz. Teht az ismeretlen illetve az adott
vh
Ah yh = fh
alakban, ahol
(1)
(1)
yh , fh RN +2 .
i-edik
koordintja a
ti h
(10.5.82)
Ah
(1)
mtrix
. . . 0 0
alak, ahol Mivel
1 a1 0
0 d1 a2
. . .
0 c1 d2
. . .
0 0 c2
. . .
0 0 0
. . .
0 0 0
. . .
0 0 0
. . .
0 0 0
. . .
(10.5.83)
0 0
0 0
0 0
... ...
0 0
aN 0
dN 0
cN 1
),
ezrt
A(1) yh = fh h
feladattal, ahol
(10.5.84)
A(1) RN N , yh , fh RN h
0 0 . . . . dN
(10.5.85)
10.5.11. megjegyzs.
A(2) h
A(3) h
A tovbbiakban arra vagyunk kvncsiak, hogy a fenti smk valamelyikvel denilt numerikus megoldsok hasznlhatk-e az eredeti peremrtk-feladat megoldsnak kzeltsre. Ezen szakasz elejn megmutattuk a kvetkezket.
rtkek mellett az
Ah
(k)
mtrixok esetn az
Lh vh = fh (k = 1, 2, 3)
(k)
10.
h0
10.5.12. megjegyzs.
1. A (10.5.33) hibaegyenlet jobb oldaln szerepl kifejezs a loklis approximcis hiba. Teht a hibaegyenlet jobb oldaln egy olyan vektor ll, amelynek i-edik koordintja azt mutatja meg, hogy a
ti h
Lh
(k)
-kpe
L-kpnek
rtkhez.
2. A hibavektort a (10.5.33) rendszer megoldsval lltjuk el. Ezrt a globlis hiba viselkedse (nevezetesen nullhoz tartsa) azon mlik, hogy a rendszer jobb oldaln szerepl vektorok hogyan viselkednek a rendszer egytthatmtrixnak inverzn, azaz az
h0
esetn
F1 [a, b] = C 2 [a, b]
F2 [a, b] = C[a, b] R R adott fggvnyterek, L : F1 [a, b] F2 [a, b] egy f F2 [a, b] esetn az Lu = f egyenlet korrekt kitzs. F( h ) az h
rcson rtelmezett rcsfggvnyek vektortere,
L0,h : F( h )
rtelmezett
F(h )
egy adott lineris opertor, azaz egy olyan lekpezs, amely egy
rcson rtelmezett
rcsfggvnyhez valamilyen lineris lekpezsi szably szerint megfeleltet egy msik rcsfggvnyt. Legyenek
h -n
B1,h
B2,h F( h ) R
(10.5.86)
Lh
jelentheti az
Lh
(k)
(k
valamelyikt, de jelenthet valamely ms lineris opertort is.) A tovbbiakban az megfeleltetett mtrixokat (korbbiakkal megegyez mdon)
Ah
illetve
Ah -val
= 1, 2, 3) opertorok Lh opertornak
jelljk. Legyen rcsfggvnyt, s
Ph
F2 [a, b]
F( h )-beli
jellje
fh := Ph f F( h ).
szksges. 1. Ltezik-e az
(2)
(10.5.87)
Lh vh = fh
feladatnak egyrtelm megoldsa? 2. Hogyan rtelmezhet egy tvolsga? 308 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
(10.5.88)
F( h )-beli
rcsfggvny s egy
Fi [a, b]-beli
fggvny (i
= 1, 2)
10.5.
vh F( h )
u F1 [a, b]
megoldshoz?
h 0
nullhoz? A tovbbiakban ezekkel a krdsekkel foglalkozunk. 1. Az ltalnos trgyals sorn mindig feltesszk, hogy a (10.5.88) feladatnak ltezik egyrtelm megoldsa. Ugyanakkor minden konkrt kell megmutatni, hogy az
Ah
(avagy az
Ah ) mtrix regulris.
Lh
rcspontokban rtelmezett
Ph
(1)
egy
[a, b] intervallumon rtelmezett w F1 [a, b] gh F( h ) rcsfggvny klnbz alaphalmazokon vannak (1) F1 [a, b] F( h ) tpus lineris lekpezst. (Teht Ph egy Ph w gh
(1) h szmot rtjk, ahol
olyan lekpezs, amely az intervallumon rtelmezett fggvnyt lekpezi egy, a rcspontokban rtelmezett fggvnyre.) Ekkor a kt fggvny tvolsgn a
h egy
F( h )
3. Legyen a
vh F( h )
u F1 [a, b]
(1)
megoldsnak
uh = Ph u,
tovbb
eh F( h )
eh = vh uh .
Ekkor az nevezzk
(10.5.90)
eh
megfelelen) a
vh kzelt megoldshoz tartoz globlis hibnak, s (a 2. pontnak eh h rtket a kzelt megolds hibjnak nevezzk. A vizsglt mdszert akkor konvergensnek, amikor limh0 eh h = 0. Ha eh h = O(hp ), akkor a konvergencit
rcsfggvnyt a A numerikus mdszer alkalmazsval az a clunk, hogy a numerikus
p-ed
rendnek nevezzk.
10.5.13. megjegyzs.
kphez kerljenek kzel, (1) s ne egy esetleges ms elem Ph kphez. Ezrt a h normra kiktjk a kvetkez n. kompatibilitsi felttelt. Legyen L : F1 [a, b] F2 [a, b], s jellje az F1 [a, b] trbeli normt. (1) Azt mondjuk, hogy a h norma kompatibilis a normval, ha limh0 Ph w h = w minden
uh = Ph u
(1)
w F1 [a, b]
13
Lh = Lh
(k)
megvlaszts
w F1 [a, b]
(10.5.91)
(1)
(2)
10.5.14. denci.
Azt mondjuk, hogy az
lh (w) = O(hp )
nevezzk.
minden
Lh opertor konzisztens az L opertorral, ha valamely p > 0 mellett w F2 [a, b] fggvnyre, s a p szmot a konzisztencia rendjnek
13 Ugyanis, indirekt mdon tegyk fel, hogy lteznek olyan w , w F [a, b], (w = w ) elemek, amelyekre 1 2 1 1 2
limh0 wh Ph w1
(1)
s limh0 wh Ph w2
wh
(1)
(1)
(1)
= Ph w1 wh +
(1)
tankonyvtar.bme.hu 309
10.
stabilits,
amely azt fejezi ki, hogy a megolds folytonosan fgg a feladatot meghatroz
adatoktl. (Ms kifejezssel: kt kzeli adatokhoz tartoz megolds is kzel van egymshoz.) Ezt a fogalmat deniljuk a kvetkezben.
10.5.15. denci.
Azt mondjuk, hogy a (10.5.88) feladat stabil kitzs (a tovbbiakban: ha minden teljesl a
az Lh opertor stabil ),
fh F( h )
vh
egyenltlensg, ahol
C fh
(10.5.92)
C>0
egy, a
h-tl
fggetlen lland.
14
A stabilits (10.5.92) tulajdonsgnak ellenrzse elg nehz. Megmutathat fogalom ekvivalens az sgval: az mellett
, hogy ez a
Lh opertorsereg kvetkez, gyakran knnyebben ellenrizhet tulajdoninvertlhat Lh opertorokhoz ltezik olyan C 0 h-tl fggetlen lland, amely L1 h
h
C.
(10.5.93)
10.5.16. ttel.
Tegyk fel, hogy 1.
Lh p-ed Lh
rendben konzisztens az
opertorral,
2. az
opertor stabil.
p-ed
eh eh
= O(hp ).
(10.5.94)
Bizonyts. Felhasznlva az
(1)
(1)
(2)
(2)
Lh vh = fh .
gy a (10.5.95) relciban lh (f )
= 0,
teht
Lh eh = lh (u).
Innen a stabilits (10.5.92) tulajdonsga miatt rvnyes az
(10.5.97)
eh
C lh (u)
= O(hp )
(10.5.98)
a norma tulajdonsgai miatt vh h = L1 fh h L1 h fh h , s gy a (10.5.93) (10.5.92) implikci h h nyilvnval. Msrszt, (10.5.92) esetn (ismtelten a vh = L1 fh egyenlsg miatt) L1 fh h C fh h , azaz h h L1 fh h / fh h C , ami a norma dencija miatt a (10.5.92) (10.5.93) implikcit bizonytja. h
310 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
10.5.
10.5.17. megjegyzs.
konvergencia".
A (10.5.93) felttelt a
is szoksos ne-
Lh -mdszer
esetn
Lh
Ah
mtrix regulris;
(Ah )1
ahol
C,
(10.5.99)
egy
h-tl
fggetlen lland.
a maximumnormban a vlasz viszonylag egyszeren megfogalmazhat. Emellett eredmnyeinket felhasznlva egysgesen megmutatjuk a 10.5.3. szakaszban megfogalmazott numerikus smk konvergencijt, illetve eredmnyeinket kiterjesztjk jabb feladatosztlyra is. Legyenek
adott n.
gh
mindegyik
g2 ,
esetn.
Az egyenletes M-mtrix tulajdonsg egy, nyilvnvalan M-mtrixokokbl ll halmazra, azaz egy mtrixseregre vonatkozik. Az egyszersg kedvrt a dencit az egyes elemek tulajdonsgaiknt fogalmaztuk meg. Az 1.2.40. ttelbl a (10.5.100) s a (10.5.101) tulajdonsgok felhasznlsval kzvetlenl nyerjk az albbi lltst.
10.5.19. lemma.
Tegyk fel, hogy
Mh
M1 h
g2 . g1
(10.5.102)
tankonyvtar.bme.hu 311
10.
10.5.20. ttel.
Tegyk fel, hogy a (10.5.88) alak diszkretizci a. a maximumnormban b. az
p-ed
rendben konzisztens,
Lh
opertornak megfeleltetett
Ah
egyenletes M-mtrix.
p-ed
rendben konvergens.
Ah
A 10.5.19. lemma alapjn a feladat stabil kitzs is, azaz rvnyes a (10.5.99) tulajdonsg a
C = g2 /g1
llandval. Ezrt a 10.5.16. ttelnk alapjn az lltsunk igaz. A (10.5.98) sszefggs alapjn becslst is adhatunk a hibafggvnyre:
10.5.21. megjegyzs.
eh
g2 lh (u) g1
(10.5.103)
Lh
(k)
(k
= 1, 2, 3)
opertorokra!
A (10.5.24), valamint a (10.5.26) s a (10.5.27) sszefggsekbl lthat, hogy mindhrom esetben megfelelen kis
h esetn az Ah
(k)
a diagonlis elemek pedig pozitvak lesznek. gy a (10.5.22) sszefggs miatt az szigoran diagonlisan dominns M-mtrix. Legyen nyilvnvalan
gh
Ah
(k)
mtrix
s a (10.5.22) kvetkeztben
Ah gh = qh ,
ahol
g2
megv-
lasztssal a (10.5.100) s a (10.5.101) sszefggsek egyarnt rvnyesek, ezrt teljesl a (10.5.102) stabilitsi felttel, s gy (10.5.103) rvnyes. Mivel a konzisztenct
(2)
10.5.22. megjegyzs.
maradnak a elegend beltni az
Lh opertorok inverzei korltosak [0, e1 , e2 , . . . , eN , 0] tpus vektorokon. Ez azt jelenti, hogy a (10.5.99) felttel helyett
A1 h g
(10.5.104)
(k) N tulajdonsgot. Ezrt az Lh = Lh esetn a h = [1, 1, . . . , 1] R egy alkalmas megvlaszts. Ebben az esetben g1 = qmin s g2 = 1, s ekkor a (10.5.103) becsls megegyezik a (10.5.39)
becslssel.
p = q = 0,
azaz tekintsk az
(10.5.105)
10.5.
1. A fejezet elejn ismertetett motivcis feladat ilyen tpus peremrtk-feladathoz vezet. (Az egyszersg kedvrt az intervallumot egysgnyi hosszsgnak tekintjk.) Az elzekben a konvergencit csak a specilis viszont nem. 2. Az eddigi maximumnormabeli konvergencira vonatkoz eredmnyeink nem alkamazhatk, mivel korbban feltettk, hogy
p > 0.
Ah yh = fh
alakban, ahol az
(4)
(10.5.106)
(4)
mtrix alakja
0 1 2
. . .
0 0 1
. . .
0 0 0
. . .
0 0 0
. . .
0 0
0 0
0 0
... ...
0 0
1 0
. . . . . . 2 1 0 h2
0 0 0
0 0 0
(10.5.107)
fh RN +2
Ah
(4)
diagonlisan dominns. Ugyanakkor megmutatjuk, hogy egyenletes M-mtrix. Ehhez elegend megmutatni, hogy tallhat hozz Legyen
gh
h gh = gi
N +1 i=0
RN +2
Ah gh = [1, 2, 2, . . . , 2, 1]T RN +2 .
ih(1 ih) 1/4,
azaz
(4)
h gi 5/4.
Teht a
g1 = 1
s a
g2 = 5/4
eh
5 lh (u) 4
(10.5.109)
eh
5 Ch2 , C = M4 48
(10.5.110)
10.
Tekintsk az
(10.5.111)
Ai , Di , Ci
Bi
Ai , Ci < 0, Di > 0, Ai + Di + Ci 0, i = 1, 2, . . . , N
felttelek.
(10.5.112)
10.5.23. ttel.
Tegyk fel, hogy a (10.5.111) lineris algebrai egyenletrendszerre a (10.5.112) tulajdonsg mellett teljesl a rvnyes az
Bi 0 (i = 1, 2, . . . , N )
i = 1, 2, . . . , N
indexre
yi max{0, B0 , BN +1 } := ymax
egyenltlensg. Bizonyts. Jellje
(10.5.113)
y > ymax .
tulajdonsg
y := maxi=1,2,...,N yi . Indirekt mdon tegyk fel, hogy az llts nem igaz: k {1, 2, . . . , N } index, amelyre yk = y , s az ilyen indexekre yk > ymax . Ekkor
0.
(10.5.114)
Ak yk1 + Dk y + Ck yk+1 = Ak y + Dk y + Ck y
egyenlsg. Ezt trendezve:
Ak (y yk1 ) Ck (y yk+1 ) = 0.
Feltteleink kvetkeztben csak az
(10.5.116)
Ak , Ck > 0
y yk1 , yk+1 .
yk1 = yk+1 = y
egyenlsg teljeslse esetn lehetsges. Teht ha valamely megoldsa
i = 1, 2, . . . , N
indexre a (10.5.111)
yk2 = yk+2 = y
egyenlsg is. Folytatva ezt a gondolatmenetet azt kapjuk, hogy
(10.5.118)
yi = y , i = 0, 1, 2, . . . , N, N + 1.
Mivel
(10.5.119) . Ez az indirekt
y0 = B0
10.5.
relcit eredmnyezi, ami nyilvnvalan nem lehetsges. A diszkrt maximumelvnek szmos kvetkezmnye van.
10.5.24. kvetkezmny.
i = 1, 2, . . . , N
yi min{0, B0 , BN +1 } := ymin
relci. Bizonyts. Az maximumelvbl. Innen kzvetlenl addik az albbi tulajdonsg.
16
yi yi
10.5.25. kvetkezmny.
minden
Bi 0 (i = 0, 1, 2, . . . , N, N + 1)
i = 0, 1, 2, . . . , N, N + 1
indexre rvnyes az
yi 0
egyenltlensg.
(10.5.122)
A diszkrt maximumelv s kvetkezmnye teht azt mondja ki, hogy a (10.5.111) alak s (10.5.112) tulajdonsg lineris algebrai egyenletrendszer megoldsa nempozitv jobb oldal esetn a nemnegatv maximumt (illetve nemnegatv jobb oldal esetn a nempozitv minimumt) felveszi azokban a koordintkban, ahol a megoldsok adottak.
10.5.26. kvetkezmny. Tegyk fel, hogy a (10.5.111)-(10.5.113) lineris algebrai egyenletrendszerben minden
i = 1, 2, . . . , N
esetn
Bi = 0.
Ekkor (10.5.123)
Bizonyts. lltsunkhoz azt szksges beltnunk, hogy a homogn egyenletnek (azaz amikor
B0 = BN +1 = 0,
i = 0, 1, . . . , N + 1
indexre
|yi | = 0,
ami
az lltsunkat jelenti.
10.5.28. kvetkezmny.
(10.5.124)
16 Ezt a tulajdonsgot az irodalomban nemnegativits-megmaradsi elvnek szoksos nevezni. 17 Ez a kvetkezmny a (10.5.111) lineris algebrai egyenletrendszer megoldsnak unicitst jelenti.
tankonyvtar.bme.hu 315
10.
|Bi | Bi , i = 0, 1, . . . , N + 1,
akkor a megoldsokra rvnyes az
(10.5.125)
|yi | yi , i = 0, 1, . . . , N + 1
becsls.
18
(10.5.126)
Bizonyts. Vezessk be a
vi = yi yi , wi = yi + yi
jellseket! Ekkor ezen j vektorok kielgtik az
(10.5.127)
(10.5.128)
(10.5.129)
lineris algebrai egyenletrendszereket. Mivel mindkt rendszer jobb oldala nemnegatv, ezrt a 10.5.25. kvetkezmny szerint minden szont az
i = 0, 1, . . . , N + 1
indexre
vi 0
wi 0.
Ez vi-
yi yi
s az
yi yi
A 10.5.28. kvetkezmny jl alkalmazhat az olyan (10.5.112) tulajdonsg (10.5.111) alak lineris algebrai egyenletrendszerek megoldsnak becslshez, amelyben tekintsk az
B0 = BN +1 = 0.
Teht
(10.5.130)
Ei = Di + Ai + Ci , Emin =
i=1,2,...,N
min
Ei , Fmin =
s
i=1,2,...,N
min
Emin 0
Fmin > 0.
18 Ezt a kvetkezmnyt a (10.5.111) lineris algebrai egyenletrendszer (jobb oldal szerinti) szoksos nevezni.
316 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
monotonitsnak
10.5.
10.5.29. ttel.
Tegyk fel, hogy a (10.5.130) lineris algebrai egyenletrendszerre a. rvnyesek a (10.5.112) tulajdonsgok, b. ha van olyan egyenlet, ahol az egytthatk sszege nulla, akkor az egyenlk, azaz
Ai
Ci
egytthatk (10.5.132)
Ai = Ci , i = 1, 2, . . . , N,
Ekkor az
ha
Emin = 0.
ha
Emin > 0;
(10.5.133)
ha
Emin = 0
yi
|yi | yi , i = 0, 1, . . . , N + 1.
Bizonyts. Elszr tegyk fel, hogy
(10.5.134)
Emin > 0.
Bmax /Emin Ai
Bmax Bmax Bmax Bmax Bmax + Di + Ci = (Ai + Di + Ci ) = Ei Bmax |Bi | Emin Emin Emin Emin Emin i = 1, 2, . . . , N
esetn. Mivel nyilvnvalan
Bmax /Emin 0 = B0 =
BN +1 ,
Trjnk t az
Emin = 0
Ai yi1 + Di yi + Ci yi+1 = Bmax = [Ai (i 1)(N + 1 i + 1) + Di i(N + 1 i) + Ci (i + 1)(N + 1 i 1)] = Fmin Bmax = [i(N + 1 i)(Ai + Di + Ci ) + (Ci Ai )(N + 1 i) + i(Ai Ci ) (Ai + Ci )] . Fmin
(10.5.136) Mivel ebben az esetben
Ai = C i ,
Ai yi1 + Di yi + Ci yi+1 =
Bmax ((Ai + Ci )) Bmax |Bi | Fmin relcit nyerjk minden i = 1, 2, . . . , N esetn. Mivel nyilvnvalan y0 = yN +1 = 0 = B0 = BN +1 ,
ezrt a 10.5.28. kvetkezmny alapjn erre az esetre is belttuk a (10.5.134) lltsunkat.
(10.5.137)
10.5.30. kvetkezmny.
i(N + 1 i)
i + (N + 1 i) N +1 = . 2 2
tankonyvtar.bme.hu 317
10.
Ezrt
|yi |
ha
Emin > 0;
(10.5.138)
ha
Emin = 0
becsls.
10.5.31. kvetkezmny.
Ah yh = bh
mtrix-vektor alakban. A 10.5.30. kvetkeznny alapjn ekkor rvnyes a
(10.5.139)
yh
1 bh E min
ha
Emin > 0;
(10.5.140)
(N + 1)2 bh 4Fmin
ha
Emin = 0.
becsls. Mivel
yh = A1 bh , ezrt teht h
1 , E min (N + 1)2 , 4Fmin
ha
Emin > 0;
(10.5.141)
A1 h
ha
Emin = 0.
10.5.
10.5.32. ttel.
Tegyk fel, hogy (10.5.88) egy olyan diszkretizcija a (10.5.74) opertoregyenletnek, amelyre teljeslnek az albbi tulajdonsgok. 1. Az 2. Az vel. 3. A mtrix egytthatira teljeslnek a (10.5.112) felttelek. 4. A (10.5.131) ltezik olyan jellsek mellett tegyk fel, hogy
Lh Lh
opertor
p-ed
rendben konzisztens az
opertorral.
Emin = 0
C N -tl
(N + 1)2 C 4Fmin
minden Ekkor az
(10.5.142)
esetn.
Lh
p-ed
rendben konvergens.
10.5.33. plda.
a (10.5.21) sma msodrendben konvergl a (10.5.20) peremrtk-feladat megoldshoz! A 10.5.32. ttelt felhasznlva elegend megmutatnunk, hogy a ttel felttelei teljeslnek. 1. A msodrend konzisztencit a szakasz elejn mr megmutattuk. (Lsd pl. a (10.5.32)). 2. Ez a tulajdonsg a feladatbl nyilvnval. 3. Az egytthatk (10.5.27) alakjbl illetve a 10.5.2. ttelbl lthatan megfelelen kis
4. Mivel
Emin = min q(t), ezrt q(t) qmin > 0 esetn Emin > 0, s gy a (10.5.141) C = 1/Emin stabilitsi llandval. Amikor p(t) = q(t) = 0, vagyis a (10.5.105) feladatot tekintjk, akkor Emin = 0. Ebben az esetben (10.5.27) 2 2 alapjn nyilvnvalan ai = ci s Fi = 2/h . Ezrt Fmin = 2/h , s gy a h = 1/(N + 1)
sszefggs kvetkeztben
(10.5.143)
10.5.34. megjegyzs.
h 0 esetn a globlis hiba C h2 mdon tart nullhoz. Ugyanakkor a gyakorlatban fontos konstansnak (avagy egy les becslsnek) az ismerete. Ezt az l(u) loklis approximcis hiba a C h2 -es tagjnak egythatjbl s a stabilitsi llandbl kaphatjuk. Ezrt a pldnkban qmin > 0
tankonyvtar.bme.hu 319
10.
esetn ez a konstans
C=
M4 pmax M3 + 12 6
s gy a (10.5.39) becslssel megegyez eredmnyt kapunk. Ha teht becslsnk lesebb, mint a (10.5.110) hibabecsls.
p = q = 0,
akkor
C = M4 /96,
http://200.13.98.241/~martin/irq/tareas1/bvp_paper.pdf
linken a "Solving Boundary Value Problems for Ordinary Dierential Equations in MATLAB with bvp4c (Lawrence F. Shampine, Jacek Kierzenka, Mark W. Reichelt) lersban. Nagyon hasznos tovbb a
http://www.mathworks.com/matlabcentral/fileexchange/3819
link, ahol a bvp4c rutin hasznlatra tallhat egy oktatanyag s szmos kidolgozott plda. Javasoljuk mg a
http://www.mathworks.com/help/techdoc/ref/bvp4c.html
linket, ahol a bvp4c lersa mellett tovbbi terleteken val alkalmazhatsga is szerepel. Az anyagunkban szerepl kt alapvet mdszernkre, a belvses mdszerre illetve a vges dierencik mdszerre a megfelel MATLAB programok nllan is elkszthetk. Ennek lersval s egy modellfeladaton val alkalmazsval a tovbbiakban foglalkozunk.
x egydimenzis trbeli
koordinttl fgg. A hramls egyrszt a vezetkben trtn hosszirny hramls, msrszt a vezetk s a vezetket krbevev lland hmrsklet gz kztti konvekci hatsra trtnik. Feladatunk a stacinrius heloszls meghatrozsa. rjuk fel elszr a mrlegegyenletet egy huxust [mrtkegysge:
x hosszsg elemre! Jellje q(x) az x ponthoz tartoz J/(m2 s)], Ac a keresztmetszet terlett [m2 ]), azaz Ac = r2 , ahol r 2 a vezetk sugara. Legyen Dkon a konvekcis hvezetsi egytthat [J/(Km s)], ahol K a Kelvin 2 hfok, As az elem fellete [m ], azaz As = 2rx, s T a krbevev gz hmrsklete [K]. Az x pontbeli ismeretlen hmrskletet T (x) jelli. Ekkor a mrlegegyenlet alapjn q(x)Ac = q(x + x)Ac Dkon As (T T (x)),
320 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK) (10.6.1)
10.6.
ahol a bal oldalon a bemen hmennyisg, a jobb oldalon pedig a kimen hmennyisg s a konvekci okozta vesztesg szerepel. Leosztva a (10.6.1) egyenlsget az elemi rsz trfogatval (r
x),
trendezs utn a
(10.6.2)
q (x) +
2Dkon (T T (x)) = 0 r
(10.6.3)
(10.6.4)
D=
a hleadst jellemz lland [m
2Dkon rDhov L,
s jellje (10.6.5)
T (0) = T0 ,
ahol
T (L) = T1 ,
T0
T1
a bal illetve jobb oldali fal hmrsklete. Ekkor teht matematikai modellnk
a (10.6.4)(10.6.5) ktpontos peremrtk-feladat. A (10.6.4)(10.6.5) feladat megoldsa analitikusan elllthat. Ugyanis az egyenlet trhat
T (x) DT (x)) = DT
(10.6.6)
alakra, amelynek megoldshoz a homogn egyenlet ltalnos megoldsa s egy partikulris megolds ismerete szksges. Mivel a
Thom (x) = C1 ex + C2 ex ,
= D jellsekkel a homogn feladat ltalnos megoldsa ahol C1 s C2 tetszleges llandk, a Tpart (x) = T pedig egy T (x) = C1 ex + C2 ex + T .
C1 =
(10.6.8)
L = 10, Dkon = 1, Dhov = 200, r = 0.2, T = 200, T0 = 300, T1 = 400. (Adataink a korbban megadott mrtkegysgekben rtendk.) Ekkor D = 0.05, s a feladatunk megoldsa a
A tovbbiakban az albbi adatokkal szmolunk:
T (x) = 20.4671e
fggvny.
19
0.5x
+ 79.5329e
0.5x
+ 200
(10.6.9)
19 Amikor a pontos megoldst beprogramozzuk, nem a (10.6.9) kpletben szerepl llandkat adjuk meg kzvetlenl, hanem a MATLAB segtsgvel a (10.6.7) kpletbl szmoljuk ki.
tankonyvtar.bme.hu 321
10.
(10.6.10)
T (0) = T0 ,
feltteleket adjuk meg, ahol felttel teljesljn.
z(0) = z0 T (x)
megoldsra a
(10.6.11)
T0
ismert,
z0
T (L) = T1
A belvses mdszer algoritmust kvetve MATLAB programunkat kt rutin segtsgvel adjuk meg. A bvps rutin adott (N x) illetve az ismeretlen terknt a vgponti (x
z0 z
= L)
function [TL,Tvect,xvect] = bvpsee(Nx,z0) % % Belvses mdszer (shooting method) egy L hosszsg rd stacionrius % heloszlsnak kiszmtsra. Ez a kvetkez ktpontos peremrtk-feladat % megoldst ignyli: % % d2 T % - +D(T inf T ) = 0, T (0) = T 0, T (L) = T 1 % dx2 % A kezdetirtk-feladat megoldsra az egyszer explicit Euler-mdszert % alkalmazzuk. % Nx: a trbeli osztsrszek szma % z0: a kezdeti meredeksg T0 = 300; % bal oldali vgponteli peremfelttel T1 = 400; % jobb oldali vgponteli peremfelttel Tinf = 200; % kls hmrsklet D = 0.05; % lland L = 10; % a rd hossza xs = 0; % kezdpont koordintja T = T0; % kezdeti felttel deltax=L/Nx; Tvect(1) = T; xvect(1) = xs; z=z0; for i=2:Nx+1 dTdx = z; dzdx = -c * (Tinf - T); T = T + dTdx * deltax; % Euler mdszer z = z + dzdx * deltax; xvect(i) = xs + (i-1)*deltax; Tvect(i) = T; end; TL=T;
322 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
10.6.
T L klnbzik T 1-tl. A belvses z(0) rtkekre kiszmoljuk a vgpontbel T L hmrskletet, s az gy kapott rtkekkel kiszmoljuk a z(0) rtkhez tartoz (z(0)) = T L(z(0)) T 1 eltrseket. Mivel olyan z (0) rtket keresnk, amelyre (z (0)) = 0, ezrt a (z(0), (z(0))) pontokra interpolcis polinomot fektetnk, s a keresett z (0) ennek a
zrushelye lesz. Ezt a kt lpst a programban a (10.4.10) szerinti inverz interpolcival vgezzk el. A fenti lpseket a shooting rutin hajtja vgre, amelynek bemen paramterei a kvetkezk:
N x:
[0, L]
a
zstart: deltaz : N z:
z(0)
x = 0
z(0)
a kezdeti
nevezetesen a rozzuk
zstart rtkektl jobbra s balra tovbbi N z szm z(0) rtkkel szmolunk, z(0) = zstart k deltaz (k = 1, 2, . . . , N z ) kezdeti rtkekkel is meghat-
TL
A rutin opcionlisan kirja a numerikus megoldst, s a pontos megolds ismeretben kirja a maximumnormabeli hibt s kirajzolja a pontos s kzelt megoldsokat.
function shooting(Nx,zstart,deltaz,Nz) % % Belvses mdszer (shooting method) egy L hosszsg rd stacionrius % heloszlsnak kiszmtsra. Ez a kvetkez ktpontos peremrtk-feladat % megoldst ignyli: % % d2 T % - +D(T inf T ) = 0, T (0) = T 0, T (L) = T 1 % dx2 % A kezdetirtk-feladat megoldsra a bvps nev rutint alkalamzzuk. % Nx: a trbeli osztsrszek szma % z0: a kezdeti meredeksg T0 = 300; % bal oldali vgponteli peremfelttel T1 = 400; % jobb oldali vgponteli peremfelttel Tinf = 200; % kls hmrsklet D = 0.05; % lland L = 10; % a rd hossza xs = 0; % kezdpont koordintja T = T0; % kezdeti felttel deltax=L/Nx; zv(Nz+1)=zstart; z=zv(Nz+1); [T,Tvect,xvect]=bvpsee(Nx,z);Tvegpont(Nz+1)=T; for i=1:Nz zv(i)=zstart-(Nz+1-i)*deltaz; z=zv(i); [T,Tvect,xvect]=bvpsee(Nx,z);Tvegpont(i)=T; zv(Nz+1+i)=zstart+i*deltaz; z=zv(Nz+1+i);
tankonyvtar.bme.hu 323
10.
x eh
rend
1 64.0278e + 000
10.6.1. tblzat. A belvses mdszer explicit Euler-mdszeres vltozatnak hibja a maximumnormban a tesztfeladatra, s a konvergencia rendje.
[T,Tvect,xvect]=bvpsee(Nx,z);Tvegpont(Nz+1+i)=T; end for i=1:2*Nz+1 Tvegpont(i); zv(i); end % A gyk megkeressre az inverz interpolcit alkalmazzuk. Tint=Tvegpont-Tb; z=interp1(Tint,zv,0); fprintf('A meredeksg: %fn',z) [Tfinal,Tvect,xvect]=bvpsee(Nx,z); % A Meg nev mtrixba sszerakjuk a numerikus megoldst s utna % szksg esetn kiiratjuk Meg=ones(Nx+1,3); for i=1:Nx+1 Meg(i,1)=i; Meg(i,2)=xvect(i); Meg(i,3)=Tvect(i); end % disp(' csompont koordin. hmrsklet') % disp(Meg) % plot(xvect,Tvekfinal); % Ha ismerjk a pontos megoldst, akkor adjuk meg % egy pontosshooting nev fggvnyben. % Ekkor a hiba kiszmithat s opcionlisan kirajzolhatjuk a pontos % s kzelt megoldsokat. % [Tpontos,zpontos]=pontosshooting(Nx,xvect); % hiba=norm(Tvect-Tpontos,inf); % disp('lpskz s hiba max. normban:'),deltax, hiba % i=1:Nx+1; % plot(i,Tvect,'r', i, Tpontos,'b') xlabel('rd'), % ylabel('belvses mdszer (piros), % pontos megolds (kk)')
Mivel a (10.6.9) kplet segtsgvel ismerjk a pontos megoldst, ezrt a belvses mdszert klnbz paramterek mellett tesztelni tudjuk. A a 10.6.1.-10.6.4. brkon lthatk.
10.6.1. megjegyzs.
nagyobb
Futtatsainkat
Nz = 4
zstart = 12
Nz
rtket vlasztunk, akkor sem vltozik a futs eredmnye. Ennek oka, hogy a teszt-
feladatunk lineris, azaz a 10.4.2. szakasz rtelmben direkt mdon is kiszmolhat kt adat 324 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
10.6.
x eh
rend
1 6.3073e 001
10.6.2. tblzat. A belvses mdszer javtott explicit Euler-mdszeres vltozatnak hibja a maximumnormban a tesztfeladatra s a konvergencia rendje.
ismeretben a kezdeti meredeksg. Ezrt lnyegben nem szksges tbb pont megadsa, st, valjban az kaptunk.
Nz = 2
Nz
rtkekre (N z
=2
N z = 10)
10.6.2. megjegyzs.
Ha nagyon tvoli
zstart
alappont esetn elfordulhat, hogy az inverz interpolci nem mkdik. (A nulla rtk kivl esik az alappontokon.) Ilyenkor clszer elzetesen nhny nll futtatst vgezni a bvps rutinnal, s kzeltleg meghatrozni a keresett
rtket.
L = 10m
hosszsg vezetkben
10
oszts-
Trjnk t a (10.6.4)(10.6.5) feladat vges dierencis megoldsra. Nem rszletezve az altankonyvtar.bme.hu 325
10.
L = 10m
hosszsg vezetkben
100
osz-
L = 10m
hosszsg vezetkben
1000
osz-
goritmust, megadjuk a vdm1 rutint, amely a vges dierencik mdszervel megoldja a fenti megadni. Kimen adatknt a csompontok koordintit (xvect) illetve a csompontokhoz tarto326 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK) feladatot. Itt bemen paramterknt az
10.6.
L = 10m
hosszsg vezetkben
10000
osz-
osz-
tankonyvtar.bme.hu 327
10.
osztsrszek szma
rend
1.7002e + 000 4.5604e 001 1.1647e 001 2.9205e 002 7.3158e 003 1.8293e 003 4.5734e 004 1.1434e 004 2.8582e 005 7.1573e 006
2.6823e 001 2.5540e 001 2.5074e 001 2.5050e 001 2.5004e 001 2.5001e 001 2.5000e 001 2.4999e 001 2.5041e 001
10.6.3. tblzat. A vges dierencik mdszernek hibja felezd lpshosszal. A harmadik oszlop a rendet mutatja. (Az elmleti rendnem megfelel hnyados
0.25.)
function[xvect,Tmego]=vdm1(Nx) Ta = 300; % bal oldali vgponteli peremfelttel Tb = 400; % jobb oldali vgponteli peremfelttel Tinf = 200; % kls hmrsklet c = 0.05; % lland L = 10; % a vezetk hossza ndivs = Nx; nunknowns = ndivs - 1; deltax = L/ndivs; A = -(2 + deltax^2*c); B = -deltax^2*c*Tinf; for i=1:Nx+1, % a diszkretizcis alappontok ellltsa xvect(i)=(i-1)*deltax; end; matrix = zeros(nunknowns); % a lin. egyenletrendszer sszelltsa kezddik matrix(1,1) = A; % az els egyenlet sszelltsa matrix(1,2) = 1; rhs(1)= B - Ta; for i = 2:nunknowns - 1 % a bels pontokhoz tartoz egyenletek matrix(i,i-1) = 1; matrix(i,i) = A; matrix(i,i+1) = 1; rhs(i)= B; end; matrix(nunknowns, nunknowns-1) = 1; % az utols egyenlet sszelltsa matrix(nunknowns, nunknowns) = A; rhs(nunknowns)= B - Tb; T = matrix\rhs'; % a lineris egyenlet megoldsa Tmego(1)= Ta; % a teljes megoldsvektor ellltsa Tmego(2:1 + nunknowns) = T(:); Tmego(nunknowns + 2) = Tb;
Eredmnyeinket a tesztfeladatra a 10.6.3. tblzatban adjuk meg. Az els hrom esethez (azaz amikor
N x = 3, 6, 9)
10.6.8. brkon brzoltuk. 328 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
10.6.
L = 10m
L = 10m
Befejezsl hasonltsuk ssze mdszereinket ugyanazon diszkrt rcshln! Legyen azaz 9 osztspont,
explicit Euler-mdszeres belvses eredmnyeinket, valamint a vges dierencis mdszert a pontankonyvtar.bme.hu 329
10.
L = 10m
rcspont
explicit Euler
javtott EE
vges dierencik
pontos megolds
pontos megolds piros, az explicit Euler-mdszeres belvses mdszer zld, a javtott explicit Euler-mdszeres belvses mdszer fekete, a vges dierencs megolds pedig kk.
tos megoldssal. Eredmnyeinket a 10.6.4. tblzat tartalmazza. A megoldsokat a 10.6.9. brn lthatjuk. Mivel a megoldsok kzel haladnak egymshoz, az bra egy rsze kinagytva lthat a 10.6.10. brn.
10.7. Feladatok
Kznsges dierencilegyenletek peremrtk feladatai
10.7.
Feladatok
L = 10m
x = 1.25
10.6.10. bra.
mdszeres belvses mdszer zld, a javtott explicit Euler-mdszeres belvses mdszer fekete, a vges dierencis megolds pedig kk.
10.
feladatnak ltezik egyrtelm megoldsa. (tmutats. Vizsgljuk meg a jobb oldali fggvny lipschitzessgt!) 10.7.2. feladat. Mutassuk meg, hogy az
(, )
prokat, amelyekre az
u = u; u(0) = , u(1) =
feladatnak ltezik egyrtelm megoldsa. 10.7.5. feladat. Hatrozzuk meg
u 2 + u = 0; u(0) = , u(1) =
feladat megoldst! Van olyan
(, )
u(0) = 0, u(1) = 1
peremfelttelekkel! 10.7.8. feladat. Tekintsk az
nincs megoldsa; pontosan kt megoldsa van; pontosan egy megoldsa van; az elemi fggvnyek krben nincs megoldsa;
10.7.
Feladatok
10.7.9. feladat. Adjuk meg a 10.7.8. feladat krdseire a helyes vlaszokat, ha a feladat peremfelettelei
u(0) = 1, u(/2) = 2
alakak!
Belvses mdszer
10.7.10. feladat. Hatrozzuk meg a belvses mdszer sorn meghatrozand (10.4.6) szerinti
h(c)
fggvnyt az
u = u, u(0) = 1, u(/2) = 3
peremrtk-feladatra! Oldjuk meg a
h(c) = 0 h(c)
egyenletet!
fggvnyt a
u = u u1 , u(1) = 3, u(2) = 5
peremrtk-feladatra! Oldjuk meg a feladatot a 10.7.12. feladat. Oldjuk meg az
fggvny felhasznlsval!
h = 0.01
megvlasztssal a kezdetirtk-feladatok
h = 0.5
t = 0.5
pontban!
tankonyvtar.bme.hu 333
10.
10.7.18. feladat. rjunk fel egy vges dierencik mdszern alapul diszkretizcit az
u = u u1 , u(1) = 3, u(2) = 5
peremrtk-feladat megoldsra! 10.7.19. feladat. rjuk fel az opertoregyenletes alakot az
Lh
mtrix M-mtrix!)
10.7.22. feladat. Mutassuk meg a 10.5.6. ttel msodik lltst az ottani bizonyts felhasznlsval! 10.7.23. feladat. Jellje
(2)
(3)
vh F( h )
(2)
L0,h vh (t) =
(3)
(10.7.1)
L0,h vh (t) =
Legyen
(10.7.3)
Lh
(k)
ai , di , ci
10.7.24. feladat. rjuk t a vdm1.m rutint arra az esetre, amikor a peremfelttel adott! 10.7.25. feladat. rjuk t a vdm1.m rutint gy, hogy ellltsa a
t=0
pontban az
u (0) = 0
0, u(1) = 0
10.7.
Feladatok
Ellenrz krdsek
1. Mit neveznk kznsges dierencilegyenlet peremrtk-feladatnak? 2. Mi a szerepe a peremfeltteleknek? 3. Mit neveznk Lipschitz-fle tulajdonsgnak s mi a kapcsolata a peremrtk-feladatok megoldhatsgval? 4. Ismertesse a lineris peremrtk-feladat megoldhatsgnak felttelt! 5. Mi a belvses mdszer, hogyan kapcsoldik a kezdetirtk-feladatok numerikus megoldshoz? 6. Milyen mdszereket alkalmazunk a belvses mdszer sorn a
h(c) = 0
egyenlet gykeinek
meghatrozsra? Rendszerek esetn mely mdszerek alkalmazhatk kzlk? 7. Milyen mdszerrel oldhatk meg a lineris peremrtk-feladatok? 8. Ismertesse a vges dierencis megoldsi mdszer lnyegt! 9. Mikor neveznk egy lineris peremrtk-feladatot megold numerikus mdszert konvergensnek? Mi a konzisztencia s a stabilits? Mi a kapcsolat kzttk? 10. Mutassa meg, hogy a lineris peremrtk-feladatok esetn a vges dierencis mdszer konzisztens! 11. Mutassa meg, hogy a lineris peremrtk-feladatok esetn a vges dierencik mdszere konvergens! 12. Mi a szerepe az M-mtrixoknak peremrtk-feladatok numerikus megoldsban? 13. Mit neveznk diszkrt maximumelvnek? Mi a szerepe peremrtk-feladatok numerikus mgoldsban? 14. Milyen MATLAB programokat ismer a peremrtk-feladatok megoldsra? 15. Milyen alapon mkdnek a beptett MATLAB programok?
tankonyvtar.bme.hu 335
parcilis derivltjai
parcilis differencilegyenletrl
beszlnk. Nhny
2 u(x, y) 2 u(x, y) + = 0, x2 y 2
b. Poisson-egyenlet:
(11.1.1)
(11.1.2)
u(x, t) 2 u(x, t) = 0, t x2
d. hullmegyenlet:
(11.1.3)
2 u(x, t) 2 u(x, t) = 0, t2 x2
e. advekcis egyenlet:
(11.1.4)
(11.1.5)
u(x, t) t x
g. reakci-dizis egyenlet:
D(u, x, t)
u(x, t) x
= 0,
(11.1.6)
(11.1.7)
R(u)
11.
h. biharmonikus egyenlet:
(11.1.8)
x, y
trbeli vltozkat, t
az
idbeli vltozt, u
pedig az
fggvnyek.
a tbbi pedig fggvnyegytthats. Fontos osztlyozsi szempont a linearits: ha az egyenletekben az ismeretlen fggvny s annak derivltjai kztti kapcsolat lineris, akkor
differencilegyenletnek, homogn
ellenkez esetben
lineris parcilis nemlineris parcilis differencilegyenletnek nevezzk nemlineris R fggvny esetn g. nemlineris, a tbbi pedig
inhomogn
tag. Pldinkban b. inhomogn, a tbbi pedig homogn. Kln trjnk ki a fggetlen vltozk szerepre! ltalban jelli. Ezek szerepe nem azonos: a folyamatokat ltalban
az idt,
pedig a helyet
t0
vltozik, s a jelensgek tipikusan idben nem megfordthatk, a trbeli vltozk viszont akrmilyen irnyban vltozhatnak.) Az olyan feladatot, amelyben az ismeretlen fggvny idben nem
idfgg
R2
tartomnyon az
(Lu)(x, y) = a(x, y)
2 u(x, y) 2 u(x, y) 2 u(x, y) + 2b(x, y) + c(x, y) + x2 xy y 2 u(x, y) u(x, y) d(x, y) + e(x, y) + g(x, y)u(x, y) = f (x, y) x y a, b, c, d, e, g egytthatfggvnyek y t jellssel a L
opertor s az
(11.1.9)
egyenletet, ahol az
f forrs
(11.1.10)
opertor
frsznek
L0
L opertor albbi osztlyozsa lehetsges. Tekintsk valamely (x0 , y0 ) pontban a B(x0 y0 ) (, ) = const. > 0 egyenlsggel denilt msodrend grbket az (, ) skon. Az a(x0 , y0 ), b(x0 , y0 ) s c(x0 , y0 ) rtkektl fggen (pontosabban, 2 az a(x0 , y0 )c(x0 , y0 ) b (x0 , y0 ) eljeltl fggen) ez egy ellipszist, parabolt vagy hiperbolt
hatroz meg. Ez motivlja a kvetkez dencit.
11.1.
11.1.1. denci.
Azt mondjuk, hogy az
L
az
elliptikus tpus
(x, y)
pontban, ha
a(x, y)c(x, y) b2 (x, y) > 0; a(x, y)c(x, y) b2 (x, y) = 0; a(x, y)c(x, y) b2 (x, y) < 0. 1 tartomnyon,
ha
az az
(x, y) (x, y)
pontban, ha pontban, ha
Azt mondjuk, hogy elliptikus (parabolikus, hiperbolikus) tpus az elliptikus (parabolikus, hiperbolikus) tpus a
tartomnyon. Ugyanakkor, az
2 u(x, y) 2 u(x, y) 2 u(x, y) + 2x =0 +y 2 x xy y 2 ell = {(x, y) R2 , |y| > |x|} halmazon elliptikus, az par = 2 parabolikus, az hip = {(x, y) R , |y| < |x|} halmazon pedig
fggvnyegytthats egyenlet az
halmazon
Az osztlyozs utn trjnk t a parcilis differencilegyenletkkel lert modellek vizsglatra. Clunk olyan matematikai modellek megadsa, amelyek albbi tulajdonsgokkal: a. ltezik megoldsa (egzisztencia). Ez azt jelenti, hogy ltezik olyan kellen sima fggvny, amely kielgti az egyenletet s a kiegszt feltteleket. b. Ez a megoldsa egyrtelm (unicits). c. A megoldsa folytonosan fgg a feladatot meghatroz fggvnyektl (stabilits). Ezek a kvetelmnyek termszetes mdon kvetkeznek a matematikai modellezs jellegbl s cljbl. Vegyk szre, hogy ltalnos esetben a (11.1.9) alak parcilis differencilegyenletnek, ha ltezik is megoldsa, akkor az nem egyrtelm. (Pldul a Laplace-egyenletnek megoldsa az
korrekt kitzsek,
azaz rendelkeznek az
u(x, y) = ax+by+c alak lineris fggvny tetszleges a, b s c llandk esetn.) Ezrt teht a parcilis differencilegyenletek nmagukban nem elegendek a korrekt kitzs biztostshoz. Ehhez tovbbi felttelek megadsa szksges. ltalban a megoldsfggvnyrl a megoldsi tartomny hatrn klnbz informcikkal rendelkeznk. Ezrt a kiegszt feltteleket ezen informcik segtsgvel szoksos megadni.
(x, y) trvltozkbl ll R2 korltos halmaz, akkor az tartomny peremn runk el peremfeltteleket. Amikor tr-id vltoz egyarnt szerepel, azaz az (x, t) tpus pontokbl ll, s a trvltozban korltos a tartomny, akkor a t = 0 pontban kezdeti feltteleket , a trbeli tartomny hatrn pedig tovbbra is peremfeltteleket adhatunk
Amikor az megoldsi tartomny az meg. A peremfelttelek megadsnak hrom tpusa van.
els (Dirichlet-) tpus peremfelttel, ami azt jelenti, hogy a -beli perempontban rgztjk
a megoldsfggvny rtkt;
-beli
perempontban
11.
-beli
perempontban elre
kezdeti (Cauchy-) felttel megadsa azt jelenti, hogy t = 0 t szerinti derivltjnak az rtkt.
Clunk, hogy egy adott parcilis differencilegyenletet olyan kiegszt felttelekkel lssunk el, amelyekkel a feladat korrekt kitzs lesz. Megmutathat ([9, 30]), hogy lineris esetben
az elliptikus feladatok
-n
a parabolikus feladatok a
t = 0-ban
u(x, 0)
a hiperbolikus feladatok a
t=0
pontban megadott
u(x, 0)
valamint a trbeli hatron megadott els, msodik vagy harmadik peremfelttelek valamelyikvel korrekt kitzsek.
u (x, 0) t
kezdeti felttelekkel,
v-
az elz fejezetben trgyalt ktpontos peremrtk-feladatok s azok vges dierencia mdszeres numerikus megoldsi technikja lnyegben kiterjeszthet az ebben a szakaszban vizsglt feladatra.
= (0, 1) (0, 1)
tartomnyon s annak
(11.2.1)
(11.2.2)
u(x, y) = 0
fggvny csak az
y = 1
(11.2.3)
(11.2.4)
11.2.
n.
sztvlaszthat alakban, ahol X s Y olyan, egyelre ismeretlen, C 2 [0, 1]-beli fggvnyek, amelyekre X(x) s Y (y) nem az azonosan nulla fggvnyek a (0, 1) intervallumon. Behelyettestve a (11.2.4) alak u fggvnyt a (11.2.1) egyenletbe, az
X (x) Y (y) + Y (y) X(x) = 0, x, y (0, 1)
egyenletet nyerjk. Ezrt azokban a pontokban, ahol (11.2.5)
X(x) Y (y) = 0,
(11.2.5) a
(11.2.6)
azonossgot jelenti. Mivel a (11.2.6) bal oldala csak az mellett (ez az n. szeparcis lland) minden
fgg, ezrt az egyenlsg csak akkor llhat fenn, ha mindkt oldal lland: valamely
x, a jobb oldala pedig csak az y vltoztl R szm x (0, 1) s y (0, 1) esetn rvnyes a
(11.2.7)
egyenlsg. Innen a
(11.2.8)
Y (y) = 0
miatt az (11.2.9)
X(0) = X(1) = 0
felttelt jelenti. Clunk teht olyan feladatnak ltezik a trivilis megoldst az
s2 + = 0
elje-
< 0.
X(x) = C1 e
Mivel ekkor az
+ C2 e
. X(x) =
C1 e
X(0) = 0 e
felttel a
C1 + C2 = 0 X(1) = 0
alak. A msik,
X(1) = C1 e
egyenlsg csak
= 0
> e
, ezrt a fenti
C1 = 0
X(x) = 0
= 0. Ekkor a (11.2.8) egyenlet X (x) = 0 alak, gy az ltalnos X(x) = C1 x + C2 . Erre a fggvnyre, amelynek kpe egy egyenes, a (11.2.9) felttel csak C1 = C2 = 0 esetn lehetsges. Ez viszont szintn a nem megengedett X(x) = 0
trivilis megoldshoz vezet. Tegyk fel, hogy
> 0.
i .
gy a (11.2.8)
11.
Az
X(0) = 0
felttel miatt
C1 = 0,
ezrt
C1 sin
=0
felttelt
(11.2.10)
Xk (x) = Ck sin(kx), k = 1, 2, . . .
fggvnyek tetszleges Trjnk t az
(11.2.11)
Ck
Y (y)
(11.2.12)
= k = k 2 2 . Y (0) = 0.
u(x, 0) = 0
Teht olyan
Yk (y) (k = 1, 2, . . .)
C2 = C1 ,
1 = Ck sinh(ky)
(11.2.15)
alakban , ahol
1 Ck
illetve
1 Ck
sszestve a keresett megolds (11.2.4) alakjt a (11.2.11) s a (11.2.15) kpletekkel, azt kapjuk, hogy minden
k = 1, 2, . . .
Ck
u(x, y) =
k=1
uk (x, y) Ck
(11.2.17)
fggvny is rendelkezik ezekkel a tulajdonsgokkal. Vlasszuk meg a tetszleges gy, hogy a negyedik,
llandkat
y = 1
u(x, 1) =
k=1
Msrszt a
Ck sin(kx) sinh(k).
(11.2.18)
4 (x)
fggvny Fourier-sora
4 (x) =
k=1
k sin(kx) 4
(11.2.19)
11.2.
alak, ahol
k = 2 4
0
4 (s) sin(ks)ds.
(11.2.20)
Ck =
sszegezve: az
k 4 . sinh(k)
(11.2.21)
u(x, y) =
k=1
fggvnysorral denilt
(11.2.22)
u(x, y)
11.2.1. megjegyzs.
Ezek utn az
= (0, 1) (0, 1)
1. eset:
(11.2.23)
2. eset:
(11.2.24)
3. eset:
(11.2.25)
4. eset:
(11.2.26)
Jellje rendre
u4 (x, y) a (11.2.1) egyenlet megoldst a (11.2.23)u4 (x, y) fggvnyt lltottuk el. Ennek analtbbi fggvnyt is.) Ezutn az u(x, y) = u1 (x, y) +
2
Tovbbi rszletek s ms tpus feladatok ilyen jelleg megoldsa megtallhatk pl. Stephenson
w(x, y)
fggvny az
2 Vegyk szre, hogy az u sszegfggvnyben szerepl u , u , u , u fggvnyekre megadott peremfelttelek nem 1 2 3 4 a teljes peremen adottak: a ngy sarokpontban nem adjuk meg az rtkeket. Ezrt a'priori csak azt tudjuk, hogy ez az u megolds csak a sarokpontokon kvl egyenl -vel a -n. Ugyanakkor a Fourier-sor konvergencijnak tulajdonsga miatt a megfelel fggvnyek hatrrtkt veszi fel a megolds, azaz folytonossga miatt ezekben a sarokpontokban is rtkeit veszi fel.
tankonyvtar.bme.hu 343
11.
tartomnyon kielgti a (11.2.1) egyenletet, s folytonos az halmazon, akkor teljesl r az n. elliptikus maximum-minimum elv : a fggvny a legnagyobb s legkisebb rtkt felveszi a peremen. Ebbl kzvetlenl knnyen megmutathat, hogy a feladatnak csak egyetlen megoldsa lehet. Emellett, a feladat stabil kitzse is megmutathat: a megolds a bemen fggvnyektl folytonosan fgg a maximumnormban [9, 30]. Teht a (11.3.1)-(11.3.2) feladat korrekt kitzs.
Mint lthat, a (11.2.1)-(11.2.2) feladat formlisan ugyan megoldhat, de a megoldst valjban ngy vgtelen fggvnysor sszegnek alakjban tudjuk csak felrni. Ez azt jelenti, hogy a gyakorlatban mr az ilyen egyszer feladat analitikus megoldsa sem kivitelezhet. Teht numerikus megolds alkalmazsa szksges. A tovbbiakban a megoldsok kzel lesznek-e a pontos megoldshoz.
fogjuk
2 u(x, y) 2 u(x, y) + x2 y 2
(11.2.27)
(11.2.28)
c, f
a kvetkez opertort:
Lw(x, y) =
2w 2w + x2 y 2 w(x, y),
(x, y) ;
(11.2.29)
(x, y) ,
tovbb
f :R
a kvetkez fggvnyt:
f (x, y) =
Ekkor feladatunk az
ha ha
(x, y) ; (x, y) .
(11.2.30)
Lu = f
opertoregyenlet megoldsa, ahol
(11.2.31)
u C 2 ()
az ismeretlen fggvny.
c C() c 0,
f C() C(),
11.2.
1. Denilunk az
h = h \h F( h )
s
az
rcshl s az
peremre es pontjait.
F(h )
az
rcsokon rtelmezett,
R-be
a (11.2.31) feladat
yh F( h ) rcsfggvny meghatrozsa, amely h pontjaiban kzel van u megoldshoz, s a rcshl nomtsval (azaz h 0 esetn) az
3
Lh : F( h ) F( h )
lineris opertort s
bh F( h )
Lh yh = bh
opertoregyenlet Az
yh F( h )
Lh
tetszleges
wh F( h ) rcsfggvny esetn jellje wh (xi , yj ) = wi,j , valamint alkalmazzuk a c(xi , yj ) = ci,j egyszersit jellst. Deniljuk az Lh opertort a kvetkez mdon. Rendelje hozz a wh rcsfggvnyhez azt az Lh wh -val jellt F( h )-beli rcsfggvnyt, amely az (xi , yj ) h rcspontokban az albbi rtkeket veszi fel: wi+1,j 2wi,j + wi1,j wi,j+1 2wi,j + wi,j1 + c w , ha (x , y ) ; i,j i,j i j h (11.2.33) h2 h2 w , ha (x , y ) .
i,j i j h
Deniljuk a
bh F( h )
bh (xi , yj ) =
Ekkor
f (xi , yj ), (xi , yj ),
ha ha
(xi , yj ) h ; (xi , yj ) h .
(11.2.34)
bh
rtke
yh F( h )
Lh
opertor ebbe a
bh
11.2.3. megjegyzs.
meghatrozshoz az
juk, hogy az rtelmezsi tartomnynak pontjaiban milyen rtkeket vesz fel. Ezrt teht
yh
yh (xi , yj )
yh
fggvny
rcspontbeli rtkeire nzve egy lineris algebrai egyenletrendszert jelent, ahol az ismeretlenek szma egyenl az egyenletek szmval, s mindkett
(N + 1)2 .
(N + 1)
Lh yh = bh
(11.2.35)
3 Ezt a fogalmat a ksbbiekben pontostjuk, hiszen a pontos megolds a teljes halmazon, mg a numerikus megolds annak csak bizonyos pontjaiban (az h rcshl pontjaiban) van rtelmezve. Ezrt a kt fggvny klnbz tereken van rtelmezve, s gy "eltrsk" nem rtelmezhet a szoksos ("klnbsgk tvolsga") mdon.
tankonyvtar.bme.hu 345
11.
alakban, ahol
bh R
(N +1)
yh R(N +1)
az
yh
Lh R(N +1)
(N +1)2
adott mtrix, amelynek alakjt ksbb adjuk meg. A tovbbiakban megmutatjuk, hogy a nomod rcshlk sorozatn a (11.2.32) feladatok megoldsval ellltott a (11.2.27) feladat olyan
yh
(xh , yh ) h
lim
(xh ,yh )(x ,y )
relcit jelenti.
(11.2.36)
Ph : C() F( h )
a (11.2.37)
Ph v F( h )
rcsfggvny a
rcshl
L : C 2 () C() C()
Lu = f
egyenlet minden olyan lineris
Lh : F( h ) F( h )
(11.2.39)
amely mellett az
illetve
yh
megoldsai.
eh = yh Ph u F( h )
(11.2.40)
hibafggvny
h0
Itt
lim eh
F( h )
= 0.
(11.2.41)
F( h ) az
F( h )-beli
11.2.4. denci.
Az
yh
eh
F( h )
= O(hp ),
akkor a mdszert
11.2.
A tovbbiakban a valamely norma melletti konvergencival s annak rendjvel foglalkozunk. A (11.2.40) sszefggsbl ler egyenletbe az
sszefggst kapjuk. Bevezetve a (11.2.42) jobb oldaln szerepl rcsfggvnyre a jellst, azaz a
h F( h )
(11.2.43)
h = bh Lh Ph u
jellssel az
Lh eh = h
n.
hibaegyenletet
kapjuk. A (11.2.38)
alapjn
Ph Lu = Ph f .
felrhat a
h = (bh Ph f ) + (Ph Lu Lh Ph u)
feladatokban a jobb oldalak milyen kzel vannak egymshoz, azaz hogy approximlja az mutatja, hogy
(11.2.45)
alakban. Ebben az alakban a jobb oldali els kifejezs azt mutatja, hogy a (11.2.38) s a (11.2.39)
f fggvnyt az Lh opertor
bh
milyen pontosan az
az
h0
esetn
11.2.5. denci.
Azt mondjuk, hogy a numerikus mdszer a limh0 h F(h ) = 0. Ha limh0 h F(h ) = O(hp ), ban) p-ed rendben konzisztensnek nevezzk.
F( h )
normban
konzisztens,
ha
Mint azt az elz fejezetben lttuk, a konzisztencibl mg nem mutathat meg kzvetlenl a konvergencia: ehhez az
Lh
fel, hogy a (11.2.38) s a (11.2.39) feladatok korrekt kitzsek. Ez azt jelenti, hogy mindkt feladatnak ltezik egyrtelm megoldsa (egzisztencia s unicits), s ezek folytonosan fggnek a feladatot ler paramterektl (stabilits). Ez az numerikus mdszert ler
illetve
Lh
Lh opertorrl teht megkveteljk, hogy ltezzen L1 s az korltos h 1 legyen, azaz ltezzen olyan K(h) 0, amely mellett Lh F( h ) K(h). Ugyanakkor a numerikus mdszer viselkedst (pontosabban a konvergencijt) limh0 esetn vizsgljuk. Teht, ha h cskkensvel a fenti K(h) lland kin a vgtelenbe, akkor ezt a korltossgi (azaz stabilitsi) tulajdonsgt a numerikus mdszer elveszti. Denilujnk egy olyan tulajdonsgot az {Lh }
opertorokra, amelyek mellett ez nem fordulhat el.
11.2.6. denci.
Azt mondjuk, hogy a (11.2.39) numerikus mdszer stabil a opertorsereg mellett
egyenletesen korltos,
K>
L1 h
minden megengedett
F( h )
(11.2.46)
rtk esetn.
11.2.7. megjegyzs. Ha a stabilitsi tulajdonsg minden h rtkre igaz, akkor a mdszert felttel
nlkl stabilnak, ha stabilnak nevezzk.
csak valamely
h0 > 0
szm melletti
h < h0
rtkekre, akkor
felttelesen
tankonyvtar.bme.hu 347
11.
11.2.8. ttel.
Legyen a (11.2.38) feladat korrekt kitzs. Tegyk fel tovbb, hogy a (11.2.39) diszkretizlt feladatok
F( h ) normban,
F( h ) normban.
eh = L1 h , h
azaz
eh
Ezrt, ha a konzisztencia
F( h )
L1 h
F( h )
F( h )
K h
F( h ) .
(11.2.47)
p-ed
rend, azaz
h = O(hp ),
akkor (11.2.48)
eh
ami a ttel lltst igazolja.
F( h )
K O(hp ) = O(hp ),
Fontos megjegyeznnk, hogy a 11.2.8. ttel azt mutatja, hogy a kzvetlenl nem (vagy csak nagyon ritkn) bizonythat konvergencia kt, lnyegesen knnyebben ellenrizhet tulajdonsggal biztosthat, nevezetesen a konzisztencival s a stabilitssal. Vegyk szre ugyanis, hogy a konvergencia kzvetlen beltshoz a (11.2.38) folytonos feladat
sges. (Ezt viszont tipikusan nem ismerjk, hiszen a numerikus mdszerek alkalmazsnak ppen az az oka, hogy a feladatot nem tudjuk analitikusan megoldani.) A konzisztencia s stabilits beltshoz viszont nem szksges
sima fggvnyosztlyon mutatjuk meg, s az ismeretlen megolds azon tulajdonsgt hasznljuk fel csupn, hogy kielgti az egyenletet. A stabilits a numerikus sma egy bels tulajdonsga, a (11.2.38) folytonos feladat
11.2.9. ttel.
A (11.2.32)-(11.2.34) vges dierencis approximci a maximumnormban msodrendben konzisztens a (11.2.27)-(11.2.28) feladattal.
(xi , yj ) h
pontban
(xi , yj ) h
esetn
h (xi , yj ) = 0,
11.2.
h (xi , yj ) = bh (xi , yj ) (Lh Ph u) (xi , yj ) = 1 f (xi , yj ) + 2 (u(xi + h, yj ) + u(xi h, yj ) 2u(xi , yj )) + h 1 (u(xi , yj + h) + u(xi , yj h) 2u(xi , yj )) ci,j u(xi , yj ). h2
Mivel
(11.2.49)
f (xi , yj ) = (Lu)(xi , yj ) =
(11.2.50)
h (xi , yj ) = u(xi + h, yj ) + u(xi h, yj ) 2u(xi , yj ) 2 u (xi , yj ) + h2 x2 u(xi , yj + h) + u(xi , yj h) 2u(xi , yj ) 2 u 2 (xi , yj ) + h2 y (c(xi , yj )u(xi , yj ) ci,j u(xi , yj )) .
Ekkor u(xi h, yj ) s u(xi , yj h) kifejezsek c(xi , yj ) egyenlsg gyelembevtelvel szoksos Taylor-sorba fejtsvel, valamint a
(11.2.51)
ci,j =
h (xi , yj ) =
Ezrt teht
1 12
(11.2.52)
h (xi , yj ) = O(h2 ),
ahol a
M4 /6.
ttelt jelent
= O(h2 )
lltst. Trjnk t a stabilits vizsglatra! Els lpsben megvizsgljuk a numerikus mdszert ler (11.2.35) feladat egy fontos tulajdonsgt.
11.2.10. ttel.
Tekintsk a (11.2.33) szerint denilt
R(N +1)
(N +1)2
Lh : F( h ) F( h )
rcsopertort, s legyen
Lh
Lh
M-mtrix.
Bizonyts. A (11.2.33) dencibl nyilvnvalan az pozitvak. Ezrt elegend megmutatni, hogy ltezik
Lh mtrix diagonlon kvli elemei nem(N +1)2 -beli gh > 0 vektor, amelyre olyan R
(11.2.54)
k -adik
s
koordintja
i, j = 0, 1, . . . , N .5
Ekkor nyilvnvalan
gh,k 2
dintkban, amelyekre
i {0, N }
j {0, N }.
(xi , yj ) h
esetn
11.
ordintkra
(Lh gh )(xi , yj ) 4, vagyis az i = 1, 2, . . . , N 1 s j = 1, 2, . . . , N 1 rtkekhez tart k -adik ko(Lh gh )k 5/2.6 Ezrt teht a (11.2.54) megvlaszts gh vektor mellett Lh gh 2,
A fenti ttel alapjn az
Lh
11.2.11. ttel.
A (11.2.33) szerinti
(N +1)2
L1 h
becsls. Bizonyts. Mivel albbi mdon:
l2 + 4 4
(11.2.55)
Lh
L1 h
ahol
mini (Lh gh )i
gh
(11.2.56)
a szmtani-mrtani kzepek kztti sszefggs alapjn Innen a (11.2.55) lltsunk kzvetlenl addik.
(l2 +4)/2.
gy a 11.2.9. s a 11.2.11. ttelek alapjn a 11.2.8. alapttel alkalmazhat, s rvnyes az albbi, konvergencira vonatkoz llts.
11.2.12. ttel.
Tegyk fel, hogy a (11.2.27)-(11.2.28) feladatnak ltezik vergens.
u C 4 ()
megoldsa. Ekkor
yh F( h ) yh
yi,j
jelli az
rcsfggvny
(xi , yj ) h
yi+1,j 2yi,j + yi1,j yi,j+1 2yi,j + yi,j1 + c y = f , i, j = 1, 2, . . . , N 1; i,j i,j i,j h2 h2 yi,j = i,j , i {0, N } vagy j {0, N }.
(11.2.57) (Itt a
s az
fi,j = f (xi , yj )
tuk.) rjuk fel a (11.2.57) feladatot a (11.2.35) lineris algebrai egyenletrendszer alakjban, azaz hatrozzuk meg a feladatban szerepl
Lh
mtrix s a
bh
k = j(N + 1) + i, az yh
11.2.
valjban a csak az
(N +1)2
yh
(N 1)2
A
a (11.2.57) alapjn!
tartoz
k = (i1)(N 1)+j (ahol i, j = 1, 2, . . . , N 1) tsorszmozssal az h yh ismeretlen vektorra trt feladat ekkor az Lh yh = bh yh R(N 1)
2
rcshl pontjaihoz
(N 1)2
ismert vektor, s
2 2 Lh R(N 1) (N 1)
bh
yi R(N 1) , bi R(N 1)
i
index vektor
(ahol
mindegyik rgztett
j -edik
koordintja (j
i = 1, 2, . . . , N 1) vektorokat gy, = 1, 2, . . . , N 1) az yh s
koordintja legyen. Ekkor
hogy a
bh
k -adik
yh = [y1 , y2 , . . . , yN 1 ] ,
Az egyszersg kedvrt tegyk fel, hogy a
bh = [b1 , b2 , . . . , bN 1 ] .
Alkalmazva a
c = lland.
Bh R(N 1)(N 1)
jellst
jellseket a
Lh =
0 0
0 0 Bh Eh
...
... h2 0
0 0
...
0 0
... Eh
0 0
(11.2.59)
b1
vektor elemei:
b1,1 =
ahol
1 1 1 (0,1 + 1,0 ) + f1,1 , b1,j = 2 j,0 + fj,1 , b1,N 1 = 2 (N,1 + N 1,0 ) + fN 1,1 , 2 h h h j = 2, 3, . . . , N 2. A bi vektor elemei i = 2, 3, . . . , N 2 esetn:
bi,1 =
ahol
j = 2, 3, . . . , N 2.
bN 1
vektor elemei:
ahol
1 1 (0,N 1 + 1,N ) + f1,N 1 , bN 1,j = 2 j,N + fN,j , 2 h h 1 bN 1,N 1 = 2 (N,N 1 + N 1,N ) + fN 1,N 1 , h j = 2, 3, . . . , N 2.
bN 1,1 =
Teht a numerikus megolds ellltshoz a fenti mdon sszelltott (11.2.58) lineris algebrai egyenletrendszert kell megoldanunk. Az algoritmus MATLAB programjval s a szmtgpes realizlsi krdsvel a fejezet vgn foglalkozunk. tankonyvtar.bme.hu 351
11.
(11.3.1)
(11.3.2)
u=0
(11.3.5)
azonossgot nyerjk, ami az elliptikus esethez hasonlan azt jelenti, hogy mindkt oldal lland:
(11.3.6)
(11.3.7)
X(0) = X(1) = 0
felttelt nyerjk. Clunk teht olyan feladatnak ltezik a trivilis (11.2.9) feladat megoldst,
(11.3.8)
R szm meghatrozsa, amely mellett a (11.3.7)-(11.3.8) X(x) = 0 fggvnytl klnbz megoldsa. Kvetve a (11.2.8)innen a lehetsges rtkekre a k = k 2 2 , k = 1, 2, . . .
(11.3.9)
11.3.
k Xk (x) = C1 sin(kx), k = 1, 2, . . .
fggvnyek tetszleges feladatnak. Trjnk t a
(11.3.10)
k C1
= k
megvlaszts (11.3.7)-(11.3.8)
T (t)
(11.3.11)
= k = k 2 2 .
k Tk (t) = C2 ek t ,
k C2 tetszleges lland. Teht a (11.3.10) s a (11.3.12) kpletekkel azt kapjuk, hogy minden k = 1, 2, . . . esetn tetszleges Ck lland mellett az
ahol
2 t
sin(kx)
(11.3.13)
fggvnyek olyan fggvnyek, amelyek megoldsai a (11.3.1) egyenletnek, s kielgtik a (11.3.2) mindkt (homogn) peremfelttelt. gy az
u(x, t) =
k=1
uk (x, t) Ck
(11.3.14)
fggvny is rendelkezik ezekkel a tulajdonsgokkal. Vlasszuk meg a tetszleges gy, hogy a (11.3.2) kezdeti felttele is teljesljn erre az kpletek alapjn
llandkat
u fggvnyre!
A (11.3.14) s a (11.3.13)
u(x, 0) =
k=1
Ugyanakkor a
Ck sin(kx).
(11.3.15)
0 (x)
fggvny Fourier-sora
0 (x) =
k=1
alak, ahol
k sin(kx) 0
(11.3.16)
k = 2 0
0
(11.3.17)
Ck = k . 0
sszegezve: az
(11.3.18)
u(x, t) =
k=1
fggvnysorral denilt
k ek 0
2 t
sin(kx)
(11.3.19)
u(x, t)
11.
11.3.1. megjegyzs.
(11.3.20)
(11.3.21)
u(x, t) = (1 x) + x, x [0, 1]
jellst. (Nyilvnvalan
(11.3.22)
u(x, t) egy ismert fggvny.) Ekkor az u = U u fggvny megoldsa lesz 0 (x) = M0 (x) ((1 x) + x). Ezrt ennek a fggvnynek U = u+u
sszefggsbl.
maximum-minimum elv :
peremen. Ebbl kzvetlenl knnyen megmutathat, hogy a feladatnak csak egyetlen megoldsa lehet. Emellett, a feladat stabil kitzse is megmutathat: a megolds a bemen fggvnyektl folytonsan fgg a maximumnormban [9, 30]. Teht a (11.3.1)-(11.3.2) feladat korrekt kitzs.
Mint lthat, a (11.3.1)-(11.3.2) feladat, a (11.2.1)-(11.2.2) elliptikus feladathoz hasonlan, formlisan ugyan megoldhat, de a megoldst valjban csak egy vgtelen fggvnysor sszegnek alakjban tudjuk felrni. Ez azt jelenti, hogy a gyakorlatban mr az ilyen egyszer feladat analitikus megoldsa sem kivitelezhet. Teht ismtelten numerikus megolds alkalmazsa szksges. A tovbbiakban a
a (11.3.1)-(11.3.2) feladatnl ltalnosabb feladatra, s megvizsgljuk, hogy a kzelt megoldsok kzel lesznek-e a pontos megoldshoz.
(11.3.23)
(11.3.24)
(11.3.25)
0 , 1 , 2
11.3.
peremet,
egyezik a
pedig azt a t halmazon rtelmezett fggvnyt, amely az egyes szakaszokon meg0 , 1 s 2 fggvnyekkel. Tegyk fel, hogy f C(t ) s C(t ). 2,1 Vezessk be az L : C (t ) C(t ) C(t ) lineris opertort7 a kvetkez mdon: w 2 w (x, t), ha (x, t) t ; t x2 (11.3.26) Lw(x, t) = w(x, t), ha (x, t) t , f : t R
a kvetkez fggvnyt:
tovbb
f (x, t) =
ha ha
(x, t) t (x, t) t
; .
(11.3.27)
Lu = f
opertoregyenlet megoldst jelenti, ahol
uC
2,1
(t )
Mivel a (11.3.28) feladat analitikus megoldst ltalnos esetben nem tudjuk ellltani, ezrt ismtelten numerikus eljrst alkalmazunk. Ennek lnyege a kvetkez. 1. Denilunk az
Nx
Nt
jellik az
h, = h, \h, t h,
az
F( h, )
F(h, )
az
h,
s az
rcsokon rtelmezett,
yh, F( h, )
h,
pontjaiban kzel
h, 0
elemet,
Lh, : F( h, ) F( h, )
lineris opertort s
bh, F( h )
(11.3.29)
yh, F( h, )
Lh,
11.3.3. lemma.
Legyen
w C 4,2 (t ).
Ekkor tetszleges
[0, 1]
szm esetn
w w(xi , tn1 + ) w(xi , tn1 ) (xi , tn1 + ) = + O( ), t 2w w(xi+1 , tn1 ) 2w(xi , tn1 ) + w(xi1 , tn1 ) (xi , tn1 + ) = + O( + h2 ). 2 x h2
(11.3.30)
7 C 2,1 ( ) jelli az els vltozban ktszer, a msodik vltozban egyszer folytonosan dierencilhat u(x, t) t (ahol (x, t) t ) fggvnyek halmazt.
tankonyvtar.bme.hu 355
11.
Bizonyts. rjuk fel az els llts bal oldaln szerepl fggvny elsrend Taylor-sorbafejtst!
(11.3.31)
(11.3.32)
(11.3.33)
A (11.3.31) s a (11.3.33) sszefggsekbl az els llts kzvetlenl leolvashat. A msodik llts az els llts bizonytsval knnyen belthat, s ezrt ezt az Olvasra bzzuk. Clunk a (11.3.26) szerinti
(Lw)(xi , tn )
rtk kzeltse
h,
motivlja a kvetkezket.
n wh, F( h, ) adott rcsfggvny esetn wh (xi , tn ) = wi . Deniljuk F( h, ) F( h, ) rcsopertort az albbi mdon: n1 n1 n1 n wn1 2wi + wi1 wi wi i+1 , ha (xi , tn ) h, ; (Lh, wh, ) (xi , tn ) = h2 n wi , ha (xi , tn ) h, .
Jellje a Alkalmazva az
Lh, :
(11.3.34)
[0, 1]
rtk
f (xi , tn1 + ) =: fin, s a (xi , tn ) = n jellseket, i mellett deniljuk a bh, F( h, ) rcsfggvnyt a kvetkez b (xi , tn ) = h, fin, , n i
ha ha
(xi , tn ) h, ; (xi , tn ) h, .
(11.3.35)
Ekkor
b h,
rtke
hogy keressk a
h, minden rcspontjban meghatrozhat, 8 s a (11.3.29) egyenlet azt jelenti, azon yh, F( h, ) rcsfggvnyt, amelyet a (11.3.34) szerinti Lh, opertor ebbe
fels indexet. (Mint
b h,
A tovbbiakban, ahol nem okoz flrertst, a jellseinken elhagyjuk a ltni fogjuk a 11.3.7.. ttelben, a konvergencijra.)
11.3.4. megjegyzs.
felrhat
alak lineris algebrai egyenletrendszerknt, amelynek mrete megegyezik az jainak szmval, azaz zshoz valjban nincs szksg az
Lh,
yh,
8 Ha = 0, akkor az n = 1 rtkre a kpletben f (0, x ) szerepel. Br az f fggvnyrl eddig csak azt tettk i fel, hogy az t tartomnyon van rtelmezve, s ott folytonos, a tovbbiakban feltesszk, hogy folytonosan kiterjeszthet a t = 0 egyenesre. Ekkor az f (0, xi ) rtken ezen kiterjesztett fggvny rtkt rtjk, azaz a kplet rtelmes az n = 1 esetn is.
356 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
11.3.
11.3.5. ttel.
Tegyk fel, hogy a rcshl lpskzeire teljesl a
q := /h2 0.5
felttel. Ekkor a (11.3.29) feladatnak ltezik egyrtelm megoldsa.
(11.3.37)
Bizonyts. A 11.3.4. megjegyzsnek megfelelen a (11.3.29) feladat egy (11.3.36) alak lineris algebrai egyenletrendszert jelent. rjuk ki az egyes rcspontokhoz tartoz egyenleteket!
az
(xi , tn ) h,
1 n1 1 n 1 n1 y 2 yi1 2 yi+1 + i h h
az
2 1 h2
n1 yi = fin, .
(11.3.38)
(xi , tn ) h,
n yi = n . i
Ezrt az
(11.3.39)
Lh,
n Tekinsk a i = 1 + ih(l ih) (i = 0, 1, . . . , Nx ; n = 0, 1, . . . , Nt ) vektort. Nyilvnvalan n 1, s i = 0 illetve i = Nx esetn n = 1. Hatrozzuk meg az h, vektort! Mivel a vektor i i koordinti az n indextl fggetlenek, ezrt a bels pontokhoz tartoz koordintkra:
(Lh, g)i =
n
(11.3.40)
11.3.6. kvetkezmny.
ximumnormjra:
Lh,
L1 h,
Az elzekben megmutattuk, hogy kztti sszefggs alapjn
mini,n (Lh g)n = 1. Msrszt, a szmtani-mrtani i ih(l ih) l2 /4, azaz gh (l2 + 4)/4. Ezrt teht l2 + 4 4
Lh,
L1 h,
becsls.
(11.3.41)
tankonyvtar.bme.hu 357
11.
Ph,
C(t ) F( h, )
wh, = Ph, w F( h, )
nullhoz tartsa esetn ebben a normban nullhoz tart. A kvetkez ttel ezt a tulajdosgot
mutatja meg.
11.3.7. ttel.
A (11.3.37) felttel teljeslse esetn a (11.3.34) s (11.3.35) kpletekkel denilt (11.3.29) egyenlet leges
yh, F( h ) megoldsaibl ll rcsfggvnysorozat a maximumnormban [0, 1] rtk esetn h, (xi , tn ) = O( + h2 ) rendben konvergl a (11.3.28)
tetszfeladat
elegenden sima megoldshoz. Bizonyts. Feltehet, hogy a (11.3.28) korrekt kitzs feladat (lsd a 11.3.1. szakaszt), ezrt elegend megmutatni, hogy a mdszer a maximumnormban konzisztens s stabil. Vizsgljuk meg a konzisztencit! Ehhez a loklis approximcis hiba, vagyis a
h, (xi , tn ) = bh, (xi , tn ) (Lh, Ph, u)(xi , tn ) = (bh, (Lh, uh, )) (xi , tn )
kifejezs abszolt rtknek maximumt kell becslnnk. Mivel az
(xi , tn ) h,
perempontokban
(xi , tn ) h,
h, (xi , tn ) = fin, (Lh, uh, )(xi , tn ) = f (xi , tn1 + ) (Lh, uh, )(xi , tn ).
A (11.3.23) egyenlet alapjn
(11.3.43)
f (xi , tn1 + ) =
s az
(11.3.44)
uh, (xi , tn ) = un i
(11.3.45)
h, (xi , tn ) =
[0, 1]
h, (xi , tn ) = O( + h2 ),
ami a maximumnormabeli konzisztencit, s annak rendjt mutatja. 358 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
11.3.
Mivel a 11.3.6.. kvetkezmnybl (konkrtan a (11.3.41) becslsbl) a stabilits kzvetlenl kvetkezik, ezrt a 11.2.8. ttel felhasznlsval ezzel a ttel lltst belttuk.
11.3.8. megjegyzs.
A 11.3.7. ttel
esetn a (11.3.38)-(11.3.39) lineris algebrai egyenletrendszer megoldsa a maximumnormban konvergl a (11.3.23)-(11.3.25) hvezetsi feladat elegenden sima megoldshoz.
(xi , tn ) h,
(11.3.48)
bh,
adott,
yh,
Lh,
egy
yh,
(Nx 1)Nt
Lh,
mtrix s
fggvny)
= 1, 2, . . . , Nx 1
n = 0, 1, . . . , Nt 1)
alakban, ahol
q = /h2 .
i {0, Nx } illetve n = 0
(11.3.50)
n yi
n yi = (xi , tn ).
yn R(Nx 1) , bn R(Nx 1)
n n n yn = [y1 , y2 , . . . , yNx 1 ] ,
(ahol
n = 1, 2, . . . , Nt )
szoksosan oszlopvekto-
bn = [bn , bn , . . . , bn x 1 ] , 1 2 N
bh, = [(b1 ) , (b2 ) , . . . , (bNt ) ] .
lland. Alkalmazva a
Ekkor
Bh =
c =
tridiag[q, 2q
1, q]
Lh, =
Eh 0 0 . . . Bh Eh 0 . . .
. 0
. .
0 0
. . .
0 0
. . .
0 0
. . .
0 . . . Bh Eh 0 . . . 0 Bh Eh
. . .
. . .
0 0
0
. . .
(11.3.51)
Nt
11.
11.3.9. megjegyzs.
Lh,
q 0.5
b1 =
s az
n = 2, 3, . . . , Nt
rtkekre
(11.3.53)
11.3.10. megjegyzs.
fggvny viselkedst a
paramter
= 0.5
pontot kell vlasztanunk, hogy az azon ponthoz tartoz fggvnyrtk jl jellemezze az a felezpont a legalkalmasabb. A (11.3.50) sszefggsek ismeretben teht
b1 =
s az
0, f1 + q0 (x0 ) (2q 1)0 (x1 ) + q0 (x2 ) 0, f2 + q0 (x1 ) (2q 1)0 (x2 ) + q0 (x3 )
. . .
,
(11.3.54)
n = 2, 3, . . . , Nt
rtkekre
(11.3.55)
(11.3.56)
11.3.
A (11.3.56) n.
explicit
val kiszmolsa a megelz idrtegen mr kiszmolt kzelts segtsgvel trtnik. Ezrt a mdszer realizlsa meglehetsen egyszer, s nem ignyel sok mveletet: az egy idrtegen val megoldsvektor kiszmolshoz egy
/h2 0.5
explicit sma
megoldsi halmazon
h,
h felezsvel
Nt
(Nx 1)Nt ,
addig a nomtott
(2Nx 1)4Nt
lesz,
azaz kb. nyolcszorosra nvekszik a pontok szma.) Felmerlhet a krds: megadhat-e olyan kzelts, amelynek konvergencijhoz nem szksges ilyen korltoz felttel? A (11.3.29) diszkretizciban a (11.3.23)-(11.3.25) feladatban szerepl derivltakat a (11.3.30) szerint kzeltettk. (Ez igazbl az
(x1 , tn1 )
szerinti derivltat egy halad vges dierencival kzeltettk.) rjunk fel egy msik, bizonyos rtelemben termszetesebb kzeltst: a kzeltst az
(xi , tn )
jban) rjuk fel, s az id szerinti derivltat egy retrogrd vges dierencival kzeltjk. Teht
w (xi , tn ) t 2 w (xi , tn ) x2
(11.3.57)
idrtegen
vnyre
rcshlval megegyez
bh, (xi , tn ) =
Ekkor az
fin , n , i
ha ha
(xi , tn ) h, ; (xi , tn ) h, .
(11.3.58)
Lh,
ha ha
(xi , tn ) h, ; (xi , tn ) h, .
(11.3.59)
A 11.3.5. ttelhez hasonlan a (11.3.59) opertor invertlhatsga (s gy a megfelel numerikus sma realizlhatsga) megmutathat.
11.3.11. ttel.
A (11.3.59) opertor (11.3.29) feladatnak ltezik egyrtelm megoldsa.
tankonyvtar.bme.hu 361
11.
Bizonyts. A 11.3.4. megjegyzsnek megfelelen a (11.3.29) feladat egy (11.3.36) alak lineris algebrai egyenletrendszert jelent. rjuk ki az egyes rcspontokhoz tartoz egyenleteket!
(xi , tn ) h,
2 1 + 2 h
Az
n yi
1 n 1 n 1 n1 y 2 yi+1 yi = fin . 2 i1 h h
(11.3.60)
(xi , tn ) h,
n yi = n . i
Ezrt a (11.3.59) alak llnak. Tekinsk a
(11.3.61)
Lh,
gn = 1 + ih(l ih) (i = 0, 1, . . . , Nx ; n = 0, 1, . . . , Nt ) vektort! Nyilvnvalan gn i i 1, s i = 0 illetve i = Nx esetn gn = 1. Hatrozzuk meg az Lh, g vektort! A perempontokhoz i n tartoz koordinti nyilvn gi . Mivel a g vektor koordinti az n indextl fggetlenek, ezrt a
bels pontokhoz tartoz koordintkra:
(Lh, g)i =
n
1 n 1 n1 g gi + 2 gn + 2gn gn i1 i i+1 = 2, i h
=0
(11.3.62)
11.3.12. kvetkezmny.
maximumnormjra:
Lh,
mtrix inverznek
L1 h,
Az elzekben megmutattuk, hogy kztti sszefggs alapjn
.
kzepek az
mini,n (Lh g)n = 1. Msrszt, a szmtani-mrtani i ih(l ih) l2 /4, azaz gh (l2 + 4)/4. Ezrt teht l2 + 4 4
Lh,
L1 h,
becsls.
(11.3.63)
11.3.13. megjegyzs.
/h2
11.3.14. ttel.
A (11.3.59) s (11.3.58) kpletekkel denilt (11.3.29) egyenlet rcsfggvnysorozat a maximumnormban elegenden sima megoldshoz.
yh, F( h ) megoldsaibl ll
O( + h2 )
11.3.
h, (xi , tn )
h, (xi , tn ) =
u(xi , tn ) un un1 i i t
(11.3.64)
u(xi , tn ) un un1 i i = O( ). t
A msodik kifejezsre a msodik derivlt vges dierencis kzeltsnek pontossga miatt
h, (xi , tn ) = O( + h2 ),
ami a maximumnorma-beli konzisztencit mutatja.
(11.3.65)
A mdszer stabilitsa a 11.3.12. kvetkezmnybl (konkrtan a (11.3.63) becslsbl) kzvetlenl kvetkezik. A 11.2.8. ttel lltst alkalmazva ezzel lltsunkat belttuk.
h tetszleges
mdon trtn nullhoz tartsa esetn konvergens a maximumnormban, azaz a diszkretizcis lpskzket csak az approximci pontossgnak kvnalmai szerint vlaszthatjuk meg, nincs
Vgezetl rjuk fel a mdszer realizlst jelent algoritmust! Ehhez hatrozzuk meg a (11.3.59) s (11.3.58) kpletekkel denilt (11.3.29) opertoregyenletnek megfeleltetett (11.3.48) lineris algebrai egyenletrendszer trsval a
Lh,
mtrixt s
bh,
= 1, 2, . . . , Nx 1
illetve
n = 1, 2, . . . , Nt )
i {0, Nx }
n=0
esetn ismerjk az
n yi
n yi = (xi , tn ).
Ezrt
(11.3.67)
yn RNx 1 , bn RNx 1 ,
valamint a
(Nx 1)(Nx 1)
0, Eh R(Nx 1)(Nx 1)
tridiagonlis mtrix
0 0
. . .
0 0
. . .
Lh, =
0 0
. . .
0 0
. . .
0 . . . E h Ch 0 ... 0 Eh Ch
. . .
. . .
0 0
0
. . .
(11.3.68)
tankonyvtar.bme.hu 363
11.
Nt
kvetkez. Az
n=1
rtkre
b =
1
az
,
(11.3.69)
1 fNx 2
n = 2, 3, . . . , Nt
rtkekre pedig
b =
n
n f1 + q1 (tn ) n f2
. . .
.
(11.3.70)
n fNx 1 + q2 (tn )
n fNx 2
(11.3.71)
implicit
Ch
mtrix lineris algebrai egyenletrendszer megoldsa szksges mindegyik idrtegen. Ez a mdszer is egylpses, hiszen az (Megjegyezzk, hogy a Gauss-elimincit.)
yn1
yn
idrtegen val kiszmolsa a megelz idrtegen mr kiszmolt kzelts segtsgvel trtnik. ris algebrai egyenletrendszer megoldsra alkalmazhatjuk a korbban mr ismertetett specilis
Ehhez tletknt a derivltak vges dierencis approximcijt alkalmaztuk. Az gy nyert smkra ezutn megmutattuk a megoldhatsgot, illetve belttuk a konvergencit: mindkt sma a maximumnormban megoldshoz. A fentiek kt tovbbi termszetes krdst vetnek fel. rendben tart a (11.3.23)-(11.3.25) feladat megfelel simasg
Lh,
ope-
bh,
11.3.
h, rcshl elllthat a 10. fejezetben alkalmazott rcshlnak h = {xi = ih, i = 0, 1, . . . , Nx , h = l/Nx } trbeli s a 9. fejezetben alkalmazott t rcshlnak megfelel = {ti = i ; i = 0, 1, . . . , Nt ; = t /Nt } idbeli rcshlk direkt szorzataknt, azaz h, = h . Ezrt Lh, s bh, alakjnak meghatrozst kt lpsben
Vegyk szre, hogy az megfelel hajtjuk vgre.
Els lpsben a (11.3.23)-(11.3.25) feladatot egy elsrend, kznsges dierencilegyenletrendszer Cauchy-feladatval trben diszkretizljuk az
kretizci.)
rcshln. (Ez az n.
szemidisz-
Msodik lpsben ezen feladat idbeli diszkretizlshoz alkalmazzuk az fejezetben megismert numerikus mdszerek valamelyikt.
rcshln a 9.
t [0, t ])
egyvltozs fggvnyt, mgpedig gy, hogy azok lehetleg kzel legyenek a (11.3.23)-
(11.3.25) feladat pontos megoldsnak ezen rcspontbeli rtkhez, vagyis az Mivel a (11.3.23)-(11.3.25) feladat az
x = xi
pontban a
(11.3.72)
u(xi , 0) = 0 (xi ),
s az
(11.3.73)
(11.3.74)
uh,i (t) (i = 0, 1, 2, . . . , Nx )
uh,i (t)
uh,i+1 (t) 2uh,i (t) + uh,i1 (t) = fh,i (t), i = 1, 2, . . . , Nx , t (0, t ] h2 uh,i (0) = 0 (xi ), uh,0 (t) = 1 (t), uh,Nx (t) = 2 (t), t (0, t ],
(11.3.75)
(11.3.76) (11.3.77)
ahol
11.3.16. megjegyzs.
szoksos
2w (xi , t) x2
(11.3.78)
O(h2 )
Bevezetve a
Q=
tridiag[1, 2, 1]
jellst, ekkor az
uh,i (t)
koordintafgg-
uh (t) +
(11.3.79)
tankonyvtar.bme.hu 365
11.
uh (0) = 0 ,
ahol
(11.3.80)
fh (t) =[(fh,1 (t) + 1 (t)) , fh,2 (t), . . . , fh,Nx 2 (t), (fh,Nx 1 (t) + 2 (t))] ,
0 =[0 (x1 ), 0 (x2 ), . . . , 0 (xNx 1 )] .
(11.3.81)
yh, F( h, )
yh, (xi , tn ) t = tn rcspontban. gy megkonstrultunk be kell ltni, hogy h s nullhoz tartsa esetn kon-
vergl a pontos megoldshoz, illetve a konvergencia rendjt is meg kell hatroznunk. A tovbbiakban tekintsnk kt pldt.
11.3.17. plda. Vlasszuk az explicit Euler-mdszert a (11.3.79)-(11.3.80) rendszer Cauchyfeladatt megold numerikus mdszernek.Ebben az esetben a numerikus megoldst az
yn yn1 h h
1 n1 Q yn1 = fh , i = 1, 2, . . . , Nx 1, n = 1, 2, . . . , Nt , h h2
(11.3.82)
y0 = 0 h
n1 feladat megoldsval nyerjk, ahol h
(11.3.83) s
= fh (tn1 )
11.3.18. plda. Vlasszuk az implicit Euler-mdszert a (11.3.79)-(11.3.80) rendszer Cauchyfeladatt megold numerikus mdszernek. Ebben az esetben a numerikus megoldst a korbbi jellseink mellett az
yn yn1 h h
1 Q yn = fn , n = 1, 2, . . . , Nt , h h h2
(11.3.84)
y0 = 0 h
feladat megoldsval nyerjk. Knnyen lthat, hogy az gy denilt vny megegyezik a (11.3.59) s (11.3.58) kpletekkel denilt (11.3.29) egyenlet ezen megvlasztsa mellett a korbbi implicit mdszernket kapjuk.
(11.3.85)
yh, F( h, ) rcsfggyh, F( h )
A fenti pldk alapjn termszetes, hogy a tovbbiakban egy olyan mdszert vizsglunk meg, amelyet a 9.. fejezetben az explicit s implicit Euler-mdszerek ltalnostsaknt nyertnk: ez a
-mdszer
11.3.
-mdszerrel val megoldsval nyeyh, F( h, ) numerikus megoldst jelent rcsfggvnyt az elre rgztett 1 Q yn1 + h h2 Q yn = fn, , n = 1, 2, . . . , Nx , h h h2
[0, 1]
melletti
yn yn1 h h
(11.3.86) (11.3.87)
y0 = 0 h
n, feladat megoldsval kapjuk, ahol h korbban vizsglt sminkat kapjuk.)
= fh (tn1 + ).
(Nyilvnvalan
=0
=1
esetn a
Clunk a fenti mdszer rcsegyenletknt val megfogalmazsa. Ehhez deniljunk egy jabb rcsopertort. Legyen
Lh,
wh,
(xi , tn ) h,
pontban a kvetkez:
ha ha
(xi , tn ) h, ; (xi , tn ) h, .
(11.3.88)
A korbbi specilis esetekhez hasonlan a (11.3.88) opertor invertlhatsga (s gy a megfelel numerikus sma realizlhatsga) is kzvetlenl vizsglhat. Legyen tovbb a jobb oldali rcsfggvny a kvetkez:
bh, (xi , tn ) =
fin, , n i
ha ha
(xi , tn ) h, ; (xi , tn ) h, .
(11.3.89)
Ezen jellsekkel a (11.3.86)-(11.3.87) feladat felrhat a (11.3.29) alak opertoregyenletknt. A tovbbiakban ezzel a feladattal foglalkozunk.
11.3.19. ttel.
A (11.3.88) opertor (11.3.29) feladatnak a
q=
1 2 h 2(1 )
(11.3.90)
felttel teljeslse mellett ltezik egyrtelm megoldsa. Bizonyts. A 11.3.4. megjegyzsnek megfelelen a (11.3.29) feladat egy (11.3.36) alak lineris algebrai egyenletrendszert jelent. rjuk ki az egyes rcspontokhoz tartoz egyenleteket!
(xi , tn ) h,
1 2 n n + 2 yi 2 yi1 h h 1 2(1 ) n1 + yi h2
Az
(11.3.91)
(xi , tn ) h,
n yi = n . i
(11.3.92)
tankonyvtar.bme.hu 367
11.
Ezrt az
Lh,
gn = 1. i
(i
= 0, 1, . . . , Nx ; n = 0, 1, . . . , Nt ) vektort! Nyilvnvalan
Hatrozzuk meg az
Mivel a
Lh, g
vektor koordinti az
(Lh, g)i =
n
(11.3.93)
11.3.20. kvetkezmny. A szoksos mdon ismt becsls adhat a (11.3.88) opertornak megfeleltetett Lh, mtrix inverznek maximumnormjra: L1 h,
Az elzekben megmutattuk, hogy kztti sszefggs alapjn
.
kzepek az
mini,n (Lh g)n = 1. Msrszt a szmtani-mrtani i ih(l ih) l2 /4, azaz gh (l2 + 4)/4. Ezrt teht l2 + 4 4
Lh,
L1 h,
becsls.
(11.3.94)
11.3.21. megjegyzs.
A (11.3.90)
rtelmezzk, azaz ebben az esetben nincs felttel tattuk, lsd a 11.3.11. ttelt.) A hogy a 11.3.19. ttelben (11.3.90)
[0, 1) esetn van korltoz felttel. Ugyanakkor megjegyezzk, elgsges felttel, teht szksgessgrl nem szl az llts.
11.3.22. ttel.
A (11.3.90) felttel teljeslse esetn a (11.3.88) opertor s (11.3.89) jobb oldal (11.3.29) egyenlettel denilt mdszer a maximumnormban konzisztens, s rendje
O( + h2 ),
ha
= 0.5, = 0.5.
O( 2 + h2 ),
ha
h, (xi , tn ) = bh, (xi , tn ) (Lh, Ph, u)(xi , tn ) = (bh, (Lh, uh, )) (xi , tn ).
Mivel az hibt csak az
(xi , tn ) h, perempontokban h, (xi , tn ) = 0, ezrt elegend a (xi , tn ) h, bels rcspontokban vizsglnunk. Vezessk
loklis approximcis be a
t = tn1 + n
11.3.
tn1 = t , tn = t + (1 ). n n
A jobb oldali rcsfggvny (11.3.89) denicja kvetkeztben ekkor
(11.3.95)
(11.3.96)
t = t n
pontban, az
f (xi , t ) = n
sszefggst kapjuk. Msrszt az
u(xi , t ) 2 u(xi , t ) n n t x2
jellssel a (11.3.88) alapjn
(11.3.97)
uh, (xi , tn ) = un i
(11.3.98)
h, (xi , tn ) = 1 + 2
alakban, ahol
(11.3.99)
u(xi , t ) u(xi , tn ) u(xi , tn1 ) n , t u(xi+1 , tn ) 2u(xi , tn ) + u(xi1 , tn ) 2 = + h2 u(xi+1 , tn1 ) 2u(xi , tn1 ) + u(xi1 , tn1 ) 2 u(xi , t ) n (1 ) . h2 x2 1 =
Felhasznlva a (11.3.95) sszefggst,
(11.3.100)
(11.3.101)
u(xi , t ) n + O( 2 ), t
u(xi , t ) n + O( 2 ). t
(11.3.102)
1 = O( 2 ).
Msrszt a szoksos Taylor-sorba fejtssel
(11.3.103)
u(xi + h, tn1 ) 2u(xi , tn1 ) + u(xi h, tn1 ) 2 u(xi , tn1 ) = + O(h2 ), h2 x2 2 u(xi , tn ) u(xi + h, tn ) 2u(xi , tn ) + u(xi h, tn ) = + O(h2 ). 2 h x2
Ezrt
2 =
(11.3.104)
tankonyvtar.bme.hu 369
11.
2 = 2 + (1 )2 )
azaz
2 = (1 2)
3 u(xi , t ) n + O( 2 + h2 ). tx2
A (11.3.99) jells gyelembevtelvel ekkor a (11.3.103) s a (11.3.106) kpletek a ttel lltst bizonytjk. Mindezek alapjn knnyen belthat a mdszer konvergencijrl szl albbi llts.
11.3.23. ttel.
A (11.3.90) felttel teljeslse esetn a (11.3.88) opertor s (11.3.89) jobb oldal, (11.3.29) egyenlettel denilt mdszer a maximumnormban konvergl a (11.3.28) feladat elegenden sima megoldshoz, s rendje
O( + h2 ),
ha
= 0.5, = 0.5.
O( 2 + h2 ),
ha
Bizonyts. Mivel a (11.3.28) feladat korrekt kitzs (lsd a 11.3.1. szakaszt), a maximumnormban konzisztens (lsd a 11.3.22. ttelt) s stabil (lsd a 11.3.20. kvetkezmnyt), ezrt lltsunk kzvetlenl kvetkezik a 11.2.8. ttelnkbl. .
1 (t) = 2 (t) = 0. Megtartva ezen szakasz eddigi, valamint a 11.3.4. szakasz yn RNx 1 , bn RNx 1 , 0, Eh R(Nx 1)(Nx 1) jellseit, illetve bevezetve a Dh = Eh + q Q s az Fh = Eh (1 )q Q R(Nx 1)(Nx 1) -beli tridiagonlis mtrix jellseket, a (11.3.48) egyenletben a mtrix ekkor az
tesszk, hogy a (11.3.23)-(11.3.25) feladatban a peremfelttelek homognek, azaz
Lh, = . . . 0 0 Nt
kvetkez:
Dh 0 Fh Dh
...
0 0
...
0 0
0 0
0 0
...
Dh F h Dh
... 0
0 0
(11.3.107)
b1 = f1, + Fh 0 ; bn = fn, , n = 2, 3, . . . , Nt . h h
370 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
11.4.
(11.3.109)
(11.3.110)
Dh
Befejezsl vegyk szre, hogy az ebben a szakaszban alkalmazott diszkretizcis mdszerek rendje a kvetkez:
a trbeli diszkretizci a szoksos msodrend vges dierencis kzelts volt, teht pontossg; az idbeli diszkretizci a
O(h2 )
-mdszer
= 0.5
Az sszetett mdszer pontossga teht ezen rendek sszegbl addik. gy magasabb rend trbeli illetve idbeli approximcival magasabb rendben konzisztens mdszerek llthatk el. Ugyanakkor az ilyen mdszerek stabilitsa (ami a konvergencihoz szksges) ltalban krdses, s ha igaz is, tbbnyire nehz megmutatni. Az elmleti rsz befejezseknt megjegyezzk, hogy terjedelmoi okok miatt nem foglalkozunk a msodrend hiperbolikus feladatok numerikus megoldsi mdszereivel. Ezek vizsglatai mdszere lnyegben megegyezik a parabolikus feladatok mdszerekkel, s gy az Olvas nhny meglv szakirodalom tanulmnyozsval (pl. [29, 23, 35]) nllan is elvgezheti.
(11.4.1)
egyenletet az inhomogn (els, avagy Dirichlet-fle) peremfelttellel az egysgngyzeten. Numerikus megoldsknt a vges dierencik 11.2.5. szakaszban ismertetett algorimust alkalmazzuk. Egy ekvidisztns rcshlt generlunk, s mindegyik irnyban ugyanannyi osztspontot jellnk ki. tankonyvtar.bme.hu 371
11.
Az elksztett poisson11.m m-fjl egyetlen bemen paramtere osztsrszek szma. Ugyancsak egyetlen kimen paramtere van, az numerikus kzeltst tartalmazza. A programban bell a Poisson-egyenletre deniljuk az feltteleket ler
y = 0, y = 1, x = 0
s az
x=1
A rutin a kvetkez:
function[uapprox] = poisson11(n) % a Poisson egyenlet megoldsa egysgngyzeten % inhomogn els peremfelttellel % % n: az egyetlen bemen adat, az egysgngyzet osztsrszeinek szma % (mindkt irnyban ugyanannyi) % uapprox: az egyetlen kimen paramter, a numerikus megolds a % rcspontokban % % A feladatot denil fggvnyek: jobb oldal: f % peremfelttelek a ngyzet odalain:(ux0,ux1,u0y,u1y) % a pontos megolds: u. f = inline('x2 + y 2 '); ux0 = inline('0'); ux1 = inline('0.5*x2 '); u0y = inline('sin(pi*y)'); u1y = inline('exp(pi)*sin(pi*y) + 0.5*y 2 '); u = inline('exp(pi*x)*sin(pi*y) + .5*(x2 )*(y 2 )'); % h = 1/n; N = (n 1)2 ; A = sparse(N,N); % az A mtrixot ritka mtrixknt kezeljk F = zeros(N,1); % A tovbbiakban felptjk az A mtrixot s az F jobb oldali vektort % % A mtrix felptse: A = -4*sparse(eye(N,N)); for j=1:n-1, for i=1:n-1, k = (j-1)*(n-1)+i; if j > 1, A(k,k-(n-1)) = 1; end; if j < n-1, A(k,k+(n-1)) = 1; end; if i > 1, A(k,k-1) = 1; end; if i < n-1, A(k,k+1) =1; end; end;end; A = (1/(h h))*A; % % F vektor felptse:
372 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
11.4.
for j=1:n-1, for i=1:n-1, k = (j-1)*(n-1)+i; xi = i*h; yj = j*h; F(k) = f(xi,yj); if j==1, F(k) = F(k) - (1/(h h))*ux0(xi); end; if j==n-1, F(k) = F(k) - (1/(h h))*ux1(xi); end; if i==1, F(k) = F(k) - (1/(h h))*u0y(yj); end; if i==n-1, F(k) = F(k) - (1/(h h))*u1y(yj); end; end;end; % % Az Ax = F egyenlet megoldsa uapprox = A\F ; % A pontos megolds kiszmolsa utrue = zeros(N,1); for j=1:n-1, for i=1:n-1, k = (j-1)*(n-1)+i; xi = i*h; yj = j*h; utrue(k) = u(xi,yj); end; end; display('l2 s a max. hiba') err2 = h*norm(utrue-uapprox), errinf = norm(utrue-uapprox,'inf ') % A pontos megolds, a numerikus megolds s a hiba ugrid = reshape(utrue,n-1,n-1); figure(1) mesh([h:h:(n-1)*h]',[h:h:(n-1)*h]',ugrid') title('A pontos megolds') pause apgrid = reshape(uapprox,n-1,n-1); figure(12) mesh([h:h:(n-1)*h]',[h:h:(n-1)*h]',apgrid') title('A kzelt megolds') pause errgrid = reshape(utrue-uapprox,n-1,n-1); figure(3) mesh([h:h:(n-1)*h]',[h:h:(n-1)*h]',errgrid') title('Hibafggvny')
kirajzolsa
A rutin a pontos megolds ismeretben a pontos megoldst, a kzelt megoldst s a hibt is kirajzolja. A vges dierencis lineris algebrai egyenletrendszerben az egytthatmtrixot ritka mtrixknt troljuk, s a rendszert a MATLAB beptett (s ltalban optimlis) utastsval oldjuk meg. Megjegyezzk, hogy a fenti programban a pontos megolds az
A\F
0.5x2 y 2
11.
szeren meg kell vltoztatnunk. Ha olyan feladatot oldunk meg, ahol a'priori nem ismerjk a megoldst, akkor a programbl a megfelel modulrszek (a pontos megolds s a hibafggvny brzolsa illetve kiszmolsa) kihagysra kerl.
megoldsa az egysgngy-
A programban szerepl fggvnyekkel vgeztnk nhny numerikus ksrletet. A pontos megolds a 11.4.1. brn lthat.
9
Klnbz felosztsokra nzzk meg a hibkat! s Az n = 5 esetre a numerikus megoldst s a hibafggvnyt n = 20 eseteket a 11.4.3. s a 11.4.4. brk mutatjk. Az a 11.4.2. bra mutatja. Az
n = 10
latilag megegyezik a pontos megoldssal. A 11.4.1. tblzatban sszefoglaltuk a szmtsainkat, megadva a felezd diszkretizcis lpskzk melletti maximumhibkat s a konvergenciarendet. (Mivel
ben megktszereztk, ezrt a hibnak negyedre kell cskkennie.) Mint az a harmadik sorbl kiolvashat, a gyakorlatiban a hibk hnyadosa ezzel lnyegben megegyezik. A mdszer MATLAB realizlsa sorn keletkezett szmtsi hibt jl jellemzi a kvetkez
u(x, y) = x + y lineris fggvny. (Ekkor a progf = 0, ux0 = x, ux1 = x+1, u0y = y s u1y = y +1.) Ebben az esetben a mdszer loklis approximcis hibja nulla. (Ugyanis a (11.2.52) szerinti h (xi , yj ) kifejezsben 2 a h -es vezet tag egytthatja M4 /6, s a mi esetnkben M4 = 0. Mivel minden magasabb
plda. Legyen a Poisson-feladat megoldsa az ramban rtelemszeren rend derivlt is eltnik, ezrt erre a pldra a vges dierencis approximci pontos.) A fenti lineris fggvnnyel vgeztnk nhny numerikus ksrletet. A pontos megolds a 11.4.6. brn lthat.
9 Mivel a megoldst a peremen ismerjk, s ott a hibafggvny nulla, ezrt a tovbbiakban tbbnyire csak a megoldsi tartomny belsejben brzoljuk a hibt illetve a megoldsfggvnyt.
374 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
11.4.
n=5
esetn.
n = 10
esetn.
n = 20
esetn.
tankonyvtar.bme.hu 375
11.
n = 80
esetn.
n eh
hnyados
5 2.3747e 001
11.4.1. tblzat. A Poisson-feladat vges dierencis megoldsnak hibja a maximumnormban s a hibk hnyadosa.
u(x, y) = x + y
megoldsa az egysgngyzeten.
n=5
11.4.
n=5
esetn.
n eh
5 4.4409e 016
20 4.4409e 016
40 6.6613e 016
80 2.2204e 015
u(x, y) = x + y
megolds tesztfeladatra.
16
tn is a numerikus megolds gyakorlatilag megegyezik a pontos megoldssal, s hiba csak a gpi szmtsok miatt keletkezik. Ezrt a rcshl nomitsval nem vrhat az eredmnyek tovbbi javulsa, st, a mveletek szmnak nvekedse miatt, azok romlsa vrhat. A 11.4.2. tblzatban sszegyjtttk a klnbz lpskzkhz tartoz maximumnorma-beli hibkat, s az eredmnyek altmasztjk ezt az elvrsunkat. (rtelemszeren a hibahnyadost nem szerepeltetjk a tblzatban.)
(11.4.2)
Mindkt irnyban egy-egy ekvidisztns rcshlt generlunk, s ezen a rcshln a (11.3.56) sma segtsgvel hatrozzuk meg a vges dierencis kzeltseket. Az elksztett m-fjl bemen paramterei a kvetkezk:
endx:
[0, endx]
11.
endt: N x:
[0, endt]
intervallumon
q : a (11.3.37) kpletben denilt /h2 hnyados. q 0.5 felttel volt, lsd a 11.3.5. ttelt.)
A kezdeti felttelt a programon bell az menzis
init
bdry
peremfelttel adott:
function u = heatexp(endx, endt, Nx,q) % % Az egydimenzis hvezetsi feladatot oldjuk meg % A program bemen adatai: % endx: a trbeli vltoz [0,endx]intervallumon vltozik % endt: az idvltoz [0,endt]intervallumon vltozik % Nx: a trbeli osztsrszek szma % q: az idbeli s a trbeli diszkretizcis lpskz ngyzetnek hmyadosa % (stabilitsi felttel: q 0.5) % A kt trbeli vgpontban els peremfelttel adott: u(x(1), t) = bdry(1), % A kezdeti fggvnyt az init fggvnyben deniljuk % x= linspace(0, endx, Nx); dx = (endx/Nx) % a lpskzk denilsa dt=(q*dx*dx) % Nt=x(endt/dt) t = linspace(0, endt, Nt); s = dt/(dx dx) % ellenrizzk a szabilitsi felttelt if s >0.5 'instabilits!' pause end % init = sin(x); % a kezdeti s a peremfelttel bdry=[0 0]; % J = length(t); N = length(x); u = zeros(N,J); u(:, 1) = init; for n = u(2:N-1,n+1) = s*(u(3:N,n) + u(1:N-2,n)) + (1 - 2*s)*u(2:N-1, n); u(1, n+1) = bdry(1); u(N, n+1) = bdry(2); end % az eredmnyek brzolsa apprgrid = reshape(u,N,J);
378 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK) bdry(2).
u(x(end), t) =
1:J-1
11.4.
figure(1) mesh([dx:dx:(N)*dx]',[dt:dt:(J)*dt]',apprgrid') title('a numerikus megoldsfggvny') pause % ha ismerjk a pontos megoldst, ide rjuk be! upontos=zeros(N,J); for i=1:N for n=1:J upontos(i,n)=exp(-t(n))*sin(x(i)); end end % hibamatrix=upontos-apprgrid; figure(3) mesh([dx:dx:(N)*dx]',[dt:dt:(J)*dt]',hibamatrix') title('hibafggvny')
A programban szerepl fggvnyekkel vgeztnk nhny numerikus ksrletet. A pontos megolds a 11.4.8. brn lthat.
u(x, t) = et sinx
megoldsa a
tartomnyon.
N x = 5 esetre a N x = 50 s az N x = 100
Az
numerikus megoldst s a hibafggvnyt a 11.4.9. bra mutatja. Az eseteket a 11.4.10. s 11.4.11. brk mutatjk.
A 11.4.3. tblzatban sszefoglaltuk a szmtsainkat, megadva a cskken diszkretizcs lpskzk melletti maximumhibkat. Vizsgljuk meg, mit jelent ugyanezen tesztfeladatra a Legyen mindvgig
q 0.5
N x = 50.
q = 0.5
11.
Nx = 5
esetn.
11.4.10. bra.
N x = 50
esetn.
N x = 100
esetn.
11.4.
eh 6.9396e 002 2.8868e 002 1.4592e 002 7.3599e 003 4.8875e 003 3.6761e 003 2.9340e 003 2.4490e 003 2.1014e 003 1.8355e 003
q = 0.5
esetn.
brt). Azonban
q = 0.51
meg-
vlaszts esetn mg ugyan korltos marad a numerikus megolds (lsd a 11.4.13. brt), de
q = 0.52
N x = 50
mellett a kritikus
q = 0.5
rtkhez kzeli
q = 0.51
hatnnk, hogy ez a megvlaszts is megengedhet. Az ezen esethez tartoz brt nzve (11.4.13. bra) azt ltjuk, hogy a numerikus megolds az idintervallum vgn (t meg a feladatot ugyanezen numerikus mdszerrel (N x azaz legyen most
Teht elkpzelhet, hogy az idintervallum nvelsvel tovbb romlik a megolds. Ezrt oldjuk
endt = 2
helyett
endt = 5!
lthat, a hiba gyakorlatilag nem marad korltos. Befejezsl nhny sz a MATLAB programrendszer sajt megold programjrl. A legltalnosabb a pdepe.m nev program. Ez a program numerikusan megoldja a
c x, t, u,
u x
u u = xm t x
xm f (x, t, u,
u u ) + s x, t, u, x x
(11.4.4)
tankonyvtar.bme.hu 381
11.
q = 0.51
esetn.
q = 0.52
esetn.
q 0.48 0.49 0.50 0.51 0.52 0.53 0.54 0.55 0.56 0.57
11.4.4. tblzat. rgztett
eh 1.4595e 002 1.4428e 002 1.4668e 002 2.1019e 002 1.1172e + 015 1.1020e + 029 2.3063e + 042 4.1650e + 054 4.7364e + 066 4.9813e + 077 q
fggvnyben,
N x = 50
11.4.
(0, ) (0, 5)
tartomnyon
q = 0.51
N x = 50
paramterek esetn.
egyenletet, ahol
c, f, s
pdepe(m,pdefun,icfun,bcfun,xmesh,tspan)
utastssal lehetsges, ahol az egyes bemen paramterek a kvetkezk.
a feladat trbeli tartomnynak szimmetrijt jellemz paramter. a parcilis dierencilegyenletben szerepl fggvnyek megadsra szolgl.
a kezdeti felttelt ler fggvny. a peremfeltteleket ler fggvny. megadjuk a trbeli vltoz szerinti rcspontokat az
vektor segtsg-
tspan: megadjuk az idbeli vltoz szerinti rcspontokat a [t0, t1, ..., tf ] vektor segtsgvel.
(Az
xmesh
tspan
3.)
tanulhatk a MATLAB "help" funkcijnak felhasznlsval, tovbb szmos ms knyvbl. A MATLAB nhny kidolgozott s a "help" funkcijban a forrskdjt is ismertet programmal rendelkezik (pdex1,pdex2,pdex3,pdex4,pdex5). Az rdekldknek javasoljuk ezek tanulmnyozst s megismerst. Javasoljuk a tovbbi MATLAB programokkal megismerkedni szndkozknak a kvetkez linkeket:
http://www.math.umd.edu/undergraduate/schol/matlab/pde.html, http://people.sc.fsu.edu/~jburkardt/f_src/fd1d_heat_implicit/fd1d_heat_implicit.html
tankonyvtar.bme.hu 383
11.
periodikus felttelek.
glatuk fontos. Az ilyen felttelek melletti hvezetsi egyenletet megold MATLAB programok, kidolgozott pldkkal megtallhatk az albbi linken:
http://www.math.toronto.edu/mpugh/Teaching/SamplePrograms/heat.html
11.5. Feladatok
Parcilis dierencilegyenletek 11.5.1. feladat. Hatrozzuk meg, hogy
R2
2 u(x, y) 2 u(x, y) +y = 0. 2 x y 2 a, b c
a(x, y)
(11.5.1)
2 u(x, y) 2 u(x, y) + = 0. x R, y 0 x2 y 2
egyenlet
u(x, 0) = 0, x R u(x, 0) = 0, x R t
384 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)
11.5.
Feladatok
felttelek megadsa esetn instabil feladat! (tmutats: Hasznljuk fel, hogy tetszleges
nN
esetn az
un (x, y) =
1 n2
cos(nx) sinh(ny)
fggvny!)
u(x, 0) = u0 (x)
kezdeti felttel s a
u(0, t) = u(l, t) = 0 x
peremfelttel esetn.
(x, y, z)
vltozkra a Laplace-egyenletet
R3 -ban! R2 -ben!
lltsuk el a
homogn, els peremfelttel feladat megoldst a vltozk sztvlasztsnak mdszervel. 11.5.8. feladat. Bizonytsuk be a maximumelvet a Laplace-egyenletre
a feladat vges dierencis approximcijt jelent lineris algebrai egyenletrendszert, amikor mindkt irnyban a numerikus megoldst az
Nx = Ny = 3 osztsrszt vesznk! Oldjuk meg a rendszert s hasonltsuk ssze u(x, y) = x2 ey pontos megoldssal.
2 u(x, y) 2 u(x, y) + =4 x2 y 2
egyenletet az
peremfelttellel! rjuk
fel a feladat vges dierencis approximcijt jelent lineris algebrai egyenletrendszert, amikor mindkt irnyban a numerikus megoldst az
Nx = Ny = 5 osztsrszt vesznk! Oldjuk meg a rendszert, s hasonltsuk ssze u(x, y) = x2 +y 2 pontos megoldssal. Elemezzk a kapott pontossgot!
tankonyvtar.bme.hu 385
11.
peremfelttellel. rjuk
fel a feladat vges dierencis approximcijt jelent lineris algebrai egyenletrendszert, amikor mindkt irnyban a numerikus megoldst az
Nx = Ny = 3 osztsrszt vesznk! Oldjuk meg a rendszert, s hasonltsuk ssze u(x, y) = x2 + y 2 pontos megoldssal!
11.5.14. feladat. Oldjuk meg a 11.5.10. feladatot a poisson11.m m-fjl segtsgvel! Ksztsnk tblzatot, amely az osztsrszek szma s a maximumnormabeli pontossg kztti kapcsolatot mutatja! brzoljuk a MATLAB segtsgvel ezt a kapcsolatot! 11.5.15. feladat. rjuk t a poisson11.m m-fjlt arra az esetre, amikor a megoldand egyenlet
x=0
oldal mentn
msodik peremfelttel van adva! Az j program segtsgvel oldjuk meg a 11.5.11. feladatot! 11.5.17. feladat. rjuk fel az egysgkrn kitztt Laplace-egyenlet vges dierencis megoldst az els peremfelttel esetn!
(0, 1) (0, 1)
tartomnyon a
u(x, 0) = ex ,
x [0, 1]
kezdeti s az
u(0, t) = et , x
irnyban
u(1, t) = e1+t , Nx = 3
t (0, 1]
peremfelttellel. rjuk fel a feladat explicit Euler-mdszeres vges dierencis approximcijt jelent lineris algebrai egyenletrendszert, amikor az megoldst az osztsrszt vesznk! Milyen idbeli felosztst vlaszthatunk? Oldjuk meg a rendszert, s hasonltsuk ssze a numerikus
u(x, t) = ex+t
pontos megoldssal.
11.5.19. feladat. rjuk fel a 11.5.18. feladat megoldst implicit Euler-mdszeres vges dierencis mdszerrel! Legyen ismt
Nx = 3.
u(x, t) = ex+t
pontos megoldssal!
11.5.20. feladat. Mdostsuk az heatexp.m nev m-fjlt gy, hogy explicit Euler-mdszerrel lltsa el a
u(x, t) 2 u(x, t) = f (x, t), (x, t) (0, endx) (0, endt) t x2 u(0, t) = bdry(1), u(endx, t) = bdry(2), t [0, endt] (0, 1) (0, 1)
tartomnyon a
egyenlet megoldst a
11.5.
Feladatok
egyenlet, az
u(x, 0) = x, x [0, 1]
kezdeti s az
peremfel-
11.5.21. feladat. Ksztsnk egy heatimp.m nev m-fjlt, amely az implicit Euler-mdszerrel lltja el az
kezdeti felttellel s az
kezdeti felttellel s az
-mdszerrel
lltja el
kezdeti felttellel s az
[0.47, 0.53]
rtkekre,
kezdeti s a
11.5.25. feladat. Vizsgljuk meg az explicit Euler-mdszer konvergencijt vltoz hosszsg id- s trbeli felosztsokra! ltalnostsuk vizsglatunkat a
-smra!
tankonyvtar.bme.hu 387
11.
Ellenrz krdsek
1. Mit neveznk parcilis dierencilegyenletnek? 2. Mi a szerepe a kiegszt feltteleknek? Mi a klnbsg a kezdeti felttel s a peremfelttel kztt? 3. Hogyan lehet opertoregyenletknt felrni a Laplace-egyenletet illetve a hvezetsi egyenletet a klnbz kiegszt felttelekkel? 4. Adja meg az explicit Euler-mdszer algoritmust! 5. Mutassa meg, hogy az explicit Euler-mdszer konvergens! 6. Hogyan rhat fel opertoregyenletknt az explicit Euler-mdszer? 7. Mikor neveznk egy numerikus mdszert konvergensnek? Mi a konzisztencia s a stabilits? Mi a kapcsolat kzttk? 8. Mi a kapcsolat az M-mtrixok s a numerikus smk stabilitsa kztt? 9. Hogyan mutathat meg a vges dierencis mdszer konvergencija a Laplace-egyenletre? 10. Mutassa meg, hogy az implicit Euler-mdszer konvergens! 11. Mutassa meg, hogy a
-mdszer
konvergens!
12. Ismertessk az explicit Euler-mdszer elnyeit s htrnyait! 13. Ismertessk az implicit Euler-mdszer elnyeit s htrnyait! 14. Ismertessk az CrankNicolson-mdszer elnyeit s htrnyait! 15. Milyen mdszerek esetn szksges lineris algebrai egyenletrendszert megoldani a hvezetsi feladat numerikus megoldsnl? Milyen tulajdonsg a rendszer mtrixa? 16. Mi a kapcsolat a rcsegyenletek s a lineris algebrai egyenletrendszerek kztt? 17. Milyen MATLAB programokat ismer az elliptikus feladatok megoldsra? 18. Milyen MATLAB programokat ismer a parabolikus feladatok megoldsra?
Trgymutat
A-norma, 89
A-konjuglt vektorok, 86 A-ortogonalits, 86 abszolt hiba, 44 abszolt hibakorlt, 44 Aitken-gyorsts, 141 alappont, 149 alappontpolinom, 151 bzis, 6 Banach-tr, 10 baricentrikus interpolcis formula, 153 baricentrikus slyok, 153 BauerFike-ttel, 107 belvses mdszer (shooting method), 291 hrmdszer, 292 intervallum-felez mdszer, 291 lineris feladat megoldsa, 294 Newton-mdszer, 293 szelmdszer, 292 blokkmtrix, 17 Cauchy-feladat, 217 Cauchy-sorozat, 10 Cholesky-felbonts, 70 Cramer-szably, 59 CrankNicolson-mdszer, 232 Csebisev-polinom, 163 denitsg, 18 deci, 114 Householder, 114 diagonalizlhatsg, 21 diszkrt Fourier-transzformci, 176 diszkrt maximumelv, 313 kvetkezmnyei, 314 egylpses mdszerek, 220, 225 ltalnos alak, 235 explicit, implicit, 235 konvergencia, 236 tesztfeladatra, 249 eltolt QR-iterci, 120 rintformula, 200 389 hrmdszer, 129 halad dierencia, 190 hasonl mtrixok, 21 HermiteFejr-interpolci, 165 Hermite-interpolci, 165 hermitikus mtrix, 16 felem, 61 felemkivlaszts rszleges, 68 teljes, 68 Faber-ttel, 158 FFT, 178 Fibonacci-sorozat, 136 xpont-iterci, 139 op, 51 Fourier-analzis, 176 Fourier-sor, 173 Fourier-szintzis, 176 Frobenius-norma, 14 gpi pontossg, 50 GaussCsebisev-kvadratra, 212 GaussLegendre-kvadratra, 212 GaussSeidel-iterci, 74 Gauss-eliminci, 59 Gauss-mdszer, 59 Gauss-transzformci, 61 geometriai mdszerek, 128 Gersgorin-ttel els, 20 msodik, 21 Givens-forgats, 95 globlis approximcis hiba, 237 globlis polinominterpolci, 149 gradiens-mdszer, 84 GramSchmidt-ortogonalizci, 14 Green-fggvny, 290 gyors Fourier-transzformci, 178 euklideszi tr, 14 Euler-mdszer explicit, 226 implicit, 231
Trgymutat
hibaegyenlet, 345 hibafggvny, 283, 344 hibakorlt, 44 Hilbert-mtrix, 57 Householder-deci, 114 Householder-tkrzs, 94 indenit mtrix, 18 induklt norma, 12 ingamdszer, 64 interpolci, 149 trigonometrikus, 173 interpolcis feladat, 149 interpolcis hiba, 157 interpolcis kvadratraformula, 197 interpolcis polinom, 149 intervallumfelezsi mdszer, 128 inverz diszkrt Fourier-transzformci, 176 inverz iterci, 112 iterci konzisztens, 72 Jacobi-iterci, 74 Jacobi-mdszer mdostott, 118 kzponti dierencia, 191 karakterisztika, 48 karakterisztikus egyenlet, 19 karakterisztikus polinom, 19 kezdetirtk-feladat (Cauchy-feladat), 217 megoldhatsg, unicits, 218 kiegyenslyozott trigonometrikus polinom, 174 kiegyszersds, 50 kondciszm, 56 abszolt, 47 relatv, 47 konvergencia, 344
Lagrange-fle alappolinom, 151 lebegpontos szmbrzols, 48 legkisebb ngyzetek rtelemben legjobb kzelts, 180 lineris sszefggsg, 6 lineris egyenletrendszer tlhatrozott, 96 lineris fggetlensg, 6 lineris kombinci, 6 lineris opertor, 12 Lipschitz-felttel, 219 loklis approximcis hiba (kplethiba), 236 LU-felbonts, 65 ltalnos mtrixokra, 68 m-fjlok, 35 M-mtrix, 27, 311 msodrend kzponti dierencia, 191 mtrix -ok hasonlsga, 21 hermitikus, 16 Hilbert, 57 indenit, 18 kondciszma, 56 pozitv denit, 18 szimmetrikus, 16 mtrixnorma, 8 mtrixok diagonalizlhatsga, 21 mrsi hiba, 43 mdostott Jacobi-mdszer, 118 mantissza, 48 Marcinkiewicz-ttel, 159 MATLAB, 35 Matlab programok a Cauchy feladatokra, 265 maximumelv elliptikus, 341 parabolikus, 352 megoldfggvny, 47 Merev rendszerek s numerikus megoldsuk, 262 modellalkots, 41 modellhiba, 43 nvekedsi faktor, 70 ngyzetes mtrixok, 16 NewtonCotes-egytthatk nylt, 200 zrt, 198 NewtonCotes-formulk, 197
p-ed
rend, 344
konvergencia, konvergencia rendje, 237 konvergenciarend, 31 konzisztencia, 345 konzisztencia, konzisztencia rendje, 236 konzisztens iterci, 72 kvadratraformula, 197 konvergenciarendje, 197 nylt, 197 pontossgi rendje, 197 zrt, 197 lpstvolsg-dilemma, 193
Trgymutat
Newton-fle osztott dierencik, 155 Newton-mdszer, 136 tbbvltozs, 146 normlalak, 48 normlegyenlet, 97 normlis mtrix, 22 normlt tr, 7 norma, 7 induklt, 12 mtrix, 8, 12 vektor, 7 nullmtrix, 16 numerikus derivls, 189 numerikus integrls, 195 numerikus megolds, 344 elliptikus egyenlet vges dierencis sma, 346 hvezetsi egyenlet
rszleges felemkivlaszts, 68 Rayleigh-hnyados, 109 Rayleigh-hnyados iterci, 113 regulris felbonts, 78 relatv hiba, 44 relatv hibakorlt, 44 retrogrd dierencia, 190 Richardson-extrapolci, 34 ritka mtrixok, 72 Romberg-mdszer, 209 Runge-Kutta tpus mdszerek, 239
m-lpcss,
244
Butcher-tblzat, 243 diagonlisan implicit, 248 harmadrend, 244 Heun-mdszer, 240 implicit mdszerek, 247 konzistencia felttele, 246 msodrend, 240, 241 negyedrend, 246 svmtrix, 16
-sma,
364
hvezetsi egyenlet explicit sma, 354 hvezetsi egyenlet implicit sma, 359 nylt halmaz, 9 opertoregyenlet, 342, 343, 353 ord jells, 33 ortogonlis mtrix, 17 ortogonlis vektorrendszer, 14 ortonormlt vektorrendszer, 14 sszetett trapzformula, 203 osztott dierencik, 155 parcilis dierencilegyenlet, 335 hvezetsi egyenlet, 335 kezdeti felttel, 337 Laplace-egyenlet, 335 osztlyozs, 336 peremfelttel, 337 peremrtk-feladat, 280 egyrtelmsg, 287 lineris, 288 megoldhatsga, 286 pozitv denit mtrix, 18 QR-iterci eltolt, 120 rcsfggvny, 281 rcsfggvny , 343 rcshl, 343 elliptikus, 343 parabolikus, 353
svszlessg, 16 sajtrtk, 18 sajtrtk-feladatok, 107 sajtpr, 18 sajtvektor, 18 Schur-felbonts, 23 Simpson-formula, 198 skalris szorzat, 14 sorozat konvergenciarendje, 31 spektrlsugr, 20 spline-interpolci, 167 stabilits
-mdszer
korltja, 365
explcit sma korltja, 355 numerikus mdszer stabilitsa, 345 stacionrius heloszls homogn vezetkben, 319 MATLAB program belvses mdszer, 321 MATLAB program vges dierencia mdszer, 324 szelmdszer, 133 szimmetrikus mtrix, 16 tbblpses mdszerek, 252 ltalnos alak, 253 Adams-tpus mdszerek, 258 kezdeti kzeltsek megvlasztsa, 257 tankonyvtar.bme.hu 391
Trgymutat
rendje, 253 retrogrd dierencia mdszerek, 261 tvolsg, 8 tlhatrozott egyenletrendszer, 96 Taylor-mdszer, 221 globlis, 223 loklis, 221 teljes felemkivlaszts, 68
-mdszer,
226
Thomas-algoritmus, 64 trapzformula, 198 trigonometrikus interpolci, 173 trigonometrikus polinom, 173 kiegyenslyozott, 174 trigonometrikus sor, 173 unitr mtrix, 17 vltozk sztvlasztsa, 339, 350 vges dierencik mdszere, 281, 296 ltalnos alak egyenlet approximcija, 297 alapttel, 285 konvergencia, 283 konvergencia lineris feladatokra, 300, 302, 303 konvergencia rendje, 284 konzisztencia, 285 lineris feladatok ltalnos vizsglata, 305 megoldhatsg, 282 perempont, 281 rcshl, 281 stabilits, 285 vektornorma, 7 vektorok tvolsga, 8 vektortr, 5 Vite-formulk, 19 zrt halmaz, 9
Irodalomjegyzk
[1] Asher, U., Petzold, L. Computer Methods for Ordinary Dierential Equations. SIAM, Philadelphia, 1998. [2] Benoit, Note sur une mthode de resolution des quations normales provenant de
l'application de la mthode des moindres carrs a un systeme d'quations lineaires en nombre inferieure a celui des inconnues, Application de la mthode a la resolution d'un systeme deni d'quations lineaires (Procede du Commandant Cholesky), Bulletin godesique,1924. [3] [4] Serge Bernstein, Quelques remarques sur l'interpolation, Math. Ann. 79 (1918), 112. Jean-Paul Berrut, Lloyd N. Trefethen, Barycentric Lagrange interpolation, SIAM Review 46(4) (2004) 501517. [5] Bruce, G.H., Peaceman, D.W., Rachford, H.H., and Rice, J.D., Trans. Am. Inst. Min. Engrs (Petrol Div.) 198(79) (1953). [6] Kurt Bryan, Tanya Leise, The $25,000,000,000 eigenvector The linear algebra behind Google, [7]
http://www.rose-hulman.edu/~bryan/googleFinalVersionFixed.pdf.
Coddington, E. A., Levinson, N. Theory of dierential equations. New York, McGraw-Hill, 1955.
[8]
Cooper, Jeery M. Introduction to Partial Dierential Equations with MATLAB (in Series: Applied and Numerical Harmonic Analysis), Birkhuser, Boston, 1998.
[9]
Czch L, Simon L. Parcilis dierencilegyenletek, ELTE egyetemi jegyzet, Tanknyvkiad, Budapest, 1980.
[10] J. W. Daniel, The conjugate gradient method for linear and nonlinear operator equations, SIAM J. Numer. Anal., 4 (1967), pp. 1026. [11] Erds P., Vrtesi P.: On the almost everywhere divergence of Lagrange interpolation polynomials for arbitrary systems of nodes, Acta Math. Acad. Sci. Hungar. 36 (1980), 7189. [12] Galntai A., Jeney A.: Numerikus mdszerek, Miskolci Egyetemi Kiad, 2002. [13] David Goldberg, What Every Computer Scientist Should Know About Floating-Point Arithmetic, Computing Surveys, 1991.
http://docs.sun.com/source/806-3568/ncg_goldberg.html.
[14] Jacques Hadamard, Sur les problemes aux drives partielles et leur signication physique. Princeton University Bulletin, (1902), 4952. [15] P. Henrici, Numerikus mdszerek, Mszaki Knyvkiad, Budapest, 1985. [16] Steve Hollasch, IEEE Standard 754 Floating Point Numbers.
http://steve.hollasch.net/cgindex/coding/ieeefloat.html
393
Irodalomjegyzk
http://babbage.cs.qc.cuny.edu/IEEE-754/Decimal.html.
[18] Gene H. Golub, Charles van Loan, Matrix Computations, The Johns Hopkins University Press 1996. [19] W. Kahan, GaussSeidel methods of solving large systems of linear equations, Doctoral Thesis, University of Toronto, Toronto, Canada, 1958. [20] Kincaid, D, Cheney, W. Numerical Analysis. Mathematics of Scientic Computing,American Mathematical Society, 2009. [21] Knabner, P., Angermann, L. Numerical Methods for Elliptic and Parabolic Partial Dierential Equations, Texts in Applied Mathematics 44, Springer, Ney-York, 2003. [22] M. M. Lavrent'ev, V. G. Romanov, S. P. Shishatski', Ill-posed problems of mathematical physics and analysis, translated by J. R. Schulenberger, Translations of Mathematical Monographs, vol. 64, American Mathematical Society, Providence, R. I., 1986. [23] LeVeque, Randall J. Finite Dierence Methods for Ordinary and Partial Dierential Equations. Steady State and Time Dependent Problems, SIAM, Philadelphia 2007. [24] J. Marcinkiewicz, Sur l'interpolation, Studia Math., 6 (1936), pp. 1-17. [25] Cleve Moler, Numerical Computing with MATLAB, SIAM, 2004 (http://www.mathworks.com/moler/chapters.html).
[26] A.M. Ostrowski, On the linear iteration procedures for symmetiric matrices, Rend. Mat. Appl. 14 (1954) 140163. [27] E. Reich, On the convergence of the classical iterative method of solving linear simultaneous equations, Ann. Math. Statist. 20 (1949) 448451. [28] C. Runge, ber empirische Funktionen und die Interpolation zwischen quidistanten Ordinaten, Zietschrift fr Mathematik und Physik, 46 (1901), 224243. [29] Quarteroni, Sacco, Saleri, Numerical Mathematics, Springer, 2000 (jabb kiads 2007-ben). [30] Simon L., Baderko E. A. Msodrend lineris parcilis dierencilegyenletek, Tanknyvkiad, Budapest, 1983. [31] Simon P., Tth J. Dierencilegyenletek. Bevezets az elmletben s az alkalmazsokba. TypoTech, Budapest, 2005. [32] Stephenson, G. Partial Dierential Equations for Scientists and Engineers, Longman, London-New-York, 1986. [33] Stoyan Gisbert, Matlab - frisstett kiads, Typotex Kiad, 2005. [34] Stoyan G., Tak G. Numerikus mdszerek 2., TypoTeX, Budapest, 1995. [35] Stoyan Gisbert, Tak Galina: Numerikus mdszerek 3., TypoTex Kiad, Budapest, 1997. [36] L.H. Thomas, Elliptic problems in linear dierence equations over a network, Watson Sci. Comput. Lab. Rept., Columbia University, New York, 1949. [37] Horst Zuse, The Life and Work of Konrad Zuse.
http://www.epemag.com/zuse/.
Irodalomjegyzk
http//www.cs.utah.edu/~zachary/isp/applets/FP/FP.html
einer reellen Vernderlichen, Sitzungsberichte der Kniglich Preussischen Akademie der Wissenschaften zu Berlin, Erste Mitteilung (1885) 633639.
tankonyvtar.bme.hu 395
Tartalomjegyzk
1. Elismeretek
1.1. Vektorterek 1.1.1. 1.1.2. 1.1.3. 1.2. 1.2.1. 1.2.2. 1.2.3. 1.2.4. 1.3. 1.3.1. 1.3.2. 1.4. 1.5. 1.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Vals s komplex vektorterek Normlt terek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Euklideszi terek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mtrixok sajtrtkei s sajtvektorai Diagonalizlhatsg Normk s sajtrtkek
5
5 5 7 14 16 18 21 24 27 29 29 32 35 36 38
Mtrixok
Fggvnyek konvergenciavizsglata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Modellalkots s hibaforrsai
2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. Modellalkots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A modellalkots hibaforrsai Feladatok kondicionltsga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A hiba mrse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gpi szmbrzols s kvetkezmnyei . . . . . . . . . . . . . . . . . . . . . . . . . A fejezettel kapcsolatos MATLAB parancsok Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
41 42 44 45 47 52 52
55
55 56 59 65 67 67 68 70 72 74 74 76 78 81 81
Lineris egyenletrendszerek klasszikus itercis megoldsa . . . . . . . . . . . . . . GaussSeidel-iterci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relaxcis mdszerek Itercis mdszerek konvergencija . . . . . . . . . . . . . . . . . . . . . . . Lellsi felttelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Varicis mdszerek
Tartalomjegyzk
Gradiens-mdszer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84 85 91 92 94 96 97 98 98
Konjuglt gradiens-mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . QR-felbonts Householder-tkrzsekkel . . . . . . . . . . . . . . . . . . . . QR-felbonts Givens-forgatsokkal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Megolds a normlegyenlet segtsgvel Megolds a QR-felbonts segtsgvel
A QR-felbonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
107
. . . . . . . . . . . . . . . . . . . . . 108
Sajtrtk-feladatok kondicionltsga . . . . . . . . . . . . . . . . . . . . . . . . . . 107 A hatvnymdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Rayleigh-hnyados iterci Decis eljrsok Rangdeci
Householder-deci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 . . . . . . . . . . . . . . . . . . . . . . . . 115 Blokk hromszgmtrix deci 4.3. 4.3.1. 4.3.2. 4.4. 4.5. A Jacobi-mdszer
A sajtrtkeket egyszerre kzelt eljrsok . . . . . . . . . . . . . . . . . . . . . . 115 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . . . . . . . . . . . . . . . . . . . . . . . . . . 121 QR-iterci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
125
Nemlineris egyenletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Nemlineris egyenletek megoldsnak kondicionltsga . . . . . . . . . . . . 127 Geometriai mdszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Intervallumfelezsi mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Hrmdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Szelmdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Newton-mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6. Interpolcis feladatok
6.1. Globlis polinominterpolci 6.1.1. 6.1.2. 6.1.3. 6.2. 6.3. 6.4.
149
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Az interpolcis polinom Lagrange-fle ellltsa . . . . . . . . . . . . . . . 150 A baricentrikus interpolcis formula . . . . . . . . . . . . . . . . . . . . . . 153 Az interpolcis polinom ellltsa Newton-fle osztott dierencikkal . . . 154
Az interpolcis hiba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Interpolci Csebisev-alappontokon . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Hermite-interpolci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 tankonyvtar.bme.hu 397
Tartalomjegyzk
6.5.
Kzelts legkisebb ngyzetek rtelemben . . . . . . . . . . . . . . . . . . . . . . . . 180 Interpolcis feladatok megoldsa a MATLAB-ban . . . . . . . . . . . . . . . . . . 183 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
6.10. Feladatok
7. Numerikus derivls
7.1. 7.2. 7.3. 7.4. 7.5. 7.6. Az els derivlt kzeltse A msodik derivlt kzeltse
189
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
8. Numerikus integrls
8.1. 8.2. 8.3. A numerikus integrls alapfeladata
195
. . . . . . . . . . . . . . . . . . . . . . . . . . 195
NewtonCotes-fle kvadratraformulk . . . . . . . . . . . . . . . . . . . . . . . . . 197 sszetett kvadratraformulk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 8.3.1. 8.3.2. 8.3.3. sszetett trapzformula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 sszetett rintformula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 sszetett Simpson-formula
Romberg-mdszer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 . . . . . . . . . . . . . . . . . . . 213
217
A kznsges dierencilegyenletek kezdetirtk-feladata . . . . . . . . . . . . . . . 217 Taylor-sorba fejtses mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Nhny nevezetes egylpses mdszer Az explicit Euler-mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Az implicit Euler-mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 A CrankNicolson-mdszer 9.3.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Az ltalnos alak egylpses mdszerek alapfogalmai s pontbeli konvergencija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Az egylpses mdszerek pontbeli konvergencija . . . . . . . . . . . . . . . 236
9.4.
. . . . . . . . . . . . . . . . . . . . . . . . . . . 239
A msodrend RungeKutta tpus mdszerek . . . . . . . . . . . . . . . . 240 A magasabb rend RungeKutta tpus mdszerek . . . . . . . . . . . . . . 243 Az implicit Runge-Kutta tpus mdszerek . . . . . . . . . . . . . . . . . . 247 Az egylpses mdszerek egy tesztfeladaton . . . . . . . . . . . . . . . . . . 249 A lineris tbblpses mdszer ltalnos alakja s rendje . . . . . . . . . . . 253 A kezdeti rtkek megvlasztsa s a mdszer konvergencija . . . . . . . . 257
9.5.
Tartalomjegyzk
Adams-tpus mdszerek
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 . . . . . . . . . . . . . . . . . . . . . . . . 261
A lineris s a merev rendszerek numerikus megoldsa . . . . . . . . . . . . . . . . 262 A kezdetirtk-feladatok numerikus megoldsa MATLAB segtsgvel . . . . . . . . 265 Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
279
. . . . . . . . . . . . . . . . . 281 . . . . . . . . . 282
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
10.2.1. A vges dierencis sma felptse . . . . . . . . . . . . . . . . . . . . . . . 281 10.2.2. A vges dierencis sma megoldhatsga s tulajdonsgai 10.2.4. sszefoglals 10.2.3. A vges dierencis mdszer konvergencija . . . . . . . . . . . . . . . . . . 283 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 10.3. A kznsges dierencilegyenletek peremrtk-feladatnak megoldhatsga . . . . 286 10.3.1. A lineris peremrtk-feladat megoldhatsga . . . . . . . . . . . . . . . . . 288 10.4. A peremrtk-feladat numerikus megoldsa Cauchy-feladatra val visszavezetssel . 290 10.4.1. A belvses mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 10.4.2. Lineris peremrtk-feladatok numerikus megoldsa . . . . . . . . . . . . . 294 10.5. A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel . . . . . 296 10.5.1. Vges dierencis approximci . . . . . . . . . . . . . . . . . . . . . . . . . 296 10.5.2. Az ltalnos alak peremrtk-feladat megoldsa a vges dierencik mdszervel szervel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 . . . . . . . . . . . . . . . . 311 10.5.3. A lineris peremrtk-feladatok approximcija a vges dierencik md10.5.4. A lineris peremrtk-feladatok numerikus megoldsnak ltalnos vizsglata305 10.5.5. A lineris peremrtk-feladatok M-mtrixokkal 10.5.6. A diszkrt maximumelv s kvetkezmnyei . . . . . . . . . . . . . . . . . . 313 . . . . . . . . 319
10.6. A peremrtk-feladatok numerikus megoldsa MATLAB segtsgvel . . . . . . . . 319 10.6.1. A modellfeladat: stacionrius heloszls homogn vezetkben 10.6.2. A tesztfeladat numerikus megoldsa MATLAB segtsgvel 10.7. Feladatok . . . . . . . . . 321
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
335
. . . . . . . . . . . 338 . . . . . . . . . . 338 . . 342
11.2.2. Elliptikus egyenletek kzelt megoldsa vges dierencik mdszervel 11.2.4. Az elliptikus feladatok numerikus kzeltsnek konvergencija
. . . . . . . . . . . . . . . . . . . . . . . . 344 . . . . . . . 346
11.2.5. A numerikus mdszer realizlsnak algoritmusa . . . . . . . . . . . . . . . 348 11.3. Lineris, msodrend, parabolikus parcilis differencilegyenletek . . . . . . . . . . 349 11.3.1. Az egydimenzis hvezetsi egyenlet analitikus megoldsa . . . . . . . . . . 350 11.3.2. A hvezetsi feladat numerikus megoldsa vges dierencik mdszervel . 352 11.3.3. A vges dierencis kzelts konvergencija . . . . . . . . . . . . . . . . . . 354 11.3.4. A numerikus mdszer realizlsnak algoritmusa . . . . . . . . . . . . . . . 357 11.3.5. Egy msik vges dierencis sma s vizsglata . . . . . . . . . . . . . . . . 359 11.3.6. ltalnosts s magasabb rend mdszerek . . . . . . . . . . . . . . . . . . 362 11.4. A parcilis dierencilegyenletek numerikus megoldsa MATLAB segtsgvel . . . 369 11.4.1. A Poisson-egyenlet megoldsa els (Dirichlet-fle) peremfelttellel . . . . . . 369 11.4.2. A hvezetsi egyenlet megoldsa vges dierencik mdszervel . . . . . . . 375 tankonyvtar.bme.hu 399
Tartalomjegyzk
11.5. Feladatok
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381