Eötvös Loránd Tudományegyetem Matematika Intézet Szalai Eszter Mátrix felbontások és alkalmazásaik BSc szakdolgozat Témavezet : Dr. Gergó Lajos ELTE Numerikus Analízis Tanszék Budapest 2016.
Köszönetnyilvánítás Ezúton szeretnék köszönetet mondani témavezet mnek, Dr. Gergó Lajosnak, hogy a szakdolgozat témaválasztásában, a hozzá kapcsolódó szakirodalom megismerésében, illetve annak feldolgozásában segítségemre volt.
Tartalomjegyzék 1. Mátrix felbontások 3 1.1. Gauss-elimináció............................. 3 1.2. LU-felbontás................................ 4 1.3. Cholesky-féle felbontás.......................... 7 1.4. QR-felbontás............................... 9 1.5. Schur-féle felbontás............................ 11 1.6. Szinguláris felbontás........................... 13 2. Nemlineáris egyenletrendszerek megoldása 16 2.1. Newton-módszer............................. 16 2.2. Egyszer sített Newton-módszer..................... 18 2.3. Összehasonlítás.............................. 18 3. Legkisebb négyzetek módszere 19 3.1. Egyenes illesztése a síkon......................... 20 3.2. Két párhuzamos egyenes illesztése a síkon................ 23 3.3. Két egymásra mer leges egyenes illesztése a síkon........... 24 3.4. Téglalap illesztés............................. 25 3.5. Négyzet illesztés.............................. 27 3.6. További sokszög illesztések........................ 28 3.7. Hipersík illesztése............................. 30 1
Bevezetés A matematikai modellezés során gyakran találkozunk lineáris és nemlineáris egyenletrendszerekkel, melyek megoldási módszereivel és azok fejlesztésével foglalkozik a numerikus analízis egy jelent s része. A lineáris egyenletrendszerek megoldására kezdetben a Gauss-eliminációt használták, viszont ez nagyobb méret mátrixoknál már nem hatékony, így szükség volt más módszerek bevezetésére is, ilyenek például a mátrix felbontások. A dolgozatban el ször bemutatom a Gauss-elimináció lépéseit, hiszen az LU- és a Cholesky-felbontás is ezen az algoritmuson alapszik. A QR-felbontás egy egészen más irányból közelíti meg a feladatot: a Gram-Schmidt ortogonalizáció futtatása adja a felbontást. A Schur- és szinguláris felbontások pedig unitér mátrixok segítségével állíthatóak el, a módszerek levezetése az 1.5. és 1.6. fejezetekben találhatók. Az LU-felbontás alkalmazására a 2. fejezetben láthatunk példát. Itt az f(x) = 0 alakú nemlineáris egyenletrendszerek megoldásában van szerepe, melyre a Newtonmódszer két változatát mutatom be. A klasszikus Newton-módszerben minden iterációs lépésben használjuk az LU-felbontást, ezt hasonlítom össze az egyszer sített Newton-módszerrel, ahol csak az els lépésben alkalmazzuk a felbontást, amit az iteráció további lépéseiben változtatás nélkül felhasználunk. A 3. fejezetben megismerkedünk a legkisebb négyzetek módszerével, amely a QRés a szinguláris felbontást használja fel. A módszert a matematika számos területén alkalmazzák mért adatok közötti kapcsolat becslésére. A gyakorlatban min ségellen rzésekkor is felmerülhet a probléma, azaz a gyártási folyamat során az elkészült darabokat lemérik, majd az adatokat összevetik az elvárt adatokkal, így ellen rizve a gyártás min ségét. Ebben a dolgozatban lineáris egyenesek illesztését vezetjük be, majd megmutatjuk, hogy ennek kis változtatásával zárt alakzatok illesztésére is alkalmazható a módszer. Végezetül pedig nagyobb dimenziókra is kiterjesztjük a feladatot, aminek segítségével bemutatjuk, hogy a legkisebb négyzetek módszere hipersíkok illesztésére is alkalmazható. 2
1. Mátrix felbontások 1.1. Gauss-elimináció A Gauss-elimináció lineáris egyenletrendszerek (továbbiakban: LER) megoldására egy egyszer és jól alkalmazható algoritmus. Tekintsük a következ n ismeretlenes és n egyenletb l álló LER-t: a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 (1.1) a 21 x 1 + a 22 x 2 + + a 2n x n = b 2 (1.2) a n1 x 1 + a n2 x 2 + + a nn x n = b n. (1.3) Els lépésben a LER alapján elkészítjük a következ három mátrixot: a 1,1 a 1,2 a 1,k a 1,n x 1 b 1 a A = 2,1 a 2,2 a 2,k a 2,n.........., x = x 2., b = b 2., a n,1 a n,2 a n,k a n,n x n b n melyek segítségével a LER felírható az A R n n, det(a) 0, b R n, Ax = b alakban is, ahol az x vektor értékét keressük. B vítsük ki az A mátrixot b-vel, és legyen a b vített mátrix A (0) = [A b], így egy R n (n+1) -es mátrixot kapunk. Ezen a mátrixon hajtjuk végre a Gauss-eliminációt, aminek az algoritmusa két f részb l áll. Az els részben az A (0) mátrixot fels háromszögmátrixszá alakítjuk, a másodikban pedig rekurzív visszahelyettesítéssel meghatározzuk az x-et. A fels háromszögmátrix eléréséhez n 1 lépésre lesz szükségünk, melyek során minden k-adik lépésben kinullázzuk a k-adik oszlop f átló alatti részét. Ezt úgy érjünk el, hogy minden j-re, melyre k < j n, a j-edik sorhoz hozzáadjuk a k-adik sor a(k 1) k+1,k -szeresét. Az így kapott mátrixot nevezzük el A (k) -nak, a (k 1) k,k 3
a 1,1 a 1,2 a 1,k a 1,k+1 a 1,n a 1,n+1 0 a (1) 2,2 a (1) 2,k a (1) 2,k+1 a (1) 2,n a (1) 2,n+1............ A (k) = 0 0 0 a (k 1) k,k a (k 1) k,k+1 a (k 1) k,n a (k 1) k,n+1 0 0 0 0 a (k) k+1,k+1 a (k) k+1,n a (k)......... 0 0 0 0 a (k) n,k+1 a (k) n,n a (k) n,n+1 k+1,n+1 (1.4) a (k) i,j = a(k 1) i,j a(k 1) i,k a (k 1) k,k Az (n 1)-edik lépésben kapott A (n 1) a (k 1) k,j, i = k + 1,, n, j = k,, n, n + 1. (1.5) egy fels háromszögmátrixú LER-t reprezentál, aminek segítségével rekurzív visszahelyettesítéssel kiszámítható az x = = (x 1, x 2,, x n ) T vektor. x n = a(n 1) n,n+1 a (n 1) n,n x k = 1 a (k 1) k,k (a (k 1) k,n+1 n j=k+1 k = n 1, n 2, 2,1. (1.6) a (k 1) k,j x j ), (1.7) 1.1. Tétel. Az Ax = b, A R n n, b R n, det(a) 0, D k 0 k = 1,, n 1 LER esetén a Gauss-elimináció algoritmusa végrehajtható. D k az A mátrix k-adik f minora, azaz a bal fels k k-as részmátrix determinánsa. Bizonyítás. Indirekt tegyük fel, hogy a k-adik lépésben megakad az algoritmus. Ez csak akkor fordulhat el, ha az A (k 1) mátrixban az a (k 1) k,k elem nulla, azaz D k = = a 1,1 a (1) 2,2 a (k 1) k,k = 0, ami ellentmond a D k 0 feltevéssel. 1.2. LU-felbontás Ebben a fejezetben azt vizsgáljuk, hogy egy adott A R n n, det(a) 0 mátrixnak milyen feltételek mellett létezik azon A = LU felbontása, ahol L egy alsó háromszögmátrix, és i = 1,2,, n-re l i,i = 1 (jelölés: L L (1) ), az U pedig 4
fels háromszögmátrix (jelölés: U U). A szorzat el állításához az el z fejezetben tárgyalt Gauss-elimináció lépéseire fogunk támaszkodni: az algoritmus k-adik lépésében el állított A (k) mátrix elemeit felhasználva deniáljuk az 1 0 0 0 0 0 0 1 0 0 0 0......... L k = 0 0 1 0 0 0 0 l k+1,k 1 0 0......... 0 0 l n,k 0 1 mátrixokat, ahol az l i,k = a(k 1) i,k a (k 1) k,k, i = k+1,, n számok az L k mátrix k-adik oszlopában vannak, illetve a f átlóban csak egyesek szerepelnek. Az így kapott mátrixok invertálhatóak lesznek, ugyanis egy alsó háromszögmátrix determinánsa a f átlóbeli elemek szorzata, így det(l k ) = 1. S t, az L 1 k -et úgy kapjuk L k-ból, hogy L k f átló alatti elemeit megszorozzuk ( 1)-gyel. Az így deniált L k mátrixokkal egyszer en felírhatóak a Gauss-elimináció k-adik lépésében kapott A (k) mátrixok, azaz az A (0) -t A (0) = A-nak választva: L 1 A (0) = A (1), L 2 A (1) = A (2),, L k A (k 1) = A (k). Ezek után az A (n 1) kifejezhet az L k és A mátrixokkal: L n 1 L 2 L 1 A = A (n 1) U. (1.8) Az egyenlet jobboldalán így egy fels háromszögmátrixot kaptunk, hiszen az A (n 1) a Gauss-elimináció eredményeképp kapott mátrix. Vezessük be az U = A (n 1) jelölést, és rendezzük az egyenletet az L k -k inverzeivel való szorzással. A = (L 1 1 L 1 2 L 1 n 1)U. (1.9) Könnyen belátható, hogy az L 1 1 L 1 2 L 1 n 1 szorzat egy L (1) -beli mátrix, 1 0 0 0 l 2,1 1 0 0 L 1 1 L 1 2 L 1 n 1 = l 3,1 l 3,2 1 0,....... l n,1 l n,2 l n,3 1 5
ahol az l i, k értékek a fentebb megadott hányadosok. Így az L = L 1 1 L 1 2 L 1 n 1 (1.10) jelöléssel az A mátrix felírható A = LU formában, ahol L alsó háromszögmátrix, U fels háromszögmátrix, ráadásul a Gauss-elimináció futtatása során meg is kapjuk a két mátrixot. Vizsgáljuk meg, hogy milyen feltételek mellett létezik a felbontás, majd a felbontás egyértelm ségét. 1.2. Tétel. Ha D k 0 k = 1,, n 1, akkor az A = LU felbontás létezik. Bizonyítás. Az 1.1. tételnél láttuk, hogy a Gauss-elimináció algoritmusa ezzel a feltétellel lefuttatható, így a futás során a két mátrix el is áll, tehát a felbontás is létezik. 1.3. Tétel. A R n n. Ha det(a) 0, akkor az A = LU felbontás egyértelm. Bizonyítás. Tegyük fel, hogy létezik két felbontása is az A mátrixnak, azaz, hogy létezik L 1, L 2 L (1) és U 1, U 2 U úgy, hogy A = L 1 U 1 = L 2 U 2, ahol L 1, L 2, U 1, U 2 invertálható mátrixok. Rendezzük az egyenletet úgy, hogy az egyik oldalra csak az alsó, a másik oldalra csak a fels háromszögmátrixok kerüljenek: L 1 1 L 1 U 1 U 1 2 = L 1 1 L 2 U 2 U 1 2 (1.11) U 1 U 1 2 = L 1 1 L 2. (1.12) A rendezés után azt látjuk, hogy az egyenlet bal oldalán két fels háromszögmátrix szorzata van, mely szintén egy fels háromszögmátrixot eredményez, míg a jobb oldalán egy olyan alsó háromszögmátrix, melynek f átlójában csak egyesek szerepelnek. A két oldal csak abban az esetben egyezhet meg, ha mindkét oldalon diagonális mátrix áll. Mivel a jobb oldalon az egységmátrix szerepel, a bal oldali is egységmátrix, tehát a két egyenletet felírva U 1 U 1 2 = I U 1 = U 2, illetve (1.13) L 1 L 1 2 = I L 1 = L 2 (1.14) belátható, hogy amennyiben létezik egy mátrixnak a tételben említett tulajdonságok mellett LU-felbontása, akkor az egyértelm is. 6
1.3. Cholesky-féle felbontás Az LU-felbontásnál egy általános fels háromszögmátrix és egy olyan alsó háromszögmátrix szorzatára bontottuk az A-t, melynek f tálójában csak egyesek szerepelnek, ez a felbontás azonban nagyobb mátrixok esetén már nagy tárhelyet is foglalhat. Ennek kiküszöbölésére a Cholesky-féle felbontásnál azt vizsgáljuk, létezhet-e egy mátrixnak olyan felbontása, ahol alkalmas L-beli L-re A = LL T, azaz mindössze egy általános alsó háromszögmátrix deniálásával szorzattá alakítható-e az A. Látni fogjuk, hogy ehhez arra van szükség, hogy A szimmetrikus, és pozitív denit mátrix legyen. 1.3.1. Deníció. Egy A szimmetrikus mátrix pozitív denit, ha x 0, x R n - re x T Ax > 0. A szorzat el állításához vegyük alapul az 1.2. fejezetben taglalt LU-felbontást. Azt tudjuk, hogy az A = LU felbontás létezik, hiszen a pozitív denitség miatt minden D k 0, így a felbontás egyértelm is. Az U mátrixban i = 1,, n-re az u i,i elem pozitív, ugyanis a f minorok determinánsaira igaz, hogy D k = k u i,i > 0 k = 1,, n. i=1 Következésképp minden u i,i -nek létezik valós gyöke, amik segítségével bevezethetjük a D diagonális mátrixot, melyre d i,i = u i,i. Ekkor a DD -1 szorzat az egységmátrixot adja, így A felírható az A = LDD 1 U = (LD)(D 1 U) (1.15) alakban. Vezessük be a következ jelöléseket: B = LD és C = D 1 U, tehát az (1.15) egyenlet átírható az A = BC formába. Mivel B L, és C U, ezek akár jó jelöltek is lehetnek a Cholesky-felbontás két tagjára. Ehhez azt kell megvizsgálnunk, hogy C = B T teljesül-e. 1.1. Állítás. Az el bbi jelölésekkel C = B T. Bizonyítás. Mivel A szimmetrikus mátrix, a BC szorzatnak is szimmetrikusnak kell lennie, azaz BC = (BC) T = C T B T (1.16) 7
Rendezzük az egyenletet: szorozzunk balról B inverzével, jobbról B T inverzével: B 1 BC(B T ) 1 = B 1 C T B T (B T ) 1 (1.17) C(B T ) 1 = B 1 C T. (1.18) A baloldalon egy U-beli, a jobboldalon egy L-beli mátrix van (az inverz számítás nem változtat a fels, illetve alsó háromszögmátrix tulajdonságon). Az egyenl ség csak abban az esetben állhat fenn, ha mindkét oldalon az egységmátrix áll, tehát a következ egyenletet rendezve: beláttuk az állítást. C(B T ) 1 = I C = B T (1.19) Ezután megfogalmazhatjuk a létezést és egyértelm séget kimondó tételt: 1.4. Tétel. Ha A R n n szimmetrikus, pozitív denit mátrix, akkor létezik egy olyan A = LL T felbontása, ahol L L. Továbbá, ha L f átlóbeli elemei pozitívak, a felbontás egyértelm. Bizonyítás. Az LU-felbontásról már beláttuk, hogy létezik ezen feltételek mellett. Azt is láttuk, hogy az U mátrix minden f átlóbeli eleme pozitív, tehát i-re létezik a u i,i, így az adott feltételek mellett minden esetben el állítható a szükséges D mátrix, illetve annak inverze. Az egyértelm ség bizonyításához indirekt tegyük fel, hogy az A mátrixhoz két különböz felbontás is létezik, azaz A = L 1 L T 1 = L 2 L T 2. Tegyük fel továbbá, hogy az L 1 és az L 2 mátrixok f átlóbeli elemei pozitívak. Rendezzük az egyenletet L 1 inverzével, illetve L T 2 inverzével való beszorzással: L 1 1 L 1 L T 1 (L T 2 ) 1 = L 1 1 L 2 L T 2 (L T 2 ) 1 (1.20) L T 1 (L T 2 ) 1 = L 1 1 L 2 (1.21) Az (1.21) egyenlet baloldalán egy fels, jobboldalán egy alsó háromszögmátrixot található. Az egyenl ség csak úgy teljesülhet, ha mindkét oldalon az egységmátrix szerepel, amib l következik, hogy L 1 = L 2. 8
1.4. QR-felbontás A QR-felbontás egyik felhasználása a legkisebb négyzetek módszeréhez köthet, amivel a kés bbiekben a 3. fejezetben fogunk foglalkozni. A felbontás egy Q és egy R mátrix szorzatára bontja az A mátrixot, ahol Q ortogonális, melynek oszlopai ortonormált rendszert alkotnak, R pedig egy fels háromszögmátrix. A két mátrixot a Gram-Schmidt ortogonalizáció végrehajtásával állíthatjuk el. Jelöljük q i -vel a Q mátrix i-edik oszlopát, r i,i -vel az R mátrix i-edik diagonálelemét, ahol i = 1,, n, c (k) i -val az R i-edik sorának k-adik elemét, ahol i = 1,, n 1 és k = 1,, n 1, valamint A i-edik oszlopát a i -vel, ahol i = 1,, n. El ször számítsuk ki q 1 -et a következ módon: q 1 = a 1 (1.22) r 1,1 = q 1 2 (1.23) q 1 = 1 q r 1. 1,1 (1.24) Ezután tegyük fel, hogy Q els k 1 ortonormált oszlopát már elkészítettük, melyek segítségével fejezzük ki a q k oszlopot. k 1 q k = a k c (k) j q j, (1.25) j=1 c (k) j =< a k, q j >, j = 1,, k 1 (1.26) r k,k = q k 2 (1.27) q k = 1 q r k. k,k (1.28) Ezzel deniáltuk a Q = (q 1,, q n ) mátrixot, illetve az r 1,1 c (1) 1 c (n 1) 1 0 r R = 2,2 c (n 1) 2...... 0 0 r n,n mátrixot, de még ellen riznünk kell, hogy a két mátrix szorzata valóban A-t adja-e. Ehhez elég megnéznünk az A k-adik oszlopát, amit ki tudunk fejezni q k deníciójá- 9
ból: k 1 a k = r k,k q k + c (k) j q j. (1.29) Könnyen belátható, hogy a két mátrix szorzata is ugyanerre az eredményre vezet, tehát az így deniált mátrixokkal megadható az A = QR felbontás. Felvet dik a kérdés, hogy milyen A mátrixokhoz létezik ilyen Q és R mátrix, illetve fontos még megvizsgálni az egyértelm ség kérdését is. Ezek megválaszolására szolgál a következ két tétel. 1.5. Tétel. Ha det(a) 0 az A = QR felbontás létezik (az eddigi jelöléseket használva). Bizonyítás. A Gram-Schmidt eljárás csak a q k vektor meghatározásánál akadhat el, amikor is r k,k -val osztunk. Indirekt tegyük fel, hogy r k,k = 0. Ez az jelenti, hogy j=1 r k,k = q 2 = 0 q k = 0, (1.30) tehát a k = k 1 j=1 c(k) j q j, vagyis a k lineárisan függ az a i vektoroktól, ahol 0 < i < k. Ebb l viszont következik, hogy A determinánsa nulla, ami ellentmond a det(a) 0 feltételnek. 1.6. Tétel. Ha det(a) 0 és R f átlóbeli elemei pozitívak, akkor az A mátrix QR-felbontása egyértelm. Bizonyítás. Legyen A olyan mátrix, melynek létezik QR-felbontása. Indirekt tegyük fel, hogy léteznek a Q 1, Q 2, R 1, R 2 mátrixok úgy, hogy A = Q 1 R 1, és A = Q 2 R 2, tehát Q 1 R 1 = Q 2 R 2. Rendezzük az egyenletet: szorozzunk balról Q T 1 -tal és jobbról R 2 inverzével. Q T 1 Q 1 R 1 R 1 2 = Q T 1 Q 2 R 2 R 1 2 (1.31) Kihasználjuk, hogy Q 1 ortogonális mátrix, azaz Q 1 inverze egyben a transzponáltja is (Q T 1 Q 1 = I), amib l az R 1 R 1 2 = Q T 1 Q 2 (1.32) 10
egyenletet kapjuk. Az egyenlet baloldalán egy fels háromszögmátrix, a jobboldalán pedig egy ortonormált mátrix található. Egy fels háromszögmátrix viszont csak abban az esetben lehet ortonormált, ha az az egységmátrix, tehát az egyenlet mindkét oldalán egy-egy egységmátrix található. Q T 1 Q 2 = I Q 1 = Q 2 (1.33) R 1 R 1 2 = I R 1 = R 2. (1.34) Ezzel beláttuk, hogy az A egy QR-felbontása az adott feltételekkel egyértelm. 1.5. Schur-féle felbontás 1.5.1. Deníció (Unitér mátrix). Az U K n n unitér mátrix, ha transzponált konjugáltja megegyezik az inverzével. A Schur-felbontásban A mátrixnak egy olyan szorzatra bontását keressük, ahol A = URU úgy, hogy U egy unitér mátrix, illetve R egy fels háromszögmátrix legyen. A felbontás létezésének bizonyításához szükséges a következ lemma belátása: 1.1. Lemma. A K n n esetén létezik U unitér mátrix, hogy ( U λ 1 c T ) AU = 0 A 1 alakú, ahol λ 1 A egy sajátértéke, c T egy n 1 hosszú sorvektor, és A 1 K (n 1) (n 1). Bizonyítás. Legyen (λ 1, u 1 ) A egy sajátpárja úgy, hogy u 1 2 = 1, és legyen az U = (u 1, u 2,, u n ) mátrix egy ortonormált rendszer. Ekkor U unitér mátrix, és az U AU pontosan a lemmában megadott mátrixot adja. Ennek a belátásához elég kiszámolnunk, hogy mi az U AU els oszlopa. Legyen e 1 R n az els egységvektor, azaz els eleme 1, a többi 0. Ekkor a szorzat els oszlopát az U AUe 1 = U Au 1 (1.35) szorzat adja. Mivel u 1 sajátvektora A-nak, melyhez a λ 1 sajátérték tartozik, az el z egyenlet átírható az U λ 1 u 1 = λ 1 U u 1 (1.36) 11
formába is. Az U u 1 szorzat az e 1 vektort adja eredményül, ugyanis az u 1u 1 u U u 1 = 2u 1. u nu 1 mátrix minden sorában egy skalárszorzat van, ahol az els szorzat kivételével egymásra mer leges vektorokat szorzunk össze, mivel U ortonormált rendszer, amin a konjugálás és transzponálás nem változtat. Így egyedül az u 1u 1 skalárszorzat nem lesz nulla. Ennek az értéke pedig az u 1 kettes normájának négyzete, azaz u 1 2 2 = = 1. Megkaptuk tehát, hogy U u 1 = e 1, így az U AUe 1 = λ 1 e 1, ami pontosan a lemmában meghatározott mátrix els oszlopát adja. A lemma segítségével már kimondható és bizonyítható a felbontás létezése. 1.7. Tétel. Ha A K n n, akkor létezik U unitér és R U, hogy A = U RU. Bizonyítás. A tételt teljes indukcióval fogjuk bizonyítani, azaz el ször n = 1-re nézzük meg az állítást. a 1,1 = 1 a 1,1 1 (1.37) Ebben az esetben létezik felbontás. Tegyük fel most, hogy n 1-re igaz az állítás, és megmutatjuk, hogy ekkor n n-es mátrixhoz is létezik Schur-felbontás. A K n n, tehát az el z lemma szerint létezik U unitér mátrix úgy, hogy ( ) U λ 1 c T AU =. (1.38) 0 A 1 A 1 egy K (n 1) (n 1) -beli mátrix, tehát az indukciós feltevés miatt létezik hozzá U 1 unitér és R 1 U mátrix, hogy A 1 = U 1 R 1 U 1. Könnyen belátható, hogy az (1.38) jobb oldala felírható a következ szorzatalakban: ( ) ( ) ( ) 1 0 λ 1 y 1 0 = 0 U 1 0 R 1 0 U1 ( λ 1 c 0 A 1 ), (1.39) amennyiben az y -ot meghatározzuk. Ahhoz, hogy az egyenl ség fennálljon, úgy kell megadnunk az y-t, hogy az y U 1 = c (1.40) 12
igaz legyen. Ehhez vegyük mindkét oldal transzponáltjának konjugáltját, majd az U mátrix unitér tulajdonságát kihasználva rendezzük az egyenletet: U 1 y = c (1.41) y = U1 c. (1.42) Az (1.39) egyenlet baloldalán szerepl mátrixokat jelöljük rendre U, R, illetve U - gal, melyek segítségével röviden felírható az (1.38) egyenlet: U AU = U RU. (1.43) Az egyeneletet A-ra rendezve a következ t kapjuk: A = UU RU U. (1.44) Jelöljük az UU mátrixot U-val, az U U = (UU ) mátrixot pedig U -gal. Két unitér mátrix szorzata is unitér, így U is unitér mátrix, amib l természetesen következik, hogy U is unitér. A tehát felírható az A = URU formában, ami az A mátrix Schur-felbontását adja. 1.6. Szinguláris felbontás A szinguláris felbontás lényege, hogy egy A K m n mátrix felbontható három mátrix szorzatára egy U unitér mátrix, egy D diagonális mátrix és egy V unitér mátrix segítségével úgy, hogy A = UDV. (1.45) 1.6.1. Deníció (Normális mátrix). Legyen A komplex négyzetes mátrix. Ekkor A-t normális mátrixnak hívjuk, ha igaz, hogy ahol A jelöli A transzponáltjának konjugáltját. A A = AA, (1.46) A szinguláris felbontásról szóló tétel kimondása el tt szükséges a következ tétel bizonyítása. 1.8. Tétel. Legyen A K n n, és vegyük az A = URU Schur-felbontását. Ekkor R diagonális mátrix A normális. 13
Bizonyítás. El ször bizonyítsuk a irányt. A bizonyításhoz az A A és az AA szorzatokat kell megvizsgálnunk. Mivel A-nak létezik Schur-felbontása, A = URU, illetve A = UR U. AA = URU UR U = URR U (1.47) A A = UR U URU = UR RU. (1.48) (1.47) és (1.48) csak akkor egyezik meg, ha RR = R R. Mivel R a feltevés miatt diagonális mátrix, az egyenl ség fennáll, tehát beláttuk, hogy ekkor A normális mátrix. Most nézzük meg a másik irányt. A normális, tehát igaz rá, hogy A A = AA, valamint A-nak létezik Schur-felbontása, aminek segítségével felírhatjuk az A A = = AA egyenl séget, felhasználva azt, amit az (1.47), illetve az (1.48) egyenleteknél már kiszámoltunk. A két szorzat a feltétel miatt megegyezik, tehát UR RU = URR U R R = RR. (1.49) Mivel R egy fels háromszögmátrix, az egyenl ség csak abban az esetben áll fent, ha R diagonális mátrix. 1.9. Tétel. Legyen A egy K m n -es mátrix, ahol m n. Ekkor létezik A-nak egy A = UDV felbontása ( úgy, ) hogy U K m m, V K n n unitér mátrixok, illetve D K m n D 1, és D = alakú, D 1 K n n diagonál mátrix, melynek elemei: 0 d i,i = σ i, σ 1 > σ 2 > > σ s > σ s+1 = = σ n = 0, (1.50) s = rang(a). A σ i számokat nevezzük A szinguláris értékeinek. Bizonyítás. Tekintsük az A A szimmetrikus, pozitív szemidenit mátrixot, azaz x R n, x 0 vektorra x T Ax 0. Tudjuk, hogy ennek létezik Schur-felbontása, azaz létezik olyan V K n n unitér mátrix, hogy V (A A)V = diag(σi 2 ). (1.51) 1 i s Tegyük fel, hogy a σ i számokra teljesül az (1.50) feltétel (tehát csökken sorrendben vannak). Bontsuk két részre a V mátrixot úgy, hogy V = (V 1, V 2 ), V 1 K n s a V 14
mátrix els s oszlopát tartalmazza, V 2 K n (n s) az utolsó n s oszlopot, ahol s az A mátrix rangját jelöli. Ekkor a blokkmátrixok szorzási szabályának felhasználásával kapjuk a következ ket: V 1 A AV 1 = diag(σi 2 ) K s s (1.52) 1 i s V 2 A AV 2 = 0 AV 2 = 0 K n (n s). (1.53) Vezessük be az U 1 = AV 1 diag(σ1 1,, σ 1 ) K m s mátrixot. Ekkor s U 1 U 1 = I, (1.54) s t, az U 1 oszlopai ortogonálisak. Egészítsük ki U-t további m s oszloppal úgy, hogy U = (U 1, U 2 ) K m m ortogonális mátrix legyen. Felírhatjuk az ( ) ( ) U U1 U1 AV 1 U1 AV 2 AV = A(V 1, V 2 ) = U2 AV 1 U2 AV 2 U 2 szorzatot, ahol konstrukció szerint AV 2 = 0, AV 1 = U 1 diag(σ i ). Emiatt 1 i s U U1 U 1 diag (σ i ) 0 ( 1 i s AV = U2 = U 1 diag(σ i ) 0 1 i s D 1 0 ) 1.7. Megjegyzés. Az A mátrix szinguláris értékeit megkaphatjuk az A A mátrix sajátértékeib l, tehát i, j, melyekre σ 2 i = λ j (A A), azaz σ i = λ j (A A). (1.55) Miután beláttuk a szinguláris felbontás létezésér l szóló tételt, vizsgáljuk meg, hogyan állítható el a felbontás. Ehhez két teljes sajátérték feladat megoldására van szükség. Az U mátrix oszlopait az AA mátrix sajátvektoraiból álló ortogonális vektorrendszer adja, V oszlopait pedig az A A sajátvektorai alkotják. A Σ diagonális mátrix szinguláris értékeit az 1.7. megjegyzés miatt az AA és mátrix sajátértékeinek négyzetgyökei adják. 15
2. Nemlineáris egyenletrendszerek megoldása 2.1. Newton-módszer A természettudományos, gazdasági vagy technológiai folyamatokat leíró modelleknél gyakran találkozunk nemlineáris egyenletekkel, egyenletrendszerekkel. Az ilyen egyenletrendszerek megoldására egy jól alkamazható módszer a Newton-módszer. Ebben a dolgozatban nem foglalkozunk az egy dimenziós ([1]) esettel, csupán annak kiterjesztésével n dimenzióra. Tekintsük a következ n nemlineáris, n változós egyenletet: f 1 (x 1, x 2,, x n ) = 0 (2.1) f 2 (x 1, x 2,, x n ) = 0 (2.2) f n (x 1, x 2,, x n ) = 0, (2.3) ahol i = 1,, n-re f i : R n R. Legyen f : R n R n egy folytonosan dierenciálható függvény, és legyen x = (x 1,, x n ). Az egyenletrendszer ekkor felírható az f 1 (x) f f(x) = 2 (x). = 0 (2.4) f n (x) formában. A Newton-módszer els lépése egy kezdeti x (0) közelítés megadása. Közelítsük f-et az els fokú Taylor-polinomjával az x (0) helyen a másodfokú tagok elhagyásával: f(x) f(x (0) ) + Df(x (0) )(x x (0) ). (2.5) Df(x (0) ) az f vektorfüggvény Jacobi-mátrixa, azaz az f elemeinek parciális deriváltjait tartalmazó mátrix, f 1 x 1 (x (0) ) Df(x (0) ) =.... f n x 1 (x (0) ) 16 f 1 x n (x (0) ).. (2.6) f n x n (x (0) )
Olyan x-et keresünk, melyre a (2.5) közelítés nulla, tehát válasszuk meg x (1) -et úgy, hogy f(x (0) ) + Df(x (0) )(x (1) x (0) ) = 0 (2.7) teljesüljön. Amennyiben a Df(x (0) ) Jacobi-mátrix reguláris, az x (1) kifejezhet a (2.7) egyenletb l, mégpedig x (1) = x (0) (Df(x (0) )) 1 f(x (0) ), (2.8) ahol az x (1) az x (0) egy javítása, azaz egy jobb közelítése a (2.4) megoldásának. Ha a Jacobi mátrix nem invertálható, akkor másik x (0) vektort kell megadnunk. A gyakorlatban azonban x (1) kiszámítására nem a Jacobi-mátrix inverzét használjuk, ehelyett inkább a Df(x (0) ) x (0) = f(x (0) ) (2.9) egyenletrendszert oldjuk meg, melyb l x (0) segítségével megkaphatjuk a javított x (1) = x (0) + x (0) közelítését a megoldásnak. Ezek alapján felírjatjuk a (2.4) megoldására vezet iterációt: Df(x (k) ) x (k) = f(x (k) ) (2.10) x (k+1) = x (k) + x (k) (2.11) k = 0,1,2, Azaz minden lépésben meg kell oldanunk egy egyenletrendszert, melyre alkalmazhatjuk például az 1.2. fejezetben tárgyalt LU-felbontást. A Newton-módszer nemlineáris egyenletrendszerek esetében másodrendben konvergens, az alábbi tételben ([3]) megállapított feltételek mellett (a tételt nem bizonyítjuk). 2.1. Tétel. Legyen f : R n R n folytonosan dierenciálható függvény, melynek egy x zérushelye eleme egy C R n nyílt, konvex halmaznak. Tegyük fel továbbá, hogy az x egy környezetében az f függvény Df Jacobi-mátrixa Lipschitz-folytonos, illetve létezik (Df(x )) 1. Ekkor x -nak létezik olyan környezete, melynek bármely pontjából indítva a (2.10) és (2.11) által meghatározott iterációt az másodrendben konvergens, és x -hoz tart. 17
2.2. Egyszer sített Newton-módszer A Newton módszernek két alapvet hiányossága van. Az egyik, hogy minden iterációs lépésben ki kell számolnunk a Jacobi-mátrixot, ami lépésenként n 2 függvényértéket jelent. Ez a feladat azonban a gyakorlatban nem minden esetben oldható meg, például, ha maga az f nem analitikus formában van megadva, akkor a Jacobi-mátrix sem számítható ki analitikus képletekkel. A másik hátrány, hogy iterációs lépésenként egy új lineáris egyenletrendszer megoldására van szükség. Ezeket a problémákat kerüli meg az egyszer sített Newton-módszer, melynek során elég az els Jacobi-mátrixot, illetve annak LU-felbontását meghatározni, és az iteráció minden további lépésében ezzel számolni. Ez az eljárás a Newton-módszer (2.10) egyenletrendszerének módosításával a következ iterációval írható le: Df(x (0) ) x (k) = f(x (k) ) (2.12) x (k+1) = x (k) + x (k) (2.13) k = 0,1,2, 2.3. Összehasonlítás Vizsgáljuk meg, mit jelent egy dimenziós esetben a két módszer. A Newton-módszer minden iterációs lépése új érint t határozott meg az x (k) pontban, melynek metszéspontja az x-tengellyel adja az iteráció következ közelítését. Az egyszer sített változatban csak az els lépésben számolunk érint t, a további lépésekbeben azzal párhuzamos egyeneseket állít el. Ebb l is látszik, hogy annak ellenére, hogy a Newton-módszer két hátrányát is kiküszöböltük, az egyszer sített változat mégis jelent sen lassabban konvergál az eredetinél. LU-felbontást használva a (2.12) megoldása O(n 2 ) lépést igényel (az els iterációs lépést kivéve), míg a (2.10) megoldásához O(n 3 ) lépés szükséges. Az algoritmikus komplexitás szempontjából tehát javult az eljárás, viszont lassult a konvergencia, az egyszer sített Newton-módszer már csak lineárisan konvergens. Nézzük meg néhány egyszer példán keresztül, hogy a gyakorlatban mennyire mutatkozik a különbség a két módszer között. 18
2.4. Példa. 2.5. Példa. 2.6. Példa. x 2 1 1 = 0 x 2 2 1 = 0 x mo =(1,1) x 2 1 + 3x 1 x 2 + 2 = 0 2x 1 x 2 + 3 = 0 x mo = ( 1.62, 0.24) x 2 1x 3 2x 2 + 8 = 0 3x 2 3 2x 2 2 = 0 2x 1 x 2 5x 3 = 0 x mo = (1,5,2) Az 1. táblázatban láthatjuk a futási eredményeket, ahol a harmadik, illetve negyedik oszlopok az iterációszám/futási id t tartalmazzák. A tesztek MATLAB 7.11- ben futottak a Newton.m és SimpliedNewton.m programok segítségével. Példa száma x (0) kezd vektor Newton Egyszer sített Newton 2.4. Példa (1.1,1.1) 2/0.0009 4/0.0009 2.4. Példa (5,5) 5/0.0015 48/0.004 2.5. Példa ( 1.5, 0.2) 2/0.0009 2/0.0007 2.5. Példa ( 2.1,0) 3/0.0012 8/0.0012 2.6. Példa (0.9,4.5,2.1) 3/0.0014 4/0.0009 2.6. Példa (0.5,6,2.3) 3/0.0012 9/0.0014 1. táblázat. A feladatokat megoldó Newton.m és SimpliedNewton.m programok eredményei 3. Legkisebb négyzetek módszere Bevezetés Ebben a fejezetben megismerkedünk a legkisebb négyzetek módszerével, aminek széleskör gyakorlati alkalmazása ismert. Ezek közül az egyik legfontosabb a görbeillesztés, melynek során olyan matematikai függvényt határozunk meg, mely a legjobban illeszkedik egy adathalmazra. A módszer úgy ad közelít függvényt egy adott ponthalmazhoz, hogy minimalizálja a távolságok négyzeteinek összegét, ahol a távolságokat az egyes pontok távolsága adja az illesztett függvényt l. Ebben a fejezetben lineáris függvényeket fogunk illeszteni, illetve ennek felhasználásával két 19
dimenziós alakzatok illesztésének feltételeivel és módszerével is megismerkedünk, végül kiterjesztjük az eljárást magasabb dimenziókra is. 3.1. Egyenes illesztése a síkon Adott a síkon m pont, jelölje ezeket P 1, P 2,, P m, melyek koordinátáik sorra: (x P1, y P1 ), (x P2, y P2 ),, (x Pn, y Pm ). (3.1) A feladat, hogy ezekre a pontokra olyan egyenest illesszünk, amelyre igaz, hogy az eltérések négyzeteinek összege minimális legyen. 1. ábra. Példa egyenes illesztésre Egy egyenes megadható a következ háromismeretlenes egyenlettel: c + n 1 x + n 2 y = 0. (3.2) Vegyük hozzá az n 2 1 + n 2 2 = 1 feltételt, és jelöljük n-nel az (n 1, n 2 ) vektor, mely az egyenes normálvektora. Tudjuk, hogy egy pont akkor illeszkedik az egyenesre, ha a koordinátái kielégítik a (3.2) egyenletet. Az illesztés során azonban gyakoribb az az 20
eset, amikor egy pont nem illeszkedik az egyenesre. Legyen P i = (x i, y i ) egy ilyen, az egyenesre nem illeszked pont, és tekintsük az r i = c + n 1x i + n 2 y i n 2 (3.3) kifejezést. Ekkor r i pontosan a P i pont egyenest l vett távolságát adja meg. Ezt a távolságot számítsuk ki minden megadott P i pontra, és legyen r = (r 1, r 2,, r m ) T a távolságokat tartalmazó oszlopvektor. A feladat tehát olyan egyenes keresése, melyre m m r 2 2 = ri 2 (n 1 x i + n 2 y i + c) 2 m = = (n n 2 1 + n 2 1 x i + n 2 y i + c) 2 (3.4) 2 i=1 i=1 minimális. A (3.4)-et felírhatjuk mátrixos alakban, ehhez konstruáljuk meg az 1 x P1 y P1 c 1 x A = P2 y P2..., z = n 1 n 2 1 x Pn y Pn mátrixokat. Könnyen belátható, hogy az Az szorzat az r vektort adja eredményül, így ezekkel a jelölésekkel röviden felírható a probléma: olyan z vektor keresése, melyre { Az 2 2 min n 2 = 1 Vegyük az A mátrix QR-felbontását, és használjuk fel a kettes norma azon tulajdonságát, miszerint a kettes norma invariáns az ortogonális transzformációkra. Tehát, ha A = QR, akkor az Az = r egyenletet balról Q T -tal szorozva kapjuk, hogy r 11 r 12 r 13 0 r 22 r 23 Q T 0 0 r 33 c Az = n 0 0 0 1 = Q T r.... n 2 0 0 0 Vegyük mindkét oldal normáját, így a kettes norma tulajdonságai miatt Q T r 2 2 = = r 2 2 és Rz 2 2 = (r 11 c + r 12 n 1 + r 13 n 2 ) 2 + (r 22 n 1 + r 23 n 2 ) 2 + (r 33 n 2 ) 2 = = (r 11 c + r 12 n 1 + r 13 n 2 ) 2 + Bn 2 2, (3.5) i=1 21
( ) r 22 r 23 ahol B-vel az mátrixot jelöltük. Mivel a nemlineáris n 2 = 1 feltétel 0 r 33 csak két ismeretlent tartalmaz, elég megoldani a Bn 2 2 min feladatot az n 2 = 1 feltétellel. Az n ismeretében ugyanis a c szám is kiszámolható az r 11 c+r 12 n 1 +r 13 n 2 = = 0 egyenlet megoldásával, ahol az átrendezés után c = (r 12n 1 +r 13 n 2 ) r 11. A minimum értékét a B mátrix legkisebb szinguláris értékének négyzete adja, a megoldást pedig a hozzá tartozó jobb szinguláris vektor, amit a következ állításban bizonyítunk. 3.1. Állítás. Legyen A R n n és x R n. Ekkor a { Ax 2 2 min x 2 = 1 feladatban a minimum értéke megegyezik az A mátrix legkisebb szinguláris értékének négyzetével, a megoldást pedig a szinguláris értékhez tartozó jobb szinguláris vektor adja. Bizonyítás. A kettes norma deníciója alapján Ax 2 2 = Ax, Ax. A skalárszorzat tulajdonságait felhasználva ez átrendezhet a Ax, Ax = x, A T Ax (3.6) alakra. A T A normális mátrix, tehát vehetjük az A T A = UDU T Schur-féle felbontását, ahol D diagonális mátrix. D f átlójában az A T A mátrix sajátértékeit tartalmazza. Jelöljük az i-edik sajátértéket λ i -vel úgy, hogy λ 1 λ 2 λ n 0. x, A T Ax = x, UDU T x = U T x, DU T x (3.7) Legyen y = U T x, így ezzel a helyettesítéssel a következ skalárszorzatra egyszer södik a feladat: y, Dy = Mivel λ n a legkisebb sajátérték, és U ortogonális mátrix n λ i yi 2. (3.8) i=1 n λ i yi 2 λ n i=1 n yi 2 = λ n y 2 2 = λ n x 2 2 = λ n. (3.9) i=1 22
Az 1.7. megjegyzés miatt az A mátrix legkisebb szinguláris értékének négyzete megegyezik az A T A mátrix legkisebb sajátértékével, tehát σ 2 min = λ n. Legyen v 0 és u 0 a σ min -hez tartozó jobb, illetve bal szinguláris vektor úgy, hogy Av = σ min u. Ekkor Av 2 2 = Av, Av = σ min u, σ min u = σmin u 2 2 2 = σmin. 2 (3.10) 3.2. Két párhuzamos egyenes illesztése a síkon Az el z részben egyenest illesztettünk egy megadott ponthalmazra, a következ feladat azonban két adott ponthalmazra egymással párhuzamos egyenesek illesztése. Ez els re talán összetettebb feladatnak t nhet, de látni fogjuk, hogy egy kis módosítással alkalmazhatjuk az el z részben bevezetett módszert. Legyen a két ponthalmaz {P i } (i = 1,, p) és {Q i } (i = 1,, q). Mivel két párhuzamos egyenesr l van szó, a normálvektorjaik megegyeznek, így az egyetlen különbség a két illesztend egyenes egyenlete között a konstans tag: c 1 + n 1 x + n 2 y = 0 (3.11) c 2 + n 1 x + n 2 y = 0, (3.12) ahol n 2 1+n 2 2 = 1. Jelöljük ismét r vektorral a távolságokat tartalmazó vektort, viszont gyeljünk arra, hogy most p + q darab pontunk van, így r R p+q ahol az els p koordináta a {P i } ponthalmaz pontjainak a távolsága az els egyenest l, a többi koordináta pedig a {Q i } ponthalmaz pontjaihoz tartozó távolságok. Az A mátrixot és a z vektort az 1 0 x P1 y P1 1 0 x P2 y P2.... A = 1 0 x Pp y Pp 0 1 x Q1 y z = Q1 0 1 x Q2 y Q2.... 0 1 x Qq y Qq c 1 c 2 n 1 n 2 23
módon deniálva az Az szorzat ismét az r vektort adja, így a feladat ismét az Az 2 2 min megoldása az n 2 = 1 feltétel mellett. Ehhez vegyük az A mátrix QR-felbontását, ahol R 1 R 2 0 B R = 0 0.. 0 0 alakú. R 1 f átló elemei nem nullák, tehát a determinánsa sem nulla, ezért invertálható. Vezessük be a c = (c 1, c 2 ) T vektort, így Az 2 2 = R 1 c + R 2 n 2 2 + Bn 2 2. (3.13) Ebb l a megoldást ugyanazzal a módszerrel kapjuk, amit az el z fejezetben taglaltunk, azaz elég megoldanunk a { Bn 2 2 min n 2 = 1 feladatot, amib l n ismeretében a c vektor értéke megadható a c = R 1 1 R 2 n alakban. 3.3. Két egymásra mer leges egyenes illesztése a síkon A mer leges egyenesek illesztésének menete nem sokban különbözik a párhuzamos egyenesek illesztésének megoldásától. Ismét két ponthalmaz adott, jelöljük ezeket a szokásos jelölésekkel: {P i } (i = 1,, p) és {Q i } (i = 1,, q). A két keresett egyenes ebben az esetben a normálvektorban is különbözni fog, mivel az egyik egyenes normálvektora a másik egyenes irányvektora. Tehát, ha az egyik egyenesnek (n 1, n 2 ) a normálvektora, akkor a másiknak ( n 2, n 1 ) lesz, így a két egyenes egyenlete c 1 + n 1 x + n 2 y = 0 (3.14) c 2 n 2 x + n 1 y = 0, (3.15) 24
amihez hozzávesszük a szokásos n 2 1 + n 2 2 = 1 feltételt. Ismét felírjuk az A mátrixot, tehát a feladat 1 0 x P1 y P1.... 1 0 x Pp y Pp A = 0 1 y Q1 x Q1.... 0 1 y Qq x Qq mátrixszal és az el z z jelölést használva az Az 2 2 min megoldása n 2 = 1 feltétellel, melyet szintén az A QR-felbontásával, majd az R hasonlóan deniált 2 2-es részmátrixának szinguláris felbontsának segítségével oldunk meg. 2. ábra. Párhuzamos egyenesek illesztése 3. ábra. Mer leges egyenesek illesztése 3.4. Téglalap illesztés Miután tudunk párhuzamos és mer leges egyeneseket is illeszteni adott ponthalmazokra, érdekes feladat ezek felhasználása zárt alakzatok illesztésére. El ször a téglalap illesztéssel foglalkozunk, amihez szükségünk van négy ponthalmazra, legyenek ezek {P i } (i = 1,, p), {Q i } (i = 1,, q), {R i } (i = 1,, r) és {S i } (i = 1,, s). A keresett téglalap oldalait sorra a, b, c és d-vel jelölve az egyes olda- 25
lakhoz tartozó egyenesek egyenletei a : c 1 + n 1 x + n 2 y = 0 (3.16) b : c 2 n 2 x + n 1 y = 0 (3.17) c : c 3 + n 1 x + n 2 y = 0 (3.18) d : c 4 n 2 x + n 1 y = 0 (3.19) ahol n 2 1 + n 2 2 = 1. Az el z ek mintájára felírhatjuk az A mátrixot és a z vektort: ami alapján a megoldást ismét a { feladat megoldásával kapjuk meg. 1 0 0 0 x P1 y P1...... 1 0 0 0 x Pp y Pp 0 1 0 0 y Q1 x Q1...... A = 0 1 0 0 y Qq x Qq 0 0 1 0 x R1 y, z = R1...... 0 0 1 0 x R1 y Rr 0 0 0 1 y S1 x S1...... 0 0 0 1 y Ss x Ss Az 2 2 min n 2 = 1 Az egyenesek ismeretében, további feladat lehet az illesztett téglalap csúcsainak koordinátáit meghatározni. Ehhez az egyes oldalakhoz tartozó egyenesek metszéspontjait kell kiszámolni, például az a és b oldalakhoz tartozó csúcs koordinátáit az c 1 c 2 c 3 c 4 n 1 n 2 n 1 x + n 2 y = c 1 (3.20) n 2 x + n 1 y = c 2 (3.21) 26
két ismeretlenes egyenletrendszer megoldása adja. Hasonlóan felírható a többi három csúcshoz tartozó egyenletrendszer, s t, az ( ) ( ) n 1 n 2 c 1 c 3 c 3 c 1 N = és C = n 2 n 1 c 2 c 2 c 4 c 4 mátrixok felhasználásával a négy metszéspont egyszerre kiszámítható. Ehhez vezessük be az X R 2 4 mátrixot, ami a csúcsok (x, y) koordinátáit tartalmazza, ekkor az NX = C a négy csúcshoz tartozó négy egyenletrendszert határozza meg. Az N mátrix ortogonalitása miatt, az szorzat adja meg a négy csúcs koordinátáit. X = N T C (3.22) 3.5. Négyzet illesztés 4. ábra. Példa négyzet illesztésre Legyen d az adott pontokra illesztend négyzet oldalának hossza, a négy ponthalmaz pedig {P i } i = 1,, p, {Q i } i = 1,, q, {R i } i = 1,, r és {S i } 27
i = 1,, s. A négy oldalhoz tartozó egyenesek egyenletei az óramutató járásával ellentétesen megadva a 1 : c 1 + n 1 x + n 2 y = 0 (3.23) a 2 : c 2 n 2 x + n 1 y = 0 (3.24) a 3 : d + c 1 + n 1 x + n 2 y = 0 (3.25) a 4 : d + c 2 n 2 x + n 1 y = 0 (3.26) n 2 1 + n 2 2 = 1. (3.27) Ezek alapján az A mátrix és z vektor meghatározásával a feladat visszavezethet a korábbi megoldási módszerekre. 0 1 0 x P1 y P1..... 0 1 0 x Pp y Pp 0 0 1 y Q1 x Q1 d..... c A = 0 0 1 y Qq x Qq 1 1 1 0 x R1 y, z = c 2. R1 n 1..... n 2 1 1 0 x R1 y Rr 1 0 1 y S1 x S1..... 1 0 1 y Ss x Ss A csúcsok koordinátáinak meghatározásához felhasználhatjuk a téglalapnál bevezetett jelöléseket. A C mátrix alábbi ( ) c 1 c 1 d c 1 d c 1 C = c 2 c 2 c 2 d c 2 d módosításával tehát a metszéspontokat meghatározza az X = N T C szorzat. 3.6. További sokszög illesztések A téglalap és négyzet illesztés után felmerül a kérdés, hogy vajon lehet-e tetsz leges k N oldalú sokszöget illeszteni megadott ponthalmazra. Az eddigi tapasztalat 28
azt mutatja, hogy elég az A mátrixot meghatározni, amib l egy QR-, illetve szinguláris felbontás megadja az eredményt. Az A meghatározásához el ször írjuk fel egy k oldalú sokszög oldalaihoz tartozó egyenleteket (óramutató járásával ellentétes irányban megadva): e 1 : c 1 + n 1,1 + n 1,2 = 0 (3.28) e 2 : c 2 + n 2,1 + n 2,2 = 0 (3.29) e k : c k + n k,1 + n k,2 = 0 (3.30) 5. ábra. Példa ötszög illesztésre 6. ábra. Példa nyolcszög illesztésre A téglalap illesztésnél egy normálvektor meghatározásával fejeztük ki minden oldal egyenesének normálvektorát, nézzük meg, hogy ezt itt is megtehetjük-e. Ennek érdekében vegyük az illesztend sokszög tulajdonságaihoz, hogy az oldalak által bezárt szögek egyenl ek legyenek. Ez egy k oldalú sokszög esetén ϑ = π 2π szöget k jelent. A sík origó körüli óramutató járásával ellentétes irányú ϕ szög forgatása a következ mátrixszal adható meg: ( ) ( x cos ϕ = y sin ϕ ) ( ) sin ϕ x. (3.31) cos ϕ y 29
A forgatást meghatározó mátrixszal már kifejezhet ek a normálvektorok az els normálvektor ismeretében, mégpedig az i-edik oldalhoz tartozó egyenes normálvektora megadható az n i = ( cos ϕ i sin ϕ i sin ϕ i cos ϕ i ) ( n 1,1 n 1,2 ) (3.32) alakban, ahol ϕ i = (i 1)ϑ, és i = 1,, k. Jelöljük az i-edik normálvektorhoz tartozó forgatás mátrixát F i -vel, ahol a forgatás szöge ϕ i, így az i-edik egyenlet felírható a alakban. c i + (x y)f i n 1 (3.33) Az egyszer ség kedvéért tegyük fel, hogy minden oldalhoz tartozó ponthalmaz h N méret. Az i-edik oldalhoz tartozó pontokat tartalmazza a P (i) R h 2 mátrix, a hozzátartozó j-edik pontot pedig jelöljük P (i) j -vel. Ezekkel a jelölésekkel az A és z mátrix felírhatóak: (1) 1 0 0 ˆP 1,1 ˆP (1) 1,2........ (1) 1 0 0 ˆP h,1 ˆP (1) h,2 c 1 (2) 0 1 0 ˆP 1,1 ˆP (2) 1,2 c 2 A =......... (2) 0 1 0 ˆP h,1 ˆP (2), z =, h,2 c k........ n 1,1 (k) 0 0 1 ˆP 1,1 ˆP (k) 1,2 n 1,2........ (k) 0 0 1 ˆP h,1 ˆP (k) h,2 ˆP (i) j,l ahol jelöli a P (i) j F i vektor l-edik koordinátáját. A feladat ismét az Az 2 2 min megoldása az n 1 2 = 1 feltétel mellett, melynek megoldását megadja egy QR- és egy azt követ szinguláris felbontás. 3.7. Hipersík illesztése Ebben a fejezetben a legkisebb négyzetek módszerének kiterjesztését mutatjuk be az n dimenziós térre. A cél R n -ben adott ponthalmazra egy s dimenziós hipersík illesz- 30
tése, ahol 1 s n 1. A pontokat az X = (x 1, x 2,, x m ) T mátrix tartalmazza, ahol x i = (x i1, x i2,, x in ). Egy hipersík R n -ben az y = p + a 1 t 1 + a 2 t 2 + + a s t s = p + At (3.34) egyenlettel írható fel, ahol p a sík egy pontja, az a i vektorok pedig lineárisan független irányvektorok. Tegyük fel, hogy A ortogonális. Els lépésben minimalizáljuk a pontok távolságát a hipersíktól, az x i -hez tartozó távolságot jelöljük d i -vel, melynek értékét a kifejezés adja. A minimum meghatározásához el ször a d i = min t p x i + At 2 (3.35) grad(d 2 i ) = 2A T (p x i + At) = 0 (3.36) egyenletet kell megoldanunk t-re, melyb l az átrendezés után A ortogonalitása miatt azt kapjuk, hogy t = A T (x i p). Így már kifejezhet a távolság négyzete: d 2 i = p x i + AA T (x i p) 2 2 = P (x i p) 2 2, (3.37) ahol P -vel a I AA T -at jelöltük. A feladatunk minimalizálni a pontokhoz tartozó d i távolságok négyzeteinek összegét. A könnyebb átláthatóság érdekében vezessük be az F (p, A) = m P (x i p) 2 2 (3.38) i=1 függvényt, a grad(f ) = 0 feltétellel. Tekintsük a gradiens els elemét, a p szerinti parciális deriváltat, aminek a feltétel szerint nullával kell megegyeznie: m F p = m (2P T P (x i p)) = 2P ( x i mp) = 0, (3.39) i=1 ahol kihasználtuk, hogy a P T P = P. Mivel P a m i=1 x i mp vektort a 0-ba vetíti, ennek a m i=1 x i mp vektornak benne kell lennie az A mátrix oszlopterében, tehát p kifejezhet a p = 1 m i=1 m x i + Aτ (3.40) i=1 31
alakban. Ezt behelyettesítve a (3.38) kifejezésbe F (p, A) függvény leegyszer södik a csak A-tól függ G(A) = m P ˆx i 2 2 = P ˆX T 2 F (3.41) i=1 függvényre, ahol ˆx i = x i 1 m m x i, (3.42) i=1 és a Frobenius normát használtuk ( A 2 F = i,j a2 ij). P szimmetriája miatt a G(A) függvényt felírhatjuk a G(A) = ˆXP 2 F = ˆX(I AA T ) 2 F = ˆX ˆXAA T 2 F (3.43) alakban is. Legyen Y = ˆXAA T egy s rangú mátrix. Ekkor a feladat átírható az ˆX Y 2 F min (3.44) feladatra rang(y ) = s feltétellel. A Frobenius normában egy mátrix becsülhet egy kisebb rangú mátrixszal. Ehhez el ször megadjuk az ˆX szinguláris felbontását, ˆX = UΣV T, ahol Σ = diag(σ 1, σ 2,, σ n ) és σ 1 σ 2 σ n. Ezután a minimalizáló mátrixot az Y = UΣ s V T adja, ahol Σ s = diag(σ 1, σ 2,, σ s,0,,0). Tehát olyan ortogonális mátrixot kell keresnünk, melyre az Y = ˆXAA T is igaz. Válasszuk meg az A-t úgy, hogy a V ortogonális mátrix els s oszlopával legyen egyenl, így az ˆXAA T = UΣ s V T teljesülni fog. Ezután az ˆX szinguláris felbontása megadja az adott pontokra az összes legjobban illesztett alacsonyabb dimenziós hipersíkot: y = p + At, ahol p = 1 m m x i. (3.45) i=1 32
Hivatkozások [1] Gergó Lajos, Numerikus módszerek, ELTE Eötvös Kiadó, Budapest (2010) [2] Stoyan Gisbert,Takó Galina, Numerikus módszerek I., Typotex, Budapest (1993) [3] Quarteroni, A., Sacco, R., Saleri, F., Numerical Mathematics, Springer (2007) [4] Walter Gander, Jiri Hrebicek, Solving Problems in Scientic Computing Using Maple and MATLAB, Springer (2004) [5] Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Budapest (2007) [6] Natasa Krejic, Zorana Luzanin, Newton-like method with modication of the right-hand-side vector (2001) http://www.ams.org/journals/mcom/2002-71-237/s0025-5718-01-01322- 9/S0025-5718-01-01322-9.pdf 33