Szalai Eszter Mátrix felbontások és alkalmazásaik...Eötvös Loránd Tudományegyetem Matematika...
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