Lavts Matlab

180
Lineaire Algebra en Matlab 5 februari 2007 Inhoudsopgave 1 Inleiding 7 2 Belangrijke begrippen 8 2.1 Gauss-eliminatie en matrix-manipulaties, zie Hoofdstuk 3. ............. 8 2.2 Tellen van flops, LU-decompositie, zie Hoofdstuk 4. ................. 8 2.3 Inverse van een matrix en enkele numerieke aspecten, zie Hoofdstuk 5. ....... 8 2.4 Iteratieve methoden en de algemene oplossing van stelstels lineaire vergelijkingen, zie Hoofdstuk 6. ........................ 9 2.5 De vier fundamentele deelruimten, zie Hoofdstuk 7. ................. 9 2.6 Overbepaalde stelsels, zie Hoofdstuk 8. ........................ 10 2.7 QR-decompositie 1, zie Hoofdstuk 9. ......................... 10 2.8 QR-decompositie 2, zie Hoofdstuk 10. ......................... 10 2.9 Determinanten, zie Hoofdstuk 11. ........................... 10 2.10 Eigenwaarden en eigenvectoren 1, zie Hoofdstuk 12. ................. 11 2.11 Eigenwaarden en eigenvectoren 2, zie Hoofdstuk 13. ................. 11 2.12 Lineare afbeeldingen en basis-overgangen, zie Hoofdstuk 14. ............ 11 2.13 Symmetrische en hermitische matrices, symmetrische afbeldingen, zie Hoofdstuk 15. .................................... 12 2.14 Orthogonale en unitaire matrices, orthogonale afbeeldingen, zie Hoofdstuk 16. .................................... 12 2.15 Singuliere waarden decompositie, zie Hoofdstuk 17. ................. 12 3 Gauss-eliminatie en matrix-manipulaties 13 3.1 Inleiding MATLAB .................................. 13 3.2 Het starten en stoppen van MATLAB ......................... 13 3.3 Opdrachten in MATLAB ................................ 14 3.4 Variabelen ........................................ 14 3.5 Het opstellen van matrices ............................... 16 1

Transcript of Lavts Matlab

Page 1: Lavts Matlab

Lineaire Algebra en Matlab

5 februari 2007

Inhoudsopgave

1 Inleiding 7

2 Belangrijke begrippen 82.1 Gauss-eliminatie en matrix-manipulaties, zie Hoofdstuk 3. . . . . . . . . . . . . . 82.2 Tellen van flops, LU-decompositie, zie Hoofdstuk 4. . . . . . . . . . . . . . . . . . 82.3 Inverse van een matrix en enkele numerieke aspecten, zie Hoofdstuk 5. . . . . . . . 82.4 Iteratieve methoden en de algemene oplossing van stelstels

lineaire vergelijkingen, zie Hoofdstuk 6. . . . . . . . . . . . . . . . . . . . . . . . . 92.5 De vier fundamentele deelruimten, zie Hoofdstuk 7. . . . . . . . . . . . . . . . . . 92.6 Overbepaalde stelsels, zie Hoofdstuk 8. . . . . . . . . . . . . . . . . . . . . . . . . 102.7 QR-decompositie 1, zie Hoofdstuk 9. . . . . . . . . . . . . . . . . . . . . . . . . . 102.8 QR-decompositie 2, zie Hoofdstuk 10. . . . . . . . . . . . . . . . . . . . . . . . . . 102.9 Determinanten, zie Hoofdstuk 11. . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.10 Eigenwaarden en eigenvectoren 1, zie Hoofdstuk 12. . . . . . . . . . . . . . . . . . 112.11 Eigenwaarden en eigenvectoren 2, zie Hoofdstuk 13. . . . . . . . . . . . . . . . . . 112.12 Lineare afbeeldingen en basis-overgangen, zie Hoofdstuk 14. . . . . . . . . . . . . 112.13 Symmetrische en hermitische matrices, symmetrische afbeldingen,

zie Hoofdstuk 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.14 Orthogonale en unitaire matrices, orthogonale afbeeldingen,

zie Hoofdstuk 16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.15 Singuliere waarden decompositie, zie Hoofdstuk 17. . . . . . . . . . . . . . . . . . 12

3 Gauss-eliminatie en matrix-manipulaties 133.1 Inleiding MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2 Het starten en stoppen van MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Opdrachten in MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4 Variabelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.5 Het opstellen van matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1

Page 2: Lavts Matlab

3.6 Bijzondere matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.7 MATLAB operaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.8 Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.9 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.10 Aanvulling Hoofdstuk 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.10.1 Reguliere en singuliere stelsels . . . . . . . . . . . . . . . . . . . . . . . . . 243.10.2 Bijzondere matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.10.3 Overzicht matrix-manipulaties . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Tellen van flops, LU-decompositie 274.1 Flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2 LU-decompositie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.3 Oplossen stelsel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.4 Permutatiematrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.5 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.6 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.7 Aanvulling Hoofdstuk 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.7.1 Overzicht flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.7.2 Simultaan oplossen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 Inverse van een matrix en enkele numerieke aspecten 365.1 Bepaling inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.2 Het commando chol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.3 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.4 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.5 Aanvulling Hoofdstuk 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.5.1 Definities en stellingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.5.2 Positief-definiete matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.5.3 Voorbeelden positief-definiete matrices. . . . . . . . . . . . . . . . . . . . . 43

6 Iteratieve methoden en de algemene oplossing van stelstelslineaire vergelijkingen 456.1 De commando’s diag en tril . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.2 Bepaling benaderingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.3 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466.4 Het commando rref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466.5 De algemene oplossing van A x= b . . . . . . . . . . . . . . . . . . . . . . . . . . 476.6 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476.7 Aanvulling Hoofdstuk 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.7.1 Iteratieve methoden voor A x= b . . . . . . . . . . . . . . . . . . . . . . . 506.7.2 De methode van Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2

Page 3: Lavts Matlab

6.7.3 De methode van Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . 516.7.4 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.7.5 methode van Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.7.6 methode van Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.7.7 Andere keuzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.7.8 Convergentie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.7.9 Wat geldt voor de fout? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.7.10 Toepassingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.7.11 Grote stelsels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.7.12 Redelijke benadering bekend . . . . . . . . . . . . . . . . . . . . . . . . . . 556.7.13 IJle matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.7.14 Reguliere en singuliere stelsels . . . . . . . . . . . . . . . . . . . . . . . . . 55

7 De vier fundamentele deelruimten 567.1 Fundamentele stelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567.2 Het commando rank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567.4 Aanvulling Hoofdstuk 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

7.4.1 De matrix ATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8 Overbepaalde stelsels 618.1 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.2 Controleren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.3 Rijen toevoegen aan een matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.4 Kolommen toevoegen aan een matrix . . . . . . . . . . . . . . . . . . . . . . . . . 618.5 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628.6 Aanvulling Hoofdstuk 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

8.6.1 Twee methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668.6.2 Methode (i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668.6.3 Methode (ii) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678.6.4 Voorbeeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678.6.5 Opmerkingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

9 QR-decompositie 1 699.1 Het commando qr(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699.2 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

10 QR-decompositie 2 7210.1 Toevoegingen QR-decompositie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7210.2 Verwisselen kolommen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7210.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3

Page 4: Lavts Matlab

10.4 Aanvulling Hoofdstukken 9 en 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . 7810.4.1 Orthogonaal en orthonormaal . . . . . . . . . . . . . . . . . . . . . . . . . 7810.4.2 Overzicht QR-decompositie . . . . . . . . . . . . . . . . . . . . . . . . . . 78

11 Determinanten 8311.1 Determinant-berekening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8311.2 Verandering van de waarde van een element in een matrix . . . . . . . . . . . . . 8311.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

12 Eigenwaarden en eigenvectoren 1 9012.1 Karakteristiek polynoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9012.2 Nulpunten van een polynoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9012.3 Bepalingen eigenvectoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9012.4 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

13 Eigenwaarden en eigenvectoren 2 9613.1 Het commando eig(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9613.2 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9613.3 Aanvulling Hoofdstukken 12 en 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

13.3.1 Concrete berekening van eigenwaarden/eigenvectoren . . . . . . . . . . . . 10313.3.2 Het karakteristiek polynoom van A is . . . . . . . . . . . . . . . . . . . . . 10413.3.3 De karakteristieke vergelijking van A is . . . . . . . . . . . . . . . . . . . . 10413.3.4 Eigenvectoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10513.3.5 Eigenwaarden en eigenvectoren van gerelateerde matrices . . . . . . . . . . 10613.3.6 Eigenwaarden-decompositie . . . . . . . . . . . . . . . . . . . . . . . . . . 10713.3.7 Met A samenhangende eigenwaarden-decomposities . . . . . . . . . . . . . 10713.3.8 Eigenschappen van Aˆk x . . . . . . . . . . . . . . . . . . . . . . . . . . . 10813.3.9 Grootste eigenwaarde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10813.3.10Voorbeeld: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10913.3.11Differentie-vergelijkingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10913.3.12Voorbeeld: (zie paragraaf 13.3.10) . . . . . . . . . . . . . . . . . . . . . . . 11013.3.13Speciale differentievergelijkingen: iteratie-rijen . . . . . . . . . . . . . . . . 11113.3.14Voorbeeld: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

14 Lineaire afbeeldingen en basis-overgangen 11314.1 Verschillende bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11314.2 Omzetten van coordinaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11314.3 Lineaire afbeeldingen ten opzichte van bases . . . . . . . . . . . . . . . . . . . . . 11414.4 Duidelijke benamingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11514.5 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11514.6 Aanvulling Hoofdstuk 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

4

Page 5: Lavts Matlab

15 Symmetrische en hermitische matrices, symmetrische afbeeldingen 11815.1 Transponeren en conjugeren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11815.2 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11815.3 Aanvulling Hoofdstuk 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

15.3.1 Complexe eigenwaarden, eigenvectoren en matrices . . . . . . . . . . . . . 12315.3.2 Voorbeeld 1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12315.3.3 Beperking A is reeel kan vervallen . . . . . . . . . . . . . . . . . . . . . . . 12515.3.4 Hermitisch conjugeren en Hermitische matrices . . . . . . . . . . . . . . . 12515.3.5 Speciale klasse, de Hermitische matrices . . . . . . . . . . . . . . . . . . . 12615.3.6 Symmetrische lineaire afbeeldingen: matrixvermenigvuldiging . . . . . . . 12615.3.7 Voorbeeld 4: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12615.3.8 Voorbeeld 5: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12715.3.9 Voorbeeld 6: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12815.3.10De vooorbeelden zijn afbeeldingsmatrices . . . . . . . . . . . . . . . . . . . 12915.3.11Minder speciale bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12915.3.12Nauwkeurige definitie van symmetrische lineaire afbeelding . . . . . . . . . 13015.3.13Symmetrische lineaire afbeeldingen: meetkundig . . . . . . . . . . . . . . . 13015.3.14Voorbeeld 7: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13015.3.15Positief definiete matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 13115.3.16Voorbeeld 8: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

16 Orthogonale en unitaire matrices, orthogonale afbeeldingen 13316.1 Orthogonaal en unitair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13316.2 Aanvullen tot orthonormale basis . . . . . . . . . . . . . . . . . . . . . . . . . . . 13316.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13316.4 Aanvulling Hoofdstuk 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

17 Singuliere waarden decompositie 13717.1 Het commando svd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13717.2 Het commando pinv(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13717.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13717.4 Aanvulling Hoofdstuk 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

17.4.1 Stelling: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13917.4.2 Speciaal geval 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13917.4.3 De matrices AT · A en A · AT . . . . . . . . . . . . . . . . . . . . . . . . . 14017.4.4 Niet eenduidig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14017.4.5 Nog niet te bepalen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14017.4.6 Resterende kolommen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14117.4.7 Voorbeeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14117.4.8 Keuze tussen A en AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14317.4.9 Toepassing SVD: rangbepaling van een matrix . . . . . . . . . . . . . . . . 143

5

Page 6: Lavts Matlab

17.4.10 Indicatie voor lagere rang . . . . . . . . . . . . . . . . . . . . . . . . . . . 14317.4.11Voorbeeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14417.4.12Toepassing: matrix benadering van lagere rang . . . . . . . . . . . . . . . . 14417.4.13Niet gehele berekening nodig . . . . . . . . . . . . . . . . . . . . . . . . . . 14517.4.14Alternatieve schrijfwijze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14517.4.15Toepassing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14617.4.16Toepassing: polaire decompositie . . . . . . . . . . . . . . . . . . . . . . . 14617.4.17Toepassing: pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . 14817.4.18Speciale gevallen met een eenvoudige uitdrukking . . . . . . . . . . . . . . 14817.4.19Een ander resultaat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14917.4.20Pseudo-inverse van een reele m bij n matrix A . . . . . . . . . . . . . . . . 14917.4.21A+ met eenvoudige vorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15017.4.22AT · A singulier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

18 Extra opgaven 15318.1 Extra-opgaven: Tellen van flops, LU-decompositie,

zie Hfd. 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15318.2 Extra-opgaven: Inverse van een matrix en enkele numerieke aspecten ,

zie Hfd. 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15418.3 Extra-opgaven: Iteratieve methoden en de algemene oplossing van stelstels lineaire

vergelijkingen, zie Hfd. 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15518.4 Extra-opgaven: Overbepaalde stelsels, zie Hfd. 8 . . . . . . . . . . . . . . . . . . . 15618.5 Extra-opgaven: QR-decompositie, zie Hfd. 9 en Hfd. 10 . . . . . . . . . . . . . . . 15618.6 Extra-opgaven: Eigenwaarden en Eigenvectoren, zie Hfd. 12 en 13 . . . . . . . . . 15818.7 Extra-opgaven: Symmetrische en hermitische matrices,

zie Hfd. 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16118.8 Extra-opgaven: Orthogonale en unitaire matrices,

zie Hfd. 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16318.9 Extra opgaven: Singuliere waarden decompositie,

zie Hfd. 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

19 Appendix 17019.1 Eigenschappen van matrix-manipulaties . . . . . . . . . . . . . . . . . . . . . . . . 17019.2 Eigenschappen van een reguliere matrix . . . . . . . . . . . . . . . . . . . . . . . . 17019.3 Eigenschappen van een m bij n matrix . . . . . . . . . . . . . . . . . . . . . . . . 17119.4 Eigenschappen van symmetrische en hermitische matrices . . . . . . . . . . . . . . 17119.5 Eigenschappen van orthogonale en unitaire matrices . . . . . . . . . . . . . . . . . 172

20 Lineaire Algebra Woordenlijst 174

6

Page 7: Lavts Matlab

1 Inleiding

De bedoeling is dat studenten eerst kennis nemen van de theorie, daarna oefenen. Het liefst metde hand. Na dit handmatig oefenen kunnen de studenten eens kijken naar computerprogramma’s,zoals Matlab. Dit is de weg, die door de studenten moet worden bewandeld. Niet te snel naarrekenapparatuur, die het wel eventjes voor jou doet. Precies, want wat doet die rekenapparatuureigenlijk, wat berekent deze nu eigenlijk?Een document onafhankelijk van een bepaald computerprogramma, was het mooiste geweest. Eenspeurtocht steeds met de vraag: met welke opdracht kan ik, in het lopende computerprogramma,dit of dat verrichten?Symbolisch rekenen is leuk om te doen, vandaar dat ik het leuk vind om met een Computer Alge-bra Systeem (afgekort: CAS) te werken. Mathematica en Matlab/Maple zijn hiervoor geschikteprogramma’s. Maxima en Xcas zijn hiervoor ook geschikt en licentie-vrij! Er is ook een pro-gramma Algea, een programma soortgelijk als Matlab, maar dan geheel numeriek georienteerd.(Zelf nog niet mee gewerkt, dus geen ervaring mee.) Zo zijn er nog een aantal van deze program-ma’s. Heeft u interesse, kijk dan eens op de website http://linux.about.com/library/howto/

scientific comput/blsc0.htm, bijvoorbeeld onder het kopje: Mathematical Packages. Op desite http://math.about.com/sitesearch.htm staan heel veel verwijzingen naar wiskundig geo-rienteerde sites, ook interessant!Matlab is in de loop der tijd van een zuiver numeriek programma geworden tot wat het nu is, eenmix van numeriek en symbolisch rekenen.Het mooiste zou zijn, als studenten hun verkregen antwoorden (met de hand berekend!) zoudencontroleren met dergelijke Computer Algebra Systemen. (En niet andersom!)Het schrijven is gebaseerd op oude diktaten, waar onder andere Koo Rijpkema en andere collega’saan hebben meegewerkt. De oude geschriften zijn door mij zo nodig aangepast. De secretaressebij wiskunde had nog een copie op floppy’s staan, van deze oude diktaten uit 1990. Alles bij elkaaromvat dit twee cursussen Lineaire Algebra (2Y660 en 2Y630).De cursussen waren gebaseerd op het boek van Strang, G., Linear Algebra and its Applications,in de diktaten stond aanvullend materiaal. Het waren cursussen van ieder 9 weken lang. Naar ikmeen, iedere week een college van 3 uur en een hele middag (3 uur) instructie. In het prille beginzaten wij nog in de kelder van de Traverse (toendertijd: Rekencentrum) achter kleine PC’s, diewaren aangesloten op een netwerk. Op die manier kon er gebruik worden gemaakt van Matlab,mits het netwerk geen kuren had. De matrices konden ook niet al te groot worden genomen, inverband met het beperkte werkgeheugen van deze machientjes. Vastlopen gebeurde dus regelma-tig en dan weer wachten totdat alles was opgestart. Die tijd werd meestal nuttig besteed aan hetnadenken over, of een probleem wel goed werd aangepakt! Was er geen andere manier om aan hetantwoord te komen? De vraag komt wel eens bij mij op of vandaag de dag niet het omgekeerdegebeurt? De student loopt vast en ...Commentaar verneem ik graag, staan er fouten in, dan verneem ik dit graag.Op- en aanmerkingen doorgeven aan mij (Rene van Hassel)email: [email protected]

7

Page 8: Lavts Matlab

2 Belangrijke begrippen

2.1 Gauss-eliminatie en matrix-manipulaties, zie Hoofdstuk 3.

* Gauss-eliminatie, vegen

* matrix, coefficienten-matrix, uitgebreide matrix

* equivalent stelsel vergelijkingen

* spil (Eng.: pivot)

* singulier stelsel, niet-singulier stelsel (of regulier stelsel)

* vermenigvuldigen, optellen, machtsverheffen en transponeren van matrices

* bijzondere matrices: vierkante matrix, identieke matrix, nulmatrix, diagonaalmatrix, bo-vendriehoeksmatrix (Eng.: upper triangular matrix), onderdriehoeksmatrix (Eng.: lowertriangular matrix), symmetrische matrix

* elementaire matrices

* partitioneren

2.2 Tellen van flops, LU-decompositie, zie Hoofdstuk 4.

* flop (Het begrip flop is niet eenduidig.)

* Gauss-Jordan eliminatie

* simultaan vegen

* inverse van een elementaire matrix

* LU-decompositie (Eng.: triangular factorization)

* permutatie-matrix

2.3 Inverse van een matrix en enkele numerieke aspecten, zie Hoofd-stuk 5.

* inverteerbare matrix, inverse van een matrix

* goed- en slecht geconditioneerde matrices (Eng.: well and ill-conditioned matrices)

* partial pivoting

8

Page 9: Lavts Matlab

* bandmatrices

* tridiagonale matrices

* positief-definiete matrices

* Cholesky-decompositie

2.4 Iteratieve methoden en de algemene oplossing van stelstelslineaire vergelijkingen, zie Hoofdstuk 6.

* iteratieve methode van Jacobi

* iteratieve methode van Gauss-Seidel

* Rn

* deelruimte (Eng.: subspace)

* nulruimte (Eng.: nullspace) of kern (Eng.: kernel)

* kolommenruimte (Eng.: column space) of bereik (Eng.: range)

* opspansel (Eng.: span)

* onderbepaald stelsel (Eng.: underdetermined)

* overbepaald stelsel (Eng.: overdetermined)

* trapvorm (Eng.: echelon-form)

* basis en vrije variabelen

* stelsel (in)homogene vergelijkingen

* particuliere oplossing (Eng.: particular solution)

* rang van een matrix (Eng.: rank)

2.5 De vier fundamentele deelruimten, zie Hoofdstuk 7.

* (on)afhankelijkheid

* basis

* dimensie

9

Page 10: Lavts Matlab

* rijenruimte R(AT) (Eng.: rowspace)

* linker nulruimte N(AT) (Eng.: left nullspace)

* dimensiestelling

* lengte van een vector

* loodrecht (Eng.: perpendicular) of orthogonaal

2.6 Overbepaalde stelsels, zie Hoofdstuk 8.

* projectie (Eng.: projection)

* kleinste kwadraten benadering (Eng.: least squares approximation)

* overbepaald systeem (Eng.: overdetermined system)

* regressie-modellen

* normaal vergelijkingen (Eng.: normal equations)

2.7 QR-decompositie 1, zie Hoofdstuk 9.

* orthonormale basis

* orthogonale matrix

* Gram-Schmidt proces

* QR-decompositie

2.8 QR-decompositie 2, zie Hoofdstuk 10.

* orthogonale deelruimten

* orthogonaal complement of orthoplement

2.9 Determinanten, zie Hoofdstuk 11.

* determinant

* cofactor

* regel van Cramer

* volume van een parallellepipedum (Eng.: parallelepiped)

10

Page 11: Lavts Matlab

2.10 Eigenwaarden en eigenvectoren 1, zie Hoofdstuk 12.

* eigenwaarde

* eigenvector

* eigenruimte (Eng.: eigenspace)

* karakteristiek polynoom

* karakteristieke vergelijking

* algebraısche multipliciteit van een eigenwaarde

* geometrische multipliciteit van een eigenwaarde

* spoor van een matrix (Eng.: trace)

* diagonaliseerbare matrix

* niet diagonaliseerbare matrix (Eng.: defective matrix)

2.11 Eigenwaarden en eigenvectoren 2, zie Hoofdstuk 13.

* eigenwaardendecompositie

* differentie-vergelijking (Eng.: difference equation)

* stationaire oplossing (Eng.: steady state)

* instabiel/neutraal stabiel/stabiel

* machtmethode (Eng.: power method)

* iteratie-rijen

2.12 Lineare afbeeldingen en basis-overgangen, zie Hoofdstuk 14.

* geordende basis

* coordinaten

* basisovergangsmatrix

* lineaire afbeelding

* domein/bereik

11

Page 12: Lavts Matlab

* beeldruimte/nulruimte

* rang van een afbeelding

* standaard matrixvoorstelling van een lineaire afbeelding

* matrixvoorstelling van een lineaire afbeelding t.o.v.een gekozen basis

* eigenwaarden/eigenvectoren van een lineaire afbeelding

2.13 Symmetrische en hermitische matrices, symmetrische afbeldin-gen,zie Hoofdstuk 15.

* complex inproduct

* Hermitisch conjugeren (Eng.: conjugate transpose)

* Hermitische matrix

* symmetrische afbeelding

* positief-definiete matrices

2.14 Orthogonale en unitaire matrices, orthogonale afbeeldingen,zie Hoofdstuk 16.

* orthogonale/unitaire matrix

* orthogonale afbeelding

* direct orthogonaal/gespiegeld orthogonaal

* draaiingsas/vlak van draaiing/draaiingshoek/draairichting

* rechtsdraaiend stelsel/linksdraaiend stelsel

* draaispiegeling

2.15 Singuliere waarden decompositie, zie Hoofdstuk 17.

* singuliere waarden-decompositie (Eng.: singular value decomposition)

* singuliere waarden

* polaire decompositie (Eng.: polar decomposition)

* pseudo-inverse

12

Page 13: Lavts Matlab

3 Gauss-eliminatie en matrix-manipulaties

3.1 Inleiding MATLAB

MATLAB is een programmapakket voor het uitvoeren van scalaire, vector en matrix berekeningen.De naam MATLAB is een afkorting van MATrix LABoratory. Er bestaan verschillende versies vanMATLAB. Zoals uit de naam MATLAB blijkt, is de basisrekengrootheid een matrix. MATLABis een expressie taal. Dit houdt in dat de opdrachten van de volgende vorm zijn:

‘variabele’ = ‘expressie’of alleen:

‘expressie’Een opdracht wordt afgesloten met de enter-toets. De opgegeven opdrachten worden door hetMATLAB systeem vertaald en vervolgens uitgevoerd. Voor de berekeningen met de matrices zijnveel commandos aanwezig. Dit aantal is bovendien gemakkelijk uit te breiden met zelf gemaaktecommando’s. Daarbij maakt het programma geen verschil tussen zelf gemaakte commando’s enstandaard commando’s.

3.2 Het starten en stoppen van MATLAB

Zo’n 15 jaar geleden, werd er nog gewerkt achter groene schermpjes, en met kleine computersin het zogenaamde Rekencentrum, nu Laplace gebouw geheten en wel in de beneden verdieping.Eerst moesten de computers worden opgestart en dan kon er worden begonnen met de instructies.Vandaar de volgende opdracht.Geloof mij, als de PC’s eenmaal draaiden, dan kon je ze maar beter niet meer uitzetten. Hetduurde even voordat deze weer waren opgestart. of de volgende opdracht dan ook echt werd uit-gevoerd? Veel werd vanuit MSDOS opgestart, vandaar dat hier een typisch MSDOS commandostaat. Vandaag de dag gaat dit allemaal een stuk eenvoudiger door allerlei icoontjes aan te klikken.

Starten kan op verschillende systemen verschillend zijn ingericht. Voor het practicum LineaireAlgebra gebeurt dit met het commando:

MATLAB

Stoppen gebeurt met het commando:

exit

Opdracht: Start MATLAB, bekijk de mededelingen op het scherm, en stop daarna het pro-gramma.

13

Page 14: Lavts Matlab

3.3 Opdrachten in MATLAB

Zoals al eerder vermeld, is MATLAB een expressie taal. De opdrachten zijn van de vorm:‘variabele’ = ‘expressie’

of alleen:‘expressie’

In het laatste geval wordt het resultaat van de opdracht toegekend aan de variabele ‘ans’. Wanneereen opdracht niet op een regel past, kan de opdracht worden afgebroken door ‘...’ aan het einde vande regel te plaatsen. De opdracht kan dan op de volgende regel voorgezet worden. Bijvoorbeeld:

a=1+2+3...

+4+5+6

is hetzelfde als

a=1+2+3+4+5+6MATLAB plaatst normaal elk resultaat op het scherm. Dit kan voorkomen worden door een‘;’-teken achter een opdracht te plaatsen. Bijvoorbeeld de opdracht:

s=1+2kent aan s de waarde 3 toe en zet deze waarde op het scherm. De opdracht:

s=1+2;kent aan s de waarde 3 toe, maar plaatst het resultaat niet op het scherm. Wanneer we de waardevan s willen zien, kan dit eenvoudig door als opdracht te geven:

s

Opdracht: Type binnen MATLAB de volgende uitdrukkingen in (telkens gevolgd door RE-TURN) en bekijk het resultaat op het scherm:

a=1+2+3+4+5+6b=1+2+3+4+5+6;b1+2+3+4+5+6c=10*ans

3.4 Variabelen

In elke opdracht van MATLAB hebben we te maken met variabelen, alleen al omdat elke opdrachtzijn uitkomst aan een variabele kan toekennen. In MATLAB moet de naam van een variabelebeginnen met een letter. Daarna mag de naam bestaan uit een onbeperkt aantal cijfers of letters.

14

Page 15: Lavts Matlab

Van de namen worden echter alleen de eerste 19 karakters door MATLAB onthouden. MAT-LAB maakt onderscheid tussen hoofd en kleine letters. A en a zijn dus verschillende variabelen.MATLAB gebruikt enkele variabele-namen met speciale betekenis. Dit zijn:

• ans aan deze variabele wordt het resultaat van een berekening toegekend, als er geenvariabele in de opdracht gedefinieerd is, waaraan het resultaat toegekend moet worden.

• eps wordt onder andere gebruikt voor het bepalen van singulariteit en rang van een ma-trix (begrippen die in deze cursus nog aan de orde komen). De waarde van eps is ongeveer2.22E-16. Omdat MATLAB deze variable intern gebruikt, is het niet aan te raden om dewaarde van eps te veranderen.

• pi 3.141592654..

• Inf deze variabele heeft de waarde oneindig. Een manier om Inf te genereren is een delingdoor 0.

• NaN het symbool voor Not A Number. NaN onstaat bij delingen Inf/Inf en 0/0. Eenberekening met NaN resulteert altijd in NaN.

Wanneer een lijst van gebruikte variabelen nodig is, zijn er twee commando’s in MATLAB aanwezigom deze lijst te tonen (commando’s altijd in kleine letters):

who geeft alleen een lijst van de aanwezige variabelen.

whos geeft een lijst van aanwezige variabelen met de dimensies en geeft aan of een variabelecomplex is.

Het verwijderen van variabelen uit het geheugen kan gebeuren met het commando

clearDit commando verwijdert alle variabelen uit het geheugen. Wanneer slechts enkele variabelenverwijderd moeten worden, is het nodig dat deze variabelen achter het clear commando wordengeplaatst. Om bijvoorbeeld de variabele x, te verwijderen uit het geheugen, moet het commando:

clear xgegeven worden.

Opdracht: Bekijk welke variabelen er binnen MATLAB op dit moment gedefinieerd zijn.Verwijder de variabelen b en c en controleer of dit gebeurd is.

15

Page 16: Lavts Matlab

3.5 Het opstellen van matrices

MATLAB kent in wezen maar een rekengrootheid, namelijk een mxn-matrix (een matrix met mrijen en n kolommen met m ≥ 1 en n ≥ 1). Zo wordt een scalar in MATLAB opgevat als een1× 1- -matrix. Een matrix kan op verschillende manieren ingevoerd worden, namelijk:

• tussen [ en ], waarbij de rijen gescheiden worden door ; en de elementen gescheiden wordendoor spaties of komma’s. Bijvoorbeeld

A = [1 2 3; 4 5 6; 7 8 9]

of

A = [1, 2, 3; 4, 5, 6; 7, 8, 9]

• tussen [ en ], waarbij elke rij op een nieuwe regel begint, b.v.:

A = [1 2 34 5 67 8 9]

• via externe files, waarin de waarden van de variabelen zijn opgeslagen of waarin deze bere-kend worden.

• Een matrix element mag uit alle MATLAB uitdrukkingen bestaan. Zo is b.v.:

a = [−1.3 sqrt(3) (1 + 2 + 3) ∗ 4/5]

een toegelaten opdracht.

Opdracht: Voer de volgende 4 bij 4 matrix in.

A =

1 2 − 1 37 2 0 13 − 2 − 1 − 10 1 4 8

16

Page 17: Lavts Matlab

3.6 Bijzondere matrices

Behalve door direkte invoer, kunnen enkele bijzondere matrices ook rechtstreeks gevormd wordenmet MATLAB-opdrachten. Deze matrices zijn:

+ Een mxn-eenheidsmatrix met de opdracht ‘eye(m,n)’+ Een mxn-nulmatrix met ‘zeros(m,n)’

+ Een mxn-matrix waarin alle elementen de waarde 1 hebben met ‘ones(m,n)’

+ Een mxn-matrix met willekeurige getallen met ‘rand(m,n)’Een vierkante matrix wordt gevormd als alleen m als index gebruikt wordt. Bijvoorbeeld een3x3-eenheidsmatrix wordt gevormd met de opdracht:

eye(3)

Ook een matrix A kan als index gebruikt worden. In zo’n geval wordt een matrix gevormd metdezelfde dimensies als matrix A. Bijvoorbeeld:

zeros(〉A)

vormt een nulmatrix met dezelfde dimensies als A.

Opdracht: Voer met behulp van bovenstaande commando’s de volgende matrices in:

a. De 6 bij 6 eenheidsmatrix.

b. De 5 bij 10 nulmatrix.

c. De 5 bij 15 matrix waarin alle elementen de waarde 1 hebben.

d. Een willekeurige 5 bij 5 matrix.

3.7 MATLAB operaties

Binnen MATLAB is het mogelijk om rekenkundige bewerkingen en opdrachten uit te voeren metmatrices als geheel. Hiertoe kent MATLAB een groot aantal commando’s. Een aantal van dezecommando’s zullen in de loop van de cursus Lineaire Algebra nog besproken en gebruikt worden.Voor dit moment zijn de volgende operaties binnen MATLAB van belang:

vermenigvuldigen:Het vermenigvuldigen van twee matrices A en B is gedefinieerd als de dimensie van dematrices overeenstemmen (dus als A een mxn- en B een nxp-matrix is) of als A of Been getal is. Het vermenigvuldigen van een matrix met een getal komt overeen met hetvermenigvuldigen van alle matrixelementen met dat getal.

optellen en aftrekken:

17

Page 18: Lavts Matlab

Het optellen en aftrekken van twee matrices komt overeen met het optellen en aftrekkenvan de afzonderlijke elementen van de twee matrices. Deze bewerkingen zijn gedefini-eerd als de dimensies van de matrices gelijk zijn of als een van de twee matrices eengetal is. In dat laatste geval wordt het getal bij elk element van de matrix opgeteld ofafgetrokken.

machtsverheffen:

De uitdrukking A∧p verheft de matrix A tot de p-de macht. Als p een positief geheelgetal is, dan wordt A∧p berekent door herhaald vermenigvuldigen van A met zichzelf.

transponeren:Pas op voor het geval dat er met matrices en vectoren wordt gewerkt, waar complexe getallenin voorkomen, zie hoofdstuk 15.

A′: de getransponeerde van matrix A.Bijvoorbeeld:

[1 2 3]′

vormt de kolommatrix:

123

Als:

x = [1 2 3]

wordt dezelfde matrix verkregen met de opdracht:

x′

Opdracht: Bepaal van de eerder ingevoerde matrix A de getransponeerde matrix AT

d.m.v. het commando: B = AT.

a. Bereken AAT via: C = A ∗ B. Ga na dat symmetrisch is.

b. Bereken ATA via: D = B ∗ A. Vergelijk het resultaat met C = A ∗ B.

c. Bereken 3A + 5B3 via: E = 3 ∗ A + 5 ∗ B ∧ 3.

18

Page 19: Lavts Matlab

3.8 Indices

Vaak is het gewenst om met onderdelen van matrices of met afzonderlijke elementen te werken.Ook dit is eenvoudig te realiseren in MATLAB. Elk deelelement van een matrix is te bereiken metbehulp van indices. De opdracht hiervoor heeft de algemene vorm A(m,n). Hierbij is A de matrix,waarvan een deelelement met rij-index m en kolomindex n wordt gespecificeerd. Als A een vectoris, is n index voldoende. Bij de oorspronkelijk ingevoerde matrix A levert A(3, 2) de waarde vandit element, namelijk − 2.

Hiermee is het o.a. mogelijk om een afzonderlijk element van de matrix te veranderen. Deopdracht:

A(3, 2) = 3

verandert bij de matrix A de oorspronkelijke waarde − 2 in de nieuwe waarde 3. Alle andereelementen van A blijven hetzelfde.Een speciale betekenis heeft de index ‘:’ . Deze index kan in de volgende vormen voorkomen:

+ A(:,j) is de j-de kolom van A.

+ A(i,:) is de i-de rij van A.

+ A(:,:) is hetzelfde als A.Met name wanneer je met hele rijen of kolommen operaties uit wil voeren is deze mogelijkheidgoed te gebruiken. Zo levert, bij de oorspronkelijk matrix A het commando:

A(2, :)− 7 ∗ A(1, :)

als resultaat de rijvektor op, die ontstaat door zeven maal de eerste rij van de tweede rij af tehalen. Met het commando:

A(2, :) = A(2, :)− 7 ∗ A(1, :)

wordt hetzelfde resultaat berekend maar dit wordt nu toegekend aan de tweede rij van de matrixA. De matrix A is dus door dit commando veranderd.

3.9 Opdrachten met MATLAB

1. Het produkt van twee onderdriehoeksmatrices is weer een onderdriehoeksmatrix. Ga dit naaan de hand van een 4 bij 4 voorbeeld en verklaar hoe dit volgt uit de matrixvermenigvul-diging.

19

Page 20: Lavts Matlab

2. Beschouw de volgende matrices:

A =

1/2 1/2 1/2 1/21/2 1/2 1/2 1/21/2 1/2 1/2 1/21/2 1/2 1/2 1/2

en B =

1 0 0 00 1 0 00 0 − 1 00 0 0 − 1

en C = AB

(Opm.: invoeren van de matrix A in MATLAB is mogelijk d.m.v. het commando: A=0.5 ∗ ones(4))

a. Bereken de machten: A2, A3, A4, A5. Welk antwoord vermoed je voor An met n ∈ N.Probeer dit antwoord aan te tonen.Wat verwacht je als A afmetingen 8 bij 8 heeft?

b. Bereken de machten B2, B3, B4, B5. Welk antwoord vermoed je voor Bn met n ∈ N.Probeer dit antwoord aan te tonen.

c. Bereken de machten C2, C3, C4, C5. Welk antwoord vermoed je voor Cn met n ∈ N.Probeer dit antwoord aan te tonen.

3. Beschouw de matrix

A =

2 1 − 2− 2 2 010 − 1 5

en de matrices

E1 =

1 0 01 1 00 0 1

, E2 =

1 0 00 1 0

− 3 0 1

, E3 =

1 0 00 1 00 2 1

a. Bereken de matrices:

Bi = Ei ∗ A (i = 1, 2, 3)

Geef aan hoe de rijen van de matrices Bi samenhangen met de rijen van de oorspron-kelijke matrix A.

b. Bereken de matrices:

Ci = A ∗ Ei (i = 1, 2, 3)

Geef aan hoe de kolommen van de matrices Ci samenhangen met de kolommen van deoorspronkelijke matrix A.

20

Page 21: Lavts Matlab

4. Beschouw de matrix

A =

2 1 − 2− 2 2 010 − 1 5

en de matrices

E1 =

1 0 00 1 03 0 1

, E2 = ET1 =

1 0 30 1 00 0 1

a. Bereken de matrices:

E1 ∗ A en E2 ∗ A

Geef aan hoe de rijen van deze matrices samenhangen met de rijen van de oorspronke-lijke matrix A.

b. Vergelijk de resultaten van E1 ∗ A en E2 ∗A onderling. Ga met name na welke rijenverschillen ten opzichte van de rijen van de oorspronkelijke matrix A.

5. Beschouw de matrix:

A =

1 2 31 3 48 5 7

en de matrices:

B1 =

1 2 30 1 18 5 7

, B2 =

1 2 30 1 10 − 11 − 17

, B3 =

1 2 30 1 10 0 − 6

a. Bepaal elementaire matrices Ei, zodanig dat:

E1 ∗ A = B1

E2∗ B1 = B2

E3 ∗ B2 = B3

Controleer het antwoord met behulp van MATLAB.

b. Bepaal een matrix C, zodanig dat:

C ∗ A = B3

21

Page 22: Lavts Matlab

6. Het is mogelijk om een matrix door middel van bewerkingen met hele rijen om te werkennaar bovendriehoeksvorm (Gauss-eliminatie). Behalve een inzicht-stap (namelijk bepalenwelk veelvoud van een rij bij een andere rij opgeteld/afgetrokken dient te worden) is daarbijeen rekenstap nodig (namelijk het concreet uitvoeren van deze bewerking). Omdat binnenMATLAB de mogelijkheid bestaat van bewerkingen met complete matrix rijen, zie paragraaf3.8, kan deze rekenstap via MATLAB uitgevoerd worden.Beschouw daartoe het eerste voorbeeld met de volgende matrix:

A =

2 1 1 54 − 6 0 − 2

− 2 7 2 9

Door tweemaal de eerste rij van de tweede rij af te trekken verandert de hele tweede rij vanA, en wel op zo’n manier dat A(2, 1) = 0. In MATLAB lukt dit met het commando (zie1.7.7):

A(2, :) = A(2, :)− 2 ∗ A(1, :)

a. Bepaal m.b.v. MATLAB op deze wijze een bovendriehoeksvorm van de matrix A.

In de hierboven als voorbeeld gegeven reductiestap om A(2, 1) = 0 te maken wordt tweemaalde eerste rij van de tweede rij afgetrokken. Dit aantal van twee is precies de verhouding vande matrixelementen A(2, 1) (het element dat nul moet worden) en A(1, 1) (het elementwaarmee je dat realiseert).In gevallen waarin deze verhouding A(2, 1)/A(1, 1) niet zo eenvoudig uitkomt, kan hethandig zijn MATLAB zelf die verhouding uit te laten rekenen in de reductie-stap. Bij hetgegeven voorbeeld lukt dit door middel van:

A(2, :) = A(2, :)− (A(2, 1)/A(1, 1)) ∗ A(1, :)

b. Verklaar waarom de verhouding A(2, 1)/A(1, 1) hierbij een rol speelt.

c. Bepaal, m.b.v. MATLAB, op deze manier nogmaals een bovendriehoeks vorm vande matrix A.

7. Beschouw de matrices:

A =

− 5 3 4 43 1 − 1 20 0 0 6

en B =

1 0 03 0 02 0 05 2 − 4

We kunnen deze matrices op de volgende manier opdelen (of: partitioneren):

22

Page 23: Lavts Matlab

A = [A1 A2] met A1 =

− 5 3 43 1 − 10 0 0

en A2 =

426

B =

[B1B2

]met B1 =

1 0 03 0 02 0 0

en B2 =(

5 2 − 4).

a. Bereken A1 * B1 + A2 * B2.Vergelijk het resultaat met het resultaat van A ∗ B en verklaar de overeenkomst.(Opm.: als A1, A2, B1 en B2 geen matrices maar getallen waren bereken je het productA ∗ B via de bovenstaande uitdrukking!)

Een andere manier van opdelen (partitioneren) van A is:

A =

[A11 A12A21 A22

]met A11 =

(− 5 3 4

3 1 − 1

)A12 =

(42

)A21 = (0 0 0) A22 = (6)

b. Bereken A11 ∗ B1 + A12 ∗ B2en A21 ∗ B1 + A22 ∗ B2

Vergelijk de resultaten met de rijen van A ∗ B en verklaar de overeenkomst.(Opm.: als A11 t/m B2 geen matrices maar getallen waren bereken je het product A∗Bvia bovenstaande uitdrukkingen!)

Voor de matrix B kan als partitionering genomen worden:

B =

[B11 B12B21 B22

]met B11 =

132

B12 =

0 00 00 0

B21 = (5) B22 = (2 − 4)

c. Bereken:

A11 ∗ B11 + A12 ∗ B21 en A11 ∗ B12 + A12 ∗ B22

en

A21 ∗ B11 + A22 ∗ B21 en A21 ∗ B12 + A22 ∗ B22

23

Page 24: Lavts Matlab

Vergelijk de resultaten met het resultaat van A ∗ B en verklaar de overeenkomst.(Opm.: als A11 t/m B22 geen matrices maar getallen waren bereken je het productA∗B via bovenstaande uitdrukkingen!)

d. Aan welke voorwaarden moeten, in onderdeel c., de matrices A11 t/m B22 voldoenom de daar gegeven producten uit te kunnen rekenen?

3.10 Aanvulling Hoofdstuk 3

3.10.1 Reguliere en singuliere stelsels

Een stelsel lineaire vergelijkingen heet niet-singulier (of regulier) indien het stelsel precies eenoplossing heeft. Een stelsel lineaire vergelijkingen heet singulier indien het stelsel geen of meerdereoplossingen heeft.

3.10.2 Bijzondere matrices

1. Een vierkante matrix.Een matrix is vierkant indien de matrix evenveel rijen als kolommen heeft.

2. De identieke matrix (of eenheidsmatrix).Dit is de (vierkante) matrix die op de diagonaal allemaal 1-en heeft en daarbuiten allemaal0-en.Notatie: I.De 4 bij 4 identieke matrix ziet er dus als volgt uit:

1 0 0 00 1 0 00 0 1 00 0 0 1

3. De nulmatrix.

Dit is een matrix met alleen maar nullen.Notatie: O.Voorbeeld: 0 0 0 0

0 0 0 00 0 0 0

4. Een diagonaal matrix.

Dit is een vierkante matrix die buiten de diagonaal allemaal 0-en heeft.

24

Page 25: Lavts Matlab

Voorbeeld: 2 0 00 0 00 0 1

5. Een bovendriehoeksmatrix.

Dit is een matrix die onder de diagonaal allemaal 0-en heeft.Voorbeeld:

1 3 7 − 3 40 2 − 1 4 50 0 2 3 00 0 0 9 1

6. Een onderdriehoeksmatrix.

Dit is een matrix die boven de diagonaal allemaal 0-en heeft.Voorbeeld:

2 0 0 02 3 0 03 4 0 09 2 1 − 1

7. Een symmetrische matrix.

Een symmetrische matrix is een (vierkante) matrix waarvoor geldt: A = AT.Voorbeeld:

2 4 6 24 0 − 1 06 − 1 3 72 0 7 2

3.10.3 Overzicht matrix-manipulaties

.

1. Vermenigvuldigen. 1 2 − 13 7 24 − 2 1

1 − 12 04 2

=

1 − 325 14 − 2

25

Page 26: Lavts Matlab

2. Optellen. 1 32 41 5

+

2 31 25 7

=

3 63 66 12

3. Scalair vermenigvuldigen.

2

1 32 41 5

=

2 64 82 10

4. Machtsverheffen.

Ak = A · A · A · . . . · A︸ ︷︷ ︸k keer

5. Transponeren. 1 32 41 5

T

=

(1 2 13 4 5

)

26

Page 27: Lavts Matlab

4 Tellen van flops, LU-decompositie

4.1 Flops

Het is mogelijk om met MATLAB het aantal flops te laten berekenen. Onder een flop wordtgrofweg verstaan een eenheid van optelling, vermenigvuldiging, of deling. Hieronder de definitiedie MATLAB gebruikt voor een flop. Op die manier kun je een schatting maken over het aantalberekeningen dat een computer moet uitvoeren om bijvoorbeeld matrices op te tellen of matrices tevermenigvuldigen. Voor de gewone huis tuin en keuken computers worden de flops steeds mindervan belang, gezien de steeds groter wordende werkgeheugens en harde schijven en de steeds snellerwordende processoren. Een iemand, die tot het uiterste wil gaan, die zal goed wel goed moetenweten wat zijn of haar PC aankan.

flopsPurpose:Count of floating point operations.

Description:Flops returns the cumulative number of floating point operations.Flops(0) resets the count to zero.—It is not feasible to count absolutely all floating point operati-ons, but most of the important ones are counted. Additions andsubtractions are one flop if real and two if complex. Multiplicati-ons and divisions count one flop each if the result is real and sixflops if it is not. Elementary functions count one if real and moreif complex.Examples:If A and B are real n-by-n matrices, here is a table of some typical flop counts:

OPERATION FLOP COUNT

A + B n2

A ∗B 2n3

A ∧ 100 99 ∗ 2n3

lu(A) (2/3)n3

Synopsis:flopsflops(0)

27

Page 28: Lavts Matlab

4.2 LU-decompositie

Door middel van het commando:

[L, U] = lu(A)

is het binnen MATLAB mogelijk om de LU-decompositie van een n× n-matrix A te bepalen. Bijhet resultaat is U een bovendriehoeksmatrix , maar is L een onderdriehoeksmatrix waarvan de rijenverwisseld kunnen zijn. MATLAB noemt dit dan ook een psychologische onderdriehoeksmatrix.Bijvoorbeeld bij de matrix

A =

2 1 14 − 6 0

− 2 7 2

is het resultaat van een rechtstreekse berekening van de LU-decompositie:

L =

1 0 02 1 0

− 1 − 1 1

U =

2 1 10 − 8 − 20 0 1

MATLAB geeft echter als resultaat:

[L, U] = lu (A)L = 0.5000 1.0000 0

1.0000 0 0-0.5000 1.0000 1.0000

U = 4 − 6 00 4 10 0 1

MATLAB voert deze verwisselingen uit indien dit noodzakelijk is (een nul op een spil-plaats) ofwenselijk is (zoals in het voorbeeld hierboven). Deze handeling wordt partial pivoting genoemd.Voor de matrices L en U die MATLAB als uitkomst levert geldt altijd dat het product ervan deoorspronkelijke matrix A oplevert: A = L∗U.

4.3 Oplossen stelsel

Het oplossen van

Ax = b

is dus equivalent met het oplossen van

LUx = b

28

Page 29: Lavts Matlab

zelfs als L een “psychologische” onderdriehoeksmatrix is.De feitelijke oplossing van (2) kan, op de gebruikelijke manier, in twee stappen plaats vinden,namelijk:

Stap 1: oplossen van Lc = b (forward-substitution)

Stap 2: oplossen van Ux = c (back-substitution)Wanneer L geen zuivere onderdriehoeksmatrix is, maar een onderdriehoeksmatrix waarvan de rijenverwisseld zijn, is het bij stap 1 aan te bevelen (althans in gedachten) de vergelijkingen, inclusiefde rechterleden b, eerst zo te verwisselen dat een onderdriehoeksvorm ontstaat en pas dan deforward substitution uit te voeren.

4.4 Permutatiematrices

Wanneer de matrix L geen zuivere onderdriehoeksvorm heeft is het, door een geschikte verwisselingvan rijen, mogelijk deze matrix op onderdriehoeksvorm te brengen. Zo’n verwisseling van rijenbetekent, in termen van matrixvermenigvuldiging, een (voor-) vermenigvuldiging met een geschiktepermutatiematrix P, dus:

P ∗ L heeft zuivere onderdriehoeksvorm .

Omdat voor de oorspronkelijke matrices geldt:

A = L ∗ U

betekent dit dat:

P · A = (P · L) · U

De matrix P·A is dus het product van een zuivere onder- en bovendriehoeksmatrix. P·A onstaatuit de oorspronkelijke matrix A door precies dezelfde rijverwisselingen uit te voeren als nodigwaren om L op zuivere onderdriehoeksvorm te brengen.Bij het voorbeeld 4.2 is de permutatie-matrix

P =

0 1 01 0 00 0 1

en is de matrix

P · A =

4 − 6 02 1 1

− 2 7 2

(dus verwisseling van rij 1 en rij 2!)MATLAB levert nu als resultaat van de LU-decompositie:

29

Page 30: Lavts Matlab

[L, U] = lu (P ∗ A)L = 1 0 0

0.5000 1.0000 0-0.5000 1.0000 1.0000

U = 4 − 6 00 4 10 0 1

4.5 Het commando A\bBinnen MATLAB is het ook mogelijk om rechtstreeks de oplossing van een stelsel vergelijkingen tebepalen. In dat geval wordt weliswaar de LU-decompositie gebruikt, maar de resultaten daarvanverschijnen niet op het scherm. Ook de forward- en de back-substitution wordt uitgevoerd zondertussen resultaten te vermelden. Alleen het uiteindelijke antwoord verschijnt.Het commando om Ax = b rechtstreeks op de lossen luidt:

x = A \ b

Verderop in de cursus zullen we nog zien dat dit commando in meer gevallen bruikbaar is enbijvoorbeeld ook een antwoord geeft wanneer een stelsel vergelijkingen geen (exacte) oplossingheeft. Het is om die reden belangrijk een antwoord dat je op deze manier bepaald hebt expliciette controleren door A∗x uit te rekenen en te vergelijken met de gewenste uitkomst b.

4.6 Opdrachten met MATLAB

1. Beschouw twee willekeurige 5 bij 5 matrices

A = rand(5) en B = rand(5)

a. Zet de MATLAB-flop-teller op nul.Bepaal A + B.Hoeveel flops kost dit? Vergelijk dit met het aantal MATLAB-flops.

b. Zet de MATLAB-flop-teller op nul.Bepaal A∗B.Bepaal het aantal MATLAB-flops.

2. Beschouw twee willekeurige 5 bij 5 matrices

A = rand(5) , B = rand(5)

en een willekeurige 5 bij 1 matrix

x = rand(5, 1) .

30

Page 31: Lavts Matlab

Bepaal met MATLAB het product ABx op de volgende drie manieren, bepaal voor elk gevalhet aantal MATLAB-flops.

a. (A∗B)∗x

b. A∗(B∗x)

c. A∗B∗x

3. In elk van de volgende onderdelen zijn van een stelsel vergelijkingen, Ax = b, de coefficientenmatrixA en de vector van rechterleden, b, gegeven. Bepaal m.b.v. MATLAB de LU-decompositievan deze coefficientenmatrices en los met de hand m.b.v. deze resultaten, het stelsel verge-lijkingen op. Bepaal ook rechtstreeks m.b.v. MATLAB de oplossing via A\b en controleerde gevonden antwoorden.

a. A =

− 2 − 10 61 1 81 5 − 2

en b =

− 4204

b. A =

1 2 34 7 24 8 3

en b =

194249

c. A =

2 2.5 − 12 3.5 14 − 1 2

en b =

7.5− 1.5

5

d. A =

1 4 32 7 40 1 2

en b =

013

4. Beschouw de matrix A:

A =

1 2 34 7 24 8 3

en de matrices:

X1 =

30

− 1

X2 =

1 20 − 1

− 2 0

X3 =

3 1 20 0 − 1

− 1 − 2 0

Opm.:p Opm.: de kolommen van X3 stemmen overeen met de kolommen van X1 en X2.

Dit wordt wel genoteerd als:

X3 = [X1 X2]

In MATLAB is op die manier X3 te maken!

31

Page 32: Lavts Matlab

a. Bepaal de productmatrices A · X1 en A · X2 alsmede A · X3.

b. Verklaar dat de kolommen van A · X3 overeenstemmen met de kolommen van A ·X1 en A · X2.

Meer algemeen geldt de volgende rekenregel:

A · [X1 X2] = [A · X1 A · X2]

De voorvermenigvuldiging met de matrix A kan dus per gedeelte uitgevoerd worden!Twee toepassingen hiervan zullen in de opgaven 5 en 7 aan bod komen.

5. (Zie ook opgave 3.) Beschouw de matrices:

X1 =

2 − 4 11 0 03 1 0

X2 = [X1 I3] =

2 − 4 1 1 0 01 0 0 0 1 03 1 0 0 0 1

en

P =

0 1 00 0 11 0 0

a. Bereken P · X1 en P · X2 en vergelijk de resultaten.Merk op dat P een permutatie-matrix is.

b. Door een andere rijverwisseling gaat de matrix X2 over in: 3 1 0 0 0 12 − 4 1 1 0 01 0 0 0 1 0

Bepaal, zonder MATLAB te gebruiken, een permutatiematrix P, zo dat P · X2 dezematrix oplevert. Controleer het antwoord!

c. Bepaal een permutatiematrix P, zo dat P ·X1 een zuivere onderdriehoeksvorm heeft.

6. Bepaal, m.b.v. MATLAB, voor elk van de volgende matrices A een permutatiematrix P, een(zuivere) onderdriehoeksmatrix L en een bovendriehoeksmatrix U, zo dat:

P · A = L · U

a. A =

(0.5 51 3

)

b. A =

1 3 53 12 185 18 30

32

Page 33: Lavts Matlab

Merk op dat de matrix P ∗ A niet langer symmetrisch is.

c. A =

1 4 8 30 3 7 − 39 0 1 − 4

− 3 4 − 2 4

7. (Zie ook opgave 3.) Beschouw vier stelsels vergelijkingen:

Ax = bi ; (i = 1, 2, 3, 4)

met dezelfde coefficientenmatrix

A =

1 2 34 7 24 8 3

maar met verschillende rechterleden:

b1 =

194249

b2 =

211721

b3 =

51011

b4 =

− 18− 44− 54

a. Neem als respectievelijke oplossingen van deze vergelijkingen x1 t/m x4 en neem alsmatrix X = [x1 , x2 , x3 , x4].(De kolommen van X bestaan dus uit de respectievelijke oplossingen.)Wat is het resultaat van de vermenigvuldiging A ∗ X?

b. De MATLAB opdracht X = A\B bepaalt een matrix X, zo dat A ∗ X = B. Bepaalmet behulp hiervan simultaan (dus via een opdracht) de oplossing van de vier stelselsvergelijkingen.

8. Bepaal voor de hieronder aangegeven waarden van n achtereenvolgens:

— – Een willekeurige n bij n matrix A.

– Een willekeurige n bij 1 matrix b.

—— – Zet de MATLAB-flop-teller op nul.

— – Los op Ax = b.

— – Bepaal het aantal MATLAB-flops.

— – Vul onderstaande tabel in en vergelijk.

33

Page 34: Lavts Matlab

n n3/3 12∗ aantal MATLAB-flops

3 95 42

10 33330 900050 4166770 11433090 243000

Opmerking 2: Opmerking 1: MATLAB plaatst normaal elk resultaat op het scherm. Ditkan voorkomen worden door een ‘;’ achter een opdracht te plaatsen. Indien je nabijvoorbeeld de opdracht rand(90) geen ; zet verschijnen er 8100 getallen op het scherm.Mocht je de ‘;’ zijn vergeten, bedenk dan dat je de uitvoer altijd kunt afbreken metCONTROL-C (met vasthouden Ctrl-toets op C drukken).

Opmerking 2: Wanneer voor verschillende random matrices met dezelfde afmetingen debovenstaande bewerkingen uitgevoerd worden kan onderling het precieze aantal flopsverschillen. Een mogelijke reden hiervoor is dat tijdens de berekening sommige ele-menten al voor hun beurt nul gemaakt worden, waardoor naderhand enkele operatiesoverbodig zijn. Omdat het bij het beoordelen van de resultaten om de orde van groottegaat speelt dit echter geen belangrijke rol!

Opmerking 2:9. Beschouw de matrix:

A =

[A11 ∅∅ A22

]met A11 en A22 willekeurige 40 bij 40 matrices en ∅ een 40 bij 40 nul-matrix. (In MATLAB:A11 = rand (40); A22 = rand (40); en A = [A11 zeros(40); zeros(40) A22])Het berekenen van A∗A kan op twee manieren, namelijk rechtstreeks en gebruikmakend vande partitionering van A in A11 en A22 en de nul-matrices. (Zie paragraaf 3.9, opgave 7.)Daarbij is berekening van het product van een nulmatrix met een andere matrix niet nodig!Bepaal voor beide manieren, m.b.v. MATLAB, het aantal benodigde flops en vergelijk deresultaten.

4.7 Aanvulling Hoofdstuk 4

4.7.1 Overzicht flops

In de volgende tabel staat een overzicht van de kosten aan flops voor verschillende methoden.

34

Page 35: Lavts Matlab

Gauss Gauss-Jordan LU-decompositie

vegen in A 13n3 + o(n3) 1

2n3 + o(n3) 1

3n3 + o(n3)

bepalen van x bij gegeven b n2 n2 n2 + o(n2)

4.7.2 Simultaan oplossen

Voorbeeld van het simultaan oplossen van de volgende stelsels.x1+ 2x2− x3 = 1

3x1+ 7x2+ 2x3 = 254x1− 2x2+ x3 = 4

1 2 − 1 1 − 33 7 2 25 14 − 2 1 4 − 2

en

1 2 − 1 1 − 30 1 5 22 100 − 10 5 0 10

y1+ 2y2− y3 = − 3

3y1+ 7y2+ 2y3 = 14y1− 2y2+ y3 = − 2

1 2 − 1 1 − 30 1 5 22 100 0 55 220 110

Dus x3 = 4, x2 = 2, x1 = 1en y3 = 2, y2 = 0, y1 = − 1

Kosten: 13n3 + o(n3) voor het vegen in A

2n2 voor het vinden van de beide oplossingen x en y.

Opmerking: Bij simultaan vegen bepaal je dus wel de bovendriehoeksmatrix U maar niet deonderdriehoeksmatrix L. Indien we later een stelsel willen oplossen met dezelfde coefficientenmatrixis het echter wel verstandig de veegoperaties vast te leggen in L.

35

Page 36: Lavts Matlab

5 Inverse van een matrix en enkele numerieke aspecten

5.1 Bepaling inverse

Berekening van de inverse van een reguliere n× n matrix A is mogelijk door simultaan de stelselsvergelijkingen:

A · X = A · [x1 x2 ... xn] = [e1e2 ... en] = I

op te lossen, waarbij ek de ke kolom van de eenheidsmatrix I voorstelt. Binnen MATLAB kan ditmet behulp van het commando:

A\ eye(n)

waarbij eye(n) de n × n eenheidsmatrix is (b.v. eye(3) is de 3 × 3 eenheidsmatrix). Daarnaastbeschikt MATLAB over een commando om rechtstreeks de inverse van een matrix A te berekenen,namelijk:

inv( A)

Als er geen inverse bestaat (A singulier) of als het numerieke resultaat niet betrouwbaar is (b.v.A slecht geconditioneerd) zal MATLAB dit melden.

5.2 Het commando chol

Met de MATLAB opdracht chol(A) wordt voor een positief-definiete matrix A een bovendrie-hoeksmatrix U bepaald zo dat A = UTU. Dit is de Cholesky-decompositie van A.MATLAB controleert van te voren expliciet of de matrix A positief definiet is en geeft zo nodigeen foutmelding. MATLAB controleert echter NIET(!) of de ingevoerde matrix symmetrisch is,maar gaat er van uit dat de elementen boven de diagonaal ook onder de diagonaal voorkomen.MATLAB kan dus (ten onrechte!) een resultaat geven wanneer A niet symmetrisch is. Het zogegeven antwoord heeft verder geen betekenis!

5.3 Het commando A\bIndien een matrix zeer slecht geconditioneerd is, geeft MATLAB, na de opdracht x = A\b, devolgende waarschuwing.

Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = .... .

We gaan op de precieze betekenis van deze waarschuwing hier niet in. De waarde van x die ophet scherm verschijnt, moeten we niet vertrouwen. Ook niet als A ∗x ongeveer b oplevert. A kanimmers zeer slecht geconditioneerd zijn.

36

Page 37: Lavts Matlab

5.4 Opdrachten met MATLAB

1. Bepaal van elk van de volgende matrices, op de twee manieren zoals omschreven in paragraaf5.1, de inverse en controleer het antwoord.

a. A=

2 − 1 0− 1 2 − 1

0 − 1 2

Merk op: Indien een reguliere matrix symmetrisch is, is zijn inverse ook symmetrisch.

b. de 3 bij 3 Hilbert-matrix

A=

1 12

13

12

13

14

13

14

15

c. A=

2 1 4 60 3 8 50 0 0 70 0 0 9

2. In elk van de volgende onderdelen wordt een matrix gegeven van een speciale vorm. Bepaal

van elk van deze matrices de inverse, ga na of de inverse matrix dezelfde speciale vorm heeften vergelijk het aantal nul-elementen in de oorspronkelijke en inverse matrix.

Opm: Om type-werk te besparen gebruiken we voor de matrices speciale MATLABcommando’s. Omdat het echter om de matrices en niet om de commando’s gaat lichtenwe deze commando’s verder niet toe!

Voer, voor je met deze opgave begint, de matrix A = rand(7) in!

a. A1 = triu (A)(bovendriehoeksmatrix)

b. A2 = triu (A) - triu (A,2)(speciale bovendriehoeksmatrix)

c. A3 = triu (A,-1) - triu (A,2)(tridiagonale matrix)

d. A4 = triu (A,-3) - triu (A,4)(bandmatrix)

3. In deze opgave bepalen we de inverse van (reguliere) n × n matrices A van de volgendespeciale vorm

A =

(A11 00 A22

)met : A11 : p× p matrix

A22 : q × q matrix en p + q = noverige elementen : 0 .

37

Page 38: Lavts Matlab

a. Neem, als voorbeeld, bij n = 7:

A11 = rand(4)A22 = rand(3)A = [ A11 zeros(4, 3); zeros(3, 4) A22]

Bepaal hiervan de inverse. Wat valt op aan de vorm van deze matrix?Beschouw verder de volgende matrix:

B =

(B11 B12B21 B22

)met :

B11 : p× p matrixB12 : p× q matrixB21 : q × p matrixB22 : q × q matrix .

b. Druk het product A · B uit in A11 t/m B22.(Hint: opdracht 7 uit paragraaf 3.9)Als B de inverse is van A geldt voor dit product A · B = I.

c. Wat geldt dan voor de produkten A11 B11, A22 B22, A11 B12 en A22 B21?

d. Onder welke voorwaarden voor A11 en A22 is A inverteerbaar?

e. Druk, voor dat geval, B11 en B22 uit in A11 en A22.

f. Wat geldt, in dat geval, voor B12 en B21?

g. Wat is (dus) de algemene vorm voor A−1?Controleer dit voor het voorbeeld uit a.

4. In deze opgave bepalen we de inverse van (reguliere) n × n matrices A van de volgendespeciale vorm:

A =

(A11 A120 A22

)met :

A11 : p× p matrixA12 : p× q matrixA22 : q × q matrix en p + q = noverige elementen : 0 .

a. Neem, als voorbeeld, bij n = 7:

A11 = rand(4)A12 = rand(4, 3)A22 = rand(3)A = [ A11 A12; zeros(3, 4) A22]

Bepaal hiervan de inverse. Wat valt op aan de vorm van deze matrix?Beschouw verder de volgende matrix:

B =

(B11 B12B21 B22

)met :

B11 : p× p matrixB12 : p× q matrixB21 : q × p matrixB22 : q × q matrix

38

Page 39: Lavts Matlab

b. Druk het product A · B uit in A11 t/m B22.(Hint: opdracht 7 uit paragraaf 3.9)

Als B de inverse is van A geldt dit voor produkt AB = I.

c. Wat geldt dan voor de produkten A22 B22 en A22 B21?

d. Aan welke voorwaarde moet A22 voldoen wil A inverteerbaar zijn?

e. Druk, voor dat geval, B22 uit in A22.

f. Wat geldt dan voor B21?

g. Wat geldt dan voor het produkt A11 B11?

h. Aan welke voorwaarde moet A11 voldoen wil A inverteerbaar zijn?

i. Druk, voor dat geval, B11 uit in A11.

j. Welk verband geldt er voor A12? Los hieruit B12 op.

k. Wat is (dus) de algemene vorm van A−1?Controleer dit voor het voorbeeld uit a.

5.

a. Voer een willekeurige 90 bij 90 matrix A in.Voer een willekeurige 90 bij 1 matrix b in.Zet de MATLAB-flop-teller op nul.Los op Ax = b met behulp van de inverse van A.Bepaal het aantal MATLAB-flops.

b. Vergelijk dit met het aantal flops nodig voor het oplossen van dit stelsel via deMATLAB opdracht: x = A\b. (Zie paragraaf 4.6, opgave 8.)

Conclusie: Ax = b oplossen met behulp van de inverse van A kost ongeveer ... keerzoveel flops als met behulp van de LU-decompositie.

6. Bepaal, voor zover mogelijk, van ieder van de volgende matrices de Cholesky decompositiemet MATLAB en controleer het antwoord met MATLAB!

a.

1 3 53 12 185 18 30

b.

8 −2 −1 −3−2 5 1 −1−1 1 7 4−3 −1 4 10

(zie paragraaf 4.6, opgave 6.)

c.

8 −3 5 −8

−3 6 −5 −85 −5 12 0

−8 −8 0 10

d.

1353121810830

39

Page 40: Lavts Matlab

7. Er geldt, dat een symmetrische matrix met positieve spillen, verkregen door vegen zonderrijverwisselingen, positief-definiet is.

i) Beschouw de volgende positief–definiete matrix

A1 =

1 3 53 12 185 18 30

a. Bepaal de Cholesky decompositie van A1 met MATLAB via het commandochol(A).

b. Bepaal ook de LU–decompositie van A1 met MATLAB via het commandolu( A1).

c. Is het resultaat van deze LU-decompositie (let op het teken van de spillen) integenspraak met hetgeen dat aan het begin van deze opgave staat?

ii) Beschouw de volgende matrix

A2 =

1 2 42 4 64 6 8

a. Bepaal de LU–decompositie van A2 met MATLAB via het commando lu( A2).

b. Kunnen we nu op grond van hetgeen, dat aan het begin van deze opgave staat,concluderen dat A2 positief–definiet is?

c. Ga na dat A2 niet positief–definiet is.

8. Beschouw twee stelsels vergelijkingen, nl.10x1 + 7x2+ 8x3+ 7x4 = 327x1 + 5x2+ 6x3+ 5x4 = 238x1 + 6x2+ 10x3+ 9x4 = 337x1 + 5x2+ 9x3+ 10x4 = 31

en 2x1+ x2+ 5x3+ x4 = 9x1+ x2− 3x3− 4x4 = − 5

3x1+ 6x2− 2x3+ x4 = 82x1+ 2x2+ 2x3− 3x4 = 3

a. Bepaal van beide stelsels de oplossingen.

Door bij deze stelsels de rechterleden iets te veranderen en te kijken naar het effect daarvanop de oplossing is het mogelijk om een indruk te krijgen hoe de matrices geconditioneerdzijn.

40

Page 41: Lavts Matlab

b. Los het eerste stelsel ook op met rechterleden (32.1, 22.9, 32.9, 31.1) en(32.01, 22.99, 32.99, 31.01). Los het tweede stelsel ook op met rechterleden (9.1,−5.1, 7.9, 3.1)en (9.01,−5.01, 7.99, 3.01). Ga na wat het effect van deze veranderingen op de oplossingis.

Door de coefficienten van de vergelijkingen iets te veranderen en te kijken naar het effectdaarvan op de oplossing is het ook mogelijk om een indruk te krijgen hoe de matricesgeconditioneerd zijn.

c. Verander de elementen van de oorspronkelijke coefficienten–matrices door er dematrix

0.1 ∗ rand(4)

bij op te tellen (in dat geval wordt bij elk element een willekeurig getal tussen 0 en 0.1opgeteld). Bepaal nu de oplossingen van deze aangepaste stelsels bij de oorspronkelijkerechterleden, respectievelijk (32, 23, 33, 31) en (9,−5, 8, 3). En ga na wat het effect vandeze veranderingen op de oplossing is.

d. Welk van beide stelsels vergelijkingen heeft de best geconditioneerde coefficientenmatrix?

9. Met de MATLAB opdracht A = hilb(n) wordt A de n bij n Hilbert matrix, gedefinieerddoor aij = 1/(i + j − 1).

a. Bepaal de 5 bij 5 Hilbert matrix.

b. Los op Ax1 = b1 = (2.2833, 1.4500, 1.0929, 0.8845, 0.7456)T.

c. Los op Ax2 = b2 = (2.2834, 1.4501, 1.0928, 0.8844, 0.7457)T.

d. Vergelijk b1 met b2 en x1 met x2.

Merk op: Dit is een geval waarbij partial pivoting niet helpt. A is namelijk slecht gecondi-tioneerd.

5.5 Aanvulling Hoofdstuk 5

5.5.1 Definities en stellingen

Definities:

– Een stelsel lineaire vergelijkingen Ax = b heet niet-singulier (of regulier) indien het stelselprecies een oplossing heeft.

– Een stelsel lineaire vergelijkingen Ax = b heet singulier indien het stelsel geen of meerdereoplossingen heeft.

41

Page 42: Lavts Matlab

– Een matrix A heet niet-singulier (of regulier of inverteerbaar) indien er een matrix Bbestaat zo dat AB = BA = I.

– Een matrix A heet singulier indien A niet inverteerbaar is.Stellingen:

– Indien een matrix A regulier is, is A vierkant.

– Dus indien A niet vierkant is, is A singulier.

– Indien A vierkant is geldt:

– Een stelsel Ax = b is regulier dan en slechts dan als de matrix A regulier is.

– Indien A niet-vierkant, en dus A singulier is, kan het stelsel Ax = b regulier of singulierzijn.

Voorbeeld:

De matrix A=

1 00 10 0

is niet vierkant en dus singulier.

Vergelijk nu de stelsels

(1) Ax =

110

en

(2) Ax =

111

.

Het eerste stelsel is regulier; het tweede stelsel is singulier.

5.5.2 Positief-definiete matrices

Definitie: Een symmetrische matrix A waarvoor geldt

xTAx > 0 voor alle x 6= 0

noemen we positief-definiet.

Stelling 1: Een positief-definiete matrix is regulier.

Gevolg: Indien we A vegen tot bovendriehoeksmatrix U is U dus regulier. De spillen zijndus ongelijk aan nul.

42

Page 43: Lavts Matlab

Maar we kunnen nog meer zeggen over het Gauss-veegproces. Bij het vegen in een positief-definietematrix zijn rijverwisselingen niet nodig. Het technische bewijs hiervan laten we achterwege. Hetgevolg is, dat A op precies een manier als volgt te splitsen is:

A = LDU

met L een onderdriehoeksmatrix met enen op de diagonaal;D een diagonaalmatrix, met op de diagonaal de spillen;U een bovendriehoeksmatrix met enen op de diagonaal.

Daar A = AT geldt L = UT.

Ook uit numerieke overwegingen zijn rijverwisselingen niet nodig. Bij positief-definiete matri-ces past men dan ook geen partial pivoting toe.

Stelling 2: De spillen van een positief-definiete matrix zijn positief.

We zijn nu in staat om de volgende conclusie te trekken.

Stelling 3: Elke positief-definiete matrix A is als volgt te schrijven.

A = BTB met B een bovendriehoeksmatrix.

We noemen deze decompositie de Cholesky-decompositie. Via een bepaald algoritme (het Cholesky-algoritme) kan men deze bepalen in 1

6n3 + o(n3) flops, dus twee keer zo snel als normaal.

Het omgekeerde geldt ook:

Stelling 4: Een symmetrische matrix met positieve spillen, verkregen door vegen zonderrijverwisselingen, is positief-definiet.

5.5.3 Voorbeelden positief-definiete matrices.

1. A=

(2 11 2

)=

(1 012

1

) (2 10 11

2

)A is symmetrisch en de spillen (zonder rijverwisselingen) zijn positief, dus A is positief-definiet.

2. Laat A een willekeurig (niet noodzakelijk symmetrische) reguliere matrix zijn. Dan geldtvoor de matrix ATA:

(i) (ATA)T = ATATT= ATA dus ATA is symmetrisch.

(ii) Indien x 6= 0 geldt, omdat A regulier is, Ax 6= 0, zeg Ax = y = (y1, y2, ..., yn)T.Dan is er dus minstens een i met yi 6= 0.

43

Page 44: Lavts Matlab

xTATAx = (Ax)TAx = y21 + y2

2 + ... + y2n > 0.

Dus ATA is positief-definiet.

In het vervolg van deze cursus komen deze positief-definiete matrices meerdere keren aan bod.

44

Page 45: Lavts Matlab

6 Iteratieve methoden en de algemene oplossing van stel-

stels

lineaire vergelijkingen

6.1 De commando’s diag en tril

Bij het oplossen van het stelsel vergelijkingen

Ax = b

met behulp van de iteratieve methode van Jacobi of van Gauss-Seidel speelt een vergelijking vande vorm:

Sx = Tx + b

een rol.Bij de Jacobi methode is S een diagonaalmatrix met als elementen de elementen op de diagonaalvan A.Binnen MATLAB volstaat hiervoor het commando:

S = diag (diag (A)) .

Bij de Gauss-Seidel methode is S een onderdriehoeksmatrix met als elementen de elementen vanA op en onder de diagonaal. Binnen MATLAB volstaat hiervoor het commando:

S = tril(A) .

In beide gevallen is dan T te bepalen als: T = S− A, uiteraard met de van toepassing zijnde S!

6.2 Bepaling benaderingen

Het bepalen van een nieuwe benadering x uit een eerdere benadering x vindt plaats door hetoplossen van x uit de vergelijking:

Sx = Tx + b .

Door herhaald oplossen van deze vergelijkingen, met de gevonden x in een volgende stap in de(nieuwe) rol van x, ontstaan achtereenvolgende benaderingen. Op deze manier zal een aantal kereneen stelsel vergelijkingen met dezelfde coefficientenmatrix S opgelost moeten worden.

Binnen MATLAB is het niet nodig om telkens opnieuw, bij elke iteratie, hetzelfde commando:

x = S\(T ∗ x + b)

in te typen. M.b.v. de cursor-toets ↑ kun je nl. het laatst ingevoerde commando symbool voorsymbool, terug op het scherm krijgen.

45

Page 46: Lavts Matlab

6.3 Het commando A\bIndien een matrix A zeer slecht geconditioneerd is, verschijnt na de MATLAB-opdracht x = A\b,de volgende waarschuwing (zie paragraaf 5.3).

Warning: Matrix is close to be singular or badly scaled.Results may be inaccurate. RCOND.... .

Deze waarschuwing kan ook op het scherm komen indien matrix A (exact) singulier is. Doorafrondfouten detecteert MATLAB dan niet dat A singulier is. Wanneer MATLAB dit wel op-merkt volgt de melding:

Warning: Matrix is singular to working precision.

Indien deze meldingen niet worden gedaan, wil het nog niet zeggen dat A ∗ x = b. In bepaal-de gevallen levert MATLAB (zonder waarschuwingen) een x af terwijl er geen oplossing is. Debetekenis van deze x komt in een volgend hoofdstuk aan bod.

Verschijnt er een van bovenstaande waarschuwingen, dan is de matrix singulier of zeer slechtgeconditioneerd. De waarde van x is onbetrouwbaar. Verschijnt er geen waarschuwingcontroleer dan of geldt A ∗ x = b.

Geldt niet A ∗ x = b, dan is het stelsel overbepaald. Geldt wel A ∗ x = b dan is het stelsel regulierof onderbepaald. MATLAB levert namelijk hoogstens een oplossing. Voor de algemene oplossingmoet dan apart de nulruimte bepaald worden.

6.4 Het commando rref

Voor het bepalen van de nulruimte, de kolommenruimte en de rang van een matrix blijkt detrapvorm van de matrix van pas te komen. Deze trapvorm ontstaat door in de matrix te vegen(Gauss-eliminatie). Bij vierkante matrices kunnen we daarvoor binnen MATLAB het commando[L, U]=lu(A) gebruiken. Hoewel bij niet-vierkante matrices in principe deze trapvorm ook tebepalen is lukt dat binnen MATLAB niet met dit commando. Wel kunnen we, binnen MATLAB,de rij-gereduceerde trapvorm (Eng.: row–reduced echelon form) bepalen. Deze trapvorm ontstaatdoor niet alleen naar beneden te vegen (Gauss), maar ook naar boven, terwijl de spillen gelijk aan 1worden gemaakt (Gauss-Jordan). Op deze manier wordt door middel van rijvegen zo veel mogelijknullen geproduceerd, waardoor dezelfde informatie eenvoudiger is af te lezen. Het commando omdit door MATLAB te laten uitvoeren is:

rref(A)

46

Page 47: Lavts Matlab

6.5 De algemene oplossing van A x= b

Indien we van een stelsel Ax = b de algemene oplossing willen bepalen kunnen we natuurlijkeerst een particuliere oplossing proberen te vinden (zie bijvoorbeeld paragraaf 6.3) en daarna denulruimte (zie bijvoorbeeld paragraaf 6.4). We kunnen dit echter ook op de volgende manieroplossen. Het commando B = [A, b], voegt aan de coefficientenmatrix A het rechterlid b toe. Zoontstaat de uitgebreide matrix B. Om de algemene oplossingen van Ax = b te bepalen kunnen wegaan vegen in deze uitgebreide matrix B. Dit kan binnen MATLAB met het commande rref (B).Uit de rijgereduceerde trapvorm is de algemene oplossing dan vrij eenvoudig af te leiden.

Opmerking: Indien matrix A zeer slecht geconditioneerd is, zal MATLAB dit niet melden.Het rref–commando is dus geen oplossing voor de problemen genoemd in paragraaf 5.3.

6.6 Opdrachten met MATLAB

1. In elk van de volgende gevallen zijn van een stelsel vergelijkingen Ax = b de coefficientenmatrix,A, en de kolom van rechterlid, b, gegeven.Kies zelf een geschikte startvector x en bereken een aantal iteratie-stappen volgens de me-thode van Jacobi en de methode van Gauss-Seidel.Lijken de zo gevonden waarden te convergeren?Bepaal ook rechtstreeks de oplossing van het betreffende stelsel en vergelijk deze met degevonden benaderingen.

a. A =

(3 22 4

)b =

(51

2

9

)b. A =

13 − 2 11 7 − 12 − 1 9

b =

104

− 25

(zie E4.1)

c. A =

2 1 01 5 13 0 6

b =

4129

d. A =

2 7 05 1 21 1 4

b =

161315

2. Beschouw het stelsel vergelijkingen:[

x1+ 2x2 = 52x1+ x2 = 4 .

a. Probeer m.b.v. de methode van Jacobi, iteratief een oplossing voor dit stelsel tebenaderen. Lijkt dit proces te convergeren?

b. Verwissel de volgorde van beide vergelijkingen en probeer opnieuw, m.b.v. de me-thode van Jacobi, iteratief een oplossing te benaderen. Lijkt dit proces te convergeren?

47

Page 48: Lavts Matlab

c. Bepaal ook analytisch de oplossing van het stelsel vergelijkingen en vergelijk ditresultaat met de eerder gevonden resultaten.

Opmerking: Merk op dat de coefficientenmatrix in onderdeel b. positief-definiet is, inzo’n geval convergeert de rij benaderingen onafhankelijk van de gekozen startvector.

3. Bepaal voor elk van de volgende stelsels vergelijkingen m.b.v. de iteratie-methode van Jaco-bi, een benadering voor de oplossing. Ga, zo nodig, na wat het effect is van een verwisselingvan de volgorde van de vergelijkingen.

a.

3x1+ 2x2 + 9x3 = 5

17x1+ 2x2 + x3 = 12x1+ 12x2 + 3x3 = 2

b.

x1+ x2 +4x3 = 15

5x1+ x2 +2x3 = 132x1+ 7x2 = 16

(zie 4.8.1.d)

4. Een veelvoorkomende opvatting is dat bij het iteratief oplossen van een stelsel vergelijkingende methode van Jacobi en de methode van Gauss-Seidel allebei of wel of niet naar eenoplossing van het stelsel convergeren.

a. Ga dit na voor de opgeloste stelsels van opgave 1.

b. Ga dit na voor het stelsel vergelijkingen2x1− x2+ x3 = 32x1+ 2x2+ 2x3 = − 4−x1− x2+ 2x3 = − 1

c. Ga dit na voor het stelsel vergelijkingenx1− 2x2+ 2x3 = − 11

−x1+ x2− x3 = 6− 2x1− 2x2+ x3 = − 5

d. Welke conclusie kun je daaruit trekken?

5. Deze opdracht dient ter illustratie van de opmerkingen gemaakt in paragraaf 5.3Beschouw de volgende vier stelsels lineaire vergelijkingen.(

1 14 4

)x =

(3

12

) (1 13 3

)x =

(26

)(

1 13 3

)x =

(23

) 1 00 10 0

x =

111

a. Ga na dat in alle gevallen de coefficientenmatrix singulier is, de bovenste twee stelselsonderbepaald zijn en de onderste twee stelsel overbepaald.

b. Voer voor de vier stelsels de opdracht x = A\b uit en vergelijk het resultaat metonderdeel a. en paragraaf 6.3.

48

Page 49: Lavts Matlab

6. Beschouw de volgende matrix A en kolomvector b

A =

1 2 31 4 91 3 6

b =

534

a. Veeg met de hand in het stelsel Ax = b volgens de methode van Gauss en bepaal zode nulruimte van A, dus N(A) en de algemene oplossing van de stelsel.

b. Veeg nu met de hand in het stelsel Ax = b volgens de methode van Gauss-Jordanen bepaal zo de nulruimte van A en de algemene oplossing.

c. Voer achtereenvolgens de volgende MATLAB-opdrachten uit en vergelijk het resul-taat met de onderdelen a. en b.

[L, U] = lu(A)rref (A)B = [A, b]rref (B)x = A\b

7. In elk van de volgende gevallen zijn een matrix A en een kolomvector b gegeven.Bepaal B = [A, b] en rref(B) en beantwoord hiermee de volgende vragen en vul de tabel in.—

– Wat is de nulruimte van A?

– Wat is de rang van A?

– Is het stelsel Ax = b regulier, onderbepaald of overbepaald?

– Wat is de algemene oplossing van het stelsel Ax = b? Vergelijk dit met het resultaatvan het commando x = A\b.

a. A =

(2 1 − 22 − 2 1

)b =

(23

)b. A =

(1 1

10 1

)b =

(2

11

)

c. A =

1 2 71 4 22 0 13 0 3

− 2 8 7

b =

120

− 25

d. A =

1 7 4 1 22 6 4 2 43 3 3 5 8

− 2 0 − 1 7 50 4 2 − 1 − 1

b =

242835236

49

Page 50: Lavts Matlab

regulierN(A) r(A) onderbepaald algemene oplossing Ax = b x = A\b

overbepaald

a.

b.

c.

d.

6.7 Aanvulling Hoofdstuk 6

6.7.1 Iteratieve methoden voor A x = b

We bespreken hier twee iteratieve methoden voor het oplossen van stelsels van n lineaire verge-lijkingen met n onbekenden namelijk de methode van Jacobi en de methode van Gauss-Seidel.Beide methoden genereren uit een benadering voor de oplossing van het stelsel een, naar we ho-pen, betere benadering voor de oplossing. Door dit te herhalen (itereren) hopen we uiteindelijkeen goede benadering voor de oplossing te vinden. Behalve op de methoden zelf gaan we kort inop de convergentie en geven we aan in welke gevallen het gebruik ervan aan te bevelen is.

6.7.2 De methode van Jacobi

Beschouw het volgende stelsel.13x1− 2x2+ x3 = 10

x1+ 7x2− x3 = 42x1− x2+ 9x3 = − 25

(1)

ofwel Ax = b met A =

13 − 2 11 7 − 12 − 1 9

en b =

104

− 25

. (2)

We herschrijven dit stelsel als volgt. Met behulp van de eerste vergelijking schrijven we x1 intermen van x2 en x3. Met behulp van de tweede vergelijking schrijven we x2 in termen van x1 en

50

Page 51: Lavts Matlab

x3. En met behulp van de derde vergelijking schrijven we x3 in termen van x1 en x2. We krijgendan:

x1 = 2/13 ∗ x2 − 1/13 ∗ x3 + 10/13x2 = − 1/7 ∗ x1 + 1/7 ∗ x3 + 4/7x3 = − 2/9 ∗ x1+ 1/9 ∗ x2 − 25/9 .

(3)

Indien we een benadering van de oplossing hebben, x = (x1, x2, x3), vullen we die gelijktijdig in derechterleden van (3) in en hopen zo dat de linkerkant van (3) een betere benadering vormt voorde oplossing. Voor de nieuwe benadering x = (x1, x2, x3) geldt dan:

x1 = 2/13 ∗ x2 − 1/13 ∗ x3 + 10/13x2 = − 1/7 · x1 + 1/7 ∗ x3 + 4/7x3 = − 2/9 ∗ x1+ 1/9 ∗ x2 − 25/9 .

(4)

Indien we geen idee hebben van de oplossing gebruiken we de startwaarden x1 = x2 = x3 = 0.Voor ons stelsel is dan de tweede benadering:

x1 = 10/13 = 0.7692 (We ronden hier dex2 = 4/7 = 0.5714 getallen af totx3 = 25/9 = −2.7778 vier cijfers)

Invullen van deze tweede benadering in de rechterleden van (3) levert de derde benadering ˜x =(˜x1, ˜x2, ˜x3):

˜x1 = 2/13 ∗ (0.5714) − 1/13 ∗ (−2.7778) + 10/13 = 1.0708˜x2 = − 1/7 ∗ (0.7692) + 1/7 ∗ (− 2.7778) + 4/7 = 0.0647˜x3 = 2/9 ∗ (0.7692) + 1/9 ∗ (0.5714) − 25/9 = − 2.8852

Zo doorgaan levert achtereenvolgens de volgende benaderingen:1 2 3 4 5 6 7

x1 0 0.7692 1.0708 1.0011 1.0016 0.9998 1.0000x2 0 0.5714 0.0647 0.0063 -0.0014 -0.0002 0.0000x3 0 -2.7778 -2.8852 -3.0085 -2.9996 -3.0005 -3.0000

Ga na dat de exacte oplossing luidt: x = (1, 0,−3).

6.7.3 De methode van Gauss-Seidel

5Door een kleine wijziging in de methode kunnen we vaak in hetzelfde aantal stappen (dus flops)tot een betere benadering van de oplossing komen. Zo ontstaat de methode van Gauss-Seidel.Bij de zojuist besproken methode van Jacobi wordt uit een benadering x = (x1, x2, x3) van de op-lossing gelijktijdig een nieuwe benadering x = (x1, x2, x3) bepaald: de benadering x = (x1, x2, x3)wordt ingevuld in elk van de vergelijkingen van (3). We kunnen natuurlijk ook x1 gebruiken bijde bepaling van de nieuwe benadering x2 en x1 en x2 gebruiken bij de bepaling van x3.

We nemen weer als eerste benadering x1 = x2 = x3 = 0. De tweede benadering wordt com-ponentsgewijs uitgerekend. De benadering x1 wordt dan:

x1 = 2/13 ∗ (0)− 1/13 ∗ (0) + 10/13 = 0.7692 .

51

Page 52: Lavts Matlab

Dus op dit moment is de nieuwe benadering (0.7692,0,0).

De benadering x2 wordt dan:

x2 = − 1/7 ∗ (0.7692) + 1/7 ∗ (0) + 4/7 = 0.4615 .

Dus op dit moment is de nieuwe benadering (0.7692,0.4615,0).

De benadering x3 wordt dan:

x3 = − 2/9 ∗ (0.7692) + 1/9 ∗ (0.4615)− 25/9 = − 2.8974 .

Dus op dit moment is de tweede benadering (0.7692,0.4615,-2.8974).

Voor de (totale) tweede benadering x = (x1, x2, x3) geldt dus:13x1 = 2x2 −x3 +10

x1 +7x2 = x3 +42x1 −x2 +9x3 = − 25

(5)

De eerste component van de derde benadering ˜x1 wordt vervolgens:

˜x1 = 2/13 ∗ (0.4615)− 1/13 ∗ (−2.8974) + 10/13 = 1.0631 .

Etcetera.We krijgen dan achtereenvolgens:

1 2 3 4 5 6x1 0 0.7692 1.0631 1.0019 0.9997 1.0000x2 0 0.4615 0.0056 -0.0022 -0.0001 0.0000x3 0 -2.8974 -3.0134 -3.0007 -2.9999 -3.0000

Meestal (maar niet altijd) convergeert de rij benaderingen bij Gauss-Seidel sneller dan bij Jacobi,omdat we onderweg meer actuele informatie gebruiken.

6.7.4 Analyse

We beschouwen het verband tussen de kde–benadering x en de (k + 1)de–benadering x. Daartoeschrijven we de coefficientenmatrix A als volgt.

A = L + D + U

met D een diagonaalmatrix, L een onderdriehoeksmatrix en U een bovendriehoeksmatrix.

Dus

13 − 2 11 7 − 12 − 1 9

=

0 0 01 0 02 − 1 0

+

13 0 00 7 00 0 9

+

0 − 2 10 0 − 10 0 0

.

Deze opsplitsing heeft niets te maken met de LU-decompositie PA = LDU.

52

Page 53: Lavts Matlab

6.7.5 methode van Jacobi

Bij de methode van Jacobi geldt nu:

Dx = − (L + U)x + b immers13x1 = 2x2 −x3 +107x2 = −x1 + x3 +4 (zie(4)) ofwel9x3 = − 2x1 +x2 −25 13 0 00 7 00 0 9

x =

0 2 − 1− 1 0 1− 2 1 0

x +

104

− 25

.

6.7.6 methode van Gauss-Seidel

Bij de methode van Gauss-Seidel geldt:

(L + D)x = −Ux + b immers13x1 = 2x2 −x3 +10

x1 +7x2 = x3 +4 (zie(5)) ofwel2x1 −x2 9x3 = −25 13 0 01 7 02 1 9

x =

0 2 − 10 0 10 0 0

x +

104

− 25

.

6.7.7 Andere keuzes

De relaties in de paragrafen 6.7.5 en 6.7.6 zijn beide van de vorm

Sx = Tx + b met S− T = A .

Ook andere keuzen van S en T zijn mogelijk. Maar we moeten wel letten op de volgende eisen.

– De vector x moet eenvoudig zijn uit te rekenen. Dus S moet eenvoudig zijn (bijvoorbeelddiagonaal of onderdriehoeks).

– De rij benaderingen moeten convergeren naar de oplossing.Deze twee eisen zijn eigenlijk tegenstrijdig. Immers indien we kiezen S = A en T = 0 hebben weslechts een stap nodig (Ax = b), maar deze stap kost erg veel.

In de praktijk gebruikt men vaak de volgende keuzen voor S en T.

S = L +1

ωD en T = − ((1 − 1

ω) D + U) .

53

Page 54: Lavts Matlab

Met ω = 1 ontstaat de methode van Gauss-Seidel.

Met 1ω

> 1 noemt men dit de methode van successieve overrelaxatie (SOR). We gaan hier verderniet op in.

6.7.8 Convergentie

. We kunnen deze iteratieve methoden alleen toepassen indien de diagonaal-elementen van decoefficienten-matrix niet nul zijn. Immers alleen dan kunnen we het stelsel in de vorm van (3)herschrijven. Eventueel moeten er dus eerst rijen verwisseld worden.

6.7.9 Wat geldt voor de fout?

De rij benaderingen (xk), met Sxk+1 = Txk + b, moet convergeren naar de oplossing x, waarvoorgeldt Sx = Tx + b. Indien we bovenstaande uitdrukkingen van elkaar aftrekken staat er

Sx− Sxk+1 = Tx + b− (Txk + b) ofwel

S(x − xk+1) = T (x − xk) .

Voor de fouten ek = x− xk geldt dus

Sek+1 = Tek ofwel ek+1 = (S−1 T)ek .

Indien we dus starten met een fout e0, zal de fout na k stappen ek = (S−1T)ke0 zijn. Dus xk → xdan en slechts dan als ek → 0. De vraag is dus: wat kun je zeggen over (S−1T)k? Het blijkt dat derij benaderingen niet altijd convergeert naar de oplossing van een niet-singulier stelsel. Soms hangtdit van de gekozen eerste benadering x0 af, soms divergeert de rij voor elke startvector (ongelijk deexacte oplossing). Van sommige matrices is bekend dat, onafhankelijk van de gekozen startvector,beide methoden rijen benaderingen opleveren die convergeren naar de exacte oplossing. Dit isbijvoorbeeld het geval voor positief-definiete matrices. In deze paragraaf gaan wij niet in op deconvergentiesnelheid, in de aanvullingen op de hoofdstukken 12 en 13 kan hierover het een enander worden gelezen.

6.7.10 Toepassingen

Deze methoden worden vooral toegepast in de volgende gevallen.

6.7.11 Grote stelsels

Voor grote stelsels (zeg n > 100) kan Gauss-eliminatie veel rekentijd en veel computergeheugenvergen. Dan kunnen iteratieve methoden een uitkomst zijn. Het aantal flops bij deze iteratievemethoden is van de orde n2 in plaats van n3 zoals bij Gauss.

54

Page 55: Lavts Matlab

6.7.12 Redelijke benadering bekend

Soms is een redelijk goede benadering van de oplossing bekend. Wanneer we deze benadering alsstartvector voor een iteratieve methode gebruiken, kunnen we vaak met veel minder flops dan bijde directe methode van Gauss tot een zeer goede benadering van de oplossing komen.

6.7.13 IJle matrices

Sommige matrices hebben een dusdanige structuur, dat iteratieve methoden veel sneller tot op-lossingen leiden dan de methode van Gauss. Voorbeelden zijn sommige zogenaamde ijle matrices(Engels: sparse matrices). Dit zijn matrices met veel nullen.

6.7.14 Reguliere en singuliere stelsels

. In de aanvulling op Hoofdstuk 5, zie paragraaf 5.5 hebben we een onderscheid gemaakt tussenenerzijds reguliere en singuliere matrices en anderzijds reguliere en singuliere stelsels vergelijkin-gen. Ook hebben we bepaalde verbanden aangegeven. We maken nu een verder onderscheidbinnen de singuliere stelsels.

Een singulier stelsel noemen we onderbepaald indien het stelsel meerdere oplossingen heeft.

Een singulier stelsel noemen we overbepaald of inconsistent indien het stelsel geen oplossingenheeft.

55

Page 56: Lavts Matlab

7 De vier fundamentele deelruimten

7.1 Fundamentele stelling

Voor iedere m bij n matrix A geldt:

N(A)⊥R(AT) en N(AT)⊥R(A).

Er geldt zelfs:

N(A)=R(AT)⊥ en N(AT)=R(A)⊥.

7.2 Het commando rank

Bij het bepalen van bases voor de fundamente deelruimten van een matrix kunnen we voor vier-kante matrices het commando [L, U] = lu(A) gebruiken en voor (niet)-vierkante matrices hetcommando rref(A) (zie paragraaf 6.4).Zij we alleen in de rang van de matrix geınteresseerd, dan is de complete (gereduceerde) trapvormniet nodig en kunnen we volstaan met het commando:

rank(A) .

7.3 Opdrachten met MATLAB

1. Gegeven zijn de vectoren v1 t/m v4:

v1 =

4

− 121

, v2 =

3462

, v3 =

− 21082

, v4 =

5

− 6− 2

1

.

a. Bepaal alle oplossingen van de vergelijking:

λ1v1 + λ2v2 + λ3v3 + λ4v4 = 0 .

Zijn de vectoren v1 t/m v4 onafhankelijk?

b. Geef een basis voor het opspansel < v1, v2, v3, v4 > in termen van de oorspronkelijkevectoren v1 t/m v4.

2. In elk van de volgende gevallen is een verzameling kolomvectoren of rijvectoren gegeven.Bepaal of deze vectoren onafhankelijk zijn en geef een basis voor het opspansel van deze

56

Page 57: Lavts Matlab

vectoren, in termen van de oorspronkelijke vectoren.

a.

1

32

,

643

,

1154

b.

4130

,

8260

,

3642

,

1

− 51

− 2

c. {(3, 2, 1), d. {(1, 3, 2, 6),(6, 4, 2), (3, 11, 3, 19),(4, 2, 4)} (7, 27, 5, 45),

(2, 8, 2, 11)}

3. Bepaal voor elk van de volgende matrices, zowel van A als van AT, de LU-decomposities.Leid daaruit af: —

– een basis voor elk van de fundamentele ruimtes R(A), N(A), R(AT) en N(AT)

– de rang van A

a. A =

1 1 2 − 31 1 2 − 32 1 4 − 6

− 3 2 − 6 9

b. A =

− 2 3 − 5 2

1 0 1 17 2 5 64 1 3 9

c. A =

1 3 2 64 − 1 7 29 4 3 56 − 1 2 1

4. Bepaal voor elke van de volgende matrices, zowel van A als van AT, de rijgereduceerde

trapvormen. Leid daaruit af: —

– een basis voor elk van de fundamentele ruimtes R(A), N(A), R(AT) en N(AT)

– de rang van A

57

Page 58: Lavts Matlab

a. A=

1 1 2 − 31 1 2 − 32 1 4 − 6

− 3 3 − 6 9

b. A=

1 2 5 2 − 32 4 14 5 − 3

− 3 − 6 9 6 282 4 26 − 22 1

(zie opgave 3 a.)

c. A=

2 1 3 4 26 2 1 4 16 3 9 12 62 1 3 4 1

d. A=

2 1 3 4 26 2 1 4 16 3 9 12 62 1 3 4 11 4 2 1 13 1 9 3 2

5. In elk van de volgende gevallen is een m× n coefficientenmatrix A gegeven.

Bepaal (rechtstreeks) de rang van A. Leid daaruit de dimensie van de nulruimte N(A) af enbeargumenteer of de kolomruimte R(A) overeenstemt met Rm.Zijn er vectoren b waarvoor het stelsel Ax = b geen oplossing heeft?Zijn er vectoren b waarvoor het stelsel Ax = b meerdere oplossingen heeft?

a. A =

1 4 9 33 1 5 − 12 6 14 89 − 3 3 4

b. A =

1 4 9 3 23 1 5 − 1 72 6 14 8 19 − 3 3 4 6

c. A =

1 4 9 33 1 5 − 12 6 14 89 − 3 3 42 7 1 6

d. A =

1 4 9 3 23 1 5 − 1 72 6 14 8 19 − 3 3 4 62 7 1 6 0

6. Beschouw de volgende matrix A, en de vectoren p en q:

A =

14 6 2 − 181 − 1 1 18 1 3 − 7

p =

− 3

8127

q =

− 3

395

.

a. Bereken de producten A ∗ p en A ∗ q en vergelijk de uitkomsten. Geef een vector xmet Ax = 0.

b. Bepaal rechtstreeks de rang van A.

c. Bepaal, op grond van de gegevens uit onderdeel a. en b. de nulruimte van A.

Neem b = (−24, 4,−4)T.

58

Page 59: Lavts Matlab

d. Los Ax = b op via A\b.Controleer of de zo gevonden vector inderdaad een oplossing is van Ax = b.Bepaal de VOLLEDIGE oplossingsverzameling van Ax = b met behulp van de voor-gaande resultaten.

7. In elk van de volgende gevallen is een matrix A gegeven.Bepaal van A en van AT ·A de rang en een basis voor de nulruimte. Is er een verband tussende resultaten van A en AT · A?Is AT · A inverteerbaar?Is AT · A definiet positief? Bepaal zo mogelijk de Cholesky-decompositie van AT · A.

a. A =

1 6 43 3 − 22 9 14 5 6

b. A =

1 2 43 6 − 22 4 14 8 6

8. Gegeven zijn de vectoren:

v1 =

1111

v2 =

1

− 11

− 1

v3 =

− 1

1− 1− 1

en de matrix:

V =

1 1 − 11 − 1 11 1 − 11 −1 − 1

a. Bepaal de inproducten van de vectoren v1 t/m v3 onderling.Wat zijn de lengtes van v1 t/m v3?Wat zijn de hoeken tussen de vectoren onderling?

b. Bereken VT · V. Beargumenteer dat in het resultaat de inproducten uit onderdeela. voorkomen.

9. Beschouw de volgende matrices

A1 =1√2

(1 11 −1

)A2 =

1 1 11 0 − 21 − 1 1

A3 =

1 1 01 0 11 − 1 − 1

.

a. Bepaal van deze matrices A het produkt ATA.

b. Leid uit dit produkt af of de kolommen van A loodrecht op elkaar staan en bepaalde lengten van deze kolomvectoren.

59

Page 60: Lavts Matlab

7.4 Aanvulling Hoofdstuk 7

7.4.1 De matrix ATA

In de aanvullingen, zie paragraaf 5.5.3, staat dat voor een willekeurige reguliere matrix A geldtdat ATA positief-definiet is. Met andere woorden:

(i) ATA is symmetrisch

(ii) xTATAx > 0 voor elke x 6= 0We breiden dit nu verder uit voor m bij n matrices.

Stelling: Is A een m bij n matrix met rang(A) = n, dan geldt

ATA is positief definiet

Gevolgen:

(i) ATA is regulier dus rang(ATA) = rang(A) = n

(ii) De Cholesky-decompositie van ATA is mogelijk.

Opmerking: Indien rang(A) < n geldt toch

rang(A) = rang(AT A) en N(A) = N(AT A) .

60

Page 61: Lavts Matlab

8 Overbepaalde stelsels

8.1 Het commando A\bBij een overbepaald stelsel vergelijkingen Ax = b is het niet mogelijk om een oplossing x te vinden.Wel kun je een kleinste kwadraten benadering x bepalen op grond van de normaal vergelijkingen:

AT Ax = ATb

Binnen MATLAB kan dit op twee manieren. Allereerst is het mogelijk om van de normaal ver-gelijking de coefficientenmatrix ATA en het rechterlid ATb uit te rekenen. Uitgaande hiervan kandan de oplossing van de normaal-vergelijking bepaald worden (zie hoofdstuk 4).

Daarnaast is het mogelijk om rechtstreeks de benadering x te bepalen door middel van het com-mando:

A\b

Bij een oplosbaar stelsel levert dit commando een exacte oplossing (zie paragraaf 4.5 en 6.4) bijeen overbepaald stelsel levert het een oplossing van de normaal vergelijking.

8.2 Controleren

Bij gebruik van het commando A\b is aan het antwoord niet te zien of dit een exacte oplossingx is of een kleinste kwadraten benadering x. Het is daarom noodzakelijk om het antwoord tecontroleren door Ax te vergelijken met b. Stemmen beide overeen dan is er sprake van een exacteoplossing, is dit niet het geval dan is er sprake van een kleinste kwadraten benadering.

8.3 Rijen toevoegen aan een matrix

Het toevoegen van extra rijen aan een bestaande matrix A kan binnen MATLAB m.b.v. hetcommando

A = [A; extra rij 1 ; extra rij 2 ; ...]

Zo voegt A = [A; 2 4 − 7 7] aan de oorspronkelijke matrix A de rij (2 4 -7 7) toe. Opnieuwinvoeren van de oorspronkelijke A is dus niet nodig!

8.4 Kolommen toevoegen aan een matrix

Het toevoegen van extra kolommen aan een bestaande matrix A kan binnen MATLAB m.b.v. hetcommando

A = [A, extra kolom 1 , extra kolom 2 , ...]

61

Page 62: Lavts Matlab

Zo voegt A = [A, [2 4− 7 7]′] aan de oorspronkelijke matrix A de kolom

24

− 77

toe.

8.5 Opdrachten met MATLAB

1. Beschouw het volgende stelsel vergelijkingen:x1 +4x2 +2x4 +3x5 −6x6 = 4

2x1 +9x2 +2x3 +4x4 +8x5 −16x6 = 8− 3x1 −10x2 +4x3 −5x4 −9x5 +12x6 = − 10

6x1 +23x2 −2x3 +16x4 −23x6 = 36

a. Bepaal ALLE oplossingen voor het stelsel Ax = b.

Aan de vier vergelijkingen voegen we twee vergelijkingen toe (zie 6.7.3), namelijk:[2x1 +4x2 −7x3 +7x4 −16x5 +12x6 = 14x1 −5x2 −18x3 +10x4 −46x5 +49x6 = 38

b. Bepaal, m.b.v. MATLAB, ALLE oplossingen van dit nieuwe stelsel.

Aan de zes vergelijkingen die we nu hebben voegen we nogmaals twee vergelijkingen toe:[2x1 +5x2 +3x3 +7x4 −16x5 +6x6 = 364x1 +14x2 +x3 +8x4 +7x5 −23x6 = 8

c. Ga na of het stelsel van acht vergelijkingen een oplossing heeft. Is dit het gevalbepaal dan ALLE oplossingen.Is dit niet het geval, bepaal dan de best mogelijke oplossing in kleinste kwadraten zin, x.Ga na hoe ver Ax afwijkt van de rechterkant, b, van de oorspronkelijke vergelijkingen.

2. Bepaal voor elk van de volgende stelsels of het stelsel oplosbaar is. Zo ja, bepaal dan alleoplossingen. Zo nee, bepaal dan de kleinste kwadraten oplossing.

a.

x1 +x2 +x3 = 0

−x1 +x3 = 1x1 −x2 = − 1

x2 −x3 = − 2

b.

x1 +x2 +3x3 = 1

−x1 +5x3 = − 1x2 −2x3 = 3

x1 −x2 +x3 = − 2x1 +x3 = 0

c.

2x1 −x2 +x3 = 2x1 +x3 = 1

−x1 +x3 = 2−5x2 −x3 = 5

x1 +2x2 −2x3 = 0

62

Page 63: Lavts Matlab

3. Een auto verplaatst zich langs een rechte weg. Metingen geven het volgende verband tussenhet tijdstip t (in sec) en de afgelegde weg s (in m) van de auto.

t 0 3 5 8 10 12s 0 18 33 83 139 195

Veronderstel dat deze metingen zijn gedaan door een bestuurder in een auto die op vastetijdstippen (0, 3, 5, 8, 10, en 12 sec.) naar meetpalen langs de weg keek. Indien de auto zichmet een constante snelheid verplaatst verwachten we dat we op het tijdstip t de afgelegdeafstand s kunnen voorspellen op grond van het model

s = v · t

(Merk op dat we feitelijk een lijn door de oorsprong aannemen). We proberen v zo te kiezendat de afstand tussen gemeten en voorspelde waarden van de afgelegde weg minimaal is.

a. Bepaal, m.b.v. de kleinste kwadratenmethode, een schatting van v.Welke waarden geeft dit model voor de afgelegde afstand op de gemeten tijdstippen t?Teken deze voorspelde waarden in de bovenstaande figuur.

Een andere mogelijkheid waardoor deze meetgegevens kunnen zijn verkregen is dat waarne-mers op vaste plaatsen (0, 18, 33, 83, 139 en 195 m.) de tijd hebben gemeten waarop deauto voorbij kwam. Indien de auto zich met een constante snelheid verplaatst, verwachtenwe op afstand s het tijdstip t kunnen voorspellen op grond van het model:

t = α · s

In dit geval kiezen we α zo dat de afstand tussen gemeten en voorspelde waarden van de tijdminimaal is (Merk op dat dit niet dezelfde eis is als in het voorgaande geval, waar de afstandtussen voorspelde en gemeten waarden van de afgelegde afstand minimaal moest zijn!)

b. Bepaal, m.b.v. de kleinste kwadratenmethode, een schatting van α.Welke waarden geeft dit model voor tijd bij de gemeten waarden van de afgelegdeafstand?

63

Page 64: Lavts Matlab

Teken deze voorspelde waarden in de bovenstaande figuur. Valt de lijn die je door dezepunten kunt tekenen samen met de lijn door de voorspelde punten uit onderdeel a.?

Indien de auto accelereert verwachten we dat we op het tijdstip t de afgelegde afstand skunnen voorspellen op grond van het model:

s = vt +1

2at2

c. Geef een schatting van v en a met behulp van de kleinste kwadratenmethode. Welkewaarden geeft dit model voor de afstand bij de gemeten tijdstippen t?Teken gemeten waarden en waarden uit het model in een figuur. Is de afstand tussen devector met meetwaarden en modelwaarden voor de afstand van de auto groter, kleinerof gelijk aan de gevonden afstand bij onderdeel b.?

4. Het verband tussen drie grootheden t, h en p, wordt gegeven door:

p = α + βt + γh

Men beschikt over de volgende metingen van deze drie met elkaar samenhangende groothe-den.

t 1 2 3 4 5 6h -2 1 2 4 7 3p 1.8 2.3 3.0 3.9 5.1 7.1

a. Geef een schatting van de parameters α, β en γ met behulp van de kleinste kwadratenmethode.Welke waarden geeft dit model voor p bij de gemeten waarden van tenh?

De grootheid g wordt gevormd door de gemeten waarden van t en h bij elkaar op te tellen.Op die manier beschikt men over de volgende metingen:

t 1 2 3 4 5 6g -1 3 5 8 12 9p 1.8 2.3 3.0 3.9 5.1 7.1

Men bekijkt nu het verband:

p = ρ + νt + τg

b. Geef een schatting van de parameters ρ, ν en τ met behulp van de kleinste kwadratenmethode. Welke waarde geeft dit model voor p bij de gemeten waarden voor t en g?Vergelijk de antwoorden met de antwoorden uit onderdeel a. en verklaar eventueleovereenkomsten!

64

Page 65: Lavts Matlab

5. In elk van de volgende gevallen wordt een vector b en een lineaire deelruimte V gegeven.Bepaal:– de projectie van b op V– de projectiematrix, behorende bij projectie op Va. b = (−1, 3, 2, 0)T V =< (0, 1, 2, 1)T, (−1, 2, 1, 4)T >b. b = (−1, 2, 3, 1, 6, 2)T V =< (1,−2, 3, 1, 4, 0)T >

6. In elk van de volgende onderdelen zijn vectoren x, a1, a2ena3 gegeven. —

– Bepaal de projecties p1, p

2enp

3van x op elk van de ruimtes U1 =< a1 >,

U2 =< a2 > enU3 =< a3 >.

– Bepaal de projectie p van x op de ruimte U =< a1, a2, a3 >.

– Vergelijk de som van de projecties van x op elk van de ruimtes U1, U2enU3 : p1+p

2+p

3met de projectie van x op de ruimte U .

Opmerking: In week 7 zullen we afleiden onder welke voorwaarden beide vectoren gelijk zijn!

a. x = (−12, 17,−9, 2, 8)T b. x = (−12, 17,−9, 2, 8)T

a1 = (1, 2, 1, 0, 1)T a1 = (1, 2, 1, 0, 1)T

a2 = (2, 5, 1, 3, 1)T a2 = (0, 1,−1, 3,−1)T

a3 = (4, 1, 0, 4, 1)T a3 = (3,−2, 0, 1, 1)T

7. Beschouw de vectoren:

x = (2, 1, 2, 5, 0)T

en

a1 = (2, 1, −1, 0, 1)T

a2 = (1, 1, 1, −1, −2)T

a3 = (−1, 0, 0, −5, 2)T

a. Zijn de vectoren a1 t/m a3 onafhankelijk?

b. Bepaal de projectie p van x op de ruimte U1 =< a1, a2, a3 >. Geef p als lineairecombinatie van de vectoren a1 t/m a3: p = λ1a1 + λ2a2 + λ3a3.

Aan de oorspronkelijke vectoren a1 t/m a3 voegen we de vector a4 = (2, 2, 0,−6, 1)T toe.Beschouw de ruimte U2 =< a1, a2, a3, a4 >.

c. Zijn de vectoren a1 t/m a4 onafhankelijk, ofwel geldt U1 = U2?

d. Wat is dus de projectie van x op U2?

65

Page 66: Lavts Matlab

8. Beschouw nu het stelsel vergelijkingen:2x1 +x2 −x3 +2x4 = 2x1 +x2 +2x4 = 1

−x1 +x2 = 2−x2 −5x3 −6x4 = 5

x1 −2x2 +2x1 +x4 = 0

(merk op dat a1 t/m a4 overeenkomen met de coefficienten van x1 t/m x4 en dat x overeen-stemt met de rechterleden van dit stelsel!)

e. Bepaal op grond van het resultaat bij d. de best mogelijke oplossing in kleinstekwadraten zin van dit stelsel vergelijkingen. Ga ook na wat MATLAB voor oplossinggeeft bij dit stelsel.

8.6 Aanvulling Hoofdstuk 8

8.6.1 Twee methoden

Het bepalen van de kleinste kwadraten oplossing x van het overbepaalde stelsel Ax = b kan optwee manieren geschieden.

(i) We zoeken een x zo dat Ax de projectie is van b op R(A).

(ii) We zoeken een x zo dat ‖b− Ax‖ minimaal is.Beide methoden leiden tot dezelfde (kleinste kwadraten) oplossing.

8.6.2 Methode (i)

Bij deze methode projecteren we b op R(A) en schrijven deze projectie p als lineaire combinatie xvan de kolommen van A, dus p = Ax. We zoeken dus een x zo dat

(b− Ax) ⊥ R(A) ofwel

(b− Ax) loodrecht op elke kolomvector van A ofwel

AT(b− Ax) = 0 ofwelATAx = ATb [de normaal vergelijking]

Indien de kolommen van A onafhankelijk zijn, is ATA inverteerbaar (zie paragraaf 7.4.1), dus eris precies een oplossing voor de normaal vergelijking.

66

Page 67: Lavts Matlab

8.6.3 Methode (ii)

Beschouw de volgende functie van n variabelen x1, x2, ..., xn.

f(x1, x2, ..., xn) = ‖

b1

b2

··bn

− A

x1

x2

··

xn

‖2

Wil deze functie minimaal zijn dan moet in ieder geval:

∂f

∂x1

=∂f

∂x2

= ... =∂f

∂xn

= 0 .

Indien de kolommen van A onafhankelijk zijn, levert dit een regulier stelsel van n lineaire verge-lijkingen met n onbekenden, gelijk aan de normaal vergelijking.

8.6.4 Voorbeeld

Beschouw het (overbepaalde) stelsel1 01 21 41 61 8

x =

1016172327

.

We zoeken nu de kleinste kwadraten oplossing x van dit stelsel op beide manieren.

(i) De normaal vergelijking luidt(5 20

20 120

) (x1

x2

)=

(93

454

)Dus de kleinste kwadraten oplossing is: x1 = 10.4 en x2 = 2.05.

(ii) De te minimaliseren functie luidt

f(x1, x2) ¯ = ‖

1016172327

1 01 21 41 61 8

(

x1

x2

)‖2 (∗)

= (10− x1 − 0x2)2 + (16− x1 − 2x2)

2 + (17− x1 − 4x2)2+

+(23− x1 − 6x2)2 + (27− x1 − 8x2)

2

= 5x21 + 120x2

2 + 40x1x2 − 186x1 − 908x2 + 1893

67

Page 68: Lavts Matlab

Er moet dus gelden:∂f

∂x1

= 10x1 + 40x2 − 186 = 0

∂f

∂x2

= 40x1 + 240x2 − 908 = 0

Ofwel(10 4040 240

) (x1

x2

)=

(186908

)Dus de kleinste kwadraten oplossing is: x1 = 10.4 en x2 = 2.05.

8.6.5 Opmerkingen

1. De eerste methode is i.h.a. eenvoudiger dan de tweede. We zullen de eerste methode danook meestal gebruiken om de normaal vergelijking te vinden.

2. De gezochte x noemen we de kleinste kwadraten oplossing/benadering, omdat voor dezex geldt dat de som van de kwadraten in (∗) dan het kleinste is.

3. Ga na dat de kwadraten in (∗) het kwadraat zijn van de verticale afstanden tussen demeetpunten en de lijn x1 + x2t = h.

68

Page 69: Lavts Matlab

9 QR-decompositie 1

9.1 Het commando qr(A)

Door middel van het commando:

[Q, R] = qr(A)

bepaalt MATLAB bij een m bij n matrix A een orthogonale matrix Q en een bovendriehoeksmatrixR zo dat A=QR. Indien rang (A)< m dan vult MATLAB Q aan tot een orthonormale basis voorRm. R wordt dan aangevuld met nulrijen.(zie opdracht 2).

9.2 Het commando A\bBij het bepalen van de kleinste kwadraten oplossing van een overbepaald stelsel Ax = b metbehulp van het commando A\b gebruikt MATLAB de QR-decompositie van A en lost vervolgensop Rx = QTb.

9.3 Opdrachten met MATLAB

1.

a. Bepaal met MATLAB de QR-decompositie van

A =

1 1 20 0 11 0 0

b. Controleer dat QR=A

Q is orthogonaal, dus QTQ = QQT = I.

c. Ga dit na.

d. Wat volgt uit deze uitvoer over de rang van A.

2.

a. Bepaal met MATLAB de QR-decompositie van

A =

1 12 32 1

b. Controleer dat QR=A.

c. Controleer dat Q orthogonaal is.

69

Page 70: Lavts Matlab

d. Schrijf de eerste kolom van A als een combinatie van de kolommen van Q (af telezen in R!). En schrijf de tweede kolom van A als een combinatie van de kolommenvan Q (ook af te lezen in R!).

De eerste twee kolommen vormen dus een orthonormale basis voor de kolommenruimteR(A) van A. Daar rang (A)= 2 < 3 voegt MATLAB aan Q een kolom toe zodat Q eenorthonormale basis voor R3 is. Aan R wordt een nulrij toegevoegd. Deze toevoegingenkunnen we als volgt ongedaan maken.

e. Voer de MATLAB-opdracht QQ=Q(: , 1 : 2) uit. QQ is dan de matrix die ontstaatdoor van Q alle rijen te nemen en de eerste 2 kolommen van Q. Dus R(A)=R(QQ).

f. Voer de MATLAB-opdracht RR=R(1 : 2, :) uit. RR is dan de matrix die ontstaatdoor van R de eerste twee rijen te nemen en alle kolommen.

g. Bereken QQ∗RR en verklaar het resultaat.

h. Bereken (QQ)T∗QQ en verklaar het resultaat.

i. Bereken de projectiematrix QQ∗(QQ)T.

3. Beschouw het overbepaalde stelsel Ax = b met

A =

1 12 32 1

en b =

111

.

(zie opgave 2 voor de bij A horende Q, R, QQ en RR).

a. Bepaal nu de kleinste kwadraten benadering x van dit stelsel, waarvoor geldtATAx = ATb met de opdracht:

x1 = (A′ ∗ A) \ (A′ ∗ b)

b. Daar A =QQ∗RR geldt ook voor x: RR x =(QQ)Tb.Voer nu de volgende opdracht uit:

x2 = RR\(QQ′ ∗ b)

c. Daar A=Q∗R geldt dus ook voor x :R x = (Q)TbVoer nu de volgende opdracht uit:

x3 = R\(Q′ ∗ b)

d. Voer de volgende opdracht uit:

x4 = A\b

70

Page 71: Lavts Matlab

4. Zij

A =

1 12 32 1

en b =

111

(zie de opgaven 2 en 3).

a. Bepaal de projectie van b op de kolommenruimte van A met gebruikmaking van deprojectiematrix (zie opgave 2, onderdeel i.).

b. Bepaal de projectie van b op de kolommenruimte van A ook door gebruik te makenvan de kleinste kwadraten benadering x van het stelsel Ax = b. (zie opgave 3.)

5. Beschouw de matrix

A =

4 3 2 19 6 3 36 4 4 2

15 15 10 54 3 2 1

a. Bepaal de QR-decompositie van A.

b. Bepaal daaruit de dimensie van de kolommenruimte van A.

c. Bepaal een orthonormale basis voor de kolommenruimte van A.

d. Maak de MATLAB-toevoegingen ongedaan zodat, analoog aan opdracht 2, de ma-trices QQ en RR ontstaan.

e. Bereken (QQ)T∗QQ en interpreteer het resultaat.

f. Bereken QQ∗(QQ)T en interpreteer het resultaat.

6. Beschouw

A = 13

2 − 1 22 2 − 1

− 1 2 2

a. Bepaal AT A en AAT.

b. Is A orthogonaal?

c. Voer de MATLAB-opdracht [Q,R]=qr(A) uit.

d. Bepaal de projectie van b =

030

op de kolommenruimte van A.

71

Page 72: Lavts Matlab

10 QR-decompositie 2

10.1 Toevoegingen QR-decompositie

In Hoofdstuk 9 (zie paragraaf 9.1) hebben we opgemerkt dat indien rang(A) < m MATLAB bijhet commando [Q, R]=qr(A) de Q aanvult tot een orthonormale basis voor Rm. De toegevoegdekolommen vormen dan een orthonormale basis voor N(AT). De QR-decompositie van AT levertdus (indirect) een orthonormale basis voor N(A).

10.2 Verwisselen kolommen

Met het commande B=A (:, [1, 2, 3, , , 5, 4]) worden de 4e en 5e kolom van de m × 5 matrix Averwisseld.

10.3 Opdrachten met MATLAB

Opmerkingen:Doel van deze opdracht is om vaardigheid op te doen in het interpreteren van uitvoer van deQR-decompositie, zoals MATLAB die levert.

In het volgende bedoelen we met de orthogonale matrix Q steeds de orthogonale matrix dieMATLAB bij de QR-decompositie als uitvoer levert.

Het verdient aanbeveling om de orthogonale matrix Q, die bij de verschillende onderdelen ge-vraagd wordt, in verschillende variabelen op te slaan, zodat een onderling vergelijk van dezeresultaten mogelijk is zonder nieuwe berekeningen!

1. Beschouw de matrix A:

A =

2 − 3 17 4 4

10 2 54 0 2

12 1 66 6 3

14 5 7

a. Bepaal de dimensie van de kolommenruimte van A.Zijn de kolommen onderling afhankelijk?

72

Page 73: Lavts Matlab

b. Bepaal, mbv. MATLAB, de QR-decompositie van A.Geef, op grond van deze uitvoer, een orthonormale basis voor de kolommenruimte vanA.

c. Wat is de rang van de orthogonale matrix Q die bij onderdeel b. verkregen is?Vormen de kolommen van Q een basis voor de R7?

Door aan de oorspronkelijke matrix A een kolom toe te voegen ontstaat een nieuwe matrix,B:

B =

2 − 3 1 − 47 4 4 1

10 2 5 − 34 0 2 − 2

12 1 6 − 56 6 3 3

11 5 7 − 2

Binnen MATLAB kan dit eenvoudig door middel van het commando

B = [A, [−4, 1,−3,−2,−5, 3,−2]′]

d. Bepaal, mbv. MATLAB, de QR-decompositie van B en geef, op grond van dezeuitvoer, een orthonormale basis voor de kolommenruimte van B.Vergelijk het antwoord met dat uit onderdeel b.Welke conclusie kun je (dus) trekken over de vierde kolom van B?

Ook aan de matrix B voegen we een kolom toe. Zo onstaat een nieuwe matrix C:

C =

2 − 3 1 − 4 17 4 4 1 2

10 2 5 − 3 34 0 2 − 2 4

12 1 6 − 5 56 6 3 3 6

14 5 7 − 2 7

e. Bepaal de dimensie van de kolommenruimte van C en vergelijk deze met de dimensievan de kolomruimte van B. Zit de laatste toegevoegde kolom in de kolomruimte van B?

f. Bepaal, mbv. MATLAB, de QR-decompositie van C.Schrijf, op grond van deze uitvoer, de vijfde kolom van C als lineaire combinatie vande kolommen van de orthogonale matrix Q. Vormen de eerste vier kolommen van deorthogonale matrix Q een basis voor de kolommenruimte van C?Is het mogelijk om rechtstreeks uit de orthogonale matrix Q een orthonormale basisvoor de kolommenruimte van C te bepalen?

73

Page 74: Lavts Matlab

Kennelijk (blijkens het resultaat van onderdeel f.) zoekt MATLAB niet eerst (bv. viaGram-Schmidt) een orthonormale basis voor de hele kolommenruimte van de matrix C omze pas daarna uit te breiden tot een orthonormale basis voor de hele R7.Allereerst wordt namelijk in de oorspronkelijke matrix elke kolom die afhankelijk is van dekolommen die eraan voorafgaan (bij de gebruikte matrix C dus van kolom 4: deze is af-hankelijk van de kolommen 1 t/m 3) vervangen door een nieuwe kolom die onafhankelijk isvan alle eraan voorafgaande kolommen. Pas na deze vervangingen wordt van de zo ontstanenieuwe matrix (met dus, bij constructie, onafhankelijke kolommen) een orthonormale basisberekend, die daarna zo nodig nog aangevuld wordt tot een orthonormale basis voor de heleR7.

Een gevolg van deze MATLAB-werkwijze is dat een orthonormale basis van de kolommen-ruimte van een matrix waarvan de kolommen afhankelijk zijn niet meer in alle gevallenrechtstreeks uit de orthogonale matrix Q af te lezen is.Een mogelijke remedie hiertegen is om in de oorspronkelijke matrix er voor te zorgen dat,door kolomverwisseling, alle onafhankelijke kolommen vooraan en alle afhankelijke kolom-men achteraan te komen staan. MATLAB werkt dan eerst de kolommen af die een basisvoor de kolommenruimte van A vormen en komt pas daarna toe aan de kolommen die ver-anderd zijn. Op de dan al berekende kolommen van de orthogonale matrix Q hebben dezeresterende kolommen geen invloed meer!

Ter controle van het bovenstaande bekijken we de matrix F, waarin de onafhankelijke ko-lommen van C vooraan zijn gezet:

F =

2 − 3 1 1 − 47 4 4 2 1

10 2 5 3 − 34 0 2 4 − 2

12 1 6 5 − 56 6 3 6 3

14 5 7 7 − 2

g. Bepaal, mbv. MATLAB, de QR-decompositie van F en geef, op grond van dezeuitvoer, een orthonormale basis voor de kolommenruimte van C(!).

74

Page 75: Lavts Matlab

2. Voer de volgende matrices in.

A1 =

1 62 73 84 95 10

en A2 = AT1

A3 =

1 6 72 7 93 8 114 9 135 10 15

en A4 = AT3

A5 =

1 6 − 1 72 7 2 93 8 3 114 9 8 135 10 2 15

en A6 = AT5

A7 =

1 6 7 − 12 7 9 23 8 11 34 9 13 85 10 15 2

en A8 = AT7

Vergelijk matrix A5 en A7 met elkaar (derde en vierde kolom zijn verwisseld).Beantwoord de volgende vragen voor 1 ≤ i ≤ 8 en vul de tabel op de volgende pagina in.

a. Wat zijn de afmetingen van de matrix Ai?

b. Wat is de dimensie van de kolommenruimte van Ai?

c. Wat is de dimensie van de nulruimte van Ai?

d. Wat geldt voor de rang van Ai?

1. rang (Ai) = n < m

2. rang (Ai) = n = m

3. rang (Ai) = m < n

4. rang (Ai) < n en rang (Ai) < m

e. Bepaal, indien dit mogelijk is rechtstreeks uit de QR-decompositie van Ai een or-thonormale basis voor de kolommenruimte van Ai.

f. Bepaal, indien dit mogelijk is rechtstreeks uit de QR-decompositie van Ai een ortho-normale basis voor het orthoplement van de kolommenruimte van Ai.

g. Bepaal, indien dit mogelijk is rechtstreeks uit de QR-decompositie van ATi een or-

thonormale basis voor de nulruimte van Ai.

75

Page 76: Lavts Matlab

h. Controleer het aantal basisvectoren gevonden bij g. met het antwoord op vraag c.

i. Controleer het antwoord op vraag g. door Ai te vermenigvuldigen met de Q van ATi .

76

Page 77: Lavts Matlab

dim dim orthonormale orthonormale orthonormaleafm. R(A) N(A) geval basis R(A) basis R(A)⊥ basis N(A)

A1

A2

A3

A4

A5

A6

A7

A8

77

Page 78: Lavts Matlab

Vergelijk de resultaten van A5 met die van A7.

10.4 Aanvulling Hoofdstukken 9 en 10

10.4.1 Orthogonaal en orthonormaal

– We noemen vectoren orthogonaal indien de vectoren onderling loodrecht op elkaar staan.

– We noemen vectoren orthonormaal indien de vectoren onderling loodrecht op elkaar staanen elke vector lengte 1 heeft.

– We noemen een matrix orthogonaal indien de matrix vierkant is en de kolommen onderlingloodrecht op elkaar staan en elke kolom lengte 1 heeft. Het begrip orthonormale matrixbestaat niet.

10.4.2 Overzicht QR-decompositie

PrincipeDe (eventueel afhankelijke) vectoren {a1, a2, ..., an} omzetten naar een orthonormaal stelsel{q

1, q

2, ..., q

k} (k kleiner of gelijk aan n) met behulp van het Gram-Schmidt procede:

Je houdt, in een matrix R, bij welke operaties uitgevoerd moeten worden om uit het geconstrueerdeorthonormale stelsel {q

1, q

2, ..., q

k} de oorspronkelijke vectoren {a1, a2, ..., an} te reconstrueren. Er

geldt:

ai = (qT

1ai)q1

+ (qT

2ai)q2

+ ... + (qT

iai)qi

= r1iq1+ r2iq2

+ ... + riiqi

78

Page 79: Lavts Matlab

De QR-decompositie ziet er dan als volgt uit:

A = QR =

| | | |a1 a2 · ai · an

| | | |

=

| | |q1q2... q

k

| | |

·

∗ ∗ . . . r1i . . . ∗∗ r2i ∗

... ·rii ·0 ·· ·· ·0 ∗

de ide kolom

ai =

| | |q1q2. . . q

k

| | |

·

r1i

r2i...

rii

0··0

= r1iqi

+ r2iq2+· · ·+ riiqi

+· · ·+ 0qk

In het bijzonder blijkt zo welke qj

voor de reconstructie van ai noodzakelijk is.

Opmerkingen

1. MATLAB vult Q tot een vierkante m bij m matrix aan, zo dat de kolommen een orthonor-male basis voor de Rm vormen. Deze matrix noemen we dan orthogonaal. De toegevoegdekolommen vormen een orthonormale basis voor de linker nulruimte van A. De R wordt metnulrijen aangevuld. De QR-decompositie van de getransponeerde van A levert dus (indirekt)een orthonormale basis voor de nulruimte van A.

2. Er geldt: rang(A)=rang(R).

79

Page 80: Lavts Matlab

Voorbeeld 1. rang(A) = n < m .

A =

1 3 0

2 4 1

2 2 3

1 3 2

>> [Q,R]=qr(A)

Q = R =

-0.3162 0.5071 0.3152 -0.7372 -3.1623 -5.6921 -3.1623

-0.6325 0.1690 0.4729 0.5898 0 2.3664 -0.8452

-0.6325 -0.6761 -0.2364 -0.2949 0 0 -1.8127

-0.3162 0.5071 -0.7881 0.1474 0 0 0

>> [QQ,RR]=qr(A’)

QQ = RR =

-0.3162 0.5071 -0.8018 -3.1623 -4.4272 -2.5298 -3.1623

-0.9487 -0.1690 0.2673 0 1.1832 3.2116 1.6903

0 0.8452 0.5345 0 0 0.5345 1.0690

R(A) wordt opgespannen door de eerste drie kolommen van Q.N (AT ) wordt opgespannen door de vierde kolom van Q.R(AT ) wordt opgespannen door de kolommen van QQ.N (A) = 0.

Voorbeeld 2. rang(A) = n = m .

A =

1 1 2

1 2 3

5 3 7

>> [Q,R]=qr(A)

Q = R =

-0.1925 -0.2357 -0.9526 -5.1962 -3.4641 -7.6980

-0.1925 -0.9428 0.2722 0 -1.4142 -1.6499

-0.9623 0.2357 0.1361 0 0 -0.1361

>> [QQ,RR]=qr(A’)

QQ = RR =

-0.4082 0.7071 -0.5774 -2.4495 -3.6742 -8.9815

-0.4082 -0.7071 -0.5774 0 -0.7071 1.4142

-0.8165 -0.0000 0.5774 0 0 -0.5774

80

Page 81: Lavts Matlab

R(A) wordt opgespannen door de kolommen van Q.N (AT ) = 0.R(AT ) wordt opgespannen door de kolommen van QQ.N (A) = 0.

Voorbeeld 3. rang(A) = m < n .

A =

1 1 2 1

1 2 1 1

2 1 1 1

>> [Q,R]=qr(A)

Q = R =

-0.4082 -0.1231 -0.9045 -2.4495 -2.0412 -2.0412 -1.6330

-0.4082 -0.8616 0.3015 0 -1.3540 -0.6155 -0.4924

-0.8165 0.4924 0.3015 0 0 -1.2060 -0.3015

>> [QQ,RR]=qr(A’)

QQ = RR =

-0.3780 -0.1048 0.8908 -0.2294 -2.6458 -2.2678 -2.2678

-0.3780 -0.8386 -0.3181 -0.2294 0 -1.3628 -0.6290

-0.7559 0.5241 -0.3181 -0.2294 0 0 1.2089

-0.3780 -0.1048 0.0636 0.9177 0 0 0

R(A) wordt opgespannen door de eerste drie kolommen van Q.N (AT ) = 0.R(AT ) wordt opgespannen door de eerste drie kolommen van QQ.N (A) wordt opgespannen door de laatste kolom van QQ.

Voorbeeld 4. rang(A) < n en rang(A) < m .

A =

1 1 2

1 2 3

1 1 2

1 2 3

>> [Q,R]=qr(A)

Q = R =

-0.5000 0.5000 0.6574 0.2605 -2.0000 -3.0000 -5.0000

-0.5000 -0.5000 0.2605 -0.6574 0 -1.0000 -1.0000

-0.5000 0.5000 -0.6574 -0.2605 0 0 0.0000

-0.5000 -0.5000 -0.2605 0.6574 0 0 0

>> [QQ,RR]=qr(A’)

QQ = RR =

81

Page 82: Lavts Matlab

-0.4082 0.7071 -0.5774 -2.4495 -3.6742 -2.4495 -3.6742

-0.4082 -0.7071 -0.5774 0 -0.7071 -0.0000 -0.7071

-0.8165 -0.0000 0.5774 0 0 0.0000 0.0000

R(A) wordt opgespannen door de eerste twee kolommen van Q.N (AT ) wordt opgespannen door de laatste twee kolommmen van Q.R(AT ) wordt opgespannen door de eerste twee kolommen van QQ.N (A) wordt opgespannen door de laatste kolom van QQ.

82

Page 83: Lavts Matlab

11 Determinanten

11.1 Determinant-berekening

Binnen MATLAB ligt het commando om de determinant van een matrix te berekenen voor dehand:

det(A)

11.2 Verandering van de waarde van een element in een matrix

Om bij een bestaande matrix een element van waarde te veranderen is het niet nodig om de helematrix opnieuw in te voeren. Het is voldoende om bij de toekenningsopdracht de matrix van hetgewenste rij– en kolomnummer te voorzien. De opdracht:

A (2, 3) = 4

zorgt er voor dat het element in de tweede rij en derde kolom van A de waarde 4 krijgt. Alleandere elementen van A blijven ongewijzigd!

11.3 Opdrachten met MATLAB

1. Beschouw de volgende matrices:

A =

5 − 2 4 − 10 1 5 21 2 0 1

− 3 1 − 1 1

B =

2 − 1 0 0

− 1 2 − 1 00 − 1 2 − 10 0 − 1 2

C =

1 2 3 41 3 3 62 4 7 11

− 1 − 2 − 3 − 3

a. Bepaal van matrix A de LU-decompositie. Hoeveel rijverwisselingen zijn nodig omL te veranderen in een onderdriehoeksmatrix? Wat volgt hier uit over de determinantvan L? Wat is de determinant van U? Bepaal hieruit de determinant van A. Zo ookvoor B en C.

b. Controleer deze antwoorden door in MATLAB de determinanten rechtstreeks teberekenen.

c. Bepaal de determinanten van A*B*C en vergelijk deze met het produkt van dedeterminanten A, B en C.

83

Page 84: Lavts Matlab

d. Bepaal de determinant van A+B en vergelijk dit met de som van de determinantenA en B.

e. Bepaal de determinanten van 3*B en van B ∧ 3 en vergelijk dit met de determinantvan B.

f. Wat is de determinant van AT en wat is de determinant van A−1? Wat is het verbandmet de determinant van A?

g. Wat is de determinant van C∧20? Vergelijk dit met het resultaat van de MATLAB-opdracht det(C∧20). Bij welke waarde van een geeft de MATLAB-opdracht det(C∧n)een getal ongelijk aan 1?

Beschouw de matrices C en 0.01*C. Beide matrices zijn even goed geconditioneerd.

h. Vergelijk de determinanten van beide matrices met elkaar.

Conclusie Uit het feit dat de determinant van een matrix bijna nul is, kan men nietafleiden dat de matrix ook slecht geconditioneerd is.

2. De waarde van de determinant van een matrix kan gevoelig zijn voor kleine veranderingenvan afzonderlijke elementen van de matrix. We onderzoeken dit aan de hand van een tweetalmatrices:

A1 =

− 73 78 2492 66 25

− 80 37 10

A2 =

− 73 78 − 2492 66 25

− 80 37 10

a. Bepaal van beide matrices de determinant.

b. Verander bij beide matrices de waarde van het element op positie (3,3) van 10 in10.01 en bereken nogmaals beide determinanten. Bij welke matrix is de veranderingrelatief het grootst?

c. Verander bij beide oorspronkelijke matrices de waarde van het element op positie(2,1) van 92 in 92.01 en bereken nogmaals de determinanten. Bij welke matrix is deverandering relatief het grootst?

d. Verander bij beide oorspronkelijke matrices de waarde van het element op positie(1,2) van 78 in 78.01 en bereken nogmaals de determinanten. Bij welke matrix is deverandering relatief het grootst?

De kolommen van elk van de matrices A1 en A2 kunnen we opvatten als de zijden van eenparallellepipedum waarvan het volume gelijk is aan de determinant van de matrix. Omdatde eerste twee kolommen van beide matrices hetzelfde zijn hebben beide parallellepipeda een

84

Page 85: Lavts Matlab

zelfde grondvlak. De lengtes van beide derde kolommen zijn eveneens gelijk, zodat de derdezijde van het parallellepipedum slechts qua orientatie verschilt, bijvoorbeeld:

e. Beargumenteer in welk van beide situaties (figuur 1 of figuur 2) het volume hetgrootst is.Beargumenteer in welk van beide situaties een kleine richtingsverandering van de derdezijde a3 relatief de grootste volume-verandering zal geven.

Bepaal van de oorspronkelijke matrices A1 en A2 de QR-decompositie, genoteerd als respec-tievelijk A1=Q1*R1 en A2=Q2*R2.

f. Leid uit deze uitvoer af bij welke van beide matrices, A1 of A2, de derde kolom hetdichtst bij het opspansel van de eerste twee kolommen ligt.Is het resultaat uit onderdeel b. in overeenstemming met dat van onderdeel e?

g. Bereken de determinant van de orthogonale matrices Q1 en Q2.Toon aan dat de absolute waarde van de determinant van een orthogonale matrix dewaarde 1 heeft.(Hint: gebruik de eigenschap QT*Q=I in combinatie met de elementaire determinanteigenschappen)

h. Druk de waarde van de determinant van A1 en A2 uit in de elementen van debovendriehoeksmatrices R1 en R2.

3. Beschouw een een bij een matrix A, waarvan alle elementen op en boven de diagonaal dewaarde 1 hebben terwijl alle elementen beneden de diagonaal een zelfde waarde, zeg p,hebben. Dus bijvoorbeeld n=5 en p=3:

A =

1 1 1 1 13 1 1 1 13 3 1 1 13 3 3 1 13 3 3 3 1

Van dit type matrices willen we de determinant bepalen als functie van n en p.

(Opm.: Binnen MATLAB zijn deze matrices eenvoudig in te voeren met het commando:2parindent

A = triu(ones(n)) + p*tril(ones(n),-1);

85

Page 86: Lavts Matlab

waarbij voor n en p de actuele waardes gebruikt worden, bijvoorbeeld voor n=5 enp=3: 2parindent

A = triu(ones(5)) + 3*tril(ones(5),-1);

Uiteraard is het ook mogelijk de matrix element voor element in te voeren!)

a. Neem p=2 en bereken voor een aantal verschillende waardes van n de determinant.(Gebruik voor de antwoorden de tabel verderop!)Welke waarde vermoed je dat de determinant voor algemene n heeft?

b. Neem p=3 en bereken voor een aantal verschillende waardes van n de determinant.(Gebruik voor de antwoorden de tabel verderop!)Welke waarde vermoed je dat de determinant voor algemene n heeft?

c. Neem p=4 en bereken voor een aantal verschillende waardes van n de determinant.(Gebruik voor de antwoorden de tabel verderop!)Welke waarde vermoed je dat de determinant voor algemene n heeft?

d. Welke waarde vermoed je dat de determinant voor algemene n en p heeft?

e. Onderbouw het vermoeden uit onderdeel d. door de determinant analytisch teberekenen.(Hint: probeer dmv. rijvegen de matrix eerst te vereenvoudigen!)

RESULTATEN :

afmetingen p=2 p=3 p=4 vermoeden voormatrix (n) willekeurige p

1 bij 12 bij 23 bij 34 bij 45 bij 5

vermoeden voorn bij n

4. Beschouw een willekeurige matrix van de volgende structuur:

A =

[A11 00 A22

]met A11: willekeurige n× n matrix

A22: willekeurige m×m matrix

overige elementen: 0

In MATLAB voor bv. n = 2, m = 3:

A = [rand(2) , zeros(2, 3) ; zeros(3, 2) , rand(3)]

86

Page 87: Lavts Matlab

a. Bepaal voor enkele zelf gekozen waarden van n en m de determinant van elk van dematrices A, A11, A22.Ga voor elk van de gevallen na dat:

det(A) = det(A11) · det(A22)

en probeer dit resultaat te verklaren.(Hint: vergelijk de spillen van A met die van A11 en A22).

5. Beschouw ook een willekeurige matrix van de volgende structuur:

A =

[A11 A120 A22

]met A11: willekeurige n× n matrix

A12: willekeurige n× n matrix

A22: willekeurige n× n matrix

overige elementen: 0

In MATLAB voor bv. n = 2:

A = [rand(2) , rand(2) ; zeros(2) , rand(2)]

b. Bepaal voor enkele zelf gekozen waarden van n de determinanten van elk van dematrices A, A11, A12 en A22.Ga voor elk van deze gevallen na of er een verband bestaat tussen de determinant van Aen de determinanten van de matrices A11, A12 en A22. Probeer een eventueel verbandte verklaren.

c. Onderzoek of het voor het resultaat bij b. noodzakelijk is dat A11 en A22 dezelfdeafmetingen n× n hebben.

Beschouw tenslotte een willekeurige matrix zonder speciale structuur, maar opgedeeld in 4deelmatrices van gelijke afmetingen:

A =

[A11 A12A21 A22

]met A11: willekeurige n× n matrix

A12: willekeurige n× n matrix

A21: willekeurige n× n matrix

A22: willekeurige n× n matrix

87

Page 88: Lavts Matlab

In MATLAB voor bv. n = 2:

A = [rand(2) , rand(2) ; rand(2) , rand(2)]

d. Bepaal voor enkele zelf gekozen waarden van n de determinanten van elk van dematrices A, A11, A12, A21 en A22. Ga voor elk van deze gevallen na dat er geeneenvoudig verband bestaat tussen de determinant van A en de determinanten van dematrices A11 t/m A22.

6. In elk van de volgende gevallen is een coefficientenmatrix, A, en een kolomvector van rech-terleden, b, gegeven.

7. Bepaal, met behulp van de regel van Cramer, de oplossing voor het stelsel vergelijkingenAx = b. Vergelijk het antwoord met het antwoord volgens de LU-decompositie.

a. A =

5 2 1− 3 6 4

0 2 1

b =

1− 1

1

b. A =

4 − 1 0 0

− 1 4 − 1 00 − 1 4 − 10 0 − 1 4

b =

1220

c. A =

5 2 1− 3 8 4

0 2 1

b =

1− 4

1

d. A =

4 1/2 1/3 1/4

1/5 1/6 1/7 1/81/9 1/10 1/11 1/12

1/13 1/14 1/15 1/16

b =

− 1

23

− 4

8. Het oplossen van een (niet-singulier) stelsel met vergelijkingen met behulp van de regel van

Cramer kost in de regel aanzienlijk meer bewerkingen dan het bepalen van de oplossing metbehulp van de LU-decompositie. Dit is zelfs het geval wanneer de determinant op een handigemanier berekend wordt, door namelijk eerst de matrix via rijvegen te vereenvoudigen. Omdit te onderzoeken beschouwen we het stelsel vergelijkingen Ax = b, waarbij A een 50bij 50 matrix is met random elementen: A = rand(50) en b een kolomvector met randomelementen:b = rand(50,1).

a. Bepaal het aantal flops dat nodig is om met behulp van de LU-decompositie ditstelsel Ax = b op te lossen.

88

Page 89: Lavts Matlab

b. Bepaal het aantal flops dat nodig is om met behulp van de regel van Cramer alleende eerste component van de oplossingsvector x te bepalen.Hoeveel flops zijn (ongeveer) nodig om met behulp van de regel van Cramer het helestelsel op te lossen?

c. Vergelijk de resultaten uit onderdeel a. en b.

89

Page 90: Lavts Matlab

12 Eigenwaarden en eigenvectoren 1

12.1 Karakteristiek polynoom

De MATLAB-opdracht p=poly(A) geeft een rijvector, waarvan de getallen de coefficienten vanhet karakteristieke polynoom van de vierkante matrix A zijn. Deze zijn geordend naar afnemendemachten. Door vermenigvuldiging van het hele polynoom met een factor (−1)n is de coefficientbij de hoogste macht van λ altijd gelijk aan +1 gemaakt. Indien de matrix A gelijk is aan

A =

7 9 −3−2 −4 6

1 1 7

levert MATLAB de rijvector [1 − 10 8 64], corresponderend met λ3 − 10λ2 + 8λ + 64. Dit heeftgeen invloed op de nulpunten van het polynoom!

12.2 Nulpunten van een polynoom

Van een polynoom

f(λ) = pnλn + pn−1λ

n−1 + ... + p1λ + p0

kunnen binnen MATLAB rechtstreeks de nulpunten bepaald worden. Hiertoe dient de opdracht:

roots(p)

waarbij p een rijvector is die de coefficienten van het polynoom, geordend naar afnemende macht,bevat.Bijvoorbeeld: f(λ) = λ2 − 4 correspondeert met p = [1 0 − 4].Om de nulpunten van de karakteristieke vergelijking van een matrix A te bepalen volstaat deopdracht:

roots(poly(A)) .

De kolomvector met coefficienten van het karakteristiek polynoom, volgend uit de opdracht po-ly(A), wordt dan nl. meteen gebruikt om de nulpunten te berekenen.

12.3 Bepalingen eigenvectoren

Om de eigenvectoren bij een eigenwaarde λ = α te bepalen is het nodig de nulruimte van de matrix

A − α · I

te berekenen. Zoals beschreven paragraaf 6.4 komt daarbij het commando rref van pas. Dit levertde rijgereduceerde trapvorm van de ingevoerde matrix, waaruit de nulruimte volgt.

90

Page 91: Lavts Matlab

Bij concrete berekening is het niet nodig om de matrix A − αI element voor element opnieuw inte voeren. De opdracht:

A − α ∗ eye (A)

levert namelijk de matrix waarvan de nulruimte bepaald moet worden. De (deel)-opdracht

eye (A)

vormt namelijk een eenheidsmatrix met dezelfde afmetingen als de matrix A.

12.4 Opdrachten met MATLAB

1. Van de matrix

A =

(4 −52 −3

)is het volgende bekend:

- Het karakteristieke polynoom is λ2 − λ− 2.

- De eigenwaarden zijn 2 en −1.

- Een basis voor de eigenruimte bij eigenwaarde 2 is: (5 2)T

Een basis voor de eigenruimte bij eigenwaarde −1 is: (1 1)T.

Controleer dit m.b.v. MATLAB door middel van de commando’s uit de paragrafen 12.1,12.2 en 12.3.

2. Bepaal van elk van de volgende matrices met behulp van MATLAB

- het karakteristieke polynoom

- de eigenwaarden

- de eigenvectoren

- de algebraısche multipliciteit

- de geometrische multipliciteit

A1 =

1 4 50 0.75 60 0 0.5

A2 =

−9 −3 −1613 7 163 3 10

A3 =

−28 13 −42−10 13 −6

19 −7 30

91

Page 92: Lavts Matlab

3. Beschouw de matrix

A1 =

1203

800

1

2

−13

800

a. Bepaal met het commando roots(poly(A1)) de eigenwaarden van A1.

Indien λ geen eigenwaarde is van de matrix A1, geldt rang(A1 − λI) = 2 en rref(A1 − λI) =[1 00 1

].

Indien λ wel een eigenwaarde is van de matrix A1, geldt rang(A1−λI) = 1 en rref(A1−λI) =[1 ∗0 0

].

b. Controleer hiermee of de gevonden waarden λ in a. eigenwaarden van A1 zijn enbepaal rref(A1 − λI).

Waarschijnlijk verschijnen er in beide gevallen de antwoorden 2 en

[1 00 1

]i.p.v. 1 en[

1 ∗0 0

]. Voor een verklaring hiervan dient de volgende opdracht.

c. Geef, binnen MATLAB, het commando: format long waardoor resultaten met 15in plaats van 5 cijfers op het scherm weergegeven worden. Bepaal nu nogmaals deeigenwaarden van A1 en controleer deze waarden λ door de rang van A1−λI te bepalen.Bepaal nu de eigenvectoren.

d. Bepaal, met MATLAB, de eigenwaarden van A2 = rand(3), de rang van (A2 − λI)en rref (A2 − λI).

Conclusie: Indien we van een matrix niet de exacte waarden van de eigenwaardenkennen is bepaling van de eigenvectoren met behulp van het rref-commando meestalonmogelijk.

e. Bepaal vervolgens de eigenwaarden van

A3 =

−28 13 −42−10 13 −6

19 −7 30

Vergelijk de gevonden waarden met de waarden bij opgave 2. Welke waarden stemmenmet de werkelijkheid overeen?

92

Page 93: Lavts Matlab

Conclusie: Het bepalen van de eigenwaarden van een matrix A met behulp van hetcommando roots(poly(A)) geeft niet altijd de exacte waarden van die eigenwaarden.

f Geef, binnen MATLAB, het commando: format short waardoor resultaten weer met5 cijfers op het scherm weergegeven worden.

4. Beschouw de n bij n matrices:

An =

1 1 1 .... 11 1 1 .... 11 1 1 .... 1.. .. .. .... .... .. .. .... ..1 1 1 .... 1

Bn =

0 1 1 .... 11 0 1 .... 11 1 0 .... 1.. .. .. .... .... .. .. .... ..1 1 1 .... 0

(in MATLAB, bv. voor n=5, respectievelijk: A5=ones(5) en B5=ones(5) – eye(5))

a. Bepaal, met behulp van MATLAB, het karakteristieke polynoom, de eigenwaardenen de bijbehorende eigenvectoren van de matrix An voor n=2,3,4,5.(Gebruik voor de antwoorden de tabel verderop!)

b. Formuleer op grond van de resultaten uit onderdeel a. een vermoeden voor hetkarakteristieke polynoom van de matrix An voor algemene n.

c. Bepaal de eigenwaarden en bijbehorende eigenvectoren van de matrix An voor alge-mene n.

d. Bepaal, met behulp van MATLAB, het karakteristieke polynoom, de eigenwaardenen de bijbehorende eigenvectoren van de matrix Bn voor n=2,3,4,5.Vergelijk de resultaten voor de eigenwaarden en de eigenvectoren van Bn met de resul-taten die je bij onderdeel a. gevonden hebt voor de matrix An en verklaar de mogelijkeovereenkomsten.

e. Bepaal de eigenwaarden en bijbehorende eigenvectoren van de matrix Bn voor alge-mene n.

93

Page 94: Lavts Matlab

Resultaten:afmetingen karakteristiek eigenwaarden eigenvectorenmatrix polynoom

5. Beschouw de matrices Cpq, met afmetingen (p + q) bij (p + q), waarvan de elementen in eentweetal blokken (met afmetingen respectievelijk p bij p en q bij q) rond de hoofddiagonaal dewaarde een hebben terwijl alle andere elementen nul zijn.Bijvoorbeeld:

C13 =

1 0 0 00 1 1 10 1 1 10 1 1 1

C23

1 1 0 0 01 1 0 0 00 0 1 1 10 0 1 1 10 0 1 1 1

(In MATLAB respectievelijk: C13=[ones(1) zeros(1,3); zeros(3,1) ones(3)]

C23=[ones(2) zeros(2,3); zeros(3,2) ones(3)] )

a. Bepaal m.b.v. MATLAB het karakteristiek polynoom en de eigenwaarden van dematrices C13, C23 en C33.Vergelijk de resultaten met de resultaten die je in opgave 4.a. gevonden hebt voor dematrices A1, A2 en A3 en probeer een onderling verband te geven.(Hint: de matrix Cpq − λI kun je partitioneren als:

Cpq − λI =

(Ap − λI ∅∅ Aq − λI

)Bij hoofdstuk 11, opgave 4, bleek dat voor zo’n partionering det (Cpq − λI) uit tedrukken is in det(Ap − λI) en det (Aq − λI).)

b. Bepaal voor C13, C23 en C33 de bijbehorende eigenvectoren en vergelijk deze met deeigenvectoren van A1, A2 en A3 uit 1.8.4.a.

c. Formuleer op grond van de resultaten uit onderdeel a. een vermoeden voor dekarakteristieke polynomen en eigenwaarden van de matrix Cpq voor algemene p en q.

d. Bepaal de eigenvectoren van de matrix Cpq voor algemene p en q.

94

Page 95: Lavts Matlab

6. Beschouw een willekeurige matrix van de volgende structuur:

A =

[A11 00 A22

]met A11 : willekeurige n× n matrix

A22 : willekeurige m×m matrixoverige elementen : 0

In MATLAB voor b.v. n = 2, m = 3:

A = [rand(2) , zeros(2, 3); zeros(3, 2), rand(3)]

a. Bepaal voor enkele zelfgekozen waarden van n en m de eigenwaarden van elk van dematrices A, A11, A22.Probeer het verband tussen deze eigenwaarden te verklaren.

Beschouw ook een willekeurige matrix van de volgende structuur:

A =

[A11 A12

0 A22

]met A11 : willekeurige n× n matrix

A12 : willekeurige n× n matrixA22 : willekeurige n× n matrix

overige elementen : 0

In MATLAB voor b.v. n = 2

A = [rand(2), rand(2); zeros(2), rand(2)]

b. Bepaal voor enkele zelf gekozen waarden van n de eigenwaarden van elk van dematrices A, A11, A12 en A22. Probeer het verband tussen deze eigenwaarden te verklaren.

c. Onderzoek of het voor het resultaat bij b. noodzakelijk is dat A11 en A22 dezelfdeafmetingen n× n hebben.

Beschouw tenslotte een willekeurige matrix zonder speciale structuur, maar opgedeeld in 4deelmatrices van gelijke afmetingen:

A =

[A11 A12

A21 A22

]met A11 : willekeurige n× n matrix

A12 : willekeurige n× n matrixA21 : willekeurige n× n matrixA22 : willekeurige n× n matrix

In MATLAB voor b.v. n = 2

A = [rand(2), rand(2); rand(2), rand(2)]

d. Bepaal voor enkele zelf gekozen waarden van n de eigenwaarden van elk van de ma-trices A, A11, A12, A21 en A22. Ga voor elk van deze gevallen na dat er geen eenvoudigverband bestaat tussen de eigenwaarden van A en de eigenwaarden van de matrices A11

t/m A22.

(Vergelijk deze opdracht met opgave 4 uit hoofdstuk 11)

95

Page 96: Lavts Matlab

13 Eigenwaarden en eigenvectoren 2

13.1 Het commando eig(A)

In Hoofdstuk 12 zijn de eigenwaarden en eigenvectoren van een matrix A met behulp van MATLABbepaald volgens een procedure die nauw aansluit bij de betreffende theorie, namelijk:stap 1: bepalen van het karakteristiek polynoom (mbv.: poly(A))stap 2: bepalen van de nulpunten van de karakteristieke vergelijking

(mbv.: roots(poly(A)))stap 3: bepalen van de nulruimte van (A− λI)

(mbv.: rref(A− λ ∗ eye (A)))In hoofdstuk 12, opgave 3, hebben we gezien dat stap 2 vaak leidt tot benaderingen voor deeigenwaarden, waardoor het bepalen van de eigenvectoren in stap 3 niet meer lukt. Het is ech-ter binnen MATLAB mogelijk om via een iteratief-proces de eigenwaarden en eigenvectoren tebepalen, namelijk m.b.v. het commando:

eig(A)

Meer precies levert het commando [S,D]=eig(A) als uitvoer een diagonale matrix D met als ele-menten op de hoofddiagonaal de eigenwaarden van A en een matrix S, waarvan de kolommen deeigenvectoren van A zijn. De volgorde van deze kolommen stemt overeen met de volgorde van deelementen in de matrix D.

Wanneer de kolommen van S onafhankelijk zijn (en S dus een inverse, S−1, heeft), sluit dit aanbij de volgende decompositie (de eigenwaarden-decompositie van matrix A):

A = S ΛS−1 of Λ = S−1AS.

In het vervolg zullen we met dit commando de eigenwaarden en eigenvectoren van een matrixbepalen.

13.2 Opdrachten met MATLAB

1. Beschouw de volgende matrices uit opgave 2 van hoofdstuk 12:

A1 =

1 4 50 0.75 60 0 0.5

A2 =

−9 −3 −1613 7 163 3 10

a. Bepaal van deze matrices de eigenwaarden en eigenvectoren en vergelijk de resultatenmet de resultaten bij opdracht 1.8.2.

b. Ga na of de gegeven eigenvectoren onafhankelijk zijn en controleer, zo mogelijk, dedecompositie: A=S D S−1.

96

Page 97: Lavts Matlab

2. Bepaal van elk van de volgende matrices de eigenwaarden en eigenvectoren. Ga na of degegeven eigenvectoren onafhankelijk zijn en controleer, zo mogelijk, de decompositie: A=SD S−1.

a.

(−5 −4−4 3

)b.

(−5 −4−4 −3

)

c.

−2 2 32 1 63 6 6

d.

1 1 −11 1 −1

−1 −1 1

3. Beschouw de matrix:

A3 =

−28 13 −42−10 13 −6

19 −7 30

zoals gebruikt bij opgave 2 uit hoofdstuk 12.

a. De eigenwaarden van deze matrix zijn λ = 3 en λ = 6 (zie opgave 2, hoofdstuk 12)Bepaal nogmaals de bijbehorende eigenvectoren mbv. het commando rref(A3 − λ ∗eye (A3)).Is A3 diagonaliseerbaar?

b. Bepaal, mbv. het commando [S,D]=eig(A3) rechtstreeks de eigenwaarden en eigen-vectoren van A3 en vergelijk de antwoorden met de resultaten bij onderdeel a.Wat is de rang van de (door MATLAB gevonden) matrix van eigenvectoren? Bepaaldeze rang ook met behulp van het commando rank en vergelijk!Is het mogelijk om de (door MATLAB gevonden) matrix van eigenvectoren te inverte-ren?

Uit dit voorbeeld blijkt dat bij matrices die (exact gesproken) niet diagonaliseerbaar zijnhet resultaat van een numerieke berekening met de nodige voorzichtigheidgeınterpreteerd moet worden. In sommige gevallen (zoals bij A3) lijken er namelijk meeronafhankelijke eigenvectoren gevonden te worden (getuige de rang!) dan er feitelijk zijn.De oorzaak hiervan is dat bij de iteratieve berekening van eigenwaarden in plaats van een(exacte) eigenwaarde λ met algebraısche multipliciteit groter dan 1 meerdere eigenwaardengevonden kunnen worden die elk weliswaar erg dicht bij λ liggen, maar die op zich onderlingin waarde verschillen. Bij elk van deze verschillende eigenwaarden wordt een eigenvectorbepaald. De zo gevonden eigenvectoren zijn onderling onafhankelijk en de dimensie van hunopspansel kan groter zijn dan de dimensie van de nulruimte van A3−λI (dus de geometrischemultipliciteit van de (exacte) eigenwaarde λ).

97

Page 98: Lavts Matlab

c. Geef, binnen MATLAB, het commando: format long waardoor resultaten met 15ipv. 5 cijfers op het scherm weergegeven worden.

Bepaal nu nogmaals de eigenwaarden en eigenvectoren van A3. Verklaar hiermee deresultaten van onderdeel b.

Conclusie: Wanneer bij numerieke berekening eigenwaarden erg dicht bij elkaar liggendienen we bedacht te zijn op een niet diagonaliseerbare matrix. Nadere controle (b.v.door met behulp van het commando rref expliciet de nulruimte van (A3 − λ · I) teberekenen) is dan vereist om definitief uitsluitsel te kunnen geven.

d. Geef, binnen MATLAB, het commando: format short waardoor resultaten weer met5 cijfers op het scherm weergegeven worden.

4. Bepaal van elk van de volgende matrices rechtstreeks de eigenwaarden en eigenvectoren.Controleer of de gevonden eigenvectoren onafhankelijk zijn en geef aan of de matrix diago-naliseerbaar is.

a. A =

−3 −1 −38 6 6

−6 −6 −4

b. A =

0 1 30 0 31 0 −1

c. A =

3.5 −2.5 −5.5 −2.75

−1.0 2.0 5.0 0.50−0.5 0.5 3.5 0.25

0.0 0.0 0.0 −2.00

d. A =

2.5 2.5 −4.5−1.0 2.0 3.0−0.5 1.5 0.5

5. In elk van de volgende gevallen zijn van een matrix A de eigenwaarden en bijbehorendeeigenruimten gegeven. Bepaal een matrix A die met deze gegevens in overeenstemming isen controleer het antwoord door voor deze A rechtstreeks, met behulp van MATLAB, eigen-waarden, eigenvectoren en bijbehorende eigenruimten te bepalen.

a. eigenwaarde: 3 eigenruimte: < (2, 1)′ >eigenwaarde: −1 eigenruimte: < (1,−1)′ >

b. eigenwaarde: 1 eigenruimte: < (1, 1, 0)′; (0, 1, 2)′ >eigenwaarde: −2 eigenruimte: < (1, 0, 1)′ >

c. eigenwaarde: 0.2 eigenruimte: < (1, 0, 2)′ >eigenwaarde: 1.3 eigenruimte: < (0, 1,−2)′ >eigenwaarde: −0.5 eigenruimte: < (1, 0.5, 0.5)′ >

98

Page 99: Lavts Matlab

6. De beginvector u0 wordt geschreven als een lineaire combinatie van eigenvectoren van eendiagonaliseerbare matrix A met eigenwaarden λ1 t/m λn en bijbehorende eigenvectoren x1

t/m xn. Verder wordt gedefinieerd de vector:

uk = Aku0

deze is dan te schrijven als:

uk = c1λk1x1 + ... + cnλ

knxn

Wanneer voor de eigenwaarden van A geldt:

|λ1| ≤ |λ2| ≤ ... ... ≤ |λn−1| < |λn|

en wanneer cn 6= 0 blijkt uit de uitdrukking:

uk = λkn ·

{c1

(λ1

λn

)k

x1 + ... + cnxn

}

dat de vector uk voor k →∞ convergeert naar een veelvoud van de eigenvector xn. Bereke-ning van uk voor voldoende grote k levert dus een schatting op voor de eigenvector xn.Omdat, voor voldoende grote k, geldt dat:

uk ≈ (λn)kcnxn en uk+1 ≈ (λn)k+1cnxn ≈ λn uk

is de lengte van uk+1, bij benadering, een factor |λn| groter dan de lengte van uk. De ver-houding van deze lengtes vormt dus een schatting voor |λn|.Deze methode om de (in absolute waarde) grootste eigenwaarde en bijbehorende eigenvectorte bepalen staat bekend als de machtmethode.

Zijn binnen MATLAB de matrix A en de beginvector u ingevoerd, dan is het mogelijk omuitgaande van uk zowel de vector uk+1 alsook de verhoudingen van de lengtes van uk+1 enuk eenvoudig te berekenen met behulp van de commando’s:

for k = 1 : 15, k, v = A ∗ u, u, res = norm(v)/norm(u), u = v; pause, end

Op het scherm verschijnen dan achtereenvolgens de index van de nieuw berekende vec-tor (variabele k), deze vector zelf (variabele v), alsmede de verhoudingen van de lengtesvan uk+1 en uk (variabele res). Het pause-commando onderbreekt de uitvoering van dezeprogramma regel, zodat het mogelijk is om tussenresultaten te bekijken. Door tijdens zo’n

99

Page 100: Lavts Matlab

pause een willekeurige toets in te drukken wordt de uitvoering hervat!Beschouw de matrix:

A =

7 4 5−2 2 −2

1 0 3

a. Bepaal, uitgaande van de beginvector u = (1, 1, 1)T, de vector u15 en geef op gronddaarvan een schatting van de grootste eigenwaarde en bijbehorende eigenvector van A.Bereken ook rechtstreeks de eigenwaarden en eigenvectoren van A en vergelijk hetresultaat!

b. Bepaal, uitgaande van de willekeurige beginvector u = rand (3, 1), de vector u15

en geef op grond daarvan een schatting van de grootste eigenwaarde en bijbehorendeeigenvector van A.

c. Bepaal, uitgaande van de beginvector u = (0, 2,−2)T, de vector u15 en geef op gronddaarvan een schatting van de eigenwaarde en van een bijbehorende eigenvector van A.Vergelijk het resultaat met dat van de onderdelen a. en b. en probeer eventueleverschillen te verklaren.

Omdat de grootste eigenwaarde van A in dit geval een (absolute) waarde heeft die groter isdan 1 zal de lengte van uk+1 groter zijn dan de lengte van uk. Hierdoor is het mogelijk datuiteindelijk de componenten van uk+1 zo groot worden dat numerieke problemen onstaan.Door er voor te zorgen dat de vectoren uk+1 een lengte 1 hebben kan dit probleem voorkomenworden. Dit staat bekend als geschaalde machtmethode.Binnen MATLAB is dit te realiseren door de oorspronkelijke commando’s te veranderen in:

for k = 1 : 15, k, v = A ∗ u, u, res = norm(v)/norm(u), u = v/ norm(v); pause, end

Hierbij wordt de vector v uiteindelijk gedeeld door zijn lengte, norm(v); de vector die hier-door onstaat heeft dan lengte 1.

d. Bepaal, uitgaande van de willekeurige beginvector u rand(3, 1), op deze maniernogmaals u15 en geef op grond daarvan een schatting van de grootste eigenwaarde enbijbehorende eigenvector van A.

7. (vervolg van opgave 6) Als matrix A inverteerbaar is, bestaat de mogelijkheid om de (ge-schaalde) machtmethode ook toe te passen op A−1 in plaats van op A. Hierdoor is hetmogelijk om de grootste eigenwaarde en een bijbehorende eigenvector van A−1 te bepalen.In feite geldt in dat geval:

uk+1 = A−1uk

100

Page 101: Lavts Matlab

of, equivalent:

A uk+1 = uk

Uit deze laatste vergelijking kan mbv. de LU-decompositie uk+1 opgelost worden. Daadwer-kelijke berekening van de inverse A−1 is op die manier niet nodig.Dit staat bekend als de inverse macht-methode.

8. Binnen MATLAB is dit te realiseren door middel van de commando’s:

for k = 1 : 15, k, v = A\u, res = norm(v)/norm(u), u = v/ norm(v); pause, end

a. Bepaal, uitgaande van de willekeurige beginvector u = rand (3, 1), op deze manieru15 en geef op grond daarvan een schatting van de grootste eigenwaarde en bijbehorendeeigenvector van A−1.

b. Welke samenhang bestaat er tussen de eigenwaarden en de eigenvectoren van A enA−1?Controleer dit voor de bij onderdeel a. gevonden eigenvector.

Welke informatie geeft de grootste eigenwaarde en eigenvector van A−1 (dus) over deeigenwaarden en eigenvectoren van A?

Door bij de matrix A van alle diagonaal-elementen een waarde α af te halen onstaat deverschoven matrix (A − αI). Ook op deze matrix kan de machtmethode toegepast worden,resulterend in de (in absolute waarde) grootste eigenwaarde en een bijbehorende eigenvectorvan (A− αI).Bestaat bovendien de inverse (A − αI)−1 dan is het mogelijk om de (in absolute waarde)kleinste eigenwaarde van (A − αI) m.b.v. de inverse machtmethode te bepalen. Zoals zalblijken geven deze eigenwaarden en eigenvectoren verdere informatie over de eigenwaardenen eigenvectoren van de oorspronkelijke matrix A.

c. Welke samenhang bestaat er tussen de eigenwaarden en eigenvectoren van de matrixA en de verschoven matrix (A− αI)?

d. Bepaal van de oorspronkelijke matrix A nogmaals (zie onderdeel a. van opgave 6.)rechtstreeks de eigenwaarden.Kies enkele waardes voor α in de buurt van elke van deze eigenwaarden. Ga na wat bijdie keuzes voor α de (in absolute waarde) grootste en kleinste eigenwaarden van (A−αI)zijn en welke eigenvectoren van A gevonden zullen worden door de machtmethode en,voor zover mogelijk, de inverse machtmethode op (A− αI) toe te passen.

e. Bepaal, door een geschikte keuze van α, mbv. de (inverse) machtmethode eeneigenvector bij de middelste eigenwaarde van de oorspronkelijke matrix A.

101

Page 102: Lavts Matlab

Deze methode om een eigenvector te bepalen bij een andere dan de (in absolute waarde)grootste of kleinste eigenwaarde staat bekend als de verschoven inverse machtmethode.

9. Het autoverhuurbedrijf Move-It-Yourself-Trucks bezit in vijf Amerikaanse steden (Los An-geles, Boston, Chicago, Dallas en Eugene) vestigingen. Onderstaande matrix A geeft aanwelk deel van de trucks in een bepaalde stad zich na een maand in een andere stad bevindt.

ak+1

bk+1

ck+1

dk+1

ek+1

=

0.1 0.2 0.3 0.3 0.10.3 0.1 0 0.3 0.30.1 0 0.5 0.2 0.20.3 0.3 0.1 0.1 0.20.2 0.4 0.1 0.1 0.2

ak

bk

ck

dk

ek

Uit de vierde rij van deze matrix A blijkt bijvoorbeeld dat 3/10 van de trucks uit LosAngeles, 3/10 van de trucks uit Boston, 1/10 van de trucks uit Chicago, 1/10 van de trucksuit Dallas, en 2/10 van de trucks uit Eugene uit de k maand zich in de (k + 1) maand inDallas zullen bevinden.

a. Bepaal de eigenwaarden van A en leidt daaruit af dat dit proces neutraal stabiel is.

b. Bepaal de stationaire toestand, dus limk→∞

(ak, bk, ck, dk, ek)T. (Deze is onafhankelijk

van de startwaarden a0, b0, c0, d0 en e0).

10. Beschouw de volgende drie iteratierijen:

(i) ak+3 = 0.2ak + 0.4ak+1 − 0.6ak+2

(ii) ak+3 = −0.25ak + 0.25ak+1 + ak+2

(iii) ak+3 = 2ak + 4ak+1 + 6ak+2

a. Reduceer elk van deze iteratierijen tot een differentievergelijking van de vormuk+1 = A uk.

b. Ga na of deze vergelijkingen stabiel, neutraal stabiel of instabiel zijn.

11. In hoofdstuk 6 is gesproken over het iteratief oplossen van stelsels lineaire vergelijkingenAx = b met behulp van de methoden van Jacobi en Gauss-Seidel. Hierbij spelen uitdruk-kingen van de vorm

S x = Tx + b

een rol.Bij de methode van Jacobi is S een diagonaalmatrix met als elementen de elementen op dediagonaal van A (In MATLAB: S=diag(diag(A)) en T=S-A).

102

Page 103: Lavts Matlab

Bij de methode van Gauss-Seidel is S een onderdriehoeksmatrix met als elementen de ele-menten van A op en onder de diagonaal (In MATLAB: S=tril(A) en T=S-A).De convergentie van de iteratieve methode hangt af van (S−1T)k. Immers indien we startenmet een fout e0, zal de fout na k stappen ek = (S−1T)ke0 zijn. Dus xk → x dan en slechtsdan als ek → 0.Beschouw het volgende stelsel vergelijkingen:

2x1 −x2 +x3 = 3x1 +x2 +x3 = −2

−x1 −x2 +2x3 = −1

a. Bepaal de bij de methode van Jacobi behorende matrix S−1T.

b. Ga na of de iteratierij van Jacobi convergeert voor elke startvector x0.

c. Bepaal de bij de methode van Gauss-Seidel behorende matrix S−1T.

d. Ga na of de iteratierij van Gauss-Seidel convergeert voor elke startvector x0.

e. Beantwoord bovenstaande vier vragen ook voor het volgende stelsel vergelijkingen:x1 −2x2 +2x3 = −16

−x1 +x2 −x3 = 6−2x1 −2x2 +x3 = −5

13.3 Aanvulling Hoofdstukken 12 en 13

13.3.1 Concrete berekening van eigenwaarden/eigenvectoren

Tijdens het berekenen van de eigenwaarden en eigenvectoren van een n bij n matrix A zijn eenaantal vereenvoudigingen en controles mogelijk. We demonstreren deze aan de hand van het 3 bij3 voorbeeld:

A =

7 9 −3−2 −4 6

1 1 7

103

Page 104: Lavts Matlab

13.3.2 Het karakteristiek polynoom van A is

det(A − λI) =

∣∣∣∣∣∣7− λ 9 −3−2 −4− λ 61 1 7− λ

∣∣∣∣∣∣ =

∣∣∣∣∣∣7− λ 9 −3

0 −2− λ 20− 2λ1 1 7− λ

∣∣∣∣∣∣= (7− λ) ·

∣∣∣∣ −2− λ 20− 2λ1 7− λ

∣∣∣∣ + 1 ·∣∣∣∣ 9 −3−2− λ 20− 2λ

∣∣∣∣= (7− λ) · {(−2− λ)(7− λ)− (20− 2λ)}+ {9(20− 2λ) + 3(−2− λ)}

= −λ3 + 10λ2 − 8λ− 64

Merk op:

– Door rijvegen (rij 2 + 2 · rij 3) is in de eerste kolom een extra nul gecreeerd; vervolgenswordt de determinant naar deze kolom ontwikkeld. Een dergelijke vereenvoudiging is, zekerbij matrices met grotere afmetingen, altijd aan te bevelen.

– In het karakteristiek polynoom is de coefficient van λn : (−1)n.Hier: (−1)3 = −1.

– In het karakteristiek polynoom is de coefficient van λn−1 : (−1)n−1 · Tr(A). Met Tr, detrace, de som van de diagonaalelementen van A.Hier: (−1)2 · {7− 4 + 7} = 10.

– In het karakteristiek polynoom is de constante term: det(A).Hier: det(A) = −64.Dit blijkt door λ = 0 in het karakteristieke polynoom in te vullen.

13.3.3 De karakteristieke vergelijking van A is

det(A − λI) = −λ3 + 10λ2 − 8λ− 64 = 0 .

Een van de oplossingen hiervan blijkt λ = −2 te zijn. Het karakteristieke polynoom kan dusgedeeld worden door (λ + 2). Dit levert als opsplitsing van de karakteristieke vergelijking:

(λ + 2) · (−λ2 + 12λ− 32) = 0 .

De andere oplossingen volgen nu uit:

−λ2 + 12λ− 32 = 0

104

Page 105: Lavts Matlab

en zijn: λ = 4 en λ = 8.Daarmee is een opsplitsing van de karakteristieke vergelijkingen in factoren van graad 1 mogelijk:

−(λ + 2)(λ− 4)(λ− 8) = 0 .

Hieruit volgen de eigenwaarden met bijbehorende algebraısche multipliciteiten

λ = −2, algebraısche multipliciteit: 1λ = 4, algebraısche multipliciteit: 1λ = 8, algebraısche multipliciteit: 1.

Merk op:

– ’n Oplossing (hier λ = −2) is vaak te vinden door enkele (eenvoudige) waardes voor λ teproberen, of door de vergelijking numeriek op te lossen.

– Conform de eigenschappen, die voor eigenwaarden gelden:

λ1 · λ2 · λ3 = det(A ) = −64λ1 + λ2 + λ3 = Tr(A ) = 10 .

– Er zijn gevallen waarbij de karakteristieke vergelijking geen reele oplossingen heeft, bv. devergelijking:

λ2 − 2λ + 5 = 0 ⇐⇒ (λ− 1)2 + 5 = 0.

In zo’n geval bestaan er wel oplossingen in de verzameling van complexe getallen, C, zie voorverdere informatie de aanvulling van Hoofdstuk 15, oftewel paragraaf 15.3.

13.3.4 Eigenvectoren

Eigenvectoren bij de gevonden eigenwaarden volgen uit de nulruimte van A − λI. De bepalinghiervan verloopt geheel analoog aan de berekening van een nulruimte van een martrix. Voor elkeverschillende waarde van λ is een aparte berekening nodig:

λ = −2 : N(A + 2I)

dus :

7 + 2 9 −3−2 −4 + 2 61 1 7 + 2

1 1 00 0 10 0 0

, eigenruimte <

−110

>

105

Page 106: Lavts Matlab

λ = 4 : N(A− 4I)

dus :

7− 4 9 −3−2 −4− 4 61 1 7− 4

1 0 50 1 −20 0 0

, eigenruimte <

−521

>

λ = 8 : N(A − 8I)

dus :

7− 8 9 −3−2 −4− 8 61 1 7− 8

1 0 −3/50 1 −2/50 0 0

, eigenruimte <

325

>

Merk op:

– De dimensie van elk van de gevonden eigenruimten is een. Deze is gelijk aan de geometrischemultipliciteit van elk van de eigenwaarden. Deze geometrische multipliciteit is altijd kleinerof gelijk aan de algebraısche multipliciteit. Wanneer voor alle eigenwaardes van een matrixA de geometrische multipliciteit gelijk is aan de algebraısche multipliciteit, dan noemen wedeze matrix diagonaliseerbaar. Aan het belang daarvan wordt aandacht besteed in paragraaf13.3.6.

– De eigenwaardes λ zijn precies zo gekozen dat A −λI een singuliere matrix is. De dimensievan de nulruimte van A − λI (of: de geometrische multipliciteit van de eigenwaarde λ) isdaarom minstens een. Levert berekening van de nulruimte alleen de nulvector op, dan duidtdit op een fout tijdens de berekening of op een onjuiste eigenwaarde.

– Voor een matrix A geldt:

A singulier ⇐⇒ A heeft een eigenwaarde λ = 0

13.3.5 Eigenwaarden en eigenvectoren van gerelateerde matrices

Uit de eigenwaarden en bijbehorende eigenvectoren van een matrix A zijn eigenschappen af teleiden over de eigenwaarden en eigenvectoren van matrices die met A samenhangen. Expliciete

106

Page 107: Lavts Matlab

berekening kan daardoor in die gevallen vaak achterwege blijven.Veronderstel dat A een eigenwaarde λ met bijbehorende vector x heeft: Ax = λx.Dan geldt voor:

c · A: (c · A )x = c · λx dus cλ is een eigenwaarde van cAx is (ook) hierbij een eigenvector

en voor:

Ak, k ∈ N: Akx = λkx dus λk is een eigenwaarde van Ak

x is (ook) hierbij een eigenvector

Als A inverteerbaar is geldt voor:

A−1: A−1x = 1λx dus 1

λis een eigenwaarde van A−1

x is (ook) hierbij een eigenvector

Verder volgt uit det(A − λI) = det(AT − λI), dat A en AT hetzelfde karakteristieke polynoomdus dezelfde eigenwaarden hebben.

13.3.6 Eigenwaarden-decompositie

Als de matrix A diagonaliseerbaar is, bestaat er een eigenwaarden-decompositie:

A = S ΛS−1

Deze decompositie bevat informatie over de eigenwaarden (nl. de diagonaalelementen van Λ) eneigenvectoren (nl. de kolommen van S) van de matrix A.Als decompositie schaart ze zich in de rij van de decomposities die al eerder ter sprake zijngekomen, namelijk:

+ LU-decompositie zie hoofdstuk 4+ Cholesky-decompositie zie hoofdstuk 5+ QR-decompositie zie de hoofdstukken 9 en 10

13.3.7 Met A samenhangende eigenwaarden-decomposities

Uit de eigenwaarden-decompositie van een diagonaliseerbare matrix A:

A = S Λ S−1

is ook de eigenwaarden-decompositie af te leiden van matrices die met A samenhangen. Er geldtvoor:

107

Page 108: Lavts Matlab

c · A: cA = S (cΛ)S−1

Ak, k ∈ N: Ak = SΛkS−1

A−1 (mits die bestaat!): A−1 = S Λ−1S−1

AT: AT = (ST)−1ΛST

Uit deze decomposities blijken de eigenschappen voor de eigenwaarden (ogv. de diagonaalelemen-ten van respectievelijk cΛ, Λk en Λ−1) en eigenvectoren (ogv. de kolommen van telkens dezelfdematrix S) zoals besproken in paragraaf 13.3.5. Bovendien blijkt dat de eigenvectoren van AT

volgen uit de kolommen van (ST)−1, dus uit de rijen van S−1.

13.3.8 Eigenschappen van Aˆk x

Bij een diagonaliseerbare n bij n matrix A met eigenwaarde λ1 t/m λn vormen de bijbehoren-de onafhankelijke eigenvectoren x1 t/m xn een basis van Rn. Elke vector x ∈ Rn kan daaromgeschreven worden als lineaire combinatie van deze eigenvectoren:

x = c1x1 + ... + cn−1xn−1 + cnxn .

Uit deze opsplitsing volgt:

Akx = c1λk1x1 + ... + cn−1λ

kn−1xn−1 + cnλ

knxn

13.3.9 Grootste eigenwaarde

Veronderstel dat cn 6= 0 en dat de eigenwaarden λ1 t/m λn zo geordend zijn dat |λ1| ≤ |λ2| ≤ ... ≤|λn−1| < |λn|. Dan blijkt uit de opsplitsing:

Ak · x = λkn ·

{c1 ·

(λ1

λn

)k

x1 + ... + cn−1

(λn−1

λn

)k

xn−1 + cnxn

}het volgende:

– voor |λn| > 1 en k →∞ divergeert de lengte van de vector Akx

– voor |λn| = 1 en k →∞ convergeert de lengte van de vector Akx naar de positieve waarde|cnxn|

– voor |λn| < 1 en k →∞ convergeert de lengte van de vector Akx naar de waarde 0

– voor de verhouding van de lengtes van Ak+1x en Akx geldt

|Ak+1x||Akx|

= |λn|+ o(1) voor k →∞ .

108

Page 109: Lavts Matlab

Hieruit is het mogelijk om numeriek een benadering voor de in absolute waarde grootsteeigenwaarde λn van A te bepalen. Deze methode staat bekend als de machtmethode. In deopgaven 6 en 7 van hoofdstuk 13 is deze nader uitgewerkt!

13.3.10 Voorbeeld:

A =

3 1 11 5 11 1 3

en x =

256

Eigenwaarden en bijbehorende eigenvectoren van A zijn:

λ1 = 2, x1 =

10

−1

; λ2 = 3, x2 =

1−1

1

; λ3 = 6, x3 =

121

Om Akx te bepalen is de opsplitsing: x = c1x1 + c2x2 + c3x3 van belang. Deze geeft aanleidingtot het stelsel vergelijkingen: 2 = c1 +c2 + c3

5 = −c2 + 2c2

6 = −c1 +c2 + c3

of

1 1 10 −1 2

−1 1 1

c1

c2

c3

=

256

met als oplossing: c1 = −2, c2 = 1, c3 = 3.Bij gevolg is:

Akx = −2 · (2)k

10

−1

+ (3)k ·

1−1

1

+ 3 · (6)k ·

121

.

dus b.v.

A3x = −16

10

−1

+ 27

1−1

1

+ 648

121

=

6591269691

.

Merk op dat de eigenvector (1, 2, 1)T relatief belangrijker is geworden en dat de lengte van devector Akx voor k →∞ divergeert.

13.3.11 Differentie-vergelijkingen

Bij een bekende matrix A en vector u0 definieert het voorschrift:

uk+1 = Auk (k ∈ N)

109

Page 110: Lavts Matlab

een zgn. differentievergelijking. Dit voorschrift legt een rij vectoren {u0, u1, u2, ...} vast. Eenalternatieve beschrijving van dezelfde differentievergelijking wordt gegeven door het voorschrift:

uk = Aku0 (k ∈ N)

Hieruit blijkt dat het gedrag van uk voor k → ∞ afhangt van de eigenwaarden en eigenvectorenvan A (zie paragraaf 13.3.8). In het bijzonder geldt:

– Als voor alle eigenwaarden λi van A geldt dat |λi| < 1 dan zal, ongeacht de keuze voor u0,

uk → i voor k → ∞ .

De differentievergelijking heet dan stabiel.– Als A minstens een eigenwaarde |λ| = 1 heeft, terwijl voor alle andere eigenwaarden λi

geldt dat |λi| < 1 dan heet de differentievergelijking neutraal stabiel.

– Als u0 een eigenvector bij de eigenwaarde λ = 1 is dan geldt:

uk = u0 (k ∈ N) .

In dat geval is er sprake van een stationaire oplossing.

– Als A minstens een eigenwaarde λi heeft met |λi| > 1 zal voor elke u0 met een compo-nent in de richting van de bijbehorende eigenvector(en) de lengte van uk divergeren. Dedifferentievergelijking heet dan instabiel.

13.3.12 Voorbeeld: (zie paragraaf 13.3.10)

A =

3 1 11 5 11 1 3

u0 =

256

.

De differentievergelijking: uk+1 = Auk met k ∈ N legt een rij vectoren vast:

u0 =

256

u1 =

173325

u2 =

109207125

u3 =

6591269691

enz .

Uit de eigenwaarden van A, namelijk λ = 2, λ = 3 en λ = 6 volgt:

– de differentievergelijking heeft, afgezien van u0 = i, geen stationaire oplossingen.

– de differentievergelijking is instabiel: de lengte van de vector un divergeert.

110

Page 111: Lavts Matlab

13.3.13 Speciale differentievergelijkingen: iteratie-rijen

In een Calculus cursus wordt vaak de volgende iteratierij:

ak+1 = F (ak), a0 = s

besproken. Hierbij wordt een term ak+1 berekend uit de er aan voorafgaande term ak. Het is ookmogelijk om een rij zo te definieren dat een volgende term bepaald wordt door meerdere eraanvoorafgaande termen. Voorbeelden zijn:

ak+2 = ak+1 + ak, met a0 = 0 en a1 = 1, (Fibonacci)

of:

ak+3 = 2ak+2 + 5ak+1 − 6ak, met a0 = 3, a1 = −8, a2 = 4

of:

ak+2 = ak+1 · ak + sin

(ak + ak+1

2

), met a0 = 1 a1 = 4 .

Wanneer, zoals in de eerste twee gevallen, het voorschrift voor de nieuwe term lineair is, kan de rijomgezet worden in een differentievergelijking van de vorm zoals besproken in paragraaf 13.3.11:

uk+1 = A · uk .

Uit het gedrag van uk is dan ook het gedrag van de rij ak te bepalen.

13.3.14 Voorbeeld:

Het voorschrift:

ak+3 = 2ak+2 + 5ak+1 − 6ak, met a0 = 3, a1 = −8, a2 = 4

definieert een iteratierij {3,−8, 4,−50,−32,−338, ...}Een alternatieve schrijfwijze voor het voorschrift van deze iteratierij is: ak+1 = ak+1

ak+2 = ak+2

ak+3 = −6ak+ 5ak+1 +2ak+2

of: ak+1

ak+2

ak+3

=

0 1 00 0 1

−6 5 2

·

ak

ak+1

ak+2

111

Page 112: Lavts Matlab

met de keuze:

uk =

ak

ak+1

ak+2

en u0 =

a0

a1

a2

=

3−8

4

volgt hieruit de differentievergelijking:

uk+1 = Auk

Het karakteristiek polynoom van de bijbehorende matrix A is:

det(A− λI) = −λ3 + 2λ2 + 5λ− 6

Eigenwaarden en corresponderende eigenvectoren van A zijn:

λ1 = 1, x1 =

111

; λ2 = −2, x2 =

1−2

4

; λ3 = 3, x3 =

139

Om uk = Aku0 te bepalen is het van belang de beginvector u0 te schrijven als lineaire combinatievan de eigenvectoren van A:

u0 =

111

+ 3

1−2

4

139

Hieruit volgt de algemene vorm voor uk:

uk = 1k

111

+ 3 · (−2)k

1−2

4

− (3)k

139

Uit de eerste component van deze vector uk blijkt dan de algemene vorm voor een term uit de rijak:

ak = 1 + 3(−2)k − (3)k k ∈ N

Ga zelf na dat bij een keuze van de begintermen a0 = a1 = a2 = α ∈ R de iteratierij stationair is.

112

Page 113: Lavts Matlab

14 Lineaire afbeeldingen en basis-overgangen

14.1 Verschillende bases

Veronderstel dat voor een vectorruimte verschillende bases gegeven zijn, namelijk de standaard-basis E = (e1, e2, ..., en) en een andere basis B = (b1, b2, ..., bn).Het is dan mogelijk om een vector x te schrijven als lineaire combinatie van de basisvectoren vanE:

x = ε1e1 + ε2e2 + ... + εnen

maar ook als lineaire combinatie van de basisvectoren van B:

x = β1b1 + β2b2 + ... + βnbn

Door voor de basisvectoren een vaste volgorde af te spreken (er is dan sprake van een geordendebasis ) kunnen we x eenduidig vastleggen d.m.v. de kolomvectoren

xE =

ε1

ε2...εn

of xB =

β1

β2...

βn

.

De index E of B hierbij geeft aan ten opzichte van welke geordende basis gewerkt wordt. Zonderindexvermelding bedoelen we steeds impliciet de standaardbasis E. Individuele elementen van dekolomvectoren heten coordinaten.

14.2 Omzetten van coordinaten

Indien mogelijk dan kunnen coordinaten van vectoren van de ene geordende basis naar de anderegeordende basis worden omgezet. Er geldt dan:

xB = EB · xE

en

xE = BE · xB

Schematisch stellen we de omzetting vanxE naar xB voor als:

- EB-xB = EB · xE

xE

113

Page 114: Lavts Matlab

De omzetting de andere kant op, van xB naar xE, heeft als schematische voorstelling:

- BE-xE = BE · xB

xB

Hierbij is EB de basisovergangsmatrix die E vertaalt in B en BE de basisovergangsmatrix dieB vertaalt in E. De kolommen van deze matrices zijn qua interpretatie van belang. Het zijnrespectievelijk de vectoren van E uitgedrukt t.o.v. B en de vectoren van B uitgedrukt t.o.v. E.

14.3 Lineaire afbeeldingen ten opzichte van bases

Bij lineaire afbeeldingen A : Rn 7→ Rm die gedefinieerd worden door een matrixvermenigvuldigingspelen de beelden van de vectoren e1 = (1, 0, ..., 0)T t/m en = (0, 0, ..., 1)T van de standaardbasisE een speciale rol. Dit zijn namelijk precies de kolommen van de matrix A.

Als we nu van een lineaire afbeelding A : Rn 7→ Rm de beelden A(e1) t/m A(en) van de vectorenuit de standaardbasis E kennen, kunnen we, omgekeerd, deze afbeelding volledig beschrijven doormiddel van een matrix, de zo geheten afbeeldingsmatrix bij A. De kolommen van deze matrixbevatten informatie over de beelden van de vectoren uit E. Om dit te onderstrepen gebruiken weals notatie voor deze matrix: A(E). Het effect van de lineaire afbeelding op een willekeurige vectorx is schematisch weergegeven:

- A(E) -xE y

E= A(E) · xE

Dezelfde lineaire afbeelding A kan dus ook worden beschreven in een afbeeldingsmatrix ten op-zichte van de geordende basis B, notatie voor deze matrix A(B).Het effect van de lineaire afbeelding op een willekeurige vector x kunnen we schematisch weergevenals:

- A(B) -xB y

E= A(B) · xB

Hierbij is A(B) een matrix waarvan de respectievelijke kolommen de beelden voorstellen van devectoren uit de geordende basis B, ten opzichte van de basis E.Let er op dat de coordinaten van de vector y in beide gevallen ten opzichte van de E basis wordengegeven, oftewel:

A(E) = A(B) · EB en A(B) = A(E) · BE.

114

Page 115: Lavts Matlab

Het is ook wel eens van belang om de gehele afbeelding ten opzichte van een andere basis tebeschouwen, bijvoorbeeld van de basis B. De coordinaten van x worden ten opzichte van de basisB gegeven en de beelden y worden ook ten opzichte van de basis B gegeven. In zo’n geval hebbenwij te doen met de afbeeldingsmatrix A(B)B. De matrix waarvan de respectievelijke kolommen debeelden voorstellen van de vectoren uit de geordende basis B, uitgedrukt ten opzichte van dezelfdebasis B in het bereik.Hierbij zijn een aantal belangrijke relaties te benoemen:

A(B)B = EB · A(E) · BE = B−1E · A(E) · BE

en

A(E) = BE · A(B)B · EB = BE · A(B)B · B−1E

14.4 Duidelijke benamingen

Het is een goed gebruik de van toepassing zijnde matrices binnen MATLAB de volgende (begrij-pelijke) namen te geven:

EB → EBBE → BEA(E) → AEA(B) → ABA(B)B → ABB

14.5 Opdrachten met MATLAB

1. Beschouw basis B = (b1, b2, b3, b4) van R4 met

b1 = (1, 1, 0, 0)T, b2 = (0, 1, 1, 0)T, b3 = (0, 0, 1, 1)T, b4 = (1, 0, 0,−1)T

a. Voor een vector x geldt xB = (1, 2, 3, 4)T. Bepaal x.

b. Bepaal yB

met y = (− 2, −1, 5, 6)T.

c. Welke matrices beschrijven deze basisovergangen?

2. Van een lineaire afbeelding A : R4 → R3 is bekend dat

A(b1) = (1, 3, 8)T, A(b2) = (2, 5, 7)T, A(b3) = (3, 8, 14)T, A(b4) = (1, 2, 3)T

met B = (b1, b2, b3, b4) de basis uit opgave 1.Dus:

A(B) =

1 2 3 13 5 8 28 7 14 3

115

Page 116: Lavts Matlab

a. Bepaal de nulruimte van de matrix A(B) en daaruit de nulruimtevan de afbeelding A.

b. Bepaal de kolomruimte van de matrix A(B) en daaruit de beeldruimtevan de afbeelding A.

c. Bepaal de afbeeldingsmatrix A(E), alsmede N(A(E)) en R(A(E)).

d. Vergelijk de antwoorden uit onderdeel c. met die van a. en b.

3. Van een lineaire afbeelding A : R3 7→ R3 is het volgende bekend:

A((1, 2, 3)T) = (1, 2, 0)T

A((2, 5, 7)T) = (2, 5, 0)T

A((3, 8, 9)T) = (3, 8, 0)T

a. Bepaal de afbeeldingsmatrix A(E).

b. Geef een meetkundige interpretatie voor deze afbeelding A.

4. Beschouw de lineaire afbeelding P : R3 7→ R3 met als voorschrift:Projectie op het vlak V met vergelijking: x + y + z = 0.

a. Bepaal drie (onafhankelijke) vectoren waarvan je de beelden direct kunt opschrijven.

b. Bepaal m.b.v. onderdeel a. de afbeeldingsmatrix P(E)

c. Bepaal de projectie van b = (1, 2, 3)T op het vlak V .

In hoofdstuk 8 hebben we uitgebreid gesproken over projecties. We keren daar nu even naarterug.

d. Bepaal een matrix A met volle kolommenrang zo dat de kolomruimte van A gelijkis aan het vlak V.

e. Bepaal hiermee de projectie van b = (1, 2, 3)T op de kolomruimte van A.

f. Bepaal de projectiematrix A(ATA)−1AT.

g. Vergelijk de onderdelen c. en e. met elkaar en de onderdelen b. en f. met elkaar.

h. Bepaal de eigenwaarden en eigenvectoren van deze lineaire afbeelding P .

5. Beschouw de lineaire afbeelding S : R3 7→ R3 met als voorschrift:Spiegeling in het vlak V met vergelijking: x + y + z = 0.

a. Bepaal drie (onafhankelijke) vectoren waarvan je de beelden direct kuntopschrijven.

b. Bepaal m.b.v. onderdeel a. de afbeeldingsmatrix S(E).

116

Page 117: Lavts Matlab

c. Bepaal het beeld van x = (1, 2, 3)T.

d. Bepaal de eigenwaarden en eigenvectoren van deze lineaire afbeelding S.

6. Beschouw de lineaire afbeelding A : R4 7→ R4 met als afbeeldingsmatrix:

A(B)B =

−1 0 0 0

0 1 0 00 0 1 00 0 0 1

en als basis B = (b1, b2, b3, b4) met

b1 = (1, 1, 1, 1)T, b2 = (1,−1, 0, 0)T, b3 = (1, 0,−1, 0)T, b4 = (1, 0, 0,−1)T

a. Bepaal de afbeeldingsmatrix A(B).

b. Bepaal de afbeeldingsmatrix A(E).

c. Bepaal de eigenwaarden en eigenvectoren van A.

d. Geef een meetkundige interpretatie voor deze afbeelding A.

14.6 Aanvulling Hoofdstuk 14

117

Page 118: Lavts Matlab

15 Symmetrische en hermitische matrices, symmetrische

afbeeldingen

15.1 Transponeren en conjugeren

A′ levert een matrix die ten opzichte van A zowel getransponeerd alscomplex geconjugeerd is.

A.′ levert een matrix die ten opzichte van A alleen getransponeerd is.(Opmerking: voor reele matrices A zijn de commando’s A′ en A.′

equivalent!)conj(A) levert een matrix die ten opzichte van A alleen complex geconju-

geerd is.

Om van een matrix A te controleren of deze tot een speciale klasse behoort zijn dus van be-lang:

symmetrisch: A− A.′

Hermitisch: A− A′

Ga zelf na welke antwoorden je dan verwacht!Zie paragraaf 19.4 voor een overzicht van de belangrijke eigenschappen van symmetrische enhermitische matrices.

15.2 Opdrachten met MATLAB

1. Controleer met MATLAB de antwoorden van de extra opgaven 1, 2, 4 en 5 uit appendix18.7.

2. Bepaal de eigenwaarden en bijbehorende eigenvectoren van de matrices uit de extra opgave 3.Vergelijk de resultaten met de eigenschappen uit de appendix 19.4 voor zover van toepassing.

3. Van een drietal lineaire afbeeldingen van R3 naar R3 zijn hieronder de matrixvoorstellingent.o.v. de standaardbasis gegeven.

A1 =1

3

4 −2 −2−2 4 −2−2 −2 4

A2 =1

6

7 1 −21 7 −2

−2 −2 7

A3 =1

2

1 −1 −2−1 1 −2−2 −2 2

a. Bepaal van deze matrices de spectrale decompositie:A = Q · Λ ·QT met Q orthogonaal.

b. Geef voor elk van deze drie lineaire afbeeldingen een meetkundige interpretatie.

118

Page 119: Lavts Matlab

4. Beschouw de matrix A: 22 −2 −4−2 19 2−4 2 22

a. Welke algemene eigenschappen gelden er voor de eigenwaarden en eigenvectoren vanA?

Over de eigenwaarden en eigenvectoren van A is het volgende bekend:

eigenwaarde: 18 eigenruimte: < (1, 0, 1)T, (1, 2, 0)T >eigenwaarde: 27 eigenruimte: < (−2, 1, 2)T >

b. Zijn de gegeven eigenvectoren bij de eigenwaarde 18 orthogonaal?Zijn de gegeven eigenvectoren bij de eigenwaarde 18 en bij de eigenwaarde 27 onderlingorthogonaal?

Beschouw nu de matrix S, waarvan de kolommen bestaan uit de gegeven eigenvectoren vanA:

S =

1 1 −20 2 11 0 2

c. Wat is de rang van de matrix S?Is de matrix S orthogonaal?

d. Welke van de matrices S−1 · A · S en ST · A · S is/zijn diagonaal (en waarom)?Controleer het antwoord door concrete berekening!

Met behulp van de QR-decompositie bleek het mogelijk om een orthonormale basis te bepalenvoor een lineaire ruimte, zie de hoofdstukken 9 en 10.

e. Bepaal voor de eigenruimte bij eigenwaarde 18 een orthonormale basis.Bewijs zelf (algemeen) dat de nieuwe basisvectoren ook eigenvector zijn bij de eigen-waarde 18.

f. Vul de in onderdeel e. gevonden orthonormale basis voor de eigenruimte bij λ = 18aan tot een orthonormale basis voor R3.Beargumenteer dat de aangevulde basisvector een eigenvector is bij de eigenwaarde 27en controleer!

Beschouw de matrix Q met als kolommen de bij onderdeel f. gevonden orthogonale basis.

g. Welke van de matrices Q−1AQ en QTAQ is/zijn diagonaal (en waarom)?Controleer het antwoord door concrete berekening!

119

Page 120: Lavts Matlab

h. Bepaal de eigenwaarden en eigenvectoren rechtstreeks met MATLAB. Vergelijk deresultaten.

Wanneer we bovenstaande herhalen voor een matrix die niet symmetrisch is zullen de resul-taten verschillen.Neem om dit te onderzoeken de matrix B: −18 18 36

−18 27 18−36 18 54

met eigenwaarde: 18 eigenruimte: < (1, 0, 1)T, (1, 2, 0)T >

eigenwaarde: 27 eigenruimte: < (2, 1, 2)T >

i. Welke algemene eigenschappen gelden er voor de eigenwaarden en eigenvectoren vanB?

j. Zijn de gegeven eigenvectoren bij de eigenwaarde 18 orthogonaal?Zijn de gegeven eigenvectoren bij de eigenwaarde 18 en bij de eigenwaarde 27 onderlingorthogonaal?

Beschouw nu de matrix S1, waarvan de kolommen bestaan uit de gegeven eigenvectoren vanB:

S1 =

1 1 20 2 11 0 2

k. Wat is de rang van de matrix S1?Is de matrix S1 orthogonaal?

l. Welke van de matrices S−11 AS1 en ST

1 AS1 is/zijn diagonaal (en waarom)?Controleer het antwoord door concrete berekening!

m. Bepaal voor de eigenruimte bij eigenwaarde 18 een orthonormale basis.Bewijs zelf (algemeen) dat de nieuwe basisvectoren ook eigenvector zijn bij de eigen-waarde 18.

n. Vul de in onderdeel m. gevonden orthonormale basis voor de eigenruimte bij λ = 18aan tot een orthonormale basis voor R3.Is de aangevulde basisvector een eigenvector bij de eigenwaarde 27?Vergelijk dit resultaat met onderdeel f.

Beschouw de matrix Q1, met als kolommen de bij onderdeel n. gevonden orthogonale basis.

p. Welke speciale vorm heeft de matrix QT1 B Q1 nu?

Vergelijk dit resultaat met onderdeel g.

120

Page 121: Lavts Matlab

5. Beschouw de lineaire afbeelding P : R3 → R3 met als voorschrift:

projectie op de rechte x = α(1, 2, 3)T.

a. Bepaal de eigenwaarden en bijbehorende eigenvectoren van deze lineaire afbeelding.

b. Bepaal de matrixvoorstelling P van deze afbeelding t.o.v. de standaardbasis.

c. Controleer of P een projectiematrix is.

6. Beschouw de lineaire afbeelding S : R3 → R3 met als voorschrift:

spiegeling in het vlak met vergelijking x1 + 2x2 + 3x3 = 0.

a. Bepaal de eigenwaarden en bijbehorende eigenvectoren van deze lineaire afbeelding.

b. Bepaal de matrixvoorstelling S van deze afbeelding t.o.v. de standaardbasis.

c. Bepaal S2.

7.

a. Van een matrix, A, is het volgende bekend:

* A is reeel en heeft afmetingen 4 bij 4

* A is symmetrisch

* A heeft als eigenwaarden 18 en 27, beide met algebraısche multipliciteit 2

* de eigenruimte bij eigenwaarde 18 is: < (1, 0, 1, 0)T, (1, 2, 0, 0)T >

Bepaal op grond van deze gegevens de matrix A en controleer het antwoord mbv.MATLAB.

b. Van een matrix A is het volgende bekend:

* A is reeel en heeft afmetingen 6 bij 6

* A is symmetrisch

* (1, 2, 4, 1, 3, 9)T is een eigenvector bij eigenwaarde 1

* (1, 1, 0, 0,−1, 0)T en (0, 3, 0, 0, 1,−1)T zijn eigenvectoren bij eigenwaarde 2

* de eigenruimte bij eigenwaarde 0.5 heeft dimensie 3.

Bepaal op grond van deze gegevens de matrix A en controleer het antwoord mbv.MATLAB.

121

Page 122: Lavts Matlab

8. Beschouw de lineaire afbeelding A : R3 → R3 met als matrixvoorstelling t.o.v. de stan-daardbasis:

A1 =1

3

4 −2 −2−2 4 −2−2 −2 4

zie opgave 3

Beschouw de basis B = {b1, b2, b3} met:

b1 = (1, 0, 0)T , b2 = (1, 1, 0)T , b3 = (1, 1, 1)T

a. Is B een orthonormale basis?

b. Bepaal A(B)B. Is deze matrix symmetrisch?

Beschouw de basis C = {c1, c2, c3} met:

c1 = (1, 0, 0)T , c2 = 1√2(0, 1, 1)T , c3 = 1√

2(0, 1,−1)T

c. Is C een orthonormale basis?

d. Bepaal A(C)C. Is deze matrix symmetrisch?

e. Is de afbeeldingsmatrix van een symmetrische lineaire afbeelding ten opzichte vaneen orthonormale basis altijd symmetrisch?

9. Voor de speciale eigenschappen van de eigenwaarden en eigenvectoren van Hermitische ma-trices (zie appendix 19.4) maakt het niet uit of de matrix A complex of reeel (dus in feitesymmetrisch) is. Voor de speciale eigenschappen van de eigenwaarden en eigenvectoren vansymmetrische matrices (zie appendix 19.4) is het wel essentieel dat de matrix reeel is. Indeze opdracht laten we dit aan de hand van enkele voorbeelden zien.

Beschouw, in MATLAB, de (willekeurige) reele ma-trix:

A=rand(4)

en de (willekeurige) complexe matrix: AC=rand(4)+i*rand(4)

a. Bepaal van beide matrices de eigenwaarden en eigenvectoren.

* Zijn de eigenwaarden en eigenvectoren reeel?

* Komen de eigenwaarden en eigenvectoren voor in complex geconjugeerde paren?

* Zijn de eigenvectoren bij verschillende eigenwaarden onderling orthogonaal?

Beschouw nu de matrices: AS = (A + AT)/2 (MATLAB: AS=(A+A.’)/2)en: ACS = (AC + ACT)/2 (MATLAB: ACS=(AC+AC.’)/2)

122

Page 123: Lavts Matlab

b. Bewijs zelf (algemeen) dat de matrices AS en ACS symmetrisch zijn.Controleer dit met behulp van MATLAB.

c. Bepaal van de matrices AS en ACS de eigenwaarden en eigenvectoren.

* Zijn de eigenwaarden en eigenvectoren reeel?

* Komen de eigenwaarden en eigenvectoren voor in complex geconjugeerde paren?

* Zijn de eigenvectoren bij verschillende eigenwaarden onderling orthogonaal?

* Zijn de eigenschappen die gelden voor de eigenwaarden/eigenvectoren van reelesymmetrische matrices in het algemeen ook van toepassing op complexe symmetri-sche matrix?

Beschouw nu de matrices: AH = (A + AH)/2 (MATLAB: AH=(A+A.’)/2)en: ACH = (AC + ACH)/2 (MATLAB: ACH=(AC+AC.’)/2)

d. Bewijs zelf (algemeen) dat de matrices AH en ACH Hermitisch zijn en dat de matrixAH identiek is aan de matrix AS.Controleer dit met behulp van MATLAB.

e. Bepaal van de matrices AH en ACH de eigenwaarden en eigenvectoren.

* Zijn de eigenwaarden en eigenvectoren reeel?

* Komen de eigenwaarden en eigenvectoren voor in complex geconjugeerde paren?

* Zijn de eigenvectoren bij verschillende eigenwaarden onderling orthogonaal?

* Zijn de eigenschappen die gelden voor de eigenwaarden/eigenvectoren van reeleHermitische matrices in het algemeen ook van toepassing op complexe Hermitischematrix?

15.3 Aanvulling Hoofdstuk 15

15.3.1 Complexe eigenwaarden, eigenvectoren en matrices

Tot nu toe hebben we ons bij het berekenen van eigenwaarden en eigenvectoren beperkt tot reelematrices A en tot de reele oplossingen van de bijbehorende karakteristieke vergelijking, met als re-sultaat reele eigenwaarden en eigenvectoren. Het kan echter zijn dat de karakteristieke vergelijking(ook) niet-reele oplossingen heeft, met als resultaat complexe eigenwaarden en eigenvectoren.

15.3.2 Voorbeeld 1:

Beschouw de (reele) matrix

A =

0 2 20 1 −1

−1 1 3

123

Page 124: Lavts Matlab

Ga na dat A als karakteristiek polynoom heeft:

det(A− λI) = −λ3 + 4λ2 − 6λ + 4 = −(λ− 2)(λ2 − 2λ + 2)

Hieruit volgen als oplossingen voor de karakteristieke vergelijking:

λ− 2 = 0 ⇐⇒ λ = 2

λ2 − 2λ + 2 = 0 ⇐⇒ (λ− 1)2 + 1 = 0 ⇐⇒ λ = 1 + i, λ = 1− i

Bijbehorende eigenruimtes volgen uit de nulruimte N(A− λI) en zijn respectievelijk:

λ = 2 : N(A− 2I)

dus :

−2 2 20 −1 −1

−1 1 1

1 0 00 1 10 0 0

eigenruimte E2 =<

0−1

1

>

λ = 1 + i : N(A− (1 + i)I)

dus :

−1− i 2 20 −i −1−1 1 2− i

2 −2 + 2i −2 + 2i0 −i −1−1 1 2− i

1 0 −20 1 −i0 0 0

,

eigenruimte E1+i =< (2, i, 1)T >

λ = 1− i : N(A− (1− i)I)

dus :

−1 + i 2 20 i −1−1 1 2 + i

2 −2− 2i −2− 2i0 i −1−1 1 2 + i

1 0 −20 1 i0 0 0

,

eigenruimte E1−i =< (2,−i, 1)T >Merk hierbij op:

– Bij een reele matrix A zijn de coefficienten in het karakteristieke polynoom reeel. Eengevolg hiervan is dat de oplossingen van de karakteristieke vergelijking (dus de eigenwaardenvan A) voorkomen in complex toegevoegde paren. Hier: λ = 1+ i en λ = 1− i. Immers vooreen polynoom:

p(z) = pnzn + pn−1z

n−1 + ... + p1z + p0

124

Page 125: Lavts Matlab

met reele coefficienten p0 t/m pn geldt:

p(z) = p(z)

dus als p(λ) = 0 dan is ook p(λ) = p(λ) = 0.De eigenvectoren bij deze complex toegevoegde eigenwaarde zijn complex toegevoegd. Im-mers als Ax = λx dan geldt:

Ax = λx ⇐⇒ A · x = λ · x– Bij het vegen met een spil die niet reeel is, b.v. −1 − i of −1 + i, is het handig om eerstde hele rij met de complex toegevoegde waarde van de spil te vermenigvuldigen, dus hierrespectievelijk −1 + i en −1− i. Het spilelement wordt daardoor namelijk reeel!

15.3.3 Beperking A is reeel kan vervallen

Het is mogelijk om ook de beperking dat de matrix A reeel is te laten vallen en de eigenwaardenen eigenvectoren van matrices met niet reele elementen te bepalen. Voor algemene complexematrices besteden we daar geen aandacht aan. Wel wordt in dit hoofdstuk, aandacht besteed aanHermitische matrices, en in hoofdstuk 16 wordt aandacht besteed aan unitaire matrices.

15.3.4 Hermitisch conjugeren en Hermitische matrices

Een direct gevolg van het toelaten van complexe eigenwaarden is dat vectoren met complexeelementen op kunnen treden, zie paragraaf 15.3.2. Voor zulke vectoren is een ander inproduct vantoepassing dan voor reele vectoren. Bij het concreet berekenen van zo’n inproduct is als bewerkingin plaats van het transponeren het Hermitisch conjugeren van belang: het verwisselen van rijen enkolommen gecombineerd met het vervangen van alle elementen door hun complex toegevoegden(notatie: bovenindex H dus bv. AH). Ook bij complexe matrices is deze operatie van belang. Devier fundamentele ruimten van zo’n matrix zijn namelijk (in analogie met Hoofdtuk 7):

R(A), N(A), R(AH) en N(AH)

Hiervoor geldt:

N(A)⊥ = R(AH) en R(A)⊥ = N(AH)

Voorbeeld 2:

A =

(2 + i 5− i3− i 4

)AH =

(2− i 3 + i5 + i 4

)

125

Page 126: Lavts Matlab

15.3.5 Speciale klasse, de Hermitische matrices

Een speciale klasse van matrices wordt gevormd door de matrices met:

A = AH

dus de matrices die door Hermitisch conjugeren niet veranderen. Dit zijn de Hermitische matrices.Uit de eigenschap:

det(AH) = det(A)

volgt dat voor Hermitische matrices de determinant reeel is.Voorbeeld 3:

A =

(2 3− i

3 + i 4

)AH =

(2 3− i

3 + i 4

)dus A = AH en A is Hermitisch. Verder is det(A)= 8− (3 + i)(3− i) = −2 ∈ R.

15.3.6 Symmetrische lineaire afbeeldingen: matrixvermenigvuldiging

Een speciale klasse van lineaire afbeeldingen A : Rn 7→ Rn wordt gevormd door de matrixver-menigvuldigingen met symmetrische matrices A. We noemen dit (voorlopig) een symmetrischelineaire afbeeldingen maar zullen in paragraaf 15.3.12 een nauwkeurigere definitie geven. (Overde basis ten opzichte waarvan de matrix wordt gedefinieerd wordt op dit moment niets gezegd!)Eerst bekijken we enkele voorbeelden.

15.3.7 Voorbeeld 4:

Beschouw A : R3 7→ R3 met als (symmetrische) vermenigvuldigingsmatrix:

A =

0.6 0 0.80 1 0

0.8 0 −0.6

Eigenwaarden en eigenvectoren van de lineaire afbeelding A corresponderen met de eigenwaardenen eigenvectoren van de (symmetrische) matrix A. Concreet geldt voor A:

– karakteristiek polynoom: (1− λ) · (λ2 − 1)

– eigenwaarden: λ = 1 (algebraısche multipliciteit : 2)λ = −1 (algebraısche multipliciteit : 1)

– eigenruimtes: E1 =<

010

,

201

> (geometrische multipliciteit : 2)

E−1 =<

10

−2

> (geometrische multipliciteit : 1)

126

Page 127: Lavts Matlab

– Deze eigenruimtes zijn onderling orthogonaal (immers A is symmetrisch).A is diagonaliseerbaar.

Op grond van deze eigenwaarden en eigenvectoren is het mogelijk om een meetkundige interpretatievoor de lineaire afbeelding A te geven:

– vectoren x ∈ E1 veranderen door de afbeelding niet: A(x) = x. Dit zijn precies allevectoren in het vlak met vergelijking

x1 − 2x3 = 0– vectoren x ∈ E−1 gaan door de afbeelding over in hun tegengestelde: A(x) = −x. Dit zijnprecies de vectoren loodrecht op het vlak met vergelijking x1 − 2x3 = 0.

Een meetkundige interpretatie voor de lineaire afbeelding A is daarom de spiegeling in het vlakmet vergelijking x1− 2x3 = 0. Merk op dat uit het meetkundig beeld van een spiegeling volgt datA2(x) = x: twee keer achter elkaar spiegelen levert weer het origineel op. Ga zelf na dat A2 = I.

15.3.8 Voorbeeld 5:

Beschouw A : R3 7→ R3 met als (symmetrische) vermenigvuldigingsmatrix:

A =

0.8 0 0.40 1 0

0.4 0 0.2

Bij deze matrix geldt:

– karakteristiek polynoom: (1− λ) · (λ2 − λ)

– eigenwaarden: λ = 1 (algebraısche multipliciteit : 2)λ = 0 (algebraısche multipliciteit : 1)

– eigenruimtes: E1 =<

010

,

201

> (geometrische multipliciteit : 2)

E0 =<

10

−2

> (geometrische multipliciteit : 1)

– De eigenruimtes E0 en E1 zijn onderling orthogonaal (immers A is symmetrisch).Hieruit volgt:

– vectoren x ∈ E1, dus vectoren in het vlak met vergelijking x1 − 2x3 = 0, veranderen doorde afbeelding niet: A(x) = x.

– vectoren x ∈ E0, dus vectoren loodrecht op het vlak met vergelijking x1− 2x3 = 0, komendoor de afbeelding in i terecht: A(x) = i.

127

Page 128: Lavts Matlab

Een meetkundige interpretatie van deze lineaire afbeelding A is daarom de projectie op het vlakmet vergelijking x1 − 2x3 = 0. Merk op dat uit het meetkundig beeld van een projectie volgt datA2(x) = A(x): twee keer achter elkaar projecteren op het zelfde vlak levert hetzelfde resultaat opals een keer projecteren. Ga zelf na dat in dit geval A2 = A.

15.3.9 Voorbeeld 6:

Beschouw A : R3 7→ R3 met als (symmetrische) vermenigvuldigingsmatrix:

A =

4.7 0 2.60 6 0

2.6 0 0.8

Bij deze matrix geldt:

– karakteristiek polynoom: (6− λ) · (λ2 − 5.5λ− 3)

– eigenwaarden: λ = 6 (algebraısche multipliciteit : 2)λ = −1

2(algebraısche multipliciteit : 1)

– eigenruimtes: E6 =<

010

,

201

> (geometrische multipliciteit : 2)

E−1/2 =<

10

−2

> (geometrische multipliciteit : 1)

– Deze eigenruimtes zijn onderling orthogonaal (immers A is symmetrisch).Hieruit volgt:

– vectoren x ∈ E6, dus vectoren in het vlak met vergelijking x1−2x3 = 0, veranderen door deafbeelding A niet van richting. Wel wordt de lengte opgerekt met een factor 6: A(x) = 6 ·x.

– vectoren x ∈ E−1/2, dus vectoren loodrecht op het vlak met vergelijking x1−2x3 = 0, gaandoor de afbeelding A qua richting over in hun tegengestelde. Bovendien krimpt de lengtemet een factor 1

2: A(x) = −1

2x.

Een meetkundige interpretatie voor de lineaire afbeelding A is daarom een spiegeling in het vlakmet vergelijking x1 − 2x3 = 0, gevolgd door een oprekking met een factor 6 in de richting van ditvlak en een inkrimping met een factor 1

2in een richting loodrecht op dit vlak.

128

Page 129: Lavts Matlab

15.3.10 De vooorbeelden zijn afbeeldingsmatrices

De matrices in de paragrafen 15.3.7 t/m 15.3.9 zijn in feite afbeeldingsmatrices van de lineaireafbeelding A ten opzichte van de standaardbasis E = (e1, e2, e3), dus volgens de notatie van deaanvulling 14.6 van Hoofdstsuk 14: A(E).Omdat de matrix A in elk van de gevallen symmetrisch is, bleek het mogelijk om een basis vaneigenvectoren te vinden. De afbeeldingsmatrix van A ten opzichte van zo’n geordende basis vaneigenvectoren B = (b1, b2, b3), genoteerd als A(B)B, heeft een speciale vorm: het is namelijkeen diagonaal matrix! Ga zelf na dat voor het voorbeeld uit paragraaf 15.3.7, bij de keuze vanb1 = (0, 1, 0)T, b2 = (2, 0, 1)T, b3 = (1, 0,−2)T geldt:

A(B)B =

1 0 00 1 00 0 −1

15.3.11 Minder speciale bases

De afbeeldingsmatrix van A kan ook ten opzichte van een minder speciale basis B bepaald worden.Bij bijvoorbeeld de keuze b1 = (1, 0, 0)T, b2 = (1, 1, 0)T, b3 = (1, 1, 1)T volgt deze afbeeldingsmatrixuit:

A(B)B = B−1E · A(E) · BE

met hier:

BE =

1 1 10 1 10 0 1

en B−1E =

1 −1 00 1 −10 0 1

Voor het voorbeeld uit paragraaf 15.3.7 geldt dan:

A(B)B =

0.6 −0.4 0.4−0.8 0.2 0.8

0.8 0.8 0.2

Hoewel de matrix A(B)B nog steeds dezelfde lineaire afbeelding A voorstelt, namelijk spiegelingin het vlak met vergelijking x1 − 2x3 = 0, is deze matrix niet langer symmetrisch! Alleen alsB−1

E = BTE, dus als BE orthogonaal is, is ook A(B)B symmetrisch.

Immers dan geldt:

A(B)TB = (B−1

E · A(E) · BE)T = BTE · A(E)T · (B−1

E )T = B−1E · A(E) · BE = A(B)B

Concreet betekent dit dat de basisvectoren van B = (b1, b2, b3) dan onderling loodrecht zijn en eenlengte 1 hebben: B is dus een orthonormale basis.

129

Page 130: Lavts Matlab

15.3.12 Nauwkeurige definitie van symmetrische lineaire afbeelding

Hiermee kan, nauwkeuriger dan in paragraaf 15.3.6, een symmetrische lineaire afbeelding gedefi-nieerd worden:

– Een lineaire afbeelding A : Rn 7→ Rn heet symmetrisch als de afbeeldingsmatrix tenopzichte van een orthonormale geordende basis B = (b1, b2, ..., bn) symmetrisch is.

Een equivalente definitie is:

– Een lineaire afbeelding A : Rn 7→ Rn heet symmetrisch als voor alle x, y ∈ Rn geldt(A(x), y) = (x,A(y)).

Immers uit de eerste definitie volgt bij een orthonormale basis B:

(A(x), y) = (A(B)B · xB)T · yB

= xTB · A(B)T

B · yB= xT

B · A(B)B · yB= (x, A(y))

terwijl uit de tweede definitie volgt voor het matrix-element op plaats (i, j):

aij = (A(bj), bi) = (bj,A(bi)) = aji dus A(B)TB = A(B)B

15.3.13 Symmetrische lineaire afbeeldingen: meetkundig

Meetkundig corresponderen symmetrische lineaire afbeeldingen met oprekkingen en inkrimpingenlangs richtingen die onderling loodrecht zijn (zie b.v. paragraaf 15.3.9). Speciale gevallen zijndaarbij spiegelingen ( zie paragraaf 15.3.7); eigenwaarden λ = 1 en λ = −1) en projecties (zieparagraaf 15.3.8; eigenwaarden λ = 1 en λ = 0). De bijbehorende afbeeldingsmatrix A(E) kan opgrond van de eigenwaarden en de eigenvectoren bepaald worden. We bespreken dat aan de handvan een voorbeeld.

15.3.14 Voorbeeld 7:

Beschouw de lineaire afbeelding A : R3 7→ R3 met als voorschrift:

– spiegeling in de lijn l : x = ρ(1, 1, 2)T gevolgd door een oprekking met een factor 4 voorvectoren loodrecht op de lijn van spiegeling.

Vectoren langs de lijn van spiegeling zijn eigenvectoren bij eigenwaarde λ = 1. Vectoren in hetvlak loodrecht op de lijn van spiegeling zijn eigenvectoren bij eigenwaarde λ = −4.Een handige basiskeuze is nu b1 = (1, 1, 2)T, langs de spiegellijn, en b = (2, 0,−1)T en b3 =(0, 2,−1)T in het vlak loodrecht op de spiegellijn. De beelden van deze vectoren zijn:

A(b1) = b1 , A(b2) = −4b2 , A(b3) = −4b3

Daarmee is:

A(B)B =

1 0 00 −4 00 0 −4

130

Page 131: Lavts Matlab

De afbeeldingsmatrix A(E) ten opzichte van de standaardbasis E = (e1, e2, e3) volgt dan uit:

A(E) = BE · A(B)B · B−1E

met

BE =

1 2 01 0 22 −1 −1

en B−1E =

1

12·

2 2 45 −1 −2

−1 5 −2

Het resultaat is:

A(E) =1

6

−19 5 105 −19 10

10 10 −4

Merk op dat A(E) symmetrisch is, dus dat A een symmetrische lineaire afbeelding voorstelt!

15.3.15 Positief definiete matrices

In paragraaf 5.5.2 zijn positief definiete matrices ingevoerd: symmetrische matrices A waarvoorgeldt dat xT · A · x > 0 voor alle x 6= 0. Voor een eigenvector xi bij eigenwaarden λi betekent ditdat:

xTi · A · xi = xT

i · λi · xi = λi · xTi · xi > 0

dus:

– de eigenwaarden van een positief definiete matrix zijn positief.Omgekeerd geldt voor een symmetrische matrix A met positieve eigenwaarden λ1, λ2, ..., λn dat Adefiniet positief is. Immers ten opzichte van een bijbehorende orthonormale basis van eigenvectorenx1, x2, ..., xn is elke vector x te schrijven als:

x = c1x1 + c2x2 + ... + cnxn

waaruit volgt:

xT · A · x = (c1xT1 + c2x

T2 + ... + cnx

Tn ) · (c1λ1x1 + c2λ2x2 + ... + cnλnxn)

= c21λ1 + c2

2λ2 + ... + c2nλn > 0

Hieruit volgt de equivalentie van de volgende beweringen voor een symmetrische matrix:

(1) xT · A · x > 0 voor alle x 6= 0

(2) voor alle eigenwaarden van A geldt: λi > 0

(3) alle spillen (zonder rijverwisseling) zijn positief (zie paragraaf 5.5.2)

131

Page 132: Lavts Matlab

15.3.16 Voorbeeld 8:

A =

(2 11 2

)A is symmetrisch en heeft als eigenwaarden λ = 1 en λ = 3 dus A is positief definiet.

132

Page 133: Lavts Matlab

16 Orthogonale en unitaire matrices, orthogonale afbeel-

dingen

16.1 Orthogonaal en unitair

Om van een matrix A te controleren of deze tot een speciale klasse behoort zijn van belang:

orthogonaal: A ∗ A .′

unitair : A ∗ A′

(Ga zelf na welke antwoorden je dan verwacht!)

16.2 Aanvullen tot orthonormale basis

Met behulp van het commando voor de QR-decompositie:

[Q,R] = qr (A),

zoals besproken in hoofdstuk 9, is het mogelijk om de kolommen van een m bij n matrix A te or-thonormeren en zo nodig aan te vullen tot een orthonormale basis voor Rm. Dit kan van pas komenbij het bepalen van een geschikte orthonormale basis B ten opzichte waarvan de afbeeldingsmatrixvan een draaiing of een draaispiegeling een eenvoudige vorm heeft.

16.3 Opdrachten met MATLAB

1. Bepaal de eigenwaarden en bijbehorende eigenvectoren van de matrices uit de extra opgave1. Vergelijk de resultaten met de eigenschappen uit paragraaf 19.5 voor zover van toepassing.

2. Van negen lineaire afbeeldingen is in de volgende tabel de matrixvoorstelling t.o.v. destandaardbasis gegeven. Ga na of de matrices symmetrisch en/of orthogonaal zijn. Bepaalvoor elk van deze afbeeldingen een meetkundige interpretatie alsmede de beeldruimte en denulruimte. Geef bij de meetkundige interpretatie van een afbeelding (indien van toepassing):

– het vlak of de lijn waarop geprojecteerd wordt

– het vlak of de lijn waarin gespiegeld wordt

– het vlak van draaiing, de draaiingsas, de draaiingshoek en de draairichting

– de richting waarin oprekking plaats vindt, inclusief de oprekkingsfactor.

Gebruik voor de antwoorden de tabel.

133

Page 134: Lavts Matlab

matrixvoor- symm. orth. meetkundige beeldruimte nulruimtestelling interpretatie

A1 =

1 0 00 1 00 0 2

A2 = 13

4 −1 −1−1 4 1−1 1 4

A3 = 13

1 2 22 1 −22 −2 1

A4 = A−1

3

A5 = 13

2 1 11 2 −11 −1 2

A6 = 13

1 a− 1 −a− 1−a− 1 1 −a + 1

a− 1 a + 1 1

met a =

√3

A7 = A−16

A8 = 13

2 1 −2−2 2 −1

1 2 2

A9 = A2A6

Beschouw de lineaire afbeelding A : R3 7→ R3 met als voorschrift:

draaispiegeling rond z = (2,−1, 3)T met een positieve draairichting en eendraaiingshoek |ϕ| = π

3

Bepaal de matrix van A t.o.v. de standaardbasis.

134

Page 135: Lavts Matlab

3. Van de lineaire afbeelding A : R3 → R3 met A als matrixvoorstelling t.o.v. de standaardba-sis, is het volgende bekend:

∗ A is orthogonaal

∗ det (A)= −1

∗ A

122

=

300

∗ A

21

−2

=

00

−3

Bepaal A en geef een meetkundige interpretatie van A.

4. Beschouw de lineaire afbeelding S : R3 → R3 met als voorschrift:

spiegeling in het vlak met vergelijking x1 + 2x2 + 3x3 = 0.

a. Bepaal de eigenwaarden en eigenvectoren van deze lineaire afbeelding.

b. Bepaal de matrixvoorstelling S van deze afbeelding.

c. Bepaal S2.

5. Beschouw de lineaire afbeelding A : R4 → R4 met als matrixvoorstelling t.o.v. de stan-daardbasis:

A =1

6

3 −3 3 31 5 3 15 1 −3 −1

−1 1 −3 5

a. Ga na dat A orthogonaal is.

b. Bepaal de eigenwaarden en eigenvectoren van A.

Zij V de lineaire ruimte loodrecht op <

21

−4−1

,

0101

>

c. Ga na dat A een draaiing is op V en bepaal de draaiingshoek.

135

Page 136: Lavts Matlab

6. Beschouw de lineaire afbeelding A : R3 → R3 met als matrixvoorstelling t.o.v. de stan-daardbasis:

A =1

3

1 2 22 1 −22 −2 1

[zie opgave 2 : A3]

Beschouw de basis B = {b1, b2, b3} met:

b1 = (1, 0, 0, )T, b2 = (1, 1, 0)T en b3 = (1, 1, 1)T.

a. Is B een orthonormale basis?

b. Bepaal A(B)B. Is deze matrix orthogonaal?

Beschouw de basis C = {c1, c2, c3} met:c1 = (1, 0, 0, )T, c2 = 1√

2(0, 1, 1)T, c3 = 1√

2(0, 1,−1)T

c. Is C een orthonormale basis?

d. Bepaal A(C)C. Is deze matrix orthogonaal?

e. Is de afbeeldingsmatrix van een orthogonaal lineaire afbeelding ten opzichte van eenorthonormale basis altijd orthogonaal?

16.4 Aanvulling Hoofdstuk 16

136

Page 137: Lavts Matlab

17 Singuliere waarden decompositie

17.1 Het commando svd.

Indien A een m bij n matrix is, levert het commando

[U, S, V] = svd(A)

als uitvoer een orthogonale m bij m matrix U, een m bij n diagonale matrix S met de singulierewaarden van A als diagonaal elementen en een orthogonale n bij n matrix V, zo dat A = USVT.

17.2 Het commando pinv(A)

Het commando pinv(A) levert als uitvoer de pseudo inverse A+ van een matrix A.

17.3 Opdrachten met MATLAB

1. Beschouw de volgende matrix

A =

17 13 1 510 14 2 −67 11 11 −11 1 −3 93 3 −5 −96 2 6 −2

.

a. Bepaal de eigenwaarden en eigenvectoren van AT ·A en daarmee de matrices Q2 enΣ uit de svd van A:

A = Q1 · Σ ·QT2

b. Bepaal op grond hiervan, voor zover mogelijk, de kolommen van Q1.

c. Bepaal met MATLAB rechtstreeks een svd van A. Controleer dat de kolommen vanU eigenvecoren van A · AT zijn, en de kolommen van V eigenvectoren van AT · A.

d. Bepaal een matrix B, met rang B = 2, die matrix A het beste benadert.

e. Bepaal m.b.v. de gevonden svd van A de pseudo inverse A+.

f. Bepaal met MATLAB rechtstreeks A+.

2. Beschouw de lineaire afbeelding A : R3 → R3 met als matrix voorstelling t.o.v. de standaardbasis:

A =

1 2 34 5 67 8 9

.

137

Page 138: Lavts Matlab

a. Bepaal een svd van A.

b. Bepaal de polaire decompositie van A.

c. Geef een meetkundige interpretatie voor deze afbeelding.

De matrix A, met polaire decompositie A = QS is ook te schrijven als A = TQ met T eensymmetrische matrix en Q een orthogonale matrix.

d. Bepaal uit QS = TQ de matrix T.

3.

a. Bepaal A = rand(3).

Beschouw de lineaire afbeelding A : R3 → R3 met als matrix voorstelling t.o.v. de standaardbasis deze matrix A.

b. Bepaal de polaire decompositie van A.

c. Geef een meetkundige interpretatie voor deze afbeelding.

d. Bepaal de pseudo inverse A+ en indien deze bestaat de inverse A−1.

4. Beschouw nogmaals de matrix uit opdracht 2:

A =

1 2 34 5 67 8 9

en het stelsel Ax =

124

= b.

a. Ga na dat dit stelsel geen oplossing heeft.

b. Bepaal de normaalvergelijking ATAx = ATb en bereken hiervan zelf (dus ZONDERMATLAB!) de algemene oplossing.

c. Bepaal uit deze oplossingsverzameling de vector x+ met de kleinste lengte.

d. Bepaal de pseudo inverse A+.

e. Bepaal A+A en AA+.

f. Bepaal x+ m.b.v. A+.

138

Page 139: Lavts Matlab

17.4 Aanvulling Hoofdstuk 17

17.4.1 Stelling:

Elke reele m bij n matrix A is te schrijven als een matrixproduct van de vorm:

A = Q1 · Σ ·QT2

Hierbij is Q1 een orthogonale matrix van afmetingen m bij m, Q2 een orthogonale matrix vanafmetingen n bij n en Σ een ‘diagonale’ m bij n matrix: alle elementen buiten de diagonaal heb-ben de waarde nul terwijl de elementen op de diagonaal reeel en niet-negatief zijn. De positievediagonaal-elementen zijn de zgn. singuliere waarden van A, genoteerd als Σii = σi.

Voorbeeld:(1 − 1 2

− 1 1 −2

)=

(1/√

2 −1/√

2

−1/√

2 −1/√

2

)·( √

12 0 00 0 0

1/√

6 −5/√

30 0

−1/√

6 −1/√

30 2/√

5

2/√

6 2/√

30 1/√

5

T

Bijbehorende singuliere waarde: σ1 =√

12.

We concentreren ons op de berekening en de toepassingen van deze opsplitsing die bekend staatals de singuliere waarden-decompositie van A, ook wel afgekort als svd. Als decompositie schaartze zich in de rij van de decomposities die al eerder ter sprake zijn gekomen, namelijk:

+ LU-decompositie zie hoofdstuk 4+ Cholesky-decompositie zie hoofdstuk 5+ QR-decompositie zie hoofdstuk 9 en 10+ eigenwaarden-decompositie zie hoofdstuk 13+ spectrale decompositie zie hoofdstuk 15

17.4.2 Speciaal geval 1

Als A een reele symmetrische matrix is met louter niet-negatieve eigenwaarden λi dan vormt despectrale decompositie van A:

A = Q · Λ ·QT

in feite een singuliere waarden-decompositie van A.Heeft A ook negatieve eigenwaarden dan is de spectrale decompositie niet langer een singulierewaarden-decompositie: Λ bevat dan namelijk negatieve elementen op de diagonaal, terwijl bij Σde diagonaalelementen niet-negatief moeten zijn.

139

Page 140: Lavts Matlab

17.4.3 De matrices AT · A en A · AT

Bij de concrete berekeningen van de singuliere waarden decompositie van een reele matrix A spelende matrices AT ·A en A ·AT een belangrijke rol. Beide matrices zijn symmetrisch en hebben reeleniet-negatieve eigenwaarden λi. Immers:

– als AT ·A · x = λx dan A · (AT ·A · x) = λA · x dus A ·AT · y = λy met y = Ax. Als x een

eigenvector is van AT · A is Ax dus een eigenvector van A · AT.

– als A ·AT · x = λ · x dan AT · (A ·AT · x) = λAT · x dus AT ·A · y = λy met y = ATx. Als

x een eigenvector is van A · AT is ATx dus eigenvector van AT · A.

– Verder geldt voor x met AT · Ax = λx:|Ax|2 = xT · AT · A · x = λ · xT · x ≥ 0 dus λ ≥ 0.

Rechtstreeks gevolg hiervan is o.a. dat zowel AT ·A als A ·AT spectrale decomposities hebben diemeteen singuliere waarden-decomposities van deze matrices zijn (zie 17.4.2).

17.4.4 Niet eenduidig

Uit de singuliere waarden-decompositie van de matrix A:

A = Q1 · Σ ·QT2

volgt:

AT · A = (Q1 · Σ ·QT2 )T · (Q1 · Σ ·QT

2 ) = Q2 · ΣT · Σ ·QT2 .

De matrix ΣT · Σ is een diagonaalmatrix met op de diagonaal de kwadraten van de singulierewaarden van A, σ2

i , zo nodig aangevuld met waarden nul. Deze opsplitsing vormt een spectraledecompositie van ATA. De kolommen van Q2 vormen (dus) een orthonormale basis van eigenvec-toren van AT · A, terwijl de singuliere waarden σi gelijk zijn aan de wortels van depositieve eigenwaarden van AT · A.Op grond hiervan is concrete berekening van Q2 en σi (dus ook Σ) mogelijk. Het resultaat is nieteenduidig omdat een orthonormale eigenvectorbasis voor AT · A niet eenduidig vastligt.

17.4.5 Nog niet te bepalen

Bij bekende Q2 en Σ volgt uit:

A = Q1 · Σ ·QT2

door rechtsvermenigvuldiging met de orthogonale matrix Q2:

A ·Q2 = Q1 · Σ .

140

Page 141: Lavts Matlab

Hiermee ligt de produktmatrix Q1 · Σ vast. Omdat alleen op de diagonaal van Σ elementenvoorkomen die ongelijk aan nul kunnen zijn vormen de kolommen van de produktmatrix Q1 · Σeen direct veelvoud van de kolommen van Q1. De waarde van het veelvoud stemt precies overeenmet de corresponderende diagonaalwaarde van Σ, dus met de bijbehorende singuliere waarde vanA.Bij singuliere waarden σi 6= 0 volgen de kolommen van Q1 dan ook rechtstreeks uit A · Q2. Bijsinguliere waarden σi = 0 kunnen de corresponderende kolommen van Q1 nog niet bepaald worden.

17.4.6 Resterende kolommen

Deze resterende kolommen van Q1 volgen uit:

A · AT = (Q1 · Σ ·QT2 )(Q1 · Σ ·QT

2 )T = Q1 · Σ · ΣT ·QT1 .

Hierin is Σ ·ΣT een diagonale matrix met op de diagonaal de kwadraten van de singuliere waardenvan A, σ2

i , zo nodig aangevuld met waarden nul. De kolommen van Q1 vormen dus een orthonor-male basis van eigenvectoren van A·AT bij eigenwaarden λi = σ2

i . De nog niet bepaalde kolommenvan Q1, namelijk bij σi = 0, vormen dus een orthonormale basis voor de eigenruimte van A · AT

bij eigenwaarde λi = 0, dus voor de nulruimte van A · AT. Deze nulruimte stemt overeen met denulruimte van AT. Merk op dat de specifieke keuze hiervoor evenmin eenduidig is. De singulierewaarden-decompositie van een matrix A is dan ook niet uniek.

17.4.7 Voorbeeld

Beschouw:

A =

1 12 22 2

Voor AT · A =

(9 99 9

)geldt:

– karakteristiek polynoom: λ2 − 18λ

– eigenwaarden: λ1 = 18 en λ2 = 0 (niet negatief!)

– corresponderende eigenvectoren:E18 =< (1, 1)T

E0 =< (−1, 1)T

– orthonormale basis van eigenvectoren: {( 1√2, 1√

2)T; (−1√

2, 1√

2)T}

Hieruit volgen de singuliere waarde σ1 =√

18 en de matrices:

Q2 =

(1/√

2 −1/√

2

1/√

2 1/√

2

)en Σ =

√18 00 00 0

.

141

Page 142: Lavts Matlab

Met deze keuzes geldt concreet voor de produktmatrix Q1 · Σ: q11 q12 q13

q21 q22 q23

q31 q32 q33

·

√18 00 00 0

=

√18q11 0√18q21 0√18q31 0

=

√2 0

2√

2 0

2√

2 0

Dit legt de eerste kolom van Q1 vast:

(q11, q21, q31)T = (

1

9

√9,

2

9

√9,

2

9

√9)T .

De resterende kolommen van Q1, dus bij σi = 0, zijn nog onbepaald. Deze volgen uit de nulruimtevan de matrix

A · AT =

2 4 44 8 84 8 8

of rechtstreeks, uit de nulruimte van AT.Directe berekening levert E0 =< (−2, 1, 0)T; (−2, 0, 1)T > met als mogelijkeorthonormale basis (gebruik Gram Schmidt!):

{(−2/√

5, 1/√

5, 0)T; (−2/√

45,−4/√

45, 5/√

45)T} .

Daarmee wordt:

Q1 =

1/3 −2/√

5 −2/√

45

2/3 1/√

5 −4/√

45

2/3 0 5/√

45

Door berekening blijkt:

Q1 · Σ ·QT2 =

1/3 −2/√

5 −2/√

45

2/3 1/√

5 −4/√

45

2/3 0 5/√

45

·

√18 00 00 0

·(

1/√

2 −1/√

2

1/√

2 1/√

2

)T

=

1 12 22 2

Merk op dat het resultaat niet eenduidig is: Als orthonormale basis van eigenvectoren bij AT · Ais bijvoorbeeld ook de keuze {(−1√

2, −1√

2)T; ( 1√

2, −1√

2)T} mogelijk. Daarmee verandert niet alleen Q2

maar ook de eerste kolom van Q1. Daarnaast zijn voor de orthonormale basis van E0 bij A · AT

ook andere keuzes mogelijk. Dit heeft invloed op de resterende kolommen van Q1.

142

Page 143: Lavts Matlab

17.4.8 Keuze tussen A en AT

Uit een singuliere waarden-decompositie voor A volgt een singuliere waarden-decompositie voorAT. Immers, met

A = Q1 · Σ ·QT2

geldt

AT = (Q1 · Σ ·QT2 )T = Q2 · ΣT ·QT

1 .

Concreet betekent dit dat zowel uit A als uit AT de singuliere waarden-decompositie berekend kanworden. In de eerder beschreven methode is het dus niet essentieel of je start met de eigenwaardenen eigenvectoren van A ·AT of van AT ·A. Rekengemak (nl. de matrix met de kleinste afmetingen)bepaalt uiteindelijk de keuze!

17.4.9 Toepassing SVD: rangbepaling van een matrix

Voor een m× n matrix A met singuliere waarden decompositie A = Q1 · Σ ·QT2 geldt:

rang (A) = rang (Σ)

Immers:

– rang (Q1 ·Σ ·QT2 ) = rang(Σ ·QT

2 ) want Q1 is een inverteerbare matrix die geınterpreteerdkan worden als een voorvermenigvuldigingsmatrix die een aantal elementaire rijveegoperatiestoepast op Σ ·QT

2 . Deze rijveegoperaties laten de rang van Σ ·QT2 onveranderd.

Analoog geldt:rang (Σ · QT

2 ) = rang ((ΣQT2 )T) = rang (Q2 · ΣT) = rang (ΣT) = rang(Σ) met nu Q2 als

rijveegmatrix.De rang van Σ (dus van A) is op grond hiervan eenvoudig te bepalen: het is het aantal diagonaal-elementen (dus het aantal singuliere waarden) die van nul verschillen. Een complete singulierewaarden-decompositie is daarbij niet nodig: de matrices Q1 en Q2 spelen concreet geen rol enhoeven dus ook niet berekend te worden!

17.4.10 Indicatie voor lagere rang

Met name wanneer de elementen van A niet exact bekend zijn, of wanneer afrondfouten op kunnentreden biedt het voordelen om de rang op grond van de singuliere waarden te bepalen: singulierewaarden dicht bij nul blijken namelijk een goede indicatie te zijn voor een lagere rang. Voorspilwaardes dicht bij nul is dit niet het geval.Concreet worden vaak singuliere waardes beneden een bepaalde kleine ε effectief als nul geteld.Bij de MATLAB procedure rank is dit bijvoorbeeld het geval.

143

Page 144: Lavts Matlab

17.4.11 Voorbeeld

Van een matrix A zijn de elementen met een nauwkeurigheid van 10−2 bekend:

A =

1.02 2.03 4.200.25 0.51 1.061.74 3.46 7.17

De singuliere waarden van deze A zijn σ1 = 9.5213, σ2 = 0.0071 en σ3 = 0.0023. Exact gesprokenis de rang van A dus 3. De kleine waarden σ2 en σ3 vormen echter een indicatie voor een lagererang, mogelijk rang (A) = 1.Inderdaad heeft de matrix:

A =

1.02 2.03 4.200.25 0.51745... 1.070588...1.74 3.462941... 7.164706...

waarvan de elementen weinig verschillen van de elementen uit A een rang 1.

17.4.12 Toepassing: matrix benadering van lagere rang

Beschouw de matrix A met singuliere waarden decompositie:

A = Q1 · Σ ·QT2

Door de ‘diagonale’ matrix Σ te benaderen met een andere ‘diagonale’ matrix Σ ontstaat eenbenadering A = Q1 · Σ · QT

2 voor de oorspronkelijke matrix A. Geschikte matrices Σ ontstaanbijvoorbeeld door in de oorspronkelijke Σ (relatief) kleine singuliere waarden σi door de waardenul te vervangen.

Bijvoorbeeld: (zie paragraaf 17.4.11)

A =

1.02 2.03 4.200.25 0.51 1.061.74 3.46 7.17

heeft singuliere waarden-decompositie: 0.5015 −0.1871 −0.8447

0.1263 0.9817 −0.14240.8559 −0.0352 0.5160

· 9.5213 0 0

0 0.0071 00 0 0.0023

· 0.2135 0.9422 0.2582

0.4247 −0.1485 0.89310.8798 0.3003 0.3685

T

Geschikte benaderingen zijn:

Σ1 =

9.5213 0 00 0.0071 00 0 0

met A1 =

1.0205 2.0280 4.20070.2501 0.5097 1.06011.7397 3.4611 7.1695

144

Page 145: Lavts Matlab

of

Σ2 =

9.5213 0 00 0 00 0 0

met A2 =

1.0192 2.0280 4.20110.2567 0.5107 1.05801.7394 3.4610 7.1696

Merk hierbij het volgende op:

– rang (Σ1) = 2 dus de benadering A1 heeft ook rang (A1) = 2. De afzonderlijke elementenvan A1 verschillen weinig van die van A.

– rang (Σ2) = 1 dus de benadering A2 heeft ook rang (A2) = 1. De afzonderlijke elementenvan A2 verschillen weinig van die van A en van A1. De benadering is relatief goed!

17.4.13 Niet gehele berekening nodig

Voor de berekening van Q1 · Σ1 ·QT2 en Q1 · Σ2 ·QT

2 is op zich niet de hele matrixvermenigvuldigingnodig. Ga zelf na dat het resultaat ook volgt uit:

A1 = 9.5213 ·

0.50150.12630.8559

·

0.21350.42470.8798

T

+ 0.0071 ·

−0.18710.9817

−0.0352

·

−0.9422−0.1485

0.3003

T

en

A2 = 9.5213 ·

0.50150.12630.8559

·

0.21350.42470.8798

T

De hierbij optredende vectoren zijn precies kolomvectoren van Q1 en QT2 !

17.4.14 Alternatieve schrijfwijze

Zij A een m bij n matrix van rang r met singuliere waarden σ1 ≥ σ2 ≥ ... ≥ σr > σr+1 = ... = 0en singuliere waarden-decompositie:

A = Q1 · Σ ·QT2 .

Een alternatieve schrijfwijze voor deze decompositie is (zie paragraaf 17.4.13):

A = σ1 · u1 · vT1 + σ2 · u2 · vT

2 + ... + σr · ur · vTr

145

Page 146: Lavts Matlab

met ui de i◦ kolom van Q1 en vi de i◦ kolom van QT2 dus de i◦ rij van Q2. Op deze manier is A

opgesplitst in een som van r matrices elk met rang een: σi · ui · vTi .

Als een singuliere waarde σi relatief klein is kan het weglaten van de bijdrage σi · ui · vTi toch

resulteren in een matrix waarvan de elementen dicht bij de oorspronkelijke elementen van Aliggen. Op deze manier ontstaat een benadering voor A waarvan de rang kleiner is dan de rangvan A zelf. Men kan aantonen dat de beste benadering voor A van rang k ≤ r gevormd wordtdoor:

σ1 · u1 · vT1 + σ2 · u2 · vT

2 + ... + σk · uk · vTk

Bij het eerder gegeven voorbeeld is de beste benadering voor A van rang 1 :

σ1 · u1 · vT1 =

1.0192 2.0280 4.20110.2567 0.5107 1.05801.7394 3.4610 7.1696

.

De beste benadering voor A van rang 2 is:

σ1 · u1 · vT1 + σ2 · u2 · vT

2 =

1.0205 2.0280 4.20070.2501 0.5097 1.06011.7397 3.4611 7.1695

17.4.15 Toepassing

Een concrete toepassing voor de wijze van benadering is onder andere te vinden bij de beeldver-werking.

17.4.16 Toepassing: polaire decompositie

Elke reele n bij n matrix A is te schrijven als een product van een orthogonale matrix Q en eensymmetrische matrix S:

A = Q · S

Immers uit de singuliere waarden-decompositie A = Q1 · Σ ·QT2 volgt:

A = (Q1 ·QT2 ) · (Q2 · Σ ·QT

2 ) = Q · S

met : Q = Q1 ·QT2 orthogonaal

S = Q2 · Σ ·QT2 symmetrisch

Deze decompositie van A staat bekend als polaire decompositie en is een verdere toevoeging aan

146

Page 147: Lavts Matlab

de eerder besproken decomposities in paragraaf 17.4.2.

Met behulp van de polaire decompositie is het mogelijk om een algemene lineaire afbeelding A :Rn 7→ Rn te interpreteren. Immers de bijbehorende afbeeldingsmatrix A kan opgesplitst wordenals product van een orthogonale en een symmetrische matrix: A = Q ·S. Zowel de orthogonale alsde symmetrische matrix afzonderlijk hebben een eigen interpretatie (zie respectievelijk hoofdstuk15 en 16.) De afbeelding A is dan de samenstelling van deze afzonderlijke afbeeldingen, waarbijde symmetrische afbeelding als eerste plaatsvindt, gevolgd door de orthogonale afbeelding.Voorbeeld: Beschouw de lineaire afbeelding A : R3 7→ R3 met afbeeldingsmatrix:

A =

2.2 0 1.60 1 0

4.9 0 2.2

Een singuliere waarden-decompositie van A = Q1 · Σ ·QT

2 is: 0.4472 0 0.89440 1 0

0.8944 0 −0.4472

·

6 0 00 6 00 0 1/2

·

0.8944 0 −0.44720 1 0

0.4472 0 0.8944

T

Hieruit volgt de polaire decompositie A = Q · S met:

Q = Q1 ·QT2 =

0 0 10 1 01 0 0

en S = Q2 · Σ ·QT2 =

4.9 0 2.20 6 0

2.2 0 1.6

Uit de eigenwaarden en eigenruimten van S, nl.:

– λ = 6 met E6 =< (0, 1, 0)T, (2, 0, 1)T >

– λ = 1/2 met E1/2 =< (1, 0,−2)T >en de eigenwaarden en eigenruimten van Q, nl.:

– λ = 1 met E1 =< (0, 1, 0)T, (1, 0, 1)T >

– λ = −1 met E−1 =< (1, 0,−1)T >is een interpretatie voor de lineaire afbeelding A mogelijk. Het is een oprekking met een factor 6in de richting van het vlak met vergelijking x1 − 2x3 = 0 gecombineerd met een inkrimping meteen factor 1/2 in de richting loodrecht op dit vlak: α · (1, 0,−2)T. Hierna vindt een spiegelingplaats in het vlak met vergelijking x1 − x3 = 0. Merk op dat het vlak van oprekking en het vlakvan spiegeling verschillen.

147

Page 148: Lavts Matlab

17.4.17 Toepassing: pseudo-inverse

Definitie: De pseudo-inverse van een m bij n diagonale matrix

Σ =

σ1

. . . ∅σr

∅ ∅

met σ1, σ2, ..., σr > 0 is de n bij m (!) matrix:

Σ+ =

1/σ1

. . . ∅1/σr

∅ ∅

Voorbeeld:

Bij Σ =

√18 00 00 0

is Σ+ =

(1/√

18 0 00 0 0

)

Verderop zullen we zien dat de pseudo-inverse een rol speelt bij het berekenen van de (exacte)oplossing van een algemeen stelsel lineaire vergelijkingen Ax = b of bij het bepalen van de bestebenadering voor een oplossing bij een overbepaald stelsel.

17.4.18 Speciale gevallen met een eenvoudige uitdrukking

Hoewel voor een diagonale matrix Σ, zoals in paragraaf 17.4.17, de pseudo-inverse rechtstreeksberekenbaar is, bespreken we eerst voor een tweetal speciale gevallen een eenvoudige uitdrukkingvoor Σ+. Verderop, in de berekening van de pseudo-inverse van een algemene matrix A, zijn dezeresultaten van belang!

(i) Σ is n bij n en regulier:

Σ+ = Σ−1

– voorbeeld: Σ =

(2 00 3

)Σ−1 =

(1/2 00 1/3

)= Σ+

– gevolg : de (unieke) oplossing van het stelsel vergelijkingen Σx = b is: x = Σ+b

(ii) Σ is m bij n met m > n en rang (Σ) = n:

Σ+ = (ΣT · Σ)−1 · ΣT

148

Page 149: Lavts Matlab

– voorbeeld:

Σ =

2 00 30 00 0

(ΣT · Σ)−1 · ΣT =

(4 00 9

)−1

·(

2 0 0 00 3 0 0

)=

(1/2 0 0 00 1/3 0 0

)– gevolg: het stelsel vergelijkingen Σx = b is voor algemene b overbepaald en heeft geenoplossing. Wel is er een (unieke) benadering in kleinste kwadraten zin die volgt uit denormaal vergelijkingen ΣT · Σ · x = ΣT · b, namelijk:x = (ΣT · Σ)−1 · ΣT · b = Σ+b

Merk op dat precies de situatie is, zoals besproken in hoofdstuk 8, voor overbepaalde stelsels!

17.4.19 Een ander resultaat

Een ander resultaat dat verderop van belang is, is dat voor een m bij n diagonale matrix Σ geldt:ΣT · Σ · Σ+ = ΣT.Voorbeeld:

Σ =

2 0 00 3 00 0 00 0 0

dus:

ΣT · Σ · Σ+ =

2 0 0 00 3 0 00 0 0 0

·

2 0 00 3 00 0 00 0 0

·

1/2 0 0 00 1/3 0 00 0 0 0

=

2 0 0 00 3 0 00 0 0 0

17.4.20 Pseudo-inverse van een reele m bij n matrix A

Definitie: De pseudo-inverse van een reele m bij n matrix A met singuliere waarden-decompositieA = Q1 · Σ ·QT

2 is de n bij m(!) matrix:

A+ = Q2 · Σ+ ·QT1

149

Page 150: Lavts Matlab

Voorbeeld:Voor de matrix A uit paragraaf 17.4.7 geldt op grond van de daar gegeven singuliere waarden-decompositie:

A+ =

(1/√

2 −1/√

2

1/√

2 1/√

2

)·(

1/√

18 0 00 0 0

1/3 −2/√

5 −2/√

45

1/3 1/√

5 −4/√

45

2/3 0 5/√

45

T

=

=

(1/18 1/9 1/91/18 1/9 1/9

)17.4.21 A+ met eenvoudige vorm

Analoog aan paragraaf 17.4.18 zijn er nu een tweetal situaties waarin A+ een eenvoudige vormheeft:

(i) A is n bij n en regulier :

A+ = A−1

immers: A−1 = (Q1 · Σ ·QT2 )−1 = Q2 · Σ−1 ·QT

1 = Q2 · Σ+ ·QT1 (zie paragraaf 17.4.18)

– gevolg: de (unieke) oplossing van het stelsel vergelijkingen Ax = b is:

x = A+ · b

(ii) A is m bij n met m ≥ n en rang(A)= n :

A+ = (AT · A)−1 · AT

immers: ( = AT · A)−1 · AT = (Q2 · ΣT · Σ ·QT2 )−1 ·Q2 · ΣT ·QT

1

= Q2 · (ΣT · Σ)−1 ·QT2 ·Q2 · ΣT ·QT

1

= Q2 · (ΣT · Σ)−1 · ΣT ·QT1

= Q2 · Σ+ ·QT1 (zie paragraaf 17.4.18)

– gevolg: het stelsel vergelijkingen Ax = b is voor algemene b overbepaald en heeft geenoplossing. Wel is er een (unieke) benadering in kleinste kwadraten zin, die volgt uit denormaalvergelijkingen AT · Ax = ATb, namelijk:

x = (AT · A)−1 · AT · b = A+b

Merk op dat dit precies de situatie is, zoals besproken in hoofdstuk 8. voor overbepaaldestelsels: de coefficientenmatrix moest volle rang hebben!

150

Page 151: Lavts Matlab

17.4.22 AT · A singulier

Voor een m bij n matrix A met m ≥ n en rang (A) = r < n heeft de normaalvergelijkingAT · Ax = ATb niet langer een unieke oplossing: AT · A is dan namelijk singulier. Er zijn echterwel oplossingen voor de normaalvergelijkingen, bijvoorbeeld:

x = A+b

Immers: (AT · A) · A+ · b =(Q2 · ΣT ·QT

1 ·Q1 · Σ ·QT2 ) ·Q2 · Σ+ ·QT

1 · b =

Q2 · (ΣT · Σ) ·QT2 ·Q2 · Σ+ ·QT

1 · b = Q2 · (ΣT · Σ · Σ+) ·QT1 · b =

Q2 · ΣT ·QT1 · b = AT · b (zie 6.5.5.3).

De algemene oplossing van de normaalvergelijkingen AT ·A ·x = ATb, dus de algemene benaderingin kleinste kwadraten zin voor het stelsel Ax = b, is dan:

x = xp + xh

met xp een particuliere oplossing van de normaalvergelijkingen, bv.

xp = A+ · b

en xh een vector uit de nulruimte van AT ·A. Deze nulruimte N(ATA) stemt overeen met N(A).Men kan aantonen dat de particuliere oplossing xp = A+ · b van alle oplossingen van de normaal-vergelijking AT ·Ax = ATb juist degene is met minimale lengte |x|, dus dat het de oplossing is diehet dichtst bij i ligt!

Voorbeeld : (zie paragraaf 17.4.7)

Zij A =

1 12 22 2

met rang(A)= 1 en bijbehorend stelsel:

1 12 22 2

(x1

x2

)≡

1515

−30

Merk op:

– Ax = b heeft geen oplossing.

– De bijbehorende normaalvergelijkingen zijn: ATAx = ATb, concreet:(9 99 9

)·(

x1

x2

)=

(−15−15

)Hieruit blijkt dat AT · A singulier is. De nulruimte van ATA (en van A!) is < (−1, 1)T >.Hieruit volgt de oplossing van de homogene vergelijking ATAx = i.

151

Page 152: Lavts Matlab

– A+ =

(1/18 1/9 1/91/18 1/9 1/9

)(zie paragraaf 17.4.20)

dus: A+b =

(−5/6−5/6

). Door invulling in de normaalvergelijkingen blijkt dat dit een

oplossing is. Een kleinste kwadraten benadering voor Ax = b is dus x = (−5/6,−5/6)T.

– De algemene kleinste kwadratenbenadering volgt uit de combinatie van een particuliereoplossing en van de algemene homogene oplossing van de normaalvergelijkingen, concreet:

x =

(−5/6−5/6

)+ λ

(−1

1

).

Merk op dat |x|2 = (−5/6 − λ)2 + (−5/6 + λ)2 = 50/36 + 2λ2 dus dat |x| minimaal isvoor λ = 0!

152

Page 153: Lavts Matlab

18 Extra opgaven

De extra opgaven, Eerst met de hand en dan pas met Matlab!

18.1 Extra-opgaven: Tellen van flops, LU-decompositie,zie Hfd. 4

1. A en B zijn n bij n matrices. Bepaal het aantal flops dat nodig is om het product AB uit terekenen.

2. A en B zijn n bij n matrices, x is een kolomvector met n coordinaten. Zoals bekend is (AB)x =A(Bx). Bepaal voor beide manieren van uitrekenen het aantal flops. Welke manier ishet goedkoopste?

3. Zij A een n bij n matrix van de vorm

∗ ∗ 0 0 0 0 · · · · 00 ∗ ∗ 0 0 0 · · · · 00 0 ∗ ∗ 0 0 · · · · 00 0 0 ∗ ∗ 0 · · · · 0· ·· ·0 · · · · · · 0 ∗ ∗ 00 · · · · · · · 0 ∗ ∗0 · · · · · · · · 0 ∗

Bepaal het aantal flops dat nodig is bij de berekening van de oplossing x van Ax = b.

4. Beschouw de matrices

A =

3 1 0 0

− 3 4 1 01 3 2 11 0 0 0

en B =

1 0 0 03 1 0 0

− 3 4 1 01 3 2 1

AA

a. Bepaal een permutatiematrix P1 zo dat P1A = B.

b. Bepaal een permutatiematrix P2 zo dat P2B = A.

c. Vergelijk P1 met P2.

153

Page 154: Lavts Matlab

18.2 Extra-opgaven: Inverse van een matrix en enkele numerieke as-pecten ,zie Hfd. 5

1. Laat A, B en C gegeven n bij n matrices zijn en p en q gegeven n bij 1 vectoren.

a. Het berekenen van z = A−1(q + B−1(Cp)) kost αnβ + o(nβ) flops. Bepaal α en β.

b. Geef een verband tussen z, A, B, C, p en q zonder inversen.

c. Wat kost het aan flops om met de LU-decompositie z op te lossen uit de relatie dieje hebt gevonden in b?

2. Beschouw de 3 bij 3 Hilbert matrix

A =

1 12

13

12

13

14

13

14

15

Vergelijk de rechterleden b van Ax = b indien de oplossingen respectievelijk zijn x = (1, 1, 1)T

en x = (0, 6,−3.6). Matrix A is dus slecht geconditioneerd.

3. Beschouw het volgende stelsel vergelijkingen.

(1)

10.270x − 6.993y + 0.012z = 3.265− 3.015x + 2.054y + 6.968z = − 7.929

4.938x − 1.276y + 5.210z = −1.548

Veronderstel dat een computer alle getallen afrondt op 4 cijfers achter de komma en als

volgt representeert.

3.7525813 wordt 0.3753 ∗ 101

0.00153821 wordt 0.1538 ∗ 10−2

Bovenstaand stelsel wordt dus door deze computer als volgt gerepresenteerd.

(2)

0.1027 ∗ 102x − 0.6993 ∗ 101y + 0.1200 ∗ 10−1z = 0.3265 ∗ 101

− 0.3015 ∗ 101x + 0.2054 ∗ 101y + 0.6968 ∗ 101z = − 0.7929 ∗ 101

0.4938 ∗ 101x − 0.1276 ∗ 101y + 0.5210 ∗ 101z = − 0.1548 ∗ 101

a. Ga na dat x = (1, 1,−1)T de exacte oplossing van dit stelsel is.Vegen levert

(3)

0.1027 ∗ 102x − 0.6993 ∗ 101y + 0.1200 ∗ 10−1z = 0.3265 ∗ 101

+ 0.1000 ∗ 10−2y + 0.6972 ∗ 101z = − 0.6970 ∗ 101

0.2086 ∗ 101y + 0.1453 ∗ 101z = −0.3118 ∗ 101

154

Page 155: Lavts Matlab

en vervolgens

(4)

0.1027 ∗ 102x − 0.6993 ∗ 101y + 0.1200 ∗ 10−1z = 0.3265 ∗ 101

+ 0.1000 ∗ 10−2y + 0.6972 ∗ 101z = − 0.6970 ∗ 101

− 0.1453 ∗ 105z = 0.1454 ∗ 105

Terugsubstitueren levert dan:

z = − 0.1001 ∗ 101

y = 0.9000 ∗ 101

x = 0.6449 ∗ 101

b. Vergelijk deze getallen met de exacte oplossing.

c. Los het stelsel (2) nu analoog op (dus inclusief afronden), maar pas nu partialpivoting toe. Vergelijk het resultaat met de exacte oplossing.

Opmerking: Het stelsel is wel goed geconditioneerd. De problemen ontstaan door heteerste algoritme (zonder partial pivoting) dat hier slecht werkt.

4. Laat A=

(1 42 3

)5. Bepaal de Cholesky-decompositie van ATA.

18.3 Extra-opgaven: Iteratieve methoden en de algemene oplossingvan stelstels lineaire vergelijkingen, zie Hfd. 6

1. Beschouw het volgende stelsel.{3x1 + 2x2 = 51

2

2x1 + 4x2 = 9 .

a. Benader de oplossing van dit stelsel met de methode van Jacobi.

b. Schrijf de iteratierij van Jacobi in de vorm

Sxk+1 = Txk + b en geef S, T en b (zie 4.5.3.2).

c. Bepaal (S−1T)k voor k = 1, 2, 3, 4.

d. Convergeert de rij xk voor elke startwaarde x0?

Beschouw nu het equivalente stelsel{2x1 + 4x2 = 93x1 + 2x2 = 51

2.

e. Beantwoord nu bovenstaande vragen voor Gauss-Seidel.

155

Page 156: Lavts Matlab

18.4 Extra-opgaven: Overbepaalde stelsels, zie Hfd. 8

1. Beschouw telkens 4 vectoren a1, a2, a3 en a4 en de matrix A met a1, a2, a3 en a4

als respectievelijke kolommen.Gegeven zijn de producten ATA.

(i) AT A =

4 0 0 00 9 0 00 0 3 00 0 0 5

(ii) AT A =

4 0 0 00 9 2 00 2 3 00 0 0 5

(iii) AT A =

4 0 0 30 9 2 00 2 3 03 0 0 5

Beantwoord voor ieder geval de volgende vragen.

a. In hoeverre staan de vectoren a1, a2, a3 en a4 loodrecht op elkaar?

b. Bepaal de lengten van de vectoren a1, a2, a3 en a4.

c. Bepaal de projectie van a1 op het opspansel < a2, a3, a4 >.

d. Bepaal de projectie van a2 op het opspansel < a3, a4 >.

18.5 Extra-opgaven: QR-decompositie, zie Hfd. 9 en Hfd. 10

1. Beschouw matrix

A =

2 1 11 0 21 1 3

Bepaal de QR-decompositie van A.

2. Van een vijftal vectoren a1, a2, a3, a4 en a5 in R4 bekijken we het opspansel S =< a1, a2, a3, a4, a5 >.Hiervoor willen we een orthonormale basis bepalen. Als voorbereiding daarop is met behulpvan MATLAB de QR-decompositie bepaald van de matrix A waarvan de respectievelijkekolommen overeenstemmen met deze vijf vectoren. Het resultaat hiervan is:

>> [Q,R]=qr(A)

Q= R=

-0.5000 -0.8165 0.2236 -0.1826 -2.0000 -2.0000 -2.0000 -4.0000 -4.0000

0.5000 -0.4082 -0.6708 -0.3651 0 -4.8990 -2.4495 -4.8990 -2.4495

-0.5000 0.0000 -0.6708 0.5477 0 0 -4.4721 0.0000 -4.4721

0.5000 -0.4082 0.2236 0.7303 0 0 0 0.0000 -0.0000

156

Page 157: Lavts Matlab

a. Bepaal uit deze gegevens de oorspronkelijke vector a4.

b. Ga na welk van de volgende beweringen kloppen:

(i) a3 ∈< a1, a2 > .(ii) a3 ∈< a1, a2, a4 > .(iii) {a1, a2, a3} vormt een basis voor S.(iv) {a2, a3, a5} vormt een basis voor S.

c. Geef een orthonormale basis voor S.

d. Geef een orthonormale basis voor S⊥.

e. Bepaal de projectie-matrix voor projectie op S⊥.

f. Bepaal, met behulp van onderdeel e., de projectiematrix voor projectie op S.

3. Van een vijftal vectoren a1, a2, a3, a4 en a5 bekijken we het opspansel S =< a1, a2, a3, a4, a5 >.Hiervoor willen we een orthonormale basis bepalen. Als voorbereiding daarop is met behulpvan MATLAB de QR-decompositie bepaald van de matrix A waarvan de respectievelijkekolommen overeenstemmen met deze vijf vectoren. Het resultaat hiervan is:

Q= R=

-0.3780 0.4364 -0.2582 -0.7746 0 -2.5000 -3.0000 -1.5000 -5.5000 -6.0000

-0.7559 -0.6547 0.0000 0.0000 0 0 2.0000 0.2000 2.0000 4.0000

-0.3780 0.4364 -0.2582 0.5164 -0.5774 0 0 -1.3000 -0.0000 0.0000

0 0 -0.7746 0.2582 0.5774 0 0 0 -0.0000 0.0000

-0.3780 0.4364 0.5164 0.2582 0.5774 0 0 0 0 0.0000

De ide kolom van de matrix Q geven we hierna aan als qi.

a. Bepaal uit deze uitvoer de oorspronkelijke vector a1.

b. Geef een orthonormale basis voor S en voor S⊥.

c. Ga na welke van de volgende beweringen kloppen:

(i) a4 ∈< q1, q

2> .

(ii) a4 ∈< a1, a2 > .(iii) a5 = 2 · a2.(iv) {a1, a2, a3} vormt een basis voor S.(v) {a4, a5} vormt een basis voor S⊥.

d. Geef op grond van de uitvoer een expliciete uitdrukking voor de vectoren a2 en a4 intermen van de orthonormale vectoren q

1en q

2.

e. Ga na of q1en q

2uit te drukken zijn in termen van a2 en a4 en geef, zo mogelijk, deze

uitdrukking expliciet.Geldt de bewering:

< a2, a4 >=< q1, q

2> ?

157

Page 158: Lavts Matlab

f. Geef op grond van de uitvoer een expliciete uitdrukking voor de vectoren a2 en a5 intermen van de orthonormale vectoren q

1en q

2.

g. Ga na of q1en q

2uit te drukken zijn in termen van a2 en a5 en geef, zo mogelijk, deze

uitdrukking expliciet.Geldt de bewering:

< a2, a5 >=< q1, q

2> ?

18.6 Extra-opgaven: Eigenwaarden en Eigenvectoren, zie Hfd. 12 en13

1. Bepaal in elk van de volgende onderdelen de algemene vorm van de eigenvectoren van dematrix A bij de aangegeven eigenwaarde λ.

a.

2 −1 20 4 20 0 1

, λ = 1 b.

−9 −3 1613 7 163 3 10

, λ = −6

c.

2 1 0 01 2 1 00 1 2 10 0 1 1

, λ = 1 d.

5 6 00 2 0

−3 −6 2

, λ = 2

e.

0 15 014 2 16−7 1 −8

, λ = 0 f.

−3 −12 00 3 06 12 2

, λ = 3

2. Elk van de volgende polynomen is het karakteristieke polynoom van ’n matrix A.Bepaal hieruit: ∗ de afmetingen van A

∗ de eigenwaarden van A inclusief de algebraısche multipliciteit∗ de determinant van A∗ het spoor van A

a. λ2 − 3λ + 1 b. −λ3 + 5λ2 − 6λ

c. −λ3 − 2λ2 + λ + 2 d. −λ3 + 3λ + 2

3. Beschouw de matrix

A =

2 0 01 −1 −2

−1 0 1

158

Page 159: Lavts Matlab

en de hiermee samenhangende matrices

B = 2 · A =

4 0 02 −2 −4

−2 0 2

C = A − 6I =

−4 0 01 −7 −2

−1 0 −5

D = 3A + 5I =

11 0 03 2 −6

−3 0 8

a. Bepaal de eigenwaarden en eigenvectoren van A.Is A diagonaliseerbaar?

b. Bepaal, met behulp van de resultaten uit a., de eigenwaarden en eigenvectoren vande matrices B, C en D.

c. Wat zijn de eigenwaarden en eigenvectoren van de matrix:

α · A + βI met α, β ∈ R .

4. Bepaal voor elk van de volgende matrices alle eigenwaarden en de corresponderende eigen-vectoren. Geef van de eigenwaarden de algebraısche en geometrische multipliciteiten. Is dematrix diagonaliseerbaar?

a.

8 6 6−3 −1 −3−6 −6 −4

b.

4 2 −41 5 −40 0 18

c.

3 1 0 01 3 0 00 0 0 −40 0 0 1

d.

5 0 0 00 1 2 00 −1 4 00 0 0 2

5. Elk van de volgende polynomen is het karakteristiek polynoom van een matrix A.

Beargumenteer op grond daarvan of de matrix A diagonaliseerbaar is.Geef, zo mogelijk, een voorbeeld van een niet diagonaliseerbare matrix A waarvan het ka-rakteristieke polynoom overeenstemt met het gegeven polynoom.

a. λ2 − 3λ + 1 b. −λ3 + 5λ2 − 6λ

c. −λ3 − 2λ2 + λ + 2 d. −λ3 + 3λ + 2

159

Page 160: Lavts Matlab

6. Geef van elk van de volgende matrices de eigenwaarden met de daarbij horende geometrischemultipliciteit.Beargumenteer of de matrix diagonaliseerbaar is.

a.

1 0 10 1 00 0 1

b.

1 1 10 1 10 0 1

c.

1 1 00 1 10 0 1

d.

1 0 10 1 00 0 3

e.

1 1 10 1 10 0 3

f.

1 1 00 1 10 0 3

7. Een n bij n matrix A heeft een eigenwaarde λ. De vector x is een eigenvector bij dezeeigenwaarde λ.

a. Geef een uitdrukking voor het getal µ in termen van λ, waarvoor geldt dat: A2x =µx.

b. Geef een uitdrukking voor het getal µ in termen van λ, waarvoor geldt dat: A3x =µx.

c. Geef een uitdrukking voor het getal µ in termen van λ, waarvoor geldt dat: (A3 +A2)x = µx.

d. Geef een uitdrukking voor het getal µ in termen van λ, waarvoor geldt dat: (A2 −A + 5I)x = µx.

8. De matrix:

A =

3 1 11 5 11 1 3

heeft als eigenwaarden de waarden 2, 3 en 6.

a. Is A diagonaliseerbaar?

b. Bepaal eigenvectoren bij de verschillende eigenwaarden van A (vanaf nu aangeduidals s1, s2 en s3). Bereken A3s1, A

3s2 en A3s3.

c. Schrijf de vector x1 = (3, 1, 1)T als lineaire combinatie van de bij onderdeel b.gevonden eigenvectoren, dus bepaal µ1, µ2 en µ3, waarvoor geldt dat:

x1 = µ1s1 + µ2s2 + µ3s3

Bepaal op grond hiervan en van de resultaten uit onderdeel b: A3x1.

160

Page 161: Lavts Matlab

9. Beschouw de volgende iteratierij:

ak+2 = 0.4ak+1 + 0.6ak

a. Reduceer deze iteratierij tot een differentievergelijking van de vorm uk+1 = Auk.

b. Start met a0 = 1.2 en a1 = −2. Bepaal hierbij u0, uk en limk→∞

ak.

c. Start met a0 = −2 en a1 = 1.2. Bepaal hierbij u0, uk en limk→∞

ak.

18.7 Extra-opgaven: Symmetrische en hermitische matrices,zie Hfd. 15

1. Beschouw de volgende matrix:

A1 =

(i 1 + i0 1

)a. Bepaal de eigenwaarden en bijbehorende eigenvectoren van A1.

b. Bepaal AH1 . Is A1 Hermitisch?

c. Bereken C1 = AH1 A1. Wat is de relatie tussen C1 en CH

1 ?

d. Bepaal de eigenwaarden en bijbehorende eigenvectoren van C1. Ga de eigenschappenuit paragraaf 19.4 na.

2. Beschouw de volgende matrix:

A2 =

(−1 −2

2 −1

)a. Bepaal de eigenwaarden en bijbehorende eigenvectoren van A2.

b. Bepaal AH2 . Is A2 Hermitisch?

c. Bereken C2 = AH2 A2. Wat is de relatie tussen C2 en CH

2 ?

d. Bepaal de eigenwaarden en bijbehorende eigenvectoren van C2. Ga de eigenschappenuit paragraaf 19.4 na.

3. Bepaal van elk van de volgende matrices of ze symmetrisch en/of Hermitisch zijn:

a.

(3 ii 2

)b.

(i 22 −i

)

c.

−1 1− 2i 3i1 + 2i 3 2− 5i−3i 2 + 5i 0

d.

−i 1− 2i 3i1 + 2i 3i 2− 5i−3i 2 + 5i 0

161

Page 162: Lavts Matlab

4. Beschouw de lineaire afbeelding A : R2 → R2 met als matrixvoorstelling t.o.v. de stan-daardbasis:

A3 =1

10

(−6 8

8 6

)a. Bepaal de eigenwaarden en bijbehorende eigenvectoren van A.

b. Geef de spectrale decompositie van A3.

c. Geef een meetkundige interpretatie voor deze afbeelding.

5. Beschouw de lineaire afbeelding A : R3 → R3 met als matrixvoorstelling t.o.v. de stan-daardbasis.

A4 =1

3

2 −1 −1−1 2 −1−1 −1 2

De eigenwaarden en bijbehorende eigenvectoren van

3 · A4 =

2 −1 −1−1 2 −1−1 −1 2

zijn E0 =<

111

en E3 =<

1−1

0

,

10

−1

>

a. Wat volgt uit deze gegevens direct over de eigenwaarden en bijbehorende eigenvec-toren van A4?

b. Bepaal een orthonormale basis van eigenvectoren van A4.

c. Geef de spectrale decompositie van A4.

d. Geef een meetkundige interpretatie voor deze afbeelding.

6. Beschouw het vlak V met vergelijking 2x1 + x2 + 3x3 = 0. Elke vector x ∈ R3 is dan teschrijven als de som van zijn projectie op V, p

1, en zijn projectie op V⊥, p

2.

Beschouw nu de lineaire afbeelding A : R3 → R3 met als voorschrift:

A(x) = p1+ 1

2p

2

We noemen A een inkrimping in de richting (2, 1, 3)T met factor 12.

a. Bepaal een basis voor V.

b. Bepaal de eigenwaarden en bijbehorende eigenvectoren van A.

162

Page 163: Lavts Matlab

c. Bepaal de matrixvoorstelling A5 van deze afbeelding t.o.v. de standaardbasis.

7. Van een reele 3 bij 3 matrix A6 is het volgende bekend:

∗ A6 is symmetrisch

∗ A6(1, 1, 0)T = (3, 3, 0)T

∗ A6(1,−1, 0)T = (1,−1, 0)T

∗ de som van de eigenwaarden van A6 is 7.

a. Bepaal op grond van deze gegevens de eigenwaarden van A6.

b. Bepaal op grond van deze gegevens een orthonormale basis van eigenvectoren vanA6.

c. Bepaal de matrix A6.

d. Geef een meetkundige interpretatie voor de lineaire afbeelding A : R3 → R3 met alsmatrixvoorstelling t.o.v. de standaardbasis A6.

8. Van een reele 3 bij 3 matrix A7 is het volgende bekend:

∗ A7 is symmetrisch

∗ {x ∈ R3 | x1 + x2 + x3 = 0} is de kolomruimte van A7.

∗ A7(1,−1, 0)T = (1,−1, 0)T

∗ de som van de eigenwaarden van A7 is 0.

a. Bepaal op grond van deze gegevens de eigenwaarden van A7.

b. Bepaal op grond van deze gegevens een orthonormale basis van eigenvectoren vanA7.

c. Bepaal de matrix A7.

d. Geef een meetkundige interpretatie voor de lineaire afbeelding A : R3 → R3 met alsmatrixvoorstelling t.o.v. de standaardbasis A7.

9. Welke van de bovenstaande matrices A1 t/m A7 zijn positief-definiet?

18.8 Extra-opgaven: Orthogonale en unitaire matrices,zie Hfd. 16

1. Bepaal van elk van de volgende matrices of ze orthogonaal en/of unitair zijn:

163

Page 164: Lavts Matlab

a.

1/√

3 1/√

2 1/√

6

1/√

3 0 −2/√

6

1/√

3 −1/√

2 1/√

6

b.

(1/√

2 i/√

2

−1/√

2 i/√

2

)

c.

(1/√

2 i/√

2

i/√

2 −1/√

2

)d.

1/√

3 1/√

3 0 1/√

3

1/√

3 −1/√

3 1/√

3 0

0 1/√

3 1/√

3 −1/√

3

1/√

3 0 −1/√

3 −1/√

3

2. Beschouw de lineaire afbeelding A : R2 7→ R2 met als matrixvoorstelling t.o.v. de stan-

daardbasis:

A =

(1/√

2 1/√

2

−1/√

2 1/√

2

)a. Ga na dat de lineaire afbeelding A orthogonaal is.

b. Bepaal de determinant van A en leid daaruit af of er sprake is van een draaiing ofeen spiegeling.

c. Bepaal de hoek tussen x = (2, 1)T en A(x) alsmede de draairichting.

d. Bepaal de complexe eigenwaarden van A en leid daaruit de draaiingshoek af.

3. Beschouw de lineaire afbeelding: A : R3 7→ R3 met als matrixvoorstelling t.o.v. de stan-daardbasis:

A =

a b cc a bb c a

met a = 13

+ 23√

2

b = 13− 1√

6− 1

3√

2

c = 13

+ 1√6− 1

3√

2

MATLAB levert over A de volgende informatie:

164

Page 165: Lavts Matlab

� A ∗ A′:

1.0000 0.0000 0.00000.0000 1.0000 0.00000.0000 0.0000 1.0000

[S, D] = eig (A):

S =S = 0.2209− 0.5334i 0.2209 + 0.5334i 0.5774−0.5724 + 0.0754i −0.5724− 0.0754i 0.5774

0.3515 + 0.4580i 0.3515− 0.4580i 0.5774

D =0.70710 + 0.7071i0000.7071− 0.7071i0

001.0000

a. Ga na dat de lineaire afbeelding A orthogonaal is.

b. Bepaal de determinant van A en leid daaruit af of er sprake is van een draaiing ofeen draaispiegeling.

c. Bepaal de hoek tussen x = (0, 1,−1)T enAx alsmede de hoek tussen y = (0, 1, 0)T enAy.

d. Bepaal uit c. de draaiingshoek en de draairichting.

e. Bepaal ook de draaiingshoek uit de (complexe) eigenwaarden van A.

4. Beschouw de lineaire afbeelding: A : R3 7→ R3 met als matrixvoorstelling t.o.v. de stan-daardbasis:

A =

0 0 −11 0 00 1 0

a. Ga na dat de lineaire afbeelding A orthogonaal is.

b. Bepaal of er sprake is van een draaiing of een draaispiegeling.

c. Bepaal de draaiingsas, het vlak van draaiing, de draaiingshoek en de draairichting.

5. Beschouw de lineaire afbeelding: A : R3 7→ R3 met als matrixvoorstelling t.o.v. de stan-daardbasis:

−0.3063 −0.4667 −0.8297−0.0658 −0.8591 0.5076−0.9497 0.2101 0.2324

165

Page 166: Lavts Matlab

MATLAB levert over A de volgende informatie:

A ∗ A′:

1.0000 −0.0000 0.0000−0.0000 1.0000 0.0000

0.0000 0.0000 1.0000

[S, D] = eig(A):

S =0.5794 −0.3201 + 0.4793i −0.3201− 0.4793i

−0.2337 0.4981 + 0.4793i 0.4981− 0.4793i−0.7808 −0.3866 + 0.2138i −0.3866− 0.2138i

D =1.0000 0 0

0 −0.9665 + 0.2567i 00 0 −0.9665− 0.2567i

a. Ga na dat de lineaire afbeelding A orthogonaal is.

b. Bepaal N(A) en R(A).

c. Bepaal of er sprake is van een draaiing of een draaispiegeling.

d. Bepaal de draaiingsas, het vlak van draaiing, de draaiingshoek en de draairichting.

6.

a. Beschouw de lineaire afbeelding A1 : R3 → R3 met als voorschrift:

draaispiegeling rond z = (1, 0, 1)T met een positieve draairichting en een draaiings-hoek |ϕ| = arccos(3/5).

Bepaal de matrix van A1 t.o.v. de standaardbasis.

b. Beschouw de lineaire afbeelding A2 : R3 → R3 met als voorschrift:

draaispiegeling rond z = (1, 0, 1)T met een negatieve draairichting en een draai-ingshoek |ϕ| = arccos(3/5).

Bepaal de matrix van A2 t.o.v. de standaardbasis.

7. Van een reele diagonaliseerbare matrix A met afmetingen 3 bij 3 is het volgende bekend:

∗ A is orthogonaal

∗ A (1, 2, 2)T = (1, 2, 2)T

∗ de vector (2, 0,−1) is een eigenvector bij eigenwaarde −1

∗ de eigenruimte bij eigenwaarde λ = 1 is een-dimensionaal

166

Page 167: Lavts Matlab

a. Bepaal op grond van deze gegevens de eigenwaarden van A.

b. Bepaal op grond van deze gegevens een orthonormale basis van eigenvectoren vanA.

c. Bepaal de matrix A.

d. Geef een meetkundige interpretatie voor de bijbehorende orthogonale afbeelding.

18.9 Extra opgaven: Singuliere waarden decompositie,zie Hfd. 17

1. Beschouw de volgende matrix.

A = (−1 2 2)

a. Bepaal een singuliere waarden-decompositie (svd) van A.

b. Vergelijk de uitkomst van a. met voorbeeld 2 van Strang op pagina 444.

c. Bepaal ook een svd van AT. Vergelijk het resultaat en de hoeveelheid rekenwerk metonderdeel a.

2. Beschouw de volgende kolommatrix.

A =

102

−13

−1

a. Bepaal de singuliere waarde σ van A.

b. Wat is de dimensie van de eigenruimte van de eigenwaarde 0 van AAT?

c. Bepaal de eigenvector bij eigenwaarde σ2 van AAT.

d. Beschrijf (dus niet uitrekenen) de eigenruimte bij eigenwaarde 0 van AAT.

3. Beschouw de volgende matrix.

A =

2 00 −30 0

a. Bepaal een svd van A.

b. Bepaal een svd van 2 · A en een svd van −2 · A.

167

Page 168: Lavts Matlab

c. Indien van een willekeurige matrix A de svd bekend is (A = Q1ΣQT2 ) wat is dan een

svd van αA met α ∈ R?

4. Beschouw de volgende matrix.

A =

1 −11 01 1

a. Bepaal een svd van A.

b. Indien A een willekeurige orthogonale matrix is, hoe ziet een svd van A er dan uit?

5. Beschouw de matrix:

A =

0.0937 0.9836 1.17100.0171 0.2710 0.20480.2972 2.9195 3.7370

Met behulp van MATLAB is het volgende berekend:

[S1, D1] = eig(A ∗ A′) en [S2, D2] = eig(A′ ∗ A)

a. Bepaal een svd van A.

b. Bepaal uit deze svd de rang van A

c. Geef een matrix B, met rang B = 1, die matrix A het best benadert.

6. Beschouw de volgende matrix A.

A =1

5√

2

(8 −114 7

)Van deze matrix is een svd bekend:

A =

(−3/

√10 1/

√10

1/√

10 3/√

10

) (2 00 1

) (−1/

√5 2/

√5

2/√

5 1/√

5

)T

a. Bepaal de polaire decompositie van A.

b. Geef een meetkundige interpretatie voor de lineaire afbeelding A : R2 → R2 metmatrixvoorstelling t.o.v. de standaardbasis: A.

c. Bepaal de pseudo-inverse A+ van A.

d. Bepaal een svd van A+.

168

Page 169: Lavts Matlab

7. Beschouw nogmaals de matrix uit opgave E6.4:

A =

1 −11 01 1

a. Bepaal de kleinste kwadraten oplossing x van het stelsel

Ax =

123

b. Bepaal de pseudo inverse A+ van A.

c. Bepaal de kleinste kwadraten oplossingen van bovenstaand stelsel m.b.v. de pseudoinverse A+

d. Bepaal m.b.v. A+ de bijbehorende projectiematrix A(ATA)−1AT.

8. Beschouw de volgende matrix,

A =

1 −1 01 0 10 1 2

en het stelselAx =

123

= b.

a. Bepaal de algemene oplossing van de normaal vergelijking AT · Ax = ATb.

b. Bepaal uit deze oplossingsverzameling de vector x+ met de kleinste lengte.

Een svd van A ziet er als volgt uit.

A =

0.0849 −0.9089 −0.40820.4792 −0.3220 0.81650.8736 0.2650 −0.4082

2.7651 0 00 1.5344 00 0 0

0.5199 −.6295 0.57740.2852 0.7651 0.57740.8052 0.1355 0.5744

T

c. Bepaal de pseudo-inverse A+ van A.

d. Bepaal nu met A+ de vector x+.

9. Bewijs de volgende uitspraken:

a. (c A)+ = 1cA+ voor alle c 6= 0.

b. (A+)T = (AT)+.

c. (A+)+ = A.

d. (AB)+ 6= B+A+ (in het algemeen).

169

Page 170: Lavts Matlab

19 Appendix

19.1 Eigenschappen van matrix-manipulaties

vermenigvuldigen optellen transponerenAB 6= BA (i.h.a.) A + B = B + A (AT)T = A

A(B + C) = AB + AC (A + B)T = AT + BT

(B + C)D = BD + CD

(AB)C = A(BC) (A + B) + C = A + (B + C) (AB)T = BTAT

AO = O A + O = AAI = AIA = A

De meeste eigenschappen zijn triviaal, behalve de eigenschap: (AB)T = BTAT.

19.2 Eigenschappen van een reguliere matrix

stelsels lineaire vergelijkin-gen

matrices

Voor elke b ∈ Rn geldt: A heeft een inverseAx = b precies een (A regulier/inverteerbaar)

oplossing (regulier stelsel)

N(A) = {o} R(A) = Rn

rang (A) = n

det (A) 6= 0

Indien A een vierkante n bij n matrix is en het stelsel Ax = b is regulier, dan is matrix A regulier.Immers daar het stelsel Ax = b precies een oplossing heeft, bevat de nulruimte N(A) alleen denulvector, dus rang (A)= n en dus is A inverteerbaar.

170

Page 171: Lavts Matlab

19.3 Eigenschappen van een m bij n matrix

Voor iedere m bij n matrix A geldt:

N(A)⊥R(AT) en N(AT)⊥R(A).

Er geldt zelfs:

N(A)=R(AT)⊥ en N(AT)=R(A)⊥.

19.4 Eigenschappen van symmetrische en hermitische matrices

Een overzicht van de belangrijkste eigenschappen van de eigenwaarden en eigenvectoren:A reeel A complex

symmetrisch ∗ Eigenwaarden reeel.∗ Eigenvectoren reeel.

(A = AT) ∗ Eigenvectoren bij verschillen-de eigenwaarden zijn orthogo-naal.∗ is diagonaliseerbaar.∗ A = Q · Λ ·QT

(met Q orthogonaal)Hermitisch ∗ A is symmetrisch! ∗ Eigenwaarden (dus ook

det(A)) reeel.(dus alle bovenstaande eigen-schappen gelden)

∗ Eigenvectoren niet noodza-kelijk reeel.

(A = AH = AT) ∗ Eigenvectoren bij verschillen-de eigenwaarden zijn orthogo-naal.∗ A is diagonaliseerbaar.∗ A = U · Λ · UH

(met U unitair: zie hoofdstuk16.)

171

Page 172: Lavts Matlab

19.5 Eigenschappen van orthogonale en unitaire matrices

Een overzicht van de belangrijkste eigenschappen van de eigenwaarden en eigenvectoren:A reeel A complex

orthogonaal ∗ Eigenwaarden |λ| = 1.(A ·AT = I)

∗ Eigenvectoren bij verschillendeeigenwaarden zijn orthogonaal.

unitair ∗ A is orthogonaal! ∗ Eigenwaarden |λ| = 1.(A ·AH = I) (dus alle bovenstaande eigen-

schappen gelden)∗ Eigenvectoren bij verschillendeeigenwaarden zijn orthogonaal.

172

Page 173: Lavts Matlab

173

Page 174: Lavts Matlab

20 Lineaire Algebra Woordenlijst

A absolute value absolute waardeaddition of vectors optelling van vectorenadjugate matrix geadjugeerde matrixalgebraic multiplicity algebraısche multipliciteitangle hoekapproximation benaderingarea oppervlaktearithmetic mean rekenkundig gemiddeldeassociative associatiefaverage gemiddeldeaxis, axes as, assenaugmented matrix uitgebreide matrix

B back-substitution terug substitutieband matrix bandmatrixband width bandbreedtebasis variable basis variabelebasis basisbidiagonal bidiagonaalblock blokboundary condition randvoorwaardebreakdown ’t niet verder kunnen

C chain of matrices keten van matriceschange of basis basisovergangcharacteristic equation karakteristieke vergelijkingcharacteristic polynomial karakteristiek polynoomcofactor cofactorcolumn kolomcolumn space kolom ruimtecommutative commutatiefcommute commuterencomplement complementcomplex conjugate complex geconjugeerdecondition number conditie getalcone kegelcongruence congruentconstraints voorwaardenCramer’s rule regel van Cramercross produkt uit(wendig) produkt

174

Page 175: Lavts Matlab

D defective defekt (dus niet diagonaliseerbaar)degree of freedom vrijheidsgraaddependent afhankelijkdeterminant determinantdiagonalizable diagonaliseerbaardiagonally dominant diagonaal dominantdifference equation differentievergelijkingdifferential equation differentiaalvergelijkingdimension dimensiedirect sum direkte somdiscrete diskreetdistance afstanddistinct (eigenvalues) verschillend(e) (eigenwaarden)distributive distributief

E echelon form trapvormedge randeigenvalue eigenwaardeeigenvector eigenvectorelementary matrix elementaire matrixelimination eliminatieequilibrium evenwichterror foutexistence bestaan

F finite eindigforward elimination heen eliminatiefree variable vrije variabelefundamental subspaces fundamentele deelruimten

G general solution algemene oplossinggeometric multiplicity meetkundige multipliciteit

H Hermitian matrix Hermitische matrixhomogeneous homogeen

I identity matrix eenheidsmatrixill-conditioned slecht geconditioneerdinconsistent strijdigindependence onafhankelijkheidinequality ongelijkheidinfinite-dimensional oneindig dimensionaalinhomogeneous inhomogeeninner product in(wendig) productintersection doorsnedeinverse inverseinvertible inverteerbaariterative iteratief

J Jacobian Jacobiaan

175

Page 176: Lavts Matlab

K kernel nulruimte

L least squares kleinste kwadratenleft-inverse linker inverseleft nullspace linker nulruimtelength lengtelinear combination lineaire combinatielinear transformation lineaire afbeeldinglower triangular matrix benedendriehoeksmatrixLU factorization LU-decompositie

M main diagonal hoofd diagonaal

N negative definite negatief definietneutrally stable neutraal stabielnilpotent nilpotentnode knoopnonnegative niet negatiefnonsingular niet singuliernorm normnormal equation normaalvergelijkingnormal mode eigentoestand/eigentrillingnullity dimensie van de nulruimtenullspace nulruimte

O orthogonal orthogonaalorthonormal orthonormaaloscillation trillingoverdetermined overbepaald

P parallelepiped parallelepipedumparentheses haakjesparticular solution particuliere oplossingpermutation permutatieperpendicular vectors onderling loodrechte vectorenperturbation verstoringplane vlakpolar coordinates poolcoordinatenpolynomial polynoompositive-definite positief-definietpremultiplication voorvermenigvuldigingprincipal axis hoofdasprojection projectie

176

Page 177: Lavts Matlab

Q QR factorization QR decompositiequadratic kwadratisch

R range beeldruimte, bereikrank rangrectangular rechthoekigreflection spiegelingregression regressierescaling herschalingrotation draaiingroundoff error afrondfoutrow rijrow-echelon form trapvormrow-reduced echelon form gereduceerde trapvorm

S saddle point zadelpuntscalar scalairscaling schalingSchwarz inequality ongelijkheid van Schwarzset verzamelingshift verschuivingsign tekensimilar gelijkvormigsimultaneous gelijktijdigsingular singulierskew-symmetric scheef-symmetrischslack variable spelingsvariabelesolvable oplosbaarspace ruimtespan opspanselsparse ijlspectral spectraalstable stabielstiffness matrix stijfheidsmatrixstraight line rechte lijnsubset deelverzamelingsubspace lineaire deelruimtesummation sommatie/optellingsymmetric symmetrisch

T trace spoortransformation afbeeldingtransition matrix overgangsmatrixtranslation verschuivingtranspose getransponeerdetriangle inequality driehoeksongelijkheidtruncation error afbreekfout

U underdetermined onderbepaaldunit vector eenheidsvectorupper-triangular matrix bovendriehoeksmatrix

177

Page 178: Lavts Matlab

V value waardevariable variabelevector vectorvector equation vector voorstellingvector space vectorruimte

W wave equation golfvergelijkingweighted gewogenWronskian Wronskiaan

Z zero vector nulvector

178

Page 179: Lavts Matlab

Index

ans, 15

basesgeordend, 113

benaderingkleinste kwadraten, 61

clear, 15coordinaten, 113conjugeren, 118

decompositieeigenwaarden, 96LU, 28polaire, 146qr, 69

determinant, 83diag, 45differentie.vgl.

instabiel, 110neutraal stabiel, 110stabiel, 110

eig, 96eps, 15exit, 13eye, 17

flops, 27

Inf, 15

machtsmethode, 99geschaald, 100inverse, 101verschoven inverse, 102

matricesmachtverheffen, 18optellen en aftrekken, 17transponeren, 18vermenigvuldigen, 17

matrixafbeeldings-, 114basisovergangs-, 114bovendriehoeks, 28onderdriehoeks, 28permutatie, 29trace, 104

NaN, 15norm, 99

ones, 17oplosmethoden

Gauss-Seidel, 45Jacobi, 45

partial pivoting, 28pi, 15poly, 90polynoom

karakteristiek, 90

qr, 69

rand, 17rank, 56RCOND, 36rref, 46ruimten

fundamentele, 56

stelselinconsistent, 55onderbepaald, 55overbepaald, 55

tekens‘:’, 19‘;’, 14

transponeren, 118tril, 45

179

Page 180: Lavts Matlab

triu, 37

vectoreninprodukten, 59norm, 99

vergelijkingennormaal-, 61

who, 15whos, 15

zeros, 17

180