Lineaire algebra Wiskundige technieken 2009/2010 Vandaag • Vectoren en matrices • Oplossen van stelsels vergelijkingen • Aantal belangrijke begrippen uit de lineaire algebra • Soms zonder, af en toe met bewijsjes • En een enkel algoritme 2 Lineaire algebra Matrices • Belangrijk in veel toepassingen: – – – – – – – – – 3 Oplossen van lineaire vergelijkingen Graphics, beeldverwerking (o.a. compressie) Natuurkunde Optimalisering Weergave van mogelijke toestanden van systeem en overgangen Graafalgoritmen Muziek (o.a., compressie) Planning En nog veel meer Lineaire algebra Wat is een matrix • 2-dimensionaal array van getallen (integers, reals, …) • Notatie: 3 6 1 2 3 5 4 2 2 1 2 2 4 9 0 5 12 0 4 1 / 2 6 7 77 3 3 bij 3 matrix, vierkant 4 5 bij 3 matrix Lineaire algebra Vector • n bij 1 matrix • Ook “liggende vectoren” (1 bij n) • n heet dimensie van de vector 5 Lineaire algebra Vectoren en 2d en 3d • Punt op platte vlak: vector met dimensie 2 – R2 • Punt in de ruimte: vector met dimensie 3 0 – R3 • Toepassingen o.a. in natuurkunde: snelheid, versnelling, krachten, … 6 y Lineaire algebra x x y Optellen van vectoren • Tel overeenkomstige elementen op 7 Lineaire algebra Scalair product van vector • ax met a een getal en x een vector: vermenigvuldig alle waarden in x met a 8 Lineaire algebra 1 3 3 2 6 3 9 Nulvector • Is overal 0 0 0 0 9 Lineaire algebra Lineaire combinaties • Stel x1 , …, xn zijn vectoren van dezelfde dimensie d, en a1, …, an zijn getallen • Lineaire combinatie: • a1x1+a2x2 + … anxn • Als vectoren een lineaire combinatie hebben die de 0-vector is (waarbij sommige ai 0), dan zijn ze afhankelijk – Betekent dat ze in hetzelfde vlak liggen (bijv., in 2d, op dezelfde lijn) • Anders: onafhankelijk 10 Lineaire algebra Ieder punt is lineaire combinatie van eenheidsvectoren • Eenheidsvectoren in 2d: (0,1) en (1,0) • Deze eenheidsvectoren vormen basis: elk punt in 2d is lineaire combinatie van deze vectoren 11 0 1 Lineaire algebra 1 0 Andere bases • Als stel van d vectoren van dimensie d onafhankelijk is, dan vormen ze een (alternatieve) basis: – We kunnen punten ook opschrijven met behulp van deze vectoren 12 Lineaire algebra Voorbeeld • In FM-stereo worden niet linkergeluid L en rechtergeluid R verzonden, maar monosignaal L+R en stereoverschilsignaal S=L-R • Alternatieve basis: 1 1 13 1 1 Lineaire algebra Vraagjes • Hoe weet je of een stelsel onafhankelijk is? • Als je weet hoe je omrekent van 1e basis naar 2e basis, hoe reken je terug om? • Matrices, inversen, determinanten, ... 14 Lineaire algebra Definities en notaties • i-de rij van n bij n matrix: 1 bij n matrix • i-de kolom van n bij n matrix: n bij 1 matrix • aij is het (i,j)-de element van matrix A: staat op rij i en kolom j • A = [aij] 15 Lineaire algebra Operaties op matrices:I Optellen • A+B 16 Lineaire algebra Operaties II: Inproduct van liggende en staande vector • Inproduct van 1 bij n vector (rij) en n bij 1 vector (kolom) • Moeten even lang zijn – anders niet gedefinieerd a1 17 b1 n an ai bi i 1 bn Lineaire algebra Operaties III Product van twee matrices • A is n bij k matrix • B is k bij m matrix • Product van A en B: A*B wordt een n bij m matrix • AB = [cij] met – cij = ai1b1j + ai2b2j + … + aikbkj 18 Lineaire algebra Over matrixvermenigvuldiging • Belangrijk in veel toepassingen • Let op dat de formaten kloppen! 1 1 2 1 2 1 1 1 2 1 1 1 1 1 2 1 • Steeds “rij keer kolom” • Niet commutatief 19 Lineaire algebra Pseudocode • for i = 1 to m – for j = 1 to n • cij = 0; • for q = 1 to k do – cij = cij + aiq * aqj 20 Lineaire algebra Hoeveel werk • O(m*n*k) • A*B*C: de hoeveelheid werk kan verschillen afhankelijk of je (A*B)*C of A*(B*C) uitrekent – Resultaat blijft wel hetzelfde 21 Lineaire algebra Product van matrix en vector • • • • A is m bij n matrix x is vector van lengte n (n bij 1 matrix) Ax wordt een vector van lengte m Wat betekent Ax=b? – Stelsel lineaire vergelijkingen Ax b 22 Lineaire algebra Identiteitsmatrix 1 0 I4 0 Of noteer: I 0 23 0 0 0 1 0 0 0 1 0 0 0 1 Lineaire algebra Over identiteit • Als A een n bij n matrix is: • AIn=InA=A 24 Lineaire algebra Nulmatrix • 0n : n bij n matrix die overal 0 is • A0n = 0nA = 0n • A+0n = 0n +A = A 25 Lineaire algebra Inverse • Inverse van n bij n matrix A: een matrix B met AB = In en BA = In • Stelling: Als AB=In en CA=In dan is B=C • Bewijs: • C = CIn = CAB = InB = B • Er is dus maximaal 1 matrix die de inverse is • Notatie: A-1 26 Lineaire algebra Inverse gebruik voor oplossen stelsel vergelijkingen • Ax=b dan en slechts dan als x = A-1b – Want x = Inx = A-1Ax = A-1b 27 Lineaire algebra 2 bij 2: determinant a b A c d • Determinant van een 2 bij 2 matrix A is det(A) = ad – bc • Als de determinant 0 is, dan heeft A geen inverse 1 d • Als de determinant 1 A niet 0 is, dan: det( A) c 28 Lineaire algebra b a Voorbeeld • 2x1 + 5 x2 = 11 • x 1 + 3 x2 = 6 29 Lineaire algebra Vegen • Vegen: methode om stelsel vergelijkingen op te lossen • Idee: – Herhaal: • Neem een variabele zeg xi • Zorg dat er maar 1 vergelijking is waar xi in voorkomt, door een van de vergelijkingen een aantal keren van de andere af te trekken 30 Lineaire algebra Stelsel • • • • a11x1+ a12x2+ … a1nxn= b1 a21x1+ a22x2+ … a1nxn= b2 … an1x1+ an2x2+ … annxn= bn • Oftewel Ax=b 31 Lineaire algebra Pseudocode • For i = 1 to n do – {Veeg met variabele xi} – Kies j met aji 0 die niet al eerder gekozen – Voor elke k j • Trek vergelijking j aki/aji keer van vergelijking k af 32 Lineaire algebra Opmerkingen • Je krijgt steeds meer variabelen die maar 1 keer met een niet-0 worden vermenigvuldigd. • Als je klaar bent met vegen kan je makkelijk de oplossing vinden… 33 Lineaire algebra Determinant van n bij n matrix 1 2 3 det 1 0 1 2 2 3 5 • Notatie: Ai,j is de matrix die je krijgt door uit A de i-de rij en de j-de kolom weg te laten n det( A) 1 ai1 det( Ai , j ) i 1 i 1 34 Lineaire algebra Determinant: gebruik • Matrix A heeft een inverse als det(A) 0 • Als A geen inverse heeft, heeft het stelsel geen unieke oplossing – Oneindig veel oplossingen OF – Helemaal geen oplossing • Er is ook een formule voor de inverse die alleen determinanten (van A en deelmatrices) gebruikt: onpraktisch 35 Lineaire algebra Terug naar de vectoren • Is een stelsel vectoren afhankelijk? Dat is “gewoon” de vraag of een stelsel vergelijkingen Ax=0 meer dan 1 oplossing heeft (x=0 is altijd oplossing) • Dus… hangt af of de determinant van de matrix die je van de basis maakt 0 is! • Terugrekenen: bereken de inverse! 36 Lineaire algebra Over de determinant • Als je kolommen of rijen verwisselt wordt de determinant met -1 vermenigvuldigd • Als je de matrix spiegelt blijft de determinant hetzelfde • Als je een kolom met een getal r vermenigvuldigd wordt de determinant ook met een getal r vermenigvuldigd – Variabele in oplossing wordt r keer zo klein • Als je een rij met een getal r vermenigvuldigd wordt de determinant ook met een getal r vermenigvuldigd – Als r 0, dan houd je dezelfde oplossingen 37 Lineaire algebra En nog meer over de determinant • Bij het vegen verandert de determinant niet! • Als de determinant 0 is, dan kan je bij het vegen een hele vergelijking wegpoetsen… 38 1 1 1 x1 1 2 1 3 x 1 2 4 3 5 x3 1 Lineaire algebra Bovendriehoeksmatrix • Kan je altijd met vegen krijgen • Determinant is product diagonaalelementen n a11 a12 0 a 22 0 0 0 0 det( A) aii i 1 39 Lineaire algebra a13 a23 a33 0 a14 a24 a34 a44 Voorbeeld • Kleuren van pixels in een plaatje worden op verschillende manieren gecodeerd • RGB: hoeveelheid rood, groen, en blauw • Voor compressie wordt dit soms omgezet naar Y, Cb, Cr, met – Y = 0.299R + 0.587G + 0.114B – Cb = B – Y – Cr = R – Y • Toepassing: voor scherpte van plaatje is Y vooral belangrijk; bij opslag worden er minder bits gebruikt voor Cb en Cr 40 Lineaire algebra In matrixvorm 0.587 0.114 R Y 0.299 Cb 0.299 0.587 0.886 G Cr 0.701 0.587 0.114 B 41 Lineaire algebra Inverse 1 0.587 0.114 0 1 0.299 1 0.299 0.587 0.886 0 0.194 0.509 0.701 0.587 0.114 1 1 0 42 Lineaire algebra Eigenwaarden en eigenvectoren • Een eigenvector van een matrix A is een vector x, zodat er een (reëel) getal r is met Ax = rx. • r heet dan een eigenwaarde 43 Lineaire algebra Optimaliseren • Veel planningsproblemen zijn te schrijven als “lineair programma” • • • • • • Produceren van product 1 kost 3 minuten Produceren van product 2 kost 5 minuten Product 1 levert 5 winst, product 2 geeft 4 winst Maximale vraag is resp. 130 en 607 Tijd is 202 Wat is de maximale winst? • Eerst als matrix schrijven, en dan … extra technieken nodig … 44 Lineaire algebra Conclusies • Een inleiding in de lineaire algebra • Allerlei plekken in de informatica gebruiken matrices en vectoren 45 Lineaire algebra