szalai eszter mátrix felbontások és alkalmazásaik...eötvös loránd tudományegyetem matematika...
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