szalai eszter mátrix felbontások és alkalmazásaik...eötvös loránd tudományegyetem matematika...

35

Upload: others

Post on 30-Dec-2019

13 views

Category:

Documents


0 download

TRANSCRIPT

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

letrendszerekkel, 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 kez-

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

módszer két változatát mutatom be. A klasszikus Newton-módszerben minden ite-

rá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égel-

len®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®riz-

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

a11x1 + a12x2 + · · ·+ a1nxn = b1 (1.1)

a21x1 + a22x2 + · · ·+ a2nxn = b2 (1.2)

· · ·an1x1 + an2x2 + · · ·+ annxn = bn. (1.3)

Els® lépésben a LER alapján elkészítjük a következ® három mátrixot:

A =

a1,1 a1,2 · · · a1,k · · · a1,n

a2,1 a2,2 · · · a2,k · · · a2,n...

.... . .

.... . .

...

an,1 an,2 · · · an,k · · · an,n

,x =

x1

x2...

xn

,b =

b1

b2...

bn

,

melyek segítségével a LER felírható az

A ∈ Rn×n, det(A) 6= 0, b ∈ Rn, 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

Rn×(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ük-

sé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 sor-

hoz hozzáadjuk a k-adik sor −a(k−1)k+1,k

a(k−1)k,k

-szeresét. Az így kapott mátrixot nevezzük el

A(k)-nak,

3

A(k) =

a1,1 a1,2 · · · a1,k a1,k+1 · · · a1,n a1,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

......

. . ....

.... . .

......

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)k+1,n+1

......

......

.... . .

...

0 0 0 0 a(k)n,k+1 · · · a

(k)n,n a

(k)n,n+1

(1.4)

a(k)i,j = a

(k−1)i,j −

a(k−1)i,k

a(k−1)k,k

a(k−1)k,j , i = k + 1, · · · , n, j = k, · · · , n, n+ 1. (1.5)

Az (n − 1)-edik lépésben kapott A(n−1) egy fels® háromszögmátrixú LER-t rep-

rezentál, aminek segítségével rekurzív visszahelyettesítéssel kiszámítható az x =

= (x1, x2, · · · , xn)T vektor.

xn =a(n−1)n,n+1

a(n−1)n,n

(1.6)

xk =1

a(k−1)k,k

(a(k−1)k,n+1 −

n∑j=k+1

a(k−1)k,j xj), (1.7)

k = n− 1, n− 2, · · · 2,1.

1.1. Tétel. Az Ax = b, A ∈ Rn×n, b ∈ Rn, det(A) 6= 0, Dk 6= 0 ∀k = 1, · · · , n− 1

LER esetén a Gauss-elimináció algoritmusa végrehajtható. Dk 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 Dk =

= a1,1a(1)2,2 · · · a

(k−1)k,k = 0, ami ellentmond a Dk 6= 0 feltevéssel.

1.2. LU-felbontás

Ebben a fejezetben azt vizsgáljuk, hogy egy adott A ∈ Rn×n, det(A) 6= 0 mát-

rixnak 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 li,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® fejezet-

ben 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 de�niáljuk az

Lk =

1 0 0 · · · 0 0 0

0 1 0 · · · 0 0 0...

.... . .

......

......

0 0 · · · 1 0 · · · 0

0 0 · · · −lk+1,k 1 0 0...

......

......

. . ....

0 0 · · · −ln,k · · · 0 1

mátrixokat, ahol az li,k =

a(k−1)i,k

a(k−1)k,k

, i = k+1, · · · , n számok az Lk mátrix k-adik oszlo-

pá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(Lk) = 1. S®t, az L−1k -et úgy kapjuk Lk-ból, hogy Lk f®átló

alatti elemeit megszorozzuk (−1)-gyel. Az így de�niált Lk 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:

L1A(0) = A(1), L2A

(1) = A(2), · · · , LkA(k−1) = A(k).

Ezek után az A(n−1) kifejezhet® az Lk és A mátrixokkal:

Ln−1 · · ·L2L1A = 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 Lk-k inverzeivel való szorzással.

A = (L−11 L−12 · · ·L−1n−1)U. (1.9)

Könnyen belátható, hogy az L−11 L−12 · · ·L−1n−1 szorzat egy L(1)-beli mátrix,

L−11 L−12 · · ·L−1n−1 =

1 0 0 · · · 0

l2,1 1 0 · · · 0

l3,1 l3,2 1 · · · 0...

......

. . ....

ln,1 ln,2 ln,3 · · · 1

,

5

ahol az li, k értékek a fentebb megadott hányadosok. Így az

L = L−11 L−12 · · ·L−1n−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 felbon-

tás egyértelm¶ségét.

1.2. Tétel. Ha Dk 6= 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 fel-

té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 ∈ Rn×n. Ha det(A) 6= 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 L1, L2 ∈ L(1) és U1, U2 ∈ U úgy, hogy A = L1U1 = L2U2, ahol L1, L2, U1, U2

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−11 L1U1U−12 = L−11 L2U2U

−12 (1.11)

U1U−12 = L−11 L2. (1.12)

A rendezés után azt látjuk, hogy az egyenlet bal oldalán két fels® háromszögmát-

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

nek. 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át-

rix, tehát a két egyenletet felírva

U1U−12 = I ⇔ U1 = U2, illetve (1.13)

L1L−12 = I ⇔ L1 = L2 (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árom-

szögmátrix szorzatára bontottuk az A-t, melynek f®tálójában csak egyesek szere-

pelnek, ez a felbontás azonban nagyobb mátrixok esetén már nagy tárhelyet is fog-

lalhat. 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 = LLT, azaz mindössze

egy általános alsó háromszögmátrix de�niá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 de�nit mátrix

legyen.

1.3.1. De�níció. Egy A szimmetrikus mátrix pozitív de�nit, ha ∀x 6= 0, x ∈ Rn-

re xTAx > 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 de�nitség miatt

minden Dk 6= 0, így a felbontás egyértelm¶ is.

Az U mátrixban ∀i = 1, · · · , n-re az ui,i elem pozitív, ugyanis a f®minorok de-

terminánsaira igaz, hogy

Dk =k∏i=1

ui,i > 0 ∀k = 1, · · · , n.

Következésképp minden ui,i-nek létezik valós gyöke, amik segítségével bevezethetjük

aD diagonális mátrixot, melyre di,i =√ui,i. Ekkor aDD-1 szorzat az egységmátrixot

adja, így A felírható az

A = LDD−1U = (LD)(D−1U) (1.15)

alakban. Vezessük be a következ® jelöléseket: B = LD és C = D−1U , 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 = BT teljesül-e.

1.1. Állítás. Az el®bbi jelölésekkel C = BT.

Bizonyítás. Mivel A szimmetrikus mátrix, a BC szorzatnak is szimmetrikusnak kell

lennie, azaz

BC = (BC)T = CTBT (1.16)

7

Rendezzük az egyenletet: szorozzunk balról B inverzével, jobbról BT inverzével :

B−1BC(BT)−1 = B−1CTBT(BT)−1 (1.17)

C(BT)−1 = B−1CT. (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:

C(BT)−1 = I ⇔ C = BT (1.19)

beláttuk az állítást.

Ezután megfogalmazhatjuk a létezést és egyértelm¶séget kimondó tételt :

1.4. Tétel. Ha A ∈ Rn×n szimmetrikus, pozitív de�nit mátrix, akkor létezik egy

olyan A = LLT 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étezika√ui,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 = L1LT

1 = L2LT

2 . Tegyük fel továbbá, hogy

az L1 és az L2 mátrixok f®átlóbeli elemei pozitívak. Rendezzük az egyenletet L1

inverzével, illetve LT

2 inverzével való beszorzással :

L−11 L1LT

1 (LT

2 )−1 = L−11 L2LT

2 (LT

2 )−1 (1.20)

LT

1 (LT

2 )−1 = L−11 L2 (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 L1 = L2.

8

1.4. QR-felbontás

A QR-felbontás egyik felhasználása a legkisebb négyzetek módszeréhez köthet®, ami-

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

tonormá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 qi-vel a Q mátrix i-edik oszlopát, ri,i-vel az R mátrix i-edik diagonálele-

mé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 ai-vel, ahol i = 1, · · · , n.

El®ször számítsuk ki q1-et a következ® módon:

q∗1 = a1 (1.22)

r1,1 = ‖q∗1‖2 (1.23)

q1 =1

r1,1q∗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 qk oszlopot.

q∗k = ak −k−1∑j=1

c(k)j qj, (1.25)

c(k)j =< ak,qj >, j = 1, · · · , k − 1 (1.26)

rk,k = ‖q∗k‖2 (1.27)

qk =1

rk,kq∗k. (1.28)

Ezzel de�niáltuk a Q = (q1, · · · ,qn) mátrixot, illetve az

R =

r1,1 c

(1)1 · · · c

(n−1)1

0 r2,2 · · · c(n−1)2

......

. . ....

0 0 · · · rn,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 qk de�níciójá-

9

ból:

ak = rk,kqk +k−1∑j=1

c(k)j qj. (1.29)

Könnyen belátható, hogy a két mátrix szorzata is ugyanerre az eredményre vezet,

tehát az így de�niá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) 6= 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 qk vektor meghatározásánál akadhat el,

amikor is rk,k-val osztunk. Indirekt tegyük fel, hogy rk,k = 0. Ez az jelenti, hogy

rk,k = ‖q∗‖2 = 0⇔ q∗k = 0, (1.30)

tehát ak =∑k−1

j=1 c(k)j qj, vagyis ak lineárisan függ az ai vektoroktól, ahol 0 < i < k.

Ebb®l viszont következik, hogy A determinánsa nulla, ami ellentmond a det(A) 6= 0

feltételnek.

1.6. Tétel. Ha det(A) 6= 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 Q1, Q2, R1, R2 mátrixok úgy, hogy A = Q1R1, és A = Q2R2,

tehát Q1R1 = Q2R2. Rendezzük az egyenletet: szorozzunk balról QT

1 -tal és jobbról

R2 inverzével.

QT

1Q1R1R−12 = QT

1Q2R2R−12 (1.31)

Kihasználjuk, hogy Q1 ortogonális mátrix, azaz Q1 inverze egyben a transzponáltja

is (QT

1Q1 = I), amib®l az

R1R−12 = QT

1Q2 (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 ab-

ban 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ó.

QT

1Q2 = I ⇔ Q1 = Q2 (1.33)

R1R−12 = I ⇔ R1 = R2. (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. De�níció (Unitér mátrix). Az U ∈ Kn×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 le-

gyen. 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 ∈ Kn×n esetén létezik U unitér mátrix, hogy

U∗AU =

(λ1 cT

0 A1

)

alakú, ahol λ1 A egy sajátértéke, cT egy n−1 hosszú sorvektor, és A1 ∈ K(n−1)×(n−1).

Bizonyítás. Legyen (λ1,u1) A egy sajátpárja úgy, hogy ‖u1‖2 = 1, és legyen az

U = (u1,u2, · · · ,un) 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 e1 ∈ Rn az els® egységvektor,

azaz els® eleme 1, a többi 0. Ekkor a szorzat els® oszlopát az

U∗AUe1 = U∗Au1 (1.35)

szorzat adja. Mivel u1 sajátvektora A-nak, melyhez a λ1 sajátérték tartozik, az el®z®

egyenlet átírható az

U∗λ1u1 = λ1U∗u1 (1.36)

11

formába is. Az U∗u1 szorzat az e1 vektort adja eredményül, ugyanis az

U∗u1 =

u∗1u1

u∗2u1

...

u∗nu1

mátrix minden sorában egy skalárszorzat van, ahol az els® szorzat kivételével egy-

má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∗1u1 skalárszorzat nem

lesz nulla. Ennek az értéke pedig az u1 kettes normájának négyzete, azaz ‖u1‖22 =

= 1. Megkaptuk tehát, hogy U∗u1 = e1, így az U∗AUe1 = λ1e1, 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 ∈ Kn×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.

a1,1 = 1∗a1,11 (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 ∈ Kn×n,

tehát az el®z® lemma szerint létezik U unitér mátrix úgy, hogy

U∗AU =

(λ1 cT

0 A1

). (1.38)

A1 egy K(n−1)×(n−1)-beli mátrix, tehát az indukciós feltevés miatt létezik hozzá U1

unitér és R1 ∈ U mátrix, hogy A1 = U1R1U∗1 . Könnyen belátható, hogy az (1.38)

jobb oldala felírható a következ® szorzatalakban:(1 0

0 U1

)(λ1 y∗

0 R1

)(1 0

0 U∗1

)=

(λ1 c∗

0 A1

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

U1y = c (1.41)

y = U∗1c. (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 ∈ Km×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. De�níció (Normális mátrix). Legyen A komplex négyzetes mátrix. Ekkor

A-t normális mátrixnak hívjuk, ha igaz, hogy

A∗A = AA∗, (1.46)

ahol A∗ jelöli A transzponáltjának konjugáltját.

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 ∈ Kn×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 Km×n-es mátrix, ahol m ≥ n. Ekkor létezik A-nak egy

A = UDV ∗ felbontása úgy, hogy U ∈ Km×m, V ∈ Kn×n unitér mátrixok, illetve

D ∈ Km×n, és D =

(D1

0

)alakú, D1 ∈ Kn×n diagonál mátrix, melynek elemei:

di,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 szemide�nit mátrixot, azaz

∀x ∈ Rn,x 6= 0 vektorra xTAx ≥ 0. Tudjuk, hogy ennek létezik Schur-felbontása,

azaz létezik olyan V ∈ Kn×n unitér mátrix, hogy

V ∗(A∗A)V = diag1≤i≤s

(σ2i ). (1.51)

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 = (V1, V2), V1 ∈ Kn×s a V

14

mátrix els® s oszlopát tartalmazza, V2 ∈ Kn×(n−s) az utolsó n− s oszlopot, ahol s azAmá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∗AV1 = diag

1≤i≤s(σ2

i ) ∈ Ks×s (1.52)

V ∗2 A∗AV2 = 0⇔ AV2 = 0 ∈ Kn×(n−s). (1.53)

Vezessük be az U1 = AV1diag(σ−11 , · · · , σ−1s ) ∈ Km×s mátrixot. Ekkor

U∗1U1 = I, (1.54)

s®t, az U1 oszlopai ortogonálisak. Egészítsük ki U -t további m − s oszloppal úgy,

hogy U = (U1, U2) ∈ Km×m ortogonális mátrix legyen. Felírhatjuk az

U∗AV =

(U∗1U∗2

)A(V1, V2) =

(U∗1AV1 U∗1AV2

U∗2AV1 U∗2AV2

)

szorzatot, ahol konstrukció szerint AV2 = 0, AV1 = U1diag1≤i≤s

(σi). Emiatt

U∗AV =

U∗1U1diag1≤i≤s

(σi) 0

U∗2U1diag1≤i≤s

(σi) 0

=

(D1

0

)

1.7. Megjegyzés. Az A mátrix szinguláris értékeit megkaphatjuk az A∗A mátrix sa-

játértékeib®l, tehát ∃i, j, melyekre

σ2i = λ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ó modellek-

né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:

f1(x1, x2, · · · , xn) = 0 (2.1)

f2(x1, x2, · · · , xn) = 0 (2.2)

· · ·fn(x1, x2, · · · , xn) = 0, (2.3)

ahol ∀i = 1, · · · , n-re fi : Rn → R. Legyen f : Rn → Rn egy folytonosan di�eren-

ciálható függvény, és legyen x = (x1, · · · , xn). Az egyenletrendszer ekkor felírható

az

f(x) =

f1(x)

f2(x)...

fn(x)

= 0 (2.4)

formában. A Newton-módszer els® lépése egy kezdeti x(0) közelítés megadása. Köze-

lítsük f -et az els®fokú Taylor-polinomjával az x(0) helyen a másodfokú tagok elha-

gyá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 deri-

váltjait tartalmazó mátrix,

Df(x(0)) =

∂f1∂x1

(x(0)) · · · ∂f1∂xn

(x(0))...

. . ....

∂fn∂x1

(x(0)) · · · ∂fn∂xn

(x(0))

. (2.6)

16

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)))−1f(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 hasz-

ná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) meg-

oldá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 alkalmaz-

hatjuk például az 1.2. fejezetben tárgyalt LU-felbontást. A Newton-módszer nem-

lineá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 : Rn → Rn folytonosan di�erenciálható függvény, melynek

egy x∗ zérushelye eleme egy C ⊂ Rn 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 n2 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 met-

szé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 az-

zal 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ég-

is jelent®sen lassabban konvergál az eredetinél. LU-felbontást használva a (2.12)

megoldása O(n2) lépést igényel (az els® iterációs lépést kivéve), míg a (2.10) meg-

oldásához O(n3) 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.

x21 − 1 = 0

x22 − 1 = 0

xmo =(1,1)

2.5. Példa.

x21 + 3x1 − x2 + 2 = 0

2x1 − x2 + 3 = 0

xmo = (−1.62,−0.24)

2.6. Példa.

x21x3 − 2x2 + 8 = 0

3x23 − 2x2 − 2 = 0

2x1x2 − 5x3 = 0

xmo = (1,5,2)

Az 1. táblázatban láthatjuk a futási eredményeket, ahol a harmadik, illetve ne-

gyedik oszlopok az iterációszám/futási id®t tartalmazzák. A tesztek MATLAB 7.11-

ben futottak a Newton.m és Simpli�edNewton.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 Simpli�edNewton.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ör-

beilleszté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 P1, P2, · · · , Pm, melyek koordinátáik sorra:

(xP1 , yP1), (xP2 , yP2), · · · , (xPn , yPm). (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+ n1x+ n2y = 0. (3.2)

Vegyük hozzá az n21 + n2

2 = 1 feltételt, és jelöljük n-nel az (n1, n2) 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 Pi = (xi, yi) egy ilyen,

az egyenesre nem illeszked® pont, és tekintsük az

ri =|c+ n1xi + n2yi|

‖n‖2(3.3)

kifejezést. Ekkor |ri| pontosan a Pi pont egyenest®l vett távolságát adja meg. Ezt a

távolságot számítsuk ki minden megadott Pi pontra, és legyen r = (r1, r2, · · · , rm)T a

távolságokat tartalmazó oszlopvektor. A feladat tehát olyan egyenes keresése, melyre

‖r‖22 =m∑i=1

r2i =m∑i=1

(n1xi + n2yi + c)2

n21 + n2

2

=m∑i=1

(n1xi + n2yi + c)2 (3.4)

minimális. A (3.4)-et felírhatjuk mátrixos alakban, ehhez konstruáljuk meg az

A =

1 xP1 yP1

1 xP2 yP2

......

...

1 xPn yPn

, z =

c

n1

n2

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‖22 → min

‖n‖2 = 1

Vegyük az A mátrix QR-felbontását, és használjuk fel a kettes norma azon tulajdon-

sá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 QT-tal szorozva kapjuk, hogy

QTAz =

r11 r12 r13

0 r22 r23

0 0 r33

0 0 0...

......

0 0 0

c

n1

n2

= QTr.

Vegyük mindkét oldal normáját, így a kettes norma tulajdonságai miatt ‖QTr‖22 =

= ‖r‖22 és

‖Rz‖22 = (r11c+ r12n1 + r13n2)2 + (r22n1 + r23n2)

2 + (r33n2)2 =

= (r11c+ r12n1 + r13n2)2 + ‖Bn‖22, (3.5)

21

ahol B-vel az

(r22 r23

0 r33

)mátrixot jelöltük. Mivel a nemlineáris ‖n‖2 = 1 feltétel

csak két ismeretlent tartalmaz, elég megoldani a ‖Bn‖22 → min feladatot az ‖n‖2 = 1

feltétellel. Az n ismeretében ugyanis a c szám is kiszámolható az r11c+r12n1+r13n2 =

= 0 egyenlet megoldásával, ahol az átrendezés után c = −(r12n1+r13n2)r11

. 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 ∈ Rn×n és x ∈ Rn. Ekkor a{‖Ax‖22 → 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 de�níciója alapján ‖Ax‖22 = 〈Ax, Ax〉. A skalárszorzat

tulajdonságait felhasználva ez átrendezhet® a

〈Ax, Ax〉 = 〈x, ATAx〉 (3.6)

alakra. ATA normális mátrix, tehát vehetjük az ATA = UDUT Schur-féle felbon-

tását, ahol D diagonális mátrix. D f®átlójában az ATA mátrix sajátértékeit tartal-

mazza. Jelöljük az i-edik sajátértéket λi-vel úgy, hogy λ1 ≥ λ2 ≥ · · · ≥ λn ≥ 0.

〈x, ATAx〉 = 〈x, UDUTx〉 = 〈UTx, DUTx〉 (3.7)

Legyen y = UTx, így ezzel a helyettesítéssel a következ® skalárszorzatra egysze-

r¶södik a feladat:

〈y, Dy〉 =n∑i=1

λiy2i . (3.8)

Mivel λn a legkisebb sajátérték, és U ortogonális mátrix

n∑i=1

λiy2i ≥ λn

n∑i=1

y2i = λn‖y‖22 = λn‖x‖22 = λn. (3.9)

22

Az 1.7. megjegyzés miatt az A mátrix legkisebb szinguláris értékének négyzete

megegyezik az ATA mátrix legkisebb sajátértékével, tehát σ2min

= λn.

Legyen v 6= 0 és u 6= 0 a σmin-hez tartozó jobb, illetve bal szinguláris vektor úgy,

hogy Av = σminu. Ekkor

‖Av‖22 = 〈Av, Av〉 = 〈σminu, σminu〉 = σ2min‖u‖22 = σ2

min. (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 {Pi} (i = 1, · · · , p) és {Qi} (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:

c1 + n1x + n2y = 0 (3.11)

c2 + n1x + n2y = 0, (3.12)

ahol n21+n

22 = 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 ∈ Rp+q ahol az els® p

koordináta a {Pi} ponthalmaz pontjainak a távolsága az els® egyenest®l, a többi

koordináta pedig a {Qi} ponthalmaz pontjaihoz tartozó távolságok. Az A mátrixot

és a z vektort az

A =

1 0 xP1 yP1

1 0 xP2 yP2

......

......

1 0 xPp yPp

0 1 xQ1 yQ1

0 1 xQ2 yQ2

......

......

0 1 xQq yQq

z =

c1

c2

n1

n2

23

módon de�niálva az Az szorzat ismét az r vektort adja, így a feladat ismét az

‖Az‖22 → min megoldása az ‖n‖2 = 1 feltétel mellett. Ehhez vegyük az A mátrix

QR-felbontását, ahol

R =

R1 R2

0 B

0 0...

...

0 0

alakú. R1 f®átló elemei nem nullák, tehát a determinánsa sem nulla, ezért invertál-

ható. Vezessük be a c = (c1, c2)Tvektort, így

‖Az‖22 = ‖R1c +R2n‖22 + ‖Bn‖22. (3.13)

Ebb®l a megoldást ugyanazzal a módszerrel kapjuk, amit az el®z® fejezetben taglal-

tunk, azaz elég megoldanunk a {‖Bn‖22 → min

‖n‖2 = 1

feladatot, amib®l n ismeretében a c vektor értéke megadható a c = −R−11 R2n

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 : {Pi} (i = 1, · · · , p) és {Qi} (i = 1, · · · , q). A két keresett egye-

nes 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 (n1, n2)

a normálvektora, akkor a másiknak (−n2, n1) lesz, így a két egyenes egyenlete

c1 + n1x+ n2y = 0 (3.14)

c2 − n2x+ n1y = 0, (3.15)

24

amihez hozzávesszük a szokásos n21 + n2

2 = 1 feltételt. Ismét felírjuk az A mátrixot,

tehát a feladat

A =

1 0 xP1 yP1

......

......

1 0 xPp yPp

0 1 yQ1 −xQ1

......

......

0 1 yQq −xQq

mátrixszal és az el®z® z jelölést használva az ‖Az‖22 → min megoldása ‖n‖2 = 1

feltétellel, melyet szintén az A QR-felbontásával, majd az R hasonlóan de�niá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 ponthal-

mazokra, é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, legye-

nek ezek {Pi} (i = 1, · · · , p), {Qi} (i = 1, · · · , q), {Ri} (i = 1, · · · , r) és {Si}(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 : c1 + n1x+ n2y = 0 (3.16)

b : c2 − n2x+ n1y = 0 (3.17)

c : c3 + n1x+ n2y = 0 (3.18)

d : c4 − n2x+ n1y = 0 (3.19)

ahol n21 + n2

2 = 1. Az el®z®ek mintájára felírhatjuk az A mátrixot és a z vektort:

A =

1 0 0 0 xP1 yP1

......

......

......

1 0 0 0 xPp yPp

0 1 0 0 −yQ1 xQ1

......

......

......

0 1 0 0 −yQq xQq

0 0 1 0 xR1 yR1

......

......

......

0 0 1 0 xR1 yRr

0 0 0 1 −yS1 xS1

......

......

......

0 0 0 1 −ySs xSs

, z =

c1

c2

c3

c4

n1

n2

ami alapján a megoldást ismét a{‖Az‖22 → min

‖n‖2 = 1

feladat megoldásával kapjuk meg.

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

pontjait kell kiszámolni, például az a és b oldalakhoz tartozó csúcs koordinátáit

az

n1x+ n2y = −c1 (3.20)

−n2x+ n1y = −c2 (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 =

(n1 n2

−n2 n1

)és C =

(−c1 −c3 −c3 −c1−c2 −c2 −c4 −c4

)mátrixok felhasználásával a négy metszéspont egyszerre kiszámítható. Ehhez vezes-

sük be az X ∈ R2×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

X = NTC (3.22)

szorzat adja meg a négy csúcs koordinátáit.

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

halmaz pedig {Pi} i = 1, · · · , p, {Qi} i = 1, · · · , q, {Ri} i = 1, · · · , r és {Si}

27

i = 1, · · · , s. A négy oldalhoz tartozó egyenesek egyenletei az óramutató járásával

ellentétesen megadva

a1 : c1 + n1x+ n2y = 0 (3.23)

a2 : c2 − n2x+ n1y = 0 (3.24)

a3 : d+ c1 + n1x+ n2y = 0 (3.25)

a4 : d+ c2 − n2x+ n1y = 0 (3.26)

n21 + n2

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.

A =

0 1 0 xP1 yP1

......

......

...

0 1 0 xPp yPp

0 0 1 yQ1 −xQ1

......

......

...

0 0 1 yQq −xQq

1 1 0 xR1 yR1

......

......

...

1 1 0 xR1 yRr

1 0 1 yS1 −xS1

......

......

...

1 0 1 ySs −xSs

, z =

d

c1

c2

n1

n2

.

A csúcsok koordinátáinak meghatározásához felhasználhatjuk a téglalapnál be-

vezetett jelöléseket. A C mátrix alábbi

C =

(−c1 −c1 − d −c1 − d −c1−c2 −c2 −c2 − d −c2 − d

)módosításával tehát a metszéspontokat meghatározza az X = NTC 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®le-

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

gulá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):

e1 : c1 + n1,1 + n1,2 = 0 (3.28)

e2 : c2 + n2,1 + n2,2 = 0 (3.29)

· · ·ek : ck + nk,1 + nk,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πkszöget

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′

y′

)=

(cosϕ − sinϕ

sinϕ cosϕ

)(x

y

). (3.31)

29

A forgatást meghatározó mátrixszal már kifejezhet®ek a normálvektorok az els® nor-

málvektor ismeretében, mégpedig az i-edik oldalhoz tartozó egyenes normálvektora

megadható az

ni =

(cosϕi − sinϕi

sinϕi cosϕi

)(n1,1

n1,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 Fi-vel, ahol a forgatás szöge ϕi, így az i-edik egyenlet

felírható a

ci + (x y)Fin1 (3.33)

alakban.

Az egyszer¶ség kedvéért tegyük fel, hogy minden oldalhoz tartozó ponthalmaz

h ∈ Nméret¶. Az i-edik oldalhoz tartozó pontokat tartalmazza a P (i) ∈ Rh×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:

A =

1 0 · · · 0 P̂(1)1,1 P̂

(1)1,2

......

. . ....

......

1 0 · · · 0 P̂(1)h,1 P̂

(1)h,2

0 1 · · · 0 P̂(2)1,1 P̂

(2)1,2

......

. . ....

......

0 1 · · · 0 P̂(2)h,1 P̂

(2)h,2

......

. . ....

......

0 0 · · · 1 P̂(k)1,1 P̂

(k)1,2

......

. . ....

......

0 0 · · · 1 P̂(k)h,1 P̂

(k)h,2

, z =

c1

c2...

ck

n1,1

n1,2

,

ahol P̂ (i)j,l jelöli a P

(i)j Fi vektor l-edik koordinátáját. A feladat ismét az ‖Az‖22 → min

megoldása az ‖n1‖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 Rn-ben adott ponthalmazra egy s dimenziós hipersík illesz-

30

tése, ahol 1 ≤ s ≤ n− 1. A pontokat az X = (x1,x2, · · · ,xm)T mátrix tartalmazza,

ahol xi = (xi1, xi2, · · · , xin). Egy hipersík Rn-ben az

y = p + a1t1 + a2t2 + · · ·+ asts = p + At (3.34)

egyenlettel írható fel, ahol p a sík egy pontja, az ai vektorok pedig lineárisan füg-

getlen 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 xi-hez tartozó

távolságot jelöljük di-vel, melynek értékét a

di = mint‖p− xi + At‖2 (3.35)

kifejezés adja. A minimum meghatározásához el®ször a

grad(d2i ) = 2AT(p− xi + At) = 0 (3.36)

egyenletet kell megoldanunk t-re, melyb®l az átrendezés után A ortogonalitása miatt

azt kapjuk, hogy t = AT(xi − p). Így már kifejezhet® a távolság négyzete:

d2i = ‖p− xi + AAT(xi − p)‖22 = ‖P (xi − p)‖22, (3.37)

ahol P -vel a I − AAT-at jelöltük. A feladatunk minimalizálni a pontokhoz tartozó

di távolságok négyzeteinek összegét. A könnyebb átláthatóság érdekében vezessük

be az

F (p, A) =m∑i=1

‖P (xi − p)‖22 (3.38)

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:

∂F

∂p= −

m∑i=1

(2PTP (xi − p)) = −2P (m∑i=1

xi −mp) = 0, (3.39)

ahol kihasználtuk, hogy a PTP = P . Mivel P a∑m

i=1 xi −mp vektort a 0-ba vetíti,

ennek a∑m

i=1 xi −mp vektornak benne kell lennie az A mátrix oszlopterében, tehát

p kifejezhet® a

p =1

m

m∑i=1

xi + Aτ (3.40)

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∑i=1

‖P x̂i‖22 = ‖PX̂T‖2F (3.41)

függvényre, ahol

x̂i = xi −1

m

m∑i=1

xi, (3.42)

és a Frobenius normát használtuk (‖A‖2F =∑

i,j a2ij). P szimmetriája miatt a G(A)

függvényt felírhatjuk a

G(A) = ‖X̂P‖2F = ‖X̂(I − AAT)‖2F = ‖X̂ − X̂AAT‖2F (3.43)

alakban is. Legyen Y = X̂AAT egy s rangú mátrix. Ekkor a feladat átírható az

‖X̂ − Y ‖2F → 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ΣsVT adja, ahol Σs = diag(σ1, σ2, · · · , σs,0, · · · ,0).

Tehát olyan ortogonális mátrixot kell keresnünk, melyre az Y = X̂AAT is igaz.

Válasszuk meg az A-t úgy, hogy a V ortogonális mátrix els® s oszlopával legyen

egyenl®, így az X̂AAT = UΣsVT 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∑i=1

xi. (3.45)

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 Scienti�c Computing Using

Maple and MATLAB, Springer (2004)

[5] Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Ty-

potex, Budapest (2007)

[6] Natasa Krejic, Zorana Luzanin, Newton-like method with modi�cation 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