Lineáris algebrai alapok Will 2010 június 16 Vektorterek, mátrixok, lineáris egyenletrendszerek A lineáris programozási feladat, szimplex algoritmus Vektorterek Jellemzés: Vektorok tulajdonságai Két vektor egyenl, ha hosszuk és irányuk egyenl, Vektorok összeadása kommutatív és asszociatív (kivonás is deniált m velet), Skalárral szorzás (λ R : λa) asszociatív (skalár tagokra), kommutatív, disztributív (skalárokra, vektorokra), két vektor párhuzamos (kollineáris, ), ha egy egyenesre illeszthet ek, két vektor egysíkú (koplanáris), ha elhelyezhet k egy síkban Síkbeli tétel {a, b, c egysíkúak, a b}!α, β R : c = αa + βb Térbeli tétel {a, b, c, v a, b, c páronként nem egysíkúak}!α, β, γ R : v = αa + βb + γc Deníció: Lineáris összefüggés Legyenek a 1,, a k térvektorok, és λ 1,, λ k R Ekkor: lineárisan összefügg ek, ha k i=1 λ ia i = 0, és λ i 0 lineárisan függetlenek, ha k i=1 λ ia i = 0 λ i = 0 Ezek a deníciók tetsz leges számtest feletti tetsz leges vektorterekre kib víthet ek Deníció: Skaláris szorzat ab def a b cos γ(a, b) Tulajdonságai: ab = ba ab = 0 a b vektorosan nem asszociatív(!), de skalárisan igen ((ab)c a(bc), de λ(ab) = (λa)b = a(λb)) disztributív a vektorösszeadásra nézve (a(b + c) = ab + ac) 1
Következménye a tulajdonságoknak: i, j, k legyenek páronként mer leges egységvektorok, amelyek jobbrendszert alkotnak Legyenek u, v vektorok olyanok, hogy u = α 1 i + α 2 j + α 3 k, v = β 1 i + β 2 j + β 3 k Ekkor: uv = α 1 β 1 + α 2 β 2 + α 3 β 3 u, v 0: cos γ(u, v) = α 1β 1 +α 2 β 2 +α 3 β 3 α 2 1 α 2 2 3 β α2 1 2β2 2 β2 3 = uv u v Deníció: Számtest Egy A számhalmaz a (+, ) binér m veletekkel test, ha: + kommutatív, asszociatív, minden elemnek van inverze, amivel a nullelemet adják ki (0), kommutatív, asszociatív, minden elemnek van inverze, amivel az egységelemet adják ki (1), x, y A : xy = 0 x = y = 0, az +-ra nézve disztributív (x(y + z) = xy + xz) Deníció: Vektortér Legyen adott V, T számtest; a, b, V, α, β, T Ekkor V vektortér T felett, m veletekkel, ha: I II : V V V a, b V : a b = b a a, b, c V : (a b) c = a (b c) 0 V : a V : 0 a = a a V : ( a) V : ( a) a = 0 : T V V λ, µ T, a V : (λµ) a = λ (µ a) λ, µ T, a V : (λ + µ) a = λ a µ a λ T, a, b V : λ (a b) = λ a λ b 1 T : a V : 1 a = a Jelölés: ezentúl := + és := Vektortestekre: a nullelem, az egységelem és az inverz egyértelm, és a skalár-vektor szorzás kommutatív (λ a = a λ) λ T, a V : λ a = 0 λ = 0 a = 0 Deníció: Lineáris kombináció Lináris kombináció: k i=1 λ ia i Triviális lineáris kombináció: k i=1 0a i = 0 Asszociativitás tétele k Z, k 1 és 1 i k : a i V : k a i tetsz leges zárójelezése = ( ((a 1 + a 2 ) + a 3 ) + ) + a k i=1 2
Kivonás a, b V!x V : a + x = b Deníció: Bázis Legyen e 1,, e n V Ekkor: 1 i n : e i bázis def j k : e j lineárisan független e k -tól és a V el állítható e i -k valamely lineáris kombinációjaként Egységbázis T := R; +, a szokásos (komponensenkénti), V := R n, ahol n Z + Ekkor legyen 1 i n: 0 e i := 1 0, ahol az i-edik elem az 1 Állítás: e i -k bázist alkotnak V -ben Bázistranszformáció Legyen 1 i n : e i bázis V -ben és a V : a = n j=1 α je j Ekkor tetsz leges i-re: e 1,, e i 1, a, e i+1,, e n bázis V -ben α i 0 Deníció: Lineáris függés vektortért l Legyen A V Ekkor v V lineárisan függ A-tól, ha: a 1,, a k A, α 1,, α k T : v = k i=1 α ia i Deníció: Altér W altere V -nek, ha W V és W vektortér T test felett a + W, W m veletekre nézve Jelölése: W V 1 W V W V 2 a, b W : a + b W 3 λ T, a W : λa W Deníció: A V : W (A) := {v v V, v lineárisan függ A-tól} { 1 W V 2 λ, µ T, a, b W : λa + µb W } W (A) V W 1, W 2 V W 1 W 2 V Deníció: Generálás Legyen A V Ekkor: A : az A-t tartalmazó alterek metszete (A által generált altér), A = W (A) A = {a 1,, a k } A = a 1,, a k 3
G generátor rendszer V -ben, ha G = V B bázis V -ben, ha B egy linárisan független generátorrendszer Legyen W 1, W 2 V Ekkor: W 1, W 2 = W 1 W 2 Deníció: Dimenzió dim T V def V egy tetsz leges bázisának elemszáma (tudjuk, hogy V -ben minden bázis azonos számosságú) Ekvivalens megfogalmazások: V -ben a maximális lineárisan független vektorok száma dim T V, V -ben a minimális generátorrendszer elemszáma dim T V Deníció: Vektorrendszer rangja ρ(a 1,, a n ) def dim T a 1,, a n Deníció: Véges dimenziós vektortér V véges dimenziós, ha létezik véges elemszámú generátorrendszere 1 kicserélési tétel Legyen V egy véges dimenziós vektortér, ebben a 1,, a k lineárisan független vektorok, b 1,, b l pedig egy generátorrendszer Ekkor: i) j {1,, m} : b j, a 2,, a k lineárisan függetlenek ii) k m(l számosássága legfeljebb G számossága) 2 kicserélési tétel Legyen V egy véges, n dimenziós vektortér, ebben a 1,, a k lineárisan független vektorok, b 1,, b l pedig egy generátorrendszer Ekkor: i) s 0 : j 1,, j s {1,, m} : a 1,, a k, b j1,, b js bázis V -ben ii) m = n iii) lineáris független vektorrendszer kiegészíthet bázissá iv) L = n L bázis Mátrixok Deníció: Mátrix A egy n m-es mátrix T felett (A T n m ), ha: A : {1,, n} {1,, m} T, jelölje: (i, j) a ij =: i [A] j =: [A] ij 1 i n, 1 j m : a ij T Reprezentálása: a 11 a 1m A = a n1 a nm Deníció: Vektorm veletek Legyen λ egy szám, a, b két vektor, amelyeknek koordinátái rendre α i, β i számok Ekkor: 4
α 1 α n = α 1 α n β 1 β n + λ def 1 i n : α i = β i α 1 α n β 1 β n def = def = α 1 + β 1 α n + β n λα 1 λα n Deníció: Mátrixm veletek Legyen A, B T n m, λ T Ekkor: A + B def = a 11 + b 11 a 1m + b 1m a n1 + b n1 a nm + b nm Deníció: Sor-oszlop szorzás Legyen A T n m, x, b T n Ekkor: a 11 a 1m Ax = b def a n1 a nm λa def = x 1 x n = λa 11 λa 1m λa n1 λa nm b 1 b n def 1 i n : b i = a i1 x 1 + + a im x m Deníció: Mátrixszorzás Legyen A T n m, B T m k Ekkor: def 1 i n, 1 j k : i [AB] j = m i[a] ll [B] j l=1 k n AB T n k, BA k = n AB T n n, BA T m m n = m = k AB, BA T n n, AB BA Deníció: Kronecker-szimbólum { (Weierstrass-delta) def 1, ha i = j δ ij = i [I n ] j = 0, ha i j 5
Deníció: Egységmátrix 1 0 0 def I n = 0 0 T n n 0 0 1 A mátrixszorzás asszociatív és disztributív Legyenek A T n 1 m 1, B T m 2 k 2, C T k 3 l 3 mátrixok Ekkor: (AB)C m 1 = m 2 k 2 = k 3 A(BC), továbbá: (AB)C = A(BC) A(B + C) m 1 = m 2 = k 3 k 2 = l 3 AB + AC, továbbá: A(B + C) = AB + AC Deníció: Mátrix hatványozása Legyen A T n n Ekkor: A 1 := A k > 1 : A k := A k 1 A Deníció: Mátrix transzponáltja Legyen A T n m Ekkor A transzponáltja: T m n A T = i [A T ] j := j [A] i Deníció: Mátrix adjungáltja Legyen A C n m Ekkor A adjungáltja: C m n A = i [A ] j := j [A] i A T n m, B T m k (AB) T = B T A T A C n m, B C m k (AB) = B A Deníció: Speciális mátrixok Legyen A T n n (vagyis négyzetes) Ekkor A: diagonális: 1 i n : a ii = α i T és 1 i, j n : i j : a ij = 0 fels /alsó bidiagonális: a f átló feletti/alatti átlóban is vannak elemek tridiagonális: a f tátló feletti és alatti átlóban is vannak elemek fels /alsó háromszög: 1 i, j n : i j : a ij = 0 szimmetrikus: A T = A antiszimmetrikus: A T = A ortogonális: A T A = I n = AA T projektor: A 2 = A nilpotens: k Z + : A k = 0 invertálható: A 1 : A A 1 = I = A 1 A (esetleg csak jobb vagy balinverz) normális: A A = AA 6
unitér: A A = I n = AA önadjungált: A = A LU felbontás A T n n L T n n alsó-, U T n n fels háromszög mátrix, hogy: A = LU Deníció: Mátrixok partícionálása Pl: [ ] A11 A A = 12 A 13 A 21 A 22 A 23, ahol A T n m, a partíciók tetsz leges (megfelel, n m-ben elfér, nem feltétlenül azonos, de egymással kompatibilis) dimenziójúak Deníció: Rang Oszloprang: ρ o (A) def dim T a 1,, a m, vagyis A lineárisan független oszlopainak számossága Sorrang: ρ s (A) def ρ o (A T ) Igazolható: ρ s (A) = ρ o (A) def ρ(a) C T n m, D T m k ρ(cd) ρ(c) Deníció: Rangtartó átalakítások csere: 1 i, j n : ρ(a 1,, a i,, a j,, a n ) = ρ(a 1,, a j,, a i,, a n ) beszorzás: 1 i n, λ 0 : ρ(a 1,, a i,, a n ) = ρ(a 1,, λa i,, a n ) kombináció: 1 i, j n, i j, λ 0 : ρ(a 1,, a i,, a n ) = ρ(a 1,, a i + λa j,, a n ) Inverzek létezése Legyen A T n m Ekkor: i) A-nak van jobbinverzve ρ s (A) = n (teljes sorrangú) ii) A-nak van balinverzve ρ o (A) = m (teljes oszloprangú) iii) A 1 n = m = ρ(a) (négyzetes és teljes rangú) Inverzek készítése Ha A nem négyzetes, akkor ha ρ(a) 1, akkor véges sok rangtartó átalakítással à = alakra hozható Vagyis léteznek S, P invertálható mátrixok, amikre: SAP = à Deníció: Általánosított inverz Legyen A C n n Ekkor!X C n n : i) AXA = A, akkor X ún általánosított inverz ii) XAX = X és i), akkor X ún reexív általánosított inverz iii) (AX) = AX, és i)-ii), akkor X ún normált reexív általánosított inverz [ Ir 0 0 0 ] T n m 7
iv) (XA) = XA, és i)-ii)-iii), akkor X ún pszeudó-inverz Az inverzek készítése módszert el ször alkalmazva nem négyzetes mátrixra is megkaphatóak az általánosított inverzek Deníció: Mátrixok determinánsa Legyen A T n n Ekkor legyen A def det(a) : A α T Speciálisan: n = 1 : A = [a 11 ] : A = det(a) def = a 11 [ ] a11 a n = 2 : A = 12 : A = det(a) def = a a 21 a 11 a 22 a 12 a 21 22 (Sarrus-szabály) a 11 a 12 a 13 a 11 a 12 n = 3 : A = a 21 a 22 a 23 a 21 a 22 = a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 (a 13 a 22 a 31 + a 11 a 23 a 32 + a 31 a 32 a 33 a 31 a 32 a 12 a 21 a 33 ) Általános esetben: Legyen i 1, i 2,, i n az 1, 2,, n számok egy permutációja Azt mondjuk, hogy (i µ, i ν ) inverzióban van, ha i µ > i ν, µ < ν Legyen I(i 1,, i n ) az i 1,, i n permutációban lév inveriók száma Ekkor: det(a) def = Determinánsokra vonatkozó tételek Legyen A T n n, ekkor: 0 = 0 i 1,,i n ( 1) I(i1,,in) a 1i1 a 2i2 a kik a nin 1 k n : 1 j n : a kj = 0 det(a) = 0 (ha van nulla sor, akkor a determináns 0) A T = A A-ban két sort cserélve det(ã) = 1 A lesz A-ban egy sort beszorozva λ T -vel: det(ã) = λ A lesz λa = λ n A A + B A + B AB = A B ρ(a) < n A = 0 ρ(a) = n A 0 (ez egyben újabb feltétel az inverz létezésére!) ρ(a) = r 1 : r r 0 részmátrix, és (r + 1) (r + 1) = 0 Vandermonde-determináns n 2 : 1 a 1 a 2 1 a n 1 1 1 a 2 a 2 2 a n 1 2 1 a n a 2 n a n 1 n = 1 i,j n a i a j 8
Kifejtési tétel i sor szerinti: j oszlop szerinti: A = A = n a ij A ij j=1 n a ij A ij i=1, ahol A ij az adott el jeles aldetermináns (kiszámítjuk i sor, j oszlop nélküli mátrix determinánsát és szorozzuk ( 1) i+j -vel (sakktábla-szabály)) Ferde kifejtési tétel Ha az adott sor/oszlop elemeit egy másik sorhoz/oszlophoz tartozó el jeles aldeterminánssal szorozzuk és adjuk össze, akkor az eredmény mindig 0 lesz: Lineáris egyenletrendszerek 0 = (k i) n a ij A kj = (k j) j=1 n a ij A ik i=1 Deníció: Lineáris egyenletrendszer (LER) Informálisan: n db egyenlet és m darab ismeretlen a 11 x 1 + a 12 x 2 + + a 1m x m = b 1 a 21 x 1 + a 22 x 2 + + a 2m x m = b 2 a n1 x 1 + a n2 x 2 + + a nm x m = b n Ax = b Deníció: Elemi bázistranszformációs algoritmus Egy adott bázisról, adott vektorokkal térjünk át új bázisra, és közben változtassuk a keresett vektort is Ekkor, ha új bázishoz jutunk, akkor megkapunk egy megoldást is Deníció: LER általánosítása Legyen A T n m, B T n k, X T m k Ekkor AX = B egyenlet átírható k darab LER-ré Deníció: Cramer-szabály A T n n, det(a) 0, b T n!x T n : Ax = b, és 1 j n : x j = det([a 1,,b,,a n]) det([a 1,,a j,,a n]) Deníció: Homogén LER Ax = 0 ún homogén LER Ha A T n n, akkor a következ k ekvivalensek: i) Ax = 0 homogén LER-nek létezik nem triviális megoldása ii) A = 0 iii) ρ(a) < n iv) A-nak legalább két oszlopa, ami lineárisan összefügg 9
A lineáris programozási feladat Deníciók: Legyen a, x 1, x 2 R n, a 0, β R, Ekkor: hipersík: H := {x a T x = β} féltér: F := {x a T x β} poliéder: véges sok féltér metszete szakasz: [x 1, x 2 ] := {x x = λx 1 + (1 λ)x 2, 0 λ 1} konvex halmaz: S R n konvex halmaz def x 1, x 2 S : [x 1, x 2 ] S támaszsík: S konvex halmaz támaszsíkja H := {x a T x = β}, ha H S és y S : a T y β extremális pont: S zárt konvex halmaz x S extremális pont, ha H támaszsíkja S-nek, amire: H S = {x} hipersíkok lineáris függetlensége: két hipersík lineárisan független, ha az ket meghatározó vektorok lineárisan függetlenek határoló hipersík: egy poliéder határoló hipersíkjai, azok a hipersíkok, amelyeket a poliédert el állító félterek vektorai határoznak meg szomszédes extremális pontok: két extremális pont szomszédos, ha létezik határoló hipersík, amely mindkett t tartalmazza Minkowski összeg: A, B R n, ekkor A + B := {x x = a + b, a A, b B} végtelen irány: P poliéder végtelen iránya v, ha x P, λ 0 : x + λv P A hipersík konvex halmaz Minden féltér konvex halmaz Legyen I egy indexhalmaz, i I : S i legyen konvex halmaz Ekkor i I S i is konvex halmaz Minden poliéder konvex halmaz 3 ekvivalens állítás i) y a P poliéder extremális pontja ii) y 1, y 2 P, y 1 y 2, 0 < λ < 1 : y = λy 1 + (1 λ)y 2 iii) y rajta van a P poliéder n darab lineárisan független határoló hipersíkján 10
Deníció: Lineáris programozási feladat (LP-feladat) Informálisan: lineáris feltételek és egy lineáris célfüggvény összessége Legyen A R m n, b R m, c R n adottak Keressük x R n vektort (ún döntési vektort) az alábbi rendszerben: max c T x Ax = b x 0 Általában feltesszük, hogy ρ(a) = m (azaz A teljes sorrangú) Deníció: LP megoldása Az x R n vektor megoldása az LP-nek, ha Ax = b megengedett megoldása az LP-nek, ha Ax = b, x 0 optimális megoldás az LP-nek, ha megengedett megoldás, és y megengedett megoldásra: c T y c T x Deníció: Vektor tartója Egy x R n vektor tartója azon indexek halmaza, melyekre x i 0 Jelölése: supp(x) = {i x i 0} Deníció: LP bázismegoldása Az LP egy x megoldása bázismegoldás, ha az {a j j supp(x)} egy lineárisan független vektorrendszer Megengedett bázismegoldás, ha megengedett és bázismegoldás is Minden bázis esetén a hozzátartozó bázismegoldás egyértelm De ez fordítva nem igaz: egy bázismegoldáshoz több bázis is tartozhat Degenerált LP: ha van olyan bázismegoldás, amit több bázis is meghatároz Megjegyzés: a gyakorlatban ha b-t valóban folytonos eloszlás szerint véletlenül választjuk, akkor 0 valószín séggel lesz degenerált a feladat A degenerált feladatokat a numerikus hibák miatt is kerüljük Deníció: Megengedett bázis Egy bázis megengedett, ha a hozzá tartozó bázismegoldás megengedett (azaz x B = B 1 b 0) K := {x R n : Ax = b, x 0}, I := x Ksupp(x) y K : supp(y) = I K az extremális pontok megegyeznek a megengedett bázismegoldásokkal Azaz ha x K, akkor x extremális pont x bázismegoldás Legyen B, B két bázis, melyek bázismegoldásai x, x, és x x, továbbá B B = r 1, ahol r az A rangja Ekkor x, x szomszédos extremális pontok Szimplex algoritmus Deníció: Szimplex algoritmus Legyen B egy megengedett induló bázis Ekkor: 11
1 Határozzuk meg a redukált árakat: p = c c T B B 1 A 2 B-n kívül változó, hogy p > 0 GOTO 3, ha nem, akkor STOP: optimális megoldásban vagyunk 3 Legyen l a javító oszlop Ha a l 0 STOP: nem korlátos a célfüggvény (végtelen irány), ha i : a li > 0, akkor hányados szabállyal keressük meg a csere sorát (k) 4 Végezzük el a báziscserét (k változó kilép a bázisból, l belép) GOTO 1 Ha az LP nem degenerált, akkor a szimplex algoritmus véges sok lépésben megáll Degeneráció kezelése: 1 Minimálindex szabály: mindig a minimális index javítóoszlop választása 2 Lexikograkus szimplex: javítóoszlopot tetsz legesen, sort lexikograkusan választunk (normálás után) 3 LP perturbálása: a perturbált LP-t megoldjuk, majd azzal a bázissal megoldjuk az eredeti feladatot Induló bázis el állítása: I x u A I b } } Ax b Ax + Iu = b x, b 0 x, b, u 0 Ekvivalens feladatok A bázis megengedett, a bázismegoldás: x = 0, u = b II Ennek az ún segédfeladatnak a megengedett megoldásának x része része az eredeti feladat megengedett megoldásának u = 0, tehát min u i célfüggvénnyel oldjuk meg a feladatot (ez korlátos, mert u 0 i u i 0) III Ha a segédfeladatnak van megoldása (u = b, x = 0), és a célfüggvénye korlátos, akkor a szimplex algoritmus egy optimális megoldást ad Két eset lehetséges: a) min u i > 0 ekkor az eredeti feladatnak nincs megoldása b) min u i = 0 ekkor is el fordulhat, hogy bizonyos változók bentmaradnak a bázisban Ezt bázistranszformációval megoldjuk Ha nem tudjuk kivinni, akkor redundáns feltétel (elhagyható 0-sor) Deníció: Kétfázisú szimplex algoritmus 1) Megengedett bázis keresése (megoldjuk a segédfeladatot) Ha a célfüggvény > 0, akkor STOP: nincs megengedett megoldás Ha a célfüggvény = 0, akkor GOTO 2 2) A megtalált megengedett bázisból indulva keressünk optimumot Trichotómia tétel Minden LP az alábbi három osztály valamelyikébe tartozik: i) megengedett megoldása ii) optimális megoldása (a célfüggvénye korlátos) iii) megengedett megoldása, de a célfüggvény nem korlátos 12
Deníció: Újrainvertálás A numerikus hibák az iteráció el rehaladtával egyre inkább el kerülnek Ezért egyszer en nem engedjük meg, hogy az algoritmus túl sok transzformációs mátrixot tároljon (transzformációs mátrix: amivel a kiinduló mátrixot balról szorozva megkapjuk az iterált mátrixot) Ismerjük a bázisban lév elemeket: segítségükkel számoljuk ki újra a bázis inverzét, és így csökkenthet ek a numerikus hibák Megjegyzés: a gyakorlatban ezt 50 lépésenként célszer elvégezni 13