• Nem Talált Eredményt

PDF 3. előadás: Mátrixok LU-felbontása - ELTE

N/A
N/A
Protected

Academic year: 2024

Ossza meg "PDF 3. előadás: Mátrixok LU-felbontása - ELTE"

Copied!
28
0
0

Teljes szövegt

(1)

Numerikus módszerek 1.

3. előadás: MátrixokLU-felbontása

Lócsi Levente

ELTE IK

2013. szeptember 23.

(2)

Tartalomjegyzék

1 Alsó háromszögmátrixok és Gauss-elimináció

2 Háromszögmátrixokról

3 LU-felbontás Gauss-eliminációval

4 AzLU-felbontás „közvetlen” kiszámítása

(3)

Tartalomjegyzék

1 Alsó háromszögmátrixok és Gauss-elimináció

2 Háromszögmátrixokról

3 LU-felbontás Gauss-eliminációval

4 AzLU-felbontás „közvetlen” kiszámítása

(4)

Balról szorzás alsó háromszögmátrixokkal

Mi történik, ha az alábbi L∈R3×3 mátrixszal megszorzunk egy A∈R3×3 mátrixot balról?

∗ ∗ ∗

∗ ∗ ∗

∗ ∗ ∗

1 0 0 2 1 0 0 0 1

? ? ?

? ? ?

? ? ?

Az 1. sor kétszeresét hozzáadjuk a 2. sorhoz.

(5)

Balról szorzás alsó háromszögmátrixokkal

Mi történik, ha az alábbi L∈R3×3 mátrixszal megszorzunk egy A∈R3×3 mátrixot balról?

1 0 0

2 1 0

−3 0 1

Az 1. sor kétszeresét hozzáadjuk a 2. sorhoz, valamint az 1. sor háromszorosát levonjuk a 3. sorból. (∼GE)

(6)

A Gauss-elimináció lépései mátrixszorzással

Írjuk fel a GE k-adik lépését ugyanilyen módszerrel! (A∈Rn×n)

Lk =

1

. ..

1 lk+1,k 1

... ...

ln,k 1

=I+vkek, vk =

0(1.)

...

0(k.) lk+1,k

...

ln,k

.

(A zérus elemek nincsenek feltüntetveLk-ban.) Tehát ha li,k =−a(k−1)i,k

a(k−1)k,k (k =1, . . . ,n−1;i =k+1, . . . ,n), akkor Lk·A(k−1) =A(k), vagyis megkaptuk a GE k-adik lépését.

(7)

Példa

Példa: GE az Lk mátrixokkal

Írjuk fel a Gauss-elimináció lépéseit mátrixszorzások segítségével a következő mátrix esetén (ua. mint az előző előadáson)!

A=

2 0 3

−4 5 −2

6 −5 4

(8)

A Gauss–Jordan-módszer lépései mátrixszorzással

Házi feladat

Írjuk fel a Gauss–Jordan-féle elimináció lépéseit mátrixszorzás formájában!

(9)

Tartalomjegyzék

1 Alsó háromszögmátrixok és Gauss-elimináció

2 Háromszögmátrixokról

3 LU-felbontás Gauss-eliminációval

4 AzLU-felbontás „közvetlen” kiszámítása

(10)

Elnevezések, jelölések

Definíció: alsó háromszögmátrix

Az L∈Rn×n mátrixot alsó háromszögmátrixnaknevezzük, ha i <j esetén li,j =0. (A főátló felett csupa nulla.) L:={L∈Rn×n : li,j =0(i <j)},

L1 :={L∈Rn×n : li,j =0(i<j),li,i =1}.

Definíció: felső háromszögmátrix

Az U ∈Rn×n mátrixotfelső háromszögmátrixnaknevezzük, ha i >j esetén ui,j =0. (A főátló alatt csupa nulla.) U :={U ∈Rn×n : ui,j =0(i >j)}.

(11)

Háromszögmátrixok halmazának zártsága

Állítás: háromszögmátrixról

1 Ha L,L′′∈ L, akkor L·L′′∈ L.

2 Ha U,U′′∈ U, akkor U·U′′ ∈ U.

3 Ha L,L′′∈ L1, akkor L·L′′∈ L1.

4 Ha L∈ Lés ∃L−1, akkor L−1∈ L.

5 Ha U ∈ U és ∃U−1, akkor U−1 ∈ U.

6 Ha L∈ L1, akkor ∃L−1 és L−1∈ L1. Biz.: házi feladat (beadható).

Útmutatás: 1.Kell:(L·L′′)i,j=0 (i<j), írjuk fel a mátrixszorzást:

(L·L′′)i,j=P

. . .. Használjuk ki, hogyL,L′′∈ L: minden tag kiesik.

2.Hasonlóképp.3.Határozzuk meg a szorzat főátlóbeli elemeit is.

4., 5., 6.Az inverz Gauss-eliminációval meghatározható.

(12)

Az L

k

mátrixokról

Definíció: Lk

Lk =Lk(v) :=I+vek∈Rn×n, ahol v ∈Rn, vi =0(ik) és ek ∈Rna k-adik egységvektor.

Állítás: Lk inverze

L−1k =Lk(v)−1=Lk(−v) =Ivek.

Biz.:

Lk ·L−1k = (I+vek)(Ivek) =I+vekvek

| {z }

0

v ekv

|{z}0

ek=I.

Szemléletesen?

(13)

Az L

k

mátrixokról

Hogyan szorzunk össze két ilyen mátrixot?

1 0 0 0 1 0 0 3 1

1 0 0 2 1 0 1 0 1

1 0 0 2 1 0 1 3 1

1 0 0 2 1 0 1 0 1

1 0 0 0 1 0 0 3 1

1 0 0 2 1 0 7 3 1

A bal oldali sorrendben „szépen” szorzódik. Általában is.

(14)

Az L

k

mátrixokról

Állítás: Lk mátrixok szorzata

L−11 ·L−12 · · ·L−1n−1 =Iv1e1v2e2. . .vn−1en−1 .

Biz.: Indukcióval.

L−11 ·L−12 = (Iv1e1)(Iv2e2) =Iv1e1v2e2+v1(e1v2)e2.

Tfh. L−11 ·L−12 · · ·L−1k =Iv1e1v2e2. . .vkek.

L−11 ·L−12 · · ·L−1k ·L−1k+1 =

= (Iv1e1v2e2. . .vkek)(Ivk+1ek+1) =

=Iv1e1v2e2. . .vkekvk+1ek+1 + +v1e1vk+1ek+1 +. . .+vkekvk+1ek+1

| {z }

kiesnek

=X.

(15)

Tartalomjegyzék

1 Alsó háromszögmátrixok és Gauss-elimináció

2 Háromszögmátrixokról

3 LU-felbontás Gauss-eliminációval

4 AzLU-felbontás „közvetlen” kiszámítása

(16)

LU -felbontás

Definíció: LU-felbontás

Az Amátrix LU-felbontásának nevezzük azL·U szorzatot, ha A=LU, L∈ L1,U ∈ U.

(17)

LU -felbontás Gauss-eliminációval

A Gauss-eliminációt felírhatjuk alsó háromszögmátrixok segítségével:

Ln−1· · ·L2·L1·A=U, majd az inverzekkel egyesével átszorozva:

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

| {z }

L

·U.

Az imént láttuk, hogy a fenti szorzat is alsó háromszögmátrix.

A=LU.

(18)

Példa

Példa: LU-felbontás GE-val

Készítsük el a példamátrixunk LU-felbontását

(a) részletezve azLk mátrixokat, a számítás menetét, (b) majd „tömör” írásmóddal!

(19)

LU -felbontás Gauss-eliminációval

Tétel: LU-felbontás létezése

Ha a Gauss-elimináció végrehajtható sor és oszlopcsere nélkül, azaz ak,k(k−1)6=0(k=1, . . . ,n−1), akkor az A mátrixLU-felbontása létezik.

Biz.: Láttuk.

Összefoglalva: Haa(k−1)k,k 6=0, akkor azLk mátrixok felírhatók, a Gauss-elimináció („előre” része) végén felső háromszög alakú mátrixot kapunk. Ez leszU. AzLk

mátrixok inverzének szorzataként pedig adódikL.

(20)

LU -felbontás Gauss-eliminációval

Definíció: főminorok

Az A∈Rn×n mátrix Ak főminoraazA mátrix bal felsők×k-as részmátrixa.

Tétel: LU-felbontás létezése (A-ra vonatkozó feltétellel) Ha detAk 6=0(k =1, . . . ,n−1), akkor létezik az Amátrix LU-felbontása.

Biz.: Belátjuk, hogy ekvivalens az előző feltétellel.

Ak =Lk·Uk (főminorok).

detAk =detLk ·detUk =1·u1,1·u2,2· · ·uk,k =

=a1,1(0)·a(1)2,2· · ·ak,k(k−1).

detAk = (detAk−1a(k−1)k,ka(k−1)k,k 6=0.

(21)

LU -felbontás Gauss-eliminációval

Tétel: az LU-felbontás egyértelműségéről

Ha A-nak létezikLU-felbontása, továbbá detA6=0, akkor az LU-felbontás egyértelmű.

Biz.: Indirekt, táblán. Meggondoltuk.

Megjegyzés: L és U megadása

Az eddigieket összefoglalva felírhatjuk azA=LU felbontást:

L∈ L1 és li,j = ai(j−1),j

aj(j−1),j (i >j), U ∈ U és ui,j =a(i−1)i,j (ij).

(22)

Miért jó az LU -felbontás?

Tegyük fel, hogy

az Ax=b LER megoldható, és

rendelkezésünkre áll az A=LU felbontás.

Ekkor Ax=L·U·x

| {z }

y

=b helyett (13n3+O(n2)) 1 oldjuk meg azLy =b, (21n2+O(n)) 2 majd az Ux =y LER-t. (12n2+O(n))

Persze valamikor elő kell állítani azLU-felbontást. (13n3+O(n2))

Előnyös, ha sokszor ugyanaz A.

(23)

Tartalomjegyzék

1 Alsó háromszögmátrixok és Gauss-elimináció

2 Háromszögmátrixokról

3 LU-felbontás Gauss-eliminációval

4 AzLU-felbontás „közvetlen” kiszámítása

(24)

Az LU -felbontás „közvetlen” kiszámítása

Nem ismerjük L-t és U-t: ismeretlenek a mátrixokban.

Viszont szorzatukat ismerjük: LU =A.

A egyes elemeit a mátrixszorzás alapján felírva egyenleteket kapunk Lés U elemeire.

Jó sorrendben felírva az egyenleteket, mindig megkapjuk egy-egy új ismeretlen értékét.

(25)

Jó sorrendek

1. 1. 1. 1.

2. 3. 3. 3.

4. 4. 5. 5.

6. 6. 6. 6.

sorfolytonosan

1. 3. 5. 7.

2. 3. 5. 7.

2. 4. 5. 7.

2. 4. 6. 7.

oszlopfolytonosan

1. 1. 1. 1.

2. 3. 3. 3.

2. 4. 5. 5.

2. 4. 6. 7.

parkettaszerűen

(26)

Példa

Példa: LU-felbontás közvetlenül

(a) Készítsük el a példamátrixunkLU-felbontását közvetlenül a mátrixszorzás alapján.

(b) Nézzünk egy újabb példát is. (Vigyázat, detB2 =0.)

A=

2 0 3

−4 5 −2

6 −5 4

, B=

2 −2 3

−4 4 −2

6 −5 4

(27)

Az LU -felbontás „közvetlen” kiszámítása

Tétel: az LU-felbontás „közvetlen” kiszámítása

Az Lés U mátrixok elemei a következő képletekkel számolhatók:

ij (felső) ui,j =ai,j

i−1X

k=1

li,k ·uk,j,

i >j (alsó) li,j = 1 uj,j

ai,j

j−1

X

k=1

li,k·uk,j

.

Ha jó sorrendben számolunk, mindig ismert az egész jobb oldal.

Biz.: Mátrixszorzás felírása, háromszögmátrix voltuk kihasználása, egy tag leválasztása, kifejezése. Táblán.

(28)

Példák Matlab-ban

1 Az LU-felbontás működése „kisebb” (n≈7) mátrixokra,

2 valamint „nagyobb” mátrixokra (n≈50) színkóddal.

3 LER megoldásaLU-felbontás segítségével.

4 Sok LER (m≈10,100) megoldása futási idejének összevetése nagyobb mátrixok (n≈50,100,200) esetén: GE-val valamint az LU-felbontás kihasználásával.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK