Szalai Eszter Mátrix felbontások és alkalmazásaik...Eötvös Loránd Tudományegyetem Matematika...

35

Transcript of Szalai Eszter Mátrix felbontások és alkalmazásaik...Eötvös Loránd Tudományegyetem Matematika...

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