You are on page 1of 400

Farag Istvn Horvth Rbert

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.

Budapest, 2011. janur

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.

x + y = y + x, x, y V , (x + y) + z = x + (y + z), x, y, z V , o V , x + o = x, x V , x V , V , x + x = o, x 1 x = x, x V , (x + y) = x + y , x, y V , K, ( + )x = x + x, x V , , K, (x) = ()x, x V , , K.

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

x V vektort az x1 , . . . , xk V vektorok lineris kombincijnak 1 , . . . , k K konstansok, hogy x = 1 x1 + + k xk .

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

x1 , . . . , xk V vektorrendszert linerisan fggetlennek mondjuk, ha az 1 x1 + +k xk = o i = 0 (i = 1, . . . , k) kvetkezik. Vgtelen sok vektorbl ll vektorrendszert

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

hvunk, ha linerisan fggetlen, s

minden

eleme elllthat a vektorrendszer elemeinek lineris kombincijaknt.

Bzisvektorok lineris kombincijaknt minden fel. Ha zija.

V -nek

van vges sok elembl ll bzisa, akkor

V -beli vektor pontosan egyflekppen rhat V -t vges dimenzis vektortrnek hvjuk.

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

1.1.2. Normlt terek


1.1.6. denci.
A

(V, ) prt normlt trnek hvjuk, ha V


1. 2. 3.

egy vektortr, s

: V R egy adott fggvny,

n. norma, az albbi tulajdonsgokkal:

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-

gljuk ugyanis egy tetszleges

elem esetn az

x x)

rtket! A norma msodik s harmadik

tulajdonsgt felhasznlva azt kapjuk, hogy

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

norma a vektor szoksos hossza. vektor esetn a normt pl. az

Kn

vektortr, ha egy

x = [x1 , . . . , xn ]T x
p

|x1 |p + + |xn |p

kplettel rtelmezzk

p = 1, 2, . . .

esetn. A leggyakrabban hasznlt normk ezek kzl az

1-es vagy oktadernorma

x x

= |x1 | + + |xn |

s a 2-es vagy euklideszi norma

|x1 |2 + + |xn |2 , -nel


jellt maximumnorma

valamint a

hatrtmenettel nyert,

x
A

= max{|x1 |, . . . , |xn |}.

Kn

vektortren megadott normkat vektortr, ha a normt pl. az

vektornormknak

hvjuk.

C[a, b]

C[a,b]

= max {|f (x)|}


x[a,b]

mdon rtelmezzk (maximumnorma), amely tulajdonkppen a fggvnygrakon mrt legnagyobb eltrsnek nagysgt adja meg.

x-tengelytl

tankonyvtar.bme.hu 7

1.

Elismeretek

Kmn

vektortr, ha a normt egy

A = [aij ] Kmn
i=1,...,m; j=1,...,n

mtrix esetn az

A =
kplettel rtelmezzk. A

max

{|aij |}

Kmn

vektortren megadott normkat

mtrixnormknak

hvjuk. Ksbb majd ltni fo-

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.

A tvolsg elnevezs jogossgt az albbi ttel mutatja.

1.1.9. ttel.
A fent denilt tvolsgra teljeslnek az albbi tulajdonsgok: 1. 2. 3.

x y 0, x, y (V, ), x y = 0 x = y , x y = y x , x, y (V, ), x y x z + z y , x, y, z (V, ) (hromszg-egyenltlensg).

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.

Bizonyts. Alkalmazzuk ktflekppen a hromszg-egyenltlensget:

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

y x y x , a msikbl pedig hogy x y y x y x alakba rva a kt egyenlsg egyttesen

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

vals szmsorozat nullhoz tart. Jells:

x (V, ) xk x.

elemhez (konvergens), ha

Az telm.

vektort a sorozat hatrrtknek hvjuk. Knnyen igazolhat, hogy a hatrrtk egyr-

8 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

V vektortren rtelmezett s c1 , c2 > 0 konstansok, melyekre c1 x x

normkat ekvivalensnek nevezzk, ha vannak

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

vektor egyrtelmen rhat fel

x=

fggvny normt denil (1.6.10. feladat). Legyen

egy tetszleges norma az adott

vektor-

tren. A ttel igazolshoz elegend megmutatnunk, hogy Legyen

ekvivalens normk, mert a

normk tranzitivitsa miatt gy brmely kt norma ekvivalens lesz.

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 =

szorosval. Az als becslshez tekintsk az euklideszi normval elltott

2 ) R, f () = f (1 , . . . , n ) = ugyanis az 1.1.10. ttel alapjn tetszleges


esetn

f : (K ,

k vk fggvnyt. Ez a fggvny folytonos, = (1 , . . . , n ), = (1 , . . . , n ) Kn vektorok


n

n k=1

Kn

teret, melyen deniljuk az

|f () f ()| =
k=1
Mivel az

k vk
k=1

k v k

(k k )vk c2 2 .
k=1

fggvny teht folytonos, gy a

G = { Kn |
nyilvnvalan nagyobb nullnl, hiszen klnben a

= 1} f
. Az

korltos s zrt gmbhjon van legkisebb rtke. Legyen ez a legkisebb rtk

rtk

v1 , . . . , v n

vektorok nem lennnek fggetlenek. tankonyvtar.bme.hu 9

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

{xk } (V, ) sorozat Cauchy-sorozat, ha minden > 0 xn xm < minden n, m M esetn.

szmhoz van

1.1.16. ttel.
Minden

(V, )

normlt trbeli konvergens sorozat Cauchy-sorozat.

A ttel megfordtsa nem igaz.

1.1.17. denci.
Azt mondjuk, hogy a

(V, ) normlt tr Banach2 -tr

, ha minden

(V, )-beli Cauchy-sorozat

konvergens sorozat is egyben.

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.

1.1.18. ttel. (Banach-fle xpontttel)


Legyen mellyel

(V, )

egy Banach-tr, s

H (V, )

egy tetszleges nem res zrt rszhalmaz.

Tegyk fel, hogy az

F :H H

lekpezs kontrakci, azaz van olyan

0q<1

vals szm,

F (x) F (y) q x y
brmely

x, y H

elemek esetn. elem, mellyel

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 )

mdon ellltott sorozat

-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

Bizonyts. Tekintsk egy tetszleges tulajdonsg miatt

x0 H

elem esetn az

xk+1 = F (xk )

rekurzival de-

nilt sorozatot, melynek nyilvnvalan mindegyik eleme

H -ban

tallhat. Ekkor a kontrakcis

xk+1 xk = F (xk ) F (xk1 ) q xk xk1 . . . q k x1 x0 .


Tetszleges kt

n>m

termszetes szm esetn

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

j vlaszts. Mivel Banach-terekben minden Cauchy-sorozat konvergens, ezrt ltezik olyan

(V, ),
xpontja

melyre

F -nek.

xk x . H zrtsga miatt x H is igaz. Ha x1 = x0 , akkor ez nyilvnval. Mivel

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

ami nyilvn csak gy lehet (q tartunk az (1.1.2) becslsben. A ttelben termszetesen

< 1),

x =x

, ami ellentmonds.

Az llts harmadik rszben szerepl becsls gy igazolhat, hogy az

lehet a teljes

(V, )

normlt tr is. Vegyk szre, hogy a ttel

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

konstanssal ad fels becslst arra, hogy a sorozat

m-edik

eleme milyen messze van a

hatrrtktl. Vegyk szre azt is, hogy az xpont tetszleges

{xk }

sorozat kezdeleme tetszleges volt, gy az

H -beli

kezdelemrl indul itercis sorozat hatrrtkeknt elllthat.

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

F : (V1 , ) (V2 , ) lekpezs korltos, F (x) K x minden x (V1 , ) esetn.

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 ,

lineris opertor vektortert,

ahol a mveleteket az

(L1 + L2 )(x) = L1 (x) + L2 (x), (L)(x) = L(x)


mdon rtelmezzk.

1.1.23. ttel.
Az

L := sup
x=o

L(x) x B(V1 , V2 )
vektortren, gy

(a korltossg miatt jl denilt) hozzrendels normt ad meg a

B(V1 , V2 )

normlt tr. (Ha

V2

Banach-tr, akkor

B(V1 , V2 )

is Banach-tr.)

Alkalmazzuk az elz ttelt az ahol

AK

L : (Kn ,

) (Km ,

mn

. A normk ekvivalencija miatt (1.1.14. ttel) az

), L(x) = Ax lineris lekpezsre, L lekpezs folytonos, azaz

korltos. Ekkor az elz ttelt alkalmazva az

A := L = sup
induklt normknak

x=0

Ax x

(1.1.3)

hozzrendels mtrixnormt ad meg. A vektornormkbl a fenti kplettel szrmaztatott mtrixnormkat hvjuk.

1.1.24. ttel.
Tegyk fel, hogy a

Kn

Km

normlt terekben is ugyanazt a vektornormt hasznljuk. Ekkor

a korbban megismert vektornormk az albbi mtrixnormkat indukljk:

Oktadernorma (p

= 1): A

= maxj=1,...,n

m i=1

|aij |
n j=1

(oszlopsszegnorma), (sorsszegnorma),

Maximumnorma (p

= ): A = 2): A

= maxi=1,...,m = (AH A),

|aij |
az

Euklideszi norma (p

ahol

mtrix spektrlsugara, s

az

A mtrix transzponlt konjugltja.

12 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.1.

Vektorterek

Bizonyts. Alkalmazzuk az (1.1.3) kpletet a mtrixnormra. Oktadernorma: Legyen

A Kmn egy adott mtrix s x Kn egy tetszleges vektor. Ekkor


m n n m n m

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 |

ami mutatja, hogy

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

egysgvektort jelli, azaz azt az

elem vektort, melynek

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

megegyezik a ftlban lv legnagyobb

1.1.27. ttel.
Tegyk fel, hogy a

Kn -beli .
m

v vektornorma a

Knn -beli

m mtrixnormt induklta. Ekkor

igazak az albbi tulajdonsgok

Ax
Az

v minden

x Kn

vektor s

A Knn

mtrix esetn (konzisztencia

tulajdonsg),

E egysgmtrixra E
m

= 1,

AB

m minden

A, B Knn

mtrixok esetn (szubmultiplikativitsi

tulajdonsg).

tankonyvtar.bme.hu 13

1.

Elismeretek

Az

A = maxi,j {|aij |}

kplettel adott mtrixnorma nem induklt norma. Az

2 i,j |aij | n. Frobenius-norma sem induklt norma.

1.1.3. Euklideszi terek


1.1.28. denci.
A

(V, ., . )
1. 2. 3.

prt

euklideszi trnek hvjuk, ha V


minden

egy vektortr, s

., . : (V V ) K

egy adott

fggvny, n. skalris szorzat, az albbi tulajdonsgokkal:

x, y = y, x

x, y V

esetn (a

flhzs a komplex konjuglst jelenti), esetn,

x, y = x, y x, x > 0,

, minden

x, y V, K
esetn.

minden

o=xV

Tekintsnk kt fontos pldt euklideszi trre.

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

mtrixok, melyek egyetlen eleme ppen a skalris szorzat rtke.

f, g =
a

s(x)f (x)g(x) dx

(1.1.4)

hozzrendels skalris szorzst denil minden

s C[a, b]-beli pozitv n. slyfggvny esetn. x = x, x


hozzrendels normt

Knnyen igazolhat, hogy egy euklideszi trben az

denil. Ezt a normt a skalris szorzs ltal induklt normnak nevezzk.

1.1.29. denci.
Egy euklideszi tr

elemt ortogonlisnak hvjuk, ha

x, y = 0.

Azt mondjuk, hogy az

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.

1.1.30. ttel. (GramSchmidt ortogonalizci)


Egy euklideszi trben minden linerisan fggetlen egy olyan ortonormlt minden

x1 , . . . , x k

vektorrendszerbl elllthat

q1 , . . . , q k

vektorrendszer, melyre lin(q1 , q2 , . . . , ql )

lin(x1 , x2 , . . . , xl )

l = 1, . . . , k

index esetn.

14 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.1.

Vektorterek

Bizonyts. Knnyen lthat, hogy a

q 1 = x1 , qi , xl qi (l = 2, . . . , k) qi , qi

l1

q l = xl
i=1
mdon ellltott

q1 , . . . , qk

vektorok ortogonlisak, s az ezekbl nyert

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

polinomot ortogonlisnak hvunk az

[a, b]

intervallu-

pozitv slyfggvnyre nzve, ha

s(x)p(x)q(x) dx = 0.
a
Az

1, x, x2

stb. polinomokbl a

sal kszlt polinomokat

1/ 1 x2

[1, 1] intervallumon a GramSchmidt-ortogonalizcis eljrss(x) 1 slyfggvny esetn Legendre-polinomoknak, mg az s(x) =

slyfggvny esetn Csebisev-polinomoknak nevezzk. Az els ngy ortogonlis poli-

nomot adtuk meg az albbi tblzatban. Fokszm Legendre Csebisev

0 1 2 3 4

1 x (3x2 1)/2 (5x3 3x)/2 4 (35x 30x2 + 3)/8

1 x 2x2 1 4x3 3x 4 8x 8x2 + 1

1.1.1. tblzat. Nhny Legendre- s Csebisev-polinom.

Az ortogonlis polinomok fontos tulajdonsgait foglalja ssze az albbi ttel.

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

mtrix elemeit ltalban

aij -vel

jelljk, de abban az esetben, ha

nem szeretnnk j jellst bevezetni a mtrix elemeire, alkalmazzuk az mdon jrunk el a vektorok esetn is.

(A)ij

jellst is. Hasonl


3

A jellsek megknnytse rdekben tbb esetben alkalmazzuk a MATLAB jellseit is. Pl. egy

AK

programcsomag

mn

mtrix esetn

A(:, c : d)

az

A mtrix c, . . . , d sorszm oszlopait tartalmaz mtrix,


az

A(a : b, c : d) A(a : b, :)
diag( az

A(:, c : d) mtrix a, . . . , b sorszm sorait tartalmaz mtrix,

A mtrix a, . . . , b sorait tartalmaz mtrix,

A) az A mtrix ftlbeli elemeit tartalmaz oszlopvektor.

Vektorok esetn

diag(v) azt a diagonlis mtrixot jelenti, melynek diagonlis elemei rendre megegyeznek a

vektor elemeivel.

Most felsorolunk nhny fontos mtrixtulajdonsgot ill. elnevezst.

Azokat a vektorokat ill. mtrixokat, melyek minden eleme nulla

rixnak

nevezzk. Jellskre egysgesen a

nullvektornak ill. nullmt0 jellst hasznljuk. Mrett kln nem jelljk, ngyzetes vagy kvad-

az kvetkezik a kpletekben szerepl tbbi mtrix mretbl.

Azokat a mtrixokat, melyeknek ugyanannyi sora van ahny oszlopa,

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

jelli a mtrix konjugltjnak transzponltjt.

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

sok, hogy nevezzk.

svszlessgnek

- Diagonlis a mtrix, ha

Specilis ngyzetes diagonlis mtrixknt

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

mitikus mtrixok minden sajtrtke vals.

3 A MATLAB programcsomagrl az 1.4. fejezetben runk rszletesebben. 4 Charles Hermite (18221901), francia matematikusrl elnevezett mtrixtpus. mutatta meg, hogy az her-

16 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.2.

Mtrixok

egy fels hromszgmtrix. A mtrixban a szm llhat mtrixelemknt.

jel azt jelenti, hogy azon a helyen tetszleges

- Als hromszgmtrix: ftl "feletti" elemek nullk (q

= 0). = 1). = 1). = 1, q = 1). A b, tle

- Fels Hessenberg-mtrix: a szubdiagonl "alatti" elemek nullk (p

- Als Hessenberg-mtrix: a szuperdiagonl "feletti" elemek nullk (q - Tridiagonlis mtrix: egyszerre als- s fels Hessenberg-mtrix (p balra

tridiag(a, b, c) mtrix egy olyan tridiagonlis mtrixot jell, melynek ftljban

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

fogja jellni, azaz

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.

Kt azonos mret mtrix kztt az rtelmezzk. Egy

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,

A mtrixot nemnegatvnak ill. pozitvnak neveznk, ha az A 0 ill. A >

= , < , , > , relcikat elemenknt

blokkmtrixoknak

hvjuk. Megadsukra a

szoksos (a MATLAB-ban is hasznlt) jellst alkalmazzuk. Pl. ha

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

hvunk, ha van inverze, s

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 -

mtrixnak hvunk, ha van inverze s

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

Hermitikus ill. ortogonlis mtrixok szorzata is hermitikus ill. ortogonlis,

1.

Elismeretek

Egy hermitikus

mtrix esetn az azaz

x xH Ax

fggvny minden oszlopvektorhoz hozz-

rendel egy vals szmot. Ez abbl kvetkezik, hogy az eredmny egy

(xH Ax)H = 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,

 xH Ax lehet pozitv s negatv is, akkor az A mtrixot indenit mtrixnak


nevezzk.

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.

P = [ei1 , . . . , ein ] Rnn

1.2.1. Mtrixok sajtrtkei s sajtvektorai


1.2.2. denci. nn Legyen A C
Cn
vektor s egy

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.

v vektort a mtrix sajtvektornak, s a szmot a sajtvektorhoz tartoz


sajtprnak

sajtrtknek nevezzk (s fordtva). Egy sszetartoz sajtrtket s sajtvektort

1.2.3. ttel.
Egy mtrix adott sajtrtkhez tartoz sajtvektorai a nullvektorral kiegsztve alkotjk.

Cn

egy altert

Bizonyts. Azt kell igazolnunk csak, hogy ha vektor, akkor tetszleges az

c1 , c2

szmok esetn

c1 v1 + c2 v2 = 0

v1

v2

kt klnbz,

-hoz

tartoz sajt-

is sajtvektor. Ez kvetkezik

A(c1 v1 + c2 v2 ) = c1 Av1 + c2 Av2 = c1 v1 + c2 v2 = (c1 v1 + c2 v2 )

egyenlsgbl.

18 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.2.

Mtrixok

1.2.4. ttel. nn Egy A C

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

megoldsai adjk. Bizonyts. Az

E)v = 0

Av = v

egyenlsget trendezve kapjuk, hogy a sajtvektornak az

(A

egyenletrendszer nullvektortl klnbz megoldsnak kell lennie. Mivel ez az egyen-

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.

egyenlsg miatt vlaszthat a sajtrtkhez vals

A vals mtrix, pedig egy vals sajtrtke, akkor az (A E)v = 0 v sajtvektor.

1.2.7. ttel.
Jellje

1 , . . . , n

az

A Cnn

mtrix sajtrtkeit. Ekkor

det(A) =
i=1
ahol tr(

i ,

tr(

A) =
i=1

i ,

A) a mtrix nyoma (angolul trace), azaz a ftlban szerepl elemek sszege.


p() = an n +an1 n1 +a1 +a0 1 , . . . , n
zrushelyeire igazak az albbi formulk (n. Vite-formulk):

Bizonyts. Ismert, egybknt knnyen igazolhat, hogy egy

n-edfok

polinom

1 2 . . . n = (1)n

a0 an1 , 1 + 2 + . . . + n = . an an an = (1)n ,

A karakterisztikus polinom legmagasabbfok tagjnak egytthatja

an1 = (1)n1 (a11 + . . . + ann ) = (1)n1 (tr(A))


s a szabad tag

a0 = det(A).

Ezekbl az llts kzvetlenl addik.

1.2.8. ttel. nn Egy A C


van inverze.

mtrixnak pontosan akkor nincs nulla sajtrtke, ha nemszingulris, azaz ha

Bizonyts. Tekintsk az

a nullvektor az egyetlen megoldsa, ha det( nulla nem sajtrtke a mtrixnak.

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.

Az elz ttelt gyakran hasznljuk annak igazolsra, hogy egy mtrix

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.

a mtrix egy sajtvektora

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-

azaz ezek olyan

tartalmaznak. gy

1.2.11. megjegyzs.

rtke vals, s ezekhez a sajtrtkekhez vals sajtvektorok vlaszthatk.

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

llts (szemidenitre hasonlan).

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

1.2.14. ttel. (Gersgorin-ttel) nn Tekintsk az A C mtrixot.


nek kzppontja

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.

Bizonyts. Legyen ahol van

elemmel, akkor erre a sajtrtkre igaz az llts. Klnben rjuk fel

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

egy sajtrtke a mtrixnak. Ha

megegyezik valamelyik diagonlis

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

-val val oszts utn kapjuk, hogy

1
valamely

n j=1,j=k

|akj |

|akk |
krlap belsejbe esik.

k = 1, . . . , n

indexre, azaz Ha

Kk

1.2.15. megjegyzs.
pontosan

darab krlap unija diszjunkt a tbbi krlappal, akkor az uniban

darab sajtrtk van. Ez az n. msodik Gersgorin-ttel.

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

A mtrixnak = kt sajtrtke, tovbb, Av = v s Awi = wi (i = 1, . . . , l) esetn a v sajtvektor v = l i wi alakban rhat i=1


i
konstansokkal. Ekkor

v = Av = A
i=1
ami csak gy lehetne, ha

i wi =
i=1

i wi = v,

= .

Ez ellentmonds.

1.2.17. kvetkezmny.

A ttel kzvetlen kvetkezmnye, hogy ha egy

(n n)-es

mtrixnak

minden sajtrtke klnbz, akkor van vlaszthat a sajtvektorai kzl

darab linerisan fggetlen sajtvektorrendszere, azaz

darab linerisan fggetlen vektor.

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.

hvjuk, ha van olyan

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

det(B E) = det(S1 AS E) = det(S1 ) det(A E) det(S) = det(A E).

1.2.20. megjegyzs.
albbi sszefggs: ha

v sajtvektora B-nek, akkor Sv sajtvektora A-nak.

Knnyen lthat, hogy hasonl mtrixok sajtvektorai kztt fennll az

tankonyvtar.bme.hu 21

1.

Elismeretek

1.2.21. denci. Egy A mtrixot diagonalizlhatnak 1.2.22. megjegyzs.

hvunk, ha hasonl egy diagonlis mtrixhoz.

Nem diagonalizlhat mtrix pldul az

A=

1 0

1 1

mtrix. Ennek a mtrixnak ktszeres sajtrtke az 1, gy az egysgmtrixszal kellene hasonlnak lennie, de akkor valamilyen regulris

S mtrixszal A = S1 ES = E, ami nyilvn nem igaz.

1.2.23. ttel.
Egy

(n n)-es

mtrix pontosan akkor diagonalizlhat, ha van

elem linerisan fggetlen

sajtvektorrendszere.

Bizonyts. Tegyk fel elszr, hogy az sajtvektora, azaz Ekkor igaz az

(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=

sajtvektorok, rhatjuk, hogy

regularitsa miatt linerisan fggetlenek vektorok.

1.2.24. denci. Egy A mtrixot normlis mtrixnak

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

22 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.2.

Mtrixok

Ekkor

A v1 . . . vn
=:S1 (unitr)
ahonnt, bevezetve az

v1 . . . vn A2

1 0 . . . 0


. . . . . .

... ... , ...

S1 = [v1 . . . vn ]

jellst s az

jellst a jobb oldali msodik tnyez

(2 : n, 2 : n)

blokkjra, kapjuk, hogy

SH AS1 = 1
Hajtsuk vgre az elz eljrst az

A2

A2 mtrixszal! Ehhez ltezik olyan S2 unitr mtrix, mellyel


.. .

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

unitr mtrixok, melyekkel

SH . . . SH SH AS1 S2 . . . Sn1 n1 2 1

1 0 = 0

2 0


.. .

... ... ...

. n

=:T (fels hromszg)


Legyen

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 ,

szerepl fels hromszgmtrixra. Erre a mtrixra igaz, hogy

gy

normlis mtrix. Mivel

(1.6.19. feladat). Vagyis az

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

T mtrix ftljban az A mtrix sajtrtkei szerepelnek.

Schur-felbontsnak

nevezzk. Vegyk szre, hogy a hasonlsg miatt

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.

vals mtrix ortogonlis mtrixszal diagonali-

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.

Mivel a mtrix szimmetrikus, gy a sajtrtkei s a sajtvektorai is valsak. A szimmetria miatt

vT Av = vT v = vT v , vT Av = vT v = vT v = vT v
rtkeknek meg kell egyeznik. Ez csak gy lehet, ha

vT v = 0, azaz a klnbz sajtrtkekhez

tartoz sajtvektorok ortogonlisak. gy vlaszthat ortonormlt sajtvektorrendszer. A mtrix azzal az ortogonlis mtrixszal diagonalizlhat, melynek oszlopai az ortonormlt sajtvektorok.

1.2.3. Normk s sajtrtkek


Most azt vizsgljuk meg, hogy milyen kapcsolat van egy mtrix normja s a sajtrtkei kztt. Korbban mr tallkoztunk egy olyan ttellel (az 1.1.24. ttelt akkor bizonyts nlkl kzltk), ami sszekti a mtrixok normjt a sajtrtkeivel. Ez a ttel azt mondta ki, hogy

(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)

kus s pozitv szemidenit. Az hermitikussg nyilvnval, a pozitv szemidenitsg kvetkezik

1.2.

Mtrixok

nemnegatv vals sajtrtkeket tartalmaz diagonlis mtrix. gy

VH x Ax 2 xH AH Ax xH VVH x 2 = = 2 = 2 2 x 2 x x 2 x 2 2 2 2 2 VH 2 x 2 2 2 = (AH A). = x 2 2


A Az

2 2
(1.2.1)

AH A

mtrix az a diagonlis mtrix, melynek ftlbeli elemei

megfelel elemeinek gykei.

mtrix legnagyobb abszoltrtk sajtrtkhez tartoz sajtvektort vlasztva

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 ,

s minden sajtrtke vals.

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.

Bizonyts. Legyen x = 0 egy sajtvektora A-nak, s a hozz || x = x = Ax A x , amibl az llts kvetkezik.

tartoz sajtrtk. Ekkor

1.2.32. ttel. nn Adott A C mtrix mellyel A (A) + .

esetn minden

> 0

szmhoz ltezik olyan

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

1 i d |tij | = |j | + d(ji) |tij |. dj i=1

j1

kitevje negatv, gy ha

d-t

megfelelen nagynak vlasztjuk, akkor elrhet, hogy

j1

|j | +
i=1
teljesljn minden

d(ji) |tij | (A) +

j = 1, . . . , n

oszlop esetn. gy teht

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

X tetszleges (n n)-es mtrix.

S,D = sup x=0

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.

mtrix normjt a fenti induklt mtrixnormban, s alkalmazzuk

A
gy teht az

1 1 1 S,D = (SD ) ASD

= DS1 ASD1

= DTD1

(A) + .

S,D induklt mtrixnormban az A mtrix normja valban kisebb, mint (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.

1.2.34. ttel. nn Egy A C

mtrix esetn pontosan akkor igaz, hogy

Ak 0

elemenknt, ha

(A) < 1.

Pontosan ugyanekkor lesz a

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

is igaz, ami azt jelenti hogy

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

A msik irnyhoz legyen most

v a mtrix egy sajtvektora sajtrtkkel. Ekkor Ak v = k v.


l
termszetes szm esetn:

Ak

elemenknt is nullhoz tart.

(E A)(E + A + A2 + + Al ) = E Al+1 .
Az

E A mtrix regulris, mert sajtrtkei nem lehetnek nullk. gy E + A + A2 + + Al = (E A)1 (E Al+1 ).


l esetn, ha az {Al+1 } mtrixsorozat nullhoz 1 sszeg valban (E A) .

gy pontosan akkor van a sornak hatrrtke tart, azaz ha

(A) < 1,

s ilyenkor az

26 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.2.

Mtrixok

1.2.35. megjegyzs.

Az

Ak 0 (k )

tulajdonsggal rendelkez

mtrixokat szoks

konvergens mtrixoknak is nevezni.

1.2.4. M-mtrixok
1.2.36. denci. nn Az olyan A R

mtrixokat, melyek ftln kvli elemei nempozitvak, nemszingulrisak

s inverzk nemnegatv, M-mtrixoknak nevezzk. Az M-mtrixok elnevezsben az M bet a egy

mtrix M-mtrix, akkor az

Ax Ay

m onoton

mtrix kezdbetjre utal. Ugyanis ha

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 . 1/2 3/4

1.2.38. ttel.
Egy M-mtrix ftlja pozitv elemeket tartalmaz. Bizonyts. Jelljk

A-val

a mtrixot. Ha

lenne. De ekkor az egyenltlensget az

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.

1.2.39. ttel. nn Legyen az A R

mtrix olyan, hogy a ftljn kvli elemek nempozitvak. Ekkor

pontosan akkor M-mtrix, ha van olyan

g > 0 vektor, mellyel Ag > 0.

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

A felttel elgsgessgnek igazolshoz legyen

G = diag(g1 , . . . , gn )
s

D = diag(a11 g1 , . . . , ann gn ).
Nyilvnvalan

minden ftlbeli eleme pozitv, klnben a felttel nem teljeslhetne. gy

invertlhat. Ekkor

D1 AG

tovbbra is olyan mtrix, melynek nincs a ftljn kvl pozitv

eleme, tovbb a ftljban egyesek llnak. gy felrhat egy nemnegatv mtrix nulla ftlval. Mivel

EB

Ez mutatja, hogy

D1 AG = E B alakban, ahol B D AGe = D1 Ag > 0, emiatt (E B)e > 0.


1

maximumnormja kisebb 1-nl. Teht a spektrlsugara is kisebb 1-nl. gy

invertlhat s (1.2.34. ttel)

inverze, nevezetesen nemnegatv.

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,

g > 0 vektort hogy a g s Ag

mtrixhoz, melynek nincsenek pozitv elemei a ftljn

tallnunk, melyre

Ag > 0,

akkor

M-mtrix. A kvetkez

vektorok segtsgvel fels becslst adhatunk az

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

Bizonyts. Az llts az albbi becslsekbl kvetkezik, gyelembe vve az negativitst.

A1
.

mtrix nem-

A1 1.2.41. plda.

i=1,...,n

min (Ag)i = A1 e min (Ag)i


i=1,...,n

A1 Ag

= g

Az 1.2.37. pldban szerepl

1 2 1

A = 1
0
mtrix esetn

1 2
gy az inverz maximumnorm-

g = [2, 3, 2]T > 0

mellett

Ag = [1, 2, 1]T > 0.


mini (Ag)i

jra egy fels becsls

A1
ami tnyleg teljesl, hiszen

3 = 3, 1

A1

= 2.

28 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.3.

Sorozatok s fggvnyek konvergencijnak jellemzse

sorszm 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.

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

tart, de ms konvergenciasebessg, sorozat els 16 eleme. Az els

elsrend, a msodik msodrend.

1.3. Sorozatok s fggvnyek konvergencijnak jellemzse


1.3.1. Sorozatok konvergenciasebessge
A numerikus mdszerek egy nagy csoportja n. itercis mdszer. Ez azt jelenti, hogy a feladat megoldsa egy rekurzv eljrssal ellltott sorozat hatrrtke lesz. A megoldst gy kzeltjk, hogy az iterci segtsgvel ellltjuk a sorozat egy megfelelen nagy sorszm elemt. Hogy hnyadik elemet kell ellltanunk, az azon mlik, hogy a sorozat milyen "gyorsan" konvergl a hatrrtkhez. Nyilvnvalan egy gyorsan konvergl sorozat sokkal kedvezbb a szmunkra, mint egy lassan konvergl. Most megvizsgljuk, hogy hogyan jellemezhet egy sorozat konvergenciasebessge. Az 1.3.1. tblzat kt

2-hz

tart sorozat els 15 elemt tartalmazza 14 ill. 49 tizedesjegyre

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

sorozatelem hibjt. Vizsgljuk meg, hogy a fent vizsglt kt

sorozat esetben egy lps sorn hogyan vltozik ez a hiba. Az

ln |e(k) | ln |e(k1) |
rtket (ha

e(k1) = 0, 1) a k. lpshez tartoz logaritmikus relatv cskkensnek nevezzk. Mivel

a hatrrtk kzelben a hibartkek abszoltrtkben kicsi szmok, gy az a hibasorozat cskken tankonyvtar.bme.hu 29

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. bra. A vizsglt kt sorozat elemeinek a hatrrtktl val tvolsga.

1.3.2. bra. A vizsglt kt sorozat hibjnak logaritmikus relatv cskkense.

30 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.3.

Sorozatok s fggvnyek konvergencijnak jellemzse

1.3.1. denci.
Azt mondjuk, hogy az pontosan

{x(k) } x

-hoz monoton mdon konvergl sorozat konvergenciarendje

p 1,

ha a

ln e(k) k ln e(k1) lim


vges hatrrtk ltezik s rtke

p.

1.3.2. megjegyzs.
Ha

A fenti denci alapjn mondhatjuk, hogy a bevezet feladatban az els

sorozat elsrendben, a msodik msodrendben konvergens.

p = 1,

akkor lineris konvergencirl, ha

1 < p < 2,

akkor szuperlineris konvergencirl,

p=2

esetn pedig msodrend konvergencirl beszlnk.

Hogyan lehet a konvergenciarendet meghatrozni? Vizsgljunk meg kt specilis esetet!

1.3.3. ttel.
Ha egy

{xk }

sorozatra s egy

elemre az igaz, hogy

e(k) = Ck e(k1)
valamilyen ben. Bizonyts. Az

0 < C Ck C < 1 e(k)

konstansokkal, akkor

xk x

monoton mdon s elsrend-

= 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

ln e(k) ln Ck = +11 ln e(k1) ln e(k1) 0 < C Ck C < 1


felttel miatt s amiatt, mert

Ck .
a

konstansokra vonatkoz

ln e(k1)

Azaz a konvergenciarend valban 1. becslsbl az is ltszik, hogy

1.3.4. megjegyzs. Az e(k) C e(k1)


C = 1/10. Ez a gyakorlatban 3.3219, azaz kicsivel tbb, mint
kensre.

M ln 10/ ln C

lps-

szm utn cskken egy nagysgrendet a sorozat elemeinek hatrrtktl mrt tvolsga, hiszen

azt jelenti, hogy ha pl.

C = 1/2,

akkor

M = ln 10/ ln(1/2)

hrom lpsenknt szmthatunk egy nagysgrendnyi hibacsk-

1.3.5. ttel.
Ha egy

{x(k) }

sorozatra s egy

elemre az igaz, hogy

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

monoton mdon, s a sorozat konvergenciarendje

p.

tankonyvtar.bme.hu 31

1.

Elismeretek

Bizonyts. Vezessk be az

(k) = C

1/(p1) (k)

jellst. Ezzel a jellssel

(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)

(k) (0) (0) = C (k ) monoton


Az

pk

. (k) 0

1/(p1)

e(0) < 1

felttel miatt a fenti egyenlsgbl kvetkezik, hogy

mdon. Mivel

e(k) = C
ezrt

(k)
1/(p1)

e(k) 0,

azaz a sorozat valban

-hoz tart monoton mdon.

A konvergenciarend igazolshoz vegyk az (1.3.1) egyenlsg logaritmust, majd osszunk

ln e(k1)

-val. Ekkor

ln e(k) ln Ck = + p p, (k1) ln e ln e(k1)


mivel

0 < C Ck C

minden

k = 0, 1, . . .

esetn s

ln e(k1) ,

ha

k .

Ezt akartuk

megmutatni.

1.3.6. megjegyzs.

Az (1.3.2) becslsbl lthat, hogy a kzelts pontossgnak nagysgrend-

je minden lpsben kb. a kvetkez kzelts

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

konvergencival sszevetve nagyon gyors konvergencit jelent.

1.3.7. megjegyzs. Knnyen lthat, hogy az 1.3.5. ttelben szerepl C


ttelben nem kellett ezt a felttelt garantlni.

1/(p1)

e(0) < 1 felttel

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.

1.3.2. Fggvnyek konvergenciavizsglata


Trjnk t a fggvnyek konvergenciavizsglatra. Numerikus szempontbl azok a vals-vals nemnegatv fggvnyek rdekesek, melyek nullban nullhoz ill. vgtelenben vgtelenhez tartanak. Most ezek jellemzsvel fogunk foglalkozni. Jelentsen

0-t

vagy

-t.

Tegyk fel, hogy

g:RR

f :RR

olyan fggvnyek, melyek

rtelmezsi tartomnyai metszetnek

torldsi pontja, s mindkt fggvny

-hoz
6

tart

-ban.

A kt fggvny konvergencijnak kapcsolatt fejezi ki az albb denilt ord

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.

Sorozatok s fggvnyek konvergencijnak jellemzse

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

pontban nzzk a hatrrtket, akkor ennek fggvny esetn, hogy Termszetesen

jellst el szoktuk hagyni. A denci alapjn rhatjuk a (x

),

hiszen

C = 2

g(x) = 2x2 4x + 2 = 1 megfelel vlaszts.

g(x) = O(x2 ) g(x) = O(x3 ) is igaz,

de a gyakorlatban treksznk a legkisebb lehetsges hatvnykitev megadsra. Nyilvnvalan

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.

Az ord jells alkalmazsra tovbbi pldaknt tekintsk az

ex

exponencilis

fggvny Taylor-sorfejtssel val kzeltst az polinommal kzeltnk, akkor

x0 = 0

pontban. Ha a msodrend Taylor-

ex = 1 + x +

x2 e + x3 , 2! 3!
megfelel

ahol az utols n. Lagrange-fle maradktagban konstans. Mivel

kz es (x-tl fgg)

e 3 e x x3 , 3! 3! O(x3 ).
Teht a Taylor-polinommal

ha

0 x 1,

ezrt a maradktag helyett rhatjuk, hogy

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(h) h pozitv vals r 1-edrend kzelts,

paramtertl fgg kzeltse egy ha

v (V, )

v(h) v = O(hr ) (h 0). v(h) v = O(hr ),

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

f (x0 + h) = f (x0 ) + hf (x0 ) +


alakban rhat, ahol

h2 f () 2

megfelel

x0

x0 + h

kz es konstans. Teht

f (x0 ) + hf (x0 ) + h2 f ()/2 f (x0 ) f (x0 + h) f (x0 ) = = f (x0 ) + hf ()/2. h h


Figyelembe vve, hogy

ktszer folytonosan dierencilhat, azaz

vges, zrt intervallu-

mon korltos, az ord jellst hasznlva rhatjuk, hogy

f (x0 + h) f (x0 ) = f (x0 ) + O(h). h


Teht az adott hnyados elsrend kzeltse az els derivltnak az

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.

f (x0 + h) f (x0 ) = f (x0 ) + O(h) h


mdon kzeltettk. Ez a felrs termszetesen mutatja az elsrend konvergencit, de amint lttuk, az

O(h)-val

jellt hiba rtke pontosan is ismert, nevezetesen a hiba

hf ()/2,

azaz

f (x0 + h) f (x0 ) = f (x0 ) + hf ()/2. h


rjuk fel ezt a kzeltst felezve a

(1.3.4)

paramtert (1.3.5)

f (x0 + h/2) f (x0 ) = f (x0 ) + hf ()/4, h/2

34 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.4.

A MATLAB programcsomag

ahol most ha

x0

x0 + h/2

elegenden kicsi, akkor

ezt annak ellenre, hogy egyenletet. Ekkor ha

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

tartalmaz tagok kiejtse rdekben vonjuk ki az (1.3.5) egyenlet ktszeresbl az (1.3.4)

hromszor is folytonosan derivlhat, akkor azt kapjuk, hogy

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

esik, azaz a kzelts rendje eggyel nagyobb lett.

1.4. A MATLAB programcsomag


A MATLAB trtnete az 1970-es vek kzepn kezddtt. Cleve Moler, az j-Mexiki Egyetem numerikus mdszerek tanra felismerte, hogy ahelyett, hogy a hallgatk az egyes numerikus eljrsok FORTRAN-ban val programozst csinlnk az rkon, az egyes numerikus eljrsokat elre megrt programokkal tesztelhetnk. gy a programrs helyett az algoritmusok vizsglatra lehet koncentrlni. Cleve Moler elksztett egy programcsomagban pr fggvnyt a dikjai szmra. 1984-ben egy Jack Little nev villamomrnk vendgeskedett Molernl, akinek nagyon megtetszett a programcsomag. is segtett programokat rni, s segtett a korbbi fggvnyek C-nyelvre val trsban. 1985-ben magalaptottk a MathWorks cget, amely mind a mai napig a MATLAB fejlesztje s forgalmazja. A MATLAB fggvnyek (m-fjlok) f egysge a mtrix, minden eljrs mtrixokon alapul. Innt is kapta tulajdonkppen a nevt, ami a MATrix LABoratory szsszettelbl szrmazik. A program parancsainak szintaxisa jl megjegyezhet s knyelmes, a fggvnyek szerkezete egyszer s knnyen ttekinthet. A korbban denilt fggvnyek felhasznlhatk jabb fggvnyek denilsra is. gy a MATLAB-ban az eljrsok sokkal gyorsabban megrhatk, mint ms programozsi nyelveken. Tbb olyan weblap tallhat az interneten, ahova a MATLAB felhasznli tltttek fel rszletes lerssal m-fjlokat (pl.

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

1.5. A fejezettel kapcsolatos MATLAB parancsok


Most felsoroljuk azon MATLAB parancsokat, melyek a bevezet fejezetben szerepl fogalmakkal kapcsolatosak. Az egyszersg kedvrt konkrt pldkat mutatunk az alkalmazsra.

>> A=[1,2,3;4,5,6] % mtrixmegads A = 1 4 2 5 3 6

>> 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 =

36 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.5.

A fejezettel kapcsolatos MATLAB parancsok

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

>> tril(C) % A C mtrix als hromszg rsze ans = 1 4 7 0 5 8 0 0 9

>> triu(C) % A C mtrix fels hromszg rsze ans = 1 0 0 2 5 0 3 6 9

>> diag(C) % A C mtrix diagonlist tartalmaz oszlopvektor ans =

tankonyvtar.bme.hu 37

1.

Elismeretek

1 5 9 >> diag(diag(C)) % A C mtrix diagonlis mtrixa ans = 1 0 0 0 5 0 0 0 9

1.6. Feladatok
Normk 1.6.1. feladat. Azonostsuk

R2

elemeit a sk pontjaival! Adjuk meg a skon azon pontok halma-

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!

1.6.5. feladat. Tekinsk az

A := maxi,j=1...,n {|aij |} mtrixnormt! Igazoljuk, hogy ez val-

ban norma. Mutassuk meg, hogy nem lehet vektornormbl szrmaztatni! 1.6.6. feladat. Igazoljuk, hogy induklt mtrixnorma esetn

A = max { AB }.
B
1

1.6.7. feladat. Igazoljuk, hogy ha dels vektornorma brmilyen

A nemszingulris mtrix, akkor az x


S,D

:= Ax

hozzren-

vektornorma esetn! norma valban vektornor-

1.6.8. feladat. Igazoljuk, hogy az 1.2.32. ttelben szerepl ma! 1.6.9. feladat. Egy

mtrix Frobenius-normjt az albbi kplettel szmtjuk:

n i=1
hogy ha

n j=1

a2 . Igazoljuk, hogy ij

2 F

= tr(A A), ahol a tr() jells az adott mtrix ftlbeT

li elemeinek sszegt jelenti (amely megegyezik a sajtrtkek sszegvel is). Igazoljuk tovbb,

A s B ortogonlisan hasonlk, akkor Frobenius-normjuk megegyezik.


V x=

1.6.10. feladat. Legyen egy vges dimenzis azt a hozzrendelst, amely egy tetszleges

vektortrben v1 , . . . , vn egy bzis. Tekintsk n i=1 i vi V vektorhoz (i K) a

(x) =
i=1

|i |2

38 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

1.6.

Feladatok

rtket rendeli. Igazoljuk, hogy a 1.6.11. feladat. Tekintsk az

fggvny norma!

mon. Deniljuk egy adott

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

fggvnyre nyilvnval az llts. Egybknt

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-

kifejezssel (6.2.5. ttel), ahol

M2

egy

M2 (b a)2 8n2 fels becsls f f

C[a,b] -re.)
fggvnyt. Igazoljuk, hogy

1.6.12. feladat. Tekintsk az elz pldban adott

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

f 2 (x) dx normt ad meg C[a, b]-ben. Igazoljuk, hogy f (xn )

2 s

1.6.13. feladat. Tegyk fel, hogy az hogy valamilyen

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,

intervallumon. Igazoljuk, hogy az 1.6.14. feladat. Tekintsk az hogy

fggvnynek pontosan egy xpontja van!

F : [1, ) [1, ), F (x) = x/2 + 1/x

kontrakci. Hatrozzuk meg a lehet legkisebb kontrakcis tnyezt! Adjuk meg

x-

pontjt! 1.6.15. feladat. Tegyk fel, hogy a Banach-fle xpontttel felttelei kzl a kontrakcis felttelt

( 0 L < 1, F (x) F (y) L x y , x, y H)

kicserljk az

F (x) F (y) < x y , x, y H


felttelre. Igazoljuk, hogy ekkor xpont. Vizsgljuk az

F -nek maximum egy xpontja lehet, de F : [1, ) [1, ), F (x) = x + 1/x fggvnyt!

az is lehet, hogy nincs

Nevezetes mtrixok 1.6.16. feladat. Igazoljuk, hogy ha

A Rnn

ferdn szimmetrikus, akkor az

(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

1.6.20. feladat. Legyen olyan

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

C invertlhat, s adjunk fels becslst az inverz mtrix 1-es normjra az inverz

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 R(2m+1)(2m+1) det A = 1 s A ortogonlis, akkor 1 sajtrtke A-nak!


1.6.25. feladat. Igazoljuk, hogy ha 1.6.26. feladat. Hatrozzuk meg az hogy

olyan ngyzetes mtrix, melyre

A vvT

mtrix sajtrtkeit s sajtvektorait, ha tudjuk,

egy szimmetrikus mtrix, melynek

egy sajtrtke, s

a hozz tartoz sajtvektor!

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?

40 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

Numerikus modell Szmtgpes modell


2.1.1. bra. Egy problma megoldshoz vezet modellek.

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,

jelen esetben a zikai

m jellst a pontszer test tmegre, az l

jellst a ktl hosszra s

g -vel jellve

a gravitcis gyorsulst, az energiamegmarads trvnye az

1 2 ml ( (t))2 + mgl(1 cos (t)) = mgl(1 cos ) 2


41

2.

Modellalkots s hibaforrsai

alakban rhat fel, ahol

(t)

a fggleges egyenessel bezrt szgt adja meg az ingnak a

id

fggvnyben. Feltesszk, hogy a trendezsbl addik, hogy

t=0

idpillanatban ez a szg

volt ((0)

= ).

Az egyenlet

(t) =
(Az elengedstl a fggleges helyzetig a oldalt a

2g l

cos (t) cos .

(t) szgsebessg negatv). Innt szeretnnk a lengsidt

meghatrozni. Ehhez osszuk el az egyenlet mindkt oldalt a jobb oldallal, s integrljuk mindkt

[0, T /4]

intervallumon, ahol

jelenti a keresett lengsidt.

T /4 0

(t)
2g l

dt = T /4.

cos (t) cos sin = sin(/2)/ sin(/2)

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

1 sin (/2) sin2

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

A numerikus modell ltal meghatrozott szmtsokat szmtgpen vgezzk el. Ez adja a

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

szmtott korbbi rtknek.

2.2. A modellalkots hibaforrsai


A modellalkotsi folyamat sorn szmtalan helyen kvethetnk el hibkat. Ezek termszetes velejri a modellalkotsnak. A clunk az, hogy a modellekben lv hibkat megbecsljk s kontrollni tudjuk. Ha a modellalkots vgn nyert eredmny nem egyeztethet ssze az eredeti feladattal, 42 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

nevezzk. Az ings pldban pl. a ktl tmege biztosan

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

kerl a modellbe. Az ings pldban

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

kezdeti kitrs esetn.

Diszkretizcis hiba: A numerikus eljrsok sorn keletkez hiba a

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

hiba. A szmtsok sorn kerekteni fog a szmtgp, azaz kerektsi hibt

brzolsi

kvet el. Az ings

pldnl ilyen hibkat kvettnk el a lengsid szmszer kiszmtsa sorn.

A valdi problma

modellhiba, mrsi (rkltt) hiba Tudomnyos modell

kplethiba

Matematikai modell

diszkretizcis hiba

Numerikus modell

kerektsi s brzolsi hiba

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.

2.3. A hiba mrse


Az elz fejezetben lttuk, hogy a modellalkotsi folyamat sorn milyen hibk kerlhetnek a modellbe. A hiba ltalban elkerlhetetlen a modellezs sorn, de annak nagysga ltalban becslhet. Legyen

egy normlt tr tetszleges eleme, melyet kzeltnk az

elemmel, amely a mrs,

kpletcsonkols, diszkretizci, szmbrzols vagy kerekts miatt eltr az

elemtl.

2.3.1. denci.
Az

xx

rtket, azaz a pontos

viszonytott)

abszolt hibjnak

s a kzelt

elem tvolsgt az

kzelts (x elemhez

nevezzk. Amennyiben

x = 0,

akkor az

xx x
hnyadost az

kzelts (x elemhez viszonytott)

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 elemre, amit termszetesen x

x),

melyek fellrl becslik a hibkat az

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

pozitv vals sz-

x = (1 + x )x s y = (1+y )y , ahol |x | x s |y | y megfelel konstansok. Vezessk be mg a = max{x, y}


mok kzeltsnek egy-egy relatv hibakorltja. Ekkor a (2.3.1) egyenlsg miatt 44 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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)| = |(1 + x )(1 + y )xy (xy)| = |x xy + y xy + x y xy| (2 + )xy x


s relatv hibja

|(y ) (xy)| x (2 + ). xy
Az oszts esetn az abszolt hiba

|(/) (x/y)| = |(1 + x )x/(1 + y )y (x/y)| = x y


s relatv hibja

(1 + x ) 1 (1 + y )

x y

1+ 1 1

x 2 x = y 1 y

|(/) (x/y)| x y 2 . x/y 1


A fenti hibabecsl kpletek kt dolog miatt tanulsgosak. Az egyik a kivons relatv hibja, amely kt egymshoz kzeli szm kivonsa esetn nagyon nagy lehet. Sokkal nagyobb, mint a kt kivont szm relatv hibja kln-kln. Kt szm osztsnl pedig az abszolt hiba lehet nagyon nagy, amennyiben az oszts nevezje sokkal kisebb, mint a szmllja. A tbbi esetben a hiba kicsi, ha

y hibja

is kicsi.

2.4. Feladatok kondicionltsga


A matematikai modellek ltalban (dierencil)egyenlet(rendszer)ek. Ezek ltalnosan az

F (x, d) = 0
alakban rhatk, ahol

(2.4.1)

let ismeretlenje (kimeneti adat),

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

A fenti dencit Hadamard

alkalmazta dierencilegyenletekre vonatkoz kezdeti- s perem-

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.

Nem korrekt kitzs feladat pl. az

x |{a R | a2 + a + d/4 = 0}| = 0


egyenlet megoldsa, ahol a

az

a2 + a + d/4 = 0

egyenlet megoldsainak szmt adja meg

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.

Tekintsk az albbi kt egyenletrendszert!

5x1 331x2 6x1 397x2

= 3.5 = 5.2

4.9x1 331x2 6x1 397x2 x1

= 3.5 = 5.2

Lthat, hogy a kt egyenlet csak az els egyenlet

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,

amik igencsak tvol llnak egymstl. Ha az egytthat mrsi

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

egytthatja, s a kimen adat az

x = [x1 , x2 ]T

megoldsvektor. Knny

ltni, hogy ez a feladat a

d=5

pontban korrekt kitzs, teht a megolds folytonosan fgg konstans nagyon nagy.

d-tl.

Akkor vajon mi okozza a megolds nagymrtk vltozst? Az, hogy a folytonossg

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.

Gpi szmbrzols s kvetkezmnyei

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.

paramter fggvnye. Amennyiben

xd

vagy

nulla, a relatv kondciszm nem

2.4.5. denci.
A

abs (d) = lim


rtket a (2.4.1) feladat

d0

xd+d xd d
nevezzk.

abszolt kondciszmnak
d

Korrekt kitzs feladatok esetn hat

egy krnyezetben az

xd+d = G(d + d)

alakban, ahol a

fggvnyt

xd+d (egyrtelm) megolds felrmegoldfggvnynek hvjuk. Amennyiben a

fggvny dierencilhat

d-ben,

a relatv kondciszmra a

(d) =
mg az abszolt kondciszmra a

G (d) d , G(d)

abs (d) = G (d)


formult nyerjk.

2.4.6. plda.

A 2.4.3. pldban szerepl egyenletrendszer esetn a kondciszmot 2-es nor-

mban szmolva

(5) 1985

addik, ami azt jelenti, hogy a

paramter 2%-os vltozsa a

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.5. Gpi szmbrzols s kvetkezmnyei


Ahhoz, hogy megrtsk, hogy a kerektsi s brzolsi hibk honnt szrmaznak, ismernnk kell, hogy a szmtgpek hogyan kezelik a vals szmokat. Termszetesen szmtalan kezelsi md ltezik. Mi ezek kzl a MATLAB ltal hasznlt dupla pontossg lebegpontos szmokkal fogunk foglalkozni. A MATLAB lebegpontos szmrendszere a kettes szmrendszeren alapszik. Ennek ellenre a konkrt szmpldkat tzes szmrendszerben mutatjuk be, hiszen azok sokkal megszokottabbak, s a jelensgek hasonlan rvnyesek a kettes szmrendszerben is. tankonyvtar.bme.hu 47

2.

Modellalkots s hibaforrsai

2.5.1. plda.

hiszen

Felsorolunk nhny MATLAB ltal szolgltatott eredmnyt.

A MATLAB tg(/2) rtkre az

1.6331e + 016
s

rtket adja, ami nyilvnvalan hibs,

/2-nl

nincs is rtelmezve a tangens fggvny. de

21074 = 4.94066e 324,


ami megintcsak hibs.

21074 /2 = 0

21074 1.2 = 4.94066e 324 = 21074 ,

10310 =Inf.
sszetettebb pldaknt tekintsk az albbi eljrst Jelentse

rtknek meghatrozsra [15]:

yk

az egysgkrbe rt szablyos

2k -szg

flkerlett. Ekkor nyilvn

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

sem tudjk pontosan eltrolni,

egyenlsg miatt kettes

1 1 1 1 1 1 1 = 4 + 5 + 8 + 9 + 12 + 13 + . . . 10 2 2 2 2 2 2 szmrendszerben az 1/10 vgtelen szakaszos tizedes

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)

alakban rjuk fel (ha lehet), ahol szma, s

a szmbrzols alapja,

a kitev (karakterisztika). Az

az alapnl kisebb nemnegatv egsz

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.

Gpi szmbrzols s kvetkezmnyei

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

A nulla krl "relatvan nagy r van". Pl.

szm norml alakban 0.01, nem norml alakban

F (4, 2, 2)-ben a legkisebb pozitv elllthat 0.00001. Ha ezeknl kisebb pozitv szm

lesz a szmts eredmnye, akkor azt mr nullaknt brzolja a szmtgp (alulcsorduls).

Az 1 utni legkisebb elllthat szm az n. gpi epszilonnal (g ) nagyobb 1-nl. Az

F (4, 2, 2)

rendszerben ez

0.001. b = 2) lltja el 64 bitnyi trhelyet felhasz= +, 1 = ). 52 biten a mantisszt troljuk, pontosabban

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

0.a1 . . . a52 21022 ).

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

mvelet eredmnye. Ha a mantissza nulla, akkor az eljelbit szerint vagy

+-t,

vagy

-t

jell. A legnagyobb brzolhat pozitv szm az

M = 1. 111 . . . 111 21023 = 1.79769 10308


52db

s a legkisebb brzolhat pozitv szm

m = 0. 000 . . . 000 1 21022 = 4.94066 10324 .


51db

Vegyk szre, hogy mg az els szm normlalakban van, addig a msodik nem. A normlalakban brzolhat legkisebb pozitv szm az

1. 000 . . . 000 21022 = 2.22507 10308 .


52db

Az 1-et az

1 1. 000 . . . 000 20
52db

tankonyvtar.bme.hu 49

2.

Modellalkots s hibaforrsai

mdon brzolhatjuk. Az 1-nl nagyobb legkisebb brzolhat szm az

1. 000 . . . 000 1 20 ,
51db

ami

g = 252 -nel nagyobb mint az 1. Jelentse fl(x) egy x R, M x M

vals szm lebegpontosan brzolt kpt.

2.5.2. ttel.
Legyen

M x M .

Ekkor

|fl(x) x|

0 ,
g |x| 2 ,

ha ha

|x| < 0 , 0 |x| M .

Bizonyts. A ttel els rsze trivilis. Essen kz. Legyen

az

xi

mantisszja

jegy, s karakterisztikja

xi < xj szomszdos k . Ekkor

lebegpontos szmok

|fl(x) x|

xj xi bp+1 bk g |x| = . 2 2 2

Az egy

gpi epszilon felt

gpi pontossgnak

nevezzk. Jellse

u.

A gpi pontossg teht a

lebegpontosan brzolt szmok relatv hibakorltja. A fenti ttel kzvetlen kvetkezmnye, hogy

M -nl

nem nagyobb abszolt rtk vals szm lebegpontos kpre igaz az

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

szmtgpen a kvetkez rtket kapjuk a mvelet eredmnyre:

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, y > 0).

|x

y (x y)| |(x(1 + x ) y(1 + y ))(1 + ) (x y)| = |x y| |x y| |(xx yy )(1 + )| x+y + | | u(1 + u) + u, |x y| |x y|


(azaz kt egymshoz kzeli szmot vonunk ki egymsbl), akkor a

ahol

Ha

|x |, |y |, | | u. x kzel van y -hoz

klnbsg relatv hibja jval nagyobb lehet, mint a gpi pontossg.

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.

50 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

2.5.

Gpi szmbrzols s kvetkezmnyei

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 .

Most vonjuk ki egymsbl a kt szmot.

9876

9875 = 0.000503142 101 = 5.03142 0000 103 .


rtelmetlen

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 =

1 = 5.031418679 103 . 9876 + 9875 2.6 107 ,

Jl mutatja a kt szmols kzti klnbsget, hogy az els rtk relatv hibja mg a msodik

1.6 1010 .

2.5.4. plda.
1

A 2.5.1. pldban is a kiegyszersds okozta a gondot. Ha

nvekszik, akkor

1 (2k yk )2

msodik tagja egyre kzelebb lesz 1-hez, gy kiegyszersds lp fel. A

jelensg nyilvn kikszblhet a kplet megfelel trsval, nevezetesen az

yk+1 = yk

2 1+ 1 (2k yk )2

iterciban mr nem lp fel kiegyszersds.

Most vizsgljuk az oszts hibjt! Legyenek

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).

f lop-ban szoktuk mrni ( oating point

tankonyvtar.bme.hu 51

2.

Modellalkots s hibaforrsai

2.6. A fejezettel kapcsolatos MATLAB parancsok


>> realmin % A legkisebb bzolhat pozitv szm. ans = 2.225073858507201e-308 >> realmax % A legnagyobb bzolhat pozitv szm. ans = 1.797693134862316e+308 >> eps % A gpi epsilon. ans = 2.220446049250313e-016

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

tic (stopper indul) s toc (stopper megll) parancsokkal

>> 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

x+dy = 1, dx+y = 0 egyenletrend-

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,

2.7.2. feladat. Vizsgljuk meg az fggvnyben! Milyen

x = d +

d2 4

melyre a (relatv) kondciszm 100-nl nagyobb! 52 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

2.7.

Feladatok

2.7.3. feladat. Az rozzuk meg mi is

a = 0.001 vlaszts mellett A = 11/(12a) rtke 0.002004008016. HatA-ra,


s vgezzk el

rtkt egy tzes szmrendszer, hatjegy mantisszs lebegpontos szmokat

hasznl szmtgpen! Javasoljunk numerikus szempontbl jobb szmolst gy is a szmolsokat! 2.7.4. feladat. Az trozzuk meg mi is

a = 1000 vlaszts mellett A = 1/( a + 1 a) rtke 63.26136064087. Ha-

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

rtkeit pontosan szmolja, majd az eredmnyek brzolsnl hatjegy mantisszra kerekt.

f (x) = cos2 x sin2 x

fggvny rtkt az

x = 0.7854

helyen! Mekkora a szmtott eredmny relatv hibja? Indokoljuk az eredmnyt! Javasoljunk jobb

f (x)

rtk kiszmtsra!

2.7.6. feladat. rjunk MATLAB programot az

yk+1 = 2k+1

1 2

1 (2k yk )2

iterci vizsglatra! Hasonltsuk ssze az eredmnyt az

yk+1 = yk
itercival! Magyarzzuk meg az eltrst!

2 1+ 1 (2k yk )2

2.7.7. feladat. rjunk MATLAB programot az

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)

rendszerben megadhat szmokat!

2.7.9. feladat. Adjuk meg az (10 sszeads),

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.2 3.45, 1/80, 2 102 7 102 ?


tankonyvtar.bme.hu 53

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?

54 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3. Lineris egyenletrendszerek megoldsa


Ebben a fejezetben azzal foglalkozunk, hogy hogyan oldhatunk meg ngyzetes, teljes rang mtrix lineris egyenletrendszereket. Elszr megismerkednk a lineris egyenletrendszer megoldsnak kondicionltsgval. Ezutn ismertetjk a Gauss-mdszert s a vele kapcsolatos mtrixfelbontsokat. Majd ttrnk az itercis megoldsokra. Nhny egyszer itercis eljrson kvl ismertetjk a gradiens s konjuglt gradiens mdszereket is.

3.1. Lineris egyenletrendszerek megoldhatsga


A lineris egyenletrendszerek ltalnos alakja a kvetkez. Tegyk fel, hogy adottak az szmok (i

aij

bi

= 1, . . . , m; j = 1, . . . , n).

Keressk azokat az

xj

szmokat (j

= 1, . . . , n),

melyekre

a11 x1 + + a1n xn = b1 a21 x1 + + a2n xn = b2


. . .

am1 x1 + + amn xn = bm .
Bevezetve az

aj = [a1j , . . . , amj ]T

jellst (j

is megfogalmazhat: keressk azokat az

xj

szmokat (j

= 1, . . . , n) az egyenletrendszer n. vektoros alakban = 1, . . . , n), mellyekkel a

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

a11 a21 A= . . . am1


n. egytthatmtrixot. Keressk azt az algebrbl jl ismert az albbi ttel.

a12 a22 am2

... ... ...

a1n a2n amn

x n-elem

oszlopvektort, mellyel

Ax = b.

A lineris

55

3.

Lineris egyenletrendszerek megoldsa

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 mtrix determinnsa nulltl klnbzzn. Azt is feltesszk,

hogy az egyenletrendszer egytthati vals szmok. A ttelek knnyen tfogalmazhatk komplex

3.2. Lineris egyenletrendszerek kondicionltsga


Lttunk mr pldt arra, hogy az egytthatk kis vltozsra is sokat vltozhat egy lineris egyenletrendszer megoldsa. Ebben a fejezetben megvizsgljuk, hogy ez a vltozs minek a kvetkezmnye. Legyen teht egyenletrendszer megoldsa. Tekintsk elszr azt az esetet, amikor megvltoztatjuk, ms szval perturbljuk, az egyenletrendszer jobb oldali vektort (bemen adat) egy megfelel

A Rnn , b Rn

s det(

A) = 0.

Legyen

az

Ax = b

lineris

szer megoldsa (kimen adat) is megvltozik, azaz

vektorral. Ekkor ltalban az egyenletrendhelyett

x + x

lesz a megolds valamilyen

vektorral.

A(x + x) = b + b
Jelentsen

egy tetszleges vektornormt s az ltala induklt mtrixnormt. Ekkor a lineris

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.

3.2.1. denci. nn Legyen A R


szmnak

regulris mtrix. Ekkor a

(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)

a 2-es normabeli kondciszmot jelenti.

56 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.2.

Lineris egyenletrendszerek kondicionltsga

3.2.2. ttel. nn Egy A R


(A) 1,

mtrix induklt mtrixnormban vett kondciszmra a kvetkez tulajdon-

sgok rvnyesek:

(A) = (A1 ), (A) = (A), = 0,


Ortogonlis mtrixra

2 (A) = 1, (A) |max /min |, tovbb 2 (A) = |max /min |, ahol max

Szimmetrikus mtrixokra s

min

a legnagyobb s legkisebb abszolt rtk sajtrtket jelenti.

Bizonyts. Az els llts kvetkezik az induklt mtrixnormkra vonatkoz

1 =

AA1 A A1

E =

becslsbl. A msodik s harmadik llts trivilis. A negyedik llts-

ban azt alkalmazhatjuk, hogy ortogonlis mtrixok

2-es

normja 1. A szimmetrikus mtrixokra

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.

Termszetesen az elz ttelben a msodik s a harmadik tulajdonsg nem

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

Nagyon nagy kondciszm mtrix pl. az n. Hilbert-mtrix. Az

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

1/3 1/4 1/5 1/6 1/7 1/8

1/4 1/5 1/6 1/7 1/8 1/9

1/5 1/6 1/7 1/8 1/9 1/10

1/6 1/7 1/8 1/9 1/10 1/11

Erre a mtrixra

2 (H6 ) 1.6 107 ,

(10 10)-es

mtrixra

2 (H10 ) 3.5 1013 .

Most trjnk t arra az esetre, amikor nemcsak a jobb oldali vektor, de maga az egytthatmtrix is vltozik. Elszr kt kisebb ttelt igazolunk.

3.2.5. ttel. nn Legyen S = E + R R ,


regulris, s

ahol

R =: q < 1

valamilyen induklt normban. Ekkor

S1

1 . 1q

tankonyvtar.bme.hu 57

3.

Lineris egyenletrendszerek megoldsa

Bizonyts. Legyen

Rx

x Rn

egy tetszleges vektor. Ekkor

x = Sx Rx,

azaz

x Sx +

. gy

Sx x Rx x R x = x (1 R ) = x (1 q),
ami mutatja, hogy

x = 0 esetn Sx = 0, azaz S regulris. Emellett S1 = sup


z=0

S1 z z

= sup
z=Sx

x=0

x 1 . Sx 1q

3.2.6. ttel. nn Legyen A R

regulris mtrix, s tegyk fel, hogy

normban. Ekkor az

A + A mtrix is regulris, s
(A + A)1

A1 A < 1

valamilyen induklt

A1 . 1 A1 A

Bizonyts. Mivel hogy

A1 A < 1, gy az elz ttel miatt E + A1 A regulris. Vegyk szre,


1

(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

felttel valamilyen induklt normban. Ekkor a perturblt egyenletrendszernek is egyrtelm

(A) 1 (A) A / A

Bizonyts. Mivel

A < 1/ A1

, ezrt

A1 A < 1. gy A + A regulris. Tovbb

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

58 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

tudunk brzolni az eredetiek helyett. Ezekre rvnyesek a

x megoldsra rvnyes az

(A)u

s u 1/2. Ekkor mg ha kerektsi hiba nlkl oldjuk is meg

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 ,

amely lnyegben a fent ismertetett eljrsok szisztematikus

lersa. A mdszer kt lpsbl ll. Az els az n.

visszahelyettests.

elimincis rsz

(Gauss-eliminci), a mso-

Az elimincis lpssel olyan alakra hozzuk az egyenletrendszert,

1 u a gpi pontossgot jelli.


tankonyvtar.bme.hu 59

3.

Lineris egyenletrendszerek megoldsa

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

egyenletrendszer megoldst keressk, ahol

A Rnn ,

Az egyszersg kedvrt csak az ismeretlenek egytthatit kirva az

egyenletrendszer az albbi alak.

a11 a21 a31


. . .

a12 a22 a32 an2

... ... ... ...

a1n a2n a3n ann

b1 b2 b3 bn

an1
Lssuk el az egytthatkat egy

(1)

fels indexszel, amely mutatja, hogy ez az eliminci sorn

nyert els (azaz az eredeti) egyenletrendszer

a11 (1) a21 (1) a31


. . .

(1)

a12 (1) a22 (1) a32 an2


(1)

(1)

... ... ... ...

a1n (1) a2n (1) a3n ann


(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)

b1 (1) b2 l21 b1 (1) b3 l31 b1 . bn ln1 b1


(2)
fels

(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)

a12 (2) a22 (2) a32 an2


(2)

(1)

. . . a1n (2) . . . a2n (2) . . . a3n ... ann


(2)

(1)

b1 (2) b2 (2) b3 . bn
(2)

(1)

60 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.3.

Gauss-mdszer

Most kiszmtva az

l32 = a32 /a22 , . . . , ln2 = an2 /a22


(1) (1) (1)

(2)

(2)

(2)

(2)

szorzkat, hasonlan lenullzhatjuk a

msodik oszlop ftl alatti elemeit is, majd tindexels utn kapjuk az j

a11 0 0
. . .

a12 (2) a22 0 0

. . . a1n (2) . . . a2n (3) . . . a3n ... ann


(3)

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)

a12 (2) a22 0 0

(1)

... ... ... ...

a1n (2) a2n (3) a3n ann


(n)

(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 =
. . .

bn1 an1,n xn an1,n1


(n1)

(n1)

(n1)

x2 = x1 =
rtkeket kapjuk.

b2 xn a2n x3 a23 a22


(1) (1) (2)

(2)

(2)

(2)

b1 xn a1n x2 a12 a11


(1)

(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

Azokat a ftlbeli elemeket, melyek segtsgvel lenullzzuk az alattuk lv elemeket,

fele-

nevezzk. Egy adott felem alatti elemek kinullzst felrhatjuk mtrixszorzs segts-

tankonyvtar.bme.hu 61

3.

Lineris egyenletrendszerek megoldsa

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

det(A(1 : k, 1 : k)) = 0 (k = 1, . . . , n).

A mtrix egyik fminorja sem zrus,

Bizonyts. A Gauss-eliminci sorn az egyes sorokbl kivonjuk ms sorok szmszorosait. Ez az eljrs nem vltoztatja meg a determinnst. Teht

det(A(1 : 1, 1 : 1)) = det(A(1) (1 : 1, 1 : 1)) = a11 = 0,


(1)

det(A(1 : 2, 1 : 2)) = det(A(2) (1 : 2, 1 : 2)) = a11 a22 = 0,


(1) (2)
. . .

det(A(1 : n, 1 : n)) = det(A(n) (1 : n, 1 : n)) = a11 a22 . . . a(n) = 0. nn


(1) (2)
Az utols felttel a visszahelyettests miatt kell, hiszen ez gy kezddik, hogy kell az

ann -el

(n)

osztanunk

xn

ismeretlen kiszmtshoz. Ebbl kvetkezik az llts.

3.3.3. ttel. Ha az A mtrix


1. szigoran dominns ftlj, 2. szimmetrikus, pozitv denit mtrix, 3.

M -mtrix,

akkor a Gauss-mdszer vgrehajthat az elz algoritmussal. Bizonyts. 1. Legyen

A elszr szigoran dominns ftlj. Elszr megmutatjuk, hogy az


i-edik
sorban dominns a ftl, azaz

elimincis eljrs ez a tulajdonsg megrzdik. Elegend ezt az els ill. i-edik sorra megmutatni. Tegyk fel teht, hogy az els s

|a11 | > |a12 | + |a13 | + + |a1n | / |ai1 |


s

|aii | > |ai1 | + + |ai,i1 | + |ai,i+1 | + + |ain | / |a11 |.


62 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

|aii a11 | > |a1i ai1 | +


j=2,j=i
Az j mtrix

(|a1j ai1 | + |aij a11 |).

i-edik

sornak

i-edik

eleme:

(aii a11 ai1 a1i )/a11 .

|aii a11 ai1 a1i | ||aii a11 | |ai1 a1i ||


n n

>
j=2,j=i
Vgl az

(|a1j ai1 | + |aij a11 |)


j=2,j=i

|a1j ai1 aij a11 |.

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 |

rtkkel val oszts mutatja a dominancit.

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,

nemnegatv mtrix csupa egyessel a ftljban.

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

mveletszmokat sszeadjuk az sszes felemre. gy az eliminci mveletszma

n1

n1

(2(n k + 1)(n k) + n k) =
k=1 k=1

2(n k)2 + 3(n k)

2(n 1)n(2n 1) 3(n 1)n 4n3 + 3n2 7n 2 + = = n3 + O(n2 ) 6 2 6 3 n

op.

Itt felhasznltuk az els

termszetes szm sszegre s ngyzetsszegre vonatkoz sszegkp-

leteket. A visszahelyettests mveletignyrl knnyen lthatan A Gauss-mdszer teljes mveletignye teht

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.

Lineris egyenletrendszerek megoldsa

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

rtkeket keressk. A Gauss-elimincit

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 elimincis mveletszm csak

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

oszlop elimincija utn az egyenletrendszer az

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

megfelel konstansok. Nyilvnvalan

2 =

f1 c1 , 2 = b1 b1

s az eliminci ill. a felemmel val oszts miatt

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

egytthatk meghatrozhatk, st ha bevezetjk az

1 = 1 = 0

kezdeti rtkeket, akkor az is knnyen megjegyezhet, hogy honnt kell indtani

a (3.3.1) rekurzit. Az eliminci utn teht az

2 1

3
.. . .. .

n 1

. . . xn1 xn

x1 x2

2 3
. . .

n (fn an n )/(bn + n an )

64 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.4.

LU-felbonts

egyenletrendszerhez jutunk. A visszahelyettestsnl innt nyilvnvalan

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

op mveletet ignyel.

Inga-mdszer

for i:=1:n-1 do end for

1 := 0, 1 := 0 i+1 := ci /(ai i + bi ) i+1 := (fi ai i )/(ai i + bi )

for i:=n:-1:2 do end for

yn := (fn an n )/(an n + bn ) yi1 := i yi + i

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

fels hromszgmtrix alakra hozhat. Ezt a tulajdonsgot bvti ki az albbi ttel.

3.4.1. ttel. (LU-felbonts) nn Tegyk fel, hogy az A R

mtrixra

det(A(1 : k, 1 : k)) = 0 (k = 1, . . . , n 1),

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

normlt (ftlban egyesek

U mtrix. gy teht

mtrixot fels hrom-

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.

Lineris egyenletrendszerek megoldsa

Mivel

(E lk eT )1 = E + lk eT , k k

s k k l l

l eT l eT = 0 ha l > k, az A mtrix az albbi alakban rhat


n1

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

=:L,als normlt hromszgmtrix


Az egyrtelmsg igazolshoz tegyk fel, hogy van kt klnbz LU-felbontsa is az invertlhat mtrixnak:

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.

Ha egy regulris mtrixnak valamelyik fminorja nulla, akkor nincs LU-

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

a korbbiak alapjn a kvetkez esetekben rdemes kihasznlni.

Determinns. A mtrix determinnsa megkaphat, ha az szorozzuk.

U mtrix ftlbeli elemeit ssze-

Lineris egyenletrendszer megoldsa. Ha mr kiszmoltuk egy mtrix LU-felbontst, akkor s

trolhat

helyn a szmtgp memrijban, hiszen az

ll egyeseket nem kell eltrolnunk. Ekkor az

L mtrix ftljban Ax = L(Ux) = b egyenletrendszert mr kt


2n3 /3

hromszgmtrix egyenletrendszer megoldsval meg tudjuk oldani. gy a mveletszm

2n2

op lesz, ami nagysgrenddel kisebb, mint a Gauss-mdszer

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

2n3 /3 + O(n2 ) mvelet, majd

66 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.5.

Felemkivlaszts, ltalnos LU-felbonts, Cholesky-felbonts

pedig megoldunk rok. Ez tovbbi

n 2n3

darab lineris egyenletrendszert, melyek jobb oldalai az egysgvektomvelet, ami sszesen

8n3 /3 + O(n2 )

mveletet ad. Ha elre ismert az

LU-felbonts, akkor csak

2n

a mveletszm.

Ha nem ismert elre az LU-felbonts, akkor a fentinl jobb mveletszmot rhetnk el, nevezetesen

2n2 +O(n2 )-et, ha a Gauss-eliminci helyett az n. GaussJordan3 -elimincit

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.

3.5. Felemkivlaszts, ltalnos LU-felbonts, Cholesky-felbonts


3.5.1. Felemkivlaszts
Eddig a Gauss-mdszernl s az LU-felbontsnl feltettk, hogy az eljrs vgrehajthat, azaz nem fordul el olyan eset, hogy a felem nulla lenne. Most nzzk meg azt az esetet, amikor ez

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 |]

gpi pontossg. Bevezetve egy mtrixra, a fentiek szerint a

A = [aij ] Rnn

aij

elemre

mtrix esetn az

|fl(aij ) aij | u|aij |, |A| Rnn jellst

|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

ksztjk el egy olyan szmtgpen, s

gpi pontossg lebegpontos szmokat hasznl. Tegyk fel tovbb, hogy az elimi-

nci sorn  mely alatt egyik felem sem lett nulla  az melyekkel

L LU A = A. Ekkor rvnyes a kvetkez becsls:

mtrixokhoz jutottunk,

| A| 3(n 1)u(|A| + |L| |U|) + O(u2 ).

A fenti becslsben szerepel az

| L|

mtrix, gy az egyik clunk az lehet, hogy az eliminci

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.

Lineris egyenletrendszerek megoldsa

vlnak tl naggy, ksbb lesz sz. Mivel felemnek az

elemeit gy kapjuk, hogy a felemmel osztjuk le az

egyes oszlopok ftl alatti elemeit, gy ezek az elemek 1-nl nem nagyobb abszoltrtkek, ha

A(k) (k + 1 : n, k) vektor legnagyobb abszoltrtk elemt vlasztjuk.

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 -adik lpsben a felemet

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.

0.003x1 + 59.14x2 5.291x1 6.13x2


A pontos megolds

= 59.17 = 46.78
Felemkivlaszts nlkl a megolds

x1 = 10.00, x2 = 1.000.

x1 = 10, x2 = 1.001

(a kiegyszersds miatt hamis eredmnyt kapunk), rszleges f-

elemkivlasztssal a pontos eredmnyt kapjuk.

3.5.2. ltalnos LU-felbonts


Az LU-felbonts csak olyan minden

A Rnn mtrixokra vgezhet el, melyeknek minden 1, 2, . . . , n1-

ed rend bal fels sarokdeterminnsa klnbzik nulltl. Az albbi ttel azt mutatja, hogy

mtrix sorai trendezhetk gy, hogy az gy keletkez mtrixnak legyen mr LU-

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.

mtrixszal. Az eljrs minden mtrixszal

Legyen Ha

A(1) = A, s k = 1.
akkor legyen

A(k) (k : n, k) = 0,

Pk = Lk = E,

klnben vlasszuk ki a vektor nem

nulla elemei kzl a legnagyobb abszoltrtkt (legyen ez

ask

(k)

), s deniljuk a

Pk = [e1 , . . . , ek1 , es , ek+1 , . . . , es1 , ek , es+1 , . . . , en ]T


permutcis mtrixot, valamint legyen Gauss-transzformcis mtrix. 68 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

Lk

Pk A(k)

mtrix

k -adik

oszlophoz tartoz

3.5.

Felemkivlaszts, ltalnos LU-felbonts, Cholesky-felbonts

Legyen

A(k+1) = Lk Pk A(k) .
k = k + 1,
s jrjunk el hasonlan, mg

Ezutn legyen

k=n

nem lesz.

Vgrehajtva az elz lpseket, elll egy

U = Ln1 Pn1 . . . L1 P1 A
fels hromszgmtrix. Mivel

P2 = E i

(hiszen

Pi

az

i-edik

sort cserli egy nagyobb sorszm

sorral, gy ha ktszer alkalmazzuk, akkor az egysgmtrixot (identitst) nyerjk), ezrt

Ln1 Ln2 . . . L1 Pn1 Pn2 . . . P1 A = U,


ahol

Ln1 = Ln1

Lk = Pn1 Pn2 . . . Pk+1 Lk Pk+1 . . . Pn2 Pn1 .


Mivel

Lk = E lk eT , s Pk k
Lk = E

k -adik

sort vagy oszlopot cserli egy nagyobb sorszmra, ezrt

Pn1 Pn2 . . . Pk+1 lk


=:lk

eT Pk+1 . . . Pn2 Pn1 . k


eT k

lk (k + 1 : n) elemeinek cserivel
alakak, gy inverzei

Az

Lk

mtrixok

E lk eT k

= E + lk eT k

alakban rhatk, melyek

szorzata normlt als hromszgmtrix lesz. Legyen

L = L1 . . . Ln1 .
A rszleges felemkivlasztsbl kvetkezik, hogy (emiatt

L n). Tovbb legyen

L-nek nincs 1-nl nagyobb abszoltrtk eleme

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

a lebegpontos szmokkal val rszle-

ges felemkivlasztsos Gauss-elimincis eljrs sorn a

P LU A = A. Ekkor rvnyes a

P, L

mtrixokhoz jutottunk,

T | A| 3(n 1)u(|A| + |P | |L| |U|) + O(u2 )


becsls. Teht

3(n 1)u( A

+n U

+ O(u2 ).

hogy ha rszleges felemkivlasztst csinlunk annak rdekben, hogy be a

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.

Lineris egyenletrendszerek megoldsa

n. nvekedsi faktort, ami azt mri, hogy az eliminci sorn az eliminlt lpsekbeli elemei mennyire nhetnek meg becslst kapjuk

mtrix egyes

-hoz kpest. A nvekedsi faktorral a kvetkez

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

Bizonyts. A felttelek mellett elvgezhet az LU-felbonts, s sem lesz nulla. Legyen

M = (D1 U)T

D =

diag(diag(

U)),

azaz

az

mtrix diagonlmtrixa. Ekkor az

mtrix egy normlt als hromszgmtrix. Tovbb

LD(D1 U) = LU = A. Az

egyrtelmsg az LU-felbonts egyrtelmsgbl kvetkezik. Szimmetrikus

A mtrix esetn a felbonts tovbb egyszersdik. L

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.

Felemkivlaszts, ltalnos LU-felbonts, Cholesky-felbonts

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

Bizonyts. Az elz ttel alapjn az

mtrix egyrtelmen felrhat

A = LDLT

alakban.

2n3 /3 + O(n2 )).

haladva hatrozhatjuk meg az

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

G mtrixot keresnk teht, mellyel


g21 g22 0 g31 2 g32 = 1 g33 0 1 2 1 0 1 . 2

g11 GGT = g21 g31

0 g22 g32

0 g11 0 0 g33 0

A fenti egyenlsgbl egyszerre ltszik, hogy a

mtrix els oszlopa gy ll el, hogy

g21 = a21 / a11 = 1/ 2 Ezutn az A(2 : 3, 2)


Teht

els oszlopt elosztjuk els elemnek gykvel. Ezek szerint teht s

g31 = a31 / a11 = 0. T vektorbl levonjuk a [g21 , g31 ] 2 1 1/ 2 0 3/2


s

A g11 = a11 / a11 = 2,

vektor

ltrejv vektort osztjuk ezen vektor els elemnek gykvel. Ez lesz

g21 -szerest, majd az gy G(2 : 3, 2) oszlopa.

g22 =

1 = 2

3/2 1

majd ezt osztjuk

3/2-del.

gy

g32 = 2/3.

A harmadik oszlophoz (specilisan most annak egyetlen nem nulla elemhez) az vektorbl kell levonnunk a

G(3, 1 : 2)GT (3, 1 : 2) mtrixot:

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.

A fenti pldban bemutatott vektoros ellltst elemenknt kirva a

i1

gii =

aii
j=1

2 gij , i = 1, . . . , n,
(3.5.1)

gki

i1 1 = aki gij gkj , k = i + 1, . . . , n, i = 1, . . . , n gii j=1

tankonyvtar.bme.hu 71

3.

Lineris egyenletrendszerek megoldsa

kpleteket nyerjk a mveletigny

n3 /3 + O(n2 )

mtrix

elemeivel val elemenknti ellltsra. Ezzel a mdszerrel a

lesz, azaz kb. feleakkora, mint az LU-felbonts (gy valban kihasz-

nltuk a szimmetrit).

3.5.9. megjegyzs.

Ha a mtrix nem szimmetrikus, pozitv denit mtrix, akkor az algoritmus

valamelyik lpsben elakad. Ezt a jelensget felhasznlhatjuk arra, hogy megllaptsuk, hogy egy szimmetrikus mtrix pozitv denit-e.

3.6. Lineris egyenletrendszerek klasszikus itercis megoldsa


Most ttrnk a lineris egyenletrendszerek klasszikus itercis megoldsi mdszereire. Tovbbra is feltesszk, hogy az

Ax = b

egyenletrendszer egytthatmtrixa ngyzetes, s determinnsa

nulltl klnbzik. Ekkor az egyrtelm megoldst jellje

. Az itercis mdszerek ltalban

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-

rixszal val szorzs s a vektorsszeads mveletignye jelenten, hogy pl. egy

2n2

op. Azaz kb.

n/3

itercis lpst

vgezhetnk az itercival ahhoz, hogy a Gauss-mdszer mveletignyt ne haladjuk meg. Ez azt

100 100-as

egyenletrendszer megoldsa sorn 33 lpsbl elegenden

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

(azaz olyan mt5

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.

Hogyan vlasszuk meg a

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

fggvnyt. Erre a fggvnyre valamilyen

vektornormban s a neki megfelel induklt mtrixnormban igaz, hogy

F(x1 ) F(x2 ) = Bx1 + f (Bx2 + f) = B(x1 x2 ) B x1 x2


tetszleges

x1 , x2 Rn

vektorokra. gy teht, ha

B < 1,

akkor az

lekpezs kontrakci,

s teljeslnek a Banach-fle xpontttel felttelei. Ebben az esetben teht a (3.6.1) itercit

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.

Lineris egyenletrendszerek klasszikus itercis megoldsa

brmilyen vektorrl indtva az

F lekpezs xpontjhoz fog tartani, ami a lineris egyenletrend-

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

felttel szksges s elgsges felttele

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)

e(k) = x(k) x az n. hibavektor. Ekkor 0 (k ), azaz e(k) 0 valamilyen normban.

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+1) = x(k+1) x = Bx(k) + f (Bx + f) = Be(k)


egyenlsg miatt

e(k) = Bk e(0) .

A konvergencihoz az kell, hogy

aminek szksges s elgsges felttele, hogy

(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

konvergenciasugara. gy a konvergencira s a konvergencia sebessgre vonatkoz krdsekre mr

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

iterci konzisztens az egyenletrendszerrel. Az

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",

ami gyors konvergencit eredmnyezne.

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.

Lineris egyenletrendszerek megoldsa

3.6.1. Jacobi-iterci
Az

S = D s T = U + L vlasztssal konstrult x(k+1) = D1 (L + U) x(k) + D1 b


:=BJ
(3.6.2)

itercit (

x(0)

tetszleges kezdvektor)

mtrixt a tovbbiakban

BJ

Jacobi7 -itercinak
n

nevezzk. A Jacobi-iterci itercis

jelli majd. Az itercit vektorkomponensenknt kirva az

xi
itercit nyerjk.

(k+1)

1 = aii

aij xj
(k)

bi , i = 1, . . . , n

j=1,=i

3.6.2. GaussSeidel-iterci
Az

S = D L s T = U vlaszts x(k+1) = (D L)1 U x(k) + (D L)1 b


BGS

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

suk t az itercis kpletet. Szorozzunk elszr balrl a mindkt oldalhoz utn az

Lx(k+1) -et,

(D L)

mtrixszal, majd adjunk hozz

inverzvel. A fenti ekvivalens talaktsok

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

i1 n 1 (k+1) (k) = aij xj + aij xj bi aii j=1 j=i+1

(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

a GaussSeidel-mdszer az korbban kiszmolt

(k+1)

x(k)

vektort hasznlja, mg

vektor i-edik elemnek meghatrozshoz felhasznlja a vektor index elemeit (

j = 1, . . . , i 1

x(k)

megfelel elemei helyett).

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.

Lineris egyenletrendszerek klasszikus itercis megoldsa

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

(k+1) (k+1) (k+1)

= 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.

A GaussSeidel-mdszernl felhasznljuk az j vektor mr kiszmolt komponenseit, gy ez az

x1

(k+1) (k+1) (k+1)

= 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

kezdvektorral teht az els egyenletbl azt kapjuk, hogy

1,

a msodik egyenletbl

x2

(1)

= 2

s a harmadikbl (s ez eltr a Jacobi-mdszer esetn

(1) kapottl) x3 = 5/2. Lthat, hogy

0 BJ = 1/2 0
s

1/2 0 0 1/2 1/2 0

(BJ ) = 1/ 2 0.7071,

mg

BGS
s a spektrlsugara

0 = 0 0

1/2 1/4 1/8

0 1/2 1/4

(BGS ) = 1/2. Teht mindkt mdszer az egyenletrendszer megoldshoz

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.

Lineris egyenletrendszerek megoldsa

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.

Legyen egy lineris algebrai egyenletrendszer egytthatmtrixa

1/2 1 2

A = 1/2
2
Ekkor

1 . 1 0 1/2 1

1/2 0

BJ = 1/2
gy

(BJ ) = 1/2 < 1

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

egyenletrendszerekre a Jacobi-mdszer konvergens a GaussSeidel-mdszer pedig nem.

3.6.3. Relaxcis mdszerek


Az elz kt itercis mdszer esetn az itercis mtrix spektrlsugara adott rtk, csak az

prekondicionlsi mtrix megvlasztstl fgg. Ha teht a spektrlsugr egynl nem kisebb,

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

S mtrixot vlasztunk, vagy pedig az adott S prekondicionlsi mtrix mellett bevezetnk

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

vektort, s az iterci a kvetkez lpsben az teht felrhat

(k) itercis lpsnl tartva ismerjk mr az (k+1) vektort eredmnyezn. A (k + 1)-edik lps J

x(k+1) = x(k) + (x(k+1) x(k) ) J

pozitv paramtert, s deniljuk az albbi itercit (3.6.4)

alakban. Vezessnk be most egy

x(k+1) = x(k) + (x(k+1) x(k) ). J


Ez a mdosts gy foghat fel, hogy az adott

(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

eset visszaadja a Jacobi-itercit.) Ha

> 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

vektor kplett az iterci (3.6.2) alakjt felhasznlva.

x(k+1) = x(k) + (D1 (L + U)x(k) + D1 b x(k) ).


76 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.6.

Lineris egyenletrendszerek klasszikus itercis megoldsa

Ebbl kapjuk, hogy

x(k+1) = ((1 )E + D1 (L + U)) x(k) + D1 b.


BJ()
Koordintnknt kirva ez az

(k+1) xi

= (1

(k) )xi

aii

n (k) aij xj

bi , i = 1, . . . , n

j=1,j=i

mdszert jelenti. Az itercis mtrix teht

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)

vlasztsnak felel meg, hiszen

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

szabadon vlaszthat paramter, gy lehetsget ad arra, hogy gy vlasszuk

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

BGS() jelli majd. Induljunk ki

x(k+1) J

vektort a GaussSeidel-mdszer ltal adott vektorra cserlve.

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

Mtrixos alakra trva az

x(k+1) = (D L)1 ((1 )D + U) x(k) + (D L)1 b.


BGS()
itercit nyerjk, teht

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)

mtrixokat vlasztjuk. Tetszleges

esetn a SOR mdszer is konzisztens az egyenletrendszerrel. tankonyvtar.bme.hu 77

3.

Lineris egyenletrendszerek megoldsa

3.6.4. Itercis mdszerek konvergencija


Korbban mr lttuk, hogy egy, a lineris egyenletrendszerrel konzisztens itercis mdszer pontosan akkor konvergens, amikor itercis mtrixnak spektrlsugara kisebb egynl. Most vizsgljuk meg azt a krdst, hogy hogyan lehet ezt biztostani egy adott egyenletrendszerre, ill. hogy az elz fejezetben ismertetett itercik esetn mikor lehetnk biztosak a konvergenciban. Trjnk vissza a konzisztens itercik Ebben az esetben teht

S T az itercis mtrix, teht ennek spektrlsugarrl kell biztostani,


1

x(k+1) = S1 Tx(k) + S1 f alakjhoz, ahol A = S T.

hogy 1-nl kisebb legyen.

3.6.5. denci. nn Az A R mtrix A = S T 1 S 0 s T 0.

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

mtrix a felttelek szerint jl denilt s nemnegatv mtrix.

Ekkor tetszleges pozitv egsz

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).

3.6.7. ttel. Legyen A egy


ha

olyan ngyzetes mtrix, melynek a ftljn kvl nincs pozitv eleme. Ekkor

pontosan akkor van az

A M-mtrix.

A mtrixnak olyan A = ST regulris felbontsa, melyre (S1 T) < 1,

Bizonyts. Legyen elszr elemek llnak) s elz ttel miatt

regulris. A korbbi jellsekkel legyen

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

egyenlsgbl s becslsbl ltszik, hogy nemnegatv mtrix.

A invertlhat, hiszen ellltottuk invertlhat mtri-

xok segtsgvel az inverzt. Az inverz mtrixot elllt sor tagjai nemnegatvok, gy az inverz

78 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.6.

Lineris egyenletrendszerek klasszikus itercis megoldsa

3.6.8. ttel.
Ha az egyenletrendszer egytthatmtrixa M-mtrix, akkor a Jacobi, a GaussSeidel-itercik s ezek relaxlt vltozatai

(0, 1)

mellett konverglnak az egyenletrendszer megoldshoz

tetszleges kezdeti vektor esetn. Bizonyts. Ha

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.

A JOR itercira a (3.6.6) kpletben szerepl

(0, 1].

=1

eset felel meg a Jacobi s GaussSeidel-mdszereknek.

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.

Ezek utn a Jacobi-itercira az llts az albbi becslsbl kvetkezik.

(BJ ) BJ
A GaussSeidel-itercira a

= D1 (L + U)

= q + s < 1.

BGS

itercis mtrixot felrjuk

BGS = (D L)1 U = (E D1 L)1 D1 U


alakban. gy teht

(BGS ) BGS

= (E D1 L)1 D1 U

1 s 1q s= < = 1, 1q 1q 1q

ahol az els tnyez becslsnl a 3.2.5. ttelt alkalmaztuk.

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.

D L mtrixszal balrl szorozva LT v = (D L)v,


(3.6.8)

majd a sajtvektor konjuglt transzponltjval szintn balrl szorozva kapjuk, hogy

vH LT v = vH (D L)v.
Az egyenlsg minkt oldalt a

vH (D L)v kifejezsbl kivonva vH Av = (1 )vH (D L)v


tankonyvtar.bme.hu 79

3.

Lineris egyenletrendszerek megoldsa

addik. A jobb oldalt tovbb alaktva kapjuk, hogy

(1 )vH (D L)v = (1 )(vH Dv vH Lv) = (1 )(vH Dv vH (D LT )v),


ahol felhasznltuk (3.6.8) konjuglt transzponltjt. Mivel a bal oldalon egy vals mtrix ll, melynek transzponlt konjugltja nmaga, gy kapjuk az

(1 1)-es

(1 )vH (D LT )v = (1 )(vH Dv vH (D LT )v)


egyenlsget. Egyszersts utn nyerjk az

(1 ||2 )vH (D LT )v = (1 )vH Dv


egyenlsget, majd

(1 )-val

szorozva mindkt oldalt

(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

szingulris lenne. Emiatt az egyenlsg

jobb oldaln pozitv szm ll, gy a bal oldal is pozitv, azaz

1 ||2 > 0.

Teht

|| < 1.

Trjnk t a SOR iterci vizsglatra. Elszr egy szksges felttelt igazolunk a konvergencira.

3.6.11. ttel. (Kahan [19], 1958)


A SOR mdszer esetn

(BGS() ) |1 |, (0, 2).

azaz a konvergencia szksges felttele

Bizonyts. Igazak az albbi egyenlsgek:

|i | = | det(BGS() )| =
i=1

= | det((D L)1 )| | det((1 )D + U)| = |1 |n .


Teht

(BGS() ) = max |i |
i=1,...,n n 1/n

Szmt. mrt. kz.

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.

80 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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).

3.6.5. Lellsi felttelek


Mr csak annak tisztzsa maradt htra, hogy mikor hagyjunk abba egy itercis eljrst. Honnt tudjuk, hogy milyen messze vagyunk az ismeretlen megoldstl az iterci sorn? Most felsorolunk nhny lehetsges szablyt, n. lellsi felttelt az itercihoz.

Ha

B < 1 valamilyen normban, akkor a Banach-fle xpontttel miatt x x(j)


1 B

x(1) x(0) .

rtkbl s az els iterci eredmnybl megmondhatjuk, hogy hny itercira van

szksg az adott normabeli pontossg elrshez.

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)

elegenden kicsi, akkor

r(k) = b Ax(k) . Ha r(k+1) r(k) / r(0)

elegen-

kmax

rtket, ahol mindenkppen abbahagyjuk az itercit.

Ezek kzl akr tbbet is alkalmazhatunk. Pl. az utols felttelt minden programba rdemes bepteni, hogy gondoskodjunk a tnyleges lellsrl.

3.7. Varicis mdszerek


Ebben a fejezetben a lineris egyenletrendszerek megoldsnak egy jabb itercis megoldsi lehetsgt mutatjuk be szimmetrikus, pozitv denit mtrixokra. Az alaptlet az, hogy megadunk egy tbbvltozs fggvnyt, melynek abszolt minimumhelye az egyenletrendszer megoldsa. Ezt a minimumhelyet keressk meg egy megfelel itercis eljrssal. Legyen teht

A Rnn

szimmetrikus, pozitv denit mtrix, s tekintsk a

(x) = n-vltozs

1 T x Ax xT b 2

fggvnyt. Az sszeszorzott mtrixok mrete szerint a jobb oldali kifejezs valban

egy vals szmot (egy

(1 1)-es

mtrixot) rendel minden vektorhoz. Elszr megmutatjuk, hogy

ennek a fggvnynek egyetlen abszolt minimumhelye van az

Ax = b egyenletrendszer megoldsa.

Rn

halmazon s ez pontosan az

tankonyvtar.bme.hu 81

3.

Lineris egyenletrendszerek megoldsa

3.7.1. ttel. A (x) fggvnynek T b A1 b/2.


Bizonyts. Legyen miatt

abszolt minimuma van az

x = A1 b

pontban. A minimum rtke

x = x +x egy tetszleges vektor. Ekkor a xT Ax = xT b egyenlsg


1 (x + x) = (x ) + xT Ax. 2
(3.7.1)

Ezutn

pozitv denitsgbl kvetkezik az llts. A minimum rtke egyszer behelyettes.

tssel addik. A a

(x)

fggvny mindegyik vltozja szerint parcilisan derivlhat, gy minden pontban

rtelmezve van a fggvny gradiense. Most kiszmtjuk a gradiensfggvnyt. Hatrozzuk meg

(x)

fggvny

xk

vltoz szerinti parcilis derivltjt

(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,

gy egyszersdik a derivland kifejezs.

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

Azaz a gradiensfggvny grad ( maradkvektor rtke az

x) = Ax b. Egy lineris egyenletrendszer esetn az r = b Ax

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. (

A = E esetn koncentrikus kr.)


Tekintk a

c b A1 b/2

rtkhez tartoz szintvonala egy

centrum

3.7.2. plda.
2, x2 = 1.

2x1 = 4, 8x2 = 8

egyenletrendszert, melynek megoldsa

x1 =

Ekkor ez a megolds lesz a

(x) = x2 + 4x2 4x1 8x2 = (x1 2)2 + 4(x2 1)2 8 1 2


ktvltozs fggvny minimuma, ahogy ez az talaktsbl lthat is. A tartoz szintvonal egyenlete

c = 0

rtkhez

(x1 2)2 (x2 1)2 + = 1, 8 2

82 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.7.

Varicis mdszerek

ami egy

kzep,

ill.

fltengely ellipszis egyenlete.

Az elbbiek alapjn a

(x) fggvny minimumhelynek megkeresse tulajdonkppen egy olyan

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

egyvltozs fggvny egyrtelm

1 g() = (x + p) = (x) pT r 2 pT Ap 2 1 T = (x) + p Ap pT r 2 -ban


msodfok polinom, melynek fegytthatja pozitv (

minimumt valban az

= pT r/(pT Ap)

A pozitv denitsge miatt), ezrt a


(x)
fggvny minimumhelynek

rtknl veszi fel.

Ezek utn meg is adhatjuk a legegyszerbb algoritmust a

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

(x) legkisebb fggvnyrtkt s a minimumhelyt. Ezt a minimumhelyet vlasztjuk a kvetkez

x0 pontbl a p1 keressi irnyban az elz ttellel meghatrozzuk a

p1 , p2 , . . .. Ekkor az albbi x0 = 0 (de vlaszhatunk

x1 kzeltsnek. Ezutn hasonlan jrunk el mindig a kvetkez keressi irnyt vlasztva az adott
pontbl. Az algoritmus az albbi mdon foglalhat ssze.

p1 , p2 , . . . = 0 keressi irnyokkal, A Rnn pozitv denit, b Rn adott. k := 0, r0 := b, x0 := 0 (lehet ms is) while rk = 0 do


Alap algoritmus: minimalizls adott

end while

k := k + 1 k := pT rk1 /(pT Apk ) k k xk := xk1 + k pk rk := b Axk

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.

Lineris egyenletrendszerek megoldsa

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

kebb ereszkeds (angolul steepest descent) mdszernek hvjuk. maradkvektor, az az itteni

vektor irnyba az

x + (rT r/(rT Ar))r rT r r rT Ar

pontbl, ahol

r = b Ax

pontba lpnk tovbb. Innt pedig

bA x+ rT r r rT Ar

maradkvektor irnyban keressk a kvetkez irnymenti minimumot. Az

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.

A gradiens-mdszer algoritmusa teht a kvetkez.

A Rnn pozitv denit mtrix, b Rn k := 0, r0 := b, x0 := 0 (lehet ms is) while rk = 0 do


Gradiens-mdszer,

adott vektor.

end while

k := k + 1 k := rT rk1 /(rT Ark1 ) k1 k1 xk := xk1 + k rk1 rk := b Axk

Vizsgljuk meg a gradiens-mdszer konvergencijt. A kvetkez ttel arra ad becslst, hogy a

fggvny rtke hogyan vltozik egy-egy lps sorn.

84 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.7.

Varicis mdszerek

3.7.4. ttel.
A gradiens-mdszer sorn rvnyes a

(xk+1 ) + (1/2)b A1 b (xk ) + (1/2)b A


becsls

1 2 (A)

(k = 0, 1, . . .)

Bizonyts. Egyszer talaktsokkal kapjuk, hogy a bal oldali trt nevezje

(xk ) + (1/2)b A1 b =

1 T T x Axk xT b + (1/2)b A1 b k 2 k 1 1 T = xT (Axk b) + (b A1 xT ) b k 2 k 2


(b xT A)A1 k
T

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

rk+1 rk = b Axk+1 (b Axk )


= A(xk+1 xk ) = Ak+1 rk .
gy

rk+1 = (E Ak+1 )rk .


(xk+1 ) + (1/2)b A1 b (xk ) + (1/2)b A1 b
T T

Teht

rT A1 rk+1 rT (E k+1 A)A1 (E k+1 A)rk k+1 = k rT A1 rk rT A1 rk k k


2 2k+1 rT rk k+1 rT Ark k k

=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

cskken, azaz a mdszer nagyon lassan konvergl abban az esetben, ha

3.7.2. Konjuglt gradiens-mdszer


Termszetesen vetdik fel az a krds, hogy a keressi irnyok msfajta megvlasztsval nem lehetne-e gyorstani valahogy a konvergencit. Vizsgljuk meg a krdst egy ktvltozs lineris egyenletrendszeren! Tekintsk a 3.7.2. brt. Itt az

x0

pontbl indulva tlpnk az

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.

Lineris egyenletrendszerek megoldsa

3.7.2. bra.

Induljunk ki abbl a korbban igazolt lltsbl, hogy az ensvektor (-1)-szerese) merleges az

x1

x0

pontbeli keressi irny (a gradi-

pontbeli maradkvektorra.

0 = pT r1 = pT (b Ax1 ) = pT (Ax Ax1 ) = pT A(x x1 ). 1 1 1 1

x1 ) = 0 felttelt. Az egyszerbb megfogalmazs kedvrt vezessk be az albbi fogalmat. 3.7.5. denci. y vektorok
Legyen adva egy

Ebbl a kpletbl lthat, hogy az

x1 pontbl az x

megoldsba vezet vektor teljesti a

pT A(x 1

A-konjugltak (vagy A-ortogonlisak), ha xT Ay = 0.

A Rnn

szimmetrikus, pozitv denit mtrix. Azt mondjuk, hogy az

x s

Vegyk szre, hogy ha

A az egysgmtrix, akkor az A-ortogonalits pontosan a hagyomnyos


a

skalris szorzatbeli ortogonalitst jelenti. A denci segtsgvel teht mondhatjuk, hogy a hogy az legyen

A-ortogonlis

p1

keressi irnyra. Rgtn ltjuk, hogy ez lehetsges az

p2 keressi irnyt gy kell megvlasztanunk, x

megolds ismerete nlkl is. Keressk

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

rk+1 rk = b Axk+1 (b Axk )


= A(xk+1 xk ) = Ak+1 pk+1 .
gy

rk+1 = rk Ak+1 pk+1 .


Ktvltozs lineris egyenletrendszerre teht az albbi algoritmus alkalmazhat. Az algorit-

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.

Konjuglt gradiens-mdszer ktismeretlenes lineris egyenletrendszerre.

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.)

Konjuglt gradiens-mdszer, els vltozat.

A Rnn pozitv denit mtrix, b Rn k := 0, r0 := b, x0 := 0, p1 = r0 while rk = 0 do


k := k + 1 k := pT rk1 /(pT Apk ) k k xk := xk1 + k pk rk := rk1 k Apk k := pT Ark /(pT Apk ) k k pk+1 := rk k pk

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.

Lineris egyenletrendszerek megoldsa

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 .

r0 = 0 s r1 = 0, akkor x2 = x1 + 2 p2 = 1 p1 + 2 p2 = 1 r0 + 2 (r1 1 r0 ), ami mutatja az


llts els rsznek helyessgt. Tovbb

Br a bizonytshoz nem szksges, taln hasznos a

k = 2 eset rszletes vizsglata is: Ha teht

pT Ap1 = (rT 1 pT )Ap1 = pT Ar1 1 pT Ap1 = 0, 2 1 1 1 1 T T T T T r1 r0 = (r0 1 p1 A)r0 = r0 r0 1 p1 Ar0 = pT r0 1 pT Ap1 = 0. 1 1


Tegyk fel most, hogy az llts igaz k = l esetn, azaz xl {p1 , . . . , pl } = {r0 , . . . , rl1 }, rT rj = 0 (j = 1, . . . , l 2), pT Apj = 0 (j = 1, . . . , l 1). Vizsgljuk a k = l + 1 esetet! l1 l

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

rT rl1 = (rT l pT A)rl1 = 0. l l1 l


3.

j<l

esetn

pT Apj = (rT l pT )Apj = 0. l+1 l l


88 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.7.

Varicis mdszerek

4.

j=l
ezrt

esetn, mivel

rT Apl = pT Arl , l l pT Apl = (rT l pT )Apl = 0. l+1 l l

Ezt akartuk megmutatni.

3.7.7. megjegyzs. A bizonytsbeli azonossgokat felhasznlva a kvetkez sszefggsek nyerhetk:

k =
tovbb

rT rk1 k1 , pT Apk k

rT rk = rT (rk1 k Apk ) = k rT Apk , k k k rT rk1 = rT (rk + k Apk ) = k rT Apk = k pT Apk , k1 k1 k1 k


k =
T k k . T k1 k1

s gy

r r r

3.7.8. denci. nn Legyen A R egy szimmetrikus, az x A = xT Ax rtket rtjk.


Vezessk be az

pozitv denit mtrix. Egy

x Rn vektor

A-normjn

e(k) = x xk

jellst.

3.7.9. ttel. Ha rk1 = 0, akkor xk

az egyetlen pont

Vk -ban,

melyre

e(k) e(k)

A A,

minimlis.

e(1)
tovbb

e(2)

e(k) = 0 valamilyen k n esetn. x (xk x) = e(k) + x


vektorokat, ahol

Bizonyts. Tekintsk az

egy tetszleges

Vk -beli

vektor.

e(k) + x

(k) T (k) A = (e + x) A(e + x) =0

= (e(k) )T Ae(k) + xT Ax + 2

(e(k) )T A
=(Ae(k) )T =(bAxk )T =rT k

x
Vk

= (e(k) )T Ae(k) + xT Ax.


Lthat teht, hogy kzelt vektor A cskkense. tankonyvtar.bme.hu 89

x = 0 esetn lesz A-normban a Vk trbl.

a norma a legkisebb, azaz

xk

a megoldst legjobban monoton

V1 V2 Vk

tartalmazsokbl kvetkezik a hibavektorok

A-normjnak

3.

Lineris egyenletrendszerek megoldsa

Ha nem r vget az eljrs korbban, akkor Tovbb

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

A ttel kzvetlen kvetkezmnye, hogy a konjuglt gradiens-mdszer

lpsbl vget r, azaz annyi lpsbl, ahny ismeretlenje volt az egyenletrendszer-

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.

az itercit, akkor megkapjuk

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.

3.7.12. ttel. (Daniel [10], 1967) Legyen A szimmetrikus, pozitv denit

mtrix, melynek kondciszma

2 (A).

Ekkor a kon-

juglt gradiens-mdszer hibavektorra az albbi becsls rvnyes

(k)

A2

2 (A) 1 2 (A) + 1

e(0)

A.

3.7.13. ttel. Ha az A mtrixnak s db


feljebb

klnbz sajtrtke van, akkor a konjuglt gradiens-mdszer leg-

lpsben megadja a megoldst.

A korbbi eredmnyek gyelembevtelvel az algoritmus az albbi alakra egyszersdik:

Konjuglt gradiens-mdszer, javtott algoritmus.

A Rnn pozitv denit mtrix, b Rn k := 0, r0 := b, x0 := 0, p1 = r0 while rk = 0 do

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)

A konjuglt gradiens-mdszer mveletignye

2n2 + 11n 3 = O(2n2 )

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.

A konjuglt gradiens-mdszert gyakran hasznljk prekondicionltan. Ez

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,

knnyen invertlhat. Tekintsk ekkor a

(C1 AC1 )(Cx) = C1 b


egyenletrendszert. Ha ezt a konjuglt gradiens-mdszerrel oldjuk meg, akkor br minden itercis lpsben egy

C2

egytthatmtrix lineris egyenletrendszert kell megoldanunk, az eljrs

gyorsan konverglhat, mert a mtrix jl kondicionlt.

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.

Lineris egyenletrendszerek megoldsa

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

ortogonlis mtrix, a msodik pedig egy

fels hromszgmtrix. Ezzel el is llt egy QR-felbonts. Vegyk szre, hogy a

Q mtrix n+1 : m

mn

mret

mtrix ellltsban nem vesznek rszt, hiszen ezek az

mtrix nulla sorainak

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.

3.8.1. QR-felbonts Householder-tkrzsekkel


Legyen adott a

v=0

normlvektorval az

adott tovbb egy tetszleges

x vektornak a hiperskra merleges komponense


1

x vektor. Adjuk meg x-nek a hiperskra val tkrkpt! Mivel az v vT x , v 2

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

normlvektor hiperskra gy tkrzhetjk a vektorokat, hogy

H=E
mtrixszal szorozzuk. A tkrzst a bra szemllteti.

vT v

vektor egyrtelmen meghatrozza. A tkrzst a 3.8.1.

3.8.1. ttel. Egy adott v = 0 vektor esetn a H mtrix szimmetrikus s ortogonlis.


Bizonyts. A szimmetria ltszik, hiszen transzponlva visszakapjuk ortogonalitshoz.

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

vvT vvT vvT +4 T = E. vT v v v vT v


vektorra

A ttel kvetkezmnye teht, hogy tetszleges

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 )

xT x + x1 2vT x x T e1 xT x + 2x1 + 2 v v x 2 + x1 2vT x 2 x T e1 . = 12 x 2 + 2x1 + 2 v v 2


=x2

x = 0 esetn v = x x 2 e1
Hx =

Innt egyszerre addik, hogy

szorzja nullv tehet az

= x 2 x 2 x
2 2 2 2

2 vlasztssal. Teht adott

j vlaszts. Ekkor ugyanis

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-

sds elkerlse rdekben. eleme 1 legyen. Ekkor a

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.

Lineris egyenletrendszerek megoldsa

Legyen

C egy tetszleges mtrix. Ekkor a HC szorzatot a


HC =

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.

3.8.3. denci. m Legyen x R tetszleges


nevezzk. A korbbiak alapjn adott vektorbl meghatrozzuk a

vektor. Ekkor azt a

sgvektorral prhuzamos vektorba viszi (az

mtrixot, amely az

vektorhoz tartoz)

Householder10 -tkrzsnek

vektort az

e1

egy-

zel a

x vektorra gy v = x x 2 e1

llthat el a Householder-tkrzs, hogy az kplettel a tkrsk normlvektort, majd ez-

vektorral kpezzk a

tkrzsi mtrixot. Lthat, hogy egy adott

vektorhoz tbb

Householder-mtrix is ltezik. Householder-tkrzsekkel knnyen elllthat egy teljes oszloprang mtrix QR-felbontsa.

3.8.4. ttel. mn Legyen A R (m n)


ortogonlis s

egy teljes oszloprang mtrix. Ekkor lteznek olyan

RR

mn

fels hromszgmtrixok, melyekkel

A = QR .

Q Rmm

Bizonyts. A ttelt gy bizonytjuk, hogy Householder-tkrzsekkel ellltjuk a keresett felbontst. Legyen

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

3.8.2. QR-felbonts Givens-forgatsokkal


Ismert, hogy a

szg elforgatottja egy

R2 -beli x cos sin

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

94 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.8.

A QR-felbonts

Vegyk szre, hogy a

szg rtkre nincs is szksgnk, elegend az

rtkek meghatrozsa. Knnyen ltszik, hogy ha

x2 = 0 ,

akkor

s = sin s c = cos s = 0, c = 1 j vlaszts. Ha

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

vektort ahhoz, hogy a

j -edik

eleme lenullzdjon a szorzs utn

(j = 2, . . . , m),

elemen kvl a tbbi elem vltozatlan maradjon (i

< j )?

A ktdimenzis esetet

ltalnostva knnyen addik a vlasz. A keresett mtrixnak az albbi alaknak kell lennie.

G(i, j, ) = s = sin c = cos

1
.. .

c 1
.. .

1 s c
.. .

Rmm , 1

(3.8.1)

ahol az

rtkek az

i-edik

ill.

el, s a ktdimenzis esetnl ismertetett mdon az mtrix tulajdonkppen egy, az

s xj elemeibl szmthatk. Ez a {(0, . . . , 0, u , 0, . . . , 0, v , 0 . . . , 0) Rm | u, v R} hiperskbeli

x vektor xi
j.

j -edik

sorokban s oszlopokban helyezkednek

i.

szg forgatst r le.

3.8.5. denci. Azt a G(i, j, ) (3.8.1)


hvjuk.
11

alak mtrixot, amely egy adott

x Rm

vektort gy vltoztat meg a

vele val szorzs sorn, hogy a

j -edik (j = 2, . . . , m 1)

kivtelvel a tbbi elem nem vltozik, (az

x vektorhoz tartoz (i, j) index) Givens-forgatsnak

eleme nulla lesz, s az

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)

index Givens-forgatst, majd ezzel

m-edik

sornak els eleme lenullzdik. Ezutn szorzunk

(m 2, m 1)

index Givens-forgatsval, stb. Ezt folytatjuk addig, mg az els

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

mtrix, a Givens-forgatsok szorzatnak transzponltja pedig a

Q mtrix.

11 Wallace Givens, 1910-1993 (USA)


tankonyvtar.bme.hu 95

3.

Lineris egyenletrendszerek megoldsa

Az eljrs sematikusan a kvetkezkppen nz ki:

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

ftljban pozitv elemek legyenek.

Bizonyts. Legyen Ekkor

A A szimmetrikus s a teljes oszloprang miatt pozitv denit is, tovbb


T

A = Q1 R1 a teljes oszloprang A Rmn mtrix reduklt QR-felbontsa. AT A = (Q1 R1 )T (Q1 R1 ) = RT R1 . 1

Ha

R1

ftljban pozitv elemeknek kell llniuk, akkor a fenti elllts ppen az

rix Cholesky-felbontst adja, ami egyrtelm. Mivel meghatrozott.

Q1 = A

R1 , azrt 1

Q1

AT A

mt-

is egyrtelmen

Householder-tkrzsek esetn a QR-felbontshoz szksges tkrzsi mtrixok ellltsnak mveletignye

2n2 (m n/3)

op, mg a Givens-forgatsok ellltsa

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

oszlophoz keressk meg az

(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. Tlhatrozott rendszerek megoldsa


Ebben a fejezetben olyan lineris egyenletrendszerek megoldst keressk meg, melyek legalbb annyi egyenletet tartalmaznak ahny ismeretlenje van az egyenletrendszernek. Az ilyen egyenletrendszereket tlhatrozott egyenletrendszereknek nevezzk. Az egyszersg kedvrt ide soroljuk 96 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.9.

Tlhatrozott rendszerek megoldsa

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-

alak egyenletrendszereket vizsgljuk. ll

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-

b(n + 1 : m) nem nullvektor, akkor az egyenletrendszernek nincs megoldsa, ha

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

tovbb legyen Ekkor

egy tetszleges nemnulla vektor (

Az = 0),

egy tetszleges vals szm.

(x + z) = A(x + z) b = Ax b = Ax b
2 2 2 2

2 2

+ 2 Az
2 2

2 2

+ 2zT AT (Ax b) 2zT AT (Ax b)

+ Az

Az

2 2

Megmutatjuk, hogy az LS-megolds nem lesz ms, mint az

AT Ax = AT b
n. normlegyenlet megoldsa (

(3.9.1)

AT A

ngyzetes mtrix), amely nyilvnvalan ltezik, hiszen

teljes oszloprang. Jellje ezt a megoldst

xLS . Ekkor
2 2

(xLS + z) = AxLS b
akkor legyen

+ 2 Az

2 2

= (xLS ) + 2 Az 2 . 2 -t.
Ha

Azt kell megmutatnunk, hogy csak egy vektor minimalizlhatja

=1

z = y xLS , azaz

y-nl is minimum lenne,

(xLS + (y xLS )) = (y) = (xLS ) + A(y xLS )


ha

2 2

= (xLS ),

y = xLS .

Megolds a normlegyenlet segtsgvel


Az LS-megolds teht a (3.9.1) egyenlet segtsgvel hatrozhat meg alakban. Termszetesen a gyakorlatban nem gy szmoljuk. Mivel denit mtrix, ezrt elllthat a Cholesky-felbontsa mveletigny:

Ly = AT b egyenletrendszert, majd xLS az LT x = y egyenletrendszer megoldsaknt addik. Az eljrs


alakban. Ezutn megoldjuk az

LLT

A A
T

xLS = (AT A)1 AT b


szimmetrikus, pozitv

(m + n/3)n2

op. tankonyvtar.bme.hu 97

3.

Lineris egyenletrendszerek megoldsa

Megolds a QR-felbonts segtsgvel


Legyen

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

R1 = R(1 : n, 1 : n), c = (QT b)(1 : n, :)

d = (QT b)(n + 1 : m, :),

LS-megolds az albbi mdon hatrozhat meg.

Kpezzk az

A mtrix QR-felbontst.
R1 = R(1 : n, 1 : n)
mtrixot.

Meghatrozzuk az Meghatrozzuk a Az

c = (QT b)(1 : n, :) vektort.


R1 x = c
egyenletrendszer megoldsaknt addik. op.

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-

Ngyzetes, teljes rang mtrixokra a mveletszm mindkt esetben

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,

ami az egyenletrendszer klasszikus rtelemben vett

megoldsa.

3.10. Lineris egyenletrendszerek megoldsa a MATLAB-ban


Lineris egyenletrendszerek megoldsa a MATLAB programban egyetlen paranccsal (\) trtnik fggetlenl attl, hogy egyrtelm megolds van vagy esetleg tlhatrozott az egyenletrendszer. (hamar kiderl, hogy nem szimmetrikus, pozitv denit a mtrix, gy ez nem vesz el sok idt), akkor az LU-felbontssal hatrozza meg a megoldst (Gauss-mdszer). Ha az egyenlet tlhatrozott, akkor elszr meghatrozza a QR-felbontst (Householder-tkrzsekkel), majd ebbl a legkisebb ngyzetek rtelemben legjobban kzelt megoldst. A oldsi mdot fogja hasznlni a MATLAB. A a lon. Lssunk nhny szemlletes pldt! 98 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK) Els lpsben megprblja a MATLAB ellltani a Cholesky-felbontst (chol), ha ez nem sikerl

sparse

parancs segtsgvel tudathatjuk

a MATLAB-bal, hogy egy mtrix ritka. Ebben az esetben a mtrix szerkezetnek megfelel meg-

\ parancsrl rszletes angol nyelv lers tallhat http://www.weizmann.ac.il/matlab/techdoc/ref/arithmeticoperators.html#8559 olda-

3.10.

Lineris egyenletrendszerek megoldsa a MATLAB-ban

>> 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

>> [Q,R]=qr(B) % A B mtrix QR-felbontsa Q = -0.70710678118655 -0.70710678118655 R =


tankonyvtar.bme.hu 99

-0.70710678118655 0.70710678118655

3.

Lineris egyenletrendszerek megoldsa

-1.41421356237310 0

Az albbi program a Gauss-mdszert valstja meg egy olyan

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);

100 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

3.11.

Feladatok

3.11. Feladatok
Kondciszm 3.11.1. feladat. Igazoljuk, hogy tetszleges regulris

A Rnn

mtrix esetn

1 2 (A) 1 (A) n2 (A), n

1 (A) 2 (A) n (A), n

1 1 (A) (A) n2 1 (A). n2


3.11.2. feladat. Legyen

A Rnn

egy olyan ngyzetes mtrix, melyben a ftl "felett" -

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 mtrixra 2 (AT A) = 2 (A) 2 (A)! 2 A


1

A Rnn

egy nemszingulris mtrix, s

mtrix. Igazoljuk, hogy tetszleges induklt norma esetn segtsgvel adjunk als becslst az

B Rnn egy szingulris 1/ A B . Ezen kplet

A=
mtrix maximumnormabeli kondciszmra! 3.11.5. feladat. Igazoljuk, hogy ha

1.01 1

1 1

= B

2 s

2 (A) = 2 (B)!

ortogonlisan hasonl regulris mtrixok, akkor

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

a lenti adatokkal! Adjuk meg az egytthatmtrix determinnst is!

1 1 A= 1 1

2 3 4 9 8 27 16 81

3.

Lineris egyenletrendszerek megoldsa

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

aij = 1, ha i > j , unn = 2n1 .

klnben nulla. Mutassuk meg, hogy

A-nak

ha

i=j

vagy

van LU-felbontsa,

j = n, |lij | 1, s

3.11.12. feladat. Tekintsk az albbi mtrixot

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

1 3 100 10 0.001 , b = 0 0 100 0.01

Ax = b

egyenletrendszert! Oldjuk meg az egyenletrendszert rszleges felemki-

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?

0.003x1 + 59.14x2 5.291x1 6.13x2


3.11.16. feladat. Tekinsk az

= 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

0.00001x + y = 1, x + y = 2 egyenletrendszert pontosan ill. gy, 105 -nel,


majd gy is oldjuk meg a feladatot!

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)| =?)!

Milyen tanulsga van az eredmnynek?

ill.

LDLT

3.11.19. feladat. Kzi szmolssal hatrozzuk meg a felbontst!

33-as Hilbert mtrix Cholesky-felbontst


s Cholesky-felbontst!

3.11.20. feladat. Hatrozzuk meg az albbi

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

3 2 3/2 2 4/3 7/3 2 9/7

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

paramterekkel lesz konvergens a JOR iterci? Adjuk meg

rtkt gy, hogy a konvergencia a lehet leggyorsabb legyen! A SOR mdszer esetn milyen

rtkeket vehet fel

ahhoz, hogy konvergens mdszert nyerjnk? Vlasszuk az

= 0.2 : 0.2 : 1.8

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

pontosabban megkapjuk maximumnormban! 3.11.24. feladat. Oldjuk meg a

x + 5y 2z = 3 x + y 4z = 9 4x y + 2z = 8
egyenletrendszert valamilyen itercis mdszerrel! 3.11.25. feladat. Az ahol

Ax = b

lineris egyenletrendszer egytthatmtrixa szimmetrikus po-

zitv denit mtrix. Ezutn deniljuk az

x(k+1) = (E hA)x(k) + hb
h

konzisztens itercit,

valamilyen vals paramter. Hogyan vlasszuk meg

rtkt, hogy az iterci minden

kezdvektorra az egyenletrendszer megoldshoz tartson? 3.11.26. feladat. A

B=

2 1

1 2
tankonyvtar.bme.hu 103

3.

Lineris egyenletrendszerek megoldsa

mtrixszal szeretnnk megoldani a Jacobi-itercit hasznlva a

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

3.11.27. feladat. Legyen

x0 = 1 xk =

x20 = 0

1 3 xk1 + xk+1 , k = 1, . . . , 19. 4 4 xk = 1(3k 1)/(320 1)! Oldjuk meg az egyenlet-

Igazoljuk, hogy az egyenletrendszer megoldsa

rendszert GaussSeidel-mdszerrel! Mit tapasztalunk, javtja-e a konvergencit az alulrelaxls?

3.11.28. feladat. Az albbi egyenletrendszert szeretnnk megoldani a Jacobi-mdszer relaxlsval.

3 2
Hogyan vlasszuk meg

1 4

x1 x2

2 1

rtkt, hogy a leggyorsabban konvergljon az eljrs? Szmtsuk ki,

hogy a nulvektorrl indulva a leggyorsabb mdszerrel mennyit kellene iterlni, hogy a megoldst

106 -nl

jobban megkzeltsk maximumnormban!

3.11.29. feladat. A Jacobi- vagy a GaussSeidel-iterci konvergl gyorsabban az albbi egyenletrendszerre?

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

kezdvektorral indulva, hogy a megoldst

106 -nl

normban!

x = [1, 0, 1]T egyenletrendszer megoldsra. A nullvektort vlasztva kezdvektornak szmtsuk ki az x2 vektort,


3.11.30. feladat. A konjuglt gradiens-mdszert alkalmazzuk a tridiag (1, 2, 1) majd szmtsuk ki a hozz tartoz maradkvektort! Mit tapasztalunk? 3.11.31. feladat. Alkalmazzunk kt-kt itercis lpst a gradiens- s a konjuglt gradiensmdszerrel a

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

szorozva, annak utols kt eleme nulla lesz! Mi lesz a Householder-mtrix a

[2, 6, 3]T vektort be[3, 1, 5, 1]T vektor

[2, 6, 3]T

vektort egy ortogonlis mtrixszal gy, hogy az

eredmnyvektor utols komponense 0 legyen! 3.11.35. feladat. Adjuk meg az

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

104 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

mtrix QR-felbontst Givens-forgatsok segtsgvel!

p(x)

polinomot, melyre

8 i=1 (p(xi )

yi )2 6 135

minimlis lesz! b-

rzoljuk a pontokat s a polinomot is!

xi yi

4 35.1

2 15.1

1 15.9

0 8.9

1 0.1

3 0.1

4 21.1

3.11.38. feladat. Kt mennyisget (x s mnyek:

y ) mrtnk, ill. ezek klnbsgt s sszegt. Az eredx = a, y = b, xy = c s x+y = d. Oldjuk meg ezt a tlhatrozott egyenletrendszert!

3.11.39. feladat. Oldjuk meg az

1 10k 0
tlhatrozott egyenletrendszert felbontst hasznlja) s az sonltsuk ssze az eredmnyt!

1 0 10k

x y

10k = 1 + 10k 1 10k

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.

Lineris egyenletrendszerek megoldsa

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?

106 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

4. Sajtrtk-feladatok numerikus megoldsa


Ebben a fejezetben megvizsgljuk, hogyan lehet numerikusan meghatrozni a mtrixok sajtrtkeit s sajtvektorait. Ktfle mdszertpus van. Az egyik tpussal az egyszeresen dominns sajtrtket s a hozz tartoz sajtvektort tudjuk meghatrozni, a msik tpussal pedig az sszes sajtrtk kzeltst egyszerre hatrozhatjuk meg.

4.1. Sajtrtk-feladatok kondicionltsga


Sok gyakorlati problma vezet sajtrtk-feladatra, azaz olyan feladatra, amikor egy ngyzetes mtrix sajtrtkeit s sajtvektorait kell meghatroznunk. Sajtrtk-feladat megoldst ignyli pl. a szilrdtest zika, a kvantuummechanika, a grfelmlet, a dierencilegyenletek, a dinamikai rendszerek, a digitlis jel- s kpfeldolgozs tudomnyterletek szmos feladata, de pl. a Google is ilyen feladatot old meg a honlapok rangsorolshoz [6]. Az 1.2.1. fejezetben foglalkoztunk mr a sajtrtk-feladattal, de az ott emltett karakterisztikus egyenlet segtsgvel trtn sajtrtk- s sajtvektor-meghatrozsi md gyakorlati problmk esetn nem alkalmazhat, hiszen ngynl nagyobb fokszm polinomok megoldsra nincs megoldkpletnk. Ez azt jelenti, hogy a sajtrtkeket ltalban direkt mdszerrel (azaz olyannal, ami pontosan szmolva vges sok lpsen bell pontos sajtrtkeket adna) nem lehet meghatrozni. Ezrt a gyakorlatban mindig itercis mdszereket alkalmazunk. Elegend a megfelel sajtrtket vagy a sajtvektort kzelteni, mert az egyik kzelts ismeretben a msik kzeltse mindig egyszeren megadhat. Mieltt ismertetnnk a sajtrtk-feladatok numerikus megoldsnak lehetsgeit, vizsgljuk meg a sajtrtk-feladat kondicionltsgt: vajon egy vizsglja meg ezt a krdst.

A ngyzetes mtrix elemeit kicsit megvl-

toztatva, mekkort vltozhatnak a sajtrtkek? A kvetkez ttel diagonalizlhat mtrixokra

4.1.1. ttel. (Bauer1 -Fike, 1960) nn Legyen A R egy diagonalizlhat


az egyszersg kedvrt feltesszk, hogy s sajtrtke. Ekkor

mtrix, azaz

D diagonlis mtrix. Legyen A egy tetszleges mtrix, s legyen az A + A mtrix egy

V oszlopai normlva vannak a .


| | p (V) A p .

felrhat

A = VDV1

alakban, ahol

p vektornormban,

A sajtrtke

min

Bizonyts. Ha sajtrtke. Mivel

sajtrtke A-nak is, akkor trivilis A + A E szingulris, ezrt

az llts. Tegyk fel teht, hogy nem

V1 (A + A E)V = D + V1 AV E
1 Friedrich Ludwig Bauer (1923-), nmet matematikus.
107

4.

Sajtrtk-feladatok numerikus megoldsa

is szingulris, gy van olyan

x = 0 vektor, mellyel
(D E + V1 AV)x = 0.

D E mtrix inverzvel balrl szorozva azt kapjuk, hogy


(E + (D E)1 V1 AV)x = 0,

azaz

x = (D E)1 V1 AVx. x
p

gy

(D E)1

V1

1 (D E)1 p p (V) A p 1 1 p (V) A p = p (V) A p . = max i |i | mini |i |


rdemes megjegyezni, hogy a sajtrtk-feladat kondicionltsgt nem az eredeti mtrix,

Ebbl mr kvetkezik az llts.

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

becsls rvnyes. rdekes pldaknt emlthetjk a

Hilbert-mtrixot, amely egyenletrendszer

megoldsakor rosszul, viszont sajtrtk-feladatok esetn jl kondicionlt, hiszen a sajtrtkek maximum akkort vltozhatnak, mint a perturbl mtrix 2-es normja.

4.2. A sajtrtkeket egyenknt kzelt eljrsok


A numerikus matematikban a sajtrtk-meghatrozsi mdszereket kt nagy csoportra szoks osztani. A sajtrtkeket egyenknt kzelt eljrsokra ill. a sajtrtkeket egyszerre kzeltkre. Az els tpusba tartoz mdszerek mindig csak egy-egy megfelel sajtrtket kzeltenek, mg a msodik tpusba tartozk olyan eljrst adnak, mellyel egyszerre az sszes sajtrtkre kapunk kzeltst. Ebben a fejezetben a sajtrtkeket egyenknt kzelt mdszereket trgyaljuk. A sajtrtkeket egyenknt kzelt eljrsok egy olyan vektorsorozatot lltanak el, amely egy meghatrozott sajtvektorhoz tart. A sajtvektort ekkor ezen sorozat egy hatrrtkhez elegenden kzeli elemvel kzelthetjk. Mieltt rtrnk arra, hogy hogyan lehet egy adott sajtvektorhoz tartoz sorozatot ellltani, nzzk meg, hogy hogyan mondhatunk megfelel becslst a sajtrtkre, ha ismerjk a sajtvektor egy becslst? Az els gondolatunk az lehet, hogy ha van egy

kzeltsnk a sajtvektorra, akkor az

Av v

becsls soraibl kaphatunk

kzeltst a sajtrtkre. Vizsgljuk meg ezt a mdszert egy plda segtsgvel!

4.2.1. plda.

3 3-as [0.82694986, 0.45995562, 0.32341112] egyik


Legyen a

Hilbert-mtrix,

tegyk

fel,

hogy

vT

sajtvektornak kzeltst adja. Adjunk becslst

az adott sajtvektorhoz tartoz sajtrtkre. Mivel

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

108 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

4.2.

A sajtrtkeket egyenknt kzelt eljrsok

a fenti kzelts mindhrom sorbl kaphatunk kzeltst a sajtrtkre. Ezek rendre

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).

tlagt, ami a pontos sa-

Adhatunk-e az elz pldban nyert rtknl jobb kzeltst a sajtrtkre? Pl. az egyenlsget balrl meg ezt a kzeltst az elz pldn.

Av v v vT -tal szorozva, majd -t kifejezve kapjuk, hogy vT Av/( T v). Vizsgljuk

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

Bizonyts. A bal oldalon egy

-tl fgg egyvltozs fggvny ll. Szmtsuk ki ennek rtkt!

Ax x

2 2

= (xT AT xT )(Ax x) = xT AT Ax 2xT Ax + 2 xT x = 2 xT x 2xT Ax + xT AT Ax.

Mivel

xT x > 0, ha x = 0, ezrt a fggvny a minimumt az


min =

xT Ax = R(x) xT x

esetben veszi fel.

4.2.4. denci. n Legyen 0 = x R

A Rnn . Ekkor az
R(x) =

xT Ax xT x
hvjuk.

szmot az

x vektorhoz tartoz Rayleigh-hnyadosnak Ax vektorhoz.

A ttel szerint teht 2-es normban egy vektor Rayleigh-hnyados-szorosa lesz legkzelebb szmszorosai kzl az

tankonyvtar.bme.hu 109

4.

Sajtrtk-feladatok numerikus megoldsa

4.2.5. megjegyzs.

Szimmetrikus mtrixok esetn a Rayleigh-hnyados mindig a legkisebb s

a legnagyobb sajtrtk kztt helyezkedik el, azaz

min R(x) max ,


tovbb

max = max n R(x), min = min n R(x).


0=xR 0=xR

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

egy adott mtrix, s tegyk fel,

sajtrtke, azaz egy olyan

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

egyre inkbb a sajtrtk nem

v1

nvelsvel nullhoz tartanak, ami azt jelenti, hogy az

Ak x vektor k

sajtvektor ltal meghatrozott sajtirnyba fog mutatni. Ha a dominns

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

olyan kezdvektor, melyre

vT y(0) = 0, y(0) 1

=1

(k)

rtkek a Rayleigh-hnyadossal szmtott sajtrtk kzeltsek. Ezen rtkeket, azon

tl, hogy kzeltik a

v1 vektorhoz tartoz sajtrtket, felhasznlhatjuk a lellsi felttel megad-

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.

A sajtrtkeket egyenknt kzelt eljrsok

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

2-es normban ortonormlt vektorrendszer, akkor

n i=1

|i |2 .

Ez az

egyenlsg az albbi mdon igazolhat.

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

s tegyk fel a ttel feltteleinek megfelelen,

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 ,

|k | = 1 (k = 1, . . . ). (k y(k) )T A(k y(k) ) vT Av1 0 1

A msodik llts igazolshoz pedig induljunk ki a

hatrrtkbl, mellyel

esetn

(k) 1 = (y(k) )T Ay(k) 1 = |k |2 (y(k) )T Ay(k) 1 = (k y(k) )T A(k y(k) ) vT Av1 0. 1


Ezzel a ttel lltsait igazoltuk.

4.2.7. megjegyzs. A ttel bizonytsbl az is lthat, hogy a generlt vektorsorozatbl hogyan


lehet ellltani a sajtvektorhoz tart vektorsorozatot. tankonyvtar.bme.hu 111

4.

Sajtrtk-feladatok numerikus megoldsa

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 .

1 > 0, 1 < 0, 1 < 0, 1 > 0, 1 < 0, 1 < 0,

akkor akkor akkor

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.

is mutatja, hogy ltalban a

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

egyszeresen dominns sajtrtk legyen, nehezen ellenrizhet elre, hiszen

nem ismerjk a mtrix sajtrtkeit (ppen ezek meghatrozsa a feladat). Mindenesetre az

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.

4.2.9. plda. Hatrozzuk meg a tridiag(1, 2, 1) R2020 mtrix dominns sajtrtkt s


a hozz tartoz sajtvektort a hatvnymdszer segtsgvel! Mivel a mtrix szimmetrikus, gy hacsak nem lesz kt egyforma legnagyobb abszolt rtk sajtrtk, akkor a hatvnymdszer valban megtallja a dominns sajtrtket s a hozz tartoz sajtvektort. Ha a programot alkalmazzuk a megoldshoz az

106

y(0) = [1/ 20, . . . , 1/ 20]T

powmeth.m

kezdvektorral s

toleranciaszinttel, akkor a 83. lps utn ll le az iterci. Ekkor a sajtrtkbecsls

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

felttel nem jtszik komoly szerepet, hiszen ha az els lpsben nem is

teljesl a felttel, a kerektsi hibk miatt az iterci sorn lesz az itercis vektornak komponense, s azzal mr elindul az iterci.

v1

irny

4.2.2. Inverz iterci


Az elz fejezetben lttuk, hogy hogyan hatrozhat meg a hatvnymdszerrel az egyszeresen dominns sajtrtk s a hozz tartoz sajtvektor. Ebben a fejezetben azt vizsgljuk meg, hogy ms sajtrtkek hogyan hatrozhatk meg a hatvnymdszer kis talaktsval. Legyen egy nemszingulris szimmetrikus mtrix

(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

112 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

4.2.

A sajtrtkeket egyenknt kzelt eljrsok

(A E)1

mtrixszal vgrehajtva a hatvnymdszert,

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

A mtrix helyett az A E = 0, akkor a nullhoz legkzelebbi, azaz

2n3 /3 + O(n2 )

A E

mtrix az egytthatmtrix, gy ennek LU-felbontst az els

op mvelettel kiszmtva a tbbi lpsben mr csak

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).

4.2.3. Rayleigh-hnyados iterci


Az inverz iterci eljrst mdosthatjuk az albbi mdon. Ha vgrehajtjuk az inverz iterci egy lpst egy sajtrtk-kzeltsbl kiindulva, akkor kapunk egy becslst a sajtvektorra, melybl Rayleigh-hnyados segtsgvel mondhatunk egy jabb sajtrtkbecslst. Az inverz iterci kvetkez lpsben mr az j sajtrtkbecslst hasznlhatjuk. Ezt az eljrst Rayleigh-hnyados itercinak nevezzk. Az algoritmusa a kvetkez.

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

rtkhez legkzelebbi sajtrtkre van szksgnk, akkor

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.

Sajtrtk-feladatok numerikus megoldsa

4.2.11. megjegyzs.

A Rayleigh-hnyados iterciban minl kzelebb vagyunk a keresett sa-

jtrtkhez, annl kzelebb van az

A R(y(k1) )E

mtrix egy szingulris mtrixhoz. Ha teht

az itercis mtrixunk szingulriss vlik a szmtgpes eljrs sorn, az azt jelzi, hogy nagyon kzel vagyunk a keresett sajtrtket. Ez hasznlhat teht lellsi felttelknt.

4.2.4. Decis eljrsok


Tegyk fel, hogy egy ben klnbz:

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

|1 | > |2 | > . . . > |n |.

sajtrtkt s a hozz tartoz

egyszer eljrssal elllthatunk egy olyan mtrixot, melynek

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

nevezzk. Hromfajta decis eljrst mutatunk most be.

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

HAHe1 = HAHHv1 = HAv1 = H1 v1 = 1 Hv1 = 1 e1 = 1 e1 .


A

HAH

mtrix teht a

HAH =

b A2
|2 | > |3 |,

alakot lti. Mivel hasonlsgi transzformcit hajtottunk vgre, gy megegyeznek az

mtrix sajtrtkeivel. gy teht ha

A2 sajtrtkei 1 kivtelvel akkor az A2 mtrixszal


2 .

vgrehajtva a hatvnymdszert, megkaphatjuk A sajtvektor meghatrozst az el. Ekkor kzeltleg megkapjuk a

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

kzelt rtkt. Legyen ez

mtrixra vonatkoz inverz itercival vgezhetjk

sajtvektort, s a

2 -re

adott becsls is pontosodik.

HAH(Hv2 ) = HAv2 = 2 (Hv2 ),


gy

Hv2

sajtvektora a

HAH

mtrixnak

sajtrtkkel. Azaz

(Hv2 )(2 : n)

sajtvektora

A2 -

nek, szintn

(szigoran dominns) sajtrtkkel.

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

A 1 v1 vT mtrixszal 1 sajtrtket s a v2 sajtvektort.


kztt, akkor az

nulla szerepel. A sajtvektorok ugyanazok. gy ha

szigoran dominns a maradk sajtrtkek

vgrehajtva a hatvnymdszert, megkaphatjuk a

2 A deci sz jelentse leapaszts vagy leereszts.


114 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

4.3.

A sajtrtkeket egyszerre kzelt eljrsok

Blokk hromszgmtrix deci


Egy

A Rnn

mtrixot blokk fels hromszgmtrixnak neveznk, ha vannak olyan

1, . . . , m)

mtrixok (

A11 , . . . , Amm
A=

Akl (k, l =

kvadratikus mtrixok), melyekkel

A11 A12 A13 . . . 0 0 0 0 A22 A23 . . . 0 0 0


.. . .. .. . .

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

mtrix. Gyakori az az eset is, hogy a mtrix egyszer permutcikkal

vgzett hasonlsgi transzformcikkal blokk hromszgmtrix alakra hozhat (lsd pl. 4.5.2. feladat).

4.3. A sajtrtkeket egyszerre kzelt eljrsok


Most rtrnk azokra a mdszerekre, amelyek a mtrixok minden sajtrtkre egyszerre mondanak kzeltst. Ezen mdszerek kzs alapgondolata az, hogy ha egy mtrixszal hasonlsgi transzformcit vgznk, akkor annak sajtrtkei nem vltoznak meg. Teht ha pl. el tudnnk lltani egy mtrix Schur-felbontst, azaz ha fel tudnnk rni az

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

felbontst jelenti, ahol

pedig a sajtrtkek diagonlmtrixa.

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 Rnn egy vals szim-

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.

Sajtrtk-feladatok numerikus megoldsa

alakban, ahol

s = sin

megvlasztsa mellett lennik, hogy a

c = cos ,

valamilyen

paramterrel. (Az

mtrix elemeinek ezen

valban ortogonlis mtrix lesz.) A

rtkeknek olyanoknak kell

c s s c =
2

a b

b d

c s

s c

sca + c2 b s2 b scd 2 sca s b + c b scd

mtrix diagonlis legyen, azaz igaz legyen a

0 = sca s2 b + c2 b scd = sc(a d) + b(c2 s2 ) = (a d) sin(2)/2 + b cos(2)


egyenlsg. Tovbb nyilvnvalan Ha

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

szimmetrikus mtrixokhoz megadtunk olyan ortogonlis mtrixot, amely a

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

esetre levezetett diagonalizl mtrixot hasznljuk, csak sokszor egyms utn. Az

algoritmus a kvetkez.

Vlasszuk ki a mtrix ftlja felett a legnagyobb abszolt rtk elemet. Legyen ez az elem (i

aij

< j ).

Hatrozzuk meg a diagonalizl

S mtrixot az
aii aij aij ajj s
s

2 2-es

szimmetrikus mtrixra, azaz adjuk meg a benne szerepl

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)

elemek nullk lesznek (gy vlasztottuk

S-t).

Azt mondjuk, hogy a fenti eljrssal vgrehajtottunk egy transzformcit. 116 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

(i, j)

elemhez tartoz Jacobi-

4.3.

A sajtrtkeket egyszerre kzelt eljrsok

Ezutn visszalpnk az eljrs elejre jra kivlasztva a ftl felett a legnagyobb abszolt rtk elemet.

Knny ltni, hogy minden lpsben az

(i, j)

(j, i)

helyeken ll ftln kvli elemek

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

mtrixok szorzata hatrrtkben ppen az

S diagonalizl mtrixhoz fog tartani.


(i, j)

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)

elemhez tartoz Jacobi-

mtrix ftln kvli elemeinek ngyzetsszege

2a2 -tel ij

keve-

Bizonyts: A Jacobi-transzformci csak az meg. Nyilvnvalan

i-edik
(1)

s a

j -edik

sort s oszlopot vltoztathatja

l = i, j

esetn ezen oszlopok s sorok elemei az j mtrixban

ail = cail sajl , ajl


(1) ali
alakak. Igaz tovbb, hogy

(1)

= cajl + sail , = calj + sali

= cali salj ,

(1) alj

(ail )2 + (ajl )2 = (ail )2 + (ajl )2 , (ali )2 + (alj )2 = (ali )2 + (alj )2 .


Az els egyenlsg az

(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

[(cail sajl )2 (ail )2 ] +


(1)

[(cajl + sail )2 (ajl )2 ]


l=j+1
(1)

i1

ali

j1

alj

+
l=1

[(cali salj )2 (ali )2 ] +


l=1,=i j1 j1

[(calj + sali )2 (alj )2 ]

= 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

k -adik lpsben Bk = A(k) diag(diag(A(k) )).


2 F

Bk

2 F

= Bk1

2 F

2(aij

(k1) 2

) Bk1

Bk1

2 F

n(n 1)
tankonyvtar.bme.hu 117

4.

Sajtrtk-feladatok numerikus megoldsa

= 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

mtrixok szorzata valban az

diagonalizl mtrixhoz fog tartani. Elegenden sok

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.

A mdostott Jacobi-mdszer esetn egy Jacobi-transzformci

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

ortogonlis mtrixokat hasznltuk a

Jacobi-transzformcihoz, akkor a

sajtrtkhez tartoz sajtvektor az

Si1 j1 . . . Sik jk ej

4.3.5. megjegyzs.

A Jacobi-mdszer olyan mtrixokra is konvergl, melyek nem felttlenl

szimmetrikusak, de minden sajtrtkk vals.

4.3.2. QR-iterci
A mdszer alaptlete az, hogy az ortogonlis diagonalizl mtrixot az

Q mtrixval kzeltjk. Az algoritmus a kvetkez:


QR-iterci,

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-hoz hasonl mtrixokat kszt, hiszen


(k1)

A
Teht

(k)

=R

(k1)

(k1)

= (Q

(k1) T

) Q

R(k1) Q(k1) = (Q(k1) )T A(k1) Q(k1) .

A(k) = (Q(k1) )T . . . (Q(0) )T A Q(0) . . . Q(k1) = QT AQk , k


=:Qk

118 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

4.3.

A sajtrtkeket egyszerre kzelt eljrsok

s gy a hasonlsgi transzformcik miatt tkrzsekkel

A(k)

sajtrtkei megegyeznek

A sajtrtkeivel.

Minden lpsben szksg van egy QR-felbontsra. Ez elg kltsges eljrs, hiszen Householder-

4n3 /3 op a mveletignye. A gyakorlatban ltalban gy rdemes eljrni, hogy el-

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

op itercis lpsenknt).

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:

A Hessenberg alakra val transzformcit Householder-tkrzsekkel vgezzk el gy, hogy


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

is invertlhat mtrix. Klnben a nulla sajtrtke

lenne s decis eljrssal kisebb mret mtrix vizsglatra trhetnnk t. A tovbbiakban

A mtrix mr Hessenberg alakra van transzformlva.

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

tart, egyltaln nem nyilvnval az algoritmusbl. Az albbi konvergenciattelt bizonyts nlkl

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

A szimmetrikus, akkor {A(k) } diagonlis mtrixhoz tart.

aij

konstansokkal, azaz a hatrrtkmtrix egy fels hromszgmtrix.

tankonyvtar.bme.hu 119

4.

Sajtrtk-feladatok numerikus megoldsa

4.3.7. megjegyzs.
lnbz.

Br mi csak vals, szimmetrikus mtrixok sajtrtkeivel foglalkozunk, a

fenti ttel olyan mtrixokra is vonatkozik, melyeknek minden sajtrtke abszolt rtkben k-

4.3.8. megjegyzs.

Igazolhat, hogy ha

elg nagy, akkor az

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

1.61889985892434 7.2289 1014

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,

A Hessenberg alak mtrix, A(0) := A, k

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

A-hoz hasonl mtrixot ad, ugyanis

A(k) = R(k1) Q(k1) + k1 E = (Q(k1) )T Q(k1) R(k1) Q(k1) + k1 E


= (Q(k1) )T (A(k1) k1 E)Q(k1) + k1 E = (Q(k1) )T A(k1) Q(k1)
120 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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)

blokkjnak megkeresni a sajtrtkeit (deci).

Az utols sor utols eltti eleme a

rtkek gyes megvlasztsval tehet gyorsan kicsiv

(gyakorlatilag nullv). Igazolhat, hogy ez az elem elegenden nagy

rtkekre

|(n k )/(n1 k )|k


nagysgrend. Ezrt egy gyakran alkalmazott vlaszts akkor a

k = ann ,

(k)

azaz

elemt szoks vlasztani. Ekkor ugyanis, ha a ftl utols eleme kzelt egy

k -nak a ftl utols n sajtrtkhez,

|(n k )/(n1 k )|

hnyados nagyon pici lesz, s ennek hatvnyai gyorsan nullhoz

tartanak.

4.4. Sajtrtkszmts a MATLAB-ban


A MATLAB a sajtrtkeket s a sajtvektorokat az mtrixok esetn az

eigs

eig

parancs segtsgvel szmolja. Ritka

parancsot hasznljuk. Hasznos lehet mg a

hess

parancs is, amely egy

mtrixot transzforml fels Hessenberg alakra hasonlsgi transzformcival.

>> A=[2,-1,0;-1,2,-1;0,-1,2] % Mtrix definils A = 2 -1 0 -1 2 -1 0 -1 2

>> [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

>> A=rand(3) % Egy vletlen 3x3-as mtrix A = 0.9501 0.4860 0.4565


tankonyvtar.bme.hu 121

4.

Sajtrtk-feladatok numerikus megoldsa

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

% Hessenberg alak mtrix -0.5996 1.0899 -0.0571 -0.2917 0.6864 0.6228

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

A az adott mtrix, kmax a maximlis iterciszm s toll a toleranciaszint. iter

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,

rtk a vgrehajtott itercis lpsek szma.

akkor amiatt llt le az eljrs, mert elrtk a maximlis iterciszmot, s nem

amiatt, mert kicsi a hiba. Az

kimeneti rtk a sajtvektor-kzelts,

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;

122 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

4.5.

Feladatok

4.5. Feladatok
4.5.1. feladat. Igazoljuk, hogy az kikerlhetnek!

A
3 0

mtrix sajtrtkei mind valsak (a sajtrtkek kiszm-

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

4.5.3. feladat. Tekintsk az

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:

mtgpen vgrehajtott itercit a 20. gy, hogy az elemeivel osztjuk az

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

mtrix legnagyobb s leg-

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

mtrixrl tudjuk, hogy sajtrtkei a 20, 10, 5 s 1 szmok

kzelben vannak. Milyen

szmmal alkalmazzuk a hatvnymdszert az

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)

egyenlsg, majd ezutn meg kell hatroznunk a

sin

cos

rtke-

ket. Ezek az rtkek megkaphatk a

szg kiszmolsa nlkl is. Igazoljuk elszr, hogy olyan

szgekre, melyekre a szerepl fggvnyek rtelmezve vannak, igaz a tg

+ 2ctg(2) tg 1 = 0
tankonyvtar.bme.hu 123

4.

Sajtrtk-feladatok numerikus megoldsa

egyenlsg. Hogyan lehet ebbl

sin

cos

rtkt kiszmtani?

4.5.9. feladat. Alkalmazzuk a Jacobi-itercit az

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

55-s Hilbert-mtrix s az A = tridiag(1, 2, 1)

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?

124 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

5. Nemlineris egyenletek s egyenletrendszerek megoldsa


Ebben lineris a fejezetben azt vizsgljuk meg, hogy hogyan lehet egy nemaz egyenlet megoldsait numerikusan kzelteni. Megismerjk

intervallumfelezsi-, a hr-, a szel- s a Newton-mdszereket, valamint a xpont-itercis mdszereket, s megvizsgljuk ezen mdszerek tulajdonsgait.

5.1. Nemlineris egyenletek


Gyakorlati problmk megoldsa sorn gyakran tallkozunk azzal a feladattal, hogy egyenletet vagy egyenletrendszert kell megoldanunk. Sok esetben a megolds explicit mdon elllthat, azaz vges sok alapmvelet segtsgvel megadhat. A legegyszerbb ilyen eset az lineris egyenlet vagy az

Ax = b

ax = b

lineris egyenletrendszer. A nemlineris egyenletek megol-

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

egyenleteket nem tudjuk megoldani. Mivel a legalbb tdfok polinomok zrushe-

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

polinom, amely racionlis zrushelykeresssel, vagy

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. A gykk elklntse


A nemlineris egyenletek megoldsa sorn az els lps ltalban az, hogy megadunk olyan intervallumokat, melyekben biztosan van megoldsa az egyenletnek. Ezt a lpst rviden gy hvjuk, hogy elklntjk a gykket. Szmtgppel a gykk elklntse gyorsan megoldhat, hiszen a grakonbl knnyen lthat, hogy hol vannak az egyenlet gykei. Amikor nem ll rendelkezsnkre szmtgp, akkor az albbi ttel segtsgvel vgezhet el az elklnts.

5.1.1. ttel.
Ha egy folytonos fggvny esetn

f (a) f (b) < 0 (a < b),

akkor van olyan

c (a, b),

melyre

f (c) = 0.

125

5.

Nemlineris egyenletek s egyenletrendszerek megoldsa

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

x2 = 4 sin x vagy az x = cos x egyenletek esetn.

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 |}.

Bizonyts. rjuk t a polinomot a

p(x) an1 xn1 . . . a1 x a0 = an xn


alakba, s alkalmazzuk a hromszg-egyenltlensget

|p(x)| + |an1 ||x|n1 + . . . + |a1 ||x| + |a0 | |an ||x|n .


Ezt trendezve kapjuk, hogy

|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

1 |x|n 1 |x|n = |x|n |an | A 1 |x| (1 |x|)|x|n |xk | > 1,


akkor

xk

olyan zrushely, melyre

0 = |p(xk )| |xk |n |an | A

1 |xk |n (1 |xk |)|xk |n

|xk |n |an | +

A 1 |xk |

Itt a msodik tnyez nem lehet pozitv, s ebbl az

|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

126 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

p(x) = x5 4x4 + x3 x2 + 4x 4 polinom zrushelye az 1/2 |x| 5 intervallumbl kerl ki.


A
1

esetn

A=4

B = 4,

s gy a

A polinomok helyettestsi rtkt a Horner -mdszerrel lehet gyorsan szmolni. Ennek alaptlete a polinom

an xn + . . . + a1 x + a0 = (. . . ((an x + an1 )x + an2 ) . . .)x + a0


alak trsa. Ezzel az eredetileg szksges sszeads s

sszeads s

n(n + 1)/2

szorzs helyett csak

szorzs szksges a helyettestsi rtk meghatrozshoz. Ahogy azt az albbi

ttelek mutatjk, ezek a szorzsi s sszeadsi szmok optimlisak is.

5.1.4. ttel. (Ostrowski, 1954)


Egy

n-edfok

polinom helyettestsi rtknek kiszmtshoz legalbb

sszeads kell.

5.1.5. ttel. (Victor Pan, 1966)


Egy

n-edfok

polinom helyettestsi rtknek kiszmtshoz legalbb

szorzs kell.

5.1.2. Nemlineris egyenletek megoldsnak kondicionltsga


Tekintsk az

f (x) = d

egyenletet, melyrl tegyk fel, hogy a feladat korrekt kitzs. Jellje a

megoldfggvnyt (f inverzt)

G.

Ekkor teht

x = G(d).

Ha a

G(d)

megoldfggvny dierenci-

lhat, akkor a feladat relatv s abszolt kondciszma

(d) =

d 1 G (d)d d 1 = = , abs (d) = = . G(d) f (G(d))G(d) f (x)x |f (G(d))| |f (x)| |f (x)|


kicsi, akkor rosszul kondicionlt, ha nagy, akkor jl kondicionlt a

Ez mutatja, hogy ha

feladat. A rossz (j) kondicionltsg azt jelenti, hogy sokat (csak keveset) vltozhat a megolds rtke.

rtkt kicsit megvltoztatva relatvan

1 William George Horner (1786-1837, angol)


tankonyvtar.bme.hu 127

5.

Nemlineris egyenletek s egyenletrendszerek megoldsa

5.1.3. Geometriai mdszerek


Tekintsk az az

f (x) = 0

egyenletet. Ennek egy megoldst jellje

, azaz

f (x ) = 0.

A nemline-

ris egyenletek megoldsi mdszereinek nagy rsze azon alapul, hogy a megoldshoz szemlletesen

fggvny grakonjnak s az

x-tengelynek

a metszspontjt kell megmondanunk. gy te-

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)

pontban a fggvnyrtk ne-

(0)

-tl jobbra elhelyezked intervallum veszi t az eredeti intervallum szerept a

kvetkez lpsben. Ennek

x(1)

felezpontjban a fggvnyrtk pozitv, gy a tle balra elhelyez-

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.

5.1.1. bra. Az intervallumfelezsi mdszer szemlltetse.

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

f (b) > 0. Akkor ll le az intervallumhossz toll al cskken.


s ill.

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,

f (a) < 0 < f (b).

128 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

5.1.

Nemlineris egyenletek

if f = 0 then else if f > 0 then else


b=x a=x
end

f := f (x)

end if end if end while

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)

|e(k) | e(k) = (b a)/2k+1


becslst (e

(k)

= x(k) x

) hasznlhatjuk a lellsi felttelhez is. A jobb oldali kifejezsbl meg

tudjuk mondani, hogy ha az iterciszm mr nagyobb, mint sorozatelem

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

|x(k) x(k1) | toleranciaszint |x(k1) |


vagy

|f (x(k) )| toleranciaszint.

5.1.7. megjegyzs. Az algoritmusban a felezpontot a x := a+(ba)/2, s nem az x := (a+b)/2


mdon szmoltuk. Ennek oka az, hogy az els mdszer lebegpontos szmokkal szmolva mindig

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.

Nemlineris egyenletek s egyenletrendszerek megoldsa

sorozatot szeretnnk ellltani. Tegyk fel, hogy a sorozat pontban sem nulla az

(k)

pontok kztt. Fejtsk

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)

pontok kz esik. Innt

x = x(k)
Azaz ha tudnnk Legyen

f (x(k) ) . f (k ) f (k )
rtkt minden lpsben kzeltjk.

rtkt, akkor a kvetkez itercis lpsben egyszerre a zrushelyre tudna

lpni a sorozat. Mivel ezt ltalban nem tudjuk, ezrt

qk

k -adik

lpsben az

f (k )

derivlt kzeltse. Ekkor az

x(k+1) = x(k)

1 f (x(k) ) = x(k) f (x(k) ) qk qk x(k+1)


az

itercikat lehet hasznlni. A klnbz trgyaland mdszerek abban klnbznek, hogy hogyan hatrozzuk meg a ponton tmen A

qk

kzeltseket. Vegyk mg szre, hogy geometriailag

(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)

Az algoritmus az albbi mdon foglalhat ssze.

Hrmdszer,

a, b

ill.

adott,

f (a)f (b) < 0.

x := b, s := a for k := 1 : kmax do xs xnew := x f (x)f (s) f (x) if f (xnew) = 0 then

(qk

f (x)f (s) ) xs

else if f (xnew)f (x) < 0 then end if end if end for


s=x

end

x := xnew

130 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

5.1.

Nemlineris egyenletek

5.1.2. bra. A hrmdszer itercijnak szemlltetse.

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]

belsejben zrushelye, legalbb ktszer folytonosan derivlhat, s sem az els, sem a

msodik derivltja nem vesz fel nulla rtket

az intervallumon, s hogy vannak olyan

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]

intervallum belsejben. A zrushely jellsre, ahogy korbban,

-t fogunk hasznlni. Ezutn megfogalmazzuk a hmdszerre vonatkoz konvergenciattelt.

5.1.9. ttel.
Elgtse ki

az 5.1.8. dencibeli alapfeltevseket az

[a, b]

intervallumon. Ekkor a hrmd-

szerrel ellltott sorozat az elsrend, s

f (x) = 0

egyenlet

megoldshoz konvergl, a konvergencia (5.1.1)

|e(k+1) | C|e(k) |,
ahol

C = |e(0) |M2 /(2m1 ).

Bizonyts. A derivltak eljele szempontjbl ngy klnbz eset lehetsges csak. Vizsgljuk csak azt az esetet, amikor

f < 0 s f > 0 (5.1.3. bra). A msik hrom eset hasonlan igazolhat.


tankonyvtar.bme.hu 131

5.

Nemlineris egyenletek s egyenletrendszerek megoldsa

5.1.3. bra. A hrmdszer itercija, ha

f <0

f > 0.

A szigor konvexits (f

tovbb minden sorozatelemre

> 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

x(k) x(0) f (x(k) ) f (x(0) )


f (y)

f (x(k) )
f (y)

iterci vizsglatval lthat, hogy a hatrrtknek az

y=y
egyenletet kell kielgtenie, ahol

y x(0) 1 f (y) = y f (y) f () f (y) f (x(0) )


s

negatv, ezrt az egyenlsg csak gy teljeslhet, ha

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)

f (x(k) ) f (x(0) ) f (x(k) ) f (x(0) )

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

alakban rhat. Ezutn a nulladik s

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 )

132 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

5.1.

Nemlineris egyenletek

ahol

k x(0)

x(k)

kz es megfelel rtk a Cauchy-kzprtkttel szerint. A szmllban lv

kifejezst az

fggvny

pont krl felrt s

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

f (k )(k x ) f (k ) e(k+1) = (k x )2 f (k ) e(k) e(0) =


Azaz

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) | = |f (k )| (k) (0) |e ||e |. 2|f (k )|

A sorozat szigoran monoton cskkense s a ttel derivltakra vonatkoz felttelei miatt

0<

|f (k )| (0) m2 (0) |e | < 1 (k 1), |e | 2M1 2|f (k )|

amibl az 1.3.3. ttelre tekintettel kvetkezik az elsrend konvergencia. Tovbb

|e(k+1) | =

M2 (k) |f (k )| (0) (k) |e ||e | |e(0) | |e | = C|e(k) | 2|f (k )| 2m1


=:C

C = |e(0) |M2 /(2m1 )

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

elegenden kzel vlasztjuk a zrushelyhez.

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,

az lesz a kvetkez sorozatelem. Ezen mdszernek veszlye, hogy nem

mindig tallja meg a kvnt zrushelyet, cserbe viszont magasabbrend konvergencit kapunk. A szelmdszer esetn a

pontbeli els derivltra teht a

qk =
kzeltst hasznljuk.

f (x(k) ) f (x(k1) ) x(k) x(k1) [a, b]


intervallumban van z-

Az 5.1.4. brn szemlltettk a szelmdszer itercijt. Ha az rushely, akkor vlaszthatjuk t berajzolt szel

a-t x(0) -nak

b-t x(1) -nek.

A kt rtkhez tartoz grakonponton

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.

Nemlineris egyenletek s egyenletrendszerek megoldsa

5.1.4. bra.

A szelmdszer itercijnak szemlltetse.

5.1.5. bra.

A szelmdszer nem mindig tallja meg az intervallumban lv zrushelyet.

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)

pontokhoz tartoz szel mr nem az

[a, b]

intervallumban

x-tengelyt,

hanem tle tvol.

A szelmdszer itercis lpseit az albbi algoritmus tartalmazza.

Szelmdszer,

a, b

ill.

adott,

f (a)f (b) < 0.

x := b, s := a for k := 1 : kmax do xs xnew := x f (x)f (s) f (x) if f (xnew) = 0 then

(qk

f (x)f (s) ) xs

else

end

end if end for

s := x, x := xnew

134 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

|e(k+1) | C|e(k) ||e(k1) |


becsls a

C = M2 /(2m1 )

vlasztssal.

Bizonyts. Igazoljuk elszr, hogy ha az hoz, mint

x(k1)

x(k)

sorozatelemek kzelebb vannak

2m1 /M2 ,

akkor az

(k+1)

elem is kzelebb lesz. gy mivel

(0)

-ra s

(1)

-re is teljesl a

felttel, minden sorozatelem kzelebb lesz, mint Szmtsuk ki a hrmdszer esetn, csak

2m1 /M2

(indukci). (Ez ugyanaz a szmols lesz, mint a

(k + 1)-edik itercis lps hibjt! x(0) helyett x(k1) -et kell rni.) x(k+1) x = x(k)

f (x(k) ) f (x(k1) ) f (x(k) ) f (x(k1) )

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

e(k+1) e(k) e(k1) =


ahol

f (x(k1) )/e(k1) + f (x(k) )/e(k) f (x(k) ) f (x(k1) ) =


Cauchy-k..t.

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)

a Cauchy-kzprtkttel szerint. A szmllban pontban vett

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)

Ebbl addik teht, hogy

C = M2 /(2m1 ). |e(k1) | < 2m1 /M2 ,


ezrt kapjuk, hogy

Mivel a felttel miatt

|e(k+1) | < |e(k) |,


tankonyvtar.bme.hu 135

5.

Nemlineris egyenletek s egyenletrendszerek megoldsa

azaz a hibasorozat monoton cskken. gy az is teljesl.

|e(k) | < 2m1 /M2

felttel miatt

|e(k+1) | < 2m1 /M2

Most megmutatjuk, hogy a hibasorozat nullhoz tart. Vezessk be a

d := C max{|a x |, |b

x |}

jellst. Nyilvn

0 < d < 1.

Az (5.1.2) becsls miatt

|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,
. . .

|e(k) | C|e(k1) ||e(k2) | < duk+1 /C,


ahol

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 ))

e(k+1) = Ck e(k) e(k1)


alakban rhat. Vegyk mindkt oldal abszoltrtkt, majd logaritmust (tegyk fel, hogy olyan nagy, hogy a hiba mr egynl kisebb lesz)

ln |e(k+1) | = ln |Ck | + ln |e(k) | + ln |e(k1) |.


Osszuk el mindkt oldalt

ln |e(k) |-val! ln |Ck | ln |e(k1) | ln |e(k+1) | = +1+ . ln |e(k) | ln |e(k) | ln |e(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

is van nulltl klnbz hatrrtke, gy

r. A k , s a derivltak folytonosak, korltos, a nevez pedig -hez tart. A


, ha

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

Analysis Aequationum cm cikkben. A mdszer mai alakja Thomas Simpson-tl

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) ).

Az iterci az albbi algoritmussal rhat le.

2 Joseph Raphson, 16481715. Bvebb letrajz tallhat a http://numericalmethods.eng.usf.edu/anecdotes/raphson.html oldalon.


136 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

5.1.

Nemlineris egyenletek

Newton-mdszer,

x(0)

ill.

adott.

x := x for k := 1 : kmax do x := x f 1 f (x) (x) if f (x) = 0 then

(0)

(qk

= f (x))

end if end for


A Newton-mdszer itercis lpseit az 5.1.6. brn szemlltettk. Az konpontban behzzuk a grakon rintjt. Ahol ez metszi az

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.

A Newton-mdszer itercijnak szemlltetse.

Fontos klnbsg a korbbi mdszerekhez kpest, hogy mg korbban minden lpsben csak egyszer kellett kiszmolni az

fggvny fggvnyrtkt, addig a Newton-mdszernl kt fgg-

vnyrtket kell szmolni minden lpsben: az a Newton-mdszer vgrehajtshoz az

fggvnyekt. Tovbbi klnbsg mg, hogy

fggvny derivltjra is szksg van. Termszetesen a

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

fggvny az 5.1.8. dencibeli alapfeltevseket az

[a, b]

intervallumon. Az

fggvny zrushelynek meghatrozsra alkalmazzuk a Newton-mdszert olyan indtva, melyre

x(0)

pontbl

e(0) < min{|a x |, |b x |, 2m1 /M2 } =: h0 . |e(k+1) | C|e(k) |2

Ekkor a mdszer ltal ellltott

{x }
az

sorozat msodrendben s monoton mdon konvergl a hatrrtkhez, tovbb rvnyes (5.1.3)

becsls a

C = M2 /(2m1 )

vlasztssal.

tankonyvtar.bme.hu 137

5.

Nemlineris egyenletek s egyenletrendszerek megoldsa

Bizonyts. Tegyk fel, hogy a sorozat Ekkor

x(k)

eleme az

zrushely

h0

sugar krnyezetbe esik.

f x

(k)

-ban sorbafejthet. Szmoljuk ki a kzelt polinom rtkt

-ban!

0 = f (x ) = f (x(k) ) + f (x(k) )(x x(k) ) + f (k )(x x(k) )2 ,


ahol

k x

x(k)

kz esik. Innt

amit a Newton-mdszer

f (x(k) ) f (k ) = (x x(k) ) + (x x(k) )2 , f (x(k) ) 2f (x(k) )


lpsnek

(k + 1)-edik

x(k+1) = x(k)
kpletbe helyettestnk.

f (x(k) ) f (x(k) )

x(k+1) x = x(k) x

f (x(k) ) f (x(k) ) f (k ) (x x(k) )2 2f (x(k) )


(5.1.4)

= x(k) x + (x x(k) ) + =
A

f (k ) (x x(k) )2 . 2f (x(k) ) m2 f (k ) M2 2M1 2m1 2f (x(k) )

0<
egyenltlensgbl s a

M2 (0) M2 |x x | < h0 1 2m1 2m1


becslsbl kvetkezik a sorozat msodrend konvergencija

-hoz (1.3.5. ttel).

Az (5.1.4) egyenlsg abszoltrtkt vve s fels becslst vgezve

|x(k+1) x | =

f (k ) M2 |x x(k) |2 h0 |x x(k) | < |x x(k) |, (k) ) 2m1 2f (x x(0) f.


beleesett

amibl kvetkezik a ttelbeli (5.1.3) becsls s a monoton konvergencia. Mivel

h0

sugar krnyezetbe, gy a tbbi sorozatelem is ebbe a krnyezetbe fog esni (teljes indukci).

Ez mutatja, hogy jogosan tettk fel a ttel elejn, hogy

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.

138 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

5.2.

Fixpont-itercik

Bizonyts. Legyen pldul

x(0) > x

f (x(0) ) > 0, f (x(0) ) > 0 f (x(k) ) f (x(k) )

(ekkor

f (x) > 0 x(0)

s a

zrushely kztt). Az

x(k+1) = x(k)
itercis kpletbl lthat, hogy

x(k+1) < x(k) ,

azaz szigoran monoton cskken lesz a sorozat

(amg a zrushelyet meg nem tallja). Msrszt a szigor konvexitsbl kvetkezik, hogy

x(k)

. gy a sorozat konvergens lesz. Legyen a hatrrtke

. Ekkor az itercis kplet mindkt

oldaln ll sorozatnak ugyanoda kell tartania

f ( ) x

x(k+1) = x(k)
x x

f (x(k) ) f (x(k) )
f ( ) x

amibl kvetkezik, hogy

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)

A xpont-iterci lpsei szemlltethetk az nak segtsgvel. Az segtsgvel az

x(0)

rtkkel kiszmtjuk az vettjk. Ezutn

y = F (x) s az y = x fggvnyek grakonjF (x(0) ) rtket, majd ezt az y = x fggvny


jrunk el hasonlan, stb (5.2.1. bra).

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

egyenlet megoldst szeretnnk megkeresni (f folytonos fggvny), akkor

elszr a feladatot trjuk egy ekvivalens

fggvny xpontjnak megkeresse a feladat. Az

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-

kzprtkttel). tankonyvtar.bme.hu 139

5.

Nemlineris egyenletek s egyenletrendszerek megoldsa

5.2.1. bra.

A xpont-iterci szemlltetse.

5.2.1. megjegyzs.
hoz, ha az

A kontrakcis tulajdonsgra nincs szksgnk a konvergencia garantls-

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]

kontrakci, tovbb legyen

legalbb

r-szer

folytonosan dierenci-

lhat gy, hogy

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.

A ttel tbbi lltsa a

Banach-fle xpontttel kvetkezmnye. Az

krli sorfejtsbl (feltesszk, hogy

x = a, b,

klnben megtalltuk a xpontot)

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

F (r) () (k) (x x )r . r! nem nulla, ezrt x egy

krnyezetben teljeslnek

az 1.3.5. ttel felttelei. gy ezen ttel miatt a konvergenciarend valban

r.

Most megadunk egy olyan hibabecsl formult, amely kt egymst kvet sorozatelem segtsgvel mond becslst a xpponttl val tvolsgra.

140 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

k -adik itercis lps x(k+1) = x(k) g(x(k) )f (x(k) ) kplett, majd

alkalmazzuk a Lagrange-kzprtkttelt.

|x(k+1) x(k) | = |g(x(k) )f (x(k) )| = |g(x(k) )f (x(k) ) g(x )f (x ) |


=0

= |(gf ) (k )| |x
ahol

(k)

x | m1 |x

(k)

x |,

megfelel konstans az

x(k)

pontok kztt (Lagrange-kzprtkttel).

Becsljk az (5.2.2) kpletbl

m1

rtkt, majd helyettestsk be azt a fenti kpletbe

|x(k+1) x(k) |
Az

1 + |x(k+1) x(k) | (k) |x x |. |x(k) | |x(k) x |


hibra az albbi becsls nyerhet

|x(k+1) x(k) |

tnyezvel egyszerstve az

|x(k) x | |x(k) | |x(k) x | = (||x(k) | |x(k) x ||) |x(k) (x(k) x )| = |x |.


Az utols eltti lpsben felhasznltuk az 1.1.10. ttelt. A ttelben bizonytott llts felhasznlhat lellsi felttelknt az iterci vgrehajtsa sorn. Mivel

|x | max{|a|, |b|},

ezrt ha

-t

gy vlasztjuk meg, hogy az

max{|a|, |b|}

rtk kisebb

legyen, mint egy elrni kvnt hibartk, akkor az (5.2.2) felttel teljeslsbl kvetkezik, hogy

x(k)

az adott hibrtknl kzelebb lesz a xponthoz.

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

e(k) = F (k1 )e(k1) .


3 Alexander Aitken, 1895-1967, j-Zland
tankonyvtar.bme.hu 141

5.

Nemlineris egyenletek s egyenletrendszerek megoldsa

Az

fggvny folytonossga miatt nyilvnvalan

F (k1 ) F (x ), azaz ha k rtke elg nagy,

akkor a fenti kt kpletben szerepl konstansok kb. megegyeznek. gy

(e(k) )2 = e(k1) e(k+1) ,


azaz

(x(k) x )2 = (x(k1) x )(x(k+1) x ).


Fejezzk ki innt az

xpontot.

(x(k) )2 + (x )2 2x(k) x = x(k1) x(k+1) x (x(k1) + x(k+1) ) + (x )2


Ebbl a zrushely

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

A bevezetett jellsek segtsgvel teht

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

sorozat gyorsabban tart

-hoz, mint az eredeti sorozat, nevezetesen igaz,

x(k) x = 0. k x(k) x lim

5.3. Mintafeladat
Ebben a fejezetben az vlasszuk az

x2 2 = 0

egyenleten mutatjuk meg az egyes ismertetett mdszerek

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 =

kmax = (ln(b a)/106 )/ ln 2 1 = (ln(106 ))/ ln 2 1 18.9316,

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,

emiatt az els s msodik derivlt nem vlt

[1, 2]

intervallumban, gy az 5.1.9. ttel felttelei teljeslnek. Az

vlaszts megfelel, kiindulsknt megadhat pl. az

m1 = 2 s M2 = 2 |e(0) | = |a x | = |1 x | 1 fels becsls.

142 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

5.3.1. tblzat. Az intervallumfelezsi eljrs adatai a mintafeladatra.

gy az (5.1.1) becsls miatt

|e(k) | (1/2)k ,

s a kvnt pontossg elrshez elegend

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

esetn monoton cskken.

Szelmdszer. Az 5.1.11. ttelnek megfelelen legyen

C = M2 /(2m1 ) = 1/2.

Ekkor nyilvn

max{|a x |, |b x |} = max{|1 x |, |2 x |} 1 < 1/C.


gy a szelmdszer monoton mdon konverglni fog. Mivel

d = 1/2,

emiatt alkalmazhatjuk az

|e(k) |
becslst. Ebbl kapjuk, hogy

dk = 2dk 106 C

kmax = 21 itercis lps utn 106 -nl pontosabb kzeltst kapunk.

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

rtkekre jl ltszik a monoton konvergencia (3. oszlop) s a konvergenciarend (4.

oszlop). Newton-mdszer. Mivel brmilyen

= 2 > 0,

f (x) > 0,

ha

x > x

, ezrt a Newton-mdszer

x(0) > x

pontbl indthat (5.1.13. ttel). Indtsuk el az

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.

Nemlineris egyenletek s egyenletrendszerek megoldsa

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

5.3.2. tblzat. A hrmdszer lpsei a tesztfeladatra.

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)

log. rel. cskk. 4.70229223589887 1.69141982231166 1.82761471235075 1.68027808569044 1.67474819872268

0.41421356237310 0.58578643762690 0.08088022903976 0.01421356237310 0.00042058396837 0.00000212389823 0.00000000031577

5.3.3. tblzat. A szelmdszer itercis lpsei.

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

2 x(k+1) = x(k) ((x(k) )2 2) 5

144 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

5.4.

Nemlineris egyenletrendszerek megoldsa

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

log. rel. cskk. 3.84906734083784 2.38960316159481 2.15670829615046 2.07263104582362 -

5.3.4. tblzat. A Newton-mdszer itercis lpsei.

iterci a xponthoz fog tartani. Indtsuk el az itercit pldknt az a hibabecsl formulbl

x(0) = 2

pontbl. Ekkor

x(1) = 1.2, |x(1) x(0) | = 0.8,

|x(k) x |
gy

qk 0.6k |x(1) x(0) | = 0.8 106 , 1q 0.4

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

2.00000000000000 1.20000000000000 1.42400000000000 1.41288960000000 1.41438679128474 1.41419079314044 1.41421655337916 1.41421316943851 1.41421361399318

0.58578643762690 0.21421356237310 0.00978643762690 0.00132396237310 0.00017322891164 0.00002276923265 0.00000299100607 0.00000039293459 0.00000005162009

log. rel. cskk. 2.88104303658437 3.00286370704064 1.43234778523415 1.30688572006857 1.23429487859350 1.18987664275526 1.15957057942449 1.13761248562765

Aitken gyorsts 1.37500000000000 1.41341463414634 1.41420899509093 1.41421348125311 1.41421356097773 1.41421356234091 1.41421356233394 -

log. rel. cskk. 0 0 2.20216989083631 1.72408572874810 1.32779360045390 1.24883257677142 1.18486140714539 0.99188777543203 -

5.3.5. tblzat. A xpont-iterci itercis lpsei.

5.4. Nemlineris egyenletrendszerek megoldsa


Tegyk fel, hogy

H Rn

f:HH

egy adott kellen sokszor folytonosan dierencilhat fggvny, ahol

egy zrt halmaz. Keressk azon

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

koordintafggvnyeinek a nulla rtkhez

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.

Nemlineris egyenletek s egyenletrendszerek megoldsa

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 ) = 0 is teljeslni fog (F folytonos).


sorfejtst az

itercit, s ha ez a sorozat konvergl egy

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)

pontban, majd alkalmazzuk a

xpontra:

0 = f(x ) f(x(k) ) + J(x(k) )(x x(k) ),


ahol

J(x(k) ) =

f1 (k) ) x1 ( . . . fn ( (k) ) x1

... ... ...

f1 (k) ) xn ( . . . fn ( (k) ) xn

x x

az n. Jacobi-mtrix. Innt kifejezhetjk

-t:

x x(k) (J(x(k) ))1 f(x(k) ).


Mivel ez csak egy kzelts, ez nem adja meg az

-t, de alkalmas arra, hogy egy itercit deniljunk

x(k+1) x(k) (J(x(k) ))1 f(x(k) )


Vegyk szre, hogy a fenti iterci valban a Newton-mdszer ltalnostsa, ezrt ezt tbb-

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

megolds egy krnyezetben a Jacobi-mtrixok inverzei korltosak, s a Jacobi-

mtrix Lipschitz-folytonos (megfelel induklt normkat hasznlva), akkor konvergencia msodrend lesz.

egy elegenden

kicsi krnyezetbl indtva az itercit, az az egyenletrendszer megoldshoz fog tartani, s a

5.4.1. megjegyzs.

Lttuk, hogy a tbbvltozs Newton-mdszernl minden lpsben meg kell

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:

x(k+1) = x(k) (J(x(0) ))1 f(x(k) ).

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

sszeget gy szmtjuk ki, hogy mindegyik tagot kt

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

p(x) = x3 + 2x2 + 10x 20


polinom

x = 1.368808107

zrushelyt. Azt, hogy hogyan sikerlt erre az eredmnyre jutnia,

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)

egyenlsget az iterci konstrukcijban (iga-

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)

elemvel! Mit tapasztalunk?

5.5.5. feladat. Oldjuk meg az albbi egyenleteket:

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

egyenletek Newton-mdszeres megol-

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)

polinomnak hrom vals zrushelye van:

z1 , z2

z3 .

Mutassuk meg, hogy ha a Newton-mdszert a

(z1 + z2 )/2

pontbl indtjuk, akkor a mdszer egy

z3

gykt!

5.5.10. feladat. Javasoljunk legalbb kt xpont-itercit az

ex sin x = 0

egyenlet

0.5885

gyknek megkeressre. Vizsgljuk meg a konvergencit!

5.5.11. feladat. A Steensen-mdszer az albbi xpont-itercival oldja meg az egyenletet:

f (x) = 0

x(k+1) = x(k)

f (x(k) ) , (x(k) )

(x(k) ) =

f (x(k) + f (x(k) )) f (x(k) ) . f (x(k) )


fggvny zrushelyeinek megkeresshez

Igazoljuk, hogy a mdszer msodrend, s oldjuk meg vele az elz feladat egyenlett! 5.5.12. feladat. Az

f (x) = (2x2 3x 2)/(x 1) 3(x(k) )2 4x(k) 2 , x(k) 1

hasznljuk az albbi xpont-itercikat:

x(k+1) =

x(k+1)

= x(k) 2 +

x(k) . x(k) 1
tankonyvtar.bme.hu 147

5.

Nemlineris egyenletek s egyenletrendszerek megoldsa

Vizsgljuk meg a mdszerek rendjt! Milyen kezdpontbl fog 2-hz konverglni a msodik mdszer? 5.5.13. feladat. Oldjuk meg az

f (x) = ex 1x = 0 egyenletet a Newton-mdszerrel! Mekkora 2f (x(k) ) f (x(k) )

lesz a konvergenciarend? Prbljuk ki 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) =

f (x) = x3 2x + 2 fggvnyre a 0 rtket

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

148 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

ezek a pontok adottak az ahol

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

Hogyan adhatnnk becslst az

fggvny rtkre az

pontban? Hogyan becslhetnnk az tke?

fggvny derivltjt egy adott pontban vagy az integrljt

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

intervallum alappontoktl eltr pontjaiban az interpolcis fggvny rtkeivel kzeltjk az

ismeretlen fggvny rtkeit. Ezt az eljrst

interpolcinak

nevezzk. Ezek utn a krdsekre

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.

6.1. Globlis polinominterpolci


Tekintsk elszr azt az esetet, amikor az adott pontokat egyetlen polinom segtsgvel szeretnnk interpollni a teljes

intervallumon. Ezt az eljrst

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

szabadon vlaszthat egytthatja van.

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,

Bizonyts. Legyen a keresett polinom egyenlsgeknek kell teljeslnik:

ak xk . Ekkor az interpolcihoz az albbi

Ln (xi ) =
k=0

ak xk = fi (i = 0, . . . , n). i

Ez egy olyan lineris egyenletrendszer, melynek egytthatmtrixa egy Vandermonde-mtrix. Mivel

xi = xj ,

ha

i = j,

ezrt a mtrix determinnsa nem nulla. Ebbl kvetkezik, hogy az

egyenletrendszer megoldsa, azaz a polinom egytthati, egyrtelmen meghatrozottak.

6.1.2. megjegyzs.

A fenti ttelben az egytthatmtrix invertlhatsga ms mdszerrel is

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

Ez viszont azt jelenten, hogy a klnbz polinomnak

n+1

n k k=0 yk x legfeljebb n-edfok, a konstans nulla polinomtl zrushelye lenne, ami ellentmondana az algebra alapttelnek.

6.1.1. Az interpolcis polinom Lagrange-fle ellltsa


Most bemutatjuk az interpolcis polinom Lagrange -tl szrmaz ellltsi mdjt.
1

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

wn+1 (x) = (x x1 )(x x2 )(x x3 ) . . . (x xn )

melybe az

xk

alappontot helyettestve a

wn+1 (xk ) = (xk x0 )(xk x1 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xn )


kifejezst kapjuk. Innt lthat, hogy az alappontpolinom segtsgvel az lk Lagrange-fle alappolinom az

lk (x) =
alakban is felrhat (k

wn+1 (x) (x xk )wn+1 (xk )

(6.1.1)

= 0, . . . , n). x0 = 0, x1 = 1, x2 = 2, x3 = 3
s

Pldaknt a 6.1.1. brn megrajzoltuk az

x4 = 4

alappontokhoz tartoz Lagrange-fle alappolinomok grakonjait.

6.1.5. ttel.
Az interpolcis polinom

n+1

alappont esetn az

Ln (x) =
k=0
alakban rhat.

fk lk (x)

Bizonyts. Mivel a Lagrange-fle alappolinomok pontosan legfeljebb

n-edfokak, ezrt az Ln (x) polinom

n-edfok.

A Lagrange-fle alappolinomokra nyilvnvalan igaz az

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

polinom egyrtelmsgbl kvetkezik az llts.

6.1.6. megjegyzs.

A 6.1.1. ttelt igazolhatjuk az interpolcis polinom Lagrange-fle elllt-

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

pontokhoz tartoz Lagrange-fle alappolinomok.

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

interpolcis polinom, akkor a klnbsgpoli-

n+1

zrushelye lenne (nevezetesen az alappontok), ami ellentmond az algebra

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

x-hatvnyonknt rendezett alakban (a n-nel exponencilisan nvekszik) s utna

4n2 + O(n)

op mvelettel szmolhat.

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.

Pldaknt hatrozzuk meg a (0,2), (1,1) s (3,5) pontokhoz tartoz interpol-

cis polinomot. Elszr a Lagrange-fle alappolinomokat hatrozzuk meg:

1 4 (x 1)(x 3) = x2 x + 1, (0 1)(0 3) 3 3 (x 0)(x 3) 1 3 l1 (x) = = x2 + x, (1 0)(1 3) 2 2 (x 0)(x 1) 1 2 1 l2 (x) = = x x, (3 0)(3 1) 6 6 l0 (x) =

152 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.1.

Globlis polinominterpolci

6.1.2. bra. A 6.1.7. pldban szerepl pontok s a hozzjuk tartoz interpolcis polinom grakonja.

majd ezek segtsgvel felrjuk a keresett interpolcis polinomot:

L2 (x) = 2
A polinomot

(x 0)(x 3) (x 0)(x 1) (x 1)(x 3) +1 +5 . (0 1)(0 3) (1 0)(1 3) (3 0)(3 1)


rendezett alakba rva

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

Az adott pontokat s az interpolcis polinom grakonjt a 6.1.2. brn lthatjuk.

6.1.2. A baricentrikus interpolcis formula


Az interpolcis polinom Lagrange-fle ellltsnl lttuk, hogy azt jra kell szmolni, ha j alappontot vesznk fel. A formult egy kicsit talaktva viszont egy sokkal praktikusabb ellltst kapjuk az interpolcis polinomnak: a baricentrikus formult. Egyszersge ellenre a formula trgyalsa gyakran kimarad a numerikus mdszereket trgyal knyvekbl. Ezt a hinyt ptoljuk most a formula ismertetsvel [4]. Vezessk be a

qk =
(k

1 1 (xk x0 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xn ) wn+1 (xk )

= 0, . . . , n) n. baricentrikus slyokat. Ezek a szmok a Lagrange-fle alappolinomok fegytttankonyvtar.bme.hu 153

6.

Interpolcis feladatok

hati. gy az interpolcis polinom a Lagrange-fle ellltsbl kiindulva

Ln (x) =
k=0

wn+1 (x) fk qk = wn+1 (x) x xk

k=0

fk qk x xk

(6.1.2)

alakra hozhat. Ez a formula tovbb egyszersthet, ha szrevesszk, hogy

wn+1 (x)
k=0
hiszen a bal oldal az

qk 1, x xk

(xk , 1) (k = 0, . . . , n)

pontokhoz tartoz interpolcis polinomot adja, ami

az interpolcis polinom egyrtelmsge miatt csak a konstans 1 polinom lehet. Ennek alapjn a (6.1.2) formult trhatjuk az albbi mdon:

Ln (x) =

wn+1 (x) Ln (x) = 1 wn+1 (x)

n k=0 (fk qk )/(x xk ) n k=0 qk /(x xk )

n k=0 qk fk /(x xk ) . n k=0 qk /(x xk )


nevezzk . Ezzel az alakkal mr
2

Az gy nyert formult

baricentrikus interpolcis formulnak

lehet is mveletszmot sprolni. A slyok kiszmtsa egyenknt

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 =

Tekintsk a 6.1.7. pldban szerepl pontokat, s hatrozzuk meg az interpo-

lcis polinomot a baricentrikus formula segtsgvel! Szmtsuk ki a baricentrikus slyokat:

1 1 1 1 1 1 = , q1 = = , q3 = = . (0 1)(0 3) 3 (1 0)(1 3) 2 (3 0)(3 1) 6

Az interpolcis polinom teht

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

rendezve termszetesen ismt a 6.1.7. pldban szerepl

polinomot kapjunk.

6.1.3. Az interpolcis polinom ellltsa Newton-fle osztott dierencikkal


Keressk az interpolcis polinomot az

(xi , fi ) (i = 0, . . . , n)

pontokhoz az albbi alakban: (6.1.3)

Ln (x) = c0 + c1 (x x0 ) + c2 (x x0 )(x x1 ) + . . . + cn (x x0 ) . . . (x xn1 ).


Mivel az egyes tagokban szerepl polinomok linerisan fggetlenek, gy minden legalbb polinom egyrtelmen felrhat a fenti alakban. Teht egyrtelmen lteznek olyan konstansok, hogy a fenti polinom az interpolcis polinomot adja.

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

rtkt mr meghatroztuk. Helyettestsnk most

x1 -et

a (6.1.3) polinomba:

f1 = Ln (x1 ) = c0 + c1 (x1 x0 ) = f0 + c1 (x1 x0 ),


ahonnt

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

fj (yj y1 ) . . . (yj yj1 )(yj yj+1 ) . . . (yj ys )

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

A (0,2), (1,1) s (3,5) pontokhoz tartoz msodrend osztott dierencia a

[0, 1, 3]f =

2 1 5 + + = 1. (0 1)(0 3) (1 0)(1 3) (3 0)(3 1)

6.1.11. megjegyzs.

Vegyk szre, hogy az osztott dierencia rendjt gy deniltuk, hogy az

a felhasznlt pontok szmnl eggyel kisebb.

6.1.12. ttel.
Az osztott dierencia rtke fggetlen az az

yj (j = 1, . . . , s)

pontok sorrendjtl, tovbb igaz

[y1 , . . . , ys ]f =
sszefggs.

[y2 , . . . , ys ]f [y1 , . . . , ys1 ]f ys y1

Bizonyts. Az els llts a denci kzvetlen kvetkezmnye. A msodik rszhez igazoljuk, hogy

[y1 , . . . , ys ]f (ys y1 ) = [y2 , . . . , ys ]f [y1 , . . . , ys1 ]f .


tankonyvtar.bme.hu 155

6.

Interpolcis feladatok

Induljunk ki a jobb oldalbl:

[y2 , . . . , ys ]f [y1 , . . . , ys1 ]f


s

=
j=2

fj fj (yj y2 ) . . . (yj ys ) j=1 (yj y1 ) . . . (yj ys1 )


(yj yj ) hinyzik (yj yj ) hinyzik s1

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}

index rgztve, s deniljuk a

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

(x x0 ) . . . (x xk1 )(x xk+1 ) . . . (x xl ) , (xk x0 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xl )

cl =
k=0

fk , (xk x0 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xl ) [x0 , . . . , xl ]f .


Ezt szerettk volna meg-

ami a Newton-fle osztott dierencia dencija szerint mutatni.

A cl egytthatk ezek utn rekurzival az albbi mdon [xi ]f = fi (i = 0, . . . , n). Ezek a nulladrend dierencik. A elsrend dierencikat az

llthatk el. A denci alapjn: 6.1.12. ttel gyelembevtelvel az

[x0 , x1 ]f =

[x2 ]f [x1 ]f [x1 ]f [x0 ]f , [x1 , x2 ]f = x1 x0 x2 x1

156 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.2.

Az interpolcis hiba

formulkkal kapjuk, mg a msodrendek az

[x0 , x1 , x2 ]f =

[x1 , x2 ]f [x0 , x1 ]f x2 x0 n-edrend osztott

mdon nyerhetk. Az eljrst addig folytatjuk, amg meg nem kapjuk az utols, dierencit is.

6.1.14. plda.

Keressk meg a (0,2), (1,1) s (3,5) pontokhoz tartoz interpolcis polino-

mot az osztott dierencik mdszervel! A

cl

egytthatk kiszmtshoz elszr tblzatba

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

egytthatkat nvekv indexekkel.

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

Ezutn a (6.1.3) kplet alapjn kapjuk a keresett

interpolcis polinomot, amelyet a Horner-smhoz hasonl pldbl ismert

2 + (1)(x 0) + 1(x 0)(x 1) (1(x 1) 1)(x 0) + 2 form-

ban szoktak megadni s a helyettestsi rtkeit kiszmolni. A polinomot rendezve a 6.1.7.

x2 2x + 2

polinomhoz jutunk.

6.2. Az interpolcis hiba


Tegyk fel, hogy adottak az fggvny grakonjrl szrmaznak, azaz

(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

En : I R, En (x) = (Ln f )(x) f (x)

fggvnyt az

pontokhoz tartoz interpolcis hibafggvnynek nevezzk. hiba. Termszetesen, ha az

f fggvny (x0 , f0 ), . . . , (xn , fn ) En (x) az x pontbeli interpolcis

fggvny

Df

rtelmezsi tartomnya tgabb az

halmaznl, akkor az

interpolcis hibafggvnyt a tozik az rtke, ha

Df

halmazon is rtelmezhetjk.

Vajon mit mondhatunk az interpolcis hibrl? Tudunk-e r fels becslst adni? Hogy vl-

rtkt nveljk? Tart-e ebben az esetben pontonknt az interpolcis

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.

fggvny folytonos. Most megemltnk nhny olyan eredmnyt, ame-

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)

6.2.2. ttel. (Georg Faber3 , 1914)


Brmely

{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 )

Runge-fle fggvny s az alakj-

3x2 /8

fggvny 16 ekvidisztns alappontos interpolcis polinomjnak grakonja

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

fggvnyek interpolcis polinomjainak grakonjai a

[5, 5]

intervallumbl ekvidisztnsan vlasztott 16 alapponton.

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

6.2.3. ttel. (Marcinkiewicz6 [24], 1936)


az [a, b] intervallumon folytonos f fggvnyhez ltezik olyan [a, b]-beli (n) (n) {x0 , . . . , xn }n=1 alappontsorozat, amelyen az Ln f interpolcis polinomok sorozata egyenletesen tart az f fggvnyhez az [a, b] intervallumon. Minden, Megemltnk egy olyan eredmnyt, amely azt mutatja, hogy folytonos fggvnyek tetszlegesen megkzelthetk polinomok segtsgvel, ha nem kveteljk meg az interpolcis felttelt.

6.2.4. ttel. (Weierstrass7 -fle approximcis ttel [39], 1885)


Legyen olyan

f C[a, b]

egy tetszleges folytonos fggvny. Ekkor tetszleges

>0

szmhoz van

polinom, melyre

|f (x) p(x)| <

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 ].

Ekkor egy tetszleges

xI

pontban az interpolcis hiba az

En (x) =
alakban rhat, ahol

f (n+1) (x ) wn+1 (x) (n + 1)!

utal, hogy az rtk fgg az Bizonyts. Ha niljuk a

x , egy az I intervallum belsejbe es megfelel konstans (az x index arra x pont megvlasztstl).

x G : I R,

egybeesik valamelyik alapponttal, akkor az llts trivilis. Egybknt de-

G(t) = En (t)
fggvnyt, amely legalbb zrushelye van:

wn+1 (t) En (x) wn+1 (x)

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

(n + 1)! En (x), wn+1 (x) (n + 1)! En (x) = 0, wn+1 (x)

G(n+1) (x ) = f (n+1) (x )
teht

En (x) =
Ezt akartuk bizonytani.

f (n+1) (x ) wn+1 (x). (n + 1)!

6 Jzef Marcinkiewicz (19101940), lengyel matematikus. 7 Karl Theodor Wilhelm Weierstrass (18151897), nmet matematikus.
tankonyvtar.bme.hu 159

6.

Interpolcis feladatok

A ttel segtsgvel elgsges felttelt tudunk adni az egyenletes konvergencira.

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]

intervallum egy tetszleges

pontjra

|En (x)| =
(x-tl fggetlenl), ha

|f (n+1) (x )| M n+1 |wn+1 (x)| (b a)n+1 0 (n + 1)! (n + 1)!

n . wn+1
alappontpolinom. Ennek abszolt rtkre

Az interpolcis hiba kpletben szerepel a ad becslst az albbi ttel. Jelljk azaz

h-val

a szomszdos alappontok kzti legnagyobb tvolsgot,

h := maxi=1,...,n {xi xi1 }.

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

ami azt jelenti, hogy teljesl az

|(x x0 )(x x1 )|
becsls. Teht

|wn+1 (x)|
Legyen most

x (x1 , x2 ).

Ekkor

hn+1 h2 2h 3h . . . nh = n!. 4 4 |(x x1 )(x x2 )| az x = (x1 + x2 )/2 x1 x2 x2 x1 h2 . 2 2 4

vlaszts esetn a

legnagyobb, ami azt jelenti, hogy

|(x x1 )(x x2 )|
Teht

|wn+1 (x)| 2h

h2 hn+1 2n! hn+1 2h 3h . . . (n 1)h = n!. 4 4 n 4 I


intervallum

Hasonlan jrhatunk el a tbbi intervallumnl is. A becslsekbl lthat, hogy az gy a kt szls osztintervallumon adott becsls lesz rvnyes az egsz

szln lv osztintervallumokon a fels becsls nagyobb, mint a beljebb lv intervallumokon.

intervallumra.

6.2.8. megjegyzs.
ltalban az

Az, hogy az

intervallum szln lv osztintervallumokon az alappolinom

rtkre adott fels becsls nagyobb, mint a beljebb lv intervallumokon, azt sugallja, hogy

intervallum szlei kzelben nagyobb interpolcis hiba vrhat, mint beljebb.

160 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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.

6.3. Interpolci Csebisev-alappontokon


Az interpolcis hiba nagysga fgg az alappontpolinom rtktl (6.2.5. ttel). Az alappontpolinom 1 fegytthats az

(n + 1)-ed

fok polinom, melynek pontosan

(n + 1)

darab zrushelye van:

(n + 1)

darab alappont. gy a fenti tulajdonsg polinomok s az alappontok kztt klcs-

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]

egy rgztett intervallum. Egy

p(1)
(1)

1 fegytthats,

(n + 1)-ed

fok polinomra

pontosan akkor igaz, hogy fok polinom esetn, ha a

(1)

p(1)

q polinom az [a, b]
C[a,b]

C[a,b] minden

q (1)

1 fegytthats

intervallumban rendelkezik legalbb

(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

[a, b] intervallumon legalbb n+2 klnbz abszolt szl-

srtkhellyel rendelkezik, a szlsrtkhelyeken a fggvnyrtkek abszolt rtkben megegyez-

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

polinom, melynek eljele a

p(1)

eljelvel. Brmely kt szomszdos, ellenkez eljel szlsr-

tkhely kztt vlaszthatunk egy olyan pontot, ahol a

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)

eljelvel. Ezen polinom megfelelen kicsi

>0

szmszorost kivonva

1 fegytthats legfeljebb azaz

(n+1)-ed fok polinom nyerhet, melyre p

(1)

C[a,b]

p(1) -bl olyan < p(1) C[a,b] ,

p(1)

nem lehetett az optimlisan kzelt polinom. Ez cfolja az indirekt felttelt.

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

Bizonyts. Tegyk fel indirekt, hogy nyilvn

p1

p2

(1)

is megfelelne a ttel feltteleinek. Ekkor

p1

(1) C[a,b]

= p2 D

(1) C[a,b] (1)

=: D
(1)

kell legyen. Ekkor viszont

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)

Ms intervallumra egyszer vltoztranszformcival trhetnk t. Jellje

T0 (x) = 1

T1 (x) = x.

[1, 1] intervallumon! Tn az optimlis n-

Emlkezznk r, hogy az optimlis

(n + 2)-szer

vesz fel abszolt szlsrtket vltakoz eljellel. Innt jn az az

tlet, hogy valamilyen periodikus fggvny segtsgvel lltsuk el az optimlis polinomokat. Az

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

vlaszts optimlis msodfok polinomot ad. A kvetkez ttel ezek

alapjn explicit mdon megadja az optimlis polinomokat.

6.3.3. ttel.
A

fggvny a

cos(n arccos x) Tn (x) = , n1 2n1 [1, 1] intervallumon egy 1 fegytthats n-edfok

polinom, amelynek

n+1

vl-

takoz eljel abszolt szlsrtkhelye van.

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

ami pedig egy 1

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

(n + 1)-ed fok, 1 [1, 1] intervallumon.

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

Visszatrve az eredeti problmhoz ez azt jelenti, hogy az polinom legyen.

alappontokat gy kell megvlasztanunk, hogy az alappontpolinom ppen a 162 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.3.

Interpolci Csebisev-alappontokon

Ez nyilvnvalan gy rhet el, ha

Tn+1

zrushelyeit vlasztjuk alappontoknak. A

Tn+1

polinom

zrushelyei a kvetkez alakban adhatk meg:

xk = cos

(2k + 1) 2(n + 1)

, k = 0, . . . , n.

6.3.4. denci.
A

T0 (x) = 1

Tn (x) = 2n1 Tn (x) (n 1)

polinomokat Csebisev -polinomoknak nevezzk.

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) = 2Tn1 (x) Tn2 (x)

rekurzival nyerhet. Explicit alakjuk:

Tn (x) = cos(n arccos x).


A Csebisev-polinomoknak a maximuma.

Tn (x)

fegytthatja

[1, 1] intervallumban 1 az abszolt minimuma s 1 az abszolt 2n1 .

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 ,

ha alappontoknak a Csebisev-polinomok zrushelyeit vlasztjuk. Ebben az s

esetben az alappontokat Csebisev-alappontoknak hvjuk. A 6.3.1. brn a

T0 , . . . , T4

T10

Csebisev-polinomok grakonjai lthatk a

[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

A Csebisev-alappontok nem csak a

[1, 1]

intervallumon adhatk meg, ha-

xk =
transzformcival brmilyen

a+b ba + xk 2 2

[a, b]

intervallumon is.

6.3.7. megjegyzs.
teljesl, hogy

Csebisev-alappontokon interpollva az interpolcis hiba fels becslsre

|En (x)|
ahol

Mn+1 , x I, (n + 1)!2n

Mn+1 = maxxI {|f (n+1) (x)|}.

Bizonyts nlkl kzljk az albbi ttelt, amely a Csebisev-alappontokon val interpolci konvergencijrl szl.

6.3.8. ttel.
A

[a, b]

intervallumon abszolt folytonos

fggvnyek Csebisev-alappontokon vett interpol-

cis polinomjainak sorozata

C[a, b]

maximumnormjban tart az eredeti fggvnyhez, ha az

alappontok szma tart a vgtelenbe.

8 Pafnutyij Lvovics Csebisev (18211894), orosz matematikus


tankonyvtar.bme.hu 163

6.

Interpolcis feladatok

6.3.1. bra. A

T0 , . . . , T4

T10

Csebisev-polinomok grakonjai a

[1, 1]

intervallumon.

A ttel kvetkezmnye teht pl., hogy az kapunk. A 6.3.2. brn a Runge-fle

|x|

fggvnyt vagy a Runge-fle

1/(1 + x2 )

fgg-

vnyt a Csebisev-alappontokon interpollva az eredeti fggvnyhez konvergl polinomsorozatot

1/(1 + x2 ) fggvny interpolcis polinomjainak grakonjait

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.3.2. bra. A Runge-fle intervallumon.

1/(1+x2 ) fggvny interpolcija 14 ill. 24 Csebisev-alapponton a [-5,5]

6.3.9. megjegyzs. Termszetesen a Faber-ttel (6.2.2. ttel) miatt a Csebisev-alappontok esetn


9 Egy f : [a, b] R fggvnyt abszolt folytonosnak hvunk, ha minden > 0 esetn van olyan > 0, hogy ha a a1 < b1 a2 < b2 . . . am < bm b s m |bi ai | < , akkor m |f (ai ) f (bi )| < . Ha k=1 k=1 egy fggvny teljesti a Lipschitz-tulajdonsgot (van olyan L 0 szm, hogy |f (x) f (y)| K|x y| minden x, y [a, b] esetn), akkor abszolt folytonos is.
164 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.4.

Hermite-interpolci

is lesz olyan folytonos fggvny, melynl nincs egyenletes konvergencia.

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

nevezzk. Amennyiben specilisan minden pontban

csak a fggvnyrtkek s az els derivltak adottak, akkor szlnk. Mivel sszesen

HermiteFejr-interpolcirl 10

be-

N := m0 + . . . + mn + n + 1

adat adott, gy vrhat, hogy egy legfeljebb

(N 1)-ed

fok polinom megfelel a feltteleknek.

6.4.1. ttel.
Egyrtelmen ltezik egy olyan

HN 1

legfeljebb

(N 1)-ed

fok polinom, amely teljesti a

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

alak. Ekkor az egytthatk

meghatrozshoz az albbi egyenletrendszert kell megoldanunk:

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
. . .

(0) f0 f (1) 0 . . . a0 . a1 . . a2 = f (0) . 1 (1) . . f . 1 . . .

. . .

Itt

N N

egyenlet van s

ismeretlen, s az egytthatmtrix nemszingulris. Ugyanis ha ltezne

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

kplettel llthat el, ahol lk a

k -adik

alapponthoz tartoz Lagrange-fle alappolinom.

Bizonyts. Hasonlan az interpolcis polinom Lagrange-fle ellltshoz ellltunk olyan polinomokat, melyek

(2n + 1)-ed

fokak s vagy az rtkk vagy a derivltjuk 1 valamelyik

alappontban, s a tbbi rtkk s derivltjuk pedig 0 a tbbi alappontban. Jellje alappolinomot, melyre

hk0

azt az

hk0 (xl ) = kl , hk0 (xl ) = 0,


s

hk1

azt az alappolinomot, melyre

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

n (0) fk hk0 (x)

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.

166 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.5.

Szakaszonknt polinomilis interpolci

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

En (x) = H2n+1 (x) f (x) =


alakban rhat, ahol

egy, az

intervallum belsejbe es megfelel konstans (az

utal, hogy rtke fgg az

pont megvlasztstl).

6.5. Szakaszonknt polinomilis interpolci


Ha az interpolci sorn az alappontok adottak (pl. mrsi eredmnyekbl szrmaznak), akkor nem lehet a Csebisev-alappontokat hasznlni. Ez nagy interpolcis hibhoz vezethet. Az is lthat, hogy az interpolcis polinom ltalban nem gy kti ssze az adott pontokat, ahogy azokat szabad kzzel sszektnnk: pl. lehet, hogy egyms melletti pontokhoz ugyanaz az ordinta tartozik, az interpolcis polinom rtke mgis nagyon eltrhet ettl az rtktl ezen a szakaszon. Ha a pontok monoton nv ordintval rendelkeznek egy szakaszon, ez nem vonja maga utn, hogy az interpolcis polinom is monoton nv lesz a megfelel szakaszon. Ezeket a hibkat kszblhetjk ki, ha szakaszonknt polinomilis interpolcit alkalmazunk. Ekkor a szomszdos alappontok kzti szakaszokon, egy-egy alacsony fokszm polinommal interpollunk. Ezt az interpolcis mdot

spline 11 -interpolcinak

nevezzk.

6.5.1. Szakaszonknt lineris interpolci


A legegyszerbb spline-interpolci a szakaszonknt lineris interpolci. Ilyenkor a szomszdos pontokat egyenes szakaszokkal ktjk ssze. Jelljk most is az alappontokat nvekv sorrendben az az

x0 < x1 < . . . < xn [xk1 , xk ] szakaszon az

mdon, az egyes pontokbeli fggvnyrtkeket jellje interpolcis spline-polinom legyen

f0 , . . . , fn ,

sk (k = 1, . . . , n).

Szakaszonknt

lineris spline esetn nyilvnvalan

sk (x) = fk1

x xk x xk1 + fk , x [xk1 , xk ]. xk1 xk xk xk1

A teljes intervallumon rtelmezett interpolcis fggvny ekkor

s(x) =

s1 (x), s2 (x), . . . sn (x),

ha ha . . . ha

x [x0 , x1 ], x [x1 , x2 ], x [xn1 , xn ] sk (xk ) = sk+1 (xk ) = fk .

alakban adhat meg. Ez egy folytonos fggvny, hiszen

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).

Ekkor a lineris spline-interpolcis fggvny hibja

|s(x) f (x)|
ahol

M2 2 h , 8 I
intervallumon, s

M2

egy fels korlt

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.

6.5.2. Szakaszonknt kvadratikus interpolci


A szakaszonknt lineris interpolci egyik htrnya, hogy az gy nyert zsval. Vlasszuk meg az ez

interpolcis fggvny

ugyan folytonos, de a derivltja mr nem. Ezt kszblhetjk ki msodfok polinomok alkalma-

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.

6.5.3. Szakaszonknt harmadfok interpolci


Tekintsk most azt az esetet, amikor minden intervallumon egy legfeljebb harmadfok polinomot alkalmazunk az interpolcira. Ekkor, ha megadjuk az

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.

Szakaszonknt polinomilis interpolci

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

derivltrtkek alkalmas megvlasztsval elrhet az is, hogy a msodrend

derivltak is folytonosak legyenek. Legyen meg. Ekkor adott

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

fi = [.]f fk1 =: ck0 fk1

[., .]f dk1 =: ck1

[., ., .]f

[., ., ., .]f

fk fk1 xk xk1

dk1

xk xk1 fk fk1 xk xk1

=: ck2
dk fk fk1 xk xk1 xk xk1

fk fk1 dk1 xk xk1 xk xk1

xk xk

fk dk fk sk
az

dk xk xk1
k

f f

xk xk1
k1

=: ck3

xk xk1

A tblzatban szerepl jellsekkel

sk (x) = ck0 + ck1 (x xk1 ) + ck2 (x xk1 )2 + ck3 (x xk1 )2 (x xk )


alakban rhat. Itt a

cki

egytthatk a

tit jelentik. Hasonlan kaphatjuk az

k . intervallumon denilt sk polinom megfelel sk+1 polinomot az [xk , xk+1 ] intervallumon

egyttha-

sk+1 (x) = ck+1,0 + ck+1,1 (x xk1 ) + ck+1,2 (x xk1 )2 + ck+1,3 (x xk1 )2 (x xk )


tankonyvtar.bme.hu 169

6.

Interpolcis feladatok

alakban. Mivel

sk (x) = 2ck2 + 2ck3 (x xk ) + 4ck3 (x xk1 )


s

sk+1 (x) = 2ck+1,2 + 2ck+1,3 (x xk+1 ) + 4ck+1,3 (x xk ),


ahhoz, hogy a msodik derivlt is folytonos legyen az

xk

pontban, a

2ck2 + 4ck3 (xk xk1 ) = 2ck+1,2 + 2ck+1,3 (xk xk+1 )


egyenlsgnek kell teljeslni. Az egytthatk behelyettestse utn 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)

fk fk1 fk+1 fk + 2 (xk xk1 ) (xk+1 xk )2


derivltrtkek teljestik a (6.5.1)

(k = 1, . . . , n 1). Amennyiben a d0 , . . . , dn

feltteleket, akkor a msodik derivlt folytonos lesz a teljes intervallumon. Mivel

n1 egyenletnk D0
s

n+1 k = 1,

ismeretlen derivltrtk, gy vrhat, hogy mg kt plusz felttelt is elrhatunk.

Legyenek ezek az intervallum kt szln elrt msodik derivltak. Jellje ket akkor

Dn .

s1 (x0 ) = 2c12 + 2c13 (x0 x1 ) = D0 ,


ahonnt a

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

sn (xn ) = 2cn2 + 4cn3 (xn xn1 ) = Dn .


gy az

1 Dn 2 fn fn1 + dn1 + dn = 3 xn xn1 xn xn1 (xn xn1 )2 2


egyenlethez jutunk. A (6.5.1), (6.5.2), (6.5.3) egyenletekbl ll egyenletrendszert megoldva megkaphatjuk a derivltrtkeket, melyek biztostjk a msodik derivlt folytonossgt s az a msodik derivlt csak

(6.5.3)

d0 , . . . , d n

x0

xn

pontokban

D0

ill.

Termszetesen mivel

Dn rtkt. n+1 ismeretlen derivltrtknk van, s a msodik derivlt folytonossga

n1

egyenletet ignyel, gy az egyrtelmsghez szksges plusz kt felttel nem csak gy

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

esetn, akkor a (6.5.1), (6.5.2), (6.5.3) egyenletekbl ll egyenletrendszer az

170 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.5.

Szakaszonknt polinomilis interpolci

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.

albbi ttekinthet formban rhat:

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

Ha a kt szls pontban a derivltak adottak, akkor az egyenletrendszer

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

a hozzjuk tartoz szakaszon-

knt legfeljebb harmadfok spline-fggvny, amelynek a vgpontokban vett msodik derivltjai

Dn )

nullk. Ekkor

(s (x))2 dx
I
minden olyan

(g (x))2 dx
I

g C 2 (I)

fggvny esetn, amelyek interpolljk az adott pontokat.

Bizonyts. Nyilvnvalan

s C 2 (I).
xn

Legyen

g C 2 (I)

tetszleges olyan fggvny, amely

interpollja az adott pontokat. Ekkor azt kell megmutatnunk, hogy

(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

s (x)(s (x) g (x)) dx.

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

vgtelen sokszor derivlhat!

xn

xk

s (x)(s (x) g (x)) dx =


x0 n k=1 xk1 xk

s (x)(s (x) g (x)) dx

=
k=1

[s (x)(s (x) g (x))]xk k1

s (x)(s (x) g (x)) dx


xk1

s (x)(s(x) g(x)) dx xk1


=0 xk

=
k=1

x x [s (x)(s (x) g (x))]xk [s (x)(s(x) g(x))]xk k1 k1

172 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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)

tnyez minden alappontban nulla, hiszen mindkt fggvny grakonja tmegy az

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.

6.6. Trigonometrikus interpolci


Az alkalmazsokban (pl. digitlis jelfeldolgozs, kpfeldolgozs) gyakran tallkozunk azzal a feladattal, hogy egy adott periodikus fggvnyt trigonometrikus sszetevkre kell bontanunk. Egy

szerint periodikus

f (x)

fggvnynek kereshetjk pl. az

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)

fggvnyhez konvergljon, az egytthatkat az

0 = j = j =

f (x) dx,
0 2

f (x) cos(jx) dx, f (x) sin(jx) dx


0

(6.6.1)

mdon kell megvlasztanunk, gy nyerjk az n. Fourier-sort. A fenti integrlokat csak nagyon specilis

f (x)

fggvnyek esetn tudjuk kiszmolni. Tovbbi nehzsg, hogy gyakran az

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)

fggvny adott alappontokban

vett rtkeire illesztett trigonometrikus polinomot hatrozzuk meg  ezt az eljrst

rikus interpolcinak

trigonomet-

nevezzk, majd ezutn ezzel kzeltjk az

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

peridus fggvnynek ismerjk az

fk = f (xk )

rtkeit az

xk = 2k/(n + 1) [0, 2)
azt a

pontokban (k

= 0, . . . , n),
m

ahol

egy pozitv egsz szm. Keressk

tm (x) = a0 +
j=1
alak n.

(aj cos(jx) + bj sin(jx))

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

nem befolysolja az interpolcit. gy polinomokat (pratlan mutatjk.

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

diszkrt Fourier egytthatk az albbi mdon szmolhatk:

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

eijx = cos(jx) + i sin(jx), eijx = cos(jx) i sin(jx),


ahonnt azt kapjuk, hogy

cos(jx) =

eijx + eijx 2

sin(jx) = tm

eijx eijx . 2i
polinomba.

Az gy kapott kifejezseket helyettestsk vissza az eredeti

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 +

174 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.6.

Trigonometrikus interpolci

Vezessk be a fenti kpletekben szerepl egyes egytthatkra a

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 ,

egytthatkat komplex Fourier-egytthatknak nevez-

zk. Az eredeti vals egytthatk is knnyen elllthatk a

cj

egytthatkkal:

aj = cj + cj , (j = 1, . . . , m 1), bj = (cj cj )i (j = 1, . . . , m 1).


A trigonometrikus interpolcis polinom ezen talaktsa utn trjnk t a tm (xk )

(6.6.3)

= fk , azaz
(6.6.4)

m1

cj eijxk +

j=(m1)
interpolcis kvetelmnyek teljestsre (k Vezessk be a

cm imxk cm imxk e + e = fk 2 2 = 0, . . . , n)!

w = ei2/(n+1)
komplex egysggykre (w

jellst az

(n + 1)-edik

n+1

= 1).

Ezzel a jellssel

eijxk = wjk
s

wmk = w(n+1)k/2 = (ei )k = (1)k .

Teht (6.6.4) bal oldalnak utols kt tagja sszevonhat

m1

cj wjk +
j=(m1)

cm cm (1)k + (1)k = fk 2 2
cm wmk

mdon, azaz a megoldand egyenletrendszer a

cj wjk = fk
j=(m1)
alakot lti.

(k = 0, . . . , n)

(6.6.5)

Ez az egyenletrendszer mtrixos alakban

1 w(m2) w2(m2)
. . .

w(m1) 2(m1) w . . . wn(m1)

... ... ... ... ...

1 w(m1) w2(m1)
. . .

1 wm w2m
. . .

c(m1) c(m2) c(m3)


. . .

f0 f1 f2
. . .

wn(m2)

wn(m1)

wnm

cm
cn+1

fn
fn+1
tankonyvtar.bme.hu 175

Gn+1

6.

Interpolcis feladatok

mdon rhat. Bevezetve a fenti jellseket a

Gn+1 cn+1 = fn+1


lineris egyenletrendszert kell megoldanunk

(6.6.6)

cn+1 -re,

rok mretre utalnak. Most megmutatjuk, hogy az

ahol az als indexek a mtrixok s vekto (1/ n + 1)Gn+1 mtrix unitr (inverze a

transzponlt konjugltja), gy a keresett komplex Fourier egytthatk vektora 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)

mdon, egyrtelmen llthat el. Ehhez elg megmutatni, hogy

Gn+1 GH = (n + 1)E. n+1


Ez lthat, ha kiszmoljuk a mtrix

index sornak

index elemt (k

= 0, . . . , n, j = (m

1), . . . , m)
m m

(Gn+1 GH )kj = n+1


s=(m1)

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

fggvnyrtkek valsak, ezrt

egyms konjugltjai;

a 0 = c0

am = cm

vals rtkek. gy teht

cj = cj (j = 1, . . . , m 1), azaz ezek az egytthatk aj = 2Re(cj ) s bj = 2Im(cj ).

Innt kapjuk a vals Fourier-egytthatk ttelbeli alakjt.

inverz diszkrt Fourier-transzformci (IDFT)


kpletet pedig a

A bizonytsban szerepl (6.6.5) vagy (6.6.6) kpletet a

Fourier-szintzis

vagy ms nven

kpletnek hvjuk, hiszen a komplex Fourier-

egytthatkbl ez a kplet lltja el az alappontokbeli fggvnyrtkeket. A (6.6.7) vagy (6.6.8)

Fourier-analzis

vagy ms nven

diszkrt Fourier-transzformci (DFT)

kple-

tnek nevezzk. Ezen kplet segtsgvel lehet az alappontokbeli fggvnyrtkekbl a komplex Fourier-egytthatkat meghatrozni. Az elz ttelhez hasonl igaz pros

n esetn

is. A ttelt bizonyts nlkl kzljk. (Bizony-

tsa az elz ttelnek megfelelen knnyen megadhat.)

176 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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 =

1 n+1 2 n+1 2 n+1

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.

Vegyk szre, hogy a fenti ttelekben szerepl diszkrt Fourier-egytthatk

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

(0, 3), (/2, 5), (, 0), (3/2, 1)

pontokra illeszked legala-

csonyabbfok trigonometrikus interpolcis polinomot!

n = 3, gy csak az a0 , a1 , a2 , b1 diszkrt Fourier-egytthatkat kell meghatroznunk. xk fk cos xk sin xk cos(2xk ) 0 3 1 0 1 /2 5 0 1 1 0 1 0 1 3/2 1 0 1 1

A szmolsokat clszer ttekinthet formba tblzatba rendezni.

9 3 4 3

9/4 = a0 6/4 = 3/2 = a1 8/4 = 2 = b1 3/4 = a2

Itt az utols eltti oszlopban a fggvnyrtkek s a trigonometrikus rtkek vektornak skalris szorzatai szerepelnek. Az utols oszlopban pedig ezen rtkek vannak beszorozva

2/(n + 1) = 2/4 = 1/2-del, a0


polinom (6.6.1. bra)

a2

esetn csak ennek felvel. gy a keresett interpolcis

t2 (x) =

9 3 3 + cos x + 2 sin x cos(2x). 4 2 4

6.7. Gyors Fourier-transzformci


A diszkrt Fourier-transzformci esetn a nunk az n+1 fggvnyrtkvektort a jelent, ha mr az

GH n+1

cn+1

egytthatvektor kiszmtshoz be kell szoroz-

mtrixszal. Ez alapesetben

(n + 1)2

komplex szorzst

(n + 1)-edik

egysggykket elre kiszmtottuk. (Itt az egyszersg kedvrt

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.

(0, 3), (/2, 5), (, 0), (3/2, 1)

pontokat interpoll trigonometrikus polinom.

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

mtrix egyik eleme sem nulla, azaz egy

teli mtrixszal van dolgunk. Ugyanakkor az is lthat, hogy a mtrix csak

n+1

klnbz ele-

n + 1-edik

egysggyk van. Ez remnyt adhat arra,

hogy egyszersthet a szorzs. A tovbbiakban fel fogjuk tenni, hogy

n+1

pros. Ekkor egy

m = (n + 1)/2-ed

fok kiegyenslyozott interpolcis polinomot keresnk. Az

m = (n + 1)/2

egyenlsg miatt hol

m-et,

hol

(n + 1)/2-t

fogunk hasznlni. Mindig azt, amelyik knyelmesebb, (angolul: fast Fourier

vagy jobban mutatja a lnyeget. A most ismertetend mdszert, amit

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

c(m1) c(m2) c(m3)


. . .

cm

1 1 1 . . = n+1 . 1 1

w(m1) w(m2)
. . .

w2(m1) w2(m2)
. . .

w(m1) wm

w2(m1) w2m

wn(m1) f0 wn(m2) f1 f2 . . ... . . n(m1) . . ... w fn ... wnm ... ...

alak. Sorcserkkel (a

cn+1

vektor elemsorrendje is megvltozik) s kihasznlva, hogy

w (n + 1)-

178 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.7.

Gyors Fourier-transzformci

edik egysggyk (azaz

ws = ws+2m ),

az albbi alakra rhat ez az egyenletrendszer

. . . 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)
. . .

. ... . (m1)n ... w ... wmn (m+1)n ... w

wn

w2n

... ...

. . .

fn

wn

Ezutn oszlopcsert hajtunk vgre gy, hogy elre cserljk a mtrix pratlan sorszm oszlopait. Ekkor az

fn+1

vektor elemsorrendje is megvltozik.

. . . 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

komplex szorzs helyett kevesebbel vgrehajtani. Ez a szorzs az

Fn+1

mtrix gyes felrsval az

Fn+1

E(n+1)/2 D(n+1)/2 E(n+1)/2 D(n+1)/2

F(n+1)/2 0 0 F(n+1)/2

1 f 2 f

alakban rhat (lsd mg a mtrix partcijt az elz kpletben), ahol

D(n+1)/2 = diag(1, w, . . . , wm1 ) Rmm E(n+1)/2


az diagonlmtrix,

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

szorzshoz (mindkett egy fele akkora mret diszkrt Fourier-transzformcinak

felel meg, mint az eredeti feladat). Ezutn mg a az F(n+1)/22 f szorzat

D(n+1)/2

diagonlmtrixszal kell beszoroznunk

(n + 1)/2 mret eredmnyvektort. Ez tovbbi (n + 1)/2 komplex szorzst


tankonyvtar.bme.hu 179

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

maga is pros, akkor az ismertetett eljrs jra

szorzs esetn is. Az idelis eset az, amikor

ketthatvny. Vizsgljuk meg ezt az esetet kln az elvgzend komplex szorzsok szempontjbl.

Ql

2l

osztponttal rendelkez FFT komplex szorzsainak szmt. Ekkor nyilvn

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

Ahogy ezt az albbi tblzat mutatja, ez jelents mveletszm-cskkens a DFT-hoz kpest. A

n+1

szmnak fggvnyben adtuk meg a DFT-hez s a FFT-hez

szksges komplex szorzsok szmt.

n+1 25 = 32 210 = 1024 20 2 = 1048576

DF T 1024 1048576 1099511627776

FFT 80 5120 10485760

6.8. Kzelts legkisebb ngyzetek rtelemben


A statisztikban gyakori az a feladat, hogy a koordintarendszerben elhelyezked

(xi , fi ) (i =

1, . . . , n)

pontokhoz "legkzelebb halad" adott tpus fggvnyt kell meghatroznunk. Ennek

segtsgvel lehet ugyanis megllaptani az kzti kapcsolatot. Jellje

xi

fi

rtkeket szolgltat valsznsgi vltozk

azon fggvnyek halmazt, melyek kzl szeretnnk kivlasztani az

adott pontokhoz "legkzelebb halad" fggvnyt. Mieltt tisztzzuk, hogy mit rtnk "legkzelebb halad" fggvnyen, vezessk be a kvetkez jellseket. Az Egy adott

vektor fogja jellni az alap-

pontok vektort, ahol az alappontokat monoton nv sorrendben indexeljk:

fggvny esetn

(x)

fogja jellni a

MATLAB-ban is szoksos). Jellje tovbb

f az [f1 , . . . , fn ]T

[(x1 ), . . . , (xn )]
vektort.

x = [x1 , . . . , xn ]T .

vektort (ez a jells a

6.8.1. denci.
Azt mondjuk, hogy a

fggvny

(xi , fi ) (i = 1, . . . , n)
esetn.

pontoknak, ha

legkisebb ngyzetek rtelemben legjobb kzeltse az (x) f 2 (x) f 2 minden F fggvny 2 2

A legkisebb ngyzetek rtelemben legjobb kzeltst kt specilis esetben fogjuk megadni. Az egyik az az eset lesz, amikor

a legfeljebb

k -adfok polinomok halmaza, a msik pedig az, amikor

bizonyos, az alappontokon ortonormlt fggvnyek sszes lineris kombincija. Kezdjk teht azzal az esettel, amikor

Nyilvnvalan feltehetjk, hogy klnbz rtkek szmt.

F = Pk , azaz a legfeljebb k -adfok polinomok halmaza. k nkl. 1, ahol nkl. jelli az x1 , . . . , xn rtkek kztt a

180 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.8.

Kzelts legkisebb ngyzetek rtelemben

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)

tlhatrozott lineris egyenletrendszer legkisebb ngyzetek rtelemben legjobb adja.

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

n nkl. k+1, s a0 , . . . , ak egytthatk,

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

lenne, ami ellentmond az algebra alapttelnek. (a ttelbeli jellsekkel)

A tlhatrozott egyenletrendszer legkisebb ngyzetek rtelemben legjobb

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

legjobban kzelt polinom egytthatit tartalmaz vektor lesz.

6.8.3. plda.

Keressk meg a

(1, 1), (0, 2), (1, 2), (2, 4) 1 1 1 1 x1 x2 x3 x3

pontokat legjobban kzelt legfel-

jebb elsfok polinomot! Elszr felrjuk az

a0 a1 = 1 x1 1 x2 1 x3 1 x4

1 x1

1 x2

1 x3

1 x4

f1 f2 f3 . f4

normlegyenetet, amit tmrebben az

n
n i=1

xi

n i=1 xi n 2 i=1 xi

a0 a1

n i=1 fi n i=1 (xi fi )


gy a legjobban

alakban rhatunk. Az egyenletrendszer megoldsa kzelt polinom a

a0 = 9/5, a1 = 9/10,

p(x) = 9x/10 + 9/5

polinom lesz.

tankonyvtar.bme.hu 181

6.

Interpolcis feladatok

Most trjnk t arra az esetre, amikor abszcisszj pont az adott pontok kztt.

bizonyos ortonormlt fggvnyek sszes lineris

kombincijt tartalmazza! Tegyk fel most, hogy

n = nkl. ,

azaz, hogy nincs kt egyforma

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

Bizonyts. Elszr vegyk szre, hogy nyilvnvalan bl csak maximum

k n kell legyen, hiszen n-elem vektork

pronknt ortogonlis vektor adhat meg. Keressk a legkisebb ngyzetek

rtelemben legjobban kzelt fggvnyt

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 (x1 ) 2 (x1 ) 1 (x2 ) 2 (x2 ) . . . . . . 1 (xn ) 2 (xn )


A

k (x1 ) k (x2 ) . . ... . . . . k (xn ) ... ...

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

egyenlsg miatt nyilvn tlhatrozott s az oszlopvektorok ortomegoldsa a fenti jellsekkel az

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

i (xj )fj = T (x)f. i

Ezt akartuk megmutatni.

182 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

6.9.

Interpolcis feladatok megoldsa a MATLAB-ban

Ha a fenti ttel segtsgvel szeretnnk a legkisebb ngyzetek rtelemben legjobban kzelt

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.

T (qi (x)f)qi (x)

6.8.6. plda.

Keressk meg a

(1, 1), (0, 2), (1, 2), (2, 4)

pontokhoz legjobban illeszked leg-

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

trigonometrikus polinom hasonlan

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

fok hasonl polinomra vagyunk

kivncsiak, s a normlegyenlettel hatroztuk meg a legfeljebb akkor cak meg kell hatrozni a

k -adfok

polinomot, akkor azt

most jra fel kell rni, s meg kell oldani. Ha ellenben ortonormlt polinomokat hasznltunk, hozzadni a korbban kiszmolt

(k +1)-edik ortonormlt polinomot, s ezt megfelel egytthatval k -adfok polinomhoz.

6.9. Interpolcis feladatok megoldsa a MATLAB-ban


A MATLAB-ban tbbek kztt az albbi parancsokat hasznlhatjuk interpolcis feladatok megoldsra.

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):

vektorral adott polinom rtkt szmolja ki a parancs az

torban meghatrozott helyeken. A fggvnyrtkek rendre az

yi

xi

vek-

vektorban jelennek meg.

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

vektorban adott helyeken vett fggvnyrtkeit tartalmazza az

yi

vektor. A 'mdszer'

lehet pl. 'linear': szakaszonknt lineris, 'spline': szakaszonknt legfeljebb harmadfok spline-interpolci, 'cubic': szakaszonknt legfeljebb harmadfok polinom, mely monotonitstart. Azaz monoton

rtkek esetn az interpolcis fggvny is ugyanolyan monotonits, konstans

rtkek kztt a fggvny is konstans (6.9.1. bra).

fft, ifft:

gyors Fourier-transzformci s inverznek parancsa.

6.9.1. bra.

A 'cubic', 'spline' s 'linear' interpolci megvalstsnak szemlltetse.

Lssunk most nhny pldt a fenti parancsok alkalmazsra!

>> x=[0,1,2,3], y=[0,1,4,9] % A pontok x- s y-koordintinak megadsa. x = 0 y = 1 2 3

184 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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=polyval(z,[0.3,0.6]) % A polinom helyettestsi rtke 0.3-nl % s 0.6-nl. yi = 0.0900 0.3600

>> 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

parancsa a komplex Fourier-egytthatkat hatrozza meg. Az albbi prog-

ram megadja a MATLAB ltal adott komplex egytthatkbl a vals egytthatkat.

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

A legkisebb ngyzetek rtelemben vett kzeltseket jl szemllteti pl. a

oldalon tallhat alkalmazs.

6.10. Feladatok
Polinominterpolci tankonyvtar.bme.hu 185

6.

Interpolcis feladatok

6.10.1. feladat. Szmtgp segtsgvel hatrozzuk meg az

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

fggvny derivltjt az interpolcis polinom derivltja segt-

x = 0.5

pontban! Hasonltsuk ssze az eredmnyt a pontos derivlt rtkvel!

6.10.2. feladat. A

sin x fggvny rtkeit ismerjk a [0, ] intervallumon a k/6 pontokban (k =


kzelt rtkt! Becsljk meg a szmts eltt, hogy mekkora hibra

0, 1, 2, 3, 4, 5, 6).
hatrozzuk meg szmthatunk!

Illessznk ezekre a pontokra egy interpolcis polinomot, s annak segtsgvel

sin 1

6.10.3. feladat. Szmtgp hasznlata nlkl hatrozzuk meg a

(1, 6), (0, 3) f (x) = 4

(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

rtkeit a 0.5, 80 s 25 pontokban a 0, 1, 16 s 81 pontokhoz tartoz interpolcis polinom

polinomot,

p(1) = 2, p (1) = 1, p(3) = 1

p (3) = 2! p(2) = 2
s

6.10.8. feladat. Az elz feladat adatait mdostsuk gy, hogy mg ismert a

p (2) = 1

felttel is! Mi lesz ekkor az interpolcis polinom?

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-

szonknt harmadfok spline-fggvnyt! Becsljk meg az eredeti fggvny s a spline-fggvny

qk

slyok kiszmtsa a baricent-

rikus interpolcis formulnl abban az esetben, ha a Csebisev-alappontokat alkalmazzuk az

xk =

fggvnyt az alappontokon interpoll

legalacsonyabb fokszm (kiegyenslyozott) trigonometrikus polinomot szmtgp alkalmazsa

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

Legkisebb ngyzetek rtelemben legjobb kzeltsek 6.10.15. feladat. Igazoljuk, hogy az az

1, cos(jx), sin(jx) (j = 1, 2, . . .) n

fggvnyek ortogonlisak

xk = 2k/(n + 1) (k = 0, . . . , n)

alappontokon! Hatrozzuk meg ez alapjn a trigonometrikus pros rtk!

interpolcis polinom egytthatit abban az esetben, ha

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.

7.1. A numerikus derivls alapfeladata


Tegyk fel, hogy az

x0 , x0 h, x0 2h, . . . , x0 kh R (h > 0, k N)

pontokban ismertek egy

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

pontban (az egyszersg kedvrt

f0 , f0

stb. jelli ezeket) a fggvnyrtkek segtsgvel s

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

|Df f (h)| = O(hr ).

7.1.2. megjegyzs.
mjra.

A fenti dencit mr az 1.3.10. denciban megadtuk ltalnos kzelt-

sekre. Ez a denci csupn az ltalnos eset megfogalmazsa a derivltak kzeltsnek probl-

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

7.2. Az els derivlt kzeltse


Egy fggvny derivltjt a dierenciahnyados hatrrtkeknt rtelmeztk. gy kzenfekv a derivltat a dierenciahnyados rtkeivel kzelteni. Kt egyszer eset erre vonatkozan a

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

rtkek nvekedsi irnyba (a szmegyenesen jobbra) es alappontot hasznlja, mg

a retrogrd a cskkens irnyba est.

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

rtkt a hiba is krlbell felezdik.

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 )

pontokat sszekt egyenes meredeksge kzelebb llhat az rint meredeksghez, mint

a halad s retrogrd dierencik. Ez a meredeksg

7.2.1. bra. Az elsrend derivlt halad, retrogrd s kzponti kzeltsnek szemlltetse.

190 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

7.3.

A msodik derivlt kzeltse

f1 f1 f+ + f = , 2h 2
azaz megegyezik a halad s retrogrd dierencik tlagval. A

fc :=
rtket az

f+ + f 2

fggvny

x0

pontbeli kzponti (angolul centered) dierencijnak nevezzk. Vizs-

gljuk meg, hogy ez a kzelts valban jobb-e, mint a msik kett!

7.2.2. ttel.
A kzponti dierencia msodrend kzeltse egy

f C3

fggvny els derivltjnak.

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

folytonos, gy van olyan

fc =

f0 + f0 h + f0 h2 /2 + f (1 )h3 /6 f0 f0 h + f0 h2 /2 f (2 )h3 /6 f1 f1 = 2h 2h 2h 2 h = f0 + f () = f0 + O(h2 ). 6

Ez mutatja, hogy ez a kzelts msodrend.

7.3. A msodik derivlt kzeltse


Mivel a msodik derivlt az els derivlt derivltja, gy kzenfekvnek tnik azt a

2 fc :=
mdon kzelteni. Ezt a kzeltst

f+ f f1 2f0 + f1 = h h2
nevezzk.

msodrend kzponti dierencinak

7.3.1. ttel.
A msodrend kzponti dierencia msodrend kzeltse egy derivltjnak.

f C4

fggvny msodik

Bizonyts. Taylor-sorfejtst hasznlva a megfelel

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

Ez mutatja, hogy ez a kzelts msodrend. tankonyvtar.bme.hu 191

7.

Numerikus derivls

7.4. A derivltak msfajta kzeltsei


Termszetesen a derivltakat nem csak a dierenciahnyados segtsgvel kzelthetjk. Kzenfekvnek tnik az a megkzelts is, hogy az adott pontokra interpolcis polinomot illesztnk, s a derivltakat az interpolcis polinom derivltjaival kzeltjk. Ezeket a kzeltseket interpolcis dierencilsi formulknak nevezzk. Az albbi, bizonyts nlkl kzlt ttelek azt mutatjk, hogy az interpolcis dierencilsi formulk pontosan ugyanazokat a derivltkzeltseket adjk, mint amiket az elz fejezetekben a dierenciahnyadosok segtsgvel nyertnk.

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

polinom (legfeljebb elsfok) derivltja egybeesik a retrogrd dierencival.

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

msodren kzponti dierencival.

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.

A derivltakat nem csak az

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

pontbeli derivltja kzelthet.

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

cos (0.8) = 0.6967067093

rtket a msodrend kzponti dif-

ferencival! Tegyk fel, hogy mindent 9 tizedesjegy pontossggal szmolunk. A pontos derivltrtk s a kzelts eltrst az albbi tblzat mutatja.

|kzelts cos (0.8)|


0.0005804093 0.0007067093

0.01
0.001

0.1

0.0000167093

192 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

7.6.

Feladatok

A kerektsi hiba miatt (vagy ltalnosan a lebegpontos szmts hibja miatt) teht cskken

rtkekkel a kzelts hibja cskken, majd jra nvekedni kezd.

Vizsgljuk meg a fenti plda jelensgt ltalnosan! Tegyk fel, hogy az megvltoztatjuk

f1 , f0 , f1

rtkeket

-nl

kisebb rtkekkel. Azaz legyen

f1 = f1 + 1 , f0 = f0 + 0 , f1 = f1 + 1 ,
ahol

|1 |, |0 |, |1 | .

Ekkor

f1 2f0 + f1 f1 2f0 + f1 1 20 + 1 = + 2 h h2 h2 2 f ()h 1 20 + 1 = f0 + . + 12 h2


Teht

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

kplettel szmthat. A pldban szerepl konkrt feladatra gy az vlaszts mellett a

= 5 1010

hopt. = 0.012

rtk addik, ami nagyjbl meg is felel a numerikus ksrlet

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

22 0.69669 0.6966825 = 0.6966925, 22 1 h = 0.01-es


vagy a

melynek hibja kisebb (0.00001420935), mint a kzeltsek.

h = 0.001

rtkekkel nyert

7.6. Feladatok
Numerikus derivls 7.6.1. feladat. ahol Tegyk fel, hogy adottak az

h = h+ .

Adjunk meg egy msodrend kzeltst az

(x0 h , f1 ), (x0 , f0 ) s (x0 + h+ , f1 ) x0 -beli els derivltra!

pontok,

tankonyvtar.bme.hu 193

7.

Numerikus derivls

7.6.2. feladat. Igazoljuk, hogy

f2 + 8f1 8f1 + f2 12h


az els derivlt egy negyedrend kzponti kzeltse! 7.6.3. feladat. Igazoljuk, hogy

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)

rtk meghatrozsra. Vlasszunk

h-nak

0.0016-ot s 0.0008-at!

7.6.6. feladat. Egy

fggvny fggvnyrtkeit tartalmazza az albbi tblzat. Kzeltsk

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?

194 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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.

8.1. A numerikus integrls alapfeladata


Ismert, hogy ha egy szerint az primitv fggvnye (F

[a, b] intervallumon egy f fggvny integrlhat, s van ezen az intervallumon = f ), akkor a fggvny hatrozott integrlja a NewtonLeibniz-szably
b

f (x) dx = F (b) F (a)


a
kplettel szmolhat. Mieltt arra gondolnnk, hogy ez a kplet minden integrllal kapcsolatos krdsnkre vlaszt ad, felsorolunk nhny olyan esetet, amikor a kplet nem alkalmazhat kzvetlenl. Nem alkalmazhat a kplet akkor, ha nem ismerjk magt az fggvnyt zrt alakban. Az els eset fordul el akkor, ha pl. az mnyek, a msodik pedig akkor, ha az

fggvnyt vagy a primitv

fggvny rtkei mrsi eredvagy az

fggvny primitv fggvnyt nem akarjuk, vagy nem

tudjuk explicit mdon meghatrozni. Az utbbira pldk pl. a

(sin x)/x, sin x2

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]

intervallumon vett integrljra, mint valamilyen kompjuteralgebrai mdszerrel szimbliku-

san meghatrozni

primitv fggvnyt s azzal alkalmazni a NewtonLeibniz-szablyt. Tipikus

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

kisebb hibval! Mivel

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

(1)k . (2k + 1)k!

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

megkzelti a sor sszegt. A

106 -nl, akkor az els k 1 k = 9 vlaszts esetn

tag sszege mr

106 -nl

jobban

1 1 = < 106 , (2k + 1)k! 6894720


gy

k=0

(1)k 1098032417 = 0.74682426573970691618. (2k + 1)k! 1470268800

megfelel kzeltse lesz az integrlnak.

8.1.2. megjegyzs.

Tekintsk az kvetkez egyszer hatrozott integrlt:

cos x dx = [sin x]1 = sin 1. 0


0
Ebben az esetben a NewtonLeibniz-ttel alkalmazsa nem okoz nehzsget, de a vgeredmnyt ebben az esetben is csak a szinusz fggvny tudjuk kzelteni:

x = 1 helyen vett Taylor-sornak egy rszletsszegvel 1 1 1 + .... 3! 5! 7!

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

numerikus integrlsnak [a, b] intervallumon


(8.1.1)

fggvny rtke nhny pontban. Legyenek ezek a pontok

a x0 < x1 < . . . < xn b,


s az itteni fggvnyrtkek rendre

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

196 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

vett pontos integrlrtkt

I(f ),

s lltsuk el

ennek egy kzeltst az adott fggvnyrtkek lineris kombincijaknt az

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-

dstl. A (8.1.2) formult numerikus integrlsi vagy

kvadratraformulnak1

nevezzk, a benne

ak

egytthatkat pedig slyoknak hvjuk.

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

a (8.1.1) felosztsban a legnagyobb tvolsgot a szomszdos osztpontok kztt.

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.

8.2. NewtonCotes-fle kvadratraformulk


8.2.1. denci.
interpolcis kvadratraformulnak neveznk, ha az alappontokbeli fggvnyrtkekre illesztett interpolcis polinom integrljt adja meg. Ha egy interpolcis kvadratraformulban az alappontok egyforma tvol vannak egymstl, akkor a formult NewtonCotes2 -formulnak hvjuk.
Egy kvadratraformult

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

Vizsgljuk meg, hogy hogyan llthatk el a zrt NewtonCotes-formulk. Adott

(xi , fi ) (i =

0, . . . , n)

pontok esetn (zrt formulnl

x0 = a

xn = b)

a kvadratraformula rtke de-

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

lk (x) dx, k = 0, . . . , n. x = a + t(b a)


1
helyettestst, ahol

t [0, 1].

Ekkor a

ak =
a

lk (x) dx = (b a)
0

n,k lk (a + t(b a)) dx =: (b a)Nzrt .

A msodik integrl csak az interpolcis polinom

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.

n,k Nzrt n=1 n=2 n=3


Az

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

vgpontokbeli fggvnyrtkekbl szmtjuk a kzelt integrlt 1/2-1/2 slyokkal

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

n = 2 esetben az x0 = a, x1 = (a+b)/2 s x2 = b pontokbeli fggvnyrtkekbl szmtjuk f0 + 4f1 + f2 6


intervallumon (8.2.2. bra).

a kzelt integrlt 1/6-4/6-1/6 slyokkal

I1 (f ) = (b a)
alakban. Ezt a kpletet Simpson-formulnak msodfok polinom integrljt adja meg az
3

nevezzk. A kzelts a pontokra illesztett legfeljebb

[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

I1 (f ) = (3 1)(1 1/2 + 5 1/2) = 6


addik. Az integrl pontos rtke 14/3.

8.2.3. plda.
elz tblzat

Alkalmazzuk a Simpson-formult a 8.2.2. pldban szerepl integrl megha-

trozsra! Az osztpontok most az fggvnyrtkek pedig rendre

x0 = 1, x1 = 2 s x2 = 3 pontok, ezen pontokban a f0 = f (1) = 1, f1 = f (2) = 2 s f2 = f (3) = 5. A slyokat az

n=2

sorbl olvashatjuk ki. gy az integrl kzelt rtkre

I2 (f ) = (3 1)(1 1/6 + 2 4/6 + 5 1/6) = 14/3


addik. Vegyk szre, hogy a kvadratraformula ebben az esetben az integrl pontos rtkt adja, hiszen a hrom alappontra illesztett interpolcis polinom azonos magval az fggvnnyel.

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).

Hasonlan a zrt formulk megadshoz, az

a = x1 s b = xn+1 jellseket. gy xi = a+(i+1)h (i = 1, . . . , n+1), (xi , fi ) (i = 0, . . . , n) pon


n ak b a

tokra illesztett interpolcis polinom integrljt kell kiszmolnunk.

In (f ) =
k=0

fk

lk (x) dx ,

ahol az

ak

slyok megint a

k -adik Lagrange-fle alappolinom [a, b] intervallumon vett integrljval


n,k ak = (b a)Nnylt

egyenlek. Helyettestses interglssal ez az integrl az

alakban rhat, ahol polinom

[a, b]

n,k Nnylt

az

((i + 1)/(n + 2), ik ) (i = 0, . . . , n)

pontokra illesztett interpolcis

intervallumon vett integrlja.

Az albbi tblzat tartalmazza nhny nylt NewtonCotes-egytthat rtkt.

n,k Nnylt n=0 n=1 n=2

k=0 k=1 k=2 1 rintformula 1/2 1/2 2/3 1/3 2/3 n=0

egytthati

A nylt NewtonCotes-formulk kzl az pontban, s az integrlt az

esetet rdemes megvizsglni rszletesebben.

Ekkor egyetlen egy pontban szmtjuk csak ki a fggvnyrtket, nevezetesen az

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

magassg tglalap terlete

(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).

Emiatt a kpletet rintformulnak hvjuk.

8.2.3. bra. Az rintformula az intervallum felnl a grakonhoz hzott rint integrljval kzelti a pontos integrl rtkt.

200 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

8.2.

NewtonCotes-fle kvadratraformulk

8.2.4. plda.
Ekkor

Kzeltsk a 8.2.2. pldban szerepl integrlt az rintformula segtsgvel!

x0 = 2 s f0 = f (2) = 2. A tblzatbl kiolvasva az n = 0 rtkhez tartoz egytthatt I0 (f ) = (3 1) 1 2 = 4.

(1) kapjuk, hogy

8.2.5. megjegyzs.

A trapzformula ltal adott

(b a)(f (a) + f (b)) 2


rtket s az rintformula ltal adott

(b a)f ((a + b)/2)


rtket 1:2 arnyban slyozva kapjuk a

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

polinomra, ha interpolcis kvadratraformula.

Bizonyts. A felttel elgsgessge nyilvnval. A msik irny igazolshoz induljunk ki abbl, hogy a formulnak pontosnak kell lennie minden

n-edfok

polinomra is, gy pontos az

lj (x)

(j = 0, . . . , n)

Lagrange-fle alappolinomokra is. Azaz

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

a megfelel zrt vagy nylt NewtonCotes-egytthatt. Ezen egytthatk n-

hny fontos tulajdonsgt adja meg az albbi ttel.

8.2.7. ttel.
A NewtonCotes-egytthatkra igaz az albbi kt tulajdonsg:

N n,k = 1,
k=0

N n,k = N n,nk (k = 0, . . . , n).

tankonyvtar.bme.hu 201

8.

Numerikus integrls

Bizonyts. Az elz ttel miatt

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

egyenesre, gy integrljuk is megegyezik.

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.

NewtonCotes-formulk pontossgi rendje pratlan

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 ,

Erre pontos a formula.

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

pontra val szimmetrijt (f ((a

f -fel jellt fggvny + b)/2 x) = f ((a + b)/2 + x))

kihasznlva kapjuk, hogy

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)

pontra val szimmetrija miatt valban nulla. Ezt akartuk megmu-

rtkekre adtuk meg a korbbi tblzatokban az egytthatk rtkt). Ennek oka egyrszt

az, hogy nvekv

rtkek esetn egyre tbb NewtonCotes-egytthatt kellene kiszmolnunk,

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


Sok alappont esetn a NewtonCotes-formulk kzvetlen alkalmazsa helyett gy jrhatunk el, hogy az integrlsi intervallumot rszintervallumokra osztjuk, majd ezen intervallumokon az 202 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

8.3.

sszetett kvadratraformulk

elz fejezetben megismert trapz-, Simpson- s rintformulkat alkalmazzuk. gy kapjuk az n. trapz-, Simpson- s rintformulkat.

8.3.1. sszetett trapzformula


Legyen

egy, az

egyenl rszre az hosszait, azaz

[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

sszegknt. Ha most az sszeg minden integrljt a trapzformulval kzeltjk, akkor az n.

tett trapzformulhoz

ssze-

jutunk. A formula teht a 8.3.1. brn bestttett tartomny terletvel

kzelti az integrl pontos rtkt. Ismt hasznlva az trapzfomula kplete teht

fi = f (xi ) (i = 0, . . . , n) jellst az sszetett 1 1 f0 + f1 + . . . + fn1 + fn . 2 2

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

egyenltlensg miatt, ahol

sn

Sn

az adott felosztshoz tartoz

fggvny Riemann-integrlhat, akkor a feloszts nomtsval a

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

sin x/x dx 0.9460830704


0
integrlt gy, hogy a eltrst az

[0, 1]

intervallumot

egyenl rszre osztjuk. A pontos s a kzelt rtkek

osztintervallumszm fggvnyben az albbi tblzat mutatja.

n 1 10 100 1000

In (f ) 0.9207354924 0.9458320719 0.9460805606 0.9460830704

|I(f ) In (f )| 0.25 101 0.25 103 0.25 105 0.27 107


tankonyvtar.bme.hu 203

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

[a, b]-n [a, b], hogy

integrlhat nemnegatv fggvny, s

folytonos fggvny, akkor van olyan

(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)

Bizonyts. Legyen pontokra illesztett hibja egy adott

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

2(L1 (x) f (x)) = f (xk1 ) = g(xk1 ), (x xk1 )(x xk )

ahol az utols eltti egyenlsget a L'Hospital-szably ktszeri alkalmazsval nyertk, s hasonlan

xxk
Teht lt az

lim g(x) = g(xk ).

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

f (x )(x xk1 )(x xk ) dx 2 g(x)(x xk1 )(x xk ) dx 2


xk

=
xk1

= g(k ) = f (k ) h , 12
xk1 3

(x xk1 )(xk x) dx 2

204 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

8.3.

sszetett kvadratraformulk

ahol

egy az

[xk1 , xk ]

intervallumba es megfelel konstans.

Mivel

darab intervallum van, ezrt a teljes hiba

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]

egy megfelelen vlasztott konstans. Azt, hogy

kvetkez mdon lthatjuk be. A

n k=1

hnyados az

folytonos fggvny

darab

f (k ) n [a, b]-beli fggvnyrtknek


az a hely, ahol

szmtani kzepe. Ez az felveszi a fenti tlagot.

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

Vegyk szre, hogy a fenti ttel pontosan megmondja a kvadratrakplet

rtke ismert. Mivel

rtkt ltalban nem ismerjk, gy a kplet nem

hasznlhat jobban, mint a belle kvetkez

|In,trap (f ) I(f )|
becsls, ahol a szokott mdon intervallumon.

(b a)h2 M2 12 (a, b)

M2

az

fggvny msodik derivltjnak egy fels korltja az

8.3.4. megjegyzs.
fgg

A bizonyts kt fontos lpse volt annak igazolsa, hogy

g(x)

folytonosan

x-tl

s az, hogy az

rtk hogyan vlaszthat meg az

rtkek ismeretben. Ezekhez

hasonl lltsok ksbb is szerepelni fognak, de akkor mr nem igazoljuk rszletesen ket.

8.3.2. sszetett rintformula


Az sszetett trapzformula esetn bevezetett jellseket fogjuk most is alkalmazni, kiegsztve mg az

fi/2 = f ((xi + xi1 )/2) (i = 1, . . . , n)

jellsekkel. Az sszetett rintformula, hasonlan

az sszetett trapzformulhoz, az rintformult alkalmazza az ekvidisztnsan felosztott intervallum rszintervallumain. Az integrl pontos rtkt teht a formula az

[a, b]

In,rint (f ) = h(f1/2 + . . . + fn1/2 )


mdon kzelti (8.3.2. bra). Az sszetett rintformula egy nylt kvadratraformula. Most is knnyen lthat, hogy az ltala adott kzelts integrlhat fggvnyek esetn tart a pontos integrlrtkhez, ha az osztintervallumok

szma vgtelenhez tart. A formula pontossgi rendje nyilvnvalan 2. A konver-

genciarendje is 2. Errl szl a kvetkez ttel.

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]

egy megfelelen vlasztott konstans.

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

(fk1/2 + fk1/2 (x xk1/2 ) + f (k,x )(x xk1/2 )2 /2) dx f (k )h3 , 2 12

=
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

intervallum van, ezrt a teljes hiba valamilyen

[a, b]

rtkkel

In,rint (f ) I(f ) =
k=1
Ezt akartuk megmutatni.

f (k )h3 f ()h3 (b a)h2 = n = f (). 24 24 24

8.3.6. megjegyzs.

Az elz ttelben az

paramter rtkt ltalban nem ismerjk. Ekkor

csak becslst tudunk adni az integrl hibjra az

|In,rint (f ) I(f )|
alakban.

(b a)h2 M2 24

206 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

8.3.

sszetett kvadratraformulk

8.3.3. sszetett Simpson-formula


Az elz fejezetekben hasznlt jellsek segtsgvel az sszetett Simpson-formula az

In,Simp (f ) =

h (f0 + 4f1/2 + 2f1 + 4f3/2 + 2f2 + . . . + 4fn1/2 + fn ) 6

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-

szmmal vgtelenhez tartunk. A formula pontossgi rendje nyilvn 4, hiszen a Simpson-formul

8.3.7. ttel.
Az sszetett Simpson-formula hibja

f C 4 [a, b]

fggvnyek esetn

In,Simp (f ) I(f ) =
ahol

(b a)h4 (4) f (), 2880

[a, b]

megfelelen vlasztott konstans.

Bizonyts. Tekintsk az fok tagig

[xk1 , xk ]

intervallumon az

fggvnyt, s fejtsk sorba a harmad-

f (x) = fk1/2 + fk1/2 (x xk1/2 ) + +


Ekkor a

fk1/2 (x xk1/2 )2 2

fk1/2 (x xk1/2 )3 6
xk

f (4) (k,x )(x xk1/2 )4 . 24

k -adik

intervallumon a szmtott integrl hibja

h (fk1 + 4fk1/2 + fk ) 6

f (x) dx =
xk1

h (fk1 + 4fk1/2 + fk ) fk1/2 h 6


tankonyvtar.bme.hu 207

8.

Numerikus integrls

fk1 2fk1/2 + fk f (4) (k1 )(h/2)2 h3 f (4) (k2 )h5 2 12 (h/2)2 12 24 80


fk1/2

=
ahol

f (4) (k1 )h5 f (4) (k2 )h5 h5 f (4) (k ) = , 48 2 12 24 80 2880


megfelel konstansok az

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

h5 (4) (b a)h4 (4) h5 f (4) (k ) =n f () = f () 2880 2880 2880 [a, b]


intervallumbl.

megfelel konstans az

8.3.8. megjegyzs.

Az sszetett Simpson-formula hibjban szerepl

rtke ltalban nem

ismert. Ekkor a kzelts hibjra az

|In,Simp (f ) I(f )|
becslst hasznlhatjuk.

(b a)h4 M4 2880

8.3.9. megjegyzs. Az sszetett trapz- s az sszetett rintformulkat 1:2 arnyban slyozva az


sszetett Simpson-formulhoz jutunk. Ez kvetkezik a nem sszetett formulkra megfogalmazott hasonl lltsbl.

8.3.10. megjegyzs.

Vegyk szre, hogy a korbban megismert hibabecslsek alkalmasak arra,

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.

Br az sszetett formulkat csak ekvidisztns feloszts esetn vizsgltuk,

ezek knnyen tfogalmazhatk arra az esetre is, ha a rszintervallumok hossza nem egyforma.

8.3.12. plda.

Egyszer pldaknt hatrozzuk meg az

x4 dx =
0

1 5

integrl rtkt a tanult sszetett formulk segtsgvel 4 osztintervallumot hasznlva! Most teht

f (x) = x4

s a ngy osztintervallum miatt

h = 0.25.

Az sszetett trapzformula az

I4,trap (f ) = h(f (0) + 2(f (0.25) + f (0.5) + f (0.75)) + f (1)) = 0.220703125

208 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

8.4.

Romberg-mdszer

rtket adja. Az rintformulval nyert kzelts

I4,rint (f ) = h(f (0.125) + f (0.375) + f (0.625) + f (0.875)) = 0.189697265625.


A Simpson-formula pedig a fenti kt kplet slyozsval addik

I4,Simp (f ) =

2I4,rint (f ) + I4,trap (f ) = 0.20003255208333. 3

Ez utbbi jval pontosabb integrlkzeltst ad, mint a msik kett formula.

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 )

egy adott kvadratrakplet egy

egyenl rszre osztott

[a, b]

intervallumon.

Tegyk fel, hogy a kvadratraformula konvergenciarendje hibja j kzeltssel az

r.

Tegyk fel tovbb, hogy a kplet

In (f ) I(f ) = Chr
alakban rhat, alkalmas

konstassal. Ekkor ha megktszerezzk az osztintervallumok szmt,

akkor az j hibra krlbell

I2n (f ) I(f ) = C
addna. A fenti kt kpletbl

h 2

I(f )

kifejezhet

I(f ) = I2n (f ) +

I(f ) In (f ) I2n (f )2r In (f ) = 2r 2r 1

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

4 Werner Romberg (1909-2003), nmet matematikus.


tankonyvtar.bme.hu 209

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)

szmtott rtkeket tartalmazza az adott osztintervallum-

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

fggvnyt mg beszorozzuk egy

[a, b]-n

folytonos s pozitv

slyfggvnnyel. Ter-

mszetesen az

s(x) 1

vlasztssal visszakapjuk a korbban vizsglt integrlok alakjt. Clunk

I(f ; s) :=
a
integrl minl pontosabb kzeltse.

s(x)f (x) dx

Ha a fenti integrl kzeltshez interpolcis kvadratraformult hasznlunk az

(x0 , f0 ), . . . , (xn , fn )
pontokon, akkor a kvadratraformula

In (f ; s) =
k=0
alak lesz, ahol a slyok

a k fk

ak =
a

s(x)lk (x) dx, k = 1, . . . , n

210 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

8.5.

Gauss-kvadratra

alakban rhatk. Ez a kvadratraformula pontos lesz minden legfeljebb

n-edfok polinomra (8.2.6.

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

interpolcis kvadratraformula pontosan akkor pontos minden

wn+1 (x)s(x)p(x) dx = 0
a
minden

(8.5.1)

p Pm1

esetn. A

wn+1

az alappontpolinom szoksos jellse.

Bizonyts. Igazoljuk elszr a felttel elgsgessgt. Legyen tatnunk, hogy a kvadratraformula pontos az maradkos oszts segtsgvel felrhat

f Pn+m ,

s azt kell megmu-

polinomra. Az

polinom a polinomokra ismert

f (x) = wn+1 (x)q(x) + r(x)


alakban, ahol

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

A msik irny igazolshoz legyen

p wn+1

polinomra,

n+m

fok, azaz

s(x)p(x)wn+1 (x) dx =
a
Ezt akartuk megmutatni.

ak p(xk )wn+1 (xk ) = 0.


k=0

Megvizsgljuk, hogy mekkora lehet a ttelben szerepl

maximlis rtke, azaz mennyivel

nvelhet meg a pontossgi rend. Lthat, hogy a kvadratraformula nem lehet pontos minden

P2n+2 -beli

polinomra, mert akkor

p = wn+1
b

esetn az

2 s(x)wn+1 (x) dx = 0 a
egyenlsgbl a

wn+1 0

azonossg kvetkezne, ami ellentmonds. Teht

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

m maximlisan n + 1 P2n+1 -beli polinomra

2n + 2

lesz. Azt kell megmutat-

P2n+1 -beli

polinomra, ha alkalmasan vlasztjuk tankonyvtar.bme.hu 211

8.

Numerikus integrls

az alappontokat. Tekintsk az

nomokat (slyfggvnytl fggen Csebisev-, Legendre- stb. polinomok) s legyenek

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

p1 , p2 , p3 zrushelyei 0; 1/2 ; 0, 3/2 0; 1/ 3 ; 0, 3/5

slyok

; /2, /2; /3, /3, /3 2; 1, 1; 5/9, 8/9, 5/9

8.5.1. tblzat. A GaussCsebisev- s GaussLegendre-kvadratrk alappontjai s slyai.

8.5.2. megjegyzs.

Br a vizsglt ortogonlis polinomok a

[1, 1]

intervallumon ortogonlisak,

egy egyszer koordintatranszformcival tetszleges

[a, b]

intervallumra ttranszformlhatk.

8.5.3. plda. Ksztsk el a hrom pontra illeszked CsebisevGauss formult! A harmadfok


Csebisev-polinom zrushelyei

3/2.

Ezek lesznek az alappontok. A slyok, mivel a

slyfggvny ebben az esetben a konstans 1 fggvny,

a0 =
1
hasonlan

1 x(x 3/2) 3/2( 3/2 3/2) 1 x2

dx

= /3,

a1 = a2 = /3.
1 1

gy a formula

f (x) 1 x2

dx

(f ( 3/2) + f (0) + f ( 3/2)), 3

amely pontos lesz minden legalbb tdfok polinomra.

A Gauss-fle kvadratraformula hibjrl szl ttelt bizonyts nlkl kzljk.

8.5.4. ttel.
A Gauss-fle kvadratraformula hibja

n+1

alappont esetn

In (f ; s) I(f ; s) =
ahol

f (2n+2) () (2n + 2)!

s(x)(wn+1 (x))2 dx,


a

(a, b)-be

es megfelel konstans.

212 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

8.6.

Numerikus integrlsi eljrsok a MATLAB-ban

8.6. Numerikus integrlsi eljrsok a MATLAB-ban


A MATLAB-ban mindegyik tanult numerikus integrlsi eljrs nagyon egyszeren programozhat. Az albbi fggvny az sszetett Simpson-formula esett mutatjuk be, de a msik kett fggvny is hasonlan egyszer. A programban rtelemszeren intervallum kt vgpontjt,

az osztintervallumok szma s

fv

adja meg az integrlsi

az integrland fggvny.

function int = osszsimpson(a,b,n,fv) h=(b-a)/n; x=[a:h/2:b]; y=eval(fv); int=(h/6)*(y(1)+2*sum(y(3:2:2*n-1))+4*sum(y(2:2:2*n))+y(2*n+1));

A program futtathat pl. az

x sin(x) dx
0
integrl esetn az albbi mdon.

>> osszsimpson(0,1,20,'x.*sin(x)') % 20 osztintervallumot alkalmazunk. ans = 0.30116867228813

A MATLAB nmagban is knl nhny numerikus integrlsi eljrst. Ezek kzl mutatunk be kettt. Az els a

trapz

parancs, ami egy egyszer fggvny az sszetett trapzformulra.

>> 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

Simpson-formult alkalmazza rekurzv mdon 8.7.6. feladat).

tankonyvtar.bme.hu 213

8.

Numerikus integrls

>> quad('x.*sin(x)',0,1) ans = 0.30116867962220

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

4,k Nzrt NewtonCotes-egytthatkat! Hasznljuk a MATLAB

parancst a polinomok integrlshoz!

8.7.4. feladat. Hatrozzuk meg az

ex

fggvny kzelt integrljt a

[0, 1]

intervallumon az

elz feladatban kiszmolt egytthatk segtsgvel!

[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

integrlt a kvetkez kvadratrakplettel:

h(a0 f0 + a1 f1 ) + h2 (b0 f0 + b1 f1 ),
ahol s

fi , fi

a 0 ill.

h pontokbeli fggvnyrtkek ill. derivltak! Hogyan vlasszuk meg az a0 , a1 , b0

b1

egytthatkat, hogy a formula minden legfeljebb negyedfok polinomra pontos legyen?

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+x2 ) dx integrl kzeltst! Adjunk becslst elre a hibra! x2


dx s

1 1 1/ 1 x2 dx, 1 x3 / 1 1 "kzelt" rtkt! Adjunk becslst elre a hibra!


ezzel a mdszerrel az

8.7.10. feladat. Ksztsk el a kt pontra illeszked GaussCsebisev-formult! Hatrozzuk meg

1 1

x4 / 1 x2

dx integrlok

214 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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. A kznsges dierencilegyenletek kezdetirtk-feladatainak numerikus mdszerei


Ebben a fejezetben a kznsges dierencilegyenletek kezdetirtkfeladatainak elmleti sszefoglalsa utn azok numerikus megoldsi mdszereivel foglalkozunk. Ismertetjk a legtipikusabb egylpses mdszereket, s ezek ltalnostsaknt a Runge-Kutta tpus egylpses illetve a lineris tbblpses mdszereket trgyaljuk. Ezutn megvizsgljuk a specilis tulajdonsggal rendelkez n. merev rendszerek tulajdonsgait. A fejezet vgn az ismertetett mdszerek szmtgpes realizlsval, s Matlab programjaikkal foglalkozunk.

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

keressk. Mint ltni

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.

9.2. A kznsges dierencilegyenletek kezdetirtk-feladata


9.2.1. denci.
Legyen pont (t0

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

A knnyebb ttekinthetsg kedvrt rjuk ki a (9.2.1) feladatot koordintnknt! Jellje az ismeretlen

u(t)

vektorrtk fggvny

i-edik

koordinta-fggvnyt,

fi : G R

az

ui () u0i

217

9.

A kezdetirtk-feladatok numerikus mdszerei

(i

= 1, 2, . . . , d)

pedig az

u0

vektor koordintit. Ekkor a Cauchy-feladat felrhat a kvetkez

n. koordintnknti alakban:

dui (t) = fi (t, u1 (t), u2 (t), . . . ud (t)), dt ui (t0 ) = u0i


ahol

(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

intervallum pontjaiban egyrszt behelyettesthet a (9.2.1)

feladatba, msrszt pedig azt ki is elgti.

9.2.2. denci. d Az olyan u : I R (I


du(t) = f(t, u(t)), dt
s

egy nylt intervallum) folytonosan dierencilhat fggvnyt, amelyre

{(t, u(t)) : t I} G;
minden

t I,

t0 I

u(t0 ) = u0

a (9.2.1) Cauchy-feladat megoldsnak nevezzk.


Amikor a (9.2.1) Cauchy-feladat egy termszettudomnyos, mszaki vagy kzgazdasgi folyamat matematikai modellje, akkor alapvet kvetelmny, hogy ltezzen egyrtelm megoldsa. Ennek biztostsra vezessk be valamely

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,

akkor ez a megolds egyrtelm is. rszhalmaz, amelyen

A tovbbiakban a (9.2.1) feladatra mindig feltesszk, hogy ltezik olyan alkalmasan megvlasztott

H, (t0 , u0 ) G

folytonos s a msodik vltozjban lipschiintervallumon, ahol

tzes, azaz ltezik egyrtelm megoldsa az

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)

I0 := {t I : |t t0 | T } az I0 intervallumon lltjuk el.

u(t0 )

9.2.

A kznsges dierencilegyenletek kezdetirtk-feladata

intervallum, s ekkor feladatunk a kvetkez alakot lti:

du(t) = f(t, u(t)), dt

t [0, T ],

(9.2.4) (9.2.5)

u(0) = u0 .
Clunk a tovbbiakban ezen

u(t) fggvny meghatrozsa.

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

esetet tekintjk. Legyen

QT := [0, T ] R R2 , f : QT R.

du = f (t, u), u(0) = u0 dt f C(QT )

(9.2.6) s a msodik

feladatot nevezzk Cauchy-feladatnak, ahol mindvgig feltesszk, hogy vltozjban lipschitzes fggvny, azaz

|f (t, u1 ) f (t, u2 )| L |u1 u2 | , (t, u1 ), (t, u2 ) QT ,


tovbb u0 R adott szm. Teht u : [0, T ] R fggvnyt, amelyre

(9.2.7)

feladatunk a kvetkez: keressk azon megfelelen sima

du(t) = f (t, u(t)), t [0, T ], u(0) = u0 . dt

(9.2.8)

9.2.4. megjegyzs.
g(x, y) = y 2 .

Felmerlhet a krds: van-e kapcsolat valamely

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

skon, de nem lipschitzes, ugyanis

2 2 |g(x, y1 ) g(x, y2 )| = y1 y2 = |y1 + y2 | |y1 y2 | ,


s gy a (9.2.7) felttel nem teljeslhet, hiszen fellrl korltos valamely Legyen most folytonos, viszont

y1

y2

tetszlegessge miatt
1

|y1 + y2 | g

nem lehet sehol sem

L llandval. g(x, y) = D(x)y , ahol D(x)

a jl ismert Dirichlet-fggvny . Ekkor

|g(x, y1 ) g(x, y2 )| = |D(x)| |y1 y2 | |y1 y2 | ,


azaz

L=1

rtkkel a (9.2.7) sszefggs rvnyes a

G = R2

skon.

9.2.5. megjegyzs.

Hogyan biztosthat a lipschitzessg? Tegyk fel, hogy valamely

g : R2 R

fggvny az rtelmezsi tartomnynak valamely nylt

Hg

rszhalmazn a msodik vltoz-

jban korltos derivlttal rendelkezik. Ekkor a Lagrange-kzprtkttel rtelmben valamely

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.

A kezdetirtk-feladatok numerikus mdszerei

y (y1 , y2 ) rtk mellett g(x, y1 ) g(x, y2 ) = 2 g(x, y )(y1 y2 ), L = supHg (|2 g(x, y)|) < llandval2 .

azaz a (9.2.7) felttel teljesl az

A fenti megjegyzs kvetkezmnye: ha a (9.2.8) Cauchy-feladat rtelm megoldsa a

fggvnye a

QT

halmazon

folytonos, s a msodik vltozjban korltos parcilis derivlttal rendelkezik, akkor ltezik egy-

[0, T ]

intervallumon.

9.3. Egylpses mdszerek


Vegyk szre, hogy az elz szakaszban felsorolt ttelek a megolds ltezsre s annak egyrtelmsgre vonatkoztak, de nem adnak vlaszt annak ellltsra. ltalban a kznsges dierencllegyenletek kezdetirtk-feladatainak megoldsai csak nagyon specilis adhatk meg kpletek segtsgvel. Ehelyett

numerikus megoldst

fggvnyek esetn

lltunk el, ami azt jelenti,

hogy az rtelmezsi tartomnynak egyes pontjaiban az ismeretlen megoldsfggvny rtkeit

vges szm lpssel kzeltleg


idpontbeli kzeltst ilyen mdszereketegylpses

hatrozzuk meg. A fejezet tovbbi rszeiben ilyen eljrsokat ishatrozunk meg. Az

mertetnk. Ebben a rszben az olyan tpus eljrsokkal foglalkozunk, ahol valamely rgztett

egy azt megelz idpontbeli kzelts felhasznlsval mdszereknek nevezzk .

Teht a tovbbiakban a clunk a

du = f (t, u), dt u(0) = u0

t [0, T ],

(9.3.1) (9.3.2)

feladat egylpses mdszerekkel trtn kzelt megoldsa, ahol

a (9.3.1)(9.3.2) feladatnak ltezik egyrtelm, megfelelen sima megoldsa a

T > 0 olyan szm, amely mellett [0, T ] intervallumon.

9.3.1. Taylor-sorba fejtses mdszer


Ez az egyik legrgebben ismert mdszer. A denci alapjn a (9.3.1) egyenlet rvnyes az

u(t)

megoldsra

u (t) = f (t, u(t)),


azonossg. Tegyk fel, hogy az lteznek a

t [0, T ]

(9.3.3)

fggvny analitikus, s gy tetszleges rend parcilis derivltjai

QT

halmazon. Ekkor az

u(t)

megoldsfggvny is analitikus, s ezrt akrhnyszor

dierencilhat [7, 31]. A lncszably alkalmazsval rendre derivlva a (9.3.3) azonossgot a

t [0, T ]

pontban, a kvetkez egyenlsgeket nyerjk:

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)

u(t ) ismeretben mindegyik derivlt pontosan kiszmthat. (Megjegyezzk, t > t


olyan, amelyre

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

megoldsfggvny analitikus, ezrt Taylor-sora ellltja a a

pont valamely krnyezetben. Teht

Tn,u (t) =
k=0
Taylor-polinom

u(k) (t ) (t t )k k!
megoldshoz, ha

(9.3.5)

esetn konvergl az

u(t)

megfelelen kzel van a

ponthoz. Ezrt a konvergencia-tartomnyon bell a megolds elllthat az

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

derivltjt ismerjk, tovbb, hogy egy rgztett

pontban a jobb oldali

vgtelen sok parcilis vgtelen numerikus sort

u(t)

pontos rtk kiszmtsa teht a (9.3.6) kplet szerint nem valsthat meg. Ezrt

a tovbbiakban ennek

vges szelett

kzeltst

igyeksznk meghatrozni. Kzenfekv tlet, hogy a Taylor-sor

tekintjk kzeltsnek, azaz

u(t)
k=0
s ekkor az elhagyott rsz (azaz a hiba) az

u(k) (t ) (t t )k =: Tp,u (t), k! O((t t )p+1 )


nagysgrend. Denci alapjn,

(9.3.7)

Tp,u (t)

u(t)

fggvny

pontbeli

p-ed

fok Taylor -polinomja.

A (9.3.7) s a (9.3.4) sszefggsek segtsgvel az albbi kzelt eljrsok denilhatk. a) Taylor-mdszer Vlasszuk a

t =0

pontot, ahol a kezdeti felttelnk adott . Ekkor

u(t ) = u(0)

kezdeti felttelbl, s (9.3.4) alapjn a derivltak kzelts alapjn

pontosan

ismert a

kiszmthatk. Teht a (9.3.7)

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.

y0 rtkei a szksges k = 0, 1, . . . , p rtkekre a t = 0 behelyettestssel pontosan kiszmthatk.

(k)

(9.3.4) sszefggsek segtsgvel,

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.

A kezdetirtk-feladatok numerikus mdszerei

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.

rjuk ki a loklis Taylor-mdszer algoritmust (9.3.10) alapjn a

p = 0, 1, 2

esetekre!

Ha

p = 0,

akkor

yi = y0

minden

rtkre, gy ez az eset a gyakorlat szempontjbl

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

adott. Ekkor a szmtsi algoritmus (9.3.12)

Legyen

p = 2.

yi+1 = yi + hi yi +
ahol

h2 h2 i yi = yi + hi f (ti , yi ) + i (1 f (ti , yi ) + 2 f (ti , yi )f (ti , yi )) , 2 2 i = 0, 1, . . . N 1 s y0 = u0 adott.

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

nvelsvel egyre pontosabban kzelti a megoldst, valamint

tetszleges pontban kzvetlenl kiszmthat a kzelts, de csak olyan

t rtkekre, amelyek T -nl,


gy a

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 ]

intervallumon nem lehetsges a kzelt megolds ellltsa.

3. A Taylor-mdszer elnye, hogy ha csak egy rgztett

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

n-ed fok Taylor-polinom-

p + 1-szeres

folytonos dierencilhatsga, azaz ele-

f C p (QT )

simasgi felttel.

9.3.1. plda.

Tekintsk az

u = u + t + 1, t [0, 1], u(0) = 1


feladatot, amelynek pontos megoldsa

(9.3.13)

u(t) = exp(t) + t.

Ebben a feladatban

f (t, u) =

u + t + 1,

ezrt

u (t) = u(t) + t + 1, u (t) = u (t) + 1 = u(t) t, u (t) = u(t) + t,


teht (9.3.14)

u(0) = 1, u (0) = 0, u (0) = 1, u (0) = 1. T1,u (t) = 1, T2,u (t) = 1 + t2 /2,

A Taylor-mdszer esetn a kzelt

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

Alkalmazzuk a (9.3.10) loklis Taylor-mdszert, gyelembe vve a (9.3.14) derivltakat.

yi+1 = yi + hi (yi + ti + 1), i = 0, 1, . . . , N 1,


mg a msodrend mdszer algoritmusa

(9.3.16)

yi+1 = yi + hi (yi + ti + 1) +
ahol

h2 i (yi ti ), i = 0, 1, . . . , N 1, 2 hi = h = 0.1 egyenkz (n. ekvidisztns) [0, 1] intervallum rcspontjaiban hasonltjuk

h1 + h2 + . . . + hN = T .

Szmtsainkat a

rcshln vgezzk el. A 9.3.1. tblzatban 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.

A kezdetirtk-feladatok numerikus mdszerei

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

9.3.1. tblzat. A loklis Taylor-mdszer s a Taylor-mdszer sszehasonltsa a rcshln

a h lpskz

LT1

LT2

T1

T2

T3

0.1 0.01 0.001 0.0001

1.92e 02 1.80e 03 1.85e 04 1.84e 05

6.62e 04 6.12e 06 6.14e 08 6.13e 10

0.3679 0.3679 0.3679 0.3679

0.1321 0.1321 0.1321 0.1321 h

0.0345 0.0345 0.0345 0.0345


lpskz rcshln a

9.3.2. tblzat. A loklis Taylor-mdszer s a Taylor-mdszer hibja maximumnormban

A vizsglt mdszerekkel nyert numerikus megolds s a pontos megolds eltrse a rcshl pontjaiban meghatrozza az hogy

ei = yi u(ti

koordintj hibavektort, s ennek maximumnormjt

hasonltjuk ssze a 9.3.2. tblzatban a klnbz, egyre nomod rcshlkon. Jl lthat,

h cskkense esetn a loklis Taylor-mdszer hibja cskken, viszont a Taylor-mdszer ltal

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

pontbeli rtkek hatrozzk meg a

ti+1 -beli

kzeltst. A hibaanalzise meglehetsen bonyolult. A korbbiakban lertaknak megfele-

len (s amit a fenti plda is jl mutat), tbb tnyez okozza.

yi+1

kzeltsnek az

u(ti+1 ) pontos rtktl val eltrst

Az n.

sbl ered, felttelezve, hogy a

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

is fellpnek, amelyek jelentsen torzthatjk a kzel-

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 ]

intervallumon megoldjuk a feladatunkat, akkor egy

t [0, T ]

zelts els kt hibaforrsbl ered hibjt

globlis hibnak

pontbeli k-

nevezzk. Intuitv mdon azt

224 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.3.

Egylpses mdszerek

mondjuk, hogy a mdszer konvergens a snak rendjt a mdszer

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.

A Taylor-mdszer alkalmazsa s viselkedse az

u = 1t3u

dierencil-

egyenleten jl lthat a linken lv animcin.

http://math.fullerton.edu/mathews/a2001/Animations/OrdinaryDE/Taylor/Taylor.html

9.3.2. Nhny nevezetes egylpses mdszer


Az elz rszben lttuk, hogy numerikus szempontbl a loklis Taylor-mdszer klnsen esetn elnys: a (9.3.11) kplethez nem kell meghatrozni az

p=1

fggvny parcilis derivltjait,

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)

elsrend Taylor-polinommal val approximcijbl nyertk.

Ekkor az elkvetett hiba (a loklis (9.3.17)

|u(ti+1 ) T1,u (ti+1 )| = O(h2 ), i

i = 0, 1, . . . , N 1,

azaz msodrendben pontos az approximci. Adjunk meg

T1,u (t) helyett olyan ms, P1 (t) elsfok


(9.3.18)

polinomot, amely mellett a (9.3.17) becsls tovbbra is rvnyben marad, azaz

|u(ti+1 ) P1 (ti+1 )| = O(h2 ). i


Mivel

T1,u (t)

a megoldsgrbhez a

(ti , u(ti ))

pontbeli rint, ezrt olyan

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.18) rvnyes.) Lehet-e ms alkalmas megvlaszts is? Mivel

u(ti+1 ) = u(ti ) + u (ti )hi + O(h2 ), i


ezrt

(9.3.19)

u(ti+1 ) P1 (ti+1 ) = hi (u (ti ) ) + O(h2 ), i


azaz (9.3.18) pontosan akkor teljesl, amikor az

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.

A kezdetirtk-feladatok numerikus mdszerei

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)

Bizonyts. Alkalmazzuk a (9.3.19) felbontst az

u (t)

fggvnyre! (9.3.22)

u (ti+1 ) = u (ti ) + u (ti )hi + O(h2 ), i


s behelyettestve a (9.3.22) sszefggst a (9.3.21) kpletbe,

u (ti ) = u (ti )hi + O(h2 ) i


sszefggst nyerjk, ami az lltsunkat bizonytja.

(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

= (1 )f (ti , yi ) + f (ti+1 , yi+1 ).

(9.3.25)

9.3.5. denci.
A (9.3.24)-(9.3.25) numerikus mdszert

-mdszernek

nevezzk.

9.3.6. megjegyzs.

-mdszer

esetn is jellemz, hogy

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,

P1 (t) polinomban az egytthatt (azaz a megoldsfggvny derivltjait) csak kzeltleg

tudjuk meghatrozni.

Mivel az

irnyt a megoldsfggvny

ti

ti+1

pontbeli rintinek irnya hatrozza meg, ezrt

ltalban gy vlasztjuk meg, hogy ezen kt rtk kz essk. Ezrt a

paramtert csak a

intervallumbl szoksos megvlasztani. A tovbbiakban hrom, specilisan megvlasztott

[0, 1]

[0, 1]

rtkhez tartoz numerikus mdszert vizsglunk meg.

Az explicit Euler-mdszer
Tekintsk a

-mdszert a = 0 megvlasztssal! Ekkor (9.3.24) s (9.3.25) a kvetkez numerikus yi+1 = yi + hi f (ti , yi ), i = 0, 1, . . . , N 1.


(9.3.26)

mdszert generljk:

226 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.3.

Egylpses mdszerek

Mivel

yi

az ismeretlen

u(t)

fggvny

ti

pontbeli kzeltse, ezrt rtelemszeren

y0 = u(0) = u0 ,
vagyis a (9.3.26) iterciban az

(9.3.27) adott rtk.

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 ),

ezrt ebben az esetben a mdszert denil

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.

A (9.3.26)(9.3.27) mdszert azrt nevezzk explicitnek, mert a

ti

pont-

beli rtk ismeretben kzvetlenl, egy egyszer fggvnybehelyettestssel kiszmthat a

ti+1

Vizsgljuk meg elszr, hogy egy rgztett

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

pontban! (Az elzekben lertaknak

fggvny a msodik vltozjban lipschitzes, s a

ei = yi u(ti ), i = 0, 1, . . . , N
egy tetszleges

(9.3.28)

ti h

rcspontbeli pontbeli hibt.

A (9.3.26) explicit Euler-mdszer kpletbe behelyettestve a (9.3.28) dencibl kvetkez

yi = ei + u(ti )

kifejezst, rvnyes a kvetkez egyenlsg:

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)

gi = hf (ti , u(ti )) (u(ti+1 ) u(ti )),


jellseket az

i = f (ti , ei + u(ti )) f (ti , u(ti ))

(9.3.30)

ei+1 ei = gi + hi
n.

(9.3.31)

hibaegyenletet

kapjuk. Vizsgljuk meg a (9.3.30) denciban szerepl kt tagot! A

9.3.9. megjegyzs.
az

mutatja, hogy a pontos megolds az explicit Euler-mdszer (9.3.26)

gi tag azt hf (ti , yi ) (yi+1 yi ) = 0

alakban felrt kplett milyen pontosan elgti ki. Ez a kifejezs azt a hibt tartalmazza, ami

u(t)

megoldsfggvnynek a

[ti , ti+1 ]

intervallumon trtn, elsfok Taylor-polinommal val

approximcijbl ered. (Ezt neveztk loklis approximcis hibnak.) A hogy a mdszer egy lpse sorn mekkora hiba keletkezik abbl, hogy az szolgl kpletben a pontos

tag azt jellemzi,

yi+1

rtk kiszmolsra

u(ti )

rtk helyett annak

yi

kzeltsvel szmolunk. tankonyvtar.bme.hu 227

9.

A kezdetirtk-feladatok numerikus mdszerei

Az

fggvny lipschitzessge kvetkeztben

|i | = |f (ti , ei + u(ti )) f (ti , u(ti ))| L|(ei + u(ti )) u(ti )| = L|ei |.


gy a (9.3.31) s a (9.3.32) sszefggsek alapjn

(9.3.32)

|ei+1 | |ei | + |gi | + h|i | (1 + hL)|ei | + |gi |


minden

(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

(1+hL) |gn1i | < (1 + hL)

|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

|en | exp(Ltn ) |e0 | +


i=0
Adjunk becslst a

|gn1i | .

(9.3.35)

|gi |

kifejezsre! Knnyen lthatan

1 u(ti+1 ) u(ti ) = u(ti + h) u(ti ) = hu (ti ) + u (i )h2 , 2


ahol

(9.3.36)

i (ti , ti+1 )

egy adott pont. Mivel

f (ti , u(ti )) = u (ti ),


[0,T ]

ezrt a

[0,tn ]
relci miatt a

max |u (t)| max |u (t)| =: M2

gi

tagra - a (9.3.30) szerinti dencija kvetkeztben- rvnyes a

|gi |

M2 2 h 2

(9.3.37)

egyenltlensg. Ekkor a (9.3.35) s a (9.3.37) becslsek alapjn

|en | exp(Ltn ) |e0 | + hn


becsls. Mivel

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 ]

pontban a rcshl nomtsval hogyan viselkedik a kzelt s

pontos rtk klnbsge? b. Tetszleges rgztett

t [0, T ]

pont esetn a rcshl nomtsval hogyan viselkedik a

kzelt s pontos rtk klnbsge a Elszr az a. krdssel foglalkozunk.

[0, t ]

intervallumon?

Ekvidisztns rcshlk sorozatn viszonylag egyszeren belthat a kvetkez llts.

9.3.10. ttel.
Legyen az

t [0, T ]

tetszleges rgztett pont. Tekintsk

h0

mellett a

[0, t ]

intervallumon (9.3.40)

h := {ti = ih; i = 0, 1, . . . , n; h = t /n}


ekvidisztns rcshlk sorozatt. Ekkor a konvergens. Bizonyts. Nyilvnvalan esetn egy

pontban az explicit Euler mdszer elsrendben

index

h-tl

fgg, s

tn = nh = t

. Azt kell megmutatnunk, hogy az

h-tl

fggetlen lland. Tekintsk a (9.3.39)

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

hv := {0 = t0 < t1 < . . . < tn1 < tn = t }


egy vltoz lpshosszsg rcshl a

(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

gi = hi f (ti , u(ti )) (u(ti+1 ) u(ti )),


jellsekkel a (9.3.33) becsls gy rhat t:

i = f (ti , ei + u(ti )) f (ti , u(ti ))

(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

rcspontbeli a (9.3.34) hiba becslse, a (9.3.44) relci gyelembevtelvel

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)

exp((hn1 + hn2 + . . . + h0 )L) |e0 | +


i=1

|gni | .
tankonyvtar.bme.hu 229

9.

A kezdetirtk-feladatok numerikus mdszerei

Jellje

Kv K(hv ) = h/hmin
az

(9.3.46)

hv

rcshl felosztst jellemz szmot. Ekkor a

|gi |
becsls alapjn

M2 2 h 2 i

(9.3.47)

Nyilvnvalan alapjn

hn1 + hn2

M2 2 M2 h hKv hmin . 2 2 + . . . + h0 = tn = t s nhmin tn = t |gi | M2 Kv h . 2

(9.3.48) , ezrt (9.3.45) s (9.3.48)

|en | exp(t L) |e0 | + t


Mivel

(9.3.49)

e0 = 0,

ezrt

|en | exp(Lt )
lyek az albbi tulajdonsgokkal rendelkeznek:

M2 t Kv 2

h.

(9.3.50) rcshlk olyan sorozatt, ame-

A vltoz rcshln val konvergencihoz tekintsk az

(hv )

Ltezik olyan

K>0

lland, hogy mindegyik rcshlra

Kv K.
Az egyes rcshlk

(9.3.51)

maximlis lpskze nullhoz tart.

A tovbbiakban a fenti tulajdonsg rcshlsorozatot

regulrisnak

nevezzk.

9.3.11. megjegyzs.
donsg.

Az osztsrszek szmnak nvelsvel ellltott ekvidisztns rcshlso-

rozatok regulrisak, hiszen (9.3.51) a

K=1

llandval teljesl. Tovbb az is knnyen meggon-

dolhat, hogy a regulris rcshlsorozat msodik felttelbl nem kvetkezik a (9.3.51) tulaj-

A (9.3.50) becsls alapjn kzvetlenl belthat az albbi llts.

9.3.12. ttel.
Legyen

t [0, T ]

egy rgztett pont az

(hv )

[0, t ]

intervallumon rtelmezett regulris

rcshlsorozat. Ekkor a

pontban az explicit Euler mdszer elsrendben konvergens.

Bizonyts. Mivel a rcshlsorozat regulris, ezrt a (9.3.50) becsls felrhat az

|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 ]

intervallumon rtelmezett rcshlkon a kzelt

megoldsok sorozata tart-e a pontos megoldshoz a mindegyik pontjban konvergens-e?

t=t

pontban. Most azt vizsgljuk meg, hogy

a megfelel rcshlsorozatokon ellltott numerikus megoldsok sorozata vajon az intervallum

230 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.3.

Egylpses mdszerek

9.3.13. ttel.
Legyen

(hv ) egy regulris rcshlsorozat a [0, t ] intervallumon. Ekkor az intervallum mind-

egyik pontjban az explicit Euler mdszer elsrendben konvergens.

Bizonyts. A rcshlsorozat ltezik olyan ezekben a

(tnv )

sorozat, hogy mindegyik rcshlra

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

pontokban felrva a (9.3.52) becslst, az

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.

9.3.14. kvetkezmny. 9.3.15. ttel.


Legyen mon

Vegyk szre, hogy a (9.3.54) mdon denilt

kifejezs

monoton

nv fggvnye. Ezrt teht a 9.3.13. ttel alapjn rvnyes az albbi llts.

(hv )

egy regulris rcshlsorozat a pontjban az explicit Euler llandval.

[0, T ]

intervallumon. Ekkor az intervalluelsrendben konvergens a

mindegyik

mdszer

C =

0.5M2 T K exp(LT )

9.3.16. megjegyzs.
esetben

Lthat, hogy az explicit Euler-mdszer esetn a

lsghez nem szksges az

y0 = u0

megvlaszts, elegend, ha

limh0 en = 0 egyeny0 = u0 + O(h), mert ebben az

e0 = O(h).

(Emellett, tovbbra is

en = O(h).)

Az implicit Euler-mdszer
Tekintsk a

-mdszert a = 1 megvlasztssal! Ekkor (9.3.24) s (9.3.25) a kvetkez numerikus

mdszert generlja:

yi+1 = yi + hi f (ti+1 , yi+1 ), y0 = u0 .

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.

A kezdetirtk-feladatok numerikus mdszerei

9.3.18. megjegyzs.

A (9.3.55) implicit Euler-mdszert azrt nevezzk implicitnek, mert az

idben val elrehaladshoz

yi

ismeretben

yi+1

rtkt minden egyes idlpsben egy (tipikusan

nemlineris) egyenlet megoldsval tudjuk csak meghatrozni. Az implicit Euler-mdszer

ei

hibafggvnyre a hibaegyenlet a kvetkez mdon rhat fel:

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

gi = hi f (ti+1 , u(ti+1 ))(u(ti+1 )u(ti )),

i = f (ti+1 , u(ti+1 )+ei+1 )f (ti+1 , u(ti+1 ))

(9.3.58)

jellsekkel ismtelten a (9.3.31) alak hibaegyenletet nyerjk. Nyilvnvalan

1 u(ti+1 ) u(ti ) = u(ti+1 ) u(ti+1 hi ) = hi u (ti+1 ) u (i )h2 , i 2


ahol

(9.3.59)

i (ti , ti+1 )

egy adott pont. Msrszt,

f (ti+1 , u(ti+1 )) = u (ti+1 ). M2 2 h 2 i i


a

Ezrt

gi

(9.3.58) szerinti

dencija kvetkeztben rvnyes a

|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

hibafggvnynek nullhoz tartsval

A CrankNicolson-mdszer
Tekintsk a

-mdszert

= 0.5

megvlasztssal! Ekkor (9.3.24) s (9.3.25) a kvetkez nume-

rikus mdszert generlja:

yi+1 yi =
ahol

hi [f (ti , yi ) + f (ti+1 , yi+1 )] , 2

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

Adjunk becslst a (9.3.62) kpletben szerepl sorba az Ekkor

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

u(ti+1 ) u(ti ) = hi u (ti+1/2 ) +


ahol

h3 i 1 2 (u (i ) + u (i )), 48

(9.3.63)

1 2 i , i (ti , ti+1 )

adott pontok. Msrszt

f (ti , u(ti )) + f (ti+1 , u(ti+1 )) = u (ti ) + u (ti+1 ).


Sorba fejtve a (9.3.64) jobb oldali fggvnyeit a
1 t = ti+ 2

(9.3.64)

pont krl, az

1 h2 3 4 [f (ti , u(ti )) + f (ti+1 , u(ti+1 ))] = u (ti+ 1 ) + i (u (i ) + u (i )). 2 2 16


egyenlsget kapjuk. Ezrt (9.3.63) s (9.3.65) alapjn a

(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

O(h2 ), az expO(h) rendben tart

-mdszer

esetn a hibafggvny nullhoz tartst a ksbbiekben

u(t) a (9.2.6) egyenlet megol[0, T ] intervallum mindegyik pontjban. Az azonossg


ti+1

rcshl kt tetszleges szomszdos pontja kztt az

u(ti+1 ) u(ti ) =
ti

f (t, u(t)) dt,

t [0, T ]

(9.3.67)

tankonyvtar.bme.hu 233

9.

A kezdetirtk-feladatok numerikus mdszerei

a h lpskz

EE

IE

CN

0.1 0.01 0.001 0.0001 0.00001

1.92e 02 1.84e 03 1.84e 04 1.84e 05 1.84e 06

1.92e 02 1.84e 03 1.84e 04 1.84e 05 1.84e 06

3.06e 04 3.06e 06 3.06e 08 3.06e 10 5.54e 12

9.3.4. tblzat. Az explicit Euler-mdszer (EE), az implicit Euler-mdszer (IE) s a Crank Nicolson mdszer (CN) hibja

lpskz rcshln a maximumnormban.

(i

jobb oldalon lv integrlt valamely kzelt formulval szmoljuk ki a

= 0, 1, . . . , N 1 tetszleges) egyenlsget nyerjk. A kzelt mdszerek megkonstrulshoz a [ti , ti+1 ] intervallumon. A

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

f (t, u(t)) dt hi f (ti , u(ti )).


ti

(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

f (t, u(t)) dt hi f (ti+1 , u(ti+1 )).


ti

(9.3.69)

Ekkor (9.3.67) s (9.3.69) felhasznlsval a (9.3.55) alak implicit Euler-mdszert kapjuk.

Ha (9.3.67) kzelt integrlsra a trapzszablyt alkalmazzuk, azaz

ti+1

f (t, u(t)) dt
ti

hi [f (ti , u(ti )) + f (ti+1 , u(ti+1 ))] , 2

(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

pontban rjuk fel a (9.3.3) azonossgot, s a retrogrd numerikus derivlst

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.

9.3.3. Az ltalnos alak egylpses mdszerek alapfogalmai s pontbeli konvergencija


Ebben a szakaszban az

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

yi+1 = yi + h(h, ti , yi , yi+1 )


egylpses mdszert, ahol azt a numerikus mdszert, amelyet a (9.3.71) kplet realizl, nevezzk. Specilisan megvlasztott

(9.3.71)

-mdszernek )

a numerikus mdszert meghatroz adott fggvny. A tovbbiakban numerikus mdszernek (rviden:


fggvnyek esetn a korbbi mdszereink el-

9.3.21. megjegyzs.

llthatk a (9.3.71) alakban. Pldul,

(h, ti , yi , yi+1 ) = f (ti , yi )

esetn az explicit Euler-mdszert; esetn az implicit Euler-mdszert; esetn a CrankNicolson-mdszert, esetn a

(h, ti , yi , yi+1 ) = f (ti + h, yi+1 )

(h, ti , yi , yi+1 ) = 0.5 [f (ti , yi ) + f (ti + h, yi+1 )]

(h, ti , yi , yi+1 ) = (1 )f (ti , yi ) + f (ti + h, yi+1 )


kapjuk.

-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

u(t) a (9.3.1)(9.3.2) feladat pontos megoldst. A -mdszer loklis visel-

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

yi+1 = u(ti ) + h(h, ti , u(ti ), yi+1 )


egyenlettel denilt

(9.3.72) rtkhez.

yi+1

kzelt rtk milyen kzel van az

u(ti+1 )

tankonyvtar.bme.hu 235

9.

A kezdetirtk-feladatok numerikus mdszerei

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

gi (h) = u(ti ) + h(h, ti , u(ti ), u(ti+1 )) u(ti+1 )


a pontos megolds ismerete nlkl is meghatrozhat.

(9.3.73)

fggvnyt, amelynek rendje (a kiindul Cauchy-feladat egyenletnek felhasznlsval) sorfejtssel

9.3.24. denci.
Az

gi (h)

(ms szval, mdszer

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

esetn (azaz amikor a CrankNicolson-

mdszert jelenti) msodrend, egybknt elsrend. A tovbbiakban feltesszk, hogy a (9.3.71) alak amelyek mellett tetszleges

dik s negyedik vltozjban egyarnt lipschitzes, azaz lteznek olyan

numerikus mdszerben a fggvny a harmaL3 0 s L4 0 llandk,

s1 , s2 , p1

p2

szmok esetn (9.3.75)

|(h, ti , s1 , p1 ) (h, ti , s2 , p2 )| L3 |s1 s2 | + L4 |p1 p2 |


tetszleges

L3 = 0

(avagy

ti h s h > 0 L4 = 0).

esetn. Ha a

fggvny nem fgg

yi -tl

(avagy

yi+1 -tl),

akkor

9.3.26. megjegyzs.
megvlasztott

A 9.3.21. megjegyzs alapjn knnyen megmutathat, hogy az

msodik vltozja szerinti lipschitzessge esetn tetszleges

f fggvny esetn a -mdszerre (s gy az exp-

licit s implicit Euler-mdszerekre valamint a CrankNicolson-mdszerre egyarnt) alkalmasan

L3

L4

llandkkal rvnyes a (9.3.75) egyenltlensg.

Az egylpses mdszerek pontbeli konvergencija


A tovbbiakban megvizsgljuk a (9.3.75) tulajdonsg, konvergencijt egy

t (0, T ]

rgztett pontban. Legyen

[0, t ]

intervallumon, s mindegyik rcshln

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

Az egyszersg kedvrt vezessk be az albbi jellseket:

ei (h) = ei ,
A fenti dencik alapjn fennll az

gi (h) = gi ,

li (h) = li .

(9.3.77)

ei+1 = yi+1 u(ti+1 ) = (yi+1 yi+1 ) + (i+1 u(ti+1 )) = (yi+1 yi+1 ) + li y


sszefggs. Ezrt a tovbbiakban az

(9.3.78)

|ei+1 | |yi+1 yi+1 | + |li |


egyenltlensg jobb oldaln lv kt tagra adunk fels becslst. A loklis diszkretizcis hibafggvnyre az albbi sszefggs rvnyes:

(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)

|li | |gi | + hL4 |i+1 u(ti+1 )| = |gi | + hL4 |li | y


gy (9.3.81) alapjn rvnyes az

(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

rendben) tart nullhoz.

Trjnk t a (9.3.79) jobb oldali els tagjnak becslsre.

|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.

A kezdetirtk-feladatok numerikus mdszerei

gy (9.3.83) alapjn rvnyes az

|yi+1 yi+1 |
egyenltlensg.

1 + hL3 |ei | 1 hL4

(9.3.84)

A (9.3.82) s a (9.3.84) felhasznlsval a (9.3.79) egyenltlensg trhat az

|ei+1 |
alakra. Vezessk be a

1 1 + hL3 |ei | + |gi | 1 hL4 1 hL4

(9.3.85)

= (h) =
jellseket.

1 + hL3 , 1 hL4

= (h) =

1 1 hL4

(9.3.86)

9.3.30. megjegyzs.

A (9.3.86) jellsek mellett

=1+h
s gy

L3 + L4 1 hL4
s

(9.3.87)
8

= 1 + O(h).

Ezrt vlaszthatk olyan

h0 , 0

llandk , amelyek mellett

= (h) 1 + 0 h,

= (h) 0 ,

h (0, h0 ).

(9.3.88)

A (9.3.86) jellssel (9.3.85) felrhat az

|ei+1 | |ei | + |gi |

(9.3.89)

alakban. Rekurzv mdon alkalmazva a (9.3.89) relcit, a kvetkez egyenltlensget nyerjk:

|en | |en1 | + |gn1 | [|en2 | + |gn2 |] + |gn1 |


n1

= 2 |en2 | + [|gn2 | + |gn1 |] . . . n |e0 | +


i=0 n1

i |gn1i |
(9.3.90)

n |e0 | +
i=0

|gn1i | . h (0, h0 )
esetn

A (9.3.88) sszefggs alapjn, minden

s (9.3.91)

n (1 + 0 h)n exp(0 hn) = exp(0 t ).


Ezrt (9.3.90) alapjn rvnyes az

n1

|en | exp(0 t ) |e0 | + 0


i=0

|gn1i |

(9.3.92)

8 Pldul a h = 1 , = 2(L + L ) s = 2 egy alkalmas megvlaszts. 0 0 3 4 0 2L4


238 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.4.

A RungeKutta tpus mdszerek

becsls. Mivel feltettk, hogy a vizsglt denci alapjn, megfelelen kis egyenltlensg. Ezrt kis

esetn valamely

-mdszer r-ed rendben konzisztens, c0 0 llandval fennll

ezrt a (9.3.76) a

|gi | c0 hr+1

esetn

n1

|gn1i | nc0 hr+1 = c0 t hr .


i=0
sszevetve a (9.3.92) s a (9.3.93) formulkat, az

(9.3.93)

|en | exp(0 t ) [|e0 | + c1 hr ]


becslst nyerjk, ahol kvetkez lltst.

(9.3.94)

c1 = 0 c0 t

=lland. Mivel

e0 = 0 ,

ezrt a (9.3.94) alapjn belttuk a

9.3.31. ttel.
Tegyk fel, hogy a (9.3.71) kplettel denilt

numerikus mdszer

p-ed

rendben konzisztens, s

a mdszert denil

fggvnyre rvnyes a (9.3.75) Lipschitz-felttel.

Ekkor a

-mdszer p-ed

rendben konvergens a

[0, T ]

intervallumon.

9.3.32. kvetkezmny.

A 9.3.25. s a 9.3.26. megjegyzsek alapjn a

-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.

Az elzekben a konvergencit a (9.3.89) sszefggsbl vezettk le, mg-

pedig a benne szerepl tagok kt tulajdonsgbl: a mdszer konzisztens, azaz fggvny korltos; a

gi = O(hp+1 )

valamely

pozitv szmmal, emellett a

(h)

(h)

fggvnyre a (9.3.88) nagysgrendi becsls teljesl. Ez a tulajdonsg azt fejezi ki,

hogy az egyik idrtegrl a kvetkez idrtegre val ttrsnl a lpsszmok nvelsvel (azaz

h cskkensvel) a hiba csak korltosan nvekedhet. Ezt a tulajdonsgot a numerikus

mdszer stabilitsnak nevezzk. A 9.3.31.. ttel leegyszerstve teht azt mutatja, hogy a korrekt kitzs Cauchy-feladatokra a

-mdszer

konzisztencija s stabilitsa a konvergencit biztostja. A stabilitst a Lipschitz-fle

felttellel tudjuk biztostani.

9.4. A RungeKutta tpus mdszerek


Kettnl magasabb rend numerikus mdszerek megkonstrulsa a (9.3.1)-(9.3.2) Cauchy-feladatra az elzekben ismertetett egylpses mdszerek segtsgvel akadlyokba tkzik: az egyszerbb mdszerek (explicit Euler-mdszer, implicit Euler-mdszer, CrankNicolson-mdszer) legfeljebb msodrendek, a Taylor-mdszerek viszont egy meglehetsen bonyolult elzetes analzist (a parcilis derivltak meghatrozst) s azok kirtkelst ignylik. Ebben a rszben tankonyvtar.bme.hu 239

9.

A kezdetirtk-feladatok numerikus mdszerei

megmutatjuk, hogy a parcilis derivltak kiszmtsnak feladata  egy viszonylag egyszer tlet segtsgvel  megkerlhet.
9

9.4.1. A msodrend RungeKutta tpus mdszerek


Tekintsk ismt a (9.3.1)-(9.3.2) Cauchy-feladatot. Elszr a RungeKutta tpus mdszerek bevezetshez hatrozzunk meg egy, a CrankNicolson-mdszertl klnbz, msodrend, egylpses mdszert. rjuk ki az

u(t)

megolds (9.3.6) alak Taylor-sornak els tagjait a

t = t +h

pontban. Mivel a

msodrend konzisztencit szeretnnk biztostani, ezrt a kvetkez alakot rjuk fel:

u(t + h) = u(t ) + hu (t ) +
Felhasznlva a (9.3.4) derivltakat, bevezetve az

h2 u (t ) + O(h3 ). 2!

(9.4.1)

f = f (t , u(t )), i f = i f (t , u(t )), ij f = ij f (t , u(t )),


egyszerst jellseket, (9.4.1) trhat az

stb.

u(t + h) =u(t ) + hf +

h2 (1 f + f 2 f ) + O(h3 ) 2! h h =u(t ) + f + [f + h1 f + hf 2 f ] + O(h3 ) 2 2

(9.4.2)

alakra. Mivel

10

f (t + h, u(t ) + hf (t , u(t )) = f + h1 f + hf 2 f + O(h2 ),


ezrt (9.4.2) felrhat az

(9.4.3)

u(t + h) = u(t ) +
alakban. Teht egy denilhatjuk az

h h f + (f (t + h, u(t ) + hf (t , u(t ))) + O(h3 ) 2 2 ti = t

(9.4.4)

rcshl tetszleges

pontjban felrva a (9.4.4) egyenlsget,

yi+1 = yi +

h h f (ti , yi ) + f (ti+1 , yi + hf (ti , yi )) 2 2

(9.4.5)

egylpses, explicit numerikus mdszert. Vezessk be a

k1 = f (ti , yi );

k2 = f (ti+1 , yi + hf (ti , yi )) = f (ti + h, yi + hk1 )

(9.4.6)

jellseket. Ekkor a (9.4.5) mdszer felrhat

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.

A RungeKutta tpus mdszerek

9.4.1. megjegyzs.

Mivel (9.4.4) alapjn

u(t + h) u(t )
ezrt a pontos megolds

h h f (f (t + h, u(t ) + hf (t , u(t ))) = O(h3 ), 2 2


ki a (9.4.5) kpletet, azaz

(9.4.8)

rend.

O(h3 ) rendben elgti

a Heun-mdszer msod-

9.4.2. megjegyzs.
A Heun-mdszer nhny rszlete megtallhat a

http://math.fullerton.edu/mathews/n2003/Heun%27sMethodMod.html 3 linken. Az ugyanitt lv animcin a mdszer viselkedse az u = 1 t u


is jl lthat.

dierencilegyenletre

Megadhatk-e egyb msodrend mdszerek? A (9.4.4) sszefggs ltalnostsa a kvetkez paramteres alak:

u(t + h) = u(t ) + 1 hf (t , u(t )) + 2 hf (t + a2 h, u(t ) + b21 hf (t , u(t ))) + O(h3 ),


ahol az

(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)

egylpses numerikus mdszert kapjuk.

9.4.3. megjegyzs.

A (9.4.12) ltalnos alakban felrt mdszer paramtereit clszer csoporto-

stva a kvetkez alakban felrni:

0 a2

b21 1

(9.4.11)

Fejtsk Taylor-sorba a (9.4.9) egyenlet jobb oldalt! Ekkor az

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

1 + 2 = 1 a2 2 = 0.5 b21 2 = 0.5.


A (9.4.10) kplet egyszer trsval eredmnyeinket az albbi ttelben sszegezhetjk. (9.4.13)

tankonyvtar.bme.hu 241

9.

A kezdetirtk-feladatok numerikus mdszerei

9.4.4. ttel.
Tegyk fel, hogy a

1 , 2 , a2

b21

paramterek megoldsai a (9.4.13) egyenletnek. Ekkor a (9.4.14) (9.4.15)

k1 = f (ti , yi ), k2 = f (ti + a2 h, yi + hb21 k1 ), yi+1 = yi + h(1 k1 + 2 k2 )


kpletekkel denilt egylpses explicit numerikus mdszer msodrend. A (9.4.13) feltteleket kielgt (9.4.14)-(9.4.15) mdszert nevezzk s az RK2 szimblummal jelljk.

mdszernek

msodrend RungeKutta tpus

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

esetn (9.4.13) megoldsai a kvetkez alakak:

2 = ,
a (9.4.11) tblzat alapjn

1 = 1 ,

a2 = b21 = 0.5.

(9.4.16)

Teht az RK2 mdszerek egy egyparamteres mdszercsaldot alkotnak, amelynek paramtereit

0 0.5
szerint kell megvlasztani.

0.5 1

(9.4.17)

9.4.5. megjegyzs.

= 0.5

rtkhez tartoz RK2 mdszer ppen a Heun-mdszert ered-

mnyezi. rdekes megvlaszts a szrmaztatott numerikus mdszer

= 1.

Ekkor

1 = 0 , 2 = 1

a2 = b21 = 0.5

s gy a

k1 = f (ti , yi ),

k2 = f (ti + 0.5h, yi + 0.5hk1 ),

yi+1 = yi + hk2 .
nevezzk.

(9.4.18)

A (9.4.18) msodrend mdszert

javtott explicit Euler-mdszernek

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

hi [f (ti , yi ) + f (ti+1 , yi+1 )] 2 yi+1


helybe az

f (ti+1 , yi+1 )

implicit tagban

yi+1 = yi + hf (ti , yi )

explicit

Euler-mdszerrel kiszmtott rtket helyezzk, akkor ppen a Heun-mdszert kapjuk.

A javtott explicit Euler-mdszer esetn a Euler-mdszerrel kiszmoljuk az teljes intervallumra.

u(t)

pontos rtk

t = ti + 0.5h = ti+0.5 felezpontban explicit yi+0.5 = yi + 0.5hf (ti , yi ) kzeltst,

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

242 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.4.

A RungeKutta tpus mdszerek

alakban, mg a javtott explicit Euler-mdszer esetn

0 0.5

0.5 0

(9.4.20)

alakban adhat meg.

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

u (t) = u (t) = u(t).

Msrszt, az

fggvny dencija miatt

f (t, u) = u. Ezrt u (t) = u (t). Ezrt f (ti , yi ) = yi . Ezrt a (9.4.10)

mdszer erre a feladatra 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)

szabad paramtertl. Helyettestsk be az

u(t)

pontos megoldst a (9.4.22) kpletbe, azaz szmtsuk ki a loklis approximcis hibt! Ekkor

gi = u(ti+1 ) u(ti )(1 + h +


Az

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.

9.4.2. A magasabb rend RungeKutta tpus mdszerek


A gyakorlati szmtsok sorn az els illetve msodrend mdszerek segtsgvel relis id alatt gyakran nem tudjuk biztostani a szksges pontossgot. Ezrt a tovbbiakban clunk a (9.4.10) mdszerbl kiindulva

magasabb rendben pontos

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:

k1 = f (ti , yi ), k2 = f (ti + a2 h, yi + hb21 k1 ), k3 = f (ti + a3 h, yi + hb31 k1 + hb32 k2 )


s ezutn az j rtk (9.4.24)

yi+1 = yi + h(1 k1 + 2 k2 + 3 k3 ).

(9.4.25) tankonyvtar.bme.hu 243

9.

A kezdetirtk-feladatok numerikus mdszerei

Ennek a mdszernek a paramtereit a (9.4.11) szerinti tblzat segtsgvel az

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:

a2 = b21 , a3 (a3 a2 ) b32 a2 (2 3a2 ) = 0,

a3 = b31 + b32 , 3 b32 a2 = 1/6, 2 a2 + 3 a3 = 1/2,


(9.4.27)

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)

tblzatban szerepl rtkekkel denilt mdszer gyakran szerepel az alkalmazsokban.

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.

A mg magasabb (p kvetkez. Legyen

> 3)

pontossg elrshez a mdszer tovbbi ltalnostsa szksges. Ehadott egsz szm. Deniljuk a kvetkez, n.

hez fogalmazzuk meg az eddigi mdszereinket ltalnos alakban. Termszetes ltalnosts a

m 1 egy Runge-Kutta tpus mdszert :

m-lpcss explicit

k1 = f (ti , yi ), k2 = f (ti + a2 h, yi + hb21 k1 ), k3 = f (ti + a3 h, yi + hb31 k1 + hb32 k2 ),


. . . (9.4.30)

km = f (ti + am h, yi + hbm1 k1 + hbm2 k2 + . . . + hbm,m1 km1 ) yi+1 = yi + h(1 k1 + 2 k2 + . . . + m km ).


244 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK) (9.4.31)

9.4.

A RungeKutta tpus mdszerek

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

... ...

bm,m1 m , a Rm B Rmm a bij

Ennek kompakt felrsa cljbl vezessnk be j jellseket! Jellje a tovbbiakban a

ai

elemeibl ll oszlopvektorokat (ahol mindig

a1 = 0),

tovbb

elemekbl felptett szigoran als hromszgmtrixot, azaz

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

(A felrsi md tlete J. Butchertl

11

ered, s a konkrt mdszerek felrsnl a

mtrix nem

nulla elemeit soroljuk csak fel a tblzatban. Ugyanakkor, mint azt a tovbbiakban llni fogjuk, ez a felrsi md alkalmazhat tetszleges

B mtrixok esetn is.)


yi+1
helybe rt

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

elvgzsvel nyerjk az explicit Runge-Kutta tpus mdszerek

p-ed

rend konzisztencijnak

9.4.8. megjegyzs.
bl lthat, hogy a szerepl

ai egytthatval. Ezrt az a vektort e = [1, 1, . . . , 1] Rm oszlopvektort jelli.


Bevezetve az

A msodrendsg (9.4.17) illetve a harmadrendsg (9.4.27) els felttelmtrix mindegyik sornak sszege megegyezik az ugyanabban a sorban az

a = Be

sszefggsbl hatrozzuk meg, ahol

an = (an , an , . . . , an ) Rm , 1 2 m
ttele a

A = diag(a1 , a2 , . . . , am ) Rmm
p-ed
rend konzisztencijnak fel-

jellseket, felrhat az explicit Runge-Kutta tpus mdszer

B mtrix elemeire illetve a

vektorra:

11 John Charles Butcher (1933 ) ma is aktv j-zlandi matematikus.


tankonyvtar.bme.hu 245

9.

A kezdetirtk-feladatok numerikus mdszerei

0 1/2 1/2 1 1/2 0 0 1/6 1/2 0 1/3 1 1/3 1/6

9.4.1. tblzat. Negyedrend, explicit Runge-Kutta tpus mdszer Butcher-tblzata.

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

kzelts meghatrozsa a mr kiszmolt

ti

yi

kzeltsbl) a kvetkez:

k1 = f (ti , yi ) k2 = f (ti + 0.5h, yi + 0.5hk1 ) k3 = f (ti + 0.5h, yi + 0.5hk2 ) k4 = f (ti + h, yi + hk3 )


kpletekkel rendre kiszmoljuk a (9.4.37)

k1 , k2 , k3

k4

rtkeket.

Az

yi+1 = yi +

h (k1 + 2k2 + 2k3 + k4 ) 6

(9.4.38)

kplettel meghatrozzuk az j kzeltst. 246 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.4.

A RungeKutta tpus mdszerek

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

kztti hzag nvekszik.

9.4.11. megjegyzs.
hat a

A explicit Runge-Kutta tpus mdszer nhny tovbbi rszlete megtall-

http://math.fullerton.edu/mathews/n2003/RungeKuttaMod.html 3 linken. Az ugyanitt lv animcin a mdszer viselkedse az u = 1 t u


is jl lthat.

dierencilegyenletre

9.4.12. megjegyzs.

cijval foglalkoztunk, s a gyakorlat szempontjbl fontosabb

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

Ebben a rszben az explicit Runge-Kutta tpus mdszerek konziszten-

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.

9.4.3. Az implicit Runge-Kutta tpus mdszerek


Vegyk szre, hogy ltalnosan a RungeKutta tpus mdszerek a kvetkez mdon denilhatk. Legyen

B Rmm

egy tetszleges mtrix,

Rm

egy adott vektor, s

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

ismeretlenes (ltalban nemlineris) egyenletrendszer megoldst ignyli. Ez a mdszer alkal-

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.

A kezdetirtk-feladatok numerikus mdszerei

Butcher-tblzatt. Mint ltni fogjuk, a numerikus mdszer ltalnos egylpses mdszer alakjban val megadsa (azaz a

fggvny meghatrozsa) ebben az esetben mr jval sszetettebb


13

feladat, mint az explicit mdszerek esetn.

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:

k1 = f (ti + h, yi + hk1 ) yi+1 = yi + hk1 .


Teht algoritmikus realizsa a kvetkezt jelenti: els lpsben megoldjuk a az els egyenletet a mdszer
14

(9.4.41)

k1

ismeretlenre

, majd a megoldst behelyettestjk a msodik kpletbe. Hatrozzuk meg

fggvnyt! Mivel a msodik kpletbl

els egyenletbe sszefggsbl, elsrend.

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

a (9.4.40) Butcher-tblzat mdszer az implicit Euler-mdszert jelenti. gy ez a mdszer

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:

k1 = f (ti + 0.5h, yi + 0.5hk1 ) yi+1 = yi + hk1 .


Hatrozzuk meg ennek a mdszernek is a Behelyettestve az els egyenletbe

(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

nevezzk. A mdszer rendjt a

gi = u(ti+1 ) u(ti ) hf (ti + 0.5h, 0.5(u(ti ) + u(ti+1 )))


kifejezs nagysgrendjnek meghatrozsval nyerjk. A szoksos sorbafejtssel a kvetkezket kapjuk:

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.

A RungeKutta tpus mdszerek

Behelyettestve ezeket az rtkeket sszefggst, a msodrend.

gi

kifejezsbe, s gyelembe vve a (9.3.4) msodik

gi = O(h3 )

nagysgrendet kapjuk. Teht az implicit kzpponti szably

Tekintsk a kvetkez Butcher-tblzatot!

0 1

0 0.5 0.5

0 0.5 0.5

(9.4.45)

Ez egy ktlpcss implicit Runge-Kutta tpus mdszer, amely a kvetkezt jelenti:

k1 = f (ti , yi ) k2 = f (ti + h, yi + 0.5k1 + 0.5k2 ) yi+1 = yi + 0.5hk1 + 0.5hk2 .


A harmadik kpletbl a msodik egyenletbe, a (9.4.46)

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 tovbbi mdszereknek csak a Butcher-tblzatt ismertetjk.

A Butcher-tblzatbeli

a vektor koordintinak a numerikus integrlsnl mr ismertetett


1 2 1 2

Gauss-fle alappontokat vlasztjuk:

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.

Tekintsk a kvetkez, szintn ktlpcss mdszert:

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

eset is lehetsges. (Ennek oka nyilvn az, hogy az implicit

Runge-Kutta tpus mdszernl tbb szabadon megvlaszthat paramter ll a rendelkezsnkre.) Megmutathat, hogy adott lpcsszm esetn

p 2m.
tankonyvtar.bme.hu 249

9.

A kezdetirtk-feladatok numerikus mdszerei

9.4.13. megjegyzs.

Runge-Kutta tpus mdszereknek

Azokat a mdszereket, amelyekre

p = 2m, maximlis pontossg implicit

nevezzk. Ezrt az implicit Euler-mdszer, az implicit kzp-

ponti szably s a (9.4.47) Gauss-alappontos mdszer egyarnt maximlis pontossg.

9.4.4. Az egylpses mdszerek egy tesztfeladaton


Az eddigiekben tbb numerikus mdszert ismertettnk, amelyek a pontossgukban (rendjkben) illetve a megolds kiszmtsnak mdjban (explicit/implicit) klnbztek egymstl. Ebben a rszben egy modellfeladatra alkalmazva a mdszereinket jabb tulajdonsgokat llaptunk meg. Tekintsk a

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.

h 0.1 0.01 0.001 0.0001 0.00001

= 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

9.4.2. tblzat. A klnbz

rtkekkel kitztt tesztfeladat numerikus megoldsnak hibja a

t=1

pontban.

Figyeljk meg, hogy kedik (azaz mindegyik

= 9

mellett mindkt mdszer az elmletnek megfelel mdon visel-

rtk mellett a hiba elsrend). Ugyanakkor a

esetekben ez mr nem gy van: a kezdeti kzelti a megoldst, az implicit

= 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

felttel mellett alkalmazhat. Ez utbbi viszont problmt jelent: ha a negatv

rtkt tovbb cskkentjk, akkor mr csak olyan kis

h0

rtkek mellett mkdik az explicit

Euler-mdszer, amelynl 1.

h0

kzel van a legkisebb brzolhat pozitv szmhoz, ezrt a szmtgpes realizls eleve

nem lehetsges, 2. ha

h0

nagyobb ugyan a legkisebb brzolhat pozitv szmnl, de mg mindig nagyon ki-

csi, akkor egy rgztett lps (nt

idrtegen val

ynt

kzelts meghatrozshoz rendkvl sok

t /h0 )

vgrehajtsa szksges. Ez egyrszt a szmtsok idejnek megnve-

kedst, msrszt pedig a szmtsok sorn fellp hibk felhalmozdsnak a lehetsgt eredmnyezi. 250 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.4.

A RungeKutta tpus mdszerek

A jelensg oka a kvetkez. A (9.4.49) tesztfeladat megoldsa az explicit Euler-mdszerrel az

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)

ezrt az alkalmazott mdszert az jellemzi, hogy (a milyen jl kzelti az

z = h jells bevezetsvel) az R(z) fggvny

exp(z)

fggvnyt.

9.4.14. megjegyzs.
sszefggsek alapjn

Vegyk szre, hogy az

exp(z) R(z)

eltrs a numerikus mdszer kp-

lethibjt jellemzi a tesztfeladaton! Ugyanis a kplethiba (9.3.73) dencija, a (9.4.50) s a (9.4.51)

gi (h) = u(ti+1 ) R(h)u(ti ) = (exp(h) R(h))u(ti ).


Mivel az rendjvel, azaz

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

esetn a pontos megolds monoton cskken, s korltos.

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

melletti viselkedst jellemzi, azaz csak azt garantlja, hogy

elegenden kis h esetn

a numeri-

kus megolds kzel kerl a pontos megoldshoz. Ugyanakkor nem ad informcit a megoldsrl tankonyvtar.bme.hu 251

9.

A kezdetirtk-feladatok numerikus mdszerei

valamely

rgztett rcshln.

Ezrt kiemelkeden fontosak azok az

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

komplex szmok halmazt, amelyekre az

|R(z)| 1
felttel teljesl, a

(9.4.55)

egy numerikus mdszer

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, )

intervallumon val korltossgot ellenrizzk.) Az A-stabilits teht azt

jelenti, hogy minden olyan

z = a + ib

komplex szmra, amelyre

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

halmazon sem igaz.)

9.4.16. megjegyzs.

Tekintsk a CrankNicolson-mdszert, amely felrhat

yi+1 = RCN (h)yi =

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

Ugyanakkor a tesztfeladaton tetszleges

de emellett oszcilllnak is, ami ellentmond a pontos megolds szigorn monoton cskkensnek.

9.5. A tbblpses mdszerek


Az eddigiekben az egylpses mdszereket vizsgltuk, vagyis az olyan numerikus mdszereket, amelyekkel a megoldsfggvny valamely rcshlpontbeli kzeltst az ezen pontot megelz rcshlpontbeli kzeltsnek segtsgvel hatrozzuk meg. A tovbbiakban ezt ltalnostjuk: egy adott pontbeli kzeltst meg. Az ilyen mdszereket a tbblpses mdszerek

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

252 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.5.

A tbblpses mdszerek

9.5.1. plda.

Nyilvn

u(ti1 ) =u(ti ) hu (ti ) +

h2 u (ti ) + O(h3 ), 2 4h2 u(ti2 ) =u(ti ) 2hu (ti ) + u (ti ) + O(h3 ). 2

(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

1 2 4 yi yi1 + yi2 = hfi , i = 2, 3, ... 3 3 3


tens.

(9.5.2)

mdszer. Lthatan a (9.5.2) egy ktlpses implicit mdszer, amely msodrendben konzisz-

9.5.2. plda.
vnyt a

Elszr fejtsk Taylor-sorba a megoldsfggvnyt, majd annak derivltfggpont krl. Ekkor

ti1

h2 u (ti1 ) + O(h3 ), 2 u (ti2 ) =u (ti1 ) hu (ti1 ) + O(h2 ). u(ti ) =u(ti1 ) + hu (ti1 ) +


Mivel a msodik sszefggsbl az els egyenletbe az

(9.5.3)

hu (ti1 ) = u (ti1 ) u (ti2 ) + O(h2 ), h [3u (ti1 ) u (ti2 )] + O(h3 ) 2

ezt behelyettestve

u(ti ) = u(ti1 ) +
sszefggst nyerjk. Ez alapjn

yi yi1 = h

3 1 fi1 fi2 , i = 2, 3, ... 2 2

(9.5.4)

egy ktlpses explicit mdszer, amely msodrendben konzisztens.

9.5.1. A lineris tbblpses mdszer ltalnos alakja s rendje


A fenti pldink alapjn az

m-lpses

mdszerek ltalnos alakban igy denilhatk.

9.5.3. denci.
Az adott

a0 , a1 , . . . , am

b0 , b1 , . . . , bm

egytthatk melletti (9.5.5)

a0 yi + a1 yi1 + + am yim = h[b0 fi + b1 fi1 + . . . + bm fim ], i = m, m + 1, . . . ,


itercit

lineris, m-lpses mdszernek

nevezzk.

tankonyvtar.bme.hu 253

9.

A kezdetirtk-feladatok numerikus mdszerei

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)

paramter kzl egyet elre rgztennk szksges. Ez, konvenci szerint, az

a0

paramter, s a tovbbiakban mindig feltesszk, hogy

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

[ak u(tik ) hbk f (tik , u(tik ))].


ezrt

(9.5.7)

u (tik ) = f (tik , u(tik )),


m

gi (h) =
k=0
Fejtsk a

[ak u(tik ) hbk u (tik )].

(9.5.8)

t = ti

pont krl Taylor-sorba

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

u(tik ) = u(ti kh) = u(ti ) khu (ti ) +

u (tik ) = u (ti kh) = u (ti ) khu (ti ) + . . . + (1)p1

Ezt behelyettestve a (9.5.8) sszefggsbe, a loklis approximcis hibra a

gi (h) = d0 u(ti ) + hd1 u (ti ) + h2 d2 u (ti ) + . . . + hp dp up (ti ) + O(hp+1 )


kifejezst kapjuk, ahol

(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)!

254 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.5.

A tbblpses mdszerek

Egy lineris tbblpses mdszer pontosan akkor teljeslnek a

p-ed

rend, amikor

gi (h) = O(hp+1 ),

azaz

d0 = d1 = . . . = dp = 0

felttelek. Ez a (9.5.10) alapjn a kvetkezt jelenti.

9.5.4. ttel.
A (9.5.5) lineris tbblpses mdszer teljeslnek az albbi felttelek:

p-ed
m

rend, ha a mdszert denil paramterekre

a0 = 1,
k=0

ak = 0
(9.5.11)

1 j

k ak +
k=0 k=0

j1

bk = 0, j = 1, 2, . . . , p.

Ezek alapjn kzvetlenl megfogalmazhat a konzisztencia felttele is.

9.5.5. kvetkezmny.

A (9.5.5) lineris tbblpses mdszer pontosan akkor konzisztens, ami-

kor a mdszert denil paramterekre teljeslnek az

a0 = 1,
m k=0 m

ak = 0
(9.5.12)

kak +
k=0
felttelek.

bk = 0
k=0

9.5.6. megjegyzs.
amikor

A (9.5.12) felttel kirva a kvetkezt jelenti: a mdszer akkor konzisztens,

1 + a1 + . . . + am = 0 (a1 + 2a2 + . . . + mam ) + (b0 + b1 + . . . + bm ) = 0.


Tovbb

(9.5.13)

p2

rendben pontos, ha (9.5.13) mellett teljeslnek az

1 j

k j ak +
k=1 k=1

k j1 bk = 0, j = 2, 3, . . . , p

(9.5.14)

felttelek. Ez pldul azt jelenti, hogy egy mellett az

m-lpses mdszer msodrendsghez a konzisztencia


m

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

b0 , b1 , . . . , bm ) vlaszthat meg. Ugyanakkor ezeknek p + 1 felttelt kell teljestenik. gy p 2m. Ha

a a

mdszer explicit, azaz

b0 = 0 ,

akkor eggyel kevesebb a szabadon megvlaszthat paramterek

szma. sszefoglalan, rvnyes a kvetkez llts.

tankonyvtar.bme.hu 255

9.

A kezdetirtk-feladatok numerikus mdszerei

9.5.7. ttel.
Egy

m-lpses

implicit lineris tbblpses mdszer maximlis rendje

2m,

az explicit lineris

tbblpses mdszer pedig

2m 1. a0 = 1

9.5.8. megjegyzs.

A lineris tbblpses mdszer egyrtelmsgt biztost

felttel

helyett megadhat ms felttel is. Gyakori a

bk = 1
k=0
felttel megadsa. Ez azt biztostja, hogy (9.5.5)

(9.5.16)

a0 yi + a1 yi1 + + am yim = b0 fi + b1 fi1 + . . . + bm fim h


alakjban a jobb oldalon szerepl kifejezs brmely konstans rtk felttele

fggvnyt pontosan app-

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

rendsg felttele a (9.5.14) alakbl jl lthatan a

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

2m + 2 ismeretlennk van, s p + 2 felttelt tztnk p = 2m maximlis rend elrshez az egytthatkat


ismeretlenekre a

az albbi mdon hatrozhatjuk meg. 1. Megoldjuk az

a1 , a2 , . . . , am

b1 , b2 , . . . , bm

2m a0

szm egyenletetbl ll

(9.5.18)(9.5.19) rendszert.

Ezutn a (9.5.16) s a (9.5.17) felttelekbl meghatrozzuk az

b0

egytthatkat az

a0 =
k=1
sszefggsekbl.

ak = 1,

b0 = 1
k=1

bk

(9.5.20)

A lineris tbblpses mdszerek vizsglatnl hasznos a kvetkez kt polinom bevezetse:

() =
k=0 m

ak mk

(9.5.21)

() =
k=0

bk mk .

(9.5.22)

256 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.5.

A tbblpses mdszerek

9.5.9. denci.
A (9.5.21) s (9.5.22) mdon denilt

()

()

legfeljebb

m-ed

fok polinomokat a (9.5.5)

m-lpses
vezzk.

lineris tbblpses mdszer els illetve msodik karakterisztikus polinomjnak ne-

A (9.5.12) felttelbl - nmi szmols utn - addik a kvetkez [1, 34].

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)

9.5.2. A kezdeti rtkek megvlasztsa s a mdszer konvergencija


Lttuk, hogy egy a rcshl els kezdeti

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

= 1 gyke a () karakterisztikus polinomnak. A

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

kielgti a gykkritriumot, ha a () = 0 |k | 1, s a |k | = 1 tulajdonsg

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.

A kezdetirtk-feladatok numerikus mdszerei

9.5.13. megjegyzs.
Tekintsk az

A gykkritrium teljeslsnek szksgessgt mutatja a kvetkez plda.

yi + 4yi1 5yi2 = h(4fi1 + 2fi2 )


konzisztenciarendje

(9.5.24)

ktlpses explicit mdszert. Knnyen ellenrizheten ez a mdszer maximlisan pontos, azaz

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:

y2 = 4y1 = 4, y3 = 4y2 + 5y1 = 21, y4 = 4y3 + 5y2 = 104,


stb. (9.5.25)

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

az egyetlen egy abszolt rtk gyke.

Pldul az albbi n. Milne-mdszerre

yi yi2 =
a gykk

h (fi + 4fi1 + fi2 ) 3

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

lineris tbblpses mdszer legfeljebb

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.

Ezek a lineris tbblpses mdszerek alkalmazhatsgra nzve komoly korltot jelentenek .

9.5.3. Adams-tpus mdszerek


A lineris tbblpses mdszerek kztt kiemelked szerepet jtszanak azok, amelyekre a (9.5.5) kpletben

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 )

(Pldul a (9.5.4) mdszer egy Adams-mdszer.) Az Adams-tpus mdszereknl megvrtkei szolglnak.

laszthat paramterknt a

9.5.16. megjegyzs. Mint az ismeretes, a (9.2.6) kezdetirtk-feladat u(t) megoldsra rvnyes


a (9.3.3) azonossg a

[0, T ] intervallumon. gy ezt integrlva a [ti , ti+1 ] intervallumon a mr ismert


ti+1

u(ti+1 ) u(ti ) =
ti
(i

f (t, u(t)) dt,

t [0, T ]

(9.5.27)

= 0, 1, . . . , N 1 tetszleges) egyenlsget nyerjk. A 9.3.2. szakaszban a jobb oldal numerikus

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

megvlaszts Adams-mdszer kztt: mg az

els esetben a mdszer explicit, addig a msodik esetben implicit.

9.5.17. denci.
A

b0 = 0

megvlaszts Adams-mdszereket

laszts melletti Adams-mdszereket pedig

AdamsBashforth-mdszernek, a b0 = 0 AdamsMoulton-mdszernek nevezzk.

megv-

Az Adams-tpus mdszerek konzisztencijnak illetve meghatrozhat a (9.5.13) s a (9.5.14) felttelekbl.

p-ed rendsgnek felttele kzvetlenl

9.5.18. ttel.
Egy Adams-tpus mdszer pontosan akkor konzisztens, amikor

b0 + b1 + . . . + bm = 0.
Tovbb a mdszer

(9.5.28)

p2

rendben pontos, ha (9.5.28) mellett teljeslnek a

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.

A kezdetirtk-feladatok numerikus mdszerei

Az

m-lpses

Adams-tpus mdszerek maximlis rendje is knnyen meghatrozhat: az

AdamsMoulton-mdszer

p = m + 1,

az AdamsBashforth-mdszer pedig

p = m.

Egy tet-

szleges Adams-mdszer els karakterisztikus polinomja

() = 1.
Ennek egyetlen gyke a

(9.5.30)

= 1,

ezrt ezekre a mdszerekre mindig teljesl a gykkritrium, s

emellett a mdszerek ersen stabilak is. Ezrt rvnyes a kvetkez llts.

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

egytthatit. (A knnyebb ttekinthetsg kedvrt nem trtknt rjuk

fel ezeket, s a harmadik oszlopban jelezzk, hogy

bk 3

hnyszorosa szerepel a tblzatban.)

p 1 2 3 4 5 6

m 1 2 3 4 5 6

bk bk 2bk 12bk 24bk 720bk 1440bk

1 1 3 23 55 1901 4277

2 1 16 59 2774 7923

5 37 2616 9982 9 1274 7298 251 2877 475 bk


egytthati.

9.5.1. tblzat. A maximlis rend AdamsBashforth-mdszerek

A tblzatban, az elmletnknek megfelelen, jelenti. Az

p = m.

Az

m=1

az explicit Euler-mdszert

m=2

vlaszts esetn a mr ismert (9.5.4) mdszert kapjuk. Az AdamsBashforth-

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)

kzep, egysgnyi sugar kr a

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 )

gy nem maximlis rend. A tblzat msodik mdszere (m

= 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.

Az AdamsBashforth-mdszer s az AdamsMoulton-mdszer gyakran

egyttesen, egymssal kombinlva kerlnek felhasznlsra a kvetkez mdon. Elszr egy Adams Bashforth-mdszerrel kiszmolt

yi

rtkkel "megjsoljuk" a ti idrtegen a kzelt rtket, majd

260 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.5.

A tbblpses mdszerek

p 1 2 3 4 5 6

m 1 1 2 4 5 6

bk bk 2bk 12bk 24bk 720bk 1440bk

0 1 1 5 9 251 475

1 1 8 19 646 1427

1 5 264 798 1 106 482 19 173 27 bk


egytthati.

9.5.2. tblzat. A maximlis rend AdamsMoulton-mdszerek

az AdamsMoulton-mdszerrel "javtjuk" a numerikus megoldst a kvetkez mdon: a jobb oldalon szerepl

b0 f i

tagba

fi

helyett

fi = f (ti , yi )

rtkt rakjuk. Az gy nyert mdszert "jsl-

javt" (angolul: "predictor-corrector", PC) mdszernek nevezzk, de szoksos az sszefoglal

Adams-Bashforth-Moulton-mdszer
explicit.

elnevezs is. Lnyeges tulajdonsga, hogy ez a mdszer mr

http://math.fullerton.edu/mathews/n2003/AdamsBashforthMod.html
linken, s konkrt formulkkal animcin is meggyelhetjk a mdszer viselkedst az dierencilegyenleten.

A PC mdszer nhny elmleti rszlete megtallhat a

u = 1t 3 u

9.5.4. Retrogrd dierencia mdszerek


A lineris tbblpses mdszerek kztt, az Adams-tpus mdszerek mellett fontosak azok az implicit mdszerek, amelyekre a (9.5.5) kpletben

b0 = 0, b1 = b2 = . . . = bm = 0.

(9.5.31)

Az ilyen mdszereket annak rendjt az dierencia

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.

A kezdetirtk-feladatok numerikus mdszerei

9.5.21. ttel.
Az

m-lpses yi + a1 yi1 + + am yim = hb0 fi , i = m, m + 1, . . . ,


(9.5.32)

alak retrogrd dierencia mdszer pontosan akkor konzisztens, amikor

a1 + . . . + am = 1 a1 + 2a2 + . . . + mam = b0 .
Tovbb

(9.5.33)

p2

rendben pontos, ha (9.5.33) mellett teljeslnek a

k j ak = 0, j = 2, 3, . . . , p
k=1
felttelek.

(9.5.34)

Ez azt jelenti, hogy

Teht a retrogrd dierencia mdszer maximlis rendje

p+1 szm felttelnk van az m+1 darab b0 , a1 , a2 , . . . , am ismeretlenekre. p = m. A kvetkez 9.5.3. tblzatban

megadjuk az els hat maximlis rend retrogrd dierencia mdszer egytthatit.

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

a1 1 4 3 18 11 48 25 300 137 360 147

a2
1 3 9 11 36 25 300 137 450 147

a3

a4

a5

a6

2 11

16 25
200 137 400 147

3 25 75 137 225 147

12 137 72 147 10 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

0-stabilitssal) sem rendelkeznek, ezrt a hatodrendnl magasabb mdszereket nem alkalmazzk.

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.

A lineris s a merev rendszerek numerikus megoldsa

9.6. A lineris s a merev rendszerek numerikus megoldsa


Eddig skalris egyenletek megoldsval foglalkoztunk. Most tekintsk a

du = Au(t), t (0, T ], dt u(0) = u0


feladatot, ahol

(9.6.1)

A Rmm

adott mtrix,

fggvny. A (9.6.1) feladatot egy

tnak
olyan

lineris kznsges dierencilegyenletrendszer Cauchyfelada-

u 0 Rm

adott vektor, s

u : [0, T ] Rm

az ismeretlen

nevezzk. Az egyszersg kedvrt tegyk fel, hogy

regulris mtrix, amellyel


20

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

alakra. Vegyk szre, hogy (9.6.2) egy olyan darab

m-ismeretlenes

rendszer, amely valjban sztesik

wk = k wk ,

wk (0) = adott, k = 1, 2, . . . , m

(9.6.3)

skalris feladatra,
k

amelyet a korbbiakban (v.. (9.4.49) ) mr vizsgltunk. Kvetkezskppen a

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.

Nem foglalkozunk kln a magasabb rend kznsges dierencilegyenle-

tekkel, mert azok az n.

tviteli elv

segtsgvel trhatk elsrend rendszerr. Pldul, az (9.6.6)

y (m) + a1 y (m1) + a2 y (m2) + . . . + am1 y + am y = 0 m-ed


rend, lineris, homogn, kznsges dierencilegyenletet az

y(0) = c1 , y (0) = c2 , . . . , y (m1) (0) = cm


20 Emlkeztetnk r (lsd az els szakaszt), hogy hasonlsgi transzformcival diagonlis alakra hozhat mtrixokat egyszer struktrj mtrixoknak is szoksos nevezni. Megjegyezzk, hogy egy mtrix pontosan akkor diagonalizlhat, ha ltezik m darab linerisan fggetlen sajtvektora. A denciban szerepl S hasonlsgi mtrix vlaszthat ezen sajtvektorokbl mint oszlopvektorokbl sszelltott mtrixknt.
tankonyvtar.bme.hu 263

9.

A kezdetirtk-feladatok numerikus mdszerei

kezdeti felttelekkel a kvetkez mdon lehet trni egy zessk be az

m-ismeretlenes

lineris rendszerr. Ve-

u1 , u2 , . . . , um

j ismeretlen fggvnyeket:

u1 (t) = y(t) u2 (t) = y (t) = u1 (t) u3 (t) = y (t) = u2 (t)


. . . (9.6.7)

um (t) = y m1 (t) = um1 (t).


Derivlva az utols egyenletet, s felhasznlva az egyenletnket, a bevezetett j fggvnyekkel ekkor az

um (t) = y m (t) = a1 um a2 um1 . . . am u1


egyenletet kapjuk. Felhasznlva a (9.6.7) egyenleteket s a (9.6.8) sszefggst, az

(9.6.8)

Rm ui (t)

u(t) : [0, T ]

komponens ismeretlen fggvnyre az

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

adott mtrix. A megfelel kezdeti felttel vektor.

u(0) = c, ahol c Rm c1 , c2 , . . . cm

Trjnk t a merev rendszerekre! Tekintsk pldaknt az rend dierencilegyenletet az rendszerre

y + ( + 1)y + y = 0

msod-

y(0) = 1

y (0) = 2 0 1 ( + 1)

kezdeti felttelekkel! Ekkor a megfelel

A=
a kezdeti vektor pedig

c = [1, 2]. Az A mtrix karakterisztikus egyenlete


det(

A I) = 2 + ( + 1) + = 0.

Ezrt az

A mtrix sajtrtkei 1 = 1 s 2 = . A pontos megolds teht


u1 (t) = 2 exp(t) exp(t) u2 (t) = 2 exp(t) + exp(t).
(9.6.9)

Ha az explicit Euler-mdszert alkalmazzuk a feladat megoldsra, akkor a lpskz megvlasztsra

esetn a

h < 2/

felttelt kapjuk. Tegyk fel, hogy fggvnyek mr nagyon kis

>> 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

szerepet a megoldsban, s a pontos megolds gyakorlatilag az

u1 (t)

feladatokat az albbi mdon szoksos denilni.

21 Gyakran a magyar terminolgia is az angol "sti" kifejezst hasznlja.


264 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.6.

A lineris s a merev rendszerek numerikus megoldsa

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.

sajtrtkei rendelkeznek az albbi tulajdonsgokkal.

Rek < 0

minden

k = 1, 2, . . . , m

esetn. (Azaz a feladat Ljapunov-rtelemben aszimp-

totikusan stabil.) 2. Az

S=
mdon denllt

maxk |Rek | mink |Rek | S >> 1.

(9.6.10)

merevsgi mutat nagy, azaz

A merev rendszerek esetn teht a pontos megolds gyorsan s lassan lecseng komponensekbl addik ssze, s egy (ltalban kis)

t = t0

idpont utn a megoldst szinte teljesen csak a

lassan vltoz komponensek hatrozzk meg. Az ilyen feladatok numerikus kezelsre az explicit mdszerek ltalban nem alkalmasak, s tipikusan az

A-stabil

mdszerek hasznlata javasolt. A

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.

Igazbl nincs egysges s pontos denici a merev rendszerekre. Ez a foga-

lom valjban azt fejezi ki, az eredeti folytonos feladat nagyfok stabilitssal rendelkezik. Pldul az elz msodrend feladatban

rtktl (mint bemen adattl) gyakorlatilag nem fgg a

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

u = ku, t > 0; u(0) = u0


feladatot, ahol

adott lland, akkor ennek megoldsa

gyakoraltilak mr kis nagy rszn az

t0

esetn a

(0, t0

intervallumon

hat pozitv szmhoz, s ezutn minden

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

ketzedeti llapottl fggetlenl viselkedik. Erre a feladatra mr viszonylag kis

esetn is az explicit Euler-mdszer rosszul viselkedik. Pldul,

h = 1/4

lpskz numerikus megolds kin a vgtelenbe; a

h = 1/8

megvlaszts mdszer ugyan kor-

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

linket, de sajt program ksztsvel nll-

an is ellenrizhet a numerikus megoldsok fenti viselkedse. (Lsd a kvetkez 9.7. szakaszt.)

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

A mtrix szerept a rendszer Jacobi-mtrixa jtsza.

tankonyvtar.bme.hu 265

9.

A kezdetirtk-feladatok numerikus mdszerei

9.7. A kezdetirtk-feladatok numerikus megoldsa MATLAB segtsgvel


A Matlab segtsgvel viszonylag egyszeren realizlhatk a numerikus eljrsaink. A MATLAB programrendszer rendelkezik sajt, mr elksztett s beptett programmal, de az egyszerbbek nll elksztse sem nehz. Pldul az explicit Euler-mdszer megrsa egy m-fjlban s a tovbbiakban nll fggvnyknt val hasznlata igen egyszer. Tekintsk azokat a lpseket, amelyek ennek megvalstshoz szksgesek.

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

paramter t0, ez a kezdeti idpontot jelli, a harmadik a t0 pontbeli y0 kezdeti rtket

h,

amely az idintervallum diszkretizcis lpstvolsgt

jelenti, majd vgl N jelli a megtett idlpsek szmt. A msodik s harmadik sorban

vektorokat, amikben az rtkeket elszr lenullzzuk, s a kvetkez kt

sorban belltjuk a kezdrtkeket. Utna kvetkezik lnyegben a mdszer algoritmusa: egy ciklus keretben elszr belltjuk a vgl az

ti

rtkeket, majd kiszmoljuk a meredeksget,

yi

rtkeket az explicit Euler-mdszer kpletnek megfelelen.

A fenti programmal mg nem tudjuk kzvetlenl az adott dierencilegyenlet numerikus megoldst ellltani, ehhez szksgnk van az megadsra. Ha az

fggvnyt megad "diegy" alfggvny

u (t) = u(t) + t + 1,
ahol

t [0, 1]

u(0) = 1

feladat

22

megoldst szeretnnk ellltani, akkor a diegy nev

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.

A kezdetirtk-feladatok numerikus megoldsa MATLAB segtsgvel

alfggvny elksztshez nyissunk egy j m-fjlt, amibe rjuk a kvetkezket:

function dydt = diffegy(t,y) dydt = -y + t + 1;

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.)

zeltsek idbeli helyt s rtkt tartalmazzk. Ha ki is szeretnnk rajzoltatni, akkor a

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.

h = 0.1, h = 0.01 s h = 0.001 h cskkensvel a numerikus megolds grakonja

9.7.1. bra. A

h = 0.1

lpskz explicit Euler-mdszer

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.

A kezdetirtk-feladatok numerikus mdszerei

9.7.2. bra. A

h = 0.01

lpskz explicit Euler-mdszer

9.7.3. bra. A

h = 0.001

lpskz explicit Euler-mdszer

x(t)

egy nylpopulci mrett a

idpontban, mg

hogy ismerjk a populcik kezdeti mrett, azaz az

y(t) egy rkapopulci mrett! Feltesszk, x(0) s y(0) rtkeket. Ekkor a matematikai

modellnk felrhat a kvetkez dierencilegyenlet-rendszer segtsgvel:

x (t) = ax(t) bx(t)y(t)


268 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.7.

A kezdetirtk-feladatok numerikus megoldsa MATLAB segtsgvel

y (t) = cx(t)y(t) dy(t),


ahol

a nylak nvekedsi rtja,

a rkapopulci hallozsi arnya. Mikor egy rka s egy

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

x(0) = 1, y(0) = 0.1.

Ksztsk el az albbi m-fjlt.

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)')

function U=f(x,y) U=x-2*x.*x-x.*y; function V=g(x,y) V=-2*y+6*x.*y;

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.

A kezdetirtk-feladatok numerikus mdszerei

9.7.4. bra. A Lotka-Volterra-modell megoldsa explicit Euler-mdszerrel

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

A mdszer lnyege, hogy kiszmol egy negyed- s egy tdrend Runge-

Kutta-mdszert, s gy vlaszt lpskzt, hogy a hiba a negyedrend mdszer hibja legyen. A kvetkez tblzatban lthatjuk a mdszer Butcher-tbljt. Az els

sor a negyedrend md-

szer, a msodik pedig az tdrend mdszer slyfggvnye. Az ode45 rutint ugyanolyan mdon

[T1, Y45] = ode45(@diffegy,[kezdid, vgid]). Itt is kt kimen paramter van, az id s a kzelt


hvjuk meg, mint a korbban lert, sajt magunk ltal rt programokat. Nevezetesen, vektor.

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.

Megjegyezzk, hogy megadhat egy negyedik (opcionlis) paramter is,

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.

270 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

9.7.

A kezdetirtk-feladatok numerikus megoldsa MATLAB segtsgvel

Ezrt teht ezen rcshl

lpskznek cskkentse nmagban nem eredmnyezi a mdszer

pontossgnak cskkenst. Ugyanakkor a gyakorlatban elegend az alapbellts, s ezrt az alaprtelmezst csak indokolt esetekben clszer megvltoztatni. Ezt az

odeset

rutinnal hajt-

hatjuk vgre, amelynek rszletei a MATLAB help lersban megtallhatk.

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

5179 57600 35 384

7571 16695 500 1113

393 640 125 192

92097 339200 2187 6784

187 2100 11 84

1 40

9.7.1. tblzat. A begyazott Dormand-Prince RK-mdszer paramterei az ode45 rutinban.

Alkalmazzuk ode45 mdszert a szoksos tesztfeladatunkon, majd rassuk ki eredmnyeinket a

h = 0.1

lpstvolsg rcshl pontjaiban. Eredmnyeinket a 9.7.2. tblzat tartalmazza.

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

9.7.2. tblzat. Az ode45 eredmnyei a

lpskz rcshl pontjaiban.

tankonyvtar.bme.hu 271

9.

A kezdetirtk-feladatok numerikus mdszerei

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

9.7.3. tblzat. A begyazott Bogacki-Shampine RK-mdszer paramterei az ode23 rutinban

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

9.7.4. tblzat. Az ode23 eredmnyei a

meghvsa az ode45 mdszerrel megegyezen a

vgid])

[T1, Y23] = ode23(@diffegy, [kezdid,

utasts. A 9.7.3. tblzat tartalmazza a mdszer Butcher-tbljt.

Ez egy explicit

(2, 3)-tpus

Runge-Kutta-mdszer. Igazbl akkor hatkony, amikor olcsn sze-

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

lpstvolsg rcshl pontjaiban. Eredmnyeinket

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.

272 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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.

9.7.5. tblzat. Az ode113 eredmnyei a

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.

A kezdetirtk-feladatok numerikus mdszerei

9.8.1. feladat. Legyen

folytomos a

H = {(t, u), t [3, 3], u [4, 4]}

halmazon, tovbb

|f (t, u)| 7

halmazon Melyik az a legnagyobb intervallum, amelyen az

u = f (t, u) u(0) = u0
feladatnak biztosan ltezik megoldsa? 9.8.2. feladat. Vizsgljuk meg, hogy az

u = 0.5 sin u + t; u(0) = 0


feladatnak ltezik-e megoldsa. 9.8.3. feladat. Mutassuk meg, hogy az

u = teu , u(0) = 0
egyenletnek t0

0 s u0 = 0 esetn mindig ltezik egyrtelm megoldsa. lltsuk el a megoldst!

9.8.4. feladat. Tekintsk az

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

rtkre ltezik a megoldsa! Magyarzzuk

u = eu + t2 , u(0) = 0
feladatnak ltezik egyetlen megoldsa a

t [0, 0.351]

intervallumon!

9.8.7. feladat. Bizonytsuk be, hogy ha az

u = f (t, u) u(0) = u0
feladatban

folytonos s korltos a

H = {(t, u), t [a, b], u R}

halmazon, akkor a feladatnak

ltezik megoldsa a

t [a, b]

intervallumon!

Egylpses numerikus mdszerek

9.8.8. feladat. Mutassuk meg, hogy az

u(t) = t2 /4 fggvny u = u, u(0) = 0

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

[0, 2] intervallumon. A negyedrend Taylor-sorba fejtses numerikus md2 =


t 0

szerrel hatrozzuk meg az integrl kzelt rtkt! (Az


2

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

http://en.wikipedia.org/wiki/Error_function u(2) 0.8820813907 addik.)


feladatot a

linket.) Innen a "pontos"

9.8.11. feladat. Oldjuk meg analitikusan, majd az explicit Euler-mdszerrel az

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

pontokban! Figyeljk meg a konvergenciarendet!

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

0.10, 0.05, 0.01

lpstvolsgokkal. Vizsgljuk meg a konvergencit a

Figyeljk meg a konvergenciarendet

-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

h = 0.10, 0.05, 0.01,

0.001

lpstvolsgokkal a

hogy a pontos megolds

t = 1 pontban! Figyeljk meg a 2 az u(t) = ln(1 + t + /2) fggvny!)

konvergenciarendet! (Ellenrizzk,

9.8.15. feladat. Alkalmazzuk a negyedrend RK-mdszert az meg, hogy ekkor az

u = u tesztfeladatra! Mutassuk

yh (t)

numerikus megoldst jelent rcsfggvnyre az

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

9.8.16. feladat. A MATLAB program segtsgvel oldjuk meg a negyedrend RK-mdszerrel az

u = etu + cos(u t), u(1) = 3


feladatot! Hasznljuk a

h = 0.01

lpskzt s lltsuk le a szmtst a tlcsorduls eltt. tankonyvtar.bme.hu 275

9.

A kezdetirtk-feladatok numerikus mdszerei

9.8.17. feladat. Egy lfegyverbl felfel lvnk. A goly

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.

Valamelyik numerikus mdszerrel hatrozzuk meg, hogy mennyi id mlva

ri el a goly plyja legmagasabb pontjt! 9.8.18. feladat. Tekintsk az

A Rnn

egy adott kvadratikus mtrix s

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!

Tbblpses numerikus mdszerek

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!

h (9fn+1 + 19fn 5fn1 + fn2 ) 24

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

h (55fn 59fn1 + 37fn2 9fn3 ) 24

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

yn yn2 = h (fn 3fn1 + 4fn2 )

ktlpses mdszert! Vizs-

gljuk meg a konzisztencijt s a stabilitst! 9.8.25. feladat. Tekintsk az

yn 2yn1 +yn2 = h (fn fn1 ) ktlpses mdszert! Vizsgljuk

meg a mdszer konvergencijt!

276 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

tesztegyenletben mirt engedjk meg a

komplex rtkt is?

20. Milyen MATLAB programokat ismer a kezdetirtk-feladatok megoldsra? 21. Milyen alapon mkdnek a beptett MATLAB programok?

tankonyvtar.bme.hu 277

10. A kznsges dierencilegyenletek peremrtk-feladatainak numerikus mdszerei


Ebben a fejezetben a kznsges dierencilegyenletek peremrtk-feladatainak elmleti sszefoglalsa utn a feladatok numerikus megoldsi mdszereivel foglalkozunk. Ismertetjk a legtipikusabb mdszereket: a belvses mdszert s a vges dierencik mdszert. A mdszereket szmtgpes (MATLAB segtsgvel ksztett) programikkal illusztrljuk.

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)

idpontban val tulajdonsgai voltak. Pldul, az

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

adott szmok. Ugyanakkor gyakori eset, amikor a megoldst a

[0, T ]

korltos idintervallumon vizsgljuk, s a megoldst ismerjk ezen idintervallum mindkt

vgpontjban, vagyis a (10.1.1) feladat megoldsra az

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)

egy kiltt goly fldtl mrt magassgt,

x(t)

pedig a kilvsi

ponttl mrt vzszintes tvolsgt a

t0

idpontban. Feltesszk, hogy a goly mozgsra

csak a gravitci hat, aminek kvetkeztben

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

pontban rjen fldet!

Ekkor Newton msodik trvnye szerint a mozgst ler egyenletek

x(t) = 0 y (t) = g.

(10.1.4)

279

10.

A peremrtk-feladatok numerikus mdszerei

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)

Ekkor teht feltteleink alapjn az ismeretlen j fggvny az albbi tulajdonsgokkal ren-

Y (x) =

g , x (0, L) v2 Y (0) = 0, Y (L) = 0.

(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) =

sszefggsbl hatrozhatjuk meg.

Megjegyezzk, hogy a fenti pldban a

vltozrl

vltozra val ttrst azt motivlta,

hogy a (10.1.1)(10.1.3) peremrtk-feladat az j ismeretlen fggvnyre nzve valamely korltos

trbeli tartomnyon

lett kitzve.

10.1.2. denci.
Az

u = u(t) C [ a, b]-beli

ismeretlen fggvnyre kitztt

u =f (t, u, u ), t (a, b), u(a) = , u(b) =


feladatot

(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.

Peremrtkfeladatok megoldsa vges dierencikkal

10.2. Egy kznsges dierencilegyenlet peremrtk-feladatnak megoldsa vges dierencikkal


Ezen szakasz clja, hogy ltalnos bevezetst adjon a leggyakrabban hasznlt vges dierencis numerikus mdszerrl illetve annak htterrl. Ezt a szakaszt gy lltottuk ssze, hogy lnyegben fggetlen a kvetkez, mlyebb ismereteket nyjt 10.5. szakasztl. A knnyebb olvashatsg rdekben a ksbbi szakaszokban megismteljk azokat a fogalmakat, amelyeket ebben a szakaszban ismertetnk, teht a 10.3.-10.6. szakaszok akr ezen szakasz olvassa nlkl is megrthetk .
2

10.2.1. A vges dierencis sma felptse


Tekintsk a

u + cu = f, x (0, l), u(0) = , u(l) = c 0 lland, f

(10.2.1)

feladatot, ahol

egy adott folytonos fggvny. Mivel a feladat analitikus megold-

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

kpez fggvnyek vek-

tortert. 3. Clunk olyan

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

eltrsk nullhoz tart.

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

h rcshl ponjaiban! Ekkor

u (xi ) + cu(xi ) = f (xi ), xi h


egyenlsgeket kapjuk. Mint azt a numerikus derivlsnl mr megismertk, az derivltakat a

(10.2.2)

xi

pontbeli els

u (xi )

u(xi + h) u(xi ) u(xi ) u(xi h) , u (xi ) h h

(10.2.3)

mdon, a msodik derivltakat pedig a

u (xi )

u(xi + h) 2u(xi ) + u(xi h) h2

(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

yh (xi + h) 2yh (xi ) + yh (xi h) + cyh (xi ) = f (xi ), xi h . h2

(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.

A peremrtk-feladatok numerikus mdszerei

Mivel a perempontokban ismerjk a megoldst, ezrt nyilvnvalan

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:

wh (xi + h) 2wh (xi ) + wh (xi h) + cwh (xi ), (Lh wh )(xi ) = h2 w (x ),


h i
Legyen

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 )

rcsfggvnybe kpez le, azaz fel(10.2.9)

Lh yh = bh

opertoregyenlet

megoldsa. Vezessk be az

yh (xi ) = yi , f (xi ) = fi , bh (xi ) = bi


jellseket! Ezen jellsekkel a (10.2.5)-(10.2.6) feladat felrhat a kvetkez alakban:

yi+1 2yi + yi1 + cyi = fi , i = 1, 2, . . . , N 1, h2 y0 =, yN = .

(10.2.10)

Ez egy

N +1

ismeretlenes lineris algebrai egyenletrendszert jelent, amely felrhat

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

10.2.2. A vges dierencis sma megoldhatsga s tulajdonsgai


A tovbbiakban alapvet fontossg az

Lh

mtrix kvetkez tulajdonsga.

3 Az egyszerbb jells kedvrt a vektorokat vastagon, a flhzs elhagysval jelljk.


282 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.2.

Peremrtkfeladatok megoldsa vges dierencikkal

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 )

(10.2.13) ellenrizhet, hogy

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

(Lh gh )i = 2 + c(1 + ih(l ih)), i = 1, 2, . . . , N 1.


index esetn. sszefoglalan:

Ez azt jelenti, hogy az

(Lh gh )i 1 minden i = 0, 1, 2, . . . , N 1, N e = [1, 1, . . . , 1] RN +1 jellssel

gh e > 0,

Lh gh e > 0.

(10.2.14)

A (10.2.14) relci bebizonytja az lltsunkat.

10.2.2. kvetkezmny.
mdon.

Az

Lh

mtrix minden

h>0

mellett invertlhat,

L1 0, s az 1.2.40. h

ttel valamint (10.2.14) kvetkeztben inverznek maximumnormja fellrl becslhet az albbi

L1 h

mini (Lh gh )i

gh

maxi gh,i . 1

(10.2.15)

A szmtani-mrtani kzepek kztti sszefggs alapjn

ih(l ih)
s gy

ih + (l ih) 2

l2 , 4

gh,i 1 + l2 /4.

Ezrt (10.2.15) alapjn rvnyes az

L1 h
becsls.

K :=

l2 + 4 4

(10.2.16)

10.2.3. A vges dierencis mdszer konvergencija


Legyen teht pontban. Jellje

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)

4 Az egyszerbb jells kedvrt a koordintk indexelst nulltl indtjuk.


tankonyvtar.bme.hu 283

10.

A peremrtk-feladatok numerikus mdszerei

10.2.3. denci.
Az

nek
Ha

Lh

rcsopertorral meghatrozott numerikus mdszert

a maximumnormban konvergens(10.2.18)

nevezzk, ha

h0

lim eh

= 0.

eh = O(hp ) gensnek nevezzk.

valamely

p1

egsz szmmal, akkor a mdszert

p-ed rendben konver-

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-

stve a (10.2.10) smba a kvetkez egyenletrendszert nyerjk:

ei+1 2ei + ei1 + cei = h , i = 1, 2, . . . , N 1, i h2 e0 = 0, eN = 0, h = fi + i

(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)

Mint ismeretes, ekkor

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)

alakban, ahol vektor.

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

Ezzel belttuk az albbi lltst.

10.2.4. ttel.
Tegyk fel, hogy a (10.2.1) feladat

u(x)

megoldsa ngyszer folytonosan dierencilhat. Ek-

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.

A 10.2.4. ttel szerint a kzelts msodrendben konvergens, emellett

a (10.2.24) becslsben szerepl

O(h2 ) = const. h2

kifejezsben az lland rtke

M4 (l2 +4) . 48

284 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.2.

Peremrtkfeladatok megoldsa vges dierencikkal

A (10.2.21) sszefggs alapjn

h i

jelentse a kvetkez: megmutatja, hogy az

u(x)

pontos

megolds rcspontbeli rtkei milyen pontosan elgtik ki egy

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

Teht arra vagyunk kivncsiak, hogy a numerikus megolds a

[0, l]

intervallumon hogyan kzelti a (10.2.1) feladat

u(x)

megoldsfggvnyt. Ehhez megvizsgljuk,

h pontbeli approximcis tulajdonsgt a i koordintj

rcshl pontjai sszessgben hogyan viselkednek a

h i

rtkek. Ezrt a mdszer

vektorral jellemezzk.

10.2.6. denci.
Azt mondjuk, hogy a Ha numerikus

limh0 h

= 0.

mdszer konzisztens = O(hp ) (p 1), akkor

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

lineris opertorok (mtrixok) mindegyike invertlhat, s megadhat olyan

K > 0, h-tl
(10.2.25)

fggetlen lland, amelyre

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.

A peremrtk-feladatok numerikus mdszerei

Jellje

azt a

C 2 [0, l]-beli

fggvnyeken rtelmezett opertort, amely a kvetkez mdon hat:

2 d v (x) + c(x)v(x), dx2 (Lv) (x) = v(x),


tovbb

ha ha

x (0, l);
(10.2.26)

x {0; l},

f azt

[0, l]

intervallumon rtelmezett fggvnyt, amelyre

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)

adott folytonos fggvnyek,

adott szmok. Feladatunk az (10.2.28)

Lu = f
opertoregyenlet megoldsa Ehhez az egy

{h } [0, l]

rcshlsorozat mindegyik tagjn denilunk (10.2.29)

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

pont megvlasztstl, azaz univerzlis lland a teljes intervallumon.

A diszkrt feladat stabil, azaz rvnyes.

Lh

regulris s ltezik olyan

K 0 lland, amelyre (10.2.25) e h = Ph u y h

Megmutattuk, hogy ezen tulajdonsg mellett rvnyes a konvergencia, azaz

F( h ) hibafggvny eh = O(h2 ).

a maximumnormban nullhoz tart. Emellett a konvergencia msodrend:

10.3. A kznsges dierencilegyenletek peremrtk-feladatnak megoldhatsga


A tovbbiakban azt vizsgljuk meg, hogy a (10.1.7) peremrtk-feladatnak milyen felttelek mellett ltezik egyrtelm megoldsa. Emlkeztetnk, hogy az elz fejezetben ezt a krdst a kezdetirtk-feladatokra is megvizsgltuk, s megmutattuk, hogy a dierencilegyenlet jobb oldaln szerepl

fggvny megvlasztsa hatrozza meg a megoldhatsgot s annak egyr-

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

fggvny mellett bizonyos esetekben a peremfelttelek is kihatnak a

megolds ltezsre s annak egyrtelmsgre. 286 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.3.

A kznsges dierencilegyenletek peremrtk-feladatnak megoldhatsga

10.3.1. plda.

Legyen a (10.1.3) feladatban

f (t, u, u ) = u,

teht vizsgljuk az (10.3.1)

u = u
egyenletet. Mint ismeretes, (10.3.1) ltalnos megoldsa

C2

llandk. Ez utbbiak meghatrozsra szolglnak a (10.1.7) feladatban a

u(t) = C1 sin t + C2 cos t, ahol C1 s t = a s t = b

pontokban megadott peremfelttelek.

Legyen elszr megolds az Legyen most

a = 0, b = /2, = 3 s = 7. Knnyen lthatan ekkor az egyrtelm u(t) = 7 sin t + 3 cos t fggvny. a = 0, b = , = 3


s

= 7.

(Teht csak

rtkt vltoztattuk meg.)

Behelyettestve az ltalnos megoldsba lthatan nincs olyan mellett ez a peremfelttel teljesl.

C1 s C2 rtkpr, amely

Megjegyezzk, hogy van olyan plda is, amelyben ltezik ugyan a peremrtk-feladatnak megoldsa, de az nem egyrtelm. Pldul, az

u = exp(u + 1), t (0, 1), u(0) = 0, u(1) = 0


feladatnak megoldsa az

(10.3.2)

u(t) = 2 ln
fggvny , ahol
6

cosh[(t 0.5)/2] cosh(/4)

2e cos(/4)

egyenlet megoldsa. Mivel ez utbbi egyenletnek kt meg-

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

T := {(t, s1 , s2 ) : t [a, b], s1 , s2 R}

jellssel a (10.1.7) feladat

f : R3 R
1. 2. 3.

fggvnyre teljeslnek a kvetkezk:

f C(T ), 2 f, 3 f C(T ), 2 f > 0 T -n, M 0,


amelyre

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

lineris, azaz tekintsk az

u =f (t, u, u ) p(t)u + q(t)u + r(t), t [a, b], u(a) = , u(b) =

(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.

A peremrtk-feladatok numerikus mdszerei

feladatot, ahol

p, q, r C[a, b]

adott folytonos fggvnyek. Ha

q(t) > 0 [a, b]-n,

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:

u : [a, b] R2 , u(t) = (u1 (t), u2 (t))


Ekkor a feladatunk felrhat

u1 (t) = u(t)

u2 (t) = u (t).

u1 = u2 , u2 = f (t, u1 , u2 ), u1 (a) = , u1 (b) =


fggvnyre ismernk kiegszt feltteleket.

(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:

u = f(t, u), t [a, b]


2
adott fggvny. Ugyanis, ha a (10.3.5) feladatban

(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)

f fggvnyt, akkor ppen a (10.3.4) egyenletrendszert kapjuk.

10.3.1. A lineris peremrtk-feladat megoldhatsga


rjuk fel a (10.3.3) lineris peremrtk-feladatot elsrend rendszer alakjban! Knnyen lthatan az egyenlet

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)

A peremfelttelek felrshoz vezessk be a

Ba =

1 0

0 0

, Bb =

0 1

0 0

, v=

(10.3.9)

jellseket. Ekkor a (10.3.3) feladat peremfelttele

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

Y (t) = A(t)Y(t), t [a, b] Y(a) = I


288 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

(10.3.11)

10.3.

A kznsges dierencilegyenletek peremrtk-feladatnak megoldhatsga

Cauchy-feladat megoldsa, ahol ltalnos megoldsa

I Rmm

az egysgmtrixot jelli. Ekkor a (10.3.7) egyenlet

u(t) = Y(t) c +
a
ahol

Y1 (s)r(s)ds ,

(10.3.12)

c Rm

egy tetszleges vektor. Clunk

szerint denilt

u(t)

olyan megvlasztsa, amely mellett a (10.3.12)

fggvny kielgti a (10.3.10) peremfeltteleket. Behelyettestve a (10.3.12)

kpletet a (10.3.10) felttelbe, a

Ba u(a) + Bb u(b) = v = Ba Y(a)c + Bb Y(b) c +


a
felttelt kapjuk. Ebbl a

Y1 (s)r(s)ds

(10.3.13)

c vektorra rendezve s az Y(a) = I felttelt gyelembe vve a


b a

(Ba + Bb Y(b)) c = v Bb Y(b)


egyenletet nyerjk. Ezrt a

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)

feladatot kapjuk. Ezrt rvnyes az albbi llts.

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

mtrix regulris. Emellett a megolds (10.3.12) alak,

c = Q1 v Bb Y(b)
a

Y1 (s)r(s)ds .

(10.3.17)

10.3.5. plda.

Vizsljuk meg az

u = u, t (0, b) u(0) = , u(b) =


feladat megoldhatsgt! Mivel erre a feladatra

(10.3.18)

A(t) = A =
ezrt az alapmegoldsa az

0 1

1 0

(10.3.19)

Y(t) =
alak mtrix. Ezrt a mtrix

cos t sin t sin t cos t

(10.3.20)

Ba

Bb

mtrixok (10.3.9) dencija alapjn a (10.3.15) szerinti

Q=

1 0 cos b sin b

(10.3.21)

tankonyvtar.bme.hu 289

10.

A peremrtk-feladatok numerikus mdszerei

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) = Y (t)Q1 = A(t)Y(t)Q1 = A(t)(t).


Msrszt

Ba (a) + Bb (b) = [Ba Y(a) + Bb Y(b)] Q1 = I.


Ezrt a (10.3.7)(10.3.10) lineris peremrtk-feladat esetn (10.3.22) alapjn denilt

(t) fgg-

vny az alapmegolds, s segtsgvel a megolds a bemen fggvnyekbl kzvetlenl felrhat:

u(t) = (t)v +
a
ahol
7

G(t, s)r(s)ds,

(10.3.23)

G(t, s) =

(t)Ba (a)1 (s), (t)Bb (b)1 (s),

ha

s t;

ha s >t.

(10.3.24)

10.4. A peremrtk-feladat numerikus megoldsa Cauchy-feladatra val visszavezetssel


Br az elz pontban megmutattuk, hogy egy peremrtk-feladat megoldsa kpletek segtsgvel elllthat (v.(10.3.23)), ez a felrs formlis: konkrt feladatok esetn sem az alapmegolds, sem a

G(t, s) fggvny ltalban nem hatrozhat meg. Ezrt a Cauchy-feladatokhoz hasonlan

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.

Kzvetlenl diszkretizljuk a peremrtk-feladatot.

Ebben a pontban az els mdszerrel foglalkozunk.

7 Ezt a

G(t, s) fggvnyt a feladat Green-fggvnynek nevezzk.

290 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.4.

A peremrtk-feladat numerikus megoldsa Cauchy-feladatra val visszavezetssel

10.4.1. A belvses mdszer


Tekintsk az

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,

u = f(t, u), t [a, b] u(a) = c,


kezdetirtk-feladatot oldjuk meg. Mivel

(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.

Az egyik legegyszerbb mdszer az rtkeket, amelyekre

h(c1 )h(c2 ) < 0,

s ekkor a

intervallum-felez mdszer, azaz keresnk olyan c1 s c2 (c1 , c2 ) intervallumon lv gykt az intervallum

folyamatos felezsvel hatrozhatjuk meg. A belvses mdszer intervallum-felez mdszeres algoritmusa teht a kvetkez. 1. Rgztnk valamely

rtket.

2. A (10.4.4) kezdeti vektorral megoldjuk az Runge-Kutta tpus mdszert.) 3. Az 1. lpsben kt olyan

[a, b] intervallumon a (10.4.1) kezdetirtk-feladatot,

alkalmazva az elz fejezetben ismertetett valamely numerikus mdszert. (Pldul egy

rtkek ellenttes eljelek lesznek. Legyenek ezek

c rtket keresnk, amelyekre a 2. lpsben kiszmolt t = b pontbeli c1 s c2 .

8 A mdszer angol elnevezse: shooting method.


tankonyvtar.bme.hu 291

10.

A peremrtk-feladatok numerikus mdszerei

4. A

c = 0.5(c1 + c2 )

rtkkel jra szmoljuk a 2. lpst.

5. Az gy nyert megolds

t=b

pontbeli rtknek eljele alapjn jra megvlasztjuk

c1

vagy

c2

rtkt, s folytatjuk az eljrst.

6. Amikor a kt vgpont tvolsga kisebb, mint egy elre megadott jezzk az itercit.

>0

rtk, akkor befe-

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-

algoritmusa knnyen felrhat az elzek alapjn. Ugyanakkor a felezmdszer s a hrmdszer

szelmdszert

mazzuk, akkor erre nincs szksg. Ezzel a mdszerrel algoritmusunk a kvetkez: 1. Legyenek

c(0)

c(1)

tetszleges rtkek.

2. A (10.4.4) kezdeti vektor kpletbe elszr

c(0) -t,

majd

c(1) -t

helyettestve, megoldjuk az

[a, b]

intervallumon a (10.4.1) kezdetirtk-feladatot, alkalmazva az elz fejezetben ismer-

tetett valamely numerikus mdszert. 3. Ekkor

h(c(0) ) = u(b, c(0) ) c


(2)

h(c(1) ) = u(b, c(1) ). (c(0) , h(c(0) ))


s a

4. Lineris kzeltst alkalmazva a rozzuk azt a

(c(1) , h(c(1) ))

pontok kztt, meghat-

pontot, ahol ez a kzelts nulla rtket vesz fel:

c(2) = c(1) c(2)

c(1) c(0) h(c(1) ) h(c(0) )

h(c(1) ).

(10.4.8)

5. A (10.4.8) kplettel kiszmolt

rtkkel meghatrozzuk a (10.4.4) alak kezdeti vektort,

s a Cauchy-feladat numerikus megoldsval meghatrozzuk a

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

c(k1) c(k2) h(c(k1) ) h(c(k2) ) h(c(k) )


rtket.

h(c(k1) )

(10.4.9)

|h(c(k) )|

rtke kisebb, mint egy elre megadott

>0

rtk, akkor befejezzk az

itercit.

10.4.1. megjegyzs.
amely mellett a leges

A felezmdszerrel s a hrmdszerrel sszehasonltva a szelmdszer el-

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) )

nagyon kzel vannak a nullhoz, akkor az algoritmusunk instabil. Ezrt

292 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.4.

A peremrtk-feladat numerikus megoldsa Cauchy-feladatra val visszavezetssel

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-

felel megvlasztsa valamely elsrend mdszerrel nyerhet.) A (10.4.11) kplet alkalmazsnl

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

u =f (t, u, u ), t (a, b), u(a) = , u (a) = c


feladat megoldst. Legyen ez az

(10.4.12)

u(t, c)

fggvny s ekkor

u (t, c) =f (t, u(t, c), u (t, c)),

t (a, b),

u(a, c) = , u (a, c) = c.
Derivljuk a (10.4.13) azonossgot a

(10.4.13)

paramter szerint! Ekkor

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

j fggvnyt! A (10.4.14) sszefggsek alapjn erre a fggvnyre:

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

(t, u(t, c), u (t, c))

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.

A peremrtk-feladatok numerikus mdszerei

fggvnyeket, ezekre a fggvnyekre a fenti sszefggsek alapjn a kvetkez kapcsolat ll fenn:

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)

v1 (a) = , v2 (a) = c, v3 (a) = 0, v4 (a) = 1.


Ezrt az

(10.4.18)

[a, b]

intervallumon megoldva a

v1 = v2 , v2 = f (t, v1 , v2 ) v3 = v4 , v4 = 2 f (t, v1 , v2 )v3 + 3 f (t, v1 , v2 )v4 , v1 (a) = , v2 (a) = c, v3 (a) = 0, v4 (a) = 1


Cauchy-feladatot, meghatrozhatjuk az ismeretlen fggvnyeinket. Mivel (10.4.19)

v3 (b) = w(b) =
ezrt (10.4.6) miatt zje kiszmthat.

u (b, c), c

(10.4.20)

h (c) = v3 (b),

azaz a (10.4.20) szerinti Newton-iterci jobb oldalnak neve-

A belvses mdszer Newton-mdszeres algoritmusa teht a kvetkez. 1. Rgztnk valamely 2. A

c(0)

rtket.

c = c(0)

megvlasztssal az

[a, b] intervallumon megoldjuk a h(c(0) ) = v1 (b) c(1)


s

(10.4.19) rendszerre kitztt

kezdetirtk-feladatot az elz fejezetben ismertetett valamely numerikus mdszerrel. 3. A megoldsok ismertben kiszmoljuk a

h (c(0) ) = v3 (b)

rtkeket.

4. A (10.4.11) kplet alapjn meghatrozzuk a 5. Folytatjuk az eljrst a 2. lpstl kezdve. 6. Amikor

kzeltst.

|h(c(k) )|

rtke kisebb, mint egy elre megadott

>0

rtk, akkor befejezzk az

itercit.

10.4.2. Lineris peremrtk-feladatok numerikus megoldsa


Ebben a szakaszban a (10.3.3) mdon bevezetett

u =p(t)u + q(t)u + r(t), t [a, b], u(a) = , u(b) =


talnos alak (10.1.7) feladatban az

(10.4.21)

lineris peremrtk-feladat numerikus megoldsval foglalkozunk. Megmutatjuk, hogy ha az l-

fggvnyt a (10.4.21) szerinti specilis mdon adjuk meg,

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

kt Cauchy-feladat megoldst. Ekkor teht

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.

A peremrtk-feladat numerikus megoldsa Cauchy-feladatra val visszavezetssel

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)

w(t) = u1 (t) + (1 )u2 (t)


egy j fggvny, ahol azaz

(10.4.24)

valamely, egyelre tetszleges paramter. Mivel a (10.4.21) feladat

lineris, ezrt az egyenlet kt megoldsnak (10.4.24) szerinti lineris kombincija is megolds,

w (t) = p(t)w (t) + q(t)w(t) + r(t), t [a, b].


Msrszt hogy teljesljn a

(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)

egyenlsgbl hatrozhatjuk meg. Ezrt a (10.4.26) rtk

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:

u =p(t)u + q(t)u + r(t), t [a, b], u(a) = , u (a) = 0,


valamint

(10.4.27)

u =p(t)u + q(t)u + r(t), t [a, b], u(a) = , u (a) = 1.


Jellje (10.4.27) megoldst s a (10.4.28) feladatok elsrend rendszerre val visszavezetsvel megkaphatjuk az

(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.

10.4.2. megjegyzs. 10.4.3. ttel.

Felmerlhet a krds: vajon mindig kifejezhet-e

a (10.4.26) kplettel?

rvnyes a kvetkez llts [20].

Tegyk fel, hogy a (10.4.21) lineris peremrtk-feladatnak ltezik egyrtelm megoldsa. Ekkor

vagy a (10.4.22) tulajdonsg vagy

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.

A peremrtk-feladatok numerikus mdszerei

Cauchy-feladatok megoldsainak kombincijaknt is. Tekintsnk a kvetkez kt Cauchy-feladatot:

u =p(t)u + q(t)u + r(t), t [a, b], u(a) = , u (a) = 0,


valamint

(10.4.29)

u =p(t)u + q(t)u + r(t), t [a, b], u(a) = 0, u (a) = 1. u1 (t),


a (10.4.30) feladat megoldst pedig

(10.4.30)

Jellje ismt (10.4.29) megoldst lthatan ekkor a

u2 (t).

Knnyen

w(t) = u1 (t) +

u1 (b) u2 (t) u2 (b)

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. A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel


Az elz szakaszban lttuk, hogy a belvses mdszer alkalmazsa meglehetsen munkaignyes: minden egyes fggvnykirtkels egy Cauchy-feladat numerikus megoldst ignyli. Ebben a szakaszban ms megkzeltst alkalmazunk: a belvses mdszertl eltren, a vges dierencis mdszer alkalmazsa sorn nem egy kezdetirtk-feladatra val visszavezetssel oldjuk meg az

u =f (t, u, u ), t (a, b), u(a) = , u(b) =

(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.

10.5.1. Vges dierencis approximci


A tovbbiakban felhasznljuk a megfelelen sima fggvnyekre jl ismert, s a numerikus derivls sorn mr ismertetett albbi sszefggseket:

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.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

ahol

i (t, t + h) (i = 1, 2, 3, 4) t

valamely rgztett szm.

Ez adja azt az tletet, hogy a (megfelelen sima) rivltjt a kzeltsk:

u(t)

fggvny egy rgztett

pontbeli de-

pontot krnyezetben lv rcspontbeli helyettestsi rtkekkel a kvetkez mdon

u (t )

u(t + h) u(t ) , u (t ) h u (t )

u(t ) u(t h) u(t + h) u(t h) , u (t ) , h 2h u(t + h) u(t ) + u(t h) . h2


(10.5.6)

10.5.2. Az ltalnos alak peremrtk-feladat megoldsa a vges dierencik mdszervel


Jelljnk ki az

[a, b]

intervallumon egy rcshlt! Az egyszersg kedvrt legyen ez az (10.5.7) azaz (10.5.8)

h = {ti = a + ih, i = 0, 1 . . . , N + 1, h = (b a)/(N + 1)}


ekvidisztns rcshl, ahol

rcshl lpskze.

Jellje

rcshl bels pontjait,

h = {ti = a + ih, i = 1, 2, . . . , N, h = (b a)/(N + 1)},


tovbb

a rcshl hatrpontjait, azaz

h = {t0 = a, tN +1 = b}.
Tegyk fel, hogy a (10.5.1) feladatnak ltezik egyretelm olyan fggvny
10

(10.5.9) megoldsa, azaz

u(t)

u(t) C 2 [a, b]
(10.5.10)

, amelyre

u (t) =f (t, u(t), u (t)), t (a, b), u(a) = , u(b) = .


Ezrt az

rcshl pontjaiban felrva a fenti sszefggst, az

u (ti ) =f (ti , u(ti ), u (ti )), i = 1, 2, . . . , N u(t0 ) = , u(tN +1 ) =


szerinti kzeltseket, az ismeretlen az albbi egyenleteket nyerjk:

(10.5.11)

sszefggsek llnak fenn. Alkalmazva a (10.5.11) azonossgban a derivltakra nyert (10.5.6)

yi

rtkekre (amelyek szndkaink szerint

u(ti )

kzeltsei),

yi+1 2yi + yi1 yi+1 yi =f (ti , yi , ), i = 1, 2, . . . , N 2 h h y0 = , yN +1 = .


Megoldva a fenti

(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.

A peremrtk-feladatok numerikus mdszerei

Kzel van-e

yi

rtke

u(ti )

rtkhez?

Ha srtjk a rcshlt (azaz

nullhoz tart), akkor az

[a, b]

intervallumon a kzelt

megoldsok sorozata tart-e a pontos megoldshoz?

10.5.1. megjegyzs. A (10.5.12) diszkretizciban az els derivltat a (10.5.6) els formuljval


helyettestettk. Ha a msodik formulval helyettestjk, akkor az

yi yi1 yi+1 2yi + yi1 =f (ti , yi , ), i = 1, 2, . . . , N 2 h h y0 = , yN +1 = ,


ha pedig a harmadikkal, akkor az

(10.5.13)

yi+1 yi1 yi+1 2yi + yi1 =f (ti , yi , ), i = 1, 2, . . . , N h2 2h y0 = , yN +1 =


feladatot kapjuk. Vezessk be a kvetkez jellseket:

(10.5.14)

yx,i =

yi+1 yi yi yi1 yi+1 yi1 ; yx,i = ; yx ,i = , h h 2h

(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

pontbeli msodik derivlt vges dierencis kzeltse

yxx,i :=

yx,i yx,i yi+1 2yi + yi1 = h h2 yxx,i


msodrendben approximlja az

(10.5.16)

alak, s ezrt a (10.5.5) sszefggs miatt a

u (t)

fggvnyt

t = ti

pontban. Ezen jellsekkel az egyes smk a kvetkez alakot ltik:

A (10.5.12) sma:

yxx,i =f (ti , yi , yx,i ), i = 1, 2, . . . , N y0 = , yN +1 = .


A (10.5.13) sma:

(10.5.17)

yxx,i =f (ti , yi , yx,i ), i = 1, 2, . . . , N y0 = , yN +1 = .


A (10.5.14) sma:

(10.5.18)

yxx,i =f (ti , yi , yx ,i ), i = 1, 2, . . . , N y0 = , yN +1 = .

(10.5.19)

298 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.5.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

10.5.3. A lineris peremrtk-feladatok approximcija a vges dierencik mdszervel


Ebben a szakaszban vlaszt adunk az elzekben megfogalmazott krdsekre a

u =p(t)u + q(t)u + r(t), t [a, b], u(a) = , u(b) =


egyrtelm megoldhatsghoz felttelezzk, hogy mon, azaz

(10.5.20)

lineris peremrtk-feladat vges dierencis numerikus megoldsra. Mint azt megmutattuk, az

min[a,b] q := qmin > 0.

Vezessk be a

p, q, r C[a, b] s q(t) > 0 az [a, b] intervallupi = p(ti ), qi = q(ti ), ri = r(ti ) jellseket!

10.5.2. ttel.
A (10.5.20) lineris peremrtk-feladat (10.5.17)-(10.5.19) vges dierencis diszkretizcija

ai yi1 + di yi +ci yi+1 = ri , i = 1, 2, . . . , N y0 = , yN +1 =


esetn, rvnyes a

(10.5.21)

alak lineris algebrai egyenletrendszer, ahol mindhrom diszkretizcira, megfelelen kis

|di | |ai | |ci | = qi


egyenlsg. Bizonyts. A (10.5.20) feladatra a (10.5.17) diszkretizci az

(10.5.22)

yi+1 2yi + yi1 yi+1 yi = pi + qi yi + ri , i = 1, 2, . . . , N, 2 h h y0 = , yN +1 =


lineris algebrai egyenletrendszert jelenti, ami az

(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)

megvlasztssal a (10.5.21) feladatot jelenti. Megfelelen kis

|di | |ai | |ci | =

1 (2 + h2 qi hpi ) 1 (1 hpi ) = qi . h2

(10.5.25)

Knnyen lthat, hogy a (10.5.18) diszkretizci esetn

ai =

1 2 1 1 1 pi , di = 2 + qi + pi , ci = 2 , h2 h h h h

(10.5.26)

mg a (10.5.19) diszkretizci esetn

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)

s mindkt esetben alkalmasan megvlasztott kis

10.5.3. kvetkezmny.

Mivel a (10.5.21) rendszer felrhat

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.

A peremrtk-feladatok numerikus mdszerei

alakban, ezrt a diszkretizlt feladat valjban egy rix. Jellje az

ismeretlenes lineris algebrai egyenletrend-

szert jelent, amelynek egytthatmtrixa tridiagonlis, szigoran diagonlisan dominns mt-

ei

t = ti

pontban a pontos s a kzelt megolds eltrst (azaz

rcshl pontjaiban rtelmezett hibafggvnyt (azaz

eh (ti ) = ei )!

ei = yi ui ),

eh

10.5.4. denci.
Valamely numerikus mdszer

konvergencija

azt jelenti, hogy az ltala generlt numerikus

megoldsra a rcshl nomtsval a hibafggvny nullhoz tart, azaz

h0
Ha

lim eh = 0.

(10.5.29)

eh = O(hp ), akkor a numerikus mdszert p-ed rend mdszernek nevezzk.


A 10.5.29 kpletben az

10.5.5. megjegyzs.

normban rtjk, azaz az normban tart nullhoz.

eh RN +2

eh

vektorsorozat konvergencijt termszetesen

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

ui+1 2ui + ui1 1 (i) h2 u(4) (4 ) = pi 2 h 12

1 ui+1 ui1 (i) h2 u (3 ) + qi ui + ri . 2h 6

(10.5.30)

trendezve a (10.5.30) egyenlsget a kvetkez alakot kapjuk:

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 =

1 (4) (i) pi (i) u (4 ) u (3 ). 12 6

Ezrt a (10.5.27) jellseivel (10.5.31) felrhat az

ai ui1 + di ui + ci ui+1 = ri h2 gi
300 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

(10.5.32)

10.5.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

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

ai ei1 + di ei +ci ei+1 = h2 gi , i = 1, 2, . . . , N, e0 = eN +1 = 0


alak lineris algebrai egyenletrendszert. Az

(10.5.33)

i-edik

egyenletet trendezve: (10.5.34)

di ei = ai ei1 ci ei+1 h2 gi ,
azaz abszolt rtkben becslve a

|di ||ei | |ai ||ei1 | + |ci ||ei+1 | + h2 |gi | (|ai | + |ci |) eh


egyenltlensget nyerjk, ahol

+ 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)

trendezve a (10.5.36) egyenltlensget, a

(|di0 | |ai0 | |ci0 |) eh

h2 g

(10.5.37)

egyenltlensghez jutunk. Ez a (10.5.22) tulajdonsg gyelembevtelvel a

qi0 eh
becslst jelenti. A

h2 g

(10.5.38)

min[a,b] q := qmin > 0

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.

Mindez azt jelenti, hogy A 10.5.6. ttel

arra az esetre vonatkozik, amikor a (10.5.20) feladatban

q(t) > 0

az

[a, b]

intervallumon. gy nem ad vlaszt a (10.1.6) feladat Tekintsk teht az

p=q=0

specilis esetre.

u = r(t), t (0, l), u(0) = , u(l) =


peremrtk-feladatot. (Az egyszersg kedvrt az intervallumot

(10.5.40)

hosszsgnak tekintjk, s a

bal oldali vgpontot az origba helyezzk.) Ebben az esetben teht az

rcshl (10.5.41)

h = {ti = ih, i = 0, 1, . . . , N + 1, h = l/(N + 1)}


nyezi, ahol

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.

A peremrtk-feladatok numerikus mdszerei

Ezrt a diszkrt feladat az

Ah yh = bh Ah R
0 0 ... 1 0
N N
mtrix

(10.5.43)

alak lineris algebrai egyenletrendszert jelenti, ahol az

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

r(t1 ) + /h2 bh = r(ti ), i = 2, 3, . . . , N 1 . r(tN ) + /h2


Elszr megmutatjuk, hogy a fenti diszkretizci korrekt.

(10.5.45)

10.5.7. ttel.
A (10.5.43) feladatnak tetszleges

h>0

esetn ltezik egyrtelm megoldsa.

Bizonyts. Azt kell megmutatnunk, hogy brmely

h > 0 mellett az Ah

mtrix regulris, azaz

=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

vi1 + 2vi vi+1 = vi , i = 1, 2, . . . , N h2


egyenlet. Ezzel a

(10.5.46)

vi1 2(1 0.5h2 )vi +vi+1 = 0, i = 1, 2, . . . , N, v0 = 0, vN +1 = 0


feladatot kapjuk. Keressk a (10.5.47) feladat megoldsst a

(10.5.47)

vi = sin(pti ) i = 0, 1, . . . , N + 1
alakban, ahol testve:

(10.5.48)

pR

egy egyelre tetszleges szm. Ekkor a (10.5.47) els egyenletbe behelyet-

sin(p(ti h)) 2(1 0.5h2 ) sin(pti ) + sin(p(ti + h)) = 0, i = 1, 2, . . . , N.


Felhasznlva a kzismert sszefggs a

(10.5.49)

sin(p(ti h))+sin(p(ti +h)) = 2 sin(pti ) cos(ph) azonossgot, a (10.5.49)

2 sin(pti ) cos(ph) 2(1 0.5h2 ) sin(pti ) = 0, i = 1, 2, . . . , N,


azaz a

(10.5.50)

2 cos(ph) 2(1 0.5h2 ) sin(pti ) = 0, i = 1, 2, . . . , N


302 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

(10.5.51)

10.5.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

felttelt jelenti. Mivel

sin(pti ) = vi

s a

sajtvektor nem nulla, ezrt legalbb egy

indexre

vi = 0.

Ezrt (10.5.51) kvetkeztben

2 cos(ph) 2(1 0.5h2 ) = 0.


Innen

(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].

Ekkor a legkisebb sajtrtk felrhat

1 (s) =
alakban. Hasznljuk fel, hogy a Ezrt

2 2 (sin s/s) , s (0, /4] l2


fggvny a

(10.5.58)
11

sin x/x mins(0,/4] 1 (s) = 1 (/4), azaz

(0, /4]

intervallumon monoton cskken.

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

Ezzel belttuk lltsunkat.

10.5.8. kvetkezmny.
lltsok.

11 Ez az llts elemi fggvnyvizsglattal nllan is knnyen belthat.


tankonyvtar.bme.hu 303

10.

A peremrtk-feladatok numerikus mdszerei

1. Az 2. Az

Ah Ah

mtrix invertlhat, s

A1 h

1/ = l2 /8.

mtrix szimmetrikus, szigoran pozitv denit.

3. A (10.5.55) formulbl lthat, hogy

1 (h)v1

sszefggs alapjn igaz, hogy a

v1 > 0. Mivel 1 (h) > 0 is igaz, ezrt az Ah v1 = v1 > 0 vektorral Ah v1 > 0, azaz Ah M-mtrix.

(Tovbbi rszletekrt lsd a 10.5.5. pontot.)

10.5.9. megjegyzs.
ben szerepl becsls a telt.)

A fenti ttel bizonytshoz a klasszikus algebrai megkzeltst alkalmaz-

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

2 normra, hiszen ennek segtsgvel az ezen normabeli konvergencia

s annak sebessge rendjben szerepl lland nagysga is megmutathat. (Lsd a 10.5.10. t-

Eredmnynket felhasznlva kzvetlenl belthat a (10.5.28), (10.5.42) numerikus mdszer konvergencija az rcsfggvnyek

h := {t0 , t1 , . . . , tN +1 }, h

lpskz ekvidisztns rcshln rtelmezett

yh

N +1

yh
alak normjban.
12

2 2,h

:= h
i=0

2 yi

(10.5.61)

Megjegyezzk, hogy ekkor a megfelel mtrixnormra

2,h

= sup
v
RK

Av 2,h h Av 2 = sup = A 2, v 2,h h v 2 K vR

teht az 1. fejezetben denilt szoksos 2-es (vagy euklideszi) normval szmolhat. Tekintsk teht az

yi1 2yi + yi+1 = ri , i = 1, 2, . . . , N h2 y0 = , yN +1 =

(10.5.62)

feladatot, s mutassuk meg, hogy a megoldsa a peremrtk-feladat megoldshoz. Jellje ismt

2,h normban h 0 estn tart a (10.5.40) ei = yi u(ti ) a ti pontbeli hibt! Ekkor yi =

ei + u(ti ),

s ezt behelyettestve a (10.5.62) smba a hibafggvnyre a

ei1 + 2ei ei+1 u(ti1 ) 2u(ti ) + u(ti+1 ) = ri + i , i = 1, 2, . . . , N 2 h h2 e0 = 0, eN +1 = 0


feladatot kapjuk. A (10.5.63) feladat felrhat

(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

304 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.5.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

alak lineris algebrai egyenletrendszerknt, ahol az

vektorra pedig

)i = i , i = 1, 2, . . . , N .

Ah RN N

mtrix a (10.5.44) alak, a

A (10.5.64) egyenletbl (10.5.65)

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

O(h4 ) = hN O(h4 ) = O(h4 ),


i=1

mivel

1 2 h

hN = const. Ezrt teht h l2 /8. gy (10.5.66) alapjn

2,h

= O(h2 ).

Msrszt a 10.5.8. kvetkezmny szerint

eh
Ezzel belttuk az albbi lltst.

2,h

= O(h2 ).

(10.5.67)

10.5.10. ttel.
A (10.5.62) sma megoldsa

h0

esetn msodrendben tart a

2,h normban a (10.5.40)

peremrtk-feladat megoldshoz.

10.5.4. A lineris peremrtk-feladatok numerikus megoldsnak ltalnos vizsglata


Ebben a szakaszban ismtelten a lineris peremrtk-feladatok numerikus megoldsval s a kzeltsek konvergencijval foglalkozunk, de most az eredmnyeinket ltalnosan fogalmazzuk meg. Megmutatjuk, hogy ezen ltalnos megkzeltsbl specilis esetknt az elz szakaszban lert eredmnyeink hogyan nyerhetk. Jellje

L0

azt az opertort, amely a

C 2 [a, b]-beli

fggvnyeken van rtelmezve, s (10.5.68)

L0 u = u + p(t)u + q(t)u,
valamint

B1 , B2

azokat a szintn

C 2 [a, b]-beli

fggvnyeken rtelmezett opertorokat, amelyekre (10.5.69)

B1 u = u(a), B2 u = u(b).
Ekkor az

L0 : C 2 [a, b] C[a, b], B1 , B2 : C 2 [a, b] R

tpus lineris opertorok. Vezessk be (10.5.70)

F1 [a, b] = C 2 [a, b], F2 [a, b] = C[a, b] R R


jellseket! Legyen

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.

A peremrtk-feladatok numerikus mdszerei

Teht

egy

F1 [a, b] F2 [a, b]

lineris opertor, amely egy

v C 2 [a, b]

fggvnyhez az

Lv =
hrmast rendeli hozz.

v + p(t)v + q(t)v F2 [a, b] v(a) v(b)

(10.5.72)

Ekkor a (10.5.20) feladat felrhat a kvetkez mdon. Az

r(t) f := F2 [a, b]
jells mellett keressk azon

(10.5.73)

u F1 [a, b]

elemet (azaz

C 2 [a, b]-beli

fggvnyt), amelyre (10.5.74)

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)

vh (t + h) vh (t) vh (t + h) 2vh (t) + vh (t h) + pi + qi vh (t), t h . h2 h


(10.5.75) azokat az

B1,h , B2,h

F( h )-beli

rcsfggvnyeken rtelmezett opertorokat, ame(10.5.76)

B1,h vh = vh (t0 = a), B1,h vh = vh (tN +1 = b).


Ekkor teht

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

F( h ) F(h ) R R F( h ) tpus lineris opertor, amely a vh ( h

rcshl

pontjaiban denilt) rcsfggvnyhez az

(1) Lh vh =

vh (t + h) 2vh (t) + vh (t h) vh (t + h) vh (t) + pi + qi vh (t), t h h2 h F( h ) vh (a) vh (b)


(10.5.78)

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

rcson rtelmezett rcsfggvnyt),

Lh vh = fh .
306 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

(1)

(10.5.80)

10.5.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

Vegyk szre, hogy (10.5.80)  a jellseinket gyelembe vve  egy lineris algebrai egyenletrendszert jelent, amelynek mrete megegyezik az

rcshl pontjainak a szmval, azaz

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)

(10.5.81) Mivel a vektorok

Ah R(N +2)(N +2)

(1)

yh , fh RN +2 .

i-edik

koordintja a

ti h

rcsponthoz tartoz rtkeket jelenti, ezrt a (10.5.81) egyenletben

(yh )i = vh (ti ), (fh )i = fh (ti ), i = 0, 1, . . . , N + 1,


s (10.5.78) alapjn az

(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

ai , di , ci rtkei a (10.5.24) kplet szerintiek. (yh )0 s (yh )N +1 rtkei ismertek (a peremfelttelek

miatt ezek rtke

),

ezrt

a (10.5.81) egyenlet ekvivalens az

A(1) yh = fh h
feladattal, ahol

(10.5.84)

A(1) RN N , yh , fh RN h

(fh )1 = (fh )1 a1 , (fh )i =(fh )i , i = 2, 3, . . . , N 1, (fh )N = (fh )N cN , (yh )i =(yh )i , i = 1, 2, . . . , N, d1 c1 0 . . . 0 0 a2 d2 c2 . . . 0 0 A(1) = . . . . . . . h . . . . . . . . . . . 0 0 0 . . . 0 aN


A (10.5.84)-(10.5.85) feladat megegyezik a (10.5.28) feladattal.

0 0 . . . . dN

(10.5.85)

10.5.11. megjegyzs.

A msik kt diszkretizcira is az rtelemszeren denilt

A(2) h

A(3) h

mtrixokkal (10.5.84) rvnyes.

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.

A 10.5.2. ttel alapjn az alkalmasan megvlasztott

rtkek mellett az

Ah

(k)

mtrixok esetn az

szigoran diagonlisan dominnsak, ezrt regulrisak. Teht megfelelen kis

Lh vh = fh (k = 1, 2, 3)

(k)

feladatok mindegyike egyrtelmen megoldhat. tankonyvtar.bme.hu 307

10.

A peremrtk-feladatok numerikus mdszerei

A 10.5.6. ttel alapjn az

eh hibafggvny nullhoz tart, azaz a kzelt megoldsok sorozata

h0

esetn tart a pontos megoldshoz. Ennek beltsa kt lpsben trtnt:

1. Felrtuk a (10.5.33) hibaegyenletet. 2. Megmutattuk, hogy ezen rendszer megoldsai (h

esetn) nullhoz tartanak.

10.5.12. megjegyzs.

Ezzel kapcsolatosan kt dologra hvjuk fel a gyelmet.

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

pontban a rcshl pontjaiban rtelmezett pontos megolds

Lh

(k)

-kpe

milyen kzel van a pontos megolds

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

(k) 1 mtrixok hogyan hatnak a loklis approximcis hibavektorra. h

esetn

A tovbbiakban egy ltalnos trgyalsmdot adunk eredmnyeink lersra. Legyenek

F1 [a, b] = C 2 [a, b]

olyan lineris opertor, amelyre minden Legyen szoksosan

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,

Clunk ezen feladat diszkretizcjnak meghatrozsa s vizsglata.

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

tipus, szintn lineris lekpezsek.

Kpezzk ezen opertorok segtsgvel a kvetkez

L0,h vh Lh vh = B1,h vh B2,h vh F( h ) F( h )


(2)
tpus lineris opertor. (Teht

(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

egy olyan lekpezs, amely egy

F2 [a, b]

elemnek megfeleltet egy

F( h )-beli

jellje

fh := Ph f F( h ).
szksges. 1. Ltezik-e az

(2)

(10.5.87)

A diszkretizcis eljrsok ltalnos trgyalsa sorn a kvetkez krdsek megvlaszolsa

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.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

3. Milyen kzel van a 4. A

vh F( h )

fggvny a (10.5.74) egyenlet

u F1 [a, b]

megoldshoz?

h 0

esetben milyen felttelek mellett tart a kzelt s a pontos megolds eltrse

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

megvlaszts esetn ezt be kell bizonytani, azaz azt

2. Ennl a krdsnl az az alapvet problma, hogy az s az

rcspontokban rtelmezett

rtelmezve. Ezrt legyen

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 )

trbeli rgztett norma. fggvny a (10.5.88) feladat megoldsa. Jellje

3. Legyen a

vh F( h )

rcsfggvnyt, amelyet a (10.5.74) egyenlet azaz

u F1 [a, b]
(1)

megoldsnak

uh azt az F( h )-beli (1) Ph -kpeknt kapunk,


(10.5.89)

uh = Ph u,
tovbb

eh F( h )

azt a rcsfggvnyt, amelyre

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

megoldsok a (10.5.74) folytonos feladat megoldsnak

uh = Ph u

(1)

w F1 [a, b]

esetn. Ekkor megmutathat a kvnt egyrtelmsg.

13

4. Az elz pontban denilt konvergencia biztostsra alkalmazzuk az esetn

Lh = Lh

(k)

megvlaszts

esetn alkalmazott mdszernket. (Lsd a 10.5.12. megjegyzst.) Legyen tetszleges

w F1 [a, b]
(10.5.91)

lh (w) = Lh (Ph w) Ph (Lw) F( h ).

(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

h = 0 (1) (1) wh Ph w2 h Ph w1 (1) w1 w2 = limh0 Ph w1

(1)

s limh0 wh Ph w2
wh

(1)

= 0. Ekkor Ph w1 Ph w2 w2 , ami lltsunkat igazolja.

(1)

(1)

= Ph w1 wh +

(1)

(1) h + wh Ph w2 h (1) Ph w2 h = 0, ezrt w1 =

0. Mivel a kompatibilitsi felttelt felhasznlva ekkor

tankonyvtar.bme.hu 309

10.

A peremrtk-feladatok numerikus mdszerei

A dierenciasma egy msik fontos tulajdonsga (a dierencilegyenletek elmlethez hasonlan) a

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 )

esetn ltezik a feladatnak egyrtelm megoldsa, s a megoldsokra

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.

Ekkor a numerikus mdszer

p-ed

rendben konvergens, azaz

eh eh

= O(hp ).

(10.5.94)

Bizonyts. Felhasznlva az

globlis hiba (10.5.90) dencijt, illetve a (10.5.89) dencit,

a kvetkez egyenlsg rvnyes:

Lh eh = Lh uh Lh vh = Lh (Ph u) Lh vh = Lh (Ph u) Ph (Lu) + Ph (Lu) Lh vh .


=:lh (u) =:lh (f )
(10.5.95) (2) A (10.5.74) egyenlet mindkt oldalnak Ph -kpt vve s gyelembe vve a (10.5.87) sszefggst, (2) (2) Ph (Lu) = Ph f = fh . (10.5.96) Msrszt, a (10.5.88) egyenlet alapjn

(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)

14 A (10.5.92) s a (10.5.93) tulajdonsg ekvivalencijt a kvetkezk mdon lthatjuk be. Mivel v = L1 f , h h h

10.5.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

egyenltlensg, amely a ttel lltst bizonytja.

10.5.17. megjegyzs.
konvergencia".

A (10.5.93) felttelt a

numerikus mdszer stabilitsnak

is szoksos ne-

vezni. Teht leegyszerstve a 10.5.16. ttel gy fogalmazhat meg: "konzisztencia + stabilits =

10.5.5. A lineris peremrtk-feladatok M-mtrixokkal


A 10.5.4. szakaszban megfogalmaztuk a peremrtk-feladatok vges dierencis approximcijnak azon elmleti krdseit, amelyeket egy adott Nevezetesen, be kell ltnunk, hogy mindegyik 1. az

Lh -mdszer

esetn megvlaszolni szksges.

esetn

Lh

lineris opertort reprezentl

Ah

mtrix regulris;

2. rvnyes a stabilits, azaz teljesl a (10.5.93) stabilitsi tulajdonsg:

(Ah )1
ahol

C,

(10.5.99)

egy

h-tl

fggetlen lland.

A tovbbiakban megmutatjuk, hogy amikor mindegyik

Ah specilis tulajdonsg M-mtrix, akkor

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

Mh Rkk , h = 1/(k 1), k = 3, 4, . . .

adott n.

mtrix mindegyik ftln kivli eleme nempozitv. (Teht

Z -mtrixok sorozata, azaz az Mh (Mh )ij 0 minden i = j esetn.)

10.5.18. denci. gh > 0 vektorok s 0 < g1 , g2 < llandk, amelyekre


(Mh gh )i g1 ,
Azt mondjuk, hogy az ilyen

Mh mtrixsorozat egyenletes M-mtrix, ha lteznek olyan gh Rk ,


(10.5.100) (10.5.101)

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

egyenletes M-mtrix. Ekkor

M1 h

g2 . g1

(10.5.102)

Eredmnyeinket az albbiakban foglalhatjuk ssze.

tankonyvtar.bme.hu 311

10.

A peremrtk-feladatok numerikus mdszerei

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.

Ekkor a numerikus mdszer a maximumnormban

p-ed

rendben konvergens.

Bizonyts. Mivel a 10.5.18. denci alapjn mindegyik

Ah

M-mtrix, ezrt regulris is.

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)

Alkalmazzuk a 10.5.20. ttelt a 10.5.3. fejezetben vizsglt

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)

(10.5.83) alak mtrixok diagonlon kvli elemei nempozitvak,

a diagonlis elemek pedig pozitvak lesznek. gy a (10.5.22) sszefggs miatt az szigoran diagonlisan dominns M-mtrix. Legyen nyilvnvalan

gh

gh = [qmin , 1, 1, . . . , 1, qmin ]T RN +2 . Ekkor

Ah

(k)

mtrix

g2 := max{1, qmax } > 0,


(k)

s a (10.5.22) kvetkeztben

Ah gh = qh ,
ahol

qh = [qmin , q1 , q2 , . . . , qN , qmin ]T RN +2 . Legyen g1 = min{1, qmin }. A fenti g1


(1)

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

(Ph w)(ti ) = (Ph w)(ti ) =

(2)

w(ti ) megvlasztssal mindhrom opertorra mr korbban megmutattuk, a ttel lltsa igaz.

10.5.22. megjegyzs.
maradnak a elegend beltni az

Vegyk szre, hogy a konvergencia beltshoz neknk a (10.5.33) hiba-

egyenletet kell vizsglnunk, azaz azt kell megmutatni, hogy 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.

Befejezsl trjnk t a (10.5.20) azon specilis esetre, amikor

p = q = 0,

azaz tekintsk az

u = r(t), t (0, 1), u(0) = , u(1) =


peremrtk-feladatot. A feladat trgyalst az indokolja, hogy 312 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

(10.5.105)

10.5.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

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

2,h normban mutattuk meg, a maximumnormban

p > 0.

A szoksos diszkretizci utn a megoldand lineris algebrai egyenletrendszernk felrhat

Ah yh = fh
alakban, ahol az

(4)

(10.5.106)

Ah R(N +2)(N +2)


1 . h2 . . 0 0 h2 1 0 0 2 1
. . .

(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

a korbban denilt vektor. Knnyen lthat, hogy

Ah

(4)

nem marad szigoran

diagonlisan dominns. Ugyanakkor megmutatjuk, hogy egyenletes M-mtrix. Ehhez elegend megmutatni, hogy tallhat hozz Legyen

gh

vektor a megkvetelt tulajdonsgokkal. (10.5.108)

h gi = 1 + ih(1 ih), h = 1/(N + 1), i = 0, 1, . . . , N + 1.


A

h gh = gi

N +1 i=0

RN +2

vektorra teljeslnek az albbi relcik.

1. Egyszer szmolssal kzvetlenl ellenrizhet, hogy

Ah gh = [1, 2, 2, . . . , 2, 1]T RN +2 .
ih(1 ih) 1/4,
azaz

(4)

2. A szmtani-mrtani kzepek kztti egyenltlensgbl kvetkezen

h gi 5/4.
Teht a

g1 = 1

s a

g2 = 5/4

megvlasztssal a (10.5.100) s a (10.5.101) egyenltlensgek

rvnyesek. Ezrt a globlis hibra fennll az

eh

5 lh (u) 4

(10.5.109)

egyenltlensg, ami a msodik derivlt approximcijnak hibabecslst gyelembevve az

eh

5 Ch2 , C = M4 48

(10.5.110)

msodrend konvergencit bizonyt becslst eredmnyezi.

10.5.6. A diszkrt maximumelv s kvetkezmnyei


Ebben a szakaszban megismerkednk a diszkrt maximumelvvel s megmutatjuk alkalmazhatsgt a stabilits (s azon keresztl a konvergencia) bizonytsra.
15

15 Ez a rsz a 10.5.5. szakasz ismerete nlkl is olvashat.


tankonyvtar.bme.hu 313

10.

A peremrtk-feladatok numerikus mdszerei

Tekintsk az

Ai yi1 + Di yi +Ci yi+1 = Bi , i = 1, 2, . . . , N y0 = B0 , yN +1 = BN +1


alak lineris algebrai egyenletrendszert, ahol feltesszk, hogy teljeslnek az

(10.5.111)

Ai , Di , Ci

Bi

adott szmok. A tovbbiakban

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 )

felttel is. Ekkor minden

i = 1, 2, . . . , N

indexre

yi max{0, B0 , BN +1 } := ymax
egyenltlensg. Bizonyts. Jellje

(10.5.113)

y > ymax .

Ez azt jelenti, hogy ltezik olyan

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 Bk = Ak yk1 + Dk yk + Ck yk+1 = Ak yk1 + Dk y + Ck yk+1 Ak y + Dk y + Ck y = (Ak + Dk + Ck ) y


0 >0

0.

(10.5.114)

Mivel ezen becsls mindkt oldaln nulla ll, ezrt mindentt az

helyett = jel rhat. gy rvnyes


(10.5.115)

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 .

Ezrt a (10.5.116) egyenltlensg (10.5.117)

yk1 = yk+1 = y
egyenlsg teljeslse esetn lehetsges. Teht ha valamely megoldsa

i = 1, 2, . . . , N

indexre a (10.5.111)

, akkor a megfelel koordinta jobb illetve bal oldali szomszdjnak rtke is

Ezrt a (10.5.117) egyenlsg miatt rvnyes az

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

yN +1 = BN +1 , ekkor (10.5.119) kvetkeztben B0 = BN +1 = y


B0 = BN +1 > max{0, B0 , BN +1 }(= ymin )

felttel gyelembevtelvel a (10.5.120)

314 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.5.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

relcit eredmnyezi, ami nyilvnvalan nem lehetsges. A diszkrt maximumelvnek szmos kvetkezmnye van.

10.5.24. kvetkezmny.
i = 1, 2, . . . , N

Tegyk fel, hogy a (10.5.111) lineris algebrai egyenletrendszerre a

korbbi (10.5.112) tulajdonsg mellett teljesl a indexre rvnyes az

Bi 0 (i = 1, 2, . . . , N ) felttel is. Ekkor minden


(10.5.121)

yi min{0, B0 , BN +1 } := ymin
relci. Bizonyts. Az maximumelvbl. Innen kzvetlenl addik az albbi tulajdonsg.
16

yi yi

transzformci utn az llts kzvetlenl kvetkezik a diszkrt

10.5.25. kvetkezmny.
minden

Tegyk fel, hogy a (10.5.111) lineris algebrai egyenletrendszerre a

fenti (10.5.112) tulajdonsg mellett teljesl a

Bi 0 (i = 0, 1, 2, . . . , N, N + 1)

felttel is. Ekkor

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)

|yi | max{|B0 |, |BN +1 |}, i = 0, 1, 2, . . . , N, N + 1.

10.5.27. kvetkezmny. A (10.5.111)-(10.5.113) lineris algebrai egyenletrendszernek legfeljebb


egy megoldsa lehetsges.
17

Bizonyts. lltsunkhoz azt szksges beltnunk, hogy a homogn egyenletnek (azaz amikor

Bi = 0 minden i = 0, 1, . . . , N +1 indexre) csak a trivilis megolds (yi = 0, i = 0, 1, . . . , N +1) az


egyetlen megoldsa. Ez viszont a 10.5.25. kvetkezmnybl kzvetlenl addik: mivel feltevsnk miatt

B0 = BN +1 = 0,

ezrt (10.5.123) alapjn minden

i = 0, 1, . . . , N + 1

indexre

|yi | = 0,

ami

az lltsunkat jelenti.

10.5.28. kvetkezmny.

Tekintsk a (10.5.111) lineris algebrai egyenletrendszer mellett az

Ai yi1 + Di yi +Ci yi+1 = Bi , i = 1, 2, . . . , N, y0 = B0 , yN +1 = BN +1

(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.

A peremrtk-feladatok numerikus mdszerei

feladatot is. Ha a (10.5.112) tulajdonsg mellett feltesszk, hogy

|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)

Ai vi1 + Di vi +Ci vi+1 = Bi Bi , i = 1, 2, . . . , N v0 = B0 B0 , vN +1 = BN +1 BN +1


illetve az

(10.5.128)

Ai wi1 + Di wi +Ci wi+1 = Bi + Bi , i = 1, 2, . . . , N w0 = B0 + B0 , wN +1 = BN +1 + BN +1

(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

relcit, azaz lltsunkat eredmnyezi.

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

Ai yi1 + Di yi +Ci yi+1 = Bi , i = 1, 2, . . . , N y0 = 0, yN +1 = 0


feladatot! Vezessk be az

(10.5.130)

Ei = Di + Ai + Ci , Emin =

i=1,2,...,N

min

Ei , Fmin =
s

i=1,2,...,N

min

(Ai Ci ), Bmax = max |Bi |


(10.5.131)

jellseket! A (10.5.112) felttel miatt

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.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

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.

y := Bmax , i = 0, 1, 2, . . . , N + 1, i Emin y := Bmax i(N + 1 i), i = 0, 1, 2, . . . , N + 1, i Fmin


egyenletrendszer

ha

Emin > 0;
(10.5.133)

ha

Emin = 0

rcsfggvny majorlja a (10.5.112) s (10.5.132) tulajdonsg (10.5.130) lineris algebrai

yi

megoldsnak abszolt rtkt, azaz

|yi | yi , i = 0, 1, . . . , N + 1.
Bizonyts. Elszr tegyk fel, hogy

(10.5.134)

Emin > 0.

Ekkor behelyettestve a (10.5.133) konstans

Bmax /Emin Ai

rtk rcsfggvnyt a (10.5.130) egyenlet bal oldalba az (10.5.135)

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

relcit nyerjk minden

Bmax /Emin 0 = B0 =

BN +1 ,

ezrt a 10.5.28. kvetkezmny alapjn erre az esetre a (10.5.134) lltsunkat belttuk.

Trjnk t az

Emin = 0

esetre! Helyettestsk be most is a (10.5.133) szerinti rcsfggvnyt

a (10.5.130) egyenlet bal oldalba. Knnyen ellenrizhet, hogy ebben az esetben

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 ,

ezrt a (10.5.136) alapjn az

Ai yi1 + Di yi + Ci yi+1 =

Bmax [i(N + 1 i)Ei (Ai + Ci )] Fmin

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.

A szmtani-mrtani kzepek kztti egyenltlensg alapjn

i(N + 1 i)

i + (N + 1 i) N +1 = . 2 2
tankonyvtar.bme.hu 317

10.

A peremrtk-feladatok numerikus mdszerei

Ezrt

(N + 1)2 Bmax Bmax i(N + 1 i) . Fmin 4 Fmin

gy a (10.5.130) lineris algebrai egyenletrendszer megoldsra rvnyes az

|yi |

Bmax , i = 0, 1, 2, . . . , N + 1, E min B max (N + 1)2 , i = 0, 1, 2, . . . , N + 1, Fmin 4

ha

Emin > 0;
(10.5.138)

ha

Emin = 0

becsls.

10.5.31. kvetkezmny.

rjuk fel a (10.5.111) lineris algebrai egyenletrendszert a szoksos

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.

A 10.5.16. ttel s a 10.5.31. kvetkezmny alapjn kimondhat az albbi absztrakt lltst.

318 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.5.

A peremrtk-feladat numerikus megoldsa vges dierencik mdszervel

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.

opertor lerhat a (10.5.111) bal oldaln szerepl tridiagonlis mtrix segtsg-

Emin = 0

esetn (10.5.132) teljesl, s

C N -tl

fggetlen pozitv lland, amelyre

(N + 1)2 C 4Fmin
minden Ekkor az

(10.5.142)

esetn.

Lh

numerikus mdszerrel kapott kzelt megolds

p-ed

rendben konvergens.

Befejezsl egy pldn mutatjuk meg a 10.5.32. ttel alkalmazst.

10.5.33. plda.

Mutassuk meg, hogy a (10.5.27) paramterek megvlasztsa esetn

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

esetn ez a tulajdonsg is teljesl.

4. Mivel

miatt a sma stabil a

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

(N + 1)2 h2 (N + 1)2 1 = = =: C. 4Fmin 8 8

(10.5.143)

Teht a ttel felttelei teljeslnek, ezrt a sma valban msodrendben konvergl.

10.5.34. megjegyzs.

Az elzekben megmutattuk, hogy a konvergencia msodrend, azaz

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.

A peremrtk-feladatok numerikus mdszerei

esetn ez a konstans

C=

M4 pmax M3 + 12 6

/qmin , Mj = max |u(j) |, pmax = max |p|,


[a,b] [a,b]

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,

10.6. A peremrtk-feladatok numerikus megoldsa MATLAB segtsgvel


A peremrtk-feladatok numerikus megoldsra a MATLAB a bvp4c rutint javasolja. Ez a rutin a ktpontos peremrtkfeladatokat elg ltalnos esetben kpes megoldani: egyrszt nem szeparlt peremfelttelek is megadhatk (amikor nem csak a kt vgpontbeli fggvnyrtkek illetve derivltak adottak kln-kln a vgpontokban, hanem azok kombincii), msrszt a peremfelttelben paramter is megadhat. Mdszerknt az n. kollokcis mdszert alkalmazza, amelynek eredmnyeknt egy nemlineris algebrai egyenletrendszert nyernk. Ennek megoldsra a Newton mdszert alkalmazzuk. Mivel ehhez a bemen fggvnyek parcilis derivltjai is szksgesek, ezeket is kzeltleg, nevezetesen vges dierencikkal hatrozzuk meg. A mdszer rszletei megtallhatk a

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.

10.6.1. A modellfeladat: stacionrius heloszls homogn vezetkben


Tegyk fel, hogy egy hossz s vkony vezetk kt, lland hmrsklet fal kztt helyezkedik el. A vezetk vastagsga a hosszsghoz kpest elhanyagolhat, gy a sugrirny hmrskeletvltozs (radilis sugrzs) elhanyagolhat, s ezrt a hmrsklet csak az

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.

A peremrtk-feladatok numerikus megoldsa MATLAB segtsgvel

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

q(x + x) q(x) 2Dkon + (T T (x)) = 0 x r x 0


hatrrtkre, (10.6.2) a

(10.6.2)

egyenlsget kapjuk. ttrve a

q (x) +

2Dkon (T T (x)) = 0 r

(10.6.3)

egyenletet eredmnyezi. Mivel Fourier trvnye alapjn a uxusra

q(x) = Dhov T (x), ahol Dhov

[J/(Kms)] a hvezetsi egytthat, ezrt a (10.6.3) egyenlet felrhat

T (x) + D(T T (x)) = 0


alakban, ahol

(10.6.4)

D=
a hleadst jellemz lland [m

2Dkon rDhov L,
s jellje (10.6.5)

]. Legyen a vezetk hosszsga

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 .

partikulris megolds, ezrt a (10.6.6) egyenlet ltalnos megoldsa (10.6.7)

A kpletben szerepl llandkat a (10.6.5) peremfelttelekbl hatrozhatjuk meg:

C1 =

(T0 T )eL (T1 T ) (T0 T )eL + (T1 T ) , C2 = . L eL e eL eL

(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.

A peremrtk-feladatok numerikus mdszerei

10.6.2. A tesztfeladat numerikus megoldsa MATLAB segtsgvel


Alkalmazzuk a belvses mdszert a (10.6.4)(10.6.5) feladatra. Els lpsben felrjuk a msodrend kznsges dierencilegyenletet egy ktismeretlenes, elsrend rendszerknt:

T (x) = z(x), z (x) = D(T T (x)).


Kezdeti felttelknt a

(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

rtkt a belvses mdszernek megfelelen pedig gy

vlasztjuk meg, hogy a (10.6.10)(10.6.11) kezdetirtk-feladat

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

rtk mellett az explicit Euler-mdszerrel kiszmolja a numerikus

megoldst. Bemen paramterknt a

[0, L] intervallum felosztshoz szksges osztsrszek szma

komponens-fggvny kezdeti rtke (z0) szerepel. Kimen param-

= L)

hmrsklet (T L), a csompontokban szmolt hmrskletek (T vect)

s a csompontok koordinti (xvect) szerepelnek. A rutin a kvetkez:

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.

A peremrtk-feladatok numerikus megoldsa MATLAB segtsgvel

Ezzel a rutinnal teht egy adott kezdeti

rtkkel tudjuk meghatrozni a hmrskleteloszlst.

Nyilvnvalan ez nmagban nem elegend, hiszen a kiszmolt

mdszer algoritmust kvetve a bvps rutinnal klnbz kezdeti

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

intervallum felosztshoz szksges osztsrszek szma, kezdeti rtke (ami az ismeretlen

zstart: deltaz : N z:

z(0)

fggvny gradienst jelenti az

x = 0

pontban, azaz a hmrsklet gradiense a kezdet idpontban), a klnbz

z(0)

rtkek meghatrozsra szolgl megvltozs,

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

rtkt. (Ezzel lltjuk el az interpolcis alappontokat.)

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.

A peremrtk-feladatok numerikus mdszerei

x eh
rend

1 64.0278e + 000

0.1 4.6133e 001 1.1453e 001

0.01 4.6786e 002 1.0142e 001

0.001 4.6852e 003 1.0014e 001

0.0001 4.6859e 004 1.0001e 001

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.

x lpskz fggvnyben a hibavektor maxi-

mumnormjt a 10.6.1. tblzat mutatja. A pontos s numerikus megoldsok az egyes rcshlkon

10.6.1. megjegyzs.
nagyobb

Futtatsainkat

Nz = 4

zstart = 12

rtkekkel hajtottuk vgre. Ha

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.

A peremrtk-feladatok numerikus megoldsa MATLAB segtsgvel

x eh
rend

1 6.3073e 001

0.1 6.6929e 003 1.0611e 002

0.01 6.7386e 005 1.0068e 002

0.001 6.7433e 007 1.0007e 002

0.0001 6.7446e 009 1.0002e 002

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

is elegend. Ehhez elegend sszehasonltani a 10.6.5. s a 10.6.1. br-

kat, amelyeket ugyanolyan trbeli felosztsra, de klnbz

Nz

rtkekre (N z

=2

N z = 10)

10.6.2. megjegyzs.

Ha nagyon tvoli

zstart

rtket adunk meg, akkor kevs interpolcis

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.

10.6.3. megjegyzs. Ha az explicit Euler-mdszer helyett a msodrend javtott Euler-mdszerrel


szmolunk, akkor eredmnyeink hibi a 10.6.2. tblzatban lthatk. Mint az vrhat volt, a mdszernk msodrendben konvergens.

10.6.1. bra. A stacionrius hmrskleteloszls az pont ekvidisztns rcshln.

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.

A peremrtk-feladatok numerikus mdszerei

10.6.2. bra. A stacionrius hmrskleteloszls az tspont ekvidisztns rcshln.

L = 10m

hosszsg vezetkben

100

osz-

10.6.3. bra. A stacionrius hmrskleteloszls az tspont ekvidisztns rcshln.

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

hosszsg vezetk osztsrszeinek szmt (Nx) kell

10.6.

A peremrtk-feladatok numerikus megoldsa MATLAB segtsgvel

10.6.4. bra. A stacionrius hmrskleteloszls az tspont ekvidisztns rcshln.

L = 10m

hosszsg vezetkben

10000

osz-

10.6.5. bra. A stacionrius hmrskleteloszls az tspont ekvidisztns rcshln kt alappontra (N z

L = 10m hosszsg vezetkben 10 = 2) tmaszkod interpolcval.

osz-

z kzelt megoldst tartalmaz vektort (Tmego) kapjuk.

tankonyvtar.bme.hu 327

10.

A peremrtk-feladatok numerikus mdszerei

osztsrszek szma

hiba max. normban

rend

3 6 12 24 48 96 192 384 768 1536

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)

tartoz vges dierencis megoldst a pontos megoldssal egytt a 10.6.6.-

10.6.8. brkon brzoltuk. 328 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.6.

A peremrtk-feladatok numerikus megoldsa MATLAB segtsgvel

10.6.6. bra. A stacionrius hmrskleteloszls az

L = 10m

hosszsg vezetkben vges diffe-

rencikkal a ngy pontbl ll ekvidisztns rcshln.

10.6.7. bra. A stacionrius hmrskleteloszls az rencikkal a 7 pontbl ll ekvidisztns rcshln.

L = 10m

hosszsg vezetkben vges diffe-

Befejezsl hasonltsuk ssze mdszereinket ugyanazon diszkrt rcshln! Legyen azaz 9 osztspont,

N x = 8, x = 1.25 lpskz rcshln hasonltjuk ssze az explicit Euler- s javtott

explicit Euler-mdszeres belvses eredmnyeinket, valamint a vges dierencis mdszert a pontankonyvtar.bme.hu 329

10.

A peremrtk-feladatok numerikus mdszerei

10.6.8. bra. A stacionrius hmrskleteloszls az rencikkal a 10 pontbl ll ekvidisztns rcshln.

L = 10m

hosszsg vezetkben vges diffe-

rcspont

explicit Euler

javtott EE

vges dierencik

pontos megolds

0 1.2500 2.5000 3.7500 5.0000 6.2500 7.5000 8.7500 10.0000

300.0000 287.2008 282.2141 284.0400 292.2889 307.1033 329.1279 359.5199 400.0000

300.0000 287.6551 282.0058 282.6293 289.5832 303.4096 325.1783 356.5687 400.0000

300.0000 287.3173 281.4562 281.9589 288.8646 302.7129 324.5856 356.1916 400.0000

300.0000 287.3173 281.4562 281.9589 288.8646 302.7129 324.5856 356.1916 400.0000 Nx = 8


feloszts esetn. A

10.6.4. tblzat. A klnbz mdszerek eredmnyei a tesztfeladatra

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

330 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.7.

Feladatok

10.6.9. bra. A stacionrius hmrskleteloszls az mdszerekkel a

L = 10m

hosszsg vezetkben a klnbz

x = 1.25

lpskz ekvidisztns rcshln.

10.6.10. bra.

Kinagytva az elz bra. A pontos megolds szne piros, az explicit Euler-

mdszeres belvses mdszer zld, a javtott explicit Euler-mdszeres belvses mdszer fekete, a vges dierencis megolds pedig kk.

10.7.1. feladat. Mutassuk meg, hogy az

u = (5u + sin(3u)) et ; u(0) = 0, u(1) = 0


tankonyvtar.bme.hu 331

10.

A peremrtk-feladatok numerikus mdszerei

feladatnak ltezik egyrtelm megoldsa. (tmutats. Vizsgljuk meg a jobb oldali fggvny lipschitzessgt!) 10.7.2. feladat. Mutassuk meg, hogy az

u = sin(tu) + u2 ; u(1) = 3, u(4) = 7


s az

y = 16 sin(t(4s + 1)y) + y 2 ; y(0) = 3, y(1) = 7


peremrtk-feladatok ekvivalensek egymssal. (tmutats. Alkalmazzuk a fggetlen vltoz transzformcijt!) 10.7.3. feladat. Mutassuk meg, hogy az

u = 2 exp(t cos u); u(0) = 0, u(1) = 0


feladatnak ltezik egyrtelm megoldsa. (tmutats. Vizsgljuk meg a jobb oldali fggvny lipschitzessgt!) 10.7.4. feladat. Hatrozzuk meg azon

(, )

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

(, )

pr, amelyre a feladatnak nem ltezik megoldsa?

10.7.6. feladat. lltsuk el az

u = u2 u(0) = 2/3, u(1) = 3/8


feladat megoldst! 10.7.7. feladat. Vizsgljuk meg a 10.7.6. feladatot az

u(0) = 0, u(1) = 1
peremfelttelekkel! 10.7.8. feladat. Tekintsk az

u = 4u, u(0) = 1, u(/2) = 1


peremrtk-feladatot! Melyik llts igaz az albbiak kzl?

nincs megoldsa; pontosan kt megoldsa van; pontosan egy megoldsa van; az elemi fggvnyek krben nincs megoldsa;

332 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

10.7.

Feladatok

egynl tbb megoldsa van.

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!

10.7.11. feladat. Hatrozzuk meg a

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!

u + y + 2 + 2(t 2) = 0, u(1) = 0, u(2) = 1


peremrtk-feladatot a belvses mdszer segtsgvel. rjunk MATLAB programot a mdszer vgrehajtsra! Alkalmazzuk az EE-mdszert a kezdetirtk-feladatok megoldsra! 10.7.13. feladat. Oldjuk meg az

u = et + u cos t (t + 1)u , u(0) = 1, u(1) = 3


peremrtk-feladatot a belvses mdszer segtsgvel! Alkalmazzuk az RK2 mdszert a kezdetirtk-feladatok megoldsra! 10.7.14. feladat. Oldjuk meg a a 10.7.13. peremrtk-feladatot a belvses mdszer segtsgvel! Alkalmazzuk most az RK4 mdszert megoldsra! 10.7.15. feladat. rjuk t a bvpsee.m s shooting.m m-fjlokat arra az esetre, amikor a kezdetirtk-feladatok megoldsra ez explicit Euler-mdszer helyett a negyedrend RK4-mdszert alkalmazzuk! 10.7.16. feladat. rjuk t a bvpsee.m s shooting.m m-fjlokat gy, hogy az inverz interpolci helyett felrjuk a

h = 0.01

megvlasztssal a kezdetirtk-feladatok

fggvny Lagrange-interpolcijt s annak a gykt keressk meg!

Vges dierencik mdszere

10.7.17. feladat. Hatrozzuk meg

h = 0.5

lpskz mellett vges dierencik mdszervel az

u + 2u + 10t = 0, u(0) = 1, u(1) = 2


peremrtk-feladat megoldst a

t = 0.5

pontban!

tankonyvtar.bme.hu 333

10.

A peremrtk-feladatok numerikus mdszerei

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

u + cu = f, x (0, l), u (0) = , u(l) =


feladatra! 10.7.20. feladat. rjuk fel a 10.7.19. feladat vges dierencis kzeltst s annak opertoregyenletes alakjt! 10.7.21. feladat. Mutassuk meg a 10.7.20. feladatban meghatrozott kzeltsek konvergencijt! (Hasznljuk fel, hogy a megfelel

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

L0,h , L0,h : F( h ) F(h )

(2)

(3)

azokat az opertorokat, amelyek egy

vh F( h )
(2)

fggvnyre a kvetkez mdon hatnak:

L0,h vh (t) =
(3)

vh (t + h) 2vh (t) + vh (t h) vh (t) vh (t h) +pi +qi vh (t), t h , h2 h

(10.7.1)

L0,h vh (t) =
Legyen

vh (t + h) 2vh (t) + vh (t h) vh (t + h) vh (t h) + pi + qi vh (t), t h . 2 h 2h


(10.7.2)

(k) L0,h vh (k) Lh vh = B1,h vh , k = 2, 3. B2,h vh


Mutassuk meg, hogy ebben az esetben is

(10.7.3)

Lh

(k)

felrhat (10.5.83) alak mtrix alakjban, ahol

ai , di , ci

rtkei a (10.5.26) illetve a (10.5.27) kplet szerintiek.

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

u + a(t)u + b(t)u = f (t), u(0) = Ta , u(1) = Tb


peremrtk-feladat megoldst! 10.7.26. feladat. Oldjuk meg a MATLAB program segtsgvel az

u (t)+t cos u(t) = 0, u(0) =


feladatot vges dierencia

0, u(1) = 0

feladatot vges dierencia mdszerrel!

10.7.27. feladat. Oldjuk meg az (A pontos megolds:

u (t) = u, u(0) = 3, u(/2) = 7

mdszerrel. Ksztsnk tblzatot a lpskz s a hiba kapcsolatrl! brzoljuk ezt a fggvnyt!

u(t) = 7 sin t + 3 cos t.) u (t) = 2et u, u(0) = 2, u(1) = e + cos 1


feladatot vges

10.7.28. feladat. Oldjuk meg az a fggvnyt! (A pontos megolds:

dierencia mdszerrel. Ksztsnk tblzatot a lpskz s a hiba kapcsolatrl! brzoljuk ezt

u(t) = et + cos t.)

334 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

11. A parcilis dierencilegyenletek numerikus mdszerei


Ebben a fejezetben a parcilis differencilegyenletek feladatainak elmleti sszefoglalsa utn azok numerikus megoldsi mdszereivel foglalkozunk. Ismertetjk a legtipikusabb vges dierencik mdszert a klnbz feladatokra.

11.1. A parcilis dierencilegyenletek alapfogalmai


A dierencilegyenletek kzs vonsa, hogy a fggvny s derivltjai kztti ismert kapcsolatbl kell magt a fggvnyt meghatrozni. Amikor a keresett fggvny egyvltozs, akkor kznsges dierencilegyenletnek nevezzk a problmt. Az ezzel kapcsolatos krdseket, belertve a numerikus megoldsi mdszereket, az elz kt szakaszban mr trgyaltuk erre az esetre. Amikor az ismeretlen fggvny tbbvltozs, s gy az emltett kapcsolat az ismeretlen fggvny s annak

parcilis derivltjai

kztti kapcsolatot jelenti,

parcilis differencilegyenletrl

beszlnk. Nhny

tipikus ktvltozs parcilis differencilegyenlet s elnevezsk: a. Laplace-egyenlet:

2 u(x, y) 2 u(x, y) + = 0, x2 y 2
b. Poisson-egyenlet:

(11.1.1)

2 u(x, y) 2 u(x, y) + = f (x, y), x2 y 2


c. hvezetsi egyenlet:

(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)

u(x, t) (k(x, t)u(x, t)) = 0, t x


f. dizis egyenlet:

(11.1.5)

u(x, t) t x
g. reakci-dizis egyenlet:

D(u, x, t)

u(x, t) x

= 0,

(11.1.6)

u(x, t) 2 u(x, t) = R(u), t x2


ahol

(11.1.7)

R(u)

egy adott fggvny, 337

11.

A parcilis differencilegyenletek numerikus mdszerei

h. biharmonikus egyenlet:

4 u(x, y) 4 u(x, y) 4 u(x, y) +2 + = 0. x4 x2 y 2 y 4


A fenti pldkban vezzk az

(11.1.8)

x, y

trbeli vltozkat, t

az

idbeli vltozt, u

pedig az

jelli. A parcilis differencilegyenletek elmletben hasznlatos nhny elnevezs.

ismeretlen fggvnyt Rendnek nellandak

fggvny legmagasabb elfordul parcilis derivlsi rendjt. Ezrt e. elsrend, h. avagy

negyedrend, a tbbi pedig msodrend parcilis differencilegyenlet. Megklnbztetjk azokat

fggvnyek.

az eseteket, amikor az ismeretlen fggvny parcilis derivltjainak egytthati

Pldinkban a., b., c., d., g. s h. lland egytthats parcilis differencilegyenlet,

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

a feladatunkat. Pldinkban f. s tetni a s az

lineris parcilis nemlineris parcilis differencilegyenletnek nevezzk nemlineris R fggvny esetn g. nemlineris, a tbbi pedig

lineris parcilis differencilegyenlet. Vgezetl, lineris feladatok esetn szoksos megklnbz-

inhomogn

parcilis differencilegyenleteket. Az utbbi azt jelenti, hogy az

egyenletben szerepel az ismeretlen

fggvnytl illetve annak parcilis derivltjaitl nem fgg

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

esetn vizsgljuk, a trbeli vlto-

zk viszont akrmilyen eljelek lehetnek. (Emellett a modellekben

mindig nveked irnyban

vltozik, s a jelensgek tipikusan idben nem megfordthatk, a trbeli vltozk viszont akrmilyen irnyban vltozhatnak.) Az olyan feladatot, amelyben az ismeretlen fggvny idben nem

u nem fgg t-tl), stacionrius feladatnak (instacionrius) feladatrl beszlnk.


vltozik (azaz lalkozunk. Tekintsk teht az

nevezzk, ellenkez esetben

idfgg

Mi a tovbbiakban a ktvltozs, msodrend, lineris parcilis differencilegyenletekkel fog-

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

adottak. (Ezen fggvnyek

alkalmas megvlasztsval, illetve az mindegyike felrhat.) A (11.1.9) egyenletben szerepl

korbbi lineris msodrend pldk (a.-f.)

(L0 u)(x, y) = a(x, y)


rszt az

2 u(x, y) 2 u(x, y) 2 u(x, y) + 2b(x, y) + c(x, y) x2 xy y 2


nevezzk. Az

(11.1.10)

opertor

frsznek

L0

opertornak megfeleltethetjk a (11.1.11)

B(xy) (, ) = a(x, y)2 + 2b(x, y) + c(x, y) 2


kvadratikus alakot, s ez alapjn az rgztett

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.

338 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.1.

A parcilis dierencilegyenletek alapfogalmai

11.1.1. denci.
Azt mondjuk, hogy az

L
az

opertor (mskppen, a (11.1.9) egyenlet)

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

parabolikus tpus hiperbolikus tpus

az az

(x, y) (x, y)

pontban, ha pontban, ha

Azt mondjuk, hogy elliptikus (parabolikus, hiperbolikus) tpus az elliptikus (parabolikus, hiperbolikus) tpus a

tartomny mindegyik pontjban.

Ha (11.1.9) lland egytthats, akkor az perbolikus tpus a teljes

tartomnyon azonos tpus. Pldul a Laplace-

s a Poisson-egyenletek elliptikus, a hvezetsi egyenlet parabolikus, a hullmegyenlet pedig hi-

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

{(x, y) R , |y| = |x|}


hiperbolikus tpus.

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;

msodik (Neumann-) tpus peremfelttel,

ami azt jelenti, hogy a

-beli

perempontban

ismerjk a norml irny derivltjnak az rtkt; tankonyvtar.bme.hu 339

11.

A parcilis differencilegyenletek numerikus mdszerei

harmadik (Robin-) tpus peremfelttel,


lineris kombincijnak rtkt. A

ami azt jelenti, hogy a

-beli

perempontban elre

megadjuk a megoldsfggvny s annak kls normlvektor irny derivltjnak valamely

dsfggvny s/vagy annak

kezdeti (Cauchy-) felttel megadsa azt jelenti, hogy t = 0 t szerinti derivltjnak az rtkt.

idpontban megadjuk a megol-

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

megadott els, msodik vagy harmadik peremfelttellel, megadott

a parabolikus feladatok a

t = 0-ban

u(x, 0)

kezdeti felttellel s a trbeli hatron

megadott els, msodik vagy harmadik peremfelttelek egyikvel,

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,

11.2. Lineris, msodrend, elliptikus parcilis differencilegyenletek


Ebben a rszben a lineris, msodrend, elliptikus parcilis differencilegyenletekkel s azok

ges dierencik mdszervel

v-

trtn numerikus megoldsval foglalkozunk. Megmutatjuk, hogy

az elz fejezetben trgyalt ktpontos peremrtk-feladatok s azok vges dierencia mdszeres numerikus megoldsi technikja lnyegben kiterjeszthet az ebben a szakaszban vizsglt feladatra.

11.2.1. A Laplace-egyenlet analitikus megoldsa egysgngyzeten


Tekintsk a feladatot:

= (0, 1) (0, 1)

tartomnyon s annak

peremn az albbi els peremrtk-

2 u(x, y) 2 u(x, y) + = 0, (x, y) , x2 y 2 u(x, y) = (x, y), (x, y) .


Nyilvnvalan feltehet, hogy a peremfelttelt ler ebben az esetben a feladat megoldsa az szmunkra rdektelen.) Tegyk fel, hogy a peremfelttelt ler, adott nulla, vagyis a (11.2.2) peremfelttel helyett az

(11.2.1)

(11.2.2)

fggvny nem azonosan nulla, hiszen

u(x, y) = 0

fggvny lenne, s ezen eset vizsglata a

fggvny csak az

y = 1

oldal mentn nem

u(0, y) = 0, u(1, y) = 0, y (0, 1), u(x, 0) = 0, u(x, 1) = 4 (x), x (0, 1)


peremfelttelekkel oldjuk meg a (11.2.1) egyenletet. Keressk a megoldst

(11.2.3)

u(x, y) = X(x) Y (y)


340 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

(11.2.4)

11.2.

Lineris, msodrend, elliptikus parcilis differencilegyenletek

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

Y (y) X (x) = X(x) Y (y)

(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

Y (y) X (x) = = X(x) Y (y)

X (x) = X(x), x (0, 1)


egyenletbe, az

(11.2.8)

egyenletet kapjuk. Msrszt, behelyettestve a (11.2.4) alakot a (11.2.3) peremfelttelek els kt

X(0)Y (y) = X(1)Y (y) = 0

egyenlsget kapjuk, amely az

Y (y) = 0

miatt az (11.2.9)

X(0) = X(1) = 0
felttelt jelenti. Clunk teht olyan feladatnak ltezik a trivilis megoldst az

R szm meghatrozsa, amely mellett X(x) = 0 fggvnytl klnbz C 2 [0, 1]-beli

a (11.2.8)-(11.2.9) megoldsa. Mivel

(11.2.8) egy lland egytthats, msodrend kznsges dierencilegyenlet, ezrt ltalnos

s2 + = 0

karakterisztikus egyenletnek gykeivel hatrozhatjuk meg. Ez

elje-

lnek fggvnyben az albbi esetekhez vezet.

Tegyk fel, hogy

< 0.

Ekkor a karakterisztikus egyenlet gykei valsak, s a (11.2.8)

egyenlet ltalnos megoldsa

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

egyenlsget jelenti, ezrt

alak. A msik,

peremfelttelt ide behelyettestve az

X(1) = C1 e
egyenlsg csak

= 0

felttelt kapjuk. Mivel

> e

, ezrt a fenti

C1 = 0

esetn lehetsges, ami az

X(x) = 0

megoldst eredmnyezi. Mivel

ez nem megengedett, ezrt ez az eset nem lehetsges.

Tegyk fel, hogy megoldsa

= 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.

Ekkor a karakterisztikus egyenlet gykei

i .

gy a (11.2.8)

egyenlet ltalnos megoldsa

X(x) = C1 sin( x) + C2 cos( x).


tankonyvtar.bme.hu 341

11.

A parcilis differencilegyenletek numerikus mdszerei

Az

X(0) = 0

felttel miatt

jelenti. Mivel rtkekre a

C1 = 0,

ezrt

C2 = 0. Teht az X(1) = 0 felttel = k (k = 1, 2, . . .) felttelt ez a k = k 2 2 , k = 1, 2, . . .

C1 sin

=0

felttelt

adja, azaz a lehetsges

(11.2.10)

rtkeket kapjuk. Teht az

Xk (x) = Ck sin(kx), k = 1, 2, . . .
fggvnyek tetszleges Trjnk t az

(11.2.11)

Ck

llandk mellett megoldsai a (11.2.8)-(11.2.9) feladatnak.

Y (y)

fggvny meghatrozsra! A (11.2.7) egyenlsg felhasznlsval az

Y (y) = Y (y), y (0, 1)


egyenletet kapjuk, ahol (11.2.10) alapjn szerepl

(11.2.12)

= k = k 2 2 . Y (0) = 0.

Msrszt, a (11.2.3) sszefggsben

u(x, 0) = 0

peremfelttel kvetkeztben (11.2.13)

Teht olyan

Yk (y) (k = 1, 2, . . .)

nem nulla fggvnyeket keresnk, amelyekre (11.2.14)

Yk (y) = k 2 2 Y (y), y (0, 1), Yk (0) = 0.


Az egyenlet ltalnos megoldsa

Yk (y) = C1 eky +C2 eky , s gy Y (0) = C1 +C2 = 0. Teht eky eky 2

C2 = C1 ,

vagyis a (11.2.14) tulajdonsg fggvnyek felrhatk

1 1 Yk (y) = Ck eky eky = 2Ck


1

1 = Ck sinh(ky)

(11.2.15)

alakban , ahol

1 Ck

illetve

1 Ck

tetszleges llandk. esetn brmely tetszleges

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

lland mellett az (11.2.16)

uk (x, y) = Xk (x)Yk (y) = Ck sin(kx) sinh(ky)


els hrom (homogn) peremfelttelt. gy az

fggvnyek olyan fggvnyek, amelyek megoldsai a (11.2.1) egyenletnek, s kielgtik a (11.2.3)

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

mentn adott inhomogn peremfelttel is teljesljn erre az

fggvnyre! Nyilvnvalan (11.2.17) s (11.2.16) alapjn

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)

1 A sinh a jl ismert szinusz hiperbolikus fggvny, amelyet gyakran az sh szimbolummal is jellnek.


342 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.2.

Lineris, msodrend, elliptikus parcilis differencilegyenletek

alak, ahol

k = 2 4
0

4 (s) sin(ks)ds.

(11.2.20)

A (11.2.18) s a (11.2.19) kpletek sszevetsbl

Ck =
sszegezve: az

k 4 . sinh(k)

(11.2.21)

u(x, y) =
k=1
fggvnysorral denilt

k 4 sin(kx) sinh(ky) sinh(k)

(11.2.22)

u(x, y)

fggvny a fggvnysor egyenletes konvergencija esetn megol-

dsa lesz a (11.2.1)-(11.2.3) feladatnak.

11.2.1. megjegyzs.

Ezek utn az

= (0, 1) (0, 1)

tn elllthat a kvetkez mdon. Vezessk be a 3 (x), (x, 1) = 4 (x) j fggvnyeket, s tekintsk

1. eset:

kitztt (11.2.1)-(11.2.2) els peremrtk-feladat megoldsa

peremn tetszleges (x, y) peremfelttel ese(0, y) = 1 (y), (1, y) = 2 (y), (x, 0) =


egysgngyzeten illetve annak a kvetkez ngy peremfelttel-rendszert:

u(0, y) = 1 (y), u(1, y) = 0, y (0, 1), u(x, 0) = 0, u(x, 1) = 0, x (0, 1).

(11.2.23)

2. eset:

u(0, y) = 0, u(1, y) = 2 (y), y (0, 1), u(x, 0) = 0, u(x, 1) = 0, x (0, 1).

(11.2.24)

3. eset:

u(0, y) = 0, u(1, y) = 0, y (0, 1), u(x, 0) = 3 (x), u(x, 1) = 0, x (0, 1).

(11.2.25)

4. eset:

u(0, y) = 0, u(1, y) = 0, y (0, 1), u(x, 0) = 0, u(x, 1) = 4 (x), x (0, 1).

(11.2.26)

Jellje rendre

u1 (x, y), u2 (x, y), u3 (x, y)

(11.2.26) peremfelttelekkel. (Az elzekben az gijaknt hasonlan meghatrozhatjuk a

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

u2 (x, y) + u3 (x, y) + u4 (x, y)


knyvben [32].

fggvny lesz a megoldsa az eredeti (11.2.1)-(11.2.2) feladatnak.

Tovbbi rszletek s ms tpus feladatok ilyen jelleg megoldsa megtallhatk pl. Stephenson

11.2.2. megjegyzs. Felmerlhet a krds: nem ltezik-e a (11.2.1)-(11.2.2) feladatnak a (11.2.22)


fggvnytl eltr ms megoldsa is? A vlasz nemleges. Ugyanis ha egy

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.

A parcilis differencilegyenletek numerikus mdszerei

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.

vges dierencik mdszervel

fogjuk

a kzelt megoldst ellltani, s megvizsgljuk, hogy az alkalmasan meghatrozott kzelt

11.2.2. Elliptikus egyenletek kzelt megoldsa vges dierencik mdszervel


Ebben a rszben a Laplace-egyenletnl ltalnosabb alak elliptikus tpus parcilis differencilegyenlet peremrtk-feladatnak vges dierencis megoldsval foglalkozunk. Tekintsk a

2 u(x, y) 2 u(x, y) + x2 y 2

+ c(x, y)u(x, y) = f (x, y), (x, y) ,

(11.2.27)

u(x, y) = (x, y), (x, y)


tellel, ahol

(11.2.28)

msodrend, elliptikus tpus parcilis differencilegyenletet az els (Dirichlet-fle) peremfelt-

c, f

adott fggvnyek. Jellje

L : C 2 () C() C() + cw (x, y),


ha ha

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

f (x, y), (x, y),

ha ha

(x, y) ; (x, y) .

(11.2.30)

Lu = f
opertoregyenlet megoldsa, ahol

(11.2.31)

u C 2 ()

az ismeretlen fggvny.

A tovbbiakban feltesszk a kvetkezket.

c C() c 0,

f C() C(),

= (0, l) (0, l).


Mivel a (11.2.31) feladat analitikus megoldst ltalnos esetben nem tudjuk ellltani, ezrt numerikus eljrst alkalmazunk. Ennek lnyege a kvetkez. 344 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.2.

Lineris, msodrend, elliptikus parcilis differencilegyenletek

1. Denilunk az

halmazon rcshlkat az albbi mdon:

h = {(xi , yj ), xi = ih, yj = jh, i, j = 1, 2, . . . , N 1, h = l/N } h = {(xi , yj ), xi = ih, yj = jh, i, j = 0, 1, . . . , N, h = l/N }.


Jellje 2. Jellje

h = h \h F( h )
s

az

rcshl s az

peremre es pontjait.

F(h )

az

rcsokon rtelmezett,

R-be

kpez fggvnyek vek-

tortert. 3. Clunk olyan

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

eltrsk nullhoz tart . Adjunk meg olyan

Lh : F( h ) F( h )

lineris opertort s

bh F( h )

elemet, amelyekre az (11.2.32)

Lh yh = bh
opertoregyenlet Az

yh F( h )

megoldsa rendelkezik a fentiekben lert tulajdonsggal.

Lh

opertor megvlasztsnl tletknt a vges dierencis approximci szolgl. Egy

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 )

rcsfggvnyt a kvetkez mdon:

bh (xi , yj ) =
Ekkor

f (xi , yj ), (xi , yj ),

ha ha

(xi , yj ) h ; (xi , yj ) h .

(11.2.34)

bh

rtke

mindegyik rcspontjban meghatrozhat, s a (11.2.32) egyenlet azt jelenti,

hogy keressk azon vektorba kpez le.

yh F( h )

rcsfggvnyt, amelyet a (11.2.33) szerinti

Lh

opertor ebbe a

bh

11.2.3. megjegyzs.
meghatrozshoz az

Mint az ismeretes, egy fggvnyt akkor tekintnk ismertnek, ha tud-

juk, hogy az rtelmezsi tartomnynak pontjaiban milyen rtkeket vesz fel. Ezrt teht

yh

yh (xi , yj )

rtkek ismerete szksges. A (11.2.32) egyenlet az

yh

fggvny

rcspontbeli rtkeire nzve egy lineris algebrai egyenletrendszert jelent, ahol az ismeretlenek szma egyenl az egyenletek szmval, s mindkett

(N + 1)2 .

Ezrt a (11.2.32) feladat egy

(N + 1)

ismeretlenes lineris algebrai egyenletrendszert jelent, amely felrhat

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.

A parcilis differencilegyenletek numerikus mdszerei

alakban, ahol

bh R

(N +1)

yh R(N +1)

az

yh

rcsfggvny rcspontbeli rtkeibl ll ismeretlen vektor,

a bh rcsfggvny rcspontbeli rtkeibl ll ismert vektor, s

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

paramter megfelelen kis megvlasztsa mellett jl kzelti

megoldst. Ez a kvetkezt jelenti. Minden

(xh , yh ) h

rcspontsorozatot denilni, amelyre

(x , y ) ponthoz tudunk h 0 esetn (xh , yh ) (x , y ). Ekkor

a numerikus mdszer konvergencija a

lim
(xh ,yh )(x ,y )
relcit jelenti.

(yh (xh , yh ) u(x , y )) = 0

(11.2.36)

11.2.3. ltalnos kitzs s az alapttel


Ebben a rszben a 11.2.2. rszben megfogalmazott feladatokat ltalnos formban lerjuk, majd az alapttelben megadunk egy olyan felttelt, amely mellett a (11.2.36) tulajdonsg biztosthat. Jellje

Ph : C() F( h )

a (11.2.37)

(Ph v)(xi , yj ) = v(xi , yj ), (xi , yj ) h


lekpezst, azaz a pontjaiban . Legyen
4

Ph v F( h )

rcsfggvny a

fggvny rtkeit veszi fel az

rcshl

L : C 2 () C() C()

egy olyan lineris opertor, amelyrl feltesszk, hogy az

Lu = f
egyenlet minden olyan lineris

(11.2.38) Legyen tovbb

f C() C() esetn korrekt kitzs. opertor, s bh F( h ) olyan rgztett elem, Lh yh = bh

Lh : F( h ) F( h )
(11.2.39)

amely mellett az

opertoregyenlet is korrekt kitzs. gy lteznek (s egyrtelmek) a (11.2.38) s a (11.2.39) feladatok Az

illetve

yh

megoldsai.

eh = yh Ph u F( h )

(11.2.40)

hibafggvny

jells bevezetsvel a (11.2.36) tulajdonsg azt jelenti, hogy

h0
Itt

lim eh

F( h )

= 0.

(11.2.41)

F( h ) az

F( h )-beli

rcsfggvnyeken rtelmezett valamelyik normt jelenti.

11.2.4. denci.
Az

yh

numerikus megoldst elllt numerikus mdszert az

nek nevezzk, ha (11.2.41) teljesl. Ha konvergensnek nevezzk.

eh

F( h )

= O(hp ),

akkor a mdszert

F( h ) normban konvergensp-ed rendben

4 A P opertort projekcis opertornak (ms szval: -ra kpez projekcinak ) nevezzk. h h


346 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.2.

Lineris, msodrend, elliptikus parcilis differencilegyenletek

A tovbbiakban a valamely norma melletti konvergencival s annak rendjvel foglalkozunk. A (11.2.40) sszefggsbl ler egyenletbe az

yh = eh + Ph u. Ezt behelyettestve a (11.2.39) numerikus mdszert Lh eh = bh Lh Ph u


(11.2.42)

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.

(11.2.44) Ezrt a (11.2.43) alapjn

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

rcshln. A (11.2.45) sszefggsben a msodik tag azt

milyen pontosan approximlja az

megoldsfggvnyre. Termszetes elvrs, hogy

h0

esetn

h rcshln az L opertort h nullhoz tartson.

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

akkor a mdszert (az adott norm-

Mint azt az elz fejezetben lttuk, a konzisztencibl mg nem mutathat meg kzvetlenl a konvergencia: ehhez az

Lh

opertorok egy tovbbi tulajdonsga is kellett. Eddig azt tettk

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

opertorokra nzve azt a kve-

telmnyt eredmnyezi, hogy az opertorok invertlhatak, s az inverz opertorok korltosak. A

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,

azaz ltezik olyan

K>

1 F( h ) normban, ha az (Lh ) 0, h-tl fggetlen lland, amely

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.

A parcilis differencilegyenletek numerikus mdszerei

Most mr bebizonythatjuk az alapttelt.

11.2.8. ttel.
Legyen a (11.2.38) feladat korrekt kitzs. Tegyk fel tovbb, hogy a (11.2.39) diszkretizlt feladatok

korrekt kitzsek, konzisztensek a stabilak a

F( h ) normban,

F( h ) normban.

Ekkor a numerikus mdszer konvergens a megegyezik a konzisztencijnak rendjvel.

F( h ) normban, s konvergencijnak rendje

Bizonyts. A (11.2.44) egyenlsg s a ttel feltteleinek kvetkeztben

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

megoldsnak ismerete szk-

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

ismerete. A konzisztencit (s annak rendjt) egy megfelelen

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

megoldsnak nincs szerepe benne.

11.2.4. Az elliptikus feladatok numerikus kzeltsnek konvergencija


Ebben rszben a (11.2.32) feladat numerikus megoldsnak maximumnormabeli konvergencijval foglalkozunk, ahol az egyenletben az opertor s a jobb oldal megvlasztsa (11.2.33) s (11.2.34) alak. Ennek beltshoz a 11.2.8. ttelt alkalmazzuk. Teht tovbbi feladatunk a maximumnormabeli konzisztencia s stabilits vizsglata.

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.

Bizonyts. Azt kell megmutatnunk, hogy minden Mivel

(xi , yj ) h

pontban

(xi , yj ) h

esetn

h (xi , yj ) = 0,

ezrt elegend az lltst csak

h (xi , yj ) = O(h2 ). az (xi , yj ) h bels

348 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.2.

Lineris, msodrend, elliptikus parcilis differencilegyenletek

rcspontokra megmutatnunk. Ezekben a pontokban

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 ) =

2u 2u (xi , yj ) 2 (xi , yj ) + c(xi , yj )u(xi , yj ), x2 y

(11.2.50)

ezrt a (11.2.49) kifejezs trhat a kvetkez alakra:

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

4u 4u (xi , yj ) + 4 (xi , yj ) h2 + O(h4 ). x4 y h2 -es h

vezet tag egytthatja

(11.2.52)

h (xi , yj ) = O(h2 ),

ahol a

M4 /6.

Ezzel belttuk a (11.2.53)

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

az ezen opertornak megfeleltetett mtrix. Ekkor

Lh

Lh

M-mtrix.

Bizonyts. A (11.2.33) dencibl nyilvnvalan az pozitvak. Ezrt elegend megmutatni, hogy ltezik

Lh gh > 0. Legyen gh F( h ) a kvetkez rcsfggvny: gh

Lh mtrix diagonlon kvli elemei nem(N +1)2 -beli gh > 0 vektor, amelyre olyan R
(11.2.54)

gh (xi , yj ) = [1 + ih(l ih)] + [1 + jh(l jh)].


Jellje s azt a vektort, amelynek

k -adik
s

koordintja

i, j = 0, 1, . . . , N .5

Ekkor nyilvnvalan

gh,k 2

gh,k = gh (xi , yj ), ahol k = j(N + 1) + i (Lh gh )k = 2 azokban a k -adik koorh


ha-

dintkban, amelyekre

i {0, N }

j {0, N }.

(Vegyk szre, hogy ezen pontok a

trpontokhoz tartoznak.) Egyszer behelyettestssel ellenrizhet, hogy

(xi , yj ) h

esetn

5 Az egyszerbb jells kedvrt a koordintk indexelst nulltl indtjuk.


tankonyvtar.bme.hu 349

11.

A parcilis differencilegyenletek numerikus mdszerei

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

ami az lltsunkat igazolja.

Lh

mtrixok invertlhatk. A tovbbiakban a megmutajuk, hogy az

inverzeire a maximumnormban j becsls adhat.

11.2.11. ttel.
A (11.2.33) szerinti

Lh : F( h ) F( h ) rcsopertornak megfeleltetett Lh R(N +1)

(N +1)2

regulris mtrix inverzeire rvnyes az

L1 h
becsls. Bizonyts. Mivel albbi mdon:

l2 + 4 4

(11.2.55)

Lh

M-mtrix, ezrt az inverznek maximumnormja fellrl becslhet az

L1 h
ahol

mini (Lh gh )i

gh

(11.2.56)

gh a (11.2.54) szerinti vektor. Az elzekben megmutattuk, hogy mini (Lh gh )i = 2. Msrszt,


ih(lih) l2 /4, azaz gh

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

a (11.2.32)-(11.2.34) numerikus sma megoldsa a maximumnormban msodrendben kon-

11.2.5. A numerikus mdszer realizlsnak algoritmusa


A (11.2.32)-(11.2.34) mdszer az kvetkezt jelenti. Ha

yh F( h ) yh

rcsfggvny meghatrozst jelenti. Ez nyilvnva-

lan a (11.2.35) lineris algebrai egyenletrendszer megoldsval trtnik, ami a gyakorlatban a

yi,j

jelli az

rcsfggvny

(xi , yj ) h

rcspontbeli rtkt, akkor

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

ci,j = c(xi , yj ), i,j = (xi , yj )

s az

fi,j = f (xi , yj )

egyszerst jellseket hasznl-

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

jobb oldali vektor alakjt.

k = j(N + 1) + i, az yh

A (11.2.57) alakjbl knnyen lthat, hogy azon vektor

indexekre, amelyekre i, j {0, N } s k -adik koordintjnak rtkt a peremfelttelbl ismerjk. (Ezek

6 Lsd az elz fejezet a 10.5.5. szakaszt.


350 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.2.

Lineris, msodrend, elliptikus parcilis differencilegyenletek

valjban a csak az

h pontjaiban felrt egyenleteknek felelnek meg.) Ezrt yh meghatrozshoz elegend


(N 1)2

pontjaihoz tartoz koordintkat meghatrozni. Ez azt jelenti, hogy a (11.2.35) feladat

helyett egy kisebb dimenzij lineris algebrai egyenletrendszer megoldsa szksges: az

(N +1)2

yh

vektorbl a fenti koordintk elhagysa utn nyert

-beli vektor meghatrozsa

szksges. Ezt a vektort a sma

pontjaiban felrt felttelekbl hatrozhatjuk meg, amely egy

(N 1)2
A

ismeretlenes lineris algebrai egyenletrendszert jelent. Hatrozzuk meg ezt a feladatot

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

(11.2.58) az ismeretlen vektor,

lineris algebrai egyenletrendszer alakjt lti, ahol

(N 1)2

ismert vektor, s

2 2 Lh R(N 1) (N 1)

bh

adott mtrix. Hatrozzuk meg ezek alakjt

a (11.2.57) sszefggsek alapjn! Vezessk be az

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

vektorok fenti tsorszmozsi szablynak megfelel

k -adik

yh = [y1 , y2 , . . . , yN 1 ] ,
Az egyszersg kedvrt tegyk fel, hogy a

bh = [b1 , b2 , . . . , bN 1 ] .
Alkalmazva a

Bh = tridiag[1, 4 + c, 1] tridiagonlis mtrixra, illetve a 0, Eh R(N 1)(N 1) Bh Eh 0 ... Eh Bh Eh . . . 1


...

c = lland.

Bh R(N 1)(N 1)

jellst

jellseket a

zro- illetve az egysgmtrixra, a (11.2.58) egyenletben a mtrix

Lh =

0 0

0 0 Bh Eh
...

... h2 0

0 0

...

0 0

alak hipermtrix. A jobb oldali vektorban szerepl kapjuk. A

Bh bi vektorok elemeire a kvetkez kifejezseket

... ... . . . Eh ... 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

1 1 + f1,i , bi,j = fj,i , bi,N 1 = 2 N,i + fN 1,i , 2 0,i h h


A

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.

A parcilis differencilegyenletek numerikus mdszerei

11.3. Lineris, msodrend, parabolikus parcilis differencilegyenletek


Ebben a szakaszban a lineris, msodrend, parabolikus parcilis differencilegyenletekkel s azok vges dierencik mdszervel trtn numerikus megoldsval foglalkozunk. Felrjuk a forrsmentes hvezetsi egyenlet homogn, els peremfelttel feladatnak analitikus megoldst, majd meghatrozzuk a vges dierencia mdszeres numerikus megoldst. A mdszer konvergencijnak vizsglatnl megmutatjuk, hogy az elliptikus tpus feladatokra alkalmazott technika lnyegben kiterjeszthet erre a feladatra is.

11.3.1. Az egydimenzis hvezetsi egyenlet analitikus megoldsa


t > 0 adott szm esetn jellje t = (0, 1) (0, t ] R2 halmazt, t t = 0, x = 0 s x = 1 egyenesekkel hatrolt ponthalmazt, azaz t = t \t . A t parabolikus peremnek nevezzk. Tekintsk a tovbbiakban t pontjaiban a
Tetszleges pedig a halmazt

u(x, t) 2 u(x, t) = 0, (x, t) t t x2


egyenletet a

(11.3.1)

parabolikus peremen megadott albbi kiegszt ("kezdeti+perem") felttelekkel:

u(x, 0) = 0 (x), x (0, 1); 0 = 0, 0 = 0, gy


Ha akkor a feladat megoldsa az a keresett megolds

u(0, t) = u(1, t) = 0, t [0, t ].

(11.3.2)

u=0

fggvny. Ezrt a tovbbiakban feltesszk, hogy

u = 0. u(x, t) = X(x) T (t)

Keressk a megoldst ismt az (11.3.3)

sztvlaszthat alakban, ahol

a nem azonosan nulla, egyelre ismeretlen s megfelelen

sima fggvnyek. Behelyettestve a (11.3.3) alak

fggvnyt a (11.3.1) egyenletbe, a (11.3.4)

T (t) X(x) X (x) T (t) = 0, (x, t) t


egyenletet nyerjk. Ekkor a (11.3.4) sszefggs alapjn az

X (x) T (t) = X(x) T (t)


valamely

(11.3.5)

azonossgot nyerjk, ami az elliptikus esethez hasonlan azt jelenti, hogy mindkt oldal lland:

szm mellett rvnyes az

X (x) T (t) = = X(x) T (t)


egyenlsg. Innen az

(11.3.6)

X (x) = X(x), x (0, 1)

(11.3.7)

egyenletet kapjuk. Msrszt, behelyettestve a (11.3.3) alakot a (11.3.2) kt peremfelttelbe, az

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)

352 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.3.

Lineris, msodrend, parabolikus parcilis differencilegyenletek

rtkeket kapjuk. Teht az

k Xk (x) = C1 sin(kx), k = 1, 2, . . .
fggvnyek tetszleges feladatnak. Trjnk t a

(11.3.10)

k C1

llandk mellett megoldsai a

= k

megvlaszts (11.3.7)-(11.3.8)

T (t)

fggvny meghatrozsra! A (11.3.6) egyenlsg felhasznlsval a

T (t) = T (t), t (0, t ]


egyenletet kapjuk, ahol (11.3.9) alapjn

(11.3.11)

= k = k 2 2 .
k Tk (t) = C2 ek t ,

Az egyenlet ltalnos megoldsa (11.3.12)

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

uk (x, t) = Xk (x)Tk (t) = Ck ek

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

0 (s) sin(ks) ds.

(11.3.17)

A (11.3.15) s a (11.3.16) kpletek sszevetsbl teht

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)

fggvny a fggvnysor egyenletes konvergencija esetn megol-

dsa a (11.3.1)-(11.3.2) feladatnak. tankonyvtar.bme.hu 353

11.

A parcilis differencilegyenletek numerikus mdszerei

11.3.1. megjegyzs.

A fenti megolds segtsgvel a

U (x, t) 2 U (x, t) = 0, (x, t) t t x2 U (x, 0) = M0 (x), x (0, 1);


(ahol

(11.3.20)

U (0, t) = , u(1, t) = , t [0, t ]

(11.3.21)

adott llandk) inhomogn peremfelttel feladat megoldsa is knnyen elllthat

hasonl vgtelen fggvnysor alakjban. Ehhez vezessk be

u(x, t) = (1 x) + x, x [0, 1]
jellst. (Nyilvnvalan

(11.3.22)

a (11.3.1)-(11.3.2) feladatnak, ahol az

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

a (11.3.17) kplet szerinti Fourier-egytthatival ellltott (11.3.19) fggvnysora meghatrozza

fggvnyt, s ennek ismeretben az ismeretlen fggvnyt kiszmolhatjuk az

sszefggsbl.

11.3.2. megjegyzs. Felmerlhet a krds: nem ltezik-e a (11.3.1)-(11.3.2) feladatnak a (11.3.19)


fggvnytl eltr megoldsa? A vlasz nemleges. Ugyanis ha egy

maximum-minimum elv :

zon kielgti a (11.3.1) egyenletet, s folytonos az

halmazon, akkor teljesl r az n.

a fggvny a legnagyobb s legkisebb

w(x, t) fggvny az t halmaparabolikus rtkt felveszi a t parabolikus

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

vges dierencik mdszervel

fogjuk a kzelt megoldst ellltani egy,

a (11.3.1)-(11.3.2) feladatnl ltalnosabb feladatra, s megvizsgljuk, hogy a kzelt megoldsok kzel lesznek-e a pontos megoldshoz.

11.3.2. A hvezetsi feladat numerikus megoldsa vges dierencik mdszervel


Ebben a rszben a (11.3.1)-(11.3.2) feladatnl ltalnosabb alak parabolikus tpus parcilis differencilegyenlet vges dierencis megoldsval foglalkozunk. Tekintsk a

u(x, t) 2 u(x, t) = f (x, t), (x, t) (0, l) (0, t ] t x2


egyenletet az

(11.3.23)

u(x, 0) = 0 (x), x (0, l)


kezdeti s az

(11.3.24)

u(0, t) = 1 (t), u(l, t) = 2 (t), t (0, t ]


peremfelttellel, ahol

(11.3.25)

0 , 1 , 2

adott fggvnyek. Legyen

halmaz, amelynek pontjaiban a (11.3.23) egyenletet felrjuk.

t = (0, l) (0, t ] R2 azon Jellje t az t \t parabolikus

354 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.3.

Lineris, msodrend, parabolikus parcilis differencilegyenletek

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) =

f (x, t), (x, t),

ha ha

(x, t) t (x, t) t

; .

(11.3.27)

Ekkor a (11.3.23)-(11.3.24) feladatunk az

Lu = f
opertoregyenlet megoldst jelenti, ahol

(11.3.28) az ismeretlen fggvny.

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

halmazon rcshlkat a kvetkez mdon:

h, = {(xi , tn ), xi = ih, tn = n, i = 1, 2, . . . , Nx 1, n = 1, 2, . . . , Nt } h, = {(xi , tn ), xi = ih, tn = n, i = 0, 1, . . . , Nx , n = 0, 1, . . . , Nt }.


Itt

Nx

Nt

jellik az

irny osztsrszek szmt,

diszkretizcis lpskzket. Jellje peremre es pontjait. 2. Jellje

h, = h, \h, t h,

az

h = l/Nx s = t /Nt pedig a h, rcshl t parabolikus R-be


kpez fggvnyek

F( h, )

F(h, )

az

h,

s az

rcsokon rtelmezett,

vektortert. 3. Clunk olyan

yh, F( h, )

rcsfggvny meghatrozsa, amely

h,

pontjaiban kzel

van a (11.3.1)-(11.3.2) feladat

megoldshoz, s a rcshl nomtsval (azaz

h, 0
elemet,

esetn) az eltrsk nullhoz tart. Adjunk meg teht olyan amelyekre az

Lh, : F( h, ) F( h, )

lineris opertort s

bh, F( h )

Lh, yh, = bh,


opertoregyenlet Az

(11.3.29)

yh, F( h, )

megoldsa rendelkezik a fentiekben lert tulajdonsggal.

Lh,

opertor megvlasztsnl tletknt a kvetkez lemma szolgl.

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.

A parcilis differencilegyenletek numerikus mdszerei

Bizonyts. rjuk fel az els llts bal oldaln szerepl fggvny elsrend Taylor-sorbafejtst!

w w w 2w (xi , tn1 + ) = (xi , tn1 ) + 2 (xi , t ) = (xi , tn1 ) + O( ). t t t t


Mivel

(11.3.31)

w(xi , tn1 + ) = w(xi , tn1 ) +


ezrt

2 2w w (xi , t ), (xi , tn1 ) + t 2 t2

(11.3.32)

w(xi , tn1 + ) w(xi , tn1 ) w = (xi , tn1 ) + O( ). t

(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,

rcspontbeli rtkeivel. Tekintsk a 11.3.3. lemma

O( + h2 ) pontossggal a w fggvny lltst a = 1 megvlasztssal! Ez


az

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

valamely rgztett mdon:

(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,

rcsfggvnybe kpez le.

A tovbbiakban, ahol nem okoz flrertst, a jellseinken elhagyjuk a ltni fogjuk a 11.3.7.. ttelben, a konvergencijra.)

paramter konkrt megvlasztsa nincs kihatssal a mdszer

11.3.4. megjegyzs.
felrhat

A 11.2.3. megjegyzshez hasonlan a (11.3.29) lineris opertoregyenlet

Lh, yh, = bh,


h, (Nx + 1)(Nt + 1).

(11.3.36) rcshl pontmeghatro-

alak lineris algebrai egyenletrendszerknt, amelynek mrete megegyezik az jainak szmval, azaz zshoz valjban nincs szksg az

Lh,

Ksbb ltni fogjuk, hogy esetnkben mtrix invertlsra.

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.

Lineris, msodrend, parabolikus parcilis differencilegyenletek

11.3.3. A vges dierencis kzelts konvergencija


A tovbbiakban a 11.3.2. rszben megfogalmazott feladat megoldhatsgval s konvergencijval foglalkozunk.

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,

bels rcspontokban (11.3.36) a kvetkez egyenletet jelenti:

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,

perempontokban (11.3.36) pedig a kvetkezt jelenti:

n yi = n . i
Ezrt az

(11.3.39)

Lh,

mtrix ftljban pozitv elemek (1/ ), mg a (11.3.37) felttel kvetkeztben azon

kvl nempozitv elemek llnak.

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

1 n 1 1 2 1 gi 2 gn1 2 gn1 + 2 gn1 = i1 i+1 i h h h 1 1 n n1 g gn1 + 2 gn1 + 2gn1 gi+1 = 2, i i1 i i h


=0

(11.3.40)

mivel egyszer behelyettestssel ellenrizheten 10.2.2. szakaszval.) Teht

gn + 2gn gn = 2h2 . i1 i i+1

(V.. a 10.. fejezet

Lh, g > 0. Ezrt Lh,

M-mtrix, ami az lltsunkat bizonytja.

11.3.6. kvetkezmny.
ximumnormjra:

A szoksos mdon ismt becsls adhat az

Lh,

mtrix inverznek ma-

L1 h,
Az elzekben megmutattuk, hogy kztti sszefggs alapjn

mini,n (Lh g)n i


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,

regulris mtrix inverzre rvnyes az

L1 h,
becsls.

(11.3.41)

tankonyvtar.bme.hu 357

11.

A parcilis differencilegyenletek numerikus mdszerei

Trjnk t a konvergencia vizsglatra! Legyen

Ph,

C(t ) F( h, )

projekci, azaz (11.3.42)

(Ph, w)(xi , tn ) = w(xi , tn ), (xi , tn ) h, ,


tovbb

wh, = Ph, w F( h, )

fggvny projekcijt. Ekkor a konvergencia valamely

F( h, ) nomban azt jelenti, hogy az

eh, = yh, Ph, u = yh, uh, F( h ) rcsfggvny 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

h, (xi , tn ) = n (Lh, uh, ) (xi , tn ) = n uh, (xi , tn ) = n n = 0, i i i i


ezrt elegend a loklis approximcis hibt csak az nunk. Ezekben a pontokban

(xi , tn ) h,

bels rcspontokban vizsgl-

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

u(xi , xi , tn1 + ) 2 u(xi , tn1 + ) , t x2

(11.3.44)

uh, (xi , tn ) = un i

jellssel a (11.3.34) sszefggs alapjn

(Lh, uh, )(xi , tn ) =


A (11.3.44) s a (11.3.45) alakban:

un1 2un1 + un1 un un1 i i1 i i i+1 . h2

(11.3.45)

sszefggsek alapjn teht a (11.3.43) kifejezs trhat a kvetkez

h, (xi , tn ) =

n+1 un 2un + un u(xi , tn1 + ) ui un 2 u(xi , tn1 + ) i i1 i + i+1 2 t h x2

(11.3.46) Ezrt a 11.3.3. lemma lltsa alapjn tetszleges

[0, 1]

rtk esetn (11.3.47)

h, (xi , tn ) = O( + h2 ),
ami a maximumnormabeli konzisztencit, s annak rendjt mutatja. 358 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.3.

Lineris, msodrend, parabolikus parcilis differencilegyenletek

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

gy is megfogalmazhat: A (11.3.37) felttel teljeslse

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.

11.3.4. A numerikus mdszer realizlsnak algoritmusa


A konvergencia megmutatsa utn trjnk t a mdszer realizlsnak krdsre. A 11.3.4. megjegyzsnek megfelelen a mdszer realizlsa a (11.3.36) alak lineris algebrai egyenletrendszer megoldsval ekvivalens. Mivel a megolds a parabolikus perem mentn ismert, ezrt valjban csak az

(xi , tn ) h,

bels rcspontokhoz tartoz numerikus megoldsok rtkt

kell meghatroznunk, azaz valjban egy

Lh, yh, = bh,


alak lineris egyenletrendszer megoldsa szksges, ahol adott mtrix,

(11.3.48)

bh,

adott,

yh,

Lh,

egy

pedig az ismeretlen (11.3.36)-beli mret vektorok.

yh,

(Nx 1)Nt (Nx 1)Nt mret vektor h, rcspontjaihoz bh,


vektor alakjt! Ehhez

tartoz komponenseibl ll,

(Nx 1)Nt

Hatrozzuk meg a (11.3.48) egyenletben szerepl felhasznlsval. Nyilvnvalan (11.3.38) felrhat

Lh,

mtrix s

teht a (11.3.38) egyenleteket kell felrnunk az ismert kezdeti s peremfelttelek (azaz

fggvny)

n1 n1 n1 n yi qyi1 qyi+1 + (2q 1) yi = fin,


(i

(11.3.49) A (11.3.24) s a (11.3.25)

= 1, 2, . . . , Nx 1

n = 0, 1, . . . , Nt 1)

alakban, ahol

q = /h2 .

felttelekbl (vagyis a (11.3.39) egyenletekbl) a (11.3.49) egyenletekben esetn ismerjk az

i {0, Nx } illetve n = 0
(11.3.50)

n yi

rtkeit: ezekre az indexekre

n yi = (xi , tn ).

Ez azt jelenti, hogy

0 n n yi = 0 (xi ), y0 = 1 (tn ); yNx = 2 (tn ), i = 0, 1, . . . , Nx , n = 1, 2, . . . , Nt .


Vezessk be az

yn R(Nx 1) , bn R(Nx 1)
n n n yn = [y1 , y2 , . . . , yNx 1 ] ,

(ahol

n = 1, 2, . . . , Nt )

szoksosan oszlopvekto-

rokat az albbi mdon:

bn = [bn , bn , . . . , bn x 1 ] , 1 2 N
bh, = [(b1 ) , (b2 ) , . . . , (bNt ) ] .
lland. Alkalmazva a

Ekkor

yh, = [(y1 ) , (y2 ) , . . . , (yNt ) ] ,

Az egyszersg kedvrt tegyk fel, hogy jellst a

Bh =

c =

tridiag[q, 2q

1, q]

tridiagonlis mtrixra, illetve a

Bh R(Nx 1)(Nx 1) 0, Eh R(Nx 1)(Nx 1)

jellseket a zr- illetve az egysgmtrixra, a (11.3.48) egyenletben a mtrix

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)

alakban rhat fel, ami egy

Nt

sorbl ll alak hipermtrix. tankonyvtar.bme.hu 359

11.

A parcilis differencilegyenletek numerikus mdszerei

11.3.9. megjegyzs.

Knnyen ellenrizhet, hogy az

Lh,

mtrix a (11.3.37) szerinti

q 0.5

felttel esetn M-mtrix. A (11.3.49) egyenletekbl kzvetlenl felrhatk a a kvetkez:

bn Nx 1 dimenzis vektorok. Ezek alakja


,
(11.3.52)

b1 =

s az

0, 0 0 0 f1 + qy0 (2q 1)y1 + qy2 0, 0 0 0 f2 + qy1 (2q 1)y2 + qy3


. . .

0, 0 0 0 fNx 1 + qyNx 2 (2q 1)yNx 1 + qyNx

n = 2, 3, . . . , Nt

rtkekre

n1, n1 + qy0 f1 n1, f2 . . . bn = . n1 fNx 2, n1 n1 fNx 1, + qyNx

(11.3.53)

11.3.10. megjegyzs.
fggvny viselkedst a

Mint belttuk, a konvergencia rendjt nem befolysolja a

paramter

rtke. A gyakorlatban ltalban a

= 0.5

megvlaszts a szoksos. Ennek oka, hogy olyan

pontot kell vlasztanunk, hogy az azon ponthoz tartoz fggvnyrtk jl jellemezze az a felezpont a legalkalmasabb. A (11.3.50) sszefggsek ismeretben teht

f (xi , t) [tn1 , tn ] intervallumon. Mint azt a numerikus integrlsnl is lttuk, erre

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)

0, fNx 1 + q0 (xNx 2 ) (2q 1)0 (xNx 1 ) + q0 (xNx )

n = 2, 3, . . . , Nt

rtkekre

n1, f1 + q1 (tn1 ) n1, f2 . . . bn = . n1, fNx 2 n1, fNx 1 + q2 (tn1 )


Mindezek alapjn soronknt kirva a (11.3.48) egyenletet a kvetkezt kapjuk

(11.3.55)

Eh y1 =b1 , Bh yn1 + Eh yn =bn , n = 2, 3, . . . , Nt ,


amelynek trendezsvel az albbi megold algoritmust kapjuk:

y1 =b1 , yn =bn Bh yn1 , n = 2, 3, . . . , Nt .


360 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

(11.3.56)

11.3.

Lineris, msodrend, parabolikus parcilis differencilegyenletek

A (11.3.56) n.

explicit

mdszert jelent: az ismert

bn vektorok ismeretben kzvetlenl nyerjk yn vektort, azaz a megolds j idrtegen


egylpses
(vagy ms terminiolgiban:

ktlpcss ), hiszen az yn1

idrtegenknt a kzelt megoldst. Emellett a mdszer vektorbl hatrozzuk meg a

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

(Nx 1) mret tridiagonlis mtrix s vektor sszeszorzsa,

valamint egy vektorsszeads szksges.

11.3.5. Egy msik vges dierencis sma s vizsglata


Az eddigiekben trgyalt, a (11.3.34) s (11.3.35) kpletekkel denilt (11.3.29) konvergencijnak felttele volt a rtelmezett

/h2 0.5

explicit sma

(11.3.37) felttel. (Lsd a 11.3.7. ttelt.) Ez a

felttel elgg megszort, ha a rcshlt nomtjuk. Ugyanis, amikor az

megoldsi halmazon

h,

rcshl trbeli lpskzt cskkentjk, akkor ennek mrtknek ngyzetvel kell

az idbeli lpskzt is cskkenteni. (Pldul, elz pldnk esetn

h felezsvel

rtkt negyedre kell cskkentennk.)

Ez viszont a rcshl pontjainak szmt (s gy a szmtsi ignyt) is jelentsen megnveli. (Az

Nt

a ngyszeresre nvekszik, azaz amg az eredeti rcshl bels pontjainak

 s ezrt az ismeretleneknek is  a szma

(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 )

pontban felrt kzeltst jelentette, ahol az id

szerinti derivltat egy halad vges dierencival kzeltettk.) rjunk fel egy msik, bizonyos rtelemben termszetesebb kzeltst: a kzeltst az

(xi , tn )

pontban (teht a rcshl pont-

jban) rjuk fel, s az id szerinti derivltat egy retrogrd vges dierencival kzeltjk. Teht

w (xi , tn ) t 2 w (xi , tn ) x2

w(xi , tn ) w(xi , tn ) , w(xi+1 , tn ) 2w(xi , tn ) + w(xi1 , tn ) , h2

(11.3.57)

azaz a trbeli vltoz szerinti msodik derivltat egy adott idrtegen a

idrtegen
vnyre

rcshlval megegyez

vett kzpponti vges dierencikkal kzeltjk. Hasonlan, a jobb oldali rcsfgg-

bh, (xi , tn ) =
Ekkor az

fin , n , i

ha ha

(xi , tn ) h, ; (xi , tn ) h, .

(11.3.58)

Lh,

opertor dencija a (11.3.34) szerinti kplet helyett a kvetkezre mdosul:

n n1 n n wn 2wi + wi1 wi wi i+1 , (Lh, wh, ) (xi , tn ) = h2 n wi ,

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.

A parcilis differencilegyenletek numerikus mdszerei

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!

Felhasznlva az opertor (11.3.59) alakjt, az a kvetkez egyenletet jelenti:

(xi , tn ) h,

bels rcspontokban (11.3.36)

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,

perempontokban (11.3.36) a kvetkezt jelenti:

n yi = n . i
Ezrt a (11.3.59) alak llnak. Tekinsk a

(11.3.61)

Lh,

mtrix ftljban pozitv elemek, mg azon kvl nempozitv elemek

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)

mivel, mint ismeretes Teht

Lh, g > 0. Ezrt Lh,

n1 gn1 + 2gn1 gi+1 = 2h2 . i1 i


M-mtrix, ami az lltsunkat bizonytja.

11.3.12. kvetkezmny.
maximumnormjra:

A szoksos mdon ismt becsls adhat az

Lh,

mtrix inverznek

L1 h,
Az elzekben megmutattuk, hogy kztti sszefggs alapjn

mini,n (Lh g)n i

.
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,

regulris mtrix inverzre rvnyes az

L1 h,
becsls.

(11.3.63)

11.3.13. megjegyzs.

A 11.3.5. s a 11.3.11. ttelek kztti alapvet klnbsg, hogy mg

a 11.3.5. ttelben felttelt ktnk ki a ttelben ilyen korlt nem szerepel.

/h2

hnyadosra (lsd (11.3.37) felttel), addig a 11.3.11.

A kvetkez llts a mdszer konvergencijrl szl.

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 )

rendben konvergl a (11.3.28) feladat

362 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.3.

Lineris, msodrend, parabolikus parcilis differencilegyenletek

Bizonyts. A ttel bizonytshoz alkalmazzuk a 11.3.7. ttel bizonytst. A konzisztencia vizsglata a

h, (xi , tn )

loklis approximcis hiba rendjnek vizsglatt

ignyli. Nyilvnvalan esetnkben

h, (xi , tn ) =

u(xi , tn ) un un1 i i t

un 2un + un 2 u(xi , tn ) i+1 i i1 h2 x2

(11.3.64)

A fenti egyenlsg jobb oldalnak els kifejezse

u(xi , tn ) un un1 i i = O( ). t
A msodik kifejezsre a msodik derivlt vges dierencis kzeltsnek pontossga miatt

un 2un + un 2 u(xi , tn ) i+1 i i1 = O(h2 ). 2 h x2


Ezrt teht

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.

11.3.15. megjegyzs. A fenti ttel fontos kvetkezmnye, hogy a mdszernk a


szksg az egyb korltozsok gyelembevtelre.

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,

jobb oldali vektort. Ezeket a (11.3.59) egyenletek (11.3.66)

n1 n n n qyi1 + (2 + q)yi qyi+1 yi = fin


(i

= 1, 2, . . . , Nx 1
illetve

n = 1, 2, . . . , Nt )

egyenletekbl hatrozhatjuk meg. Emlkeztetnk, hogy

a (11.3.24) s a (11.3.25) felttelekbl (vagyis a (11.3.39) egyenletekbl) a (11.3.66) egyenletekben

i {0, Nx }

n=0

esetn ismerjk az

n yi

rtkeit: ezekre az indexekre

n yi = (xi , tn ).

Ezrt

0 n n yi = 0 (xi ), y0 = 1 (tn ); yNx = 2 (tn ), i = 0, 1, . . . , Nx , n = 1, 2, . . . , Nt .


Megtartva a 11.3.4. szakasz jellseit, illetve bevezetve a

(11.3.67)

Ch = tridiag[q, 1 + 2q, q] R Ch 0 0 ... Eh Ch 0 . . .


yn RNx 1 , bn RNx 1 ,

valamint a

(Nx 1)(Nx 1)

0, Eh R(Nx 1)(Nx 1)
tridiagonlis mtrix

jellst, a (11.3.48) egyenletben az

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.

A parcilis differencilegyenletek numerikus mdszerei

Nt

szm sorbl ll hipermtrix. A

bn (n = 1, 2, . . . , Nt ) (Nx 1) dimenzis vektorok alakja a


1 f1 + 0 (x1 ) + q1 (t1 ) 1 f2 + 0 (x2 )
. . .

kvetkez. Az

n=1

rtkre

b =
1
az

,
(11.3.69)

+ 0 (xNx 2 ) 1 fNx 1 + 0 (xNx 1 ) + q2 (t1 )

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

Soronknt kirva a (11.3.48) egyenletet a kvetkezt kapjuk

Ch y1 =b1 , Eh yn1 +Ch yn = bn , n = 2, 3, . . . , Nt .


Ezt trendezve az albbi megold algoritmust nyerjk:

Ch y1 =b1 , Ch yn =bn + yn1 , n = 2, 3, . . . , Nt .


A (11.3.71) n.

(11.3.71)

implicit

mdszert jelent: az ismert jobb oldali vektorok ismeretben egy

Ch

mtrix lineris algebrai egyenletrendszer megoldsa szksges mindegyik idrtegen. Ez a mdszer is egylpses, hiszen az (Megjegyezzk, hogy a Gauss-elimincit.)

yn1

vektorbl hatrozzuk meg az

yn

vektort, azaz a megolds j

idrtegen val kiszmolsa a megelz idrtegen mr kiszmolt kzelts segtsgvel trtnik. ris algebrai egyenletrendszer megoldsra alkalmazhatjuk a korbban mr ismertetett specilis

Ch mtrix specilis struktrjnak kvetkeztben az idrtegenknti line-

11.3.6. ltalnosts s magasabb rend mdszerek


Foglaljuk ssze a (11.3.23)-(11.3.25) hvezetsi feladat numerikus megoldsra vonatkoz eddigi eredmnyeinket! A numerikus mdszerek felptsnl az volt az alapkrds, hogyan adjunk meg olyan a (11.3.29) opertoregyenlet

Lh, : F( h, ) F( h, ) lineris opertort s bh, F( h, ) yh, F( h, ) megoldsa rendelkezik a O( + h2 )

rcsfggvnyt, amelyekre szksges tulajdonsggal.

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

Kaphatunk-e ms megkzeltssel is jabb, a megfelel tulajdonsggal rendelkez rtort s

Lh,

ope-

bh,

jobb oldali rcsfggvnyt?

364 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.3.

Lineris, msodrend, parabolikus parcilis differencilegyenletek

Megadhat-e magasabb rendben pontos (azaz gyorsabban konvergl) kzelts?

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.

Az els lps vgrehajtshoz mindegyik

xi h rcsponthoz hozzrendelnk egy uh,i (t) (ahol u(xi , t) fggvnyhez.

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

u(xi , t) 2 u(xi , t) = f (xi , t), i = 1, 2, . . . , Nx 1, t (0, t ] t x2


illetve az

(11.3.72)

u(xi , 0) = 0 (xi ),
s az

(11.3.73)

u(0, t) = 1 (t), u(l, t) = 2 (t), t (0, t ]


egyenlsgeket jelenti, ezrt a csompontokhoz tartoz ismeretlen fggvnyeket gy hatrozzuk meg, hogy azokra teljesljenek az albbi egyenletek:

(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

fh,i (t) = f (xi , t).


A (11.3.75) egyenlet felrsnl a trvltoz szerinti msodik derivlt

11.3.16. megjegyzs.
szoksos

2w (xi , t) x2

w(xi+1 , t) 2w(xi , t) + w(xi1 , t) h2

(11.3.78)

O(h2 )

pontossg vges dierencis approximcijt alkalmaztuk.

Bevezetve a

Q=

tridiag[1, 2, 1]

vnyekkel rendelkez, ismeretlen fel:

R(Nx 1)(Nx 1) uh : [0, t ] RNx 1

jellst, ekkor az

uh,i (t)

koordintafgg-

fggvnyre - a (11.3.75)-(11.3.77) ssze-

fggsek alapjn - a kvetkez elsrend, kznsges dierencilegyenlet Cauchy-feladata rhat

uh (t) +

1 Q uh (t) = fh (t), t (0, t ], h2

(11.3.79)

tankonyvtar.bme.hu 365

11.

A parcilis differencilegyenletek numerikus mdszerei

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)

A msodik lps vgrehajtshoz numerikusan megoldjuk a (11.3.79)-(11.3.80) rendszer Cauchyfeladatt az egy

rcshln. Ehhez vlaszthatjuk a 9. fejezet brmely mdszert. Legyen rcsfggvnyt, amelyrl

a megolds i-edik koordintafggvnynek kzeltse a

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 )

yn =[yh, (x1 , tn ), yh, (x2 , tn ), . . . , yh, (xNx 1 , tn )] . h


Knnyen lthat, hogy az gy denilt s (11.3.35) kpletekkel denilt (11.3.29) egyenlet a korbbi explicit mdszernket kapjuk.

yh, F( h, ) rcsfggvny megegyezik a (11.3.34) yh, F( h ) megoldsaibl ll rcsfgg-

vnysorozattal. Teht a Cauchy-feladat numerikus megoldsnak ezen megvlasztsa mellett

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 )

megoldsaibl ll rcsfggvnysorozattal. Teht a Cauchy-feladat numerikus megoldsnak

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

volt. Tekintsk teht a (11.3.23)-(11.3.25) feladat numerikus megoldsra azt a

366 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.3.

Lineris, msodrend, parabolikus parcilis differencilegyenletek

numerikus mdszert, amelyet a (11.3.79)-(11.3.80) feladat rnk, azaz amikor az

-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,

olyan, amely egy

wh,

rcsfggvnyhez egy olyan rcsfggvnyt rendel

hozz, amelynek rtke az

(xi , tn ) h,

pontban a kvetkez:

n1 n1 n1 n n n wn1 2wi + wi1 wn 2wi + wi1 wi wi (1 ) i+1 , i+1 h2 h2 n wi ,

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!

Felhasznlva az opertor (11.3.88) alakjt, az a kvetkez egyenletet jelenti:

(xi , tn ) h,

bels rcspontokban (11.3.36)

1 2 n n + 2 yi 2 yi1 h h 1 2(1 ) n1 + yi h2
Az

n y + h2 i+1 1 n1 1 n1 y y = fin, . h2 i1 h2 i+1

(11.3.91)

(xi , tn ) h,

perempontokban (11.3.36) a kvetkezt jelenti:

n yi = n . i

(11.3.92)

tankonyvtar.bme.hu 367

11.

A parcilis differencilegyenletek numerikus mdszerei

Ezrt az

Lh,

mtrix ftljban pozitv elemek, mg azon kvl (a (11.3.90) felttelt gye-

lembevve) nempozitv elemek llnak.

n Tekintsk ismt a i = 1+ih(lih) n i 1, s i = 0 illetve i = Nx esetn n tokhoz tartoz koordinti nyilvn i .

gn = 1. i

(i

= 0, 1, . . . , Nx ; n = 0, 1, . . . , Nt ) vektort! Nyilvnvalan
Hatrozzuk meg az

Mivel a

Lh, g

vektort! A peremponindextl fggetlenek,

vektor koordinti az

ezrt a bels pontokhoz tartoz koordintkra:

(Lh, g)i =
n

1 n 1 n1 g gn1 + 2 gn + 2gn gn + 2 gn1 + 2gn1 gi+1 = 2, i1 i i+1 i i1 i i h h


=0

mivel, mint ismeretes, Teht

Lh, g > 0. Ezrt Lh,

gn1 + 2gn1 gn1 = 2h2 . i1 i i+1


M-mtrix, ami az lltsunkat bizonytja.

(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

mini,n (Lh g)n i

.
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,

regulris mtrix inverzre rvnyes az

L1 h,
becsls.

(11.3.94)

11.3.21. megjegyzs.

A (11.3.90)

felttel jobb oldalt

rtelmezzk, azaz ebben az esetben nincs felttel tattuk, lsd a 11.3.11. ttelt.) A hogy a 11.3.19. ttelben (11.3.90)

= 1 esetn szoksosan rtkknt q megvlasztsra. (Ezt mr korbban is megmu-

[0, 1) esetn van korltoz felttel. Ugyanakkor megjegyezzk, elgsges felttel, teht szksgessgrl nem szl az llts.

A tovbbiakban ttrnk a mdszer konvergencijnak vizsglatra. Elszr a mdszer konzisztencijt vizsgljuk.

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

Bizonyts. A denci alapjn a loklis approximcis hiba

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

368 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.3.

Lineris, msodrend, parabolikus parcilis differencilegyenletek

jellst. Ekkor nyilvnvalan

tn1 = t , tn = t + (1 ). n n
A jobb oldali rcsfggvny (11.3.89) denicja kvetkeztben ekkor

(11.3.95)

h, (xi , tn ) = f (xi , t ) (Lh, uh, )(xi , tn ). n


Felrva a (11.3.23) egyenletet a

(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

(Lh, uh, )(xi , tn ) =

un 2un + un un un1 i i1 i i i+1 h2 n1 n1 n1 u 2ui + ui1 (1 ) i+1 . 2 h

(11.3.98)

A (11.3.97) s a (11.3.98) felrhat

sszefggsek alapjn teht a (11.3.96) loklis approximcis hiba

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 , tn ) =u(xi , t + (1 ) ) = u(xi , t ) + (1 ) n n u(xi , tn1 ) =u(xi , t n ) = u(xi , t ) n

u(xi , t ) n + O( 2 ), t

u(xi , t ) n + O( 2 ). t

(11.3.102)

Ezrt a (11.3.100) s a (11.3.102) sszefggsek alapjn

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 =

2 u(xi , tn ) 2 u(xi , tn1 ) + (1 ) + O(h2 ). 2 x x2

(11.3.104)

tankonyvtar.bme.hu 369

11.

A parcilis differencilegyenletek numerikus mdszerei

Felhasznlva a (11.3.95) sszefggst, ismt sorbafejtssel a

2 u(xi , t ) 2 u(xi , t ) 3 u(xi , t ) 2 u(xi , tn1 ) n n n = = + O( 2 ), x2 x2 x2 tx2


(11.3.105)

2 u(xi , tn ) 2 u(xi , t + (1 ) ) 2 u(xi , t ) 3 u(xi , t ) n n n = = + (1 ) + O( 2 ) 2 2 2 x x x tx2


sszefggseket kapjuk. Behelyettestve (11.3.105) kifejezseket a (11.3.104) sszefggsbe,

2 = 2 + (1 )2 )
azaz

3 u(xi , t ) n + O( 2 ) + O(h2 ), tx2


(11.3.106)

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. .

Vizsgljuk meg a mdszer megoldsi algoritmust! Az egyszerbb trgyals kedvrt fel-

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 ... ... . . . Fh ... 0

0 0
...

Dh F h Dh

... 0

0 0

(11.3.107)

szm sorbl ll hipermtrix. A

bn (n = 1, 2, . . . , Nt ) (Nx 1) dimenzis vektorok alakja a


(11.3.108)

b1 = f1, + Fh 0 ; bn = fn, , n = 2, 3, . . . , Nt . h h
370 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.4.

A parcilis dierencilegyenletek numerikus megoldsa MATLAB segtsgvel

Soronknt kirva a (11.3.48) egyenletet ekkor a kvetkezt kapjuk:

Dh y1 =b1 , Fh yn1 + Dh yn =bn , n = 2, 3, . . . , Nt ,


amelynek trendezsvel a kvetkez megold algoritmust kapjuk:

(11.3.109)

Dh y1 =b1 , Dh yn =bn + Fyn1 , n = 2, 3, . . . , Nt .


A (11.3.110) algoritmus jelent. Ugyanakkor a Gauss-elimincit.

(11.3.110)

Dh

= 0 esetn explicit, az sszes tbbi esetben viszont implicit mdszert

mtrix specilis struktrjnak kvetkeztben az idrtegenknti line-

ris algebrai egyenletrendszer megoldsra alkalmazhatjuk a korbban mr ismertetett specilis

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

volt, amelyrl megmutattuk a 9. fejezetben, hogy

= 0.5

esetn msodrend, egybknt elsrend.

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. A parcilis dierencilegyenletek numerikus megoldsa MATLAB segtsgvel


Az elz szakaszban megadtuk a Laplace-egyenlet s a hvezetsi egyenlet vges dierencis megoldsi mdszert. Ezek az algoritmusok a MATLAB programrendszer segtsgvel megvalsthatk. Kszthetnk nll programokat, illetve alkalmazhatjuk a MATLAB programrendszer sajt, mr elksztett s beptett programjt is. Ebben a szakaszban a kt fenti feladatosztlyra vonatkoz MATLAB programok ismertetsvel foglalkozunk.

11.4.1. A Poisson-egyenlet megoldsa els (Dirichlet-fle) peremfelttellel


Tekintsk a

2 u(x, y) 2 u(x, y) + = f (x, y) x2 y 2

(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.

A parcilis differencilegyenletek numerikus mdszerei

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

n, amely az irnyonknti uapprox vektor, amely a

jobb oldali fggvnyt, illetve a perem-

ux0, ux1, u0y, u1y

fggvnyeket, amelyek rendre az

y = 0, y = 1, x = 0

s az

x=1

oldalakon megadott peremfeltteleket jelentik.

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.

A parcilis dierencilegyenletek numerikus megoldsa MATLAB segtsgvel

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

u(x, y) = exp(x) sin(y) +

0.5x2 y 2

fggvny. Ms feladatok esetn a programban a megfelel fggvnydencikat rtelemtankonyvtar.bme.hu 373

11.

A parcilis differencilegyenletek numerikus mdszerei

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.

11.4.1. bra. A Poisson-egyenlet zeten.

u(x, y) = exp(x) sin(y) + 0.5x2 y 2

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

n = 80 megvlaszts esetn, mint a 11.4.5. brn is lthat, a numerikus megolds gyakor-

latilag megegyezik a pontos megoldssal. A 11.4.1. tblzatban sszefoglaltuk a szmtsainkat, megadva a felezd diszkretizcis lpskzk melletti maximumhibkat s a konvergenciarendet. (Mivel

rtkt minden lps-

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.

A parcilis dierencilegyenletek numerikus megoldsa MATLAB segtsgvel

11.4.2. bra. A numerikus megolds s hibafggvnye

n=5

esetn.

11.4.3. bra. A numerikus megolds s hibafggvnye

n = 10

esetn.

11.4.4. bra. A numerikus megolds s hibafggvnye

n = 20

esetn.

tankonyvtar.bme.hu 375

11.

A parcilis differencilegyenletek numerikus mdszerei

11.4.5. bra. A numerikus megolds s hibafggvnye

n = 80

esetn.

n eh
hnyados

5 2.3747e 001

10 6.6841e 002 2.8147e 001

20 1.6826e 002 2.5173e 001

40 4.2139e 003 2.5044e 001

80 1.0539e 003 2.5011e 001

11.4.1. tblzat. A Poisson-feladat vges dierencis megoldsnak hibja a maximumnormban s a hibk hnyadosa.

11.4.6. bra. A Poisson-egyenlet

u(x, y) = x + y

megoldsa az egysgngyzeten.

A tovbbiakban a klnbz felosztsokra nzzk meg a hibkat! Az

n=5

esetre a numerikus megoldst s a hibafggvnyt a 11.4.7. bra mutatja.

376 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.4.

A parcilis dierencilegyenletek numerikus megoldsa MATLAB segtsgvel

11.4.7. bra. A numerikus megolds s hibafggvnye

n=5

esetn.

n eh

5 4.4409e 016

20 4.4409e 016

40 6.6613e 016

80 2.2204e 015

100 1.8874e 015

11.4.2. tblzat. A Poisson-feladat vges dierencis megoldsnak hibja a maximumnormban az

u(x, y) = x + y

megolds tesztfeladatra.

A hibafggvny nagysgbl (10

16

) lthat, hogy mr ilyen, viszonylag durva feloszts ese-

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. A hvezetsi egyenlet megoldsa vges dierencik mdszervel


A hvezetsi egyenletre viszonylag knnyen nllan is elkszthetnk MATLAB progamot. A tovbbiakban megadjuk az explicit mdszert realizl heatexp.m nev m-fjlt. Ez a program a

u(x, t) 2 u(x, t) = 0, (x, t) (0, endx) (0, endt) t x2


egyenletet oldja meg az

(11.4.2)

u(x, 0) = init(x), x (0, endx);


kiegszt felttelekkel.

u(0, t) = bdry(1), u(endx, t) = bdry(2), t [0, endt]


(11.4.3)

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:

a trbeli egydimenzis tartomny megadsra szolgl, a trbeli vltoz a

[0, endx]

intervallumon vltozik. tankonyvtar.bme.hu 377

11.

A parcilis differencilegyenletek numerikus mdszerei

endt: N x:

az idbeli tartomny megadsra szolgl, az idbeli vltoz a

[0, endt]

intervallumon

vltozik. a diszkretizc sorn a trbeli osztsrszek szma; (Emlkeztetl: a konvergencia felttele a

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

fggvnnyel deniljuk. A peremfelttelt a ktdi-

bdry

vektorral, ugyancsak a programon bell deniljuk. (A kt trbeli vgpontban els

peremfelttel adott:

A program kimen paramtere a numerikus megoldst jelent A rutin a kvetkez:

u(x(1), t) = bdry(1), u(x(end), t) = bdry(2).) u.

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.

A parcilis dierencilegyenletek numerikus megoldsa MATLAB segtsgvel

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.

11.4.8. bra. A hvezetsi egyenlet

u(x, t) = et sinx

megoldsa a

(0, ) (0, 2) q = 0.4!

tartomnyon.

Klnbz felosztsokra nzzk meg a hibkat! Legyen mindvgig

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

stabilitsi felttel megsrtse!

N x = 50.

q = 0.5

megvlaszts esetn j kzeltst kapunk, lsd a 11.4.12. tankonyvtar.bme.hu 379

11.

A parcilis differencilegyenletek numerikus mdszerei

11.4.9. bra. A numerikus megolds s hibafggvnye

Nx = 5

esetn.

11.4.10. bra.

A numerikus megolds s hibafggvnye

N x = 50

esetn.

11.4.11. bra. A numerikus megolds s hibafggvnye

N x = 100

esetn.

380 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.4.

A parcilis dierencilegyenletek numerikus megoldsa MATLAB segtsgvel

Nx 10 25 50 100 150 200 250 300 350 400

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

11.4.3. tblzat. A hvezetsi feladat vges dierencis megoldsnak hibja a maximumnormban.

11.4.12. bra. A numerikus megolds s hibafggvnye

q = 0.5

esetn.

brt). Azonban

nagyobb rtkei mellett az eredmnyek hasznlhatatlanok! A

q = 0.51

meg-

vlaszts esetn mg ugyan korltos marad a numerikus megolds (lsd a 11.4.13. brt), de

q = 0.52

esetn mr gyakorlatilag felrobban a rendszer (lsd a 11.4.14. brt).

A 11.4.4. tblzatban sszefoglaltuk Megjegyezzk, hogy

N x = 50

mellett a kritikus

q = 0.5

rtkhez kzeli

megvlasztsokhoz tartoz maximumhibkat.

q = 0.51

esetn a hiba mg elfogadhatnak ltszik. Ezrt azt gondol-

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

= 2 krl) kezd elromlani.

Teht elkpzelhet, hogy az idintervallum nvelsvel tovbb romlik a megolds. Ezrt oldjuk

= 50 s q = 0.51) a [0, 5] idintervallumon,

endt = 2

helyett

endt = 5!

Sejtsnk beigazoldik: ahogy az a 11.4.15. brn is

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.

A parcilis differencilegyenletek numerikus mdszerei

11.4.13. bra. A numerikus megolds s hibafggvnye

q = 0.51

esetn.

11.4.14. bra. A numerikus megolds s hibafggvnye

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,

A hvezetsi feladat vges dierencis megoldsnak hibja esetn.

N x = 50

382 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.4.

A parcilis dierencilegyenletek numerikus megoldsa MATLAB segtsgvel

11.4.15. bra. A hvezetsi feladat vges dierencis megoldsa a

(0, ) (0, 5)

tartomnyon

q = 0.51

N x = 50

paramterek esetn.

egyenletet, ahol

c, f, s

adott fggvnyek. A rutin meghvsa a

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.

pdef un: icf un: bcf un: xmesh:


vel.

a kezdeti felttelt ler fggvny. a peremfeltteleket ler fggvny. megadjuk a trbeli vltoz szerinti rcspontokat az

[x0, x1, ..., xn]

vektor segtsg-

tspan: megadjuk az idbeli vltoz szerinti rcspontokat a [t0, t1, ..., tf ] vektor segtsgvel.
(Az

xmesh

tspan

vektorok minimlis mrete

3.)

A program alkalmazsnak rszletei meg-

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.

A parcilis differencilegyenletek numerikus mdszerei

Megjegyezzk, hogy ms tpus felttelek is megadhatk a feladat kiegszt feltteleknt. Ilyenek az n.

periodikus felttelek.

Ezek nagy gyakorlati jelentsggel rendelkeznek, ezrt vizs-

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

egyes rszein milyen tpus az albbi egyenlet:

2 u(x, y) 2 u(x, y) +y = 0. 2 x y 2 a, b c

11.5.2. feladat. Hatrozzuk meg, hogy a folytonos

egytthatfggvnyek milyen tu-

lajdonsgai mellett lesz elliptikus, parabolikus s hiperbolikus tpus az albbi egyenlet:

a(x, y)

2 u(x, y) 2 u(x, y) 2 u(x, y) + 2b(x, y) + c(x, y) = 0! 2 x xy y 2 a, b s c fggvnyek R2 -bel halmaza az

11.5.3. feladat. Folytonos hiperbolikus tpus pontok

esetn rintkezhet-e egymssal az elliptikus s

(L0 u)(x, y) = a(x, y)


opertorra?

2 u(x, y) 2 u(x, y) 2 u(x, y) + 2b(x, y) + c(x, y) 2 x xy y 2

(11.5.1)

11.5.4. feladat. Hatrozzuk meg a

2 u(x, t) 2 u(x, t) = 0, x R, t > 0 t2 x2


egyenlet megoldst az

u(x, 0) = (x), x R u(x, 0) = (x), x R t


kiegszt felttelek mellett! (tmutats: a

= x + t, = x t j vltozk bevezetsvel transzformljuk t az egyenletnket!)

11.5.5. feladat. Mutassuk meg, hogy a

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

2 un (x, y) 2 un (x, y) + = 0. x R, y 0, x2 y 2 un (x, 0) = 0, x R un (x, 0) 1 = cos(nx) x R t n


feladat megoldsa az

un (x, y) =

1 n2

cos(nx) sinh(ny)

fggvny!)

11.5.6. feladat. Oldjuk meg a vltozk sztvlasztsnak mdszervel a hvezetsi egyenletet a

u(x, 0) = u0 (x)

kezdeti felttel s a

u(0, t) = u(l, t) = 0 x

peremfelttel esetn.

11.5.7. feladat. rjuk fel az

(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

11.5.9. feladat. Bizonytsuk be a maximumelvet a hvezetsi egyenletre!

Elliptikus feladatok numerikus megoldsa vges dierencikkal

11.5.10. feladat. Tekintsk az egysgngyzeten a

2 u(x, y) 2 u(x, y) + = ey (x2 + 2) x2 y 2


egyenletet az

u(x, 0) = x2 , u(x, 1) = ex2 , u(0, y) = 0, u(1, y) = ey

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 ey pontos megoldssal.

11.5.11. feladat. Tekintsk az elz feladatot a

u(x, 0) = 2x, u(x, 1) = ex2 , u(0, y) = 0, u(1, y) = ey x


peremfelttellel. rjuk fel a feladat vges dierencis approximcijt jelent lineris algebrai egyenletrendszert, amikor mindkt irnyban rendszert, s hasonltsuk ssze a numerikus megoldst az 11.5.12. feladat. Tekintsk az egysgngyzeten a

Nx = Ny = 3 osztsrszt vesznk! Oldjuk meg u(x, y) = x2 ey pontos megoldssal!

2 u(x, y) 2 u(x, y) + =4 x2 y 2
egyenletet az

u(x, 0) = x2 , u(x, 1) = x2 + 1, u(0, y) = y 2 , u(1, y) = y 2 + 1

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.

A parcilis differencilegyenletek numerikus mdszerei

11.5.13. feladat. Tekintsk az egysgngyzeten a

u(x, y) u(x, y) 2 u(x, y) 2 u(x, y) + x y + 2u(x, y) = 4 2 2 x y x y


egyenletet az

u(x, 0) = x2 , u(x, 1) = x2 + 1, u(0, y) = y 2 , u(1, y) = y 2 + 1

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

2 u(x, y) 2 u(x, y) + + cu = f (x, y) x2 y 2


alak! 11.5.16. feladat. rjuk t a poisson11.m m-fjlt arra az esetre, amikor az

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!

Parabolikus feladatok numerikus megoldsa vges dierencikkal

11.5.18. feladat. Tekintsk a

(0, 1) (0, 1)

tartomnyon a

u(x, t) 2 u(x, t) = 0, (x, t) (0, 1) (0, 1] t x2


egyenletet az

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.

Milyen idbeli felosztst vlaszthatunk? Oldjuk meg a

rendszert, s hasonltsuk ssze a numerikus megoldst az

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

u(x, 0) = init(x), x (0, endx);

kiegszt felttelekkel! Teszteljk programunkat a

u(x, t) 2 u(x, t) = xet , (x, t) (0, 1) (0, 1] t x2


386 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

11.5.

Feladatok

egyenlet, az

u(x, 0) = x, x [0, 1]

kezdeti s az

ttel feladaton, amelynek a pontos megoldsa

u(0, t) = 0, u(1, t) = et , t (0, 1] u(x, t) = xet !

peremfel-

11.5.21. feladat. Ksztsnk egy heatimp.m nev m-fjlt, amely az implicit Euler-mdszerrel lltja el az

u(x, t) 2 u(x, t) = 0, (x, t) (0, endx) (0, endt) t x2


egyenlet megoldst a

u(x, 0) = init(x), x (0, endx)

kezdeti felttellel s az

u(0, t) = bdry(1), u(endx, t) = bdry(2), t [0, endt]


peremfelttelekkel! Teszteljk programunkat a 11.5.18. feladaton! 11.5.22. feladat. Ksztsnk egy heatCN.m nev m-fjlt, amely a CrankNicolson-mdszerrel lltja el a

u(x, t) 2 u(x, t) = 0, (x, t) (0, endx) (0, endt) t x2


egyenlet megoldst az

u(x, 0) = init(x), x (0, endx)

kezdeti felttellel s az

u(0, t) = bdry(1), u(endx, t) = bdry(2), t [0, endt]


peremfelttelekkel! Teszteljk programunkat a 11.5.18. feladaton! 11.5.23. feladat. Ksztsnk egy heattheta.m nev m-fjlt, amely a a

-mdszerrel

lltja el

u(x, t) 2 u(x, t) = 0, (x, t) (0, endx) (0, endt) t x2


egyenlet megoldst az

u(x, 0) = init(x), x (0, endx)

kezdeti felttellel s az

u(0, t) = bdry(1), u(endx, t) = bdry(2), t [0, endt]


peremfelttelekkel! Teszteljk programunkat a 11.5.18. feladaton! Vizsgljuk meg a mdszer pontossgt a

[0.47, 0.53]

rtkekre,

rtkt szzadonknt vltoztatva!

11.5.24. feladat. Tekintsk a

u(x, t) 2 u(x, t) = f (x, t), (x, t) (0, endx) (0, endt) t x2


egyenletet az

u(x, 0) = init(x), x (0, endx)

kezdeti s a

u(0, t) = bdry(1), u(endx, t) = bdry(2), t [0, endt] x


peremfelttelekkel! rjuk fel az explicit Euler-mdszeres megoldst erre a feladatra!

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.

A parcilis differencilegyenletek numerikus mdszerei

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?

388 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

390 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

392 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

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

[17] IEEE-754 Floating-Point Conversion.

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/.

394 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

Irodalomjegyzk

[38] Joseph L. Zachary, Floating-Point Number Tutorial.

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.

[39] K. Weierstrass, ber die analytische Darstellbarkeit sogenannter willkrlicher Functionen

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

M-mtrixok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sorozatok konvergenciasebessge . . . . . . . . . . . . . . . . . . . . . . . .

Sorozatok s fggvnyek konvergencijnak jellemzse

Fggvnyek konvergenciavizsglata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A MATLAB programcsomag Feladatok

A fejezettel kapcsolatos MATLAB parancsok

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

3. Lineris egyenletrendszerek megoldsa


3.1. 3.2. 3.3. 3.4. 3.5. Lineris egyenletrendszerek megoldhatsga . . . . . . . . . . . . . . . . . . . . . . Lineris egyenletrendszerek kondicionltsga . . . . . . . . . . . . . . . . . . . . . . Gauss-mdszer LU-felbonts 3.5.1. 3.5.2. 3.5.3. 3.6. 3.6.1. 3.6.2. 3.6.3. 3.6.4. 3.6.5. 3.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55
55 56 59 65 67 67 68 70 72 74 74 76 78 81 81

Felemkivlaszts, ltalnos LU-felbonts, Cholesky-felbonts . . . . . . . . . . . . Felemkivlaszts ltalnos LU-felbonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cholesky-felbonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jacobi-iterci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Lineris egyenletrendszerek klasszikus itercis megoldsa . . . . . . . . . . . . . . GaussSeidel-iterci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relaxcis mdszerek Itercis mdszerek konvergencija . . . . . . . . . . . . . . . . . . . . . . . Lellsi felttelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

Varicis mdszerek

Tartalomjegyzk

3.7.1. 3.7.2. 3.8. 3.8.1. 3.8.2. 3.9.

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tlhatrozott rendszerek megoldsa

3.10. Lineris egyenletrendszerek megoldsa a MATLAB-ban 3.11. Feladatok

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

4. Sajtrtk-feladatok numerikus megoldsa


4.1. 4.2. A sajtrtkeket egyenknt kzelt eljrsok 4.2.1. 4.2.2. 4.2.3. 4.2.4. Inverz iterci

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

Sajtrtkszmts a MATLAB-ban Feladatok

5. Nemlineris egyenletek s egyenletrendszerek megoldsa


5.1. 5.1.1. 5.1.2. 5.1.3. A gykk elklntse

125

Nemlineris egyenletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Nemlineris egyenletek megoldsnak kondicionltsga . . . . . . . . . . . . 127 Geometriai mdszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Intervallumfelezsi mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Hrmdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Szelmdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Newton-mdszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

5.2. 5.3. 5.4. 5.5.

Fixpont-itercik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.2.1. Aitken-gyorsts Mintafeladat Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Nemlineris egyenletrendszerek megoldsa . . . . . . . . . . . . . . . . . . . . . . . 145 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

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.

Szakaszonknt polinomilis interpolci 6.5.1. 6.5.2. 6.5.3.

. . . . . . . . . . . . . . . . . . . . . . . . 167 . . . . . . . . . . . . . . . . . . . . . . . 167 . . . . . . . . . . . . . . . . . . . . 168

Szakaszonknt lineris interpolci

Szakaszonknt kvadratikus interpolci . . . . . . . . . . . . . . . . . . . . . 168 Szakaszonknt harmadfok interpolci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

6.6. 6.7. 6.8. 6.9.

Trigonometrikus interpolci Gyors Fourier-transzformci

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

A numerikus derivls alapfeladata . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

A derivltak msfajta kzeltsei Feladatok

Lpstvolsg-dilemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

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

8.4. 8.5. 8.6. 8.7.

Romberg-mdszer

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 . . . . . . . . . . . . . . . . . . . 213

Gauss-kvadratra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Numerikus integrlsi eljrsok a MATLAB-ban Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

9. A kezdetirtk-feladatok numerikus mdszerei


9.1. 9.2. 9.3. Bevezets Egylpses mdszerek 9.3.1. 9.3.2.

217

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 . . . . . . . . . . . . . . . . . . . . . 225

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.

A RungeKutta tpus mdszerek 9.4.1. 9.4.2. 9.4.3. 9.4.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.

A tbblpses mdszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 9.5.1. 9.5.2.

398 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

Tartalomjegyzk

9.5.3. 9.5.4. 9.6. 9.7. 9.8.

Adams-tpus mdszerek

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 . . . . . . . . . . . . . . . . . . . . . . . . 261

Retrogrd dierencia mdszerek

A lineris s a merev rendszerek numerikus megoldsa . . . . . . . . . . . . . . . . 262 A kezdetirtk-feladatok numerikus megoldsa MATLAB segtsgvel . . . . . . . . 265 Feladatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

10.A peremrtk-feladatok numerikus mdszerei


10.1. Bevezets 10.2. Peremrtkfeladatok megoldsa vges dierencikkal

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

11.A parcilis dierencilegyenletek numerikus mdszerei


11.2. Lineris, msodrend, elliptikus parcilis differencilegyenletek 11.2.1. A Laplace-egyenlet analitikus megoldsa egysgngyzeten 11.2.3. ltalnos kitzs s az alapttel

335
. . . . . . . . . . . 338 . . . . . . . . . . 338 . . 342

11.1. A parcilis dierencilegyenletek alapfogalmai . . . . . . . . . . . . . . . . . . . . . 335

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

Trgymutat Irodalomjegyzk Tartalomjegyzk

387 391 394

400 Farag Istvn (ELTE TTK), Horvth Rbert (BME TTK)

You might also like