You are on page 1of 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
3.6 Bijzondere matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.7 MATLAB operaties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.8 Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.9 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.10 Aanvulling Hoofdstuk 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.10.1 Reguliere en singuliere stelsels . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.10.2 Bijzondere matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.10.3 Overzicht matrix-manipulaties . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Tellen van flops, LU-decompositie 27


4.1 Flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 LU-decompositie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 Oplossen stelsel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4 Permutatiematrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.5 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7 Aanvulling Hoofdstuk 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.7.1 Overzicht flops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.7.2 Simultaan oplossen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 Inverse van een matrix en enkele numerieke aspecten 36


5.1 Bepaling inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2 Het commando chol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 Aanvulling Hoofdstuk 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.5.1 Definities en stellingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.5.2 Positief-definiete matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.5.3 Voorbeelden positief-definiete matrices. . . . . . . . . . . . . . . . . . . . . 43

6 Iteratieve methoden en de algemene oplossing van stelstels


lineaire vergelijkingen 45
6.1 De commando’s diag en tril . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.2 Bepaling benaderingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.3 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.4 Het commando rref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.5 De algemene oplossing van A x= b . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.6 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.7 Aanvulling Hoofdstuk 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.7.1 Iteratieve methoden voor A x= b . . . . . . . . . . . . . . . . . . . . . . . 50
6.7.2 De methode van Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2
6.7.3 De methode van Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.7.4 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.7.5 methode van Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.7.6 methode van Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.7.7 Andere keuzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.7.8 Convergentie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.7.9 Wat geldt voor de fout? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.7.10 Toepassingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.7.11 Grote stelsels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.7.12 Redelijke benadering bekend . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.7.13 IJle matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.7.14 Reguliere en singuliere stelsels . . . . . . . . . . . . . . . . . . . . . . . . . 55

7 De vier fundamentele deelruimten 56


7.1 Fundamentele stelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.2 Het commando rank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.4 Aanvulling Hoofdstuk 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.4.1 De matrix AT A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8 Overbepaalde stelsels 61
8.1 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.2 Controleren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.3 Rijen toevoegen aan een matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.4 Kolommen toevoegen aan een matrix . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.5 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.6 Aanvulling Hoofdstuk 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.6.1 Twee methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.6.2 Methode (i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.6.3 Methode (ii) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.6.4 Voorbeeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.6.5 Opmerkingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

9 QR-decompositie 1 69
9.1 Het commando qr(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.2 Het commando A\b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

10 QR-decompositie 2 72
10.1 Toevoegingen QR-decompositie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
10.2 Verwisselen kolommen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
10.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3
10.4 Aanvulling Hoofdstukken 9 en 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.4.1 Orthogonaal en orthonormaal . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.4.2 Overzicht QR-decompositie . . . . . . . . . . . . . . . . . . . . . . . . . . 78

11 Determinanten 83
11.1 Determinant-berekening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
11.2 Verandering van de waarde van één element in een matrix . . . . . . . . . . . . . 83
11.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

12 Eigenwaarden en eigenvectoren 1 90
12.1 Karakteristiek polynoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
12.2 Nulpunten van een polynoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
12.3 Bepalingen eigenvectoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
12.4 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

13 Eigenwaarden en eigenvectoren 2 96
13.1 Het commando eig(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
13.2 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
13.3 Aanvulling Hoofdstukken 12 en 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
13.3.1 Concrete berekening van eigenwaarden/eigenvectoren . . . . . . . . . . . . 103
13.3.2 Het karakteristiek polynoom van A is . . . . . . . . . . . . . . . . . . . . . 104
13.3.3 De karakteristieke vergelijking van A is . . . . . . . . . . . . . . . . . . . . 104
13.3.4 Eigenvectoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
13.3.5 Eigenwaarden en eigenvectoren van gerelateerde matrices . . . . . . . . . . 106
13.3.6 Eigenwaarden-decompositie . . . . . . . . . . . . . . . . . . . . . . . . . . 107
13.3.7 Met A samenhangende eigenwaarden-decomposities . . . . . . . . . . . . . 107
13.3.8 Eigenschappen van Aˆk x . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
13.3.9 Grootste eigenwaarde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
13.3.10 Voorbeeld: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
13.3.11 Differentie-vergelijkingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
13.3.12 Voorbeeld: (zie paragraaf 13.3.10) . . . . . . . . . . . . . . . . . . . . . . . 110
13.3.13 Speciale differentievergelijkingen: iteratie-rijen . . . . . . . . . . . . . . . . 111
13.3.14 Voorbeeld: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

14 Lineaire afbeeldingen en basis-overgangen 113


14.1 Verschillende bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
14.2 Omzetten van coördinaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
14.3 Lineaire afbeeldingen ten opzichte van bases . . . . . . . . . . . . . . . . . . . . . 114
14.4 Duidelijke benamingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
14.5 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
14.6 Aanvulling Hoofdstuk 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

4
15 Symmetrische en hermitische matrices, symmetrische afbeeldingen 118
15.1 Transponeren en conjugeren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
15.2 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
15.3 Aanvulling Hoofdstuk 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
15.3.1 Complexe eigenwaarden, eigenvectoren en matrices . . . . . . . . . . . . . 123
15.3.2 Voorbeeld 1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
15.3.3 Beperking A is reëel kan vervallen . . . . . . . . . . . . . . . . . . . . . . . 125
15.3.4 Hermitisch conjugeren en Hermitische matrices . . . . . . . . . . . . . . . 125
15.3.5 Speciale klasse, de Hermitische matrices . . . . . . . . . . . . . . . . . . . 126
15.3.6 Symmetrische lineaire afbeeldingen: matrixvermenigvuldiging . . . . . . . 126
15.3.7 Voorbeeld 4: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
15.3.8 Voorbeeld 5: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
15.3.9 Voorbeeld 6: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
15.3.10 De vooorbeelden zijn afbeeldingsmatrices . . . . . . . . . . . . . . . . . . . 129
15.3.11 Minder speciale bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
15.3.12 Nauwkeurige definitie van symmetrische lineaire afbeelding . . . . . . . . . 130
15.3.13 Symmetrische lineaire afbeeldingen: meetkundig . . . . . . . . . . . . . . . 130
15.3.14 Voorbeeld 7: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
15.3.15 Positief definiete matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
15.3.16 Voorbeeld 8: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

16 Orthogonale en unitaire matrices, orthogonale afbeeldingen 133


16.1 Orthogonaal en unitair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
16.2 Aanvullen tot orthonormale basis . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
16.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
16.4 Aanvulling Hoofdstuk 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

17 Singuliere waarden decompositie 137


17.1 Het commando svd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
17.2 Het commando pinv(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
17.3 Opdrachten met MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
17.4 Aanvulling Hoofdstuk 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
17.4.1 Stelling: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
17.4.2 Speciaal geval 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
17.4.3 De matrices AT · A en A · AT . . . . . . . . . . . . . . . . . . . . . . . . . 140
17.4.4 Niet eenduidig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
17.4.5 Nog niet te bepalen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
17.4.6 Resterende kolommen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
17.4.7 Voorbeeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
17.4.8 Keuze tussen A en AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
17.4.9 Toepassing SVD: rangbepaling van een matrix . . . . . . . . . . . . . . . . 143

5
17.4.10 Indicatie voor lagere rang . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
17.4.11 Voorbeeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
17.4.12 Toepassing: matrix benadering van lagere rang . . . . . . . . . . . . . . . . 144
17.4.13 Niet gehele berekening nodig . . . . . . . . . . . . . . . . . . . . . . . . . . 145
17.4.14 Alternatieve schrijfwijze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
17.4.15 Toepassing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
17.4.16 Toepassing: polaire decompositie . . . . . . . . . . . . . . . . . . . . . . . 146
17.4.17 Toepassing: pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
17.4.18 Speciale gevallen met een eenvoudige uitdrukking . . . . . . . . . . . . . . 148
17.4.19 Een ander resultaat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
17.4.20 Pseudo-inverse van een reële m bij n matrix A . . . . . . . . . . . . . . . . 149
17.4.21 A+ met eenvoudige vorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
17.4.22 AT · A singulier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

18 Extra opgaven 153


18.1 Extra-opgaven: Tellen van flops, LU-decompositie,
zie Hfd. 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
18.2 Extra-opgaven: Inverse van een matrix en enkele numerieke aspecten ,
zie Hfd. 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
18.3 Extra-opgaven: Iteratieve methoden en de algemene oplossing van stelstels lineaire
vergelijkingen, zie Hfd. 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
18.4 Extra-opgaven: Overbepaalde stelsels, zie Hfd. 8 . . . . . . . . . . . . . . . . . . . 156
18.5 Extra-opgaven: QR-decompositie, zie Hfd. 9 en Hfd. 10 . . . . . . . . . . . . . . . 156
18.6 Extra-opgaven: Eigenwaarden en Eigenvectoren, zie Hfd. 12 en 13 . . . . . . . . . 158
18.7 Extra-opgaven: Symmetrische en hermitische matrices,
zie Hfd. 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
18.8 Extra-opgaven: Orthogonale en unitaire matrices,
zie Hfd. 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
18.9 Extra opgaven: Singuliere waarden decompositie,
zie Hfd. 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

19 Appendix 170
19.1 Eigenschappen van matrix-manipulaties . . . . . . . . . . . . . . . . . . . . . . . . 170
19.2 Eigenschappen van een reguliere matrix . . . . . . . . . . . . . . . . . . . . . . . . 170
19.3 Eigenschappen van een m bij n matrix . . . . . . . . . . . . . . . . . . . . . . . . 171
19.4 Eigenschappen van symmetrische en hermitische matrices . . . . . . . . . . . . . . 171
19.5 Eigenschappen van orthogonale en unitaire matrices . . . . . . . . . . . . . . . . . 172

20 Lineaire Algebra Woordenlijst 174

6
1 Inleiding
De bedoeling is dat studenten eerst kennis nemen van de theorie, daarna oefenen. Het liefst met
de 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 naar
rekenapparatuur, die het wel eventjes voor jou doet. Precies, want wat doet die rekenapparatuur
eigenlijk, wat berekent deze nu eigenlijk?
Een document onafhankelijk van een bepaald computerprogramma, was het mooiste geweest. Een
speurtocht 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 geschikte
programma’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 georiënteerd.
(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 de
site 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, een
mix van numeriek en symbolisch rekenen.
Het mooiste zou zijn, als studenten hun verkregen antwoorden (met de hand berekend!) zouden
controleren met dergelijke Computer Algebra Systemen. (En niet andersom!)
Het schrijven is gebaseerd op oude diktaten, waar onder andere Koo Rijpkema en andere collega’s
aan hebben meegewerkt. De oude geschriften zijn door mij zo nodig aangepast. De secretaresse
bij wiskunde had nog een copie op floppy’s staan, van deze oude diktaten uit 1990. Alles bij elkaar
omvat 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 ik
meen, iedere week een college van 3 uur en een hele middag (3 uur) instructie. In het prille begin
zaten wij nog in de kelder van de Traverse (toendertijd: Rekencentrum) achter kleine PC’s, die
waren 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, in
verband 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 het
nadenken over, of een probleem wel goed werd aangepakt! Was er geen andere manier om aan het
antwoord te komen? De vraag komt wel eens bij mij op of vandaag de dag niet het omgekeerde
gebeurt? De student loopt vast en ...
Commentaar verneem ik graag, staan er fouten in, dan verneem ik dit graag.
Op- en aanmerkingen doorgeven aan mij (René van Hassel)
email: r.r.v.hassel@tue.nl

7
2 Belangrijke begrippen
2.1 Gauss-eliminatie en matrix-manipulaties, zie Hoofdstuk 3.
* Gauss-eliminatie, vegen
* matrix, coëfficiënten-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.: lower
triangular 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
* bandmatrices

* tridiagonale matrices

* positief-definiete matrices

* Cholesky-decompositie

2.4 Iteratieve methoden en de algemene oplossing van stelstels


lineaire 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
* 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
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
* coördinaten

* basisovergangsmatrix

* lineaire afbeelding

* domein/bereik

11
* 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
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 van
MATLAB. Zoals uit de naam MATLAB blijkt, is de basisrekengrootheid een matrix. MATLAB
is 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 het
MATLAB systeem vertaald en vervolgens uitgevoerd. Voor de berekeningen met de matrices zijn
veel commandos aanwezig. Dit aantal is bovendien gemakkelijk uit te breiden met zelf gemaakte
commando’s. Daarbij maakt het programma geen verschil tussen zelf gemaakte commando’s en
standaard 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 computers
in 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. Het
duurde 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 commando
staat. 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 Lineaire
Algebra 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
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’. Wanneer
een opdracht niet op één regel past, kan de opdracht worden afgebroken door ‘...’ aan het einde van
de 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+6
MATLAB plaatst normaal elk resultaat op het scherm. Dit kan voorkomen worden door een
‘;’-teken achter een opdracht te plaatsen. Bijvoorbeeld de opdracht:

s=1+2
kent 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 waarde
van s willen zien, kan dit eenvoudig door als opdracht te geven:

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+6
b=1+2+3+4+5+6;
b
1+2+3+4+5+6
c=10*ans

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

14
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 geen
variabele 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 ongeveer
2.22E-16. Omdat MATLAB deze variable intern gebruikt, is het niet aan te raden om de
waarde van eps te veranderen.

• pi 3.141592654..

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

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

Wanneer een lijst van gebruikte variabelen nodig is, zijn er twee commando’s in MATLAB aanwezig
om 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 variabele
complex is.
Het verwijderen van variabelen uit het geheugen kan gebeuren met het commando

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

clear x
gegeven 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
3.5 Het opstellen van matrices
MATLAB kent in wezen maar één rekengrootheid, namelijk een mxn-matrix (een matrix met m
rijen en n kolommen met m ≥ 1 en n ≥ 1). Zo wordt een scalar in MATLAB opgevat als een
1 × 1- -matrix. Een matrix kan op verschillende manieren ingevoerd worden, namelijk:

• tussen [ en ], waarbij de rijen gescheiden worden door ; en de elementen gescheiden worden


door 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 3
4 5 6
7 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.


 
1 2 −1 3
 7 2 0 1 
A =   3 −2 −1 −1 

0 1 4 8

16
3.6 Bijzondere matrices
Behalve door direkte invoer, kunnen enkele bijzondere matrices ook rechtstreeks gevormd worden
met 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 een
3x3-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 met
dezelfde dimensies als matrix A. Bijvoorbeeld:

zeros(iA)

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 met
matrices als geheel. Hiertoe kent MATLAB een groot aantal commando’s. Een aantal van deze
commando’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 de
matrices overeenstemmen (dus als A een mxn- en B een nxp-matrix is) of als A of B
een getal is. Het vermenigvuldigen van een matrix met een getal komt overeen met het
vermenigvuldigen van alle matrixelementen met dat getal.
optellen en aftrekken:

17
Het optellen en aftrekken van twee matrices komt overeen met het optellen en aftrekken
van 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 een
getal is. In dat laatste geval wordt het getal bij elk element van de matrix opgeteld of
afgetrokken.

machtsverheffen:
De uitdrukking A∧p verheft de matrix A tot de p-de macht. Als p een positief geheel
getal 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 getallen
in voorkomen, zie hoofdstuk 15.
A0 : de getransponeerde van matrix A.
Bijvoorbeeld:

[1 2 3]0

vormt de kolommatrix:
1
2
3

Als:

x = [1 2 3]

wordt dezelfde matrix verkregen met de opdracht:

x0

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 AT A via: D = B ∗ A. Vergelijk het resultaat met C = A ∗ B.

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

18
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 met
behulp 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 vector
is, is n index voldoende. Bij de oorspronkelijk ingevoerde matrix A levert A(3, 2) de waarde van
dit element, namelijk − 2.

Hiermee is het o.a. mogelijk om één afzonderlijk element van de matrix te veranderen. De
opdracht:

A(3, 2) = 3

verandert bij de matrix A de oorspronkelijke waarde − 2 in de nieuwe waarde 3. Alle andere


elementen 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 mogelijkheid
goed 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 te
halen. 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 matrix
A. 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 na
aan de hand van een 4 bij 4 voorbeeld en verklaar hoe dit volgt uit de matrixvermenigvul-
diging.

19
2. Beschouw de volgende matrices:
   
1/2 1/2 1/2 1/2 1 0 0 0
 1/2 1/2 1/2 1/2   0 1 0 0 
A =   en B =   en C = AB
 1/2 1/2 1/2 1/2   0 0 −1 0 
1/2 1/2 1/2 1/2 0 0 0 −1

(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
 
2 1 −2
A =  −2 2 0 
10 − 1 5

en de matrices
     
1 0 0 1 0 0 1 0 0
E1 =  1 1 0  , E2 =  0 1 0  , E3 =  0 1 0 
0 0 1 −3 0 1 0 2 1

a. Bereken de matrices:

Bi = E i ∗ 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 de
oorspronkelijke matrix A.

20
4. Beschouw de matrix
 
2 1 −2
A =  −2 2 0 
10 − 1 5

en de matrices
   
1 0 0 1 0 3
E1 =  0 1 0  , E2 = E T
1 =
 0 1 0 
3 0 1 0 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 rijen
verschillen ten opzichte van de rijen van de oorspronkelijke matrix A.

5. Beschouw de matrix:
 
1 2 3
A= 1 3 4 
8 5 7

en de matrices:
     
1 2 3 1 2 3 1 2 3
B1 =  0 1 1  , B2 =  0 1 1  , B3 =  0 1 1 
8 5 7 0 − 11 − 17 0 0 −6

a. Bepaal elementaire matrices Ei , zodanig dat:


E1 ∗ A = B 1
E2 ∗ B 1 = B 2
E3 ∗ B 2 = B 3
Controleer het antwoord met behulp van MATLAB.
b. Bepaal een matrix C, zodanig dat:

C ∗ A = B3

21
6. Het is mogelijk om een matrix door middel van bewerkingen met hele rijen om te werken
naar bovendriehoeksvorm (Gauss-eliminatie). Behalve een inzicht-stap (namelijk bepalen
welk veelvoud van een rij bij een andere rij opgeteld/afgetrokken dient te worden) is daarbij
een rekenstap nodig (namelijk het concreet uitvoeren van deze bewerking). Omdat binnen
MATLAB de mogelijkheid bestaat van bewerkingen met complete matrix rijen, zie paragraaf
3.8, kan deze rekenstap via MATLAB uitgevoerd worden.
Beschouw daartoe het eerste voorbeeld met de volgende matrix:
 
2 1 1 5
A =  4 −6 0 −2 
−2 7 2 9

Door tweemaal de eerste rij van de tweede rij af te trekken verandert de hele tweede rij van
A, en wel op zo’n manier dat A(2, 1) = 0. In MATLAB lukt dit met het commando (zie
1.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 tweemaal
de eerste rij van de tweede rij afgetrokken. Dit aantal van twee is precies de verhouding van
de matrixelementen A(2, 1) (het element dat nul moet worden) en A(1, 1) (het element
waarmee je dat realiseert).
In gevallen waarin deze verhouding A(2, 1)/A(1, 1) niet zo eenvoudig uitkomt, kan het
handig zijn MATLAB zelf die verhouding uit te laten rekenen in de reductie-stap. Bij het
gegeven 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 van
de matrix A.

7. Beschouw de matrices:
 
  1 0 0
−5 3 4 4  3 0 0 
A =  3 1 − 1 2  en B = 
 2

0 0 
0 0 0 6
5 2 −4

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

22
   
−5 3 4 4
A = [A1 A2] met A1 =  3 1 −1  en A2 =  2 
0 0 0 6

 
  1 0 0
B1 
B= met B1 =  3 0 0  en B2 = 5 2 −4 .
B2
2 0 0

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 product
A ∗ B via de bovenstaande uitdrukking!)
Een andere manier van opdelen (partitioneren) van A is:
     
A11 A12 −5 3 4 4
A= met A11 = A12 =
A21 A22 3 1 −1 2

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

b. Bereken A11 ∗ B1 + A12 ∗ B2


en 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∗B
via bovenstaande uitdrukkingen!)
Voor de matrix B kan als partitionering genomen worden:
   
  1 0 0
B11 B12
B= met B11 =  3  B12 =  0 0 
B21 B22
2 0 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
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 product
A∗B via bovenstaande uitdrukkingen!)

d. Aan welke voorwaarden moeten, in onderdeel c., de matrices A11 t/m B22 voldoen
om 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 één
oplossing heeft. Een stelsel lineaire vergelijkingen heet singulier indien het stelsel geen of meerdere
oplossingen 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 allemaal
0-en.
Notatie: I.
De 4 bij 4 identieke matrix ziet er dus als volgt uit:
 
1 0 0 0
 0 1 0 0 
 
 0 0 1 0 
0 0 0 1

3. De nulmatrix.
Dit is een matrix met alleen maar nullen.
Notatie: O.
Voorbeeld:
 
0 0 0 0
 0 0 0 0 
0 0 0 0

4. Een diagonaal matrix.


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

24
Voorbeeld:
 
2 0 0
 0 0 0 
0 0 1

5. Een bovendriehoeksmatrix.
Dit is een matrix die onder de diagonaal allemaal 0-en heeft.
Voorbeeld:
 
1 3 7 −3 4
 0 2 −1 4 5 
 
 0 0 2 3 0 
0 0 0 9 1

6. Een onderdriehoeksmatrix.
Dit is een matrix die boven de diagonaal allemaal 0-en heeft.
Voorbeeld:
 
2 0 0 0
 2 3 0 0 
 
 3 4 0 0 
9 2 1 −1

7. Een symmetrische matrix.


Een symmetrische matrix is een (vierkante) matrix waarvoor geldt: A = AT .
Voorbeeld:
 
2 4 6 2
 4
 0 −1 0  
 6 −1 3 7 
2 0 7 2

3.10.3 Overzicht matrix-manipulaties


.

1. Vermenigvuldigen.
     
1 2 −1 1 −1 1 −3
 3 7 2   2 0  =  25 1 
4 −2 1 4 2 4 −2

25
2. Optellen.
     
1 3 2 3 3 6
 2 4  +  1 2  =  3 6 
1 5 5 7 6 12

3. Scalair vermenigvuldigen.
   
1 3 2 6
2  2 4  =  4 8 
1 5 2 10

4. Machtsverheffen.

Ak = |A · A · A
{z · . . . · A}
k keer

5. Transponeren.
 T
1 3  
 2 4  = 1 2 1
3 4 5
1 5

26
4 Tellen van flops, LU-decompositie
4.1 Flops
Het is mogelijk om met MATLAB het aantal flops te laten berekenen. Onder een flop wordt
grofweg verstaan een eenheid van optelling, vermenigvuldiging, of deling. Hieronder de definitie
die MATLAB gebruikt voor een flop. Op die manier kun je een schatting maken over het aantal
berekeningen dat een computer moet uitvoeren om bijvoorbeeld matrices op te tellen of matrices te
vermenigvuldigen. Voor de gewone huis tuin en keuken computers worden de flops steeds minder
van belang, gezien de steeds groter wordende werkgeheugens en harde schijven en de steeds sneller
wordende processoren. Een iemand, die tot het uiterste wil gaan, die zal goed wel goed moeten
weten wat zijn of haar PC aankan.
flops
Purpose:
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 and
subtractions are one flop if real and two if complex. Multiplicati-
ons and divisions count one flop each if the result is real and six
flops if it is not. Elementary functions count one if real and more
if 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:
flops
flops(0)

27
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. Bij
het resultaat is U een bovendriehoeksmatrix , maar is L een onderdriehoeksmatrix waarvan de rijen
verwisseld kunnen zijn. MATLAB noemt dit dan ook een psychologische onderdriehoeksmatrix.
Bijvoorbeeld bij de matrix
 
2 1 1
A =  4 −6 0 
−2 7 2

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


   
1 0 0 2 1 1
L =  2 1 0  U =  0 −8 −2 
−1 −1 1 0 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 0
0 4 1
0 0 1
MATLAB voert deze verwisselingen uit indien dit noodzakelijk is (een nul op een spil-plaats) of
wenselijk 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 de
oorspronkelijke 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
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 rijen
verwisseld zijn, is het bij stap 1 aan te bevelen (althans in gedachten) de vergelijkingen, inclusief
de rechterleden b, eerst zo te verwisselen dat een onderdriehoeksvorm ontstaat en pas dan de
forward substitution uit te voeren.

4.4 Permutatiematrices
Wanneer de matrix L geen zuivere onderdriehoeksvorm heeft is het, door een geschikte verwisseling
van rijen, mogelijk deze matrix op onderdriehoeksvorm te brengen. Zo’n verwisseling van rijen
betekent, in termen van matrixvermenigvuldiging, een (voor-) vermenigvuldiging met een geschikte
permutatiematrix 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 onstaat
uit de oorspronkelijke matrix A door precies dezelfde rijverwisselingen uit te voeren als nodig
waren om L op zuivere onderdriehoeksvorm te brengen.
Bij het voorbeeld 4.2 is de permutatie-matrix
 
0 1 0
P= 1 0 0 
0 0 1
en is de matrix
 
4 −6 0
P·A= 2 1 1 
−2 7 2

(dus verwisseling van rij 1 en rij 2!)


MATLAB levert nu als resultaat van de LU-decompositie:

29
[L, U] = lu (P ∗ A)
L= 1 0 0
0.5000 1.0000 0
-0.5000 1.0000 1.0000
U = 4 −6 0
0 4 1
0 0 1

4.5 Het commando A\b


Binnen MATLAB is het ook mogelijk om rechtstreeks de oplossing van een stelsel vergelijkingen te
bepalen. In dat geval wordt weliswaar de LU-decompositie gebruikt, maar de resultaten daarvan
verschijnen niet op het scherm. Ook de forward- en de back-substitution wordt uitgevoerd zonder
tussen 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 en
bijvoorbeeld ook een antwoord geeft wanneer een stelsel vergelijkingen geen (exacte) oplossing
heeft. Het is om die reden belangrijk een antwoord dat je op deze manier bepaald hebt expliciet
te 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
Bepaal met MATLAB het product ABx op de volgende drie manieren, bepaal voor elk geval
het 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 coëfficiëntenmatrix
A en de vector van rechterleden, b, gegeven. Bepaal m.b.v. MATLAB de LU-decompositie
van deze coëfficiëntenmatrices 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 controleer
de gevonden antwoorden.
   
− 2 − 10 6 −4
a. A =  1 1 8  en b =  20 
1 5 −2 4
   
1 2 3 19
b. A =  4 7 2  en b =  42 
4 8 3 49
   
2 2.5 − 1 7.5
c. A =  2 3.5 1  en b =  − 1.5 
4 −1 2 5
   
1 4 3 0
d. A =  2 7 4  en b =  1 
0 1 2 3
4. Beschouw de matrix A:
 
1 2 3
A =  4 7 2 
4 8 3
en de matrices:
     
3 1 2 3 1 2
X1 =  0  X2 =  0 −1  X3 =  0 0 −1 
−1 −2 0 −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
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:
   
2 −4 1 2 −4 1 1 0 0
X1 =  1 0 0  X2 = [X1 I3 ] =  1 0 0 0 1 0 
3 1 0 3 1 0 0 0 1
en
 
0 1 0
P =  0 0 1 
1 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 1
 2 −4 1 1 0 0 
1 0 0 0 1 0
Bepaal, zonder MATLAB te gebruiken, een permutatiematrix P, zò dat P · X2 deze
matrix oplevert. Controleer het antwoord!
c. Bepaal een permutatiematrix P, zò 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, zò dat:
P · A = L· U
 
0.5 5
a. A =
1 3
 
1 3 5
b. A =  3 12 18 
5 18 30

32
Merk op dat de matrix P ∗ A niet langer symmetrisch is.
 
1 4 8 3
 0 3 7 −3 
c. A =  
 9 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 coëfficiëntenmatrix


 
1 2 3
A =  4 7 2 
4 8 3

maar met verschillende rechterleden:


       
19 21 5 − 18
b1 =  42  b2 =  17  b3 =  10  b4 =  − 44 
49 21 11 − 54

a. Neem als respectievelijke oplossingen van deze vergelijkingen x1 t/m x4 en neem als
matrix 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. Bepaal


met behulp hiervan simultaan (dus via één opdracht) de oplossing van de vier stelsels
vergelijkingen.

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
1
n n3 /3 2
∗ aantal MATLAB-flops
3 9
5 42
10 333
30 9000
50 41667
70 114330
90 243000
Opmerking 2: Opmerking 1: MATLAB plaatst normaal elk resultaat op het scherm. Dit
kan voorkomen worden door een ‘;’ achter een opdracht te plaatsen. Indien je na
bijvoorbeeld de opdracht rand(90) géén ; zet verschijnen er 8100 getallen op het scherm.
Mocht je de ‘;’ zijn vergeten, bedenk dan dat je de uitvoer altijd kunt afbreken met
CONTROL-C (met vasthouden Ctrl-toets op C drukken).

Opmerking 2: Wanneer voor verschillende random matrices met dezelfde afmetingen de


bovenstaande bewerkingen uitgevoerd worden kan onderling het precieze aantal flops
verschillen. Een mogelijke reden hiervoor is dat tijdens de berekening sommige ele-
menten al voor hun beurt nul gemaakt worden, waardoor naderhand enkele operaties
overbodig zijn. Omdat het bij het beoordelen van de resultaten om de orde van grootte
gaat speelt dit echter geen belangrijke rol!

Opmerking 2:
9. Beschouw de matrix:
 
A11 ∅
A =
∅ 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 van
de 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 de
resultaten.

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
Gauss Gauss-Jordan LU-decompositie

1 3 1 3 1 3
vegen in A 3
n + o(n3 ) 2
n + o(n3 ) 3
n + 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 1 2 −1 1 −3
3x1 + 7x2 + 2x3 = 25  3 7 2 25 1  →
4x1 − 2x2 + x3 = 4 4 −2 1 4 −2

 
1 2 −1 1 −3
én  0 1 5 22 10  →
0 − 10 5 0 10
  
 y1 + 2y2 − y3 = − 3 1 2 −1 1 −3
3y1 + 7y2 + 2y3 = 1  0 1 5 22 10 
4y1 − 2y2 + y3 = − 2 0 0 55 220 110

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

Kosten: 13 n3 + 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 de
onderdriehoeksmatrix L. Indien we later een stelsel willen oplossen met dezelfde coëfficiëntenmatrix
is het echter wel verstandig de veegoperaties vast te leggen in L.

35
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 stelsels
vergelijkingen:
A · X = A · [x1 x2 ... xn ] = [e1 e2 ... en ] = I
op te lossen, waarbij ek de k e kolom van de eenheidsmatrix I voorstelt. Binnen MATLAB kan dit
met behulp van het commando:
A\ eye(n)
waarbij eye(n) de n × n eenheidsmatrix is (b.v. eye(3) is de 3 × 3 eenheidsmatrix). Daarnaast
beschikt 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 = UT U. Dit is de Cholesky-decompositie van A.
MATLAB controleert van te voren expliciet of de matrix A positief definiet is en geeft zo nodig
een 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 zo
gegeven antwoord heeft verder geen betekenis!

5.3 Het commando A\b


Indien een matrix zeer slecht geconditioneerd is, geeft MATLAB, na de opdracht x = A\b, de
volgende 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 op
het scherm verschijnt, moeten we niet vertrouwen. Ook niet als A ∗x ongeveer b oplevert. A kan
immers zeer slecht geconditioneerd zijn.

36
5.4 Opdrachten met MATLAB
1. Bepaal van elk van de volgende matrices, op de twee manieren zoals omschreven in paragraaf
5.1, de inverse en controleer het antwoord.
 
2 −1 0
a. A=  − 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


1 12 13

A=  1 1 1 
2 3 4
1 1 1
3 4 5
 
2 1 4 6
 0 3 8 5 
c. A= 
 0

0 0 7 
0 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 heeft
en vergelijk het aantal nul-elementen in de oorspronkelijke en inverse matrix.
Opm: Om type-werk te besparen gebruiken we voor de matrices speciale MATLAB
commando’s. Omdat het echter om de matrices en niet om de commando’s gaat lichten
we 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 volgende
speciale vorm
 
A11 0
A= met : A11 : p × p matrix
0 A22
A22 : q × q matrix en p + q = n
overige elementen : 0 .

37
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:

  B11 : p × p matrix
B11 B12 B12 : p × q matrix
B= met :
B21 B22 B21 : q × p matrix
B22 : 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 volgende
speciale vorm:

  A11 : p × p matrix
A11 A12 A12 : p × q matrix
A= met :
0 A22 A22 : q × q matrix en p + q = n
overige 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:

  B11 : p × p matrix
B11 B12 B12 : p × q matrix
B= met :
B21 B22 B21 : q × p matrix
B22 : q × q matrix

38
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 de
MATLAB opdracht: x = A\b. (Zie paragraaf 4.6, opgave 8.)
Conclusie: Ax = b oplossen met behulp van de inverse van A kost ongeveer ... keer
zoveel flops als met behulp van de LU-decompositie.

6. Bepaal, voor zover mogelijk, van ieder van de volgende matrices de Cholesky decompositie
met MATLAB en controleer het antwoord met MATLAB! 
  8 −2 −1 −3
1 3 5  −2 5 1 −1 
a.  3 12 18  b.   −1 1

7 4 
5 18 30
−3 −1 4 10
(zieparagraaf 4.6, opgave
6.)
8 −3 5 −8  
 −3 135
6 −5 −8  
 31218 
c. 
 5 −5 12 d.
0 
10830
−8 −8 0 10

39
7. Er geldt, dat een symmetrische matrix met positieve spillen, verkregen door vegen zonder
rijverwisselingen, positief-definiet is.
i) Beschouw de volgende positief–definiete matrix
 
1 3 5
A1 =  3 12 18 
5 18 30
a. Bepaal de Cholesky decompositie van A1 met MATLAB via het commando
chol(A).
b. Bepaal ook de LU–decompositie van A1 met MATLAB via het commando
lu( A1 ).
c. Is het resultaat van deze LU-decompositie (let op het teken van de spillen) in
tegenspraak met hetgeen dat aan het begin van deze opgave staat?
ii) Beschouw de volgende matrix
 
1 2 4
A2 =  2 4 6 
4 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 = 32
 7x1 + 5x2 + 6x3 + 5x4 = 23

 8x1 + 6x2 + 10x3 + 9x4 = 33
7x1 + 5x2 + 9x3 + 10x4 = 31
en

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

 3x1 + 6x2 − 2x3 + x4 = 8
2x1 + 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 daarvan
op de oplossing is het mogelijk om een indruk te krijgen hoe de matrices geconditioneerd
zijn.

40
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 oplossing
is.
Door de coëfficiënten van de vergelijkingen iets te veranderen en te kijken naar het effect
daarvan op de oplossing is het ook mogelijk om een indruk te krijgen hoe de matrices
geconditioneerd zijn.
c. Verander de elementen van de oorspronkelijke coëfficiënten–matrices door er de
matrix

0.1 ∗ rand(4)

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

d. Welk van beide stelsels vergelijkingen heeft de best geconditioneerde coëfficiënten


matrix?

9. Met de MATLAB opdracht A = hilb(n) wordt A de n bij n Hilbert matrix, gedefinieerd


door 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 stelsel
precies één oplossing heeft.
– Een stelsel lineaire vergelijkingen Ax = b heet singulier indien het stelsel geen of meerdere
oplossingen heeft.

41
– Een matrix A heet niet-singulier (of regulier of inverteerbaar) indien er een matrix B
bestaat zò 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 singulier
zijn.
Voorbeeld:
 
1 0
De matrix A=  0 1  is niet vierkant en dus singulier.
0 0
Vergelijk nu de stelsels

 
1
(1) Ax =  1  en
0
 
1
(2) Ax =  1 .
1
Het eerste stelsel is regulier; het tweede stelsel is singulier.

5.5.2 Positief-definiete matrices

Definitie: Een symmetrische matrix A waarvoor geldt

xT Ax > 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 zijn
dus ongelijk aan nul.

42
Maar we kunnen nog meer zeggen over het Gauss-veegproces. Bij het vegen in een positief-definiete
matrix zijn rijverwisselingen niet nodig. Het technische bewijs hiervan laten we achterwege. Het
gevolg is, dat A op precies één 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 = BT B met B een bovendriehoeksmatrix.

We noemen deze decompositie de Cholesky-decompositie. Via een bepaald algoritme (het Cholesky-
algoritme) kan men deze bepalen in 16 n3 + 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 zonder
rijverwisselingen, is positief-definiet.

5.5.3 Voorbeelden positief-definiete matrices.


     
2 1 1 0 2 1
1. A= = 1
1 2 2
1 0 1 12
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 geldt
voor de matrix AT A:
T
(i) (AT A)T = AT AT = AT A dus AT A 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 één i met yi 6= 0.

43
xT AT Ax = (Ax)T Ax = y12 + y22 + ... + yn2 > 0.
Dus AT A is positief-definiet.

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

44
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 van
de vorm:
Sx̃ = Tx + b
een rol.
Bij de Jacobi methode is S een diagonaalmatrix met als elementen de elementen op de diagonaal
van 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 van
A 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 het
oplossen 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 keren
een stelsel vergelijkingen met dezelfde coëfficiëntenmatrix 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 voor
symbool, terug op het scherm krijgen.

45
6.3 Het commando A\b
Indien 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. Door
afrondfouten 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. De
betekenis van deze x komt in een volgend hoofdstuk aan bod.

Verschijnt er een van bovenstaande waarschuwingen, dan is de matrix singulier of zeer slecht
geconditioneerd. De waarde van x is onbetrouwbaar. Verschijnt er geen waarschuwing
controleer 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 regulier
of onderbepaald. MATLAB levert namelijk hoogstens één oplossing. Voor de algemene oplossing
moet 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 de
trapvorm 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 te
bepalen 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 ontstaat
door niet alleen naar beneden te vegen (Gauss), maar ook naar boven, terwijl de spillen gelijk aan 1
worden gemaakt (Gauss-Jordan). Op deze manier wordt door middel van rijvegen zo veel mogelijk
nullen geproduceerd, waardoor dezelfde informatie eenvoudiger is af te lezen. Het commando om
dit door MATLAB te laten uitvoeren is:

rref(A)

46
6.5 De algemene oplossing van A x= b
Indien we van een stelsel Ax = b de algemene oplossing willen bepalen kunnen we natuurlijk
eerst een particuliere oplossing proberen te vinden (zie bijvoorbeeld paragraaf 6.3) en daarna de
nulruimte (zie bijvoorbeeld paragraaf 6.4). We kunnen dit echter ook op de volgende manier
oplossen. Het commando B = [A, b], voegt aan de coëfficiëntenmatrix A het rechterlid b toe. Zo
ontstaat de uitgebreide matrix B. Om de algemene oplossingen van Ax = b te bepalen kunnen we
gaan 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 coëfficiëntenmatrix,
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 de
gevonden benaderingen.
   
   1  13 − 2 1 10
3 2 52
a. A = b= b. A =  1 7 −1  b =  4 
2 4 9
2 −1 9 − 25

(zie E4.1)
       
2 1 0 4 2 7 0 16
c. A= 1 5 1  b =  12  d. A= 5 1 2  b =  13 
3 0 6 9 1 1 4 15
2. Beschouw het stelsel vergelijkingen:

x1 + 2x2 = 5
2x1 + x2 = 4 .

a. Probeer m.b.v. de methode van Jacobi, iteratief een oplossing voor dit stelsel te
benaderen. 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
c. Bepaal ook analytisch de oplossing van het stelsel vergelijkingen en vergelijk dit
resultaat met de eerder gevonden resultaten.
Opmerking: Merk op dat de coëfficiëntenmatrix in onderdeel b. positief-definiet is, in
zo’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 verwisseling
van de volgorde van de vergelijkingen.
 
 3x1 + 2x2 + 9x3 = 5  x1 + x2 +4x3 = 15
a. 17x1 + 2x2 + x3 = 1 b. 5x1 + x2 +2x3 = 13
2x1 + 12x2 + 3x3 = 2 2x1 + 7x2 = 16
 
(zie 4.8.1.d)
4. Een veelvoorkomende opvatting is dat bij het iteratief oplossen van een stelsel vergelijkingen
de methode van Jacobi en de methode van Gauss-Seidel allebei òf wel òf niet naar een
oplossing van het stelsel convergeren.
a. Ga dit na voor de opgeloste stelsels van opgave 1.
b. Ga dit na voor het stelsel vergelijkingen

 2x1 − x2 + x3 = 3
2x1 + 2x2 + 2x3 = − 4
− x1 − x2 + 2x3 = − 1

c. Ga dit na voor het stelsel vergelijkingen



 x1 − 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.3
Beschouw
 de volgende
 vier stelselslineaire
 vergelijkingen.

1 1 3 1 1 2
x= x=
4 4 12 3 3  6 
    1 0 1
1 1 2
x=  0 1 x=   1 
3 3 3
0 0 1
a. Ga na dat in alle gevallen de coëfficiëntenmatrix singulier is, de bovenste twee stelsels
onderbepaald zijn en de onderste twee stelsel overbepaald.
b. Voer voor de vier stelsels de opdracht x = A\b uit en vergelijk het resultaat met
onderdeel a. en paragraaf 6.3.

48
6. Beschouw de volgende matrix A en kolomvector b
   
1 2 3 5
A=  1 4 9 b=  3 
1 3 6 4
a. Veeg met de hand in het stelsel Ax = b volgens de methode van Gauss en bepaal zo
de 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-Jordan
en 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 resultaat
van het commando x = A\b.
   
2 1 −2 2
a. A= b=
 2 − 2 1  3 
1 1 2
b. A= b=
 10 1   11 
1 2 7 1
 1 4 2   2 
   
c. A=  2 0 1 
 b =  0 
 
 3 0 3   −2 
 −2 8 7   5
1 7 4 1 2 24
 2 6 4 2 4   28 
   
d. A=  3 3 3 5 8 
 b =  35 
 
 −2 0 −1 7 5   23 
0 4 2 −1 −1 6

49
regulier
N(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 uiteindelijk
een goede benadering voor de oplossing te vinden. Behalve op de methoden zelf gaan we kort in
op 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 = 4 (1)
2x1 − x2 + 9x3 =  − 25

  
13 − 2 1 10
ofwel Ax = b met A =  1 7 − 1  en b =  4 . (2)
2 −1 9 − 25
We herschrijven dit stelsel als volgt. Met behulp van de eerste vergelijking schrijven we x1 in
termen van x2 en x3 . Met behulp van de tweede vergelijking schrijven we x2 in termen van x1 en

50
x3 . En met behulp van de derde vergelijking schrijven we x3 in termen van x1 en x2 . We krijgen
dan:
 x1 = 2/13 ∗ x2 − 1/13 ∗ x3 + 10/13
x2 = − 1/7 ∗ x1 + 1/7 ∗ x3 + 4/7 (3)
x3 = − 2/9 ∗ x1 + 1/9 ∗ x2 − 25/9 .

Indien we een benadering van de oplossing hebben, x = (x1 , x2 , x3 ), vullen we die gelijktijdig in de
rechterleden van (3) in en hopen zo dat de linkerkant van (3) een betere benadering vormt voor
de oplossing.
 Voor de nieuwe benadering x̃ = (x̃1 , x̃2 , x̃3 ) geldt dan:
 x̃1 = 2/13 ∗ x2 − 1/13 ∗ x3 + 10/13
x̃2 = − 1/7 · x1 + 1/7 ∗ x3 + 4/7 (4)
x̃3 = − 2/9 ∗ x1 + 1/9 ∗ x2 − 25/9 .

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

 x̃1 = 10/13 = 0.7692 (We ronden hier de
x̃2 = 4/7 = 0.5714 getallen af tot
x̃3 = 25/9 = −2.7778 vier cijfers)

Invullen van deze tweede benadering in de rechterleden van (3) levert de derde benadering x̃˜=
˜ 1 , x̃
(x̃ ˜ 2 , x̃
˜ 3 ):
˜1 =

 x̃ 2/13 ∗ (0.5714) − 1/13 ∗ (−2.7778) + 10/13 = 1.0708
˜
x̃ = − 1/7 ∗ (0.7692) + 1/7 ∗ (− 2.7778) + 4/7 = 0.0647
 ˜2
x̃3 = 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.0000
x2 0 0.5714 0.0647 0.0063 -0.0014 -0.0002 0.0000
x3 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̃ = (x̃1 , x̃2 , x̃3 ) bepaald: de benadering x = (x1 , x2 , x3 )
wordt ingevuld in elk van de vergelijkingen van (3). We kunnen natuurlijk ook x̃1 gebruiken bij
de bepaling van de nieuwe benadering x̃2 en x̃1 en x̃2 gebruiken bij de bepaling van x̃3 .

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


ponentsgewijs uitgerekend. De benadering x̃1 wordt dan:
x̃1 = 2/13 ∗ (0) − 1/13 ∗ (0) + 10/13 = 0.7692 .

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

De benadering x̃2 wordt dan:

x̃2 = − 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 x̃3 wordt dan:

x̃3 = − 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̃ = (x̃1 , x̃2 , x̃3 ) geldt dus:
 13x̃1 = 2x2 −x3 +10
x̃1 +7x̃2 = x3 +4 `(5)
2x̃1 −x̃2 +9x̃3 = − 25

De eerste component van de derde benadering x̃ ˜ 1 wordt vervolgens:

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


Etcetera.
We krijgen dan achtereenvolgens:
1 2 3 4 5 6
x1 0 0.7692 1.0631 1.0019 0.9997 1.0000
x2 0 0.4615 0.0056 -0.0022 -0.0001 0.0000
x3 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 k de –benadering x en de (k + 1)de –benadering x̃. Daartoe
schrijven we de coëfficiëntenmatrix A als volgt.

A=L+D+U

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


       
13 − 2 1 0 0 0 13 0 0 0 −2 1
Dus  1 7 −1  =  1 0 0 + 0 7 0 + 0 0 −1 .
2 −1 9 2 −1 0 0 0 9 0 0 0
Deze opsplitsing heeft niets te maken met de LU-decompositie PA = LDU.

52
6.7.5 methode van Jacobi
Bij de methode van Jacobi geldt nu:

Dx̃ = − (L + U)x + b immers



 13x̃1 = 2x2 − x3 +10
7x̃2 = − x1 + x3 +4 (zie(4)) ofwel
9x̃3 = − 2x1 +x2 −25

     
13 0 0 0 2 −1 10
 0 7 0  x̃ =  − 1 0 1 x +  4  .
0 0 9 −2 1 0 − 25

6.7.6 methode van Gauss-Seidel


Bij de methode van Gauss-Seidel geldt:

(L + D)x̃ = − Ux + b immers

 13x̃1 = 2x2 − x3 +10
x̃1 +7x̃2 = x3 +4 (zie(5)) ofwel
2x̃1 −x̃2 9x̃3 = −25

     
13 0 0 0 2 −1 10
 1 7 0  x̃ =  0 0 1 x +  4  .
2 1 9 0 0 0 − 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 (bijvoorbeeld
diagonaal 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 we
slechts één stap nodig (Ax = b), maar deze stap kost erg veel.

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


1 1
S=L+ D en T = − ((1 − ) D + U) .
ω ω

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

Met ω1 > 1 noemt men dit de methode van successieve overrelaxatie (SOR). We gaan hier verder
niet op in.

6.7.8 Convergentie
. We kunnen deze iteratieve methoden alleen toepassen indien de diagonaal-elementen van de
coëfficiënten-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, waarvoor
geldt 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−1 T)k e0 zijn. Dus xk → x
dan en slechts dan als ek → 0. De vraag is dus: wat kun je zeggen over (S−1 T)k ? Het blijkt dat de
rij benaderingen niet altijd convergeert naar de oplossing van een niet-singulier stelsel. Soms hangt
dit van de gekozen eerste benadering x0 af, soms divergeert de rij voor elke startvector (ongelijk de
exacte oplossing). Van sommige matrices is bekend dat, onafhankelijk van de gekozen startvector,
beide methoden rijen benaderingen opleveren die convergeren naar de exacte oplossing. Dit is
bijvoorbeeld het geval voor positief-definiete matrices. In deze paragraaf gaan wij niet in op de
convergentiesnelheid, in de aanvullingen op de hoofdstukken 12 en 13 kan hierover het een en
ander 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 computergeheugen
vergen. Dan kunnen iteratieve methoden een uitkomst zijn. Het aantal flops bij deze iteratieve
methoden is van de orde n2 in plaats van n3 zoals bij Gauss.

54
6.7.12 Redelijke benadering bekend
Soms is een redelijk goede benadering van de oplossing bekend. Wanneer we deze benadering als
startvector voor een iteratieve methode gebruiken, kunnen we vaak met veel minder flops dan bij
de 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 tussen
enerzijds reguliere en singuliere matrices en anderzijds reguliere en singuliere stelsels vergelijkin-
gen. Ook hebben we bepaalde verbanden aangegeven. We maken nu een verder onderscheid
binnen 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 géén oplossingen
heeft.

55
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 het
commando rref(A) (zie paragraaf 6.4).
Zij we alleen in de rang van de matrix geı̈nteresseerd, dan is de complete (gereduceerde) trapvorm
niet nodig en kunnen we volstaan met het commando:

rank(A) .

7.3 Opdrachten met MATLAB


1. Gegeven zijn de vectoren v 1 t/m v4:
       
4 3 −2 5
 −1  4   , v4 =  − 6  .
  10   
v1 =   , v2 =   , v3 = 
 −2 
 2   6   8 
1 2 2 1

a. Bepaal alle oplossingen van de vergelijking:

λ1 v 1 + λ2 v 2 + λ3 v 3 + λ4 v 4 = 0 .

Zijn de vectoren v 1 t/m v 4 onafhankelijk?

b. Geef een basis voor het opspansel < v 1 , v 2 , v 3 , v 4 > in termen van de oorspronkelijke
vectoren v 1 t/m v 4 .

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
vectoren, in termen van de oorspronkelijke vectoren.
       
      4 8 3 1
1 6 11

 

  6   −5
 1 ,  2
     
a.  3 ,  4 ,  5  b. , 
  4 , 
  
 3   6 1 
2 3 4
  
 
0 0 2 −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
   
1 1 2 −3 −2 3 −5 2
 1 1 2 −3   1 0 1 1 
a. A =   b. A= 
 2 1 4 −6   7 2 5 6 
−3 2 −6 9 4 1 3 9
 
1 3 2 6
 4 −1 7 2 
c. A=
 9

4 3 5 
6 −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
   
1 1 2 −3 1 2 5 2 −3
 1 1 2 −3   2 4 14 5 −3 
a. A=   b. A=  
 2 1 4 −6   −3 −6 9 6 28 
−3 3 −6 9 2 4 26 − 22 1
(zie opgave 3 a.)  
  2 1 3 4 2
2 1 3 4 2 
 6 2 1 4 1 
 6 2 1 4 1   6 3 9 12 6 
c. A= 
 6
 d. A=  
3 9 12 6  
 2 1 3 4 1 
2 1 3 4 1  1 4 2 1 1 
3 1 9 3 2
5. In elk van de volgende gevallen is een m × n coëfficiëntenmatrix A gegeven.
Bepaal (rechtstreeks) de rang van A. Leid daaruit de dimensie van de nulruimte N(A) af en
beargumenteer of de kolomruimte R(A) overeenstemt met Rm .
Zijn er vectoren b waarvoor het stelsel Ax = b géén oplossing heeft?
Zijn er vectoren b waarvoor het stelsel Ax = b meerdere oplossingen heeft?
   
1 4 9 3 1 4 9 3 2
 3 1 5 −1   3 1 5 −1 7 
a. A =   2
 b. A =  
6 14 8   2 6 14 8 1 
9 −3 3 4 9 −3 3 4 6
   
1 4 9 3 1 4 9 3 2

 3 1 5 −1 


 3 1 5 −1 7 

c. A=
 2 6 14 8 
 d. A=
 2 6 14 8 1 

 9 −3 3 4   9 −3 3 4 6 
2 7 1 6 2 7 1 6 0
6. Beschouw de volgende matrix A, en de vectoren p en q:
  
 −3 −3
14 6 2 − 18  8   3 
A=  1 −1 1 1  p=
 12  q = 
   .
9 
8 1 3 −7
7 5

a. Bereken de producten A ∗ p en A ∗ q en vergelijk de uitkomsten. Geef een vector x


met 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
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 tussen
de resultaten van A en AT · A?
Is AT · A inverteerbaar?
Is AT · A definiet positief? Bepaal zo mogelijk de Cholesky-decompositie van AT · A.
   
1 6 4 1 2 4
 3 3 −2   3 6 −2 
a. A =   2 9
 b. A =  
1   2 4 1 
4 5 6 4 8 6
8. Gegeven zijn de vectoren:
     
1 1 −1
 1   −1   1 
v1 =   v2 =   v3 =  
 1   1   −1 
1 −1 −1
en de matrix:
 
1 1 −1
 1 −1 1 
V= 
 1 1 −1 
1 −1 − 1
a. Bepaal de inproducten van de vectoren v 1 t/m v 3 onderling.
Wat zijn de lengtes van v 1 t/m v 3 ?
Wat zijn de hoeken tussen de vectoren onderling?
b. Bereken VT · V. Beargumenteer dat in het resultaat de inproducten uit onderdeel
a. voorkomen.
9. Beschouw de volgende matrices
   
  1 1 1 1 1 0
1 1 1
A1 = √ A2 =  1 0 − 2  A3 =  1 0 1  .
2 1 −1
1 −1 1 1 −1 −1
a. Bepaal van deze matrices A het produkt AT A.
b. Leid uit dit produkt af of de kolommen van A loodrecht op elkaar staan en bepaal
de lengten van deze kolomvectoren.

59
7.4 Aanvulling Hoofdstuk 7
7.4.1 De matrix AT A
In de aanvullingen, zie paragraaf 5.5.3, staat dat voor een willekeurige reguliere matrix A geldt
dat AT A positief-definiet is. Met andere woorden:

(i) AT A is symmetrisch
(ii) xT AT Ax > 0 voor elke x 6= 0
We breiden dit nu verder uit voor m bij n matrices.

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

AT A is positief definiet

Gevolgen:

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

(ii) De Cholesky-decompositie van AT A is mogelijk.

Opmerking: Indien rang(A) < n geldt toch

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

60
8 Overbepaalde stelsels
8.1 Het commando A\b
Bij 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̄ = AT b
Binnen MATLAB kan dit op twee manieren. Allereerst is het mogelijk om van de normaal ver-
gelijking de coëfficiëntenmatrix AT A en het rechterlid AT b uit te rekenen. Uitgaande hiervan kan
dan 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) bij
een 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 oplossing
x is of een kleinste kwadraten benadering x̄. Het is daarom noodzakelijk om het antwoord te
controleren door Ax te vergelijken met b. Stemmen beide overeen dan is er sprake van een exacte
oplossing, 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. het
commando

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. Opnieuw


invoeren 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. het
commando

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

61

2
 4 
Zo voegt A = [A, [2 4 − 7 7]0 ] aan de oorspronkelijke matrix A de kolom 
 − 7  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 = 14
x1 −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 = 36
4x1 +14x2 +x3 +8x4 +7x5 −23x6 = 8

c. Ga na of het stelsel van acht vergelijkingen een oplossing heeft. Is dit het geval
bepaal 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 alle
oplossingen. Zo nee, bepaal dan de kleinste
 kwadraten oplossing.
 x1 +x2 +3x3 = 1
x1 +x2 +x3 = 0


 −x1 +5x3 = − 1

 

− x1 +x3 = 1

a. b. x2 −2x3 = 3
x1 −x2 = −1
x1 −x2 +x3 = − 2

 

x2 −x3 = − 2
 

x1 +x3 = 0



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


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




x1 +2x2 −2x3 =0

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

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

Veronderstel dat deze metingen zijn gedaan door een bestuurder in een auto die op vaste
tijdstippen (0, 3, 5, 8, 10, en 12 sec.) naar meetpalen langs de weg keek. Indien de auto zich
met een constante snelheid verplaatst verwachten we dat we op het tijdstip t de afgelegde
afstand 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 kiezen
dat 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 de
auto voorbij kwam. Indien de auto zich met een constante snelheid verplaatst, verwachten
we 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 tijd
minimaal is (Merk op dat dit niet dezelfde eis is als in het voorgaande geval, waar de afstand
tussen 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 afgelegde
afstand?

63
Teken deze voorspelde waarden in de bovenstaande figuur. Valt de lijn die je door deze
punten 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 s
kunnen voorspellen op grond van het model:
1
s = vt + at2
2
c. Geef een schatting van v en a met behulp van de kleinste kwadratenmethode. Welke
waarden geeft dit model voor de afstand bij de gemeten tijdstippen t?
Teken gemeten waarden en waarden uit het model in één figuur. Is de afstand tussen de
vector met meetwaarden en modelwaarden voor de afstand van de auto groter, kleiner
of 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 6
h -2 1 2 4 7 3
p 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 kwadraten
methode.
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 6
g -1 3 5 8 12 9
p 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 kwadraten
methode. 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 eventuele
overeenkomsten!

64
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 V
a. 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 , a2 ena3 gegeven. —

– Bepaal de projecties p1 , p2 enp3 van 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 , U2 enU3 : p1 +p2 +p3
met 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 lineaire


combinatie van de vectoren a1 t/m a3 : p = λ1 a1 + λ2 a2 + λ3 a3 .
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
8. Beschouw nu het stelsel vergelijkingen:


 2x1 +x2 −x3 +2x4 = 2
 x1 +x2 +2x4 = 1


−x1 +x2 =2
−x −5x −6x 4 = 5

2 3



x1 −2x2 +2x1 +x4 = 0

(merk op dat a1 t/m a4 overeenkomen met de coëfficiënten 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 kleinste
kwadraten zin van dit stelsel vergelijkingen. Ga ook na wat MATLAB voor oplossing
geeft 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 op
twee manieren geschieden.

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


(ii) We zoeken een x̄ zò dat kb − Ax̄k 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 x
van de kolommen van A, dus p = Ax̄. We zoeken dus een x̄ zò dat

(b − Ax̄) ⊥ R(A) ofwel

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

AT (b − Ax̄) = 0 ofwel
T T
A Ax̄ = A b [de normaal vergelijking]
Indien de kolommen van A onafhankelijk zijn, is AT A inverteerbaar (zie paragraaf 7.4.1), dus er
is precies één oplossing voor de normaal vergelijking.

66
8.6.3 Methode (ii)
Beschouw de volgende functie van n variabelen x1 , x2 , ..., xn .
   
b1 x1
 b2   x2 
    2
f (x1 , x2 , ..., xn ) = k 
 ·  − A ·
 
 k

 ·   · 
bn xn
Wil deze functie minimaal zijn dan moet in ieder geval:
∂f ∂f ∂f
= = ... = =0.
∂x1 ∂x2 ∂xn
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) stelsel
   
1 0 10
 1 2   16 
   
 1 4  x =  17  .
   
 1 6   23 
1 8 27
We zoeken nu de kleinste kwadraten oplossing x̄ van dit stelsel op beide manieren.
(i) De normaal vergelijking luidt
     
5 20 x̄1 93
=
20 120 x̄2 454
Dus de kleinste kwadraten oplossing is: x̄1 = 10.4 en x̄2 = 2.05.

(ii) De te minimaliseren
 functie
 luidt 
10 1 0
 16   1 2   
x 1
k2 `(∗)
   
f (x1 , x2 ) ¯ = k  17 − 1 4 
  
 23   1 6

 x 2

27 1 8

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


+(23 − x1 − 6x2 )2 + (27 − x1 − 8x2 )2
= 5x21 + 120x22 + 40x1 x2 − 186x1 − 908x2 + 1893

67
Er moet dus gelden:
∂f


 = 10x̄1 + 40x̄2 − 186 = 0
 ∂x1


 ∂f

 = 40x̄1 + 240x̄2 − 908 = 0
∂x2
Ofwel
    
10 40 x̄1 186
=
40 240 x̄2 908

Dus de kleinste kwadraten oplossing is: x̄1 = 10.4 en x̄2 = 2.05.

8.6.5 Opmerkingen

1. De eerste methode is i.h.a. eenvoudiger dan de tweede. We zullen de eerste methode dan
ook meestal gebruiken om de normaal vergelijking te vinden.
2. De gezochte x̄ noemen we de kleinste kwadraten oplossing/benadering, omdat voor deze
x̄ 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 de
meetpunten en de lijn x1 + x2 t = h.

68
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 bovendriehoeksmatrix
R zò dat A=QR. Indien rang (A)< m dan vult MATLAB Q aan tot een orthonormale basis voor
Rm . R wordt dan aangevuld met nulrijen.
(zie opdracht 2).

9.2 Het commando A\b


Bij het bepalen van de kleinste kwadraten oplossing van een overbepaald stelsel Ax = b met
behulp van het commando A\b gebruikt MATLAB de QR-decompositie van A en lost vervolgens
op Rx = QT b.

9.3 Opdrachten met MATLAB


1.
a. Bepaal met MATLAB de QR-decompositie van
 
1 1 2
A= 0 0 1 
1 0 0
b. Controleer dat QR=A
Q is orthogonaal, dus QT Q = 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
 
1 1
A= 2 3 
2 1
b. Controleer dat QR=A.
c. Controleer dat Q orthogonaal is.

69
d. Schrijf de eerste kolom van A als een combinatie van de kolommen van Q (af te
lezen in R!). En schrijf de tweede kolom van A als een combinatie van de kolommen
van Q (ook af te lezen in R!).
De eerste twee kolommen vormen dus een orthonormale basis voor de kolommenruimte
R(A) van A. Daar rang (A)= 2 < 3 voegt MATLAB aan Q een kolom toe zodat Q een
orthonormale basis voor R3 is. Aan R wordt een nulrij toegevoegd. Deze toevoegingen
kunnen we als volgt ongedaan maken.
e. Voer de MATLAB-opdracht QQ=Q(: , 1 : 2) uit. QQ is dan de matrix die ontstaat
door 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 ontstaat
door 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


   
1 1 1
A =  2 3  en b =  1  .
2 1 1

(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 geldt
AT Ax̄ = AT b met de opdracht:

x1 = (A0 ∗ A) \ (A0 ∗ b)
b. Daar A =QQ∗RR geldt ook voor x̄: RR x̄ =(QQ)T b.
Voer nu de volgende opdracht uit:

x2 = RR\(QQ0 ∗ b)

c. Daar A=Q∗R geldt dus ook voor x̄ :R x̄ = (Q)T b


Voer nu de volgende opdracht uit:

x3 = R\(Q0 ∗ b)

d. Voer de volgende opdracht uit:

x4 = A\b

70
4. Zij
   
1 1 1
A =  2 3  en b =  1 
2 1 1
(zie de opgaven 2 en 3).
a. Bepaal de projectie van b op de kolommenruimte van A met gebruikmaking van de
projectiematrix (zie opgave 2, onderdeel i.).

b. Bepaal de projectie van b op de kolommenruimte van A ook door gebruik te maken


van de kleinste kwadraten benadering x̄ van het stelsel Ax = b. (zie opgave 3.)
5. Beschouw de matrix
 
4 3 2 1
 9 6 3 3 
 
A=  6 4 4 2


 15 15 10 5 
4 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
 
2 −1 2
A = 13  2 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.
 
0
d. Bepaal de projectie van b =  3  op de kolommenruimte van A.
0

71
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 bij
het commando [Q, R]=qr(A) de Q aanvult tot een orthonormale basis voor Rm . De toegevoegde
kolommen vormen dan een orthonormale basis voor N(AT ). De QR-decompositie van AT levert
dus (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 A
verwisseld.

10.3 Opdrachten met MATLAB


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

In het volgende bedoelen we met de orthogonale matrix Q steeds de orthogonale matrix die
MATLAB 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 deze
resultaten mogelijk is zonder nieuwe berekeningen!

1. Beschouw de matrix A:
 
2 −3 1
 7 4 4 
 
 10 2 5 
 
A= 4
 0 2 

 12 1 6 
 
 6 6 3 
14 5 7

a. Bepaal de dimensie van de kolommenruimte van A.


Zijn de kolommen onderling afhankelijk?

72
b. Bepaal, mbv. MATLAB, de QR-decompositie van A.
Geef, op grond van deze uitvoer, een orthonormale basis voor de kolommenruimte van
A.
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:
 
2 −3 1 −4
 7 4 4 1 
 
 10
 2 5 −3  
B=  4 0 2 − 2 

 12
 1 6 − 5 

 6 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]0 ]

d. Bepaal, mbv. MATLAB, de QR-decompositie van B en geef, op grond van deze


uitvoer, 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:
 
2 −3 1 −4 1
 7 4 4 1 2 
 
 10
 2 5 − 3 3 

C=  4 0 2 −2 4  
 12
 1 6 − 5 5 

 6 6 3 3 6 
14 5 7 −2 7

e. Bepaal de dimensie van de kolommenruimte van C en vergelijk deze met de dimensie


van 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 van
de kolommen van de orthogonale matrix Q. Vormen de eerste vier kolommen van de
orthogonale matrix Q een basis voor de kolommenruimte van C?
Is het mogelijk om rechtstreeks uit de orthogonale matrix Q een orthonormale basis
voor de kolommenruimte van C te bepalen?

73
Kennelijk (blijkens het resultaat van onderdeel f.) zoekt MATLAB niet eerst (bv. via
Gram-Schmidt) een orthonormale basis voor de hele kolommenruimte van de matrix C om
ze 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 de
kolommen 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 is
van alle eraan voorafgaande kolommen. Pas na deze vervangingen wordt van de zo ontstane
nieuwe matrix (met dus, bij constructie, onafhankelijke kolommen) een orthonormale basis
berekend, die daarna zo nodig nog aangevuld wordt tot een orthonormale basis voor de hele
R7 .

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 gevallen
rechtstreeks 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 basis
voor 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 deze
resterende kolommen geen invloed meer!

Ter controle van het bovenstaande bekijken we de matrix F, waarin de onafhankelijke ko-
lommen van C vooraan zijn gezet:
 
2 −3 1 1 −4
 7 4 4 2 1 
 
 10
 2 5 3 − 3 

F=  4 0 2 4 −2  
 12
 1 6 5 − 5 

 6 6 3 6 3 
14 5 7 7 −2

g. Bepaal, mbv. MATLAB, de QR-decompositie van F en geef, op grond van deze


uitvoer, een orthonormale basis voor de kolommenruimte van C(!).

74
2. Voer de volgende matrices in.
 
1 6
 2 7 
 
A1 =   3 8 
 en A2 = A T
1
 4 9 
 5 10 
1 6 7
 2 7 9 
 
A3 = 
 3 8 11 
 en A4 = A T
3
 4 9 13 
 5 10 15 
1 6 −1 7
 2 7 2 9 
 
A5 = 
 3 8 3 11 
 en A6 = A T
5
 4 9 8 13 
 5 10 2 15 
1 6 7 −1
 2 7 9 2 
 
A7 = 
 3 8 11 3 
 en A8 = A T
7
 4 9 13 8 
5 10 15 2
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 AT
i een or-
thonormale basis voor de nulruimte van Ai .

75
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 AT
i .

76
dim dim orthonormale orthonormale orthonormale
afm. R(A) N(A) geval basis R(A) basis R(A)⊥ basis N(A)

A1

A2

A3

A4

A5

A6

A7

A8

77
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 staan
én elke vector lengte 1 heeft.

– We noemen een matrix orthogonaal indien de matrix vierkant is én de kolommen onderling
loodrecht op elkaar staan én elke kolom lengte 1 heeft. Het begrip orthonormale matrix
bestaat niet.

10.4.2 Overzicht QR-decompositie


Principe
De (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 procedé:

Je houdt, in een matrix R, bij welke operaties uitgevoerd moeten worden om uit het geconstrueerde
orthonormale stelsel {q 1 , q 2 , ..., q k } de oorspronkelijke vectoren {a1 , a2 , ..., an } te reconstrueren. Er
geldt:

ai = (q T a )q + (q T
1 i 1
a )q + ... + (q T
2 i 2
a )q = r1i q 1 + r2i q 2 + ... + rii q i
i i i

78
De QR-decompositie ziet er dan als volgt uit:

 
∗ ∗ . . . r1i . . . ∗

 ∗ r2i ∗ 

  .. 

| | | |
 
| | | 
 . · 

A = QR =  a1 a2 · ai · an  =  q 1 q 2 ... q k  · 
 rii · 

| | | | | | |

 0 · 


 · · 

 · · 
0 ∗

de ide kolom
 
r1i

 r2i 

  .. 

| | | 
 . 

ai =  q 1 q 2 . . . q k  · 
 rii 
 = r1iq i + r2iq 2 +· · ·+ riiq i +· · ·+ 0q k
| | |

 0 

 · 
 · 
0

In het bijzonder blijkt zo welke q j 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 toegevoegde
kolommen vormen een orthonormale basis voor de linker nulruimte van A. De R wordt met
nulrijen 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
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
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
-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
11 Determinanten
11.1 Determinant-berekening
Binnen MATLAB ligt het commando om de determinant van een matrix te berekenen voor de
hand:

det(A)

11.2 Verandering van de waarde van één element in een matrix


Om bij een bestaande matrix één element van waarde te veranderen is het niet nodig om de hele
matrix opnieuw in te voeren. Het is voldoende om bij de toekenningsopdracht de matrix van het
gewenste 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. Alle
andere elementen van A blijven ongewijzigd!

11.3 Opdrachten met MATLAB


1. Beschouw de volgende matrices:
   
5 −2 4 −1 2 −1 0 0
0 1 5 2  B =  −1 2 −1 0 
  
A= 
 1 2 0 1   0 −1 2 −1 
−3 1 −1 1 0 0 −1 2
 
1 2 3 4
 1 3 3 6 
C= 
 2 4 7 11 
−1 −2 −3 −3
a. Bepaal van matrix A de LU-decompositie. Hoeveel rijverwisselingen zijn nodig om
L te veranderen in een onderdriehoeksmatrix? Wat volgt hier uit over de determinant
van L? Wat is de determinant van U? Bepaal hieruit de determinant van A. Zo ook
voor B en C.
b. Controleer deze antwoorden door in MATLAB de determinanten rechtstreeks te
berekenen.
c. Bepaal de determinanten van A*B*C en vergelijk deze met het produkt van de
determinanten A, B en C.

83
d. Bepaal de determinant van A+B en vergelijk dit met de som van de determinanten
A en B.
e. Bepaal de determinanten van 3*B en van B ∧ 3 en vergelijk dit met de determinant
van B.
f. Wat is de determinant van AT en wat is de determinant van A−1 ? Wat is het verband
met 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 één 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 niet
afleiden dat de matrix ook slecht geconditioneerd is.

2. De waarde van de determinant van een matrix kan gevoelig zijn voor kleine veranderingen
van afzonderlijke elementen van de matrix. We onderzoeken dit aan de hand van een tweetal
matrices:
   
− 73 78 24 − 73 78 − 24
A1 =  92 66 25  A2 =  92 66 25 
− 80 37 10 − 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 in
10.01 en bereken nogmaals beide determinanten. Bij welke matrix is de verandering
relatief 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 de
verandering 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 de
verandering relatief het grootst?
De kolommen van elk van de matrices A1 en A2 kunnen we opvatten als de zijden van een
parallellepipedum waarvan het volume gelijk is aan de determinant van de matrix. Omdat
de eerste twee kolommen van beide matrices hetzelfde zijn hebben beide parallellepipeda een

84
zelfde grondvlak. De lengtes van beide derde kolommen zijn eveneens gelijk, zodat de derde
zijde van het parallellepipedum slechts qua oriëntatie verschilt, bijvoorbeeld:

e. Beargumenteer in welk van beide situaties (figuur 1 of figuur 2) het volume het
grootst is.
Beargumenteer in welk van beide situaties een kleine richtingsverandering van de derde
zijde 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 het
dichtst 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 de
waarde 1 heeft.
(Hint: gebruik de eigenschap QT *Q=I in combinatie met de elementaire determinant
eigenschappen)
h. Druk de waarde van de determinant van A1 en A2 uit in de elementen van de
bovendriehoeksmatrices R1 en R2.
3. Beschouw een één bij één matrix A, waarvan alle elementen op en boven de diagonaal de
waarde 1 hebben terwijl alle elementen beneden de diagonaal een zelfde waarde, zeg p,
hebben. Dus bijvoorbeeld n=5 en p=3:
 
1 1 1 1 1
 3 1 1 1 1 
 
A=  3 3 1 1 1 

 3 3 3 1 1 
3 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
waarbij voor n en p de actuele waardes gebruikt worden, bijvoorbeeld voor n=5 en
p=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 te
berekenen.
(Hint: probeer dmv. rijvegen de matrix eerst te vereenvoudigen!)
RESULTATEN :

afmetingen p=2 p=3 p=4 vermoeden voor


matrix (n) willekeurige p
1 bij 1
2 bij 2
3 bij 3
4 bij 4
5 bij 5
vermoeden voor
n bij n
4. Beschouw
 een willekeurige
 matrix van de volgende structuur:
A11 0
A= met A11: willekeurige n × n matrix
0 A22

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
a. Bepaal voor enkele zelf gekozen waarden van n en m de determinant van elk van de
matrices 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:


 
A11 A12
A= met A11: willekeurige n × n matrix
0 A22

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 de
matrices A, A11, A12 en A22.
Ga voor elk van deze gevallen na of er een verband bestaat tussen de determinant van A
en de determinanten van de matrices A11, A12 en A22. Probeer een eventueel verband
te verklaren.

c. Onderzoek of het voor het resultaat bij b. noodzakelijk is dat A11 en A22 dezelfde
afmetingen n × n hebben.
Beschouw tenslotte een willekeurige matrix zonder speciale structuur, maar opgedeeld in 4
deelmatrices van gelijke afmetingen:
 
A11 A12
A= met A11: willekeurige n × n matrix
A21 A22

A12: willekeurige n × n matrix

A21: willekeurige n × n matrix

A22: willekeurige n × n matrix

87
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 de
matrices A, A11, A12, A21 en A22. Ga voor elk van deze gevallen na dat er geen
eenvoudig verband bestaat tussen de determinant van A en de determinanten van de
matrices A11 t/m A22.

6. In elk van de volgende gevallen is een coëfficiëntenmatrix, A, en een kolomvector van rech-
terleden, b, gegeven.

7. Bepaal, met behulp van de regel van Cramer, de oplossing voor het stelsel vergelijkingen
Ax = b. Vergelijk het antwoord met het antwoord volgens de LU-decompositie.
   
5 2 1 1
a. A =  − 3 6 4  b =  −1 
0 2 1 1
  

4 −1 0 0 1
 −1 4 −1 0   2 
b. A=  b= 
 0 −1 4 −1   2 
0 0 −1 4 0
   
5 2 1 1
c. A= −3 8 4  b =  −4 
0 2 1 1
   
4 1/2 1/3 1/4 −1
 1/5 1/6 1/7 1/8   2 
d. A=
 1/9 1/10 1/11 1/12 
 b= 
 3 
1/13 1/14 1/15 1/16 −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 met
behulp van de LU-decompositie. Dit is zelfs het geval wanneer de determinant op een handige
manier berekend wordt, door namelijk eerst de matrix via rijvegen te vereenvoudigen. Om
dit te onderzoeken beschouwen we het stelsel vergelijkingen Ax = b, waarbij A een 50
bij 50 matrix is met random elementen: A = rand(50) en b een kolomvector met random
elementen:b = rand(50,1).
a. Bepaal het aantal flops dat nodig is om met behulp van de LU-decompositie dit
stelsel Ax = b op te lossen.

88
b. Bepaal het aantal flops dat nodig is om met behulp van de regel van Cramer alleen
de eerste component van de oplossingsvector x te bepalen.
Hoeveel flops zijn (ongeveer) nodig om met behulp van de regel van Cramer het hele
stelsel op te lossen?
c. Vergelijk de resultaten uit onderdeel a. en b.

89
12 Eigenwaarden en eigenvectoren 1
12.1 Karakteristiek polynoom
De MATLAB-opdracht p=poly(A) geeft een rijvector, waarvan de getallen de coëfficiënten van
het karakteristieke polynoom van de vierkante matrix A zijn. Deze zijn geordend naar afnemende
machten. Door vermenigvuldiging van het hele polynoom met een factor (−1)n is de coëfficiënt
bij de hoogste macht van λ altijd gelijk aan +1 gemaakt. Indien de matrix A gelijk is aan
 
7 9 −3
A =  −2 −4 6 
1 1 7

levert MATLAB de rijvector [1 − 10 8 64], corresponderend met λ3 − 10λ2 + 8λ + 64. Dit heeft
geen 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 coëfficiënten 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 de
opdracht:

roots(poly(A)) .

De kolomvector met coëfficiënten 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 levert
de rijgereduceerde trapvorm van de ingevoerde matrix, waaruit de nulruimte volgt.

90
Bij concrete berekening is het niet nodig om de matrix A − αI element voor element opnieuw in
te 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
 
4 −5
A =
2 −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
     
1 4 5 −9 −3 −16 −28 13 −42
A1 =  0 0.75 6  A2 =  13 7 16  A3 =  −10 13 −6 
0 0 0.5 3 3 10 19 −7 30

91
3. Beschouw de matrix
 
1203 1
 800 2 
A1 = 
 

 3 
−1
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 0
.
0 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 en
bepaal rref(A1 − λI).
 
1 0
Waarschijnlijk verschijnen er in beide gevallen de antwoorden 2 en i.p.v. 1 en
  0 1
1 ∗
. Voor een verklaring hiervan dient de volgende opdracht.
0 0
c. Geef, binnen MATLAB, het commando: format long waardoor resultaten met 15
in plaats van 5 cijfers op het scherm weergegeven worden. Bepaal nu nogmaals de
eigenwaarden 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 eigenwaarden
kennen is bepaling van de eigenvectoren met behulp van het rref-commando meestal
onmogelijk.
e. Bepaal vervolgens de eigenwaarden van
 
−28 13 −42
A3 =  −10 13 −6 
19 −7 30

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

92
Conclusie: Het bepalen van de eigenwaarden van een matrix A met behulp van het
commando roots(poly(A)) geeft niet altijd de exacte waarden van die eigenwaarden.
f Geef, binnen MATLAB, het commando: format short waardoor resultaten weer met
5 cijfers op het scherm weergegeven worden.

4. Beschouw de n bij n matrices:


   
1 1 1 .... 1 0 1 1 .... 1
 1 1 1 .... 1   1 0 1 .... 1 
   
 1 1 1 .... 1   1 1 0 .... 1 
An = 
 .. ..
 Bn =  
 .. .... .. 


 .. .. .. .... .. 

 .. .. .. .... ..   .. .. .. .... .. 
1 1 1 .... 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 eigenwaarden
en 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 het
karakteristieke 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 eigenwaarden
en 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 mogelijke
overeenkomsten.
e. Bepaal de eigenwaarden en bijbehorende eigenvectoren van de matrix Bn voor alge-
mene n.

93
Resultaten:
afmetingen karakteristiek eigenwaarden eigenvectoren
matrix polynoom

5. Beschouw de matrices Cpq , met afmetingen (p + q) bij (p + q), waarvan de elementen in een
tweetal blokken (met afmetingen respectievelijk p bij p en q bij q) rond de hoofddiagonaal de
waarde één hebben terwijl alle andere elementen nul zijn.
Bijvoorbeeld:
 
  1 1 0 0 0
1 0 0 0  1 1 0 0 0 
 0 1 1 1   
C13 =   C23
 0 0 1 1 1 
 0 1 1 1   
 0 0 1 1 1 
0 1 1 1
0 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 de
matrices C13 , C23 en C33 .
Vergelijk de resultaten met de resultaten die je in opgave 4.a. gevonden hebt voor de
matrices A1 , A2 en A3 en probeer een onderling verband te geven.
(Hint: de matrix Cpq − λI kun je partitioneren als:
 
Ap − λI ∅
Cpq − λI =
∅ Aq − λI

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

b. Bepaal voor C13 , C23 en C33 de bijbehorende eigenvectoren en vergelijk deze met de
eigenvectoren van A1 , A2 en A3 uit 1.8.4.a.
c. Formuleer op grond van de resultaten uit onderdeel a. een vermoeden voor de
karakteristieke 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
6. Beschouw een willekeurige matrix van de volgende structuur:
 
A11 0
A = met A11 : willekeurige n × n matrix
0 A22
A22 : willekeurige m × m matrix
overige 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 de
matrices A, A11 , A22 .
Probeer het verband tussen deze eigenwaarden te verklaren.
Beschouw ook een willekeurige matrix van de volgende structuur:
 
A11 A12
A = met A11 : willekeurige n × n matrix
0 A22
A12 : willekeurige n × n matrix
A22 : 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 de
matrices 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 dezelfde
afmetingen n × n hebben.
Beschouw tenslotte een willekeurige matrix zonder speciale structuur, maar opgedeeld in 4
deelmatrices van gelijke afmetingen:
 
A11 A12
A = met A11 : willekeurige n × n matrix
A21 A22
A12 : willekeurige n × n matrix
A21 : willekeurige n × n matrix
A22 : 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 eenvoudig
verband 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
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 MATLAB
bepaald 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 de
eigenwaarden, 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 te
bepalen, 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 de
eigenvectoren van A zijn. De volgorde van deze kolommen stemt overeen met de volgorde van de
elementen in de matrix D.

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

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

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

13.2 Opdrachten met MATLAB


1. Beschouw de volgende matrices uit opgave 2 van hoofdstuk 12:
   
1 4 5 −9 −3 −16
A1 =  0 0.75 6  A2 =  13 7 16 
0 0 0.5 3 3 10

a. Bepaal van deze matrices de eigenwaarden en eigenvectoren en vergelijk de resultaten


met de resultaten bij opdracht 1.8.2.

b. Ga na of de gegeven eigenvectoren onafhankelijk zijn en controleer, zo mogelijk, de


decompositie: A=S D S−1 .

96
2. Bepaal van elk van de volgende matrices de eigenwaarden en eigenvectoren. Ga na of de
gegeven eigenvectoren onafhankelijk zijn en controleer, zo mogelijk, de decompositie: A=S
D S−1 .
   
−5 −4 −5 −4
a. b.
−4 3 −4 −3

   
−2 2 3 1 1 −1
c.  2 1 6  d.  1 1 −1 
3 6 6 −1 −1 1

3. Beschouw de matrix:
 
−28 13 −42
A3 =  −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? Bepaal
deze 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 zijn
het resultaat van een numerieke berekening met de nodige voorzichtigheid
geı̈nterpreteerd moet worden. In sommige gevallen (zoals bij A3 ) lijken er namelijk meer
onafhankelijke 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 één
(exacte) eigenwaarde λ met algebraı̈sche multipliciteit groter dan 1 meerdere eigenwaarden
gevonden kunnen worden die elk weliswaar erg dicht bij λ liggen, maar die op zich onderling
in waarde verschillen. Bij elk van deze verschillende eigenwaarden wordt een eigenvector
bepaald. De zo gevonden eigenvectoren zijn onderling onafhankelijk en de dimensie van hun
opspansel kan groter zijn dan de dimensie van de nulruimte van A3 −λI (dus de geometrische
multipliciteit van de (exacte) eigenwaarde λ).

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

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


resultaten van onderdeel b.
Conclusie: Wanneer bij numerieke berekening eigenwaarden erg dicht bij elkaar liggen
dienen 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) te
berekenen) is dan vereist om definitief uitsluitsel te kunnen geven.

d. Geef, binnen MATLAB, het commando: format short waardoor resultaten weer met
5 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.
   
−3 −1 −3 0 1 3
a. A =  8 6 6  b. A =  0 0 3 
−6 −6 −4 1 0 −1

 
3.5 −2.5 −5.5 −2.75  
 −1.0 2.5 2.5 −4.5
2.0 5.0 0.50 
c. A=
 −0.5
 d. A =  −1.0 2.0 3.0 
0.5 3.5 0.25 
−0.5 1.5 0.5
0.0 0.0 0.0 −2.00

5. In elk van de volgende gevallen zijn van een matrix A de eigenwaarden en bijbehorende
eigenruimten gegeven. Bepaal een matrix A die met deze gegevens in overeenstemming is
en 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)0 >


eigenwaarde: −1 eigenruimte: < (1, −1)0 >

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


eigenwaarde: −2 eigenruimte: < (1, 0, 1)0 >

c. eigenwaarde: 0.2 eigenruimte: < (1, 0, 2)0 >


eigenwaarde: 1.3 eigenruimte: < (0, 1, −2)0 >
eigenwaarde: −0.5 eigenruimte: < (1, 0.5, 0.5)0 >

98
6. De beginvector u0 wordt geschreven als een lineaire combinatie van eigenvectoren van een
diagonaliseerbare matrix A met eigenwaarden λ1 t/m λn en bijbehorende eigenvectoren x1
t/m xn . Verder wordt gedefinieerd de vector:

uk = Ak u0

deze is dan te schrijven als:

uk = c1 λk1 x1 + ... + cn λkn xn

Wanneer voor de eigenwaarden van A geldt:

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

en wanneer cn 6= 0 blijkt uit de uitdrukking:


(   )
k
λ 1
uk = λkn · c1 x1 + ... + cn xn
λn

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 )k cn xn en uk+1 ≈ (λn )k+1 cn xn ≈ λ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 eigenvector
te bepalen staat bekend als de machtmethode.

Zijn binnen MATLAB de matrix A en de beginvector u ingevoerd, dan is het mogelijk om


uitgaande van uk zowel de vector uk+1 alsook de verhoudingen van de lengtes van uk+1 en
uk 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 lengtes
van uk+1 en uk (variabele res). Het pause-commando onderbreekt de uitvoering van deze
programma regel, zodat het mogelijk is om tussenresultaten te bekijken. Door tijdens zo’n

99
pause een willekeurige toets in te drukken wordt de uitvoering hervat!
Beschouw de matrix:
 
7 4 5
A =  −2 2 −2 
1 0 3

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

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 bijbehorende
eigenvector van A.
c. Bepaal, uitgaande van de beginvector u = (0, 2, −2)T , de vector u15 en geef op grond
daarvan 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 eventuele
verschillen te verklaren.
Omdat de grootste eigenwaarde van A in dit geval een (absolute) waarde heeft die groter is
dan 1 zal de lengte van uk+1 groter zijn dan de lengte van uk . Hierdoor is het mogelijk dat
uiteindelijk 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 voorkomen
worden. 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 manier
nogmaals u15 en geef op grond daarvan een schatting van de grootste eigenwaarde en
bijbehorende 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 het
mogelijk om de grootste eigenwaarde en een bijbehorende eigenvector van A−1 te bepalen.
In feite geldt in dat geval:

uk+1 = A−1 uk

100
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 manier
u15 en geef op grond daarvan een schatting van de grootste eigenwaarde en bijbehorende
eigenvector van A−1 .

b. Welke samenhang bestaat er tussen de eigenwaarden en de eigenvectoren van A en


A−1 ?
Controleer dit voor de bij onderdeel a. gevonden eigenvector.
Welke informatie geeft de grootste eigenwaarde en eigenvector van A−1 (dus) over de
eigenwaarden en eigenvectoren van A?
Door bij de matrix A van alle diagonaal-elementen een waarde α af te halen onstaat de
verschoven matrix (A − αI). Ook op deze matrix kan de machtmethode toegepast worden,
resulterend in de (in absolute waarde) grootste eigenwaarde en een bijbehorende eigenvector
van (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 zal
blijken geven deze eigenwaarden en eigenvectoren verdere informatie over de eigenwaarden
en eigenvectoren van de oorspronkelijke matrix A.

c. Welke samenhang bestaat er tussen de eigenwaarden en eigenvectoren van de matrix


A 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 bij
die 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 een
eigenvector bij de middelste eigenwaarde van de oorspronkelijke matrix A.

101
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 aan
welk deel van de trucks in een bepaalde stad zich na één maand in een andere stad bevindt.
     
ak+1 0.1 0.2 0.3 0.3 0.1 ak
 bk+1   0.3 0.1 0 0.3 0.3   bk 
     
 ck+1  =  0.1 0 0.5 0.2 0.2   ck 
     
 dk+1   0.3 0.3 0.1 0.1 0.2   dk 
ek+1 0.2 0.4 0.1 0.1 0.2 ek

Uit de vierde rij van deze matrix A blijkt bijvoorbeeld dat 3/10 van de trucks uit Los
Angeles, 3/10 van de trucks uit Boston, 1/10 van de trucks uit Chicago, 1/10 van de trucks
uit Dallas, en 2/10 van de trucks uit Eugene uit de k maand zich in de (k + 1) maand in
Dallas zullen bevinden.
a. Bepaal de eigenwaarden van A en leidt daaruit af dat dit proces neutraal stabiel is.

b. Bepaal de stationaire toestand, dus lim (ak , bk , ck , dk , ek )T . (Deze is onafhankelijk


k→∞
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 vorm
uk+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 vergelijkingen
Ax = 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 de
diagonaal van A (In MATLAB: S=diag(diag(A)) en T=S-A).

102
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−1 T)k . Immers indien we starten
met een fout e0 , zal de fout na k stappen ek = (S−1 T)k e0 zijn. Dus xk → x dan en slechts
dan als ek → 0.
Beschouw het volgende stelsel vergelijkingen:

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

a. Bepaal de bij de methode van Jacobi behorende matrix S−1 T.

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−1 T.
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 een
aantal vereenvoudigingen en controles mogelijk. We demonstreren deze aan de hand van het 3 bij
3 voorbeeld:
 
7 9 −3
A =  −2 −4 6 
1 1 7

103
13.3.2 Het karakteristiek polynoom van A is

7−λ 9 −3 7−λ 9 −3

det(A − λI) = −2 −4 − λ
6 = 0
−2 − λ 20 − 2λ

1 1 7−λ 1 1 7−λ


−2 − λ 20 − 2λ 9 −3
= (7 − λ) · + 1·
1 7−λ −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 gecreëerd; vervolgens
wordt de determinant naar deze kolom ontwikkeld. Een dergelijke vereenvoudiging is, zeker
bij matrices met grotere afmetingen, altijd aan te bevelen.
– In het karakteristiek polynoom is de coëfficiënt van λn : (−1)n .
Hier: (−1)3 = −1.

– In het karakteristiek polynoom is de coëfficiënt van λn−1 : (−1)n−1 · Tr(A). Met Tr, de
trace, 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 dus
gedeeld 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
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 λ te
proberen, 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 reële oplossingen heeft, bv. de
vergelijking:

λ2 − 2λ + 5 = 0 ⇐⇒ (λ − 1)2 + 5 = 0.

In zo’n geval bestaan er wel oplossingen in de verzameling van complexe getallen, C, zie voor
verdere 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 bepaling
hiervan verloopt geheel analoog aan de berekening van een nulruimte van een martrix. Voor elke
verschillende waarde van λ is een aparte berekening nodig:

λ = −2 : N (A + 2I)

     
7+2 9 −3 1 1 0 −1
dus :  −2 −4 + 2 6  ∼  0 0 1  , eigenruimte <  1  >
1 1 7+2 0 0 0 0

105
λ = 4 : N (A − 4I)

     
7−4 9 −3 1 0 5 −5
dus :  −2 −4 − 4 6  ∼  0 1 −2  , eigenruimte <  2  >
1 1 7−4 0 0 0 1
λ = 8 : N (A − 8I)

     
7−8 9 −3 1 0 −3/5 3
dus :  −2 −4 − 8 6  ∼  0 1 −2/5  , eigenruimte <  2  >
1 1 7−8 0 0 0 5

Merk op:

– De dimensie van elk van de gevonden eigenruimten is één. Deze is gelijk aan de geometrische
multipliciteit van elk van de eigenwaarden. Deze geometrische multipliciteit is altijd kleiner
of gelijk aan de algebraı̈sche multipliciteit. Wanneer voor alle eigenwaardes van een matrix
A de geometrische multipliciteit gelijk is aan de algebraı̈sche multipliciteit, dan noemen we
deze matrix diagonaliseerbaar. Aan het belang daarvan wordt aandacht besteed in paragraaf
13.3.6.
– De eigenwaardes λ zijn precies zo gekozen dat A −λI een singuliere matrix is. De dimensie
van de nulruimte van A − λI (of: de geometrische multipliciteit van de eigenwaarde λ) is
daarom minstens één. Levert berekening van de nulruimte alleen de nulvector op, dan duidt
dit 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 te
leiden over de eigenwaarden en eigenvectoren van matrices die met A samenhangen. Expliciete

106
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 cA


x is (ook) hierbij een eigenvector
en voor:

Ak , k ∈ N: Ak x = λ k x dus λk is een eigenwaarde van Ak


x is (ook) hierbij een eigenvector

Als A inverteerbaar is geldt voor:

A−1 : A−1 x = λ1 x dusis een eigenwaarde van A−1


1
λ
x is (ook) hierbij een eigenvector
Verder volgt uit det(A − λI) = det(AT − λI), dat A en AT hetzelfde karakteristieke polynoom
dus 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 Λ) en


eigenvectoren (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 zijn
gekomen, 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 geldt


voor:

107
c · A: cA = S (cΛ)S−1

Ak , k ∈ N: Ak = SΛk S−1

A−1 (mits die bestaat!): A−1 = S Λ−1 S−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 dezelfde
matrix 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 daarom
geschreven worden als lineaire combinatie van deze eigenvectoren:

x = c1 x1 + ... + cn−1 xn−1 + cn xn .

Uit deze opsplitsing volgt:

Ak x = c1 λk1 x1 + ... + cn−1 λkn−1 xn−1 + cn λkn xn

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:
(  k  k )
λ 1 λ n−1
Ak · x = λkn · c1 · x1 + ... + cn−1 xn−1 + cn xn
λn λn

het volgende:
– voor |λn | > 1 en k → ∞ divergeert de lengte van de vector Ak x
– voor |λn | = 1 en k → ∞ convergeert de lengte van de vector Ak x naar de positieve waarde
|cn xn |
– voor |λn | < 1 en k → ∞ convergeert de lengte van de vector Ak x naar de waarde 0
– voor de verhouding van de lengtes van Ak+1 x en Ak x geldt
|Ak+1 x|
= |λn | + o(1) voor k → ∞ .
|Ak x|

108
Hieruit is het mogelijk om numeriek een benadering voor de in absolute waarde grootste
eigenwaarde λn van A te bepalen. Deze methode staat bekend als de machtmethode. In de
opgaven 6 en 7 van hoofdstuk 13 is deze nader uitgewerkt!

13.3.10 Voorbeeld:
   
3 1 1 2
A = 1 5 1  en x =  5 
1 1 3 6
Eigenwaarden en bijbehorende eigenvectoren van A zijn:
     
1 1 1
λ1 = 2, x1 =  0  ; λ2 = 3, x2 =  −1  ; λ3 = 6, x3 =  2 
−1 1 1

Om Ak x te bepalen is de opsplitsing: x = c1 x1 + c2 x2 + c3 x3 van belang. Deze geeft aanleiding


tot het stelsel vergelijkingen:
      
2= c1 +c2 + c3 1 1 1 c1 2
 5= −c2 + 2c2 of  0 −1 2   c2  =  5 
6 = −c1 +c2 + c3 −1 1 1 c3 6

met als oplossing: c1 = −2, c2 = 1, c3 = 3.


Bij gevolg is:
     
1 1 1
Ak x = −2 · (2)k  0  + (3)k ·  −1  + 3 · (6)k ·  2  .
−1 1 1

dus b.v.
       
1 1 1 659
A3 x = −16  0  + 27  −1  + 648  2  =  1269  .
−1 1 1 691

Merk op dat de eigenvector (1, 2, 1)T relatief belangrijker is geworden en dat de lengte van de
vector Ak x 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
een zgn. differentievergelijking. Dit voorschrift legt een rij vectoren {u0 , u1 , u2 , ...} vast. Een
alternatieve beschrijving van dezelfde differentievergelijking wordt gegeven door het voorschrift:

uk = Ak u0 (k ∈ N)

Hieruit blijkt dat het gedrag van uk voor k → ∞ afhangt van de eigenwaarden en eigenvectoren
van 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 één 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 één 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. De
differentievergelijking heet dan instabiel.

13.3.12 Voorbeeld: (zie paragraaf 13.3.10)


   
3 1 1 2
A = 1 5 1  u0 =  5  .
1 1 3 6
De differentievergelijking: uk+1 = Auk met k ∈ N legt een rij vectoren vast:
       
2 17 109 659
u0 =  5  u1 =  33  u2 =  207  u3 =  1269  enz .
6 25 125 691

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
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 ook
mogelijk om een rij zo te definiëren dat een volgende term bepaald wordt door meerdere eraan
voorafgaande 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 + ak+1
ak+2 = ak+1 · ak + sin , met a0 = 1 a1 = 4 .
2

Wanneer, zoals in de eerste twee gevallen, het voorschrift voor de nieuwe term lineair is, kan de rij
omgezet 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 0 1 0 ak
 ak+2  =  0 0 1  ·  ak+1 
ak+3 −6 5 2 ak+2

111
met de keuze:
     
ak a0 3
uk =  ak+1  en u0 =  a1  =  −8 
ak+2 a2 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 1
λ1 = 1, x1 =  1  ; λ2 = −2, x2 =  −2  ; λ3 = 3, x3 =  3 
1 4 9

Om uk = Ak u0 te bepalen is het van belang de beginvector u0 te schrijven als lineaire combinatie


van de eigenvectoren van A:
     
1 1 1
u0 =  1  + 3  −2  −  3 
1 4 9

Hieruit volgt de algemene vorm voor uk :


     
1 1 1
uk = 1k  1  + 3 · (−2)k  −2  − (3)k  3 
1 4 9

Uit de eerste component van deze vector uk blijkt dan de algemene vorm voor een term uit de rij
ak :

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
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 van
E:

x = ε1 e1 + ε2 e2 + ... + εn en

maar ook als lineaire combinatie van de basisvectoren van B:

x = β1 b1 + β2 b2 + ... + βn bn

Door voor de basisvectoren een vaste volgorde af te spreken (er is dan sprake van een geordende
basis ) kunnen we x eenduidig vastleggen d.m.v. de kolomvectoren
   
ε1 β1
 ε2   β2 
xE =  ..  of xB =  ..  .
   
 .   . 
εn βn

De index E of B hierbij geeft aan ten opzichte van welke geordende basis gewerkt wordt. Zonder
indexvermelding bedoelen we steeds impliciet de standaardbasis E. Individuele elementen van de
kolomvectoren heten coördinaten.

14.2 Omzetten van coördinaten


Indien mogelijk dan kunnen coördinaten van vectoren van de ene geordende basis naar de andere
geordende basis worden omgezet. Er geldt dan:

xB = EB · xE

en

xE = B E · xB

Schematisch stellen we de omzetting van


xE naar xB voor als:
xE xB = EB · xE-
- EB

113
De omzetting de andere kant op, van xB naar xE , heeft als schematische voorstelling:
xB xE = BE · xB-
- BE

Hierbij is EB de basisovergangsmatrix die E vertaalt in B en BE de basisovergangsmatrix die


B vertaalt in E. De kolommen van deze matrices zijn qua interpretatie van belang. Het zijn
respectievelijk 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 matrixvermenigvuldiging
spelen de beelden van de vectoren e1 = (1, 0, ..., 0)T t/m en = (0, 0, ..., 1)T van de standaardbasis
E 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 vectoren
uit de standaardbasis E kennen, kunnen we, omgekeerd, deze afbeelding volledig beschrijven door
middel van een matrix, de zo geheten afbeeldingsmatrix bij A. De kolommen van deze matrix
bevatten informatie over de beelden van de vectoren uit E. Om dit te onderstrepen gebruiken we
als notatie voor deze matrix: A(E). Het effect van de lineaire afbeelding op een willekeurige vector
x is schematisch weergegeven:
xE y E = A(E) · x-
E
- A(E)

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 weergeven
als:
xB y E = A(B) · x-
B
- A(B)

Hierbij is A(B) een matrix waarvan de respectievelijke kolommen de beelden voorstellen van de
vectoren 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 worden
gegeven, oftewel:
A(E) = A(B) · EB en A(B) = A(E) · BE .

114
Het is ook wel eens van belang om de gehele afbeelding ten opzichte van een andere basis te
beschouwen, bijvoorbeeld van de basis B. De coordinaten van x worden ten opzichte van de basis
B gegeven en de beelden y worden ook ten opzichte van de basis B gegeven. In zo’n geval hebben
wij te doen met de afbeeldingsmatrix A(B)B . De matrix waarvan de respectievelijke kolommen de
beelden voorstellen van de vectoren uit de geordende basis B, uitgedrukt ten opzichte van dezelfde
basis B in het bereik.
Hierbij zijn een aantal belangrijke relaties te benoemen:
A(B)B = EB · A(E) · BE = B−1
E · A(E) · BE

en

A(E) = BE · A(B)B · EB = BE · A(B)B · B−1


E

14.4 Duidelijke benamingen


Het is een goed gebruik de van toepassing zijnde matrices binnen MATLAB de volgende (begrij-
pelijke) namen te geven:
EB → EB
BE → BE
A(E) → AE
A(B) → AB
A(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 y B 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:
 
1 2 3 1
A(B) =  3 5 8 2 
8 7 14 3

115
a. Bepaal de nulruimte van de matrix A(B) en daaruit de nulruimte
van de afbeelding A.

b. Bepaal de kolomruimte van de matrix A(B) en daaruit de beeldruimte


van 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 naar
terug.
d. Bepaal een matrix A met volle kolommenrang zó dat de kolomruimte van A gelijk
is 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(AT A)−1 AT .
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 kunt


opschrijven.

b. Bepaal m.b.v. onderdeel a. de afbeeldingsmatrix S(E).

116
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:


 
−1 0 0 0
 0 1 0 0 
A(B)B =  0 0 1 0 

0 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
15 Symmetrische en hermitische matrices, symmetrische
afbeeldingen
15.1 Transponeren en conjugeren
A0 levert een matrix die ten opzichte van A zowel getransponeerd als
complex geconjugeerd is.
A.0 levert een matrix die ten opzichte van A alleen getransponeerd is.
(Opmerking: voor reële matrices A zijn de commando’s A0 en A.0
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.0
Hermitisch: A − A0

Ga zelf na welke antwoorden je dan verwacht!


Zie paragraaf 19.4 voor een overzicht van de belangrijke eigenschappen van symmetrische en
hermitische matrices.

15.2 Opdrachten met MATLAB


1. Controleer met MATLAB de antwoorden van de extra opgaven 1, 2, 4 en 5 uit appendix
18.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 matrixvoorstellingen
t.o.v. de standaardbasis gegeven.
     
4 −2 −2 7 1 −2 1 −1 −2
1 1 1
A1 =  −2 4 −2  A2 =  1 7 −2  A3 =  −1 1 −2 
3 6 2
−2 −2 4 −2 −2 7 −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
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 van


A?
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 onderling
orthogonaal?
Beschouw nu de matrix S, waarvan de kolommen bestaan uit de gegeven eigenvectoren van
A:
 
1 1 −2
S= 0 2 1 
1 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 bepalen
voor 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 λ = 18


aan tot een orthonormale basis voor R3 .
Beargumenteer dat de aangevulde basisvector een eigenvector is bij de eigenwaarde 27
en controleer!
Beschouw de matrix Q met als kolommen de bij onderdeel f. gevonden orthogonale basis.
g. Welke van de matrices Q−1 AQ en QT AQ is/zijn diagonaal (en waarom)?
Controleer het antwoord door concrete berekening!

119
h. Bepaal de eigenwaarden en eigenvectoren rechtstreeks met MATLAB. Vergelijk de
resultaten.
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 van


B?
j. Zijn de gegeven eigenvectoren bij de eigenwaarde 18 orthogonaal?
Zijn de gegeven eigenvectoren bij de eigenwaarde 18 en bij de eigenwaarde 27 onderling
orthogonaal?
Beschouw nu de matrix S1 , waarvan de kolommen bestaan uit de gegeven eigenvectoren van
B:
 
1 1 2
S1 =  0 2 1 
1 0 2

k. Wat is de rang van de matrix S1 ?


Is de matrix S1 orthogonaal?

l. Welke van de matrices S−1 T


1 AS1 en S1 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 λ = 18
aan 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
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 reëel 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 reëel 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
8. Beschouw de lineaire afbeelding A : R3 → R3 met als matrixvoorstelling t.o.v. de stan-
daardbasis:
 
4 −2 −2
1
A1 =  −2 4 −2  zie opgave 3
3
−2 −2 4

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 (0, 1, 1)T , c3 = √1 (0, 1, −1)T


2 2

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 van
een 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 reëel (dus in feite
symmetrisch) is. Voor de speciale eigenschappen van de eigenwaarden en eigenvectoren van
symmetrische matrices (zie appendix 19.4) is het wel essentieel dat de matrix reëel is. In
deze opdracht laten we dit aan de hand van enkele voorbeelden zien.

Beschouw, in MATLAB, de (willekeurige) reële ma- A=rand(4)


trix:
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 reëel?
* 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)
T
en: ACS = (AC + AC )/2 (MATLAB: ACS=(AC+AC.’)/2)

122
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 reëel?
* 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 reële
symmetrische 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 matrix
AH 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 reëel?
* 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 reële
Hermitische matrices in het algemeen ook van toepassing op complexe Hermitische
matrix?

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 reële
matrices A en tot de reële oplossingen van de bijbehorende karakteristieke vergelijking, met als re-
sultaat reële eigenwaarden en eigenvectoren. Het kan echter zijn dat de karakteristieke vergelijking
(ook) niet-reële oplossingen heeft, met als resultaat complexe eigenwaarden en eigenvectoren.

15.3.2 Voorbeeld 1:
Beschouw de (reële) matrix
 
0 2 2
A =  0 1 −1 
−1 1 3

123
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)
   
−2 2 2 1 0 0
dus :  0 −1 −1  ∼  0 1 1 
−1 1 1 0 0 0

0
eigenruimte E2 =<  −1  >
1
λ = 1 + i : N (A − (1 + i)I)
     
−1 − i 2 2 2 −2 + 2i −2 + 2i 1 0 −2
dus :  0 −i −1  ∼  0 −i −1  ∼  0 1 −i  ,
−1 1 2−i −1 1 2−i 0 0 0
eigenruimte E1+i =< (2, i, 1)T >

λ = 1 − i : N (A − (1 − i)I)
     
−1 + i 2 2 2 −2 − 2i −2 − 2i 1 0 −2
dus :  0 i −1  ∼  0 i −1  ∼  0 1 i  ,
−1 1 2+i −1 1 2+i 0 0 0
eigenruimte E1−i =< (2, −i, 1)T >
Merk hierbij op:

– Bij een reële matrix A zijn de coëfficiënten in het karakteristieke polynoom reëel. Een
gevolg hiervan is dat de oplossingen van de karakteristieke vergelijking (dus de eigenwaarden
van A) voorkomen in complex toegevoegde paren. Hier: λ = 1 + i en λ = 1 − i. Immers voor
een polynoom:

p(z) = pn z n + pn−1 z n−1 + ... + p1 z + p0

124
met reële coëfficiënten 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 reëel is, b.v. −1 − i of −1 + i, is het handig om eerst
de hele rij met de complex toegevoegde waarde van de spil te vermenigvuldigen, dus hier
respectievelijk −1 + i en −1 − i. Het spilelement wordt daardoor namelijk reëel!

15.3.3 Beperking A is reëel kan vervallen


Het is mogelijk om ook de beperking dat de matrix A reëel is te laten vallen en de eigenwaarden
en eigenvectoren van matrices met niet reële elementen te bepalen. Voor algemene complexe
matrices besteden we daar geen aandacht aan. Wel wordt in dit hoofdstuk, aandacht besteed aan
Hermitische 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 complexe
elementen op kunnen treden, zie paragraaf 15.3.2. Voor zulke vectoren is een ander inproduct van
toepassing dan voor reële vectoren. Bij het concreet berekenen van zo’n inproduct is als bewerking
in plaats van het transponeren het Hermitisch conjugeren van belang: het verwisselen van rijen en
kolommen 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. De
vier 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:
   
2+i 5−i H 2−i 3+i
A= A =
3−i 4 5+i 4

125
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 reëel is.
Voorbeeld 3:
   
2 3−i H 2 3−i
A= A =
3+i 4 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 symmetrische
lineaire afbeeldingen maar zullen in paragraaf 15.3.12 een nauwkeurigere definitie geven. (Over
de 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:
 
0.6 0 0.8
A= 0 1 0 
0.8 0 −0.6
Eigenwaarden en eigenvectoren van de lineaire afbeelding A corresponderen met de eigenwaarden
en 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)
   
0 2
– eigenruimtes: E1 =<  1  ,  0  > (geometrische multipliciteit : 2)
0  1
1
E−1 =<  0 > (geometrische multipliciteit : 1)
−2

126
– 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 interpretatie
voor de lineaire afbeelding A te geven:
– vectoren x ∈ E1 veranderen door de afbeelding niet: A(x) = x. Dit zijn precies alle
vectoren in het vlak met vergelijking
x1 − 2x3 = 0
– vectoren x ∈ E−1 gaan door de afbeelding over in hun tegengestelde: A(x) = −x. Dit zijn
precies 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 vlak
met vergelijking x1 − 2x3 = 0. Merk op dat uit het meetkundig beeld van een spiegeling volgt dat
A2 (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:
 
0.8 0 0.4
A=  0 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)
   
0 2
– eigenruimtes: E1 =<  1  ,  0  > (geometrische multipliciteit : 2)
0 1
 
1
E0 =<  0  > (geometrische multipliciteit : 1)
−2
– 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 door
de afbeelding niet: A(x) = x.
– vectoren x ∈ E0 , dus vectoren loodrecht op het vlak met vergelijking x1 − 2x3 = 0, komen
door de afbeelding in i terecht: A(x) = i.

127
Een meetkundige interpretatie van deze lineaire afbeelding A is daarom de projectie op het vlak
met vergelijking x1 − 2x3 = 0. Merk op dat uit het meetkundig beeld van een projectie volgt dat
A2 (x) = A(x): twee keer achter elkaar projecteren op het zelfde vlak levert hetzelfde resultaat op
als één 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:
 
4.7 0 2.6
A= 0 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)
   
0 2
– eigenruimtes: E6 =<  1  ,  0  > (geometrische multipliciteit : 2)
0 1

 
1
E−1/2 =<  0  > (geometrische multipliciteit : 1)
−2

– 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 de
afbeelding 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, gaan
door de afbeelding A qua richting over in hun tegengestelde. Bovendien krimpt de lengte
met een factor 12 : A(x) = − 12 x.
Een meetkundige interpretatie voor de lineaire afbeelding A is daarom een spiegeling in het vlak
met vergelijking x1 − 2x3 = 0, gevolgd door een oprekking met een factor 6 in de richting van dit
vlak en een inkrimping met een factor 21 in een richting loodrecht op dit vlak.

128
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 lineaire
afbeelding A ten opzichte van de standaardbasis E = (e1 , e2 , e3 ), dus volgens de notatie van de
aanvulling 14.6 van Hoofdstsuk 14: A(E).
Omdat de matrix A in elk van de gevallen symmetrisch is, bleek het mogelijk om een basis van
eigenvectoren te vinden. De afbeeldingsmatrix van A ten opzichte van zo’n geordende basis van
eigenvectoren B = (b1 , b2 , b3 ), genoteerd als A(B)B , heeft een speciale vorm: het is namelijk
een diagonaal matrix! Ga zelf na dat voor het voorbeeld uit paragraaf 15.3.7, bij de keuze van
b1 = (0, 1, 0)T , b2 = (2, 0, 1)T , b3 = (1, 0, −2)T geldt:
 
1 0 0
A(B)B =  0 1 0 
0 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 afbeeldingsmatrix
uit:

A(B)B = B−1
E · A(E) · BE

met hier:
   
1 1 1 1 −1 0
BE =  0 1 1  en B−1
E =
 0 1 −1 
0 0 1 0 0 1

Voor het voorbeeld uit paragraaf 15.3.7 geldt dan:


 
0.6 −0.4 0.4
A(B)B =  −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 spiegeling
in het vlak met vergelijking x1 − 2x3 = 0, is deze matrix niet langer symmetrisch! Alleen als
B−1 T
E = BE , dus als BE orthogonaal is, is ook A(B)B symmetrisch.
Immers dan geldt:
−1 −1 T −1
A(B)T T T T
B = (BE · A(E) · BE ) = BE · A(E) · (BE ) = BE · A(E) · BE = A(B)B

Concreet betekent dit dat de basisvectoren van B = (b1 , b2 , b3 ) dan onderling loodrecht zijn en een
lengte 1 hebben: B is dus een orthonormale basis.

129
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 ten
opzichte 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 · y B = xT T T
B · A(B)B · y B = xB · A(B)B · y B = (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)T


B = A(B)B

15.3.13 Symmetrische lineaire afbeeldingen: meetkundig


Meetkundig corresponderen symmetrische lineaire afbeeldingen met oprekkingen en inkrimpingen
langs richtingen die onderling loodrecht zijn (zie b.v. paragraaf 15.3.9). Speciale gevallen zijn
daarbij spiegelingen ( zie paragraaf 15.3.7); eigenwaarden λ = 1 en λ = −1) en projecties (zie
paragraaf 15.3.8; eigenwaarden λ = 1 en λ = 0). De bijbehorende afbeeldingsmatrix A(E) kan op
grond van de eigenwaarden en de eigenvectoren bepaald worden. We bespreken dat aan de hand
van 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 voor
vectoren loodrecht op de lijn van spiegeling.
Vectoren langs de lijn van spiegeling zijn eigenvectoren bij eigenwaarde λ = 1. Vectoren in het
vlak 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:
 
1 0 0
A(B)B =  0 −4 0 
0 0 −4

130
De afbeeldingsmatrix A(E) ten opzichte van de standaardbasis E = (e1 , e2 , e3 ) volgt dan uit:

A(E) = BE · A(B)B · B−1


E

met
   
1 2 0 2 2 4
1 
BE =  1 0 2  en B−1
E = · 5 −1 −2 
12
2 −1 −1 −1 5 −2
Het resultaat is:
 
−19 5 10
1
A(E) =  5 −19 10 
6
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 waarvoor
geldt dat xT · A · x > 0 voor alle x 6= 0. Voor een eigenvector xi bij eigenwaarden λi betekent dit
dat:

xT T T
i · A · x i = x i · λi · x i = λi · x i · x i > 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 A
definiet positief is. Immers ten opzichte van een bijbehorende orthonormale basis van eigenvectoren
x1 , x2 , ..., xn is elke vector x te schrijven als:

x = c1 x1 + c2 x2 + ... + cn xn

waaruit volgt:
xT · A · x = (c1 xT T T
1 + c2 x2 + ... + cn xn ) · (c1 λ1 x1 + c2 λ2 x2 + ... + cn λn xn )

= c21 λ1 + c22 λ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
15.3.16 Voorbeeld 8:
 
2 1
A=
1 2
A is symmetrisch en heeft als eigenwaarden λ = 1 en λ = 3 dus A is positief definiet.

132
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 .0
unitair : A ∗ A0
(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 komen
bij het bepalen van een geschikte orthonormale basis B ten opzichte waarvan de afbeeldingsmatrix
van 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 opgave
1. 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. de


standaardbasis gegeven. Ga na of de matrices symmetrisch en/of orthogonaal zijn. Bepaal
voor elk van deze afbeeldingen een meetkundige interpretatie alsmede de beeldruimte en de
nulruimte. 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
matrixvoor- symm. orth. meetkundige beeldruimte nulruimte
stelling
  interpretatie
1 0 0
A1 =  0 1 0 
0 0 2
 
4 −1 −1
A2 = 13  −1 4 1 
−1 1 4
 
1 2 2
A3 = 13  2 1 −2 
2 −2 1

A4 = A−1
3

 
2 1 1
A5 = 13  1 2 −1 
1 −1 2
 
1 a − 1 −a − 1
A6 = 13  −a − 1 1 −a + 1 
a−1 a+1 1

met a = 3

A7 = A−1
6

 
2 1 −2
A8 = 13  −2 2 −1 
1 2 2

A9 = A 2 A6
Beschouw de lineaire afbeelding A : R3 7→ R3 met als voorschrift:
draaispiegeling rond z = (2, −1, 3)T met een positieve draairichting en een
draaiingshoek |ϕ| = π3
Bepaal de matrix van A t.o.v. de standaardbasis.

134
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
   
1 3
∗ A 2  =  0 
2 0
   
2 0
∗ A 1  =  0 
−2 −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 S 2 .

5. Beschouw de lineaire afbeelding A : R4 → R4 met als matrixvoorstelling t.o.v. de stan-


daardbasis:
 
3 −3 3 3
1  1 5 3 1 
A=  
6  5 1 −3 −1 
−1 1 −3 5

a. Ga na dat A orthogonaal is.

b. Bepaal de eigenwaarden en eigenvectoren van A.


   
2 0
 1   1 
Zij V de lineaire ruimte loodrecht op < 
 −4  , 
  >
0 
−1 1
c. Ga na dat A een draaiing is op V en bepaal de draaiingshoek.

135
6. Beschouw de lineaire afbeelding A : R3 → R3 met als matrixvoorstelling t.o.v. de stan-
daardbasis:
 
1 2 2
1
A=  2 1 −2  [zie opgave 2 : A3 ]
3
2 −2 1

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 = √12 (0, 1, 1)T , c3 = √12 (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 een
orthonormale basis altijd orthogonaal?

16.4 Aanvulling Hoofdstuk 16

136
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 singuliere
waarden van A als diagonaal elementen en een orthogonale n bij n matrix V, zò 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
 
17 13 1 5
 10 14
 2 −6 

 7 11 11 −1 
A=  1 1 −3
 .
 9 

 3 3 −5 −9 
6 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 · Σ · QT
2

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 van
U 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 standaard
basis:
 
1 2 3
A= 4 5 6  .
7 8 9

137
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 een
symmetrische 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 standaard
basis 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:


 
1 2 3
A= 4 5 6 
7 8 9
 
1
en het stelsel Ax =  2  = b.
4
a. Ga na dat dit stelsel geen oplossing heeft.

b. Bepaal de normaalvergelijking AT Ax = AT b en bereken hiervan zelf (dus ZONDER


MATLAB!) 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
17.4 Aanvulling Hoofdstuk 17
17.4.1 Stelling:
Elke reële m bij n matrix A is te schrijven als een matrixproduct van de vorm:
A = Q1 · Σ · QT
2

Hierbij is Q1 een orthogonale matrix van afmetingen m bij m, Q2 een orthogonale matrix van
afmetingen 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 reëel en niet-negatief zijn. De positieve
diagonaal-elementen zijn de zgn. singuliere waarden van A, genoteerd als Σii = σi .

Voorbeeld:
 
1 −1 2
=
−1 1 −2
√ √ T
√ √   √

  1/√6 −5/√30 √ 0
1/√2 −1/√2 12 0 0
· ·  −1/√6 −1/√30 2/√5 
−1/ 2 −1/ 2 0 0 0
2/ 6 2/ 30 1/ 5

Bijbehorende singuliere waarde: σ1 = 12.

We concentreren ons op de berekening en de toepassingen van deze opsplitsing die bekend staat
als de singuliere waarden-decompositie van A, ook wel afgekort als svd. Als decompositie schaart
ze 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 reële symmetrische matrix is met louter niet-negatieve eigenwaarden λi dan vormt de
spectrale 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 singuliere
waarden-decompositie: Λ bevat dan namelijk negatieve elementen op de diagonaal, terwijl bij Σ
de diagonaalelementen niet-negatief moeten zijn.

139
17.4.3 De matrices AT · A en A · AT
Bij de concrete berekeningen van de singuliere waarden decompositie van een reële matrix A spelen
de matrices AT · A en A · AT een belangrijke rol. Beide matrices zijn symmetrisch en hebben reële
niet-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 = AT x. Als
x een eigenvector is van A · AT is AT x 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 die
meteen 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 · Σ · QT
2

volgt:

AT · A = (Q1 · Σ · QT T T T T
2 ) · (Q1 · Σ · Q2 ) = Q2 · Σ · Σ · Q2 .

De matrix ΣT · Σ is een diagonaalmatrix met op de diagonaal de kwadraten van de singuliere


waarden van A, σi2 , zo nodig aangevuld met waarden nul. Deze opsplitsing vormt een spectrale
decompositie van AT A. 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 de
positieve eigenwaarden van AT · A.
Op grond hiervan is concrete berekening van Q2 en σi (dus ook Σ) mogelijk. Het resultaat is niet
eenduidig 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 · Σ · QT
2

door rechtsvermenigvuldiging met de orthogonale matrix Q2 :

A · Q2 = Q1 · Σ .

140
Hiermee ligt de produktmatrix Q1 · Σ vast. Omdat alleen op de diagonaal van Σ elementen
voorkomen 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 overeen
met de corresponderende diagonaalwaarde van Σ, dus met de bijbehorende singuliere waarde van
A.
Bij singuliere waarden σi 6= 0 volgen de kolommen van Q1 dan ook rechtstreeks uit A · Q2 . Bij
singuliere 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 · Σ · QT T T T T
2 )(Q1 · Σ · Q2 ) = Q1 · Σ · Σ · Q1 .

Hierin is Σ · ΣT een diagonale matrix met op de diagonaal de kwadraten van de singuliere waarden
van A, σi2 , zo nodig aangevuld met waarden nul. De kolommen van Q1 vormen dus een orthonor-
male basis van eigenvectoren van A·AT bij eigenwaarden λi = σi2 . De nog niet bepaalde kolommen
van 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 de
nulruimte van AT . Merk op dat de specifieke keuze hiervoor evenmin eenduidig is. De singuliere
waarden-decompositie van een matrix A is dan ook niet uniek.

17.4.7 Voorbeeld
Beschouw:
 
1 1
A= 2 2 
2 2
 
T 9 9
Voor A · A = geldt:
9 9
– karakteristiek polynoom: λ2 − 18λ
– eigenwaarden: λ1 = 18 en λ2 = 0 (niet negatief!)
E18 =< (1, 1)T
– corresponderende eigenvectoren:
E0 =< (−1, 1)T
−1 √1 T
– orthonormale basis van eigenvectoren: {( √12 , √12 )T ; ( √ , 2) }
√ 2
Hieruit volgen de singuliere waarde σ1 = 18 en de matrices:
 √
 √ √ 

18 0
1/√2 −1/√2
Q2 = en Σ =  0 0  .
1/ 2 1/ 2
0 0

141
Met deze keuzes geldt concreet voor de produktmatrix Q1 · Σ:
   √   √   √ 
q11 q12 q13 18 0 √ 18q 11 0 √2 0
 q21 q22 q23  ·  0 0  =  √18q21 0  =  2√2 0 
q31 q32 q33 0 0 18q31 0 2 2 0

Dit legt de eerste kolom van Q1 vast:


1√ 2√ 2√ T
(q11 , q21 , q31 )T = ( 9, 9, 9) .
9 9 9
De resterende kolommen van Q1 , dus bij σi = 0, zijn nog onbepaald. Deze volgen uit de nulruimte
van de matrix
 
2 4 4
A · AT =  4 8 8 
4 8 8

of rechtstreeks, uit de nulruimte van AT .


Directe berekening levert E0 =< (−2, 1, 0)T ; (−2, 0, 1)T > met als mogelijke
orthonormale basis (gebruik Gram Schmidt!):
√ √ √ √ √
{(−2/ 5, 1/ 5, 0)T ; (−2/ 45, −4/ 45, 5/ 45)T } .

Daarmee wordt:
 √ √ 
1/3 −2/√ 5 −2/√45
Q1 =  2/3 1/ 5 −4/√ 45 
2/3 0 5/ 45

Door berekening blijkt:


√ √   √
 √ √ T
 
1/3 −2/√ 5 −2/√45 18 0
T 1/√ 2 −1/√2
Q1 · Σ · Q2 =  2/3 1/ 5 −4/√ 45  ·  0 0  ·
1/ 2 1/ 2
2/3 0 5/ 45 0 0

 
1 1
=  2 2 
2 2
Merk op dat het resultaat niet eenduidig is: Als orthonormale basis van eigenvectoren bij AT · A
−1 √
is bijvoorbeeld ook de keuze {( √ 2
, −12 )T ; ( √12 , √
−1 T
2
) } 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
17.4.8 Keuze tussen A en AT
Uit een singuliere waarden-decompositie voor A volgt een singuliere waarden-decompositie voor
AT . Immers, met

A = Q1 · Σ · QT
2

geldt

AT = (Q1 · Σ · QT T T T
2 ) = Q2 · Σ · Q1 .

Concreet betekent dit dat zowel uit A als uit AT de singuliere waarden-decompositie berekend kan
worden. In de eerder beschreven methode is het dus niet essentieel of je start met de eigenwaarden
en 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 · Σ · QT
2 geldt:
rang (A) = rang (Σ)

Immers:

– rang (Q1 · Σ · QT T
2 ) = rang(Σ · Q2 ) want Q1 is een inverteerbare matrix die geı̈nterpreteerd
kan worden als een voorvermenigvuldigingsmatrix die een aantal elementaire rijveegoperaties
toepast op Σ · QT T
2 . Deze rijveegoperaties laten de rang van Σ · Q2 onveranderd.
Analoog geldt:
rang (Σ · QT T T T T
2 ) = rang ((ΣQ2 ) ) = rang (Q2 · Σ ) = rang (Σ ) = 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 singuliere
waarden-decompositie is daarbij niet nodig: de matrices Q1 en Q2 spelen concreet geen rol en
hoeven 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 kunnen
treden biedt het voordelen om de rang op grond van de singuliere waarden te bepalen: singuliere
waarden dicht bij nul blijken namelijk een goede indicatie te zijn voor een lagere rang. Voor
spilwaardes 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
17.4.11 Voorbeeld
Van een matrix A zijn de elementen met een nauwkeurigheid van 10−2 bekend:
 
1.02 2.03 4.20
A=  0.25 0.51 1.06 
1.74 3.46 7.17
De singuliere waarden van deze A zijn σ1 = 9.5213, σ2 = 0.0071 en σ3 = 0.0023. Exact gesproken
is de rang van A dus 3. De kleine waarden σ2 en σ3 vormen echter een indicatie voor een lagere
rang, mogelijk rang (A) = 1.
Inderdaad heeft de matrix:
 
1.02 2.03 4.20
à =  0.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 · Σ · QT
2

Door de ‘diagonale’ matrix Σ te benaderen met een andere ‘diagonale’ matrix Σ̃ ontstaat een
benadering à = Q1 · Σ̃ · QT
2 voor de oorspronkelijke matrix A. Geschikte matrices Σ̃ ontstaan
bijvoorbeeld door in de oorspronkelijke Σ (relatief) kleine singuliere waarden σi door de waarde
nul te vervangen.

Bijvoorbeeld: (zie paragraaf 17.4.11)


 
1.02 2.03 4.20
A=  0.25 0.51 1.06 
1.74 3.46 7.17

heeft singuliere waarden-decompositie:


   T
0.5015 −0.1871 −0.8447 9.5213 0 0 0.2135 0.9422 0.2582
 0.1263 0.9817 −0.1424 · 0 0.0071 0 · 0.4247 −0.1485 0.8931 
0.8559 −0.0352 0.5160 0 0 0.0023 0.8798 0.3003 0.3685
Geschikte benaderingen zijn:
   
9.5213 0 0 1.0205 2.0280 4.2007
Σ̃1 =  0 0.0071 0  met Ã1 =  0.2501 0.5097 1.0601 
0 0 0 1.7397 3.4611 7.1695

144
of
   
9.5213 0 0 1.0192 2.0280 4.2011
Σ̃2 =  0 0 0  met Ã2 =  0.2567 0.5107 1.0580 
0 0 0 1.7394 3.4610 7.1696

Merk hierbij het volgende op:

– rang (Σ̃1 ) = 2 dus de benadering Ã1 heeft ook rang (Ã1 ) = 2. De afzonderlijke elementen
van Ã1 verschillen weinig van die van A.
– rang (Σ̃2 ) = 1 dus de benadering Ã2 heeft ook rang (Ã2 ) = 1. De afzonderlijke elementen
van Ã2 verschillen weinig van die van A en van Ã1 . De benadering is relatief goed!

17.4.13 Niet gehele berekening nodig


Voor de berekening van Q1 · Σ̃1 · QT T
2 en Q1 · Σ̃2 · Q2 is op zich niet de hele matrixvermenigvuldiging
nodig. Ga zelf na dat het resultaat ook volgt uit:

   T    T
0.5015 0.2135 −0.1871 −0.9422
Ã1 = 9.5213 ·  0.1263  ·  0.4247  + 0.0071 ·  0.9817  ·  −0.1485 
0.8559 0.8798 −0.0352 0.3003

en

   T
0.5015 0.2135
Ã2 = 9.5213 ·  0.1263  ·  0.4247 
0.8559 0.8798

De hierbij optredende vectoren zijn precies kolomvectoren van Q1 en QT


2!

17.4.14 Alternatieve schrijfwijze


Zij A een m bij n matrix van rang r met singuliere waarden σ1 ≥ σ2 ≥ ... ≥ σr > σr+1 = ... = 0
en singuliere waarden-decompositie:

A = Q1 · Σ · QT
2.

Een alternatieve schrijfwijze voor deze decompositie is (zie paragraaf 17.4.13):

A = σ1 · u1 · v T T T
1 + σ2 · u2 · v 2 + ... + σr · ur · v r

145
met ui de i◦ kolom van Q1 en v i de i◦ kolom van QT ◦
2 dus de i rij van Q2 . Op deze manier is A
opgesplitst in een som van r matrices elk met rang één: σi · ui · v T
i .
Als een singuliere waarde σi relatief klein is kan het weglaten van de bijdrage σi · ui · v T
i toch
resulteren in een matrix waarvan de elementen dicht bij de oorspronkelijke elementen van A
liggen. Op deze manier ontstaat een benadering voor A waarvan de rang kleiner is dan de rang
van A zelf. Men kan aantonen dat de beste benadering voor A van rang k ≤ r gevormd wordt
door:

σ1 · u1 · v T T T
1 + σ2 · u2 · v 2 + ... + σk · uk · v k

Bij het eerder gegeven voorbeeld is de beste benadering voor A van rang 1 :
 
1.0192 2.0280 4.2011
σ1 · u1 · v T
1 =
 0.2567 0.5107 1.0580  .
1.7394 3.4610 7.1696

De beste benadering voor A van rang 2 is:


 
1.0205 2.0280 4.2007
σ1 · u1 · v T T
1 + σ2 · u2 · v 2 =
 0.2501 0.5097 1.0601 
1.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 reële n bij n matrix A is te schrijven als een product van een orthogonale matrix Q en een
symmetrische matrix S:

A=Q·S

Immers uit de singuliere waarden-decompositie A = Q1 · Σ · QT


2 volgt:

A = (Q1 · QT T
2 ) · (Q2 · Σ · Q2 ) = Q · S

met : Q = Q1 · QT2 orthogonaal


S = Q2 · Σ · QT
2 symmetrisch

Deze decompositie van A staat bekend als polaire decompositie en is een verdere toevoeging aan

146
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 worden
als product van een orthogonale en een symmetrische matrix: A = Q · S. Zowel de orthogonale als
de symmetrische matrix afzonderlijk hebben een eigen interpretatie (zie respectievelijk hoofdstuk
15 en 16.) De afbeelding A is dan de samenstelling van deze afzonderlijke afbeeldingen, waarbij
de symmetrische afbeelding als eerste plaatsvindt, gevolgd door de orthogonale afbeelding.
Voorbeeld: Beschouw de lineaire afbeelding A : R3 7→ R3 met afbeeldingsmatrix:
 
2.2 0 1.6
A= 0 1 0 
4.9 0 2.2

Een singuliere waarden-decompositie van A = Q1 · Σ · QT


2 is:
     T
0.4472 0 0.8944 6 0 0 0.8944 0 −0.4472
 0 1 0  ·  0 6 0  ·  0 1 0 
0.8944 0 −0.4472 0 0 1/2 0.4472 0 0.8944

Hieruit volgt de polaire decompositie A = Q · S met:


   
0 0 1 4.9 0 2.2
Q = Q1 · QT 2 =
 0 1 0  en S = Q2 · Σ · QT 2 =
 0 6 0 
1 0 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 6
in de richting van het vlak met vergelijking x1 − 2x3 = 0 gecombineerd met een inkrimping met
een factor 1/2 in de richting loodrecht op dit vlak: α · (1, 0, −2)T . Hierna vindt een spiegeling
plaats in het vlak met vergelijking x1 − x3 = 0. Merk op dat het vlak van oprekking en het vlak
van spiegeling verschillen.

147
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:
 √


18 0  
+ 1/ 18 0 0
Bij Σ =  0 0  is Σ =
0 0 0
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 beste
benadering 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 rechtstreeks
berekenbaar is, bespreken we eerst voor een tweetal speciale gevallen een eenvoudige uitdrukking
voor Σ+ . Verderop, in de berekening van de pseudo-inverse van een algemene matrix A, zijn deze
resultaten van belang!

(i) Σ is n bij n en regulier:

Σ+ = Σ−1    
2 0 −1 1/2 0
– voorbeeld: Σ = Σ = = Σ+
0 3 0 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
– voorbeeld:
 
2 0
 0 3 
Σ=
 0

0 
0 0
 −1    
T −1 T 4 0 2 0 0 0 1/2 0 0 0
(Σ · Σ) ·Σ = · =
0 9 0 3 0 0 0 1/3 0 0
– gevolg: het stelsel vergelijkingen Σx = b is voor algemene b overbepaald en heeft geen
oplossing. Wel is er een (unieke) benadering in kleinste kwadraten zin die volgt uit de
normaal 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 0
 0 3 0 
Σ=  0 0 0 

0 0 0

dus:

 
 2 0 0    
2 0 0 0 1/2 0 0 0 2 0 0 0
 0 3 0  

ΣT · Σ · Σ+ =  0 3 0 0  · 
 0 · 0 1/3 0 0  =  0 3 0 0 
0 0 
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0

17.4.20 Pseudo-inverse van een reële m bij n matrix A


Definitie: De pseudo-inverse van een reële m bij n matrix A met singuliere waarden-decompositie
A = Q1 · Σ · QT2 is de n bij m(!) matrix:

A+ = Q2 · Σ+ · QT
1

149
Voorbeeld:
Voor de matrix A uit paragraaf 17.4.7 geldt op grond van de daar gegeven singuliere waarden-
decompositie:

√ √ T
√ √   √

  1/3 −2/√ 5 −2/√45
1/√2 −1/√ 2 1/ 18 0 0
A+ = · ·  1/3 1/ 5 −4/√ 45  =
1/ 2 1/ 2 0 0 0
2/3 0 5/ 45

 
1/18 1/9 1/9
=
1/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 vorm
heeft:
(i) A is n bij n en regulier :
A+ = A−1
immers: A−1 = (Q1 · Σ · QT
2)
−1
= Q2 · Σ−1 · QT + T
1 = Q2 · Σ · Q1 (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 · Σ · QT
2)
−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 geen


oplossing. Wel is er een (unieke) benadering in kleinste kwadraten zin, die volgt uit de
normaalvergelijkingen AT · Ax = AT b, namelijk:
x̄ = (AT · A)−1 · AT · b = A+ b
Merk op dat dit precies de situatie is, zoals besproken in hoofdstuk 8. voor overbepaalde
stelsels: de coëfficiëntenmatrix moest volle rang hebben!

150
17.4.22 AT · A singulier
Voor een m bij n matrix A met m ≥ n en rang (A) = r < n heeft de normaalvergelijking
AT · Ax = AT b niet langer een unieke oplossing: AT · A is dan namelijk singulier. Er zijn echter
wel oplossingen voor de normaalvergelijkingen, bijvoorbeeld:
x̄ = A+ b

Immers: (AT · A) · A+ · b =
(Q2 · ΣT · QT T + T
1 · Q1 · Σ · Q2 ) · Q2 · Σ · Q1 · b =

Q2 · (ΣT · Σ) · QT + T T + T
2 · Q2 · Σ · Q1 · b = Q2 · (Σ · Σ · Σ ) · Q1 · b =

Q2 · ΣT · QT T
1 ·b = A ·b (zie 6.5.5.3).
De algemene oplossing van de normaalvergelijkingen AT · A · x = AT b, dus de algemene benadering
in kleinste kwadraten zin voor het stelsel Ax = b, is dan:
x̄ = x̄p + x̄h
met x̄p een particuliere oplossing van de normaalvergelijkingen, bv.
x̄p = A+ · b
en xh een vector uit de nulruimte van AT · A. Deze nulruimte N (AT A) stemt overeen met N (A).
Men kan aantonen dat de particuliere oplossing x̄p = A+ · b van alle oplossingen van de normaal-
vergelijking AT · Ax = AT b juist degene is met minimale lengte |x̄|, dus dat het de oplossing is die
het dichtst bij i ligt!

Voorbeeld
 : (zie paragraaf
 17.4.7)
1 1
Zij A =  2 2  met rang(A)= 1 en bijbehorend stelsel:
2 2
   
1 1   15
x1
 2 2  ≡  15 
x2
2 2 −30
Merk op:
– Ax = b heeft geen oplossing.
– De bijbehorende normaalvergelijkingen zijn: AT Ax = AT b, concreet:
     
9 9 x1 −15
· =
9 9 x2 −15
Hieruit blijkt dat AT · A singulier is. De nulruimte van AT A (en van A!) is < (−1, 1)T >.
Hieruit volgt de oplossing van de homogene vergelijking AT Ax = i.

151
 
+ 1/18 1/9 1/9
–A = (zie paragraaf 17.4.20)
1/18 1/9 1/9
 
+ −5/6
dus: A b = . Door invulling in de normaalvergelijkingen blijkt dat dit een
−5/6
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 particuliere


oplossing
 en van
 de 
algemene
 homogene oplossing van de normaalvergelijkingen, concreet:
−5/6 −1
x̄ = +λ .
−5/6 1
Merk op dat |x̄|2 = (−5/6 − λ)2 + (−5/6 + λ)2 = 50/36 + 2λ2 dus dat |x̄| minimaal is
voor λ = 0!

152
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 te
rekenen.

2. A en B zijn n bij n matrices, x is een kolomvector met n coördinaten. Zoals bekend is (AB)
x =A(Bx). Bepaal voor beide manieren van uitrekenen het aantal flops. Welke manier is
het goedkoopste?

3. Zij A een n bij n matrix van de vorm


 
∗ ∗ 0 0 0 0 · · · · 0
 0 ∗ ∗ 0 0 0 · · · · 0 
 
 0 0 ∗ ∗ 0 0 · · · · 0 
 
 0 0 0 ∗ ∗ 0 · · · · 0 
 
 · · 
 
 · · 
 
 0 · · · · · · 0 ∗ ∗ 0 
 
 0 · · · · · · · 0 ∗ ∗ 
0 · · · · · · · · 0 ∗

Bepaal het aantal flops dat nodig is bij de berekening van de oplossing x van Ax = b.

4. Beschouw de matrices
   
3 1 0 0 1 0 0 0
 −3 4 1 0   3 1 0 0 
A =   en B = 
 −3

 1 3 2 1  4 1 0 
1 0 0 0 1 3 2 1

AA

a. Bepaal een permutatiematrix P1 zo dat P1 A = B.


b. Bepaal een permutatiematrix P2 zo dat P2 B = A.
c. Vergelijk P1 met P2 .

153
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 die
je hebt gevonden in b?

2. Beschouw de 3 bij 3 Hilbert matrix

1 12 31
 

A= 1 1 1  2 3 4
1 1 1
3 4 5

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.
 10.270x − 6.993y + 0.012z = 3.265
(1) − 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.
 0.1027 ∗ 102 x − 0.6993 ∗ 101 y + 0.1200 ∗ 10−1 z = 0.3265 ∗ 101
(2) − 0.3015 ∗ 101 x + 0.2054 ∗ 101 y + 0.6968 ∗ 101 z = − 0.7929 ∗ 101
0.4938 ∗ 101 x − 0.1276 ∗ 101 y + 0.5210 ∗ 101 z = − 0.1548 ∗ 101

a. Ga na dat x = (1, 1, −1)T de exacte oplossing van dit stelsel is.


Vegen 
levert
 0.1027 ∗ 102 x − 0.6993 ∗ 101 y + 0.1200 ∗ 10−1 z = 0.3265 ∗ 101
(3) + 0.1000 ∗ 10−2 y + 0.6972 ∗ 101 z = − 0.6970 ∗ 101
0.2086 ∗ 101 y + 0.1453 ∗ 101 z = −0.3118 ∗ 101

154
en vervolgens

 0.1027 ∗ 102 x − 0.6993 ∗ 101 y + 0.1200 ∗ 10−1 z = 0.3265 ∗ 101
(4) + 0.1000 ∗ 10−2 y + 0.6972 ∗ 101 z = − 0.6970 ∗ 101
− 0.1453 ∗ 105 z = 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 partial
pivoting toe. Vergelijk het resultaat met de exacte oplossing.
Opmerking: Het stelsel is wel goed geconditioneerd. De problemen ontstaan door het
eerste algoritme (zonder partial pivoting) dat hier slecht werkt.
 
1 4
4. Laat A=
2 3

5. Bepaal de Cholesky-decompositie van AT A.

18.3 Extra-opgaven: Iteratieve methoden en de algemene oplossing


van stelstels lineaire vergelijkingen, zie Hfd. 6
1. Beschouw het volgende stelsel.

3x1 + 2x2 = 5 21


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−1 T)k voor k = 1, 2, 3, 4.


d. Convergeert de rij xk voor elke startwaarde x0 ?
Beschouw nu het equivalente stelsel

2x1 + 4x2 = 9
3x1 + 2x2 = 5 21 .

e. Beantwoord nu bovenstaande vragen voor Gauss-Seidel.

155
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.
T
Gegeven zijn de producten A  A.
4 0 0 0
 0 9 0 0 
(i) AT A =   0 0 3 0 

0 0 0 5
 
4 0 0 0
 0 9 2 0 
(ii) AT A =   0 2 3 0 

0 0 0 5
 
4 0 0 3
 0 9 2 0 
(iii) AT A =   0 2 3 0  Beantwoord voor ieder geval de volgende vragen.

3 0 0 5
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
 
2 1 1
A= 1 0 2 
1 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 behulp
van MATLAB de QR-decompositie bepaald van de matrix A waarvan de respectievelijke
kolommen 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
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 behulp
van MATLAB de QR-decompositie bepaald van de matrix A waarvan de respectievelijke
kolommen 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 q i .


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 ∈< q 1 , 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 in


termen van de orthonormale vectoren q 1 en q 2 .
e. Ga na of q 1 en q 2 uit te drukken zijn in termen van a2 en a4 en geef, zo mogelijk, deze
uitdrukking expliciet.
Geldt de bewering:
< a2 , a4 >=< q 1 , q 2 > ?

157
f. Geef op grond van de uitvoer een expliciete uitdrukking voor de vectoren a2 en a5 in
termen van de orthonormale vectoren q 1 en q 2 .
g. Ga na of q 1 en q 2 uit te drukken zijn in termen van a2 en a5 en geef, zo mogelijk, deze
uitdrukking expliciet.
Geldt de bewering:
< a2 , a5 >=< q 1 , q 2 > ?

18.6 Extra-opgaven: Eigenwaarden en Eigenvectoren, zie Hfd. 12 en


13
1. Bepaal in elk van de volgende onderdelen de algemene vorm van de eigenvectoren van de
matrix A bij de aangegeven eigenwaarde λ.
   
2 −1 2 −9 −3 16
a.  0 4 2  ,λ = 1 b.  13 7 16  , λ = −6
0 0 1 3 3 10

 
2 1 0 0  
 1 5 6 0
2 1 0   0
c. 
 0
 ,λ = 1 d. 2 0  ,λ = 2
1 2 1 
−3 −6 2
0 0 1 1

   
0 15 0 −3 −12 0
e.  14 2 16  , λ = 0 f.  0 3 0  ,λ = 3
−7 1 −8 6 12 2

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
2
a. λ − 3λ + 1 b. −λ3 + 5λ2 − 6λ

c. −λ3 − 2λ2 + λ + 2 d. −λ3 + 3λ + 2

3. Beschouw de matrix
 
2 0 0
A =  1 −1 −2 
−1 0 1

158
en de hiermee samenhangende matrices
   
4 0 0 −4 0 0
B = 2 · A =  2 −2 −4  C = A − 6I =  1 −7 −2 
−2 0 2 −1 0 −5
 
11 0 0
D = 3A + 5I =  3 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 van
de 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 de
matrix diagonaliseerbaar?
   
8 6 6 4 2 −4
a.  −3 −1 −3  b.  1 5 −4 
−6 −6 −4 0 0 18

   
3 1 0 0 5 0 0 0
 1 3 0 0   0 1 2 0 
c.   d.  
 0 0 0 −4   0 −1 4 0 
0 0 0 1 0 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
6. Geef van elk van de volgende matrices de eigenwaarden met de daarbij horende geometrische
multipliciteit.
Beargumenteer of de matrix diagonaliseerbaar is.
     
1 0 1 1 1 1 1 1 0
a.  0 1 0  b.  0 1 1  c.  0 1 1 
0 0 1 0 0 1 0 0 1

     
1 0 1 1 1 1 1 1 0
d.  0 1 0  e.  0 1 1  f.  0 1 1 
0 0 3 0 0 3 0 0 3

7. Een n bij n matrix A heeft een eigenwaarde λ. De vector x is een eigenvector bij deze
eigenwaarde λ.
a. Geef een uitdrukking voor het getal µ in termen van λ, waarvoor geldt dat: A2 x =
µx.

b. Geef een uitdrukking voor het getal µ in termen van λ, waarvoor geldt dat: A3 x =
µ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:
 
3 1 1
A = 1 5 1 
1 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 aangeduid


als s1 , s2 en s3 ). Bereken A3 s1 , A3 s2 en A3 s3 .
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:
x 1 = µ1 s 1 + µ2 s 2 + µ3 s 3
Bepaal op grond hiervan en van de resultaten uit onderdeel b: A3 x1 .

160
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 lim ak .
k→∞
c. Start met a0 = −2 en a1 = 1.2. Bepaal hierbij u0 , uk en lim ak .
k→∞

18.7 Extra-opgaven: Symmetrische en hermitische matrices,


zie Hfd. 15
1. Beschouw de volgende matrix:
 
i 1+i
A1 =
0 1
a. Bepaal de eigenwaarden en bijbehorende eigenvectoren van A1 .
b. Bepaal AH
1 . Is A1 Hermitisch?
c. Bereken C1 = AH H
1 A1 . Wat is de relatie tussen C1 en C1 ?
d. Bepaal de eigenwaarden en bijbehorende eigenvectoren van C1 . Ga de eigenschappen
uit paragraaf 19.4 na.
2. Beschouw de volgende matrix:
 
−1 −2
A2 =
2 −1
a. Bepaal de eigenwaarden en bijbehorende eigenvectoren van A2 .
b. Bepaal AH
2 . Is A2 Hermitisch?
c. Bereken C2 = AH H
2 A2 . Wat is de relatie tussen C2 en C2 ?
d. Bepaal de eigenwaarden en bijbehorende eigenvectoren van C2 . Ga de eigenschappen
uit paragraaf 19.4 na.
3. Bepaal van elk van de volgende matrices of ze symmetrisch en/of Hermitisch zijn:
   
3 i i 2
a. b.
i 2 2 −i

   
−1 1 − 2i 3i −i 1 − 2i 3i
c.  1 + 2i 3 2 − 5i  d.  1 + 2i 3i 2 − 5i 
−3i 2 + 5i 0 −3i 2 + 5i 0

161
4. Beschouw de lineaire afbeelding A : R2 → R2 met als matrixvoorstelling t.o.v. de stan-
daardbasis:
 
1 −6 8
A3 =
10 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.
 
2 −1 −1
1
A4 =  −1 2 −1 
3
−1 −1 2

De eigenwaarden en bijbehorende eigenvectoren van


       
2 −1 −1 1 1 1
3 · A4 =  −1 2 −1  zijn E0 =<  1  en E3 =<  −1  ,  0  >
−1 −1 2 1 0 −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 te
schrijven als de som van zijn projectie op V, p1 , en zijn projectie op V⊥ , p2 .

Beschouw nu de lineaire afbeelding A : R3 → R3 met als voorschrift:

A(x) = p1 + 12 p2

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
c. Bepaal de matrixvoorstelling A5 van deze afbeelding t.o.v. de standaardbasis.

7. Van een reële 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 van
A6 .
c. Bepaal de matrix A6 .
d. Geef een meetkundige interpretatie voor de lineaire afbeelding A : R3 → R3 met als
matrixvoorstelling t.o.v. de standaardbasis A6 .

8. Van een reële 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 van
A7 .
c. Bepaal de matrix A7 .
d. Geef een meetkundige interpretatie voor de lineaire afbeelding A : R3 → R3 met als
matrixvoorstelling 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
√ √ √
√ √ 
 
1/√3 1/ 2 1/ √6 
1/ √2 i/√2
a.  1/√3 0√ −2/√ 6  b.
−1/ 2 i/ 2
1/ 3 −1/ 2 1/ 6

√  √ √ 
 √ √  1/√3 1/ √3 0√ 1/ 3
1/√ 2 i/ √2  1/ 3 −1/ 3 1/ 3 0√
√ √

c. d.  
i/ 2 −1/ 2  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:
 √ √ 
1/ √2 1/√2
A=
−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 of


een 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 b c
A= c a b  met a = 13 + 3√2 2
b c a
b = 13 − √16 − 3√1 2

1 √1 1
c= 3
+ 6
− √
3 2

MATLAB levert over A de volgende informatie:

164
 A ∗ A0 :
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000

[S, D] = eig (A):

S = 0.2209 − 0.5334i 0.2209 + 0.5334i 0.5774


S= −0.5724 + 0.0754i −0.5724 − 0.0754i 0.5774
0.3515 + 0.4580i 0.3515 − 0.4580i 0.5774

0.70710 + 0.7071i00
D = 00.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 of


een draaispiegeling.
c. Bepaal de hoek tussen x = (0, 1, −1)T en Ax alsmede de hoek tussen y = (0, 1, 0)T en Ay.
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:
 
0 0 −1
A= 1 0 0 
0 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
MATLAB levert over A de volgende informatie:

A ∗ A0 :

1.0000 −0.0000 0.0000


−0.0000 1.0000 0.0000
0.0000 0.0000 1.0000
[S, D] = eig(A):

0.5794 −0.3201 + 0.4793i −0.3201 − 0.4793i


S = −0.2337 0.4981 + 0.4793i 0.4981 − 0.4793i
−0.7808 −0.3866 + 0.2138i −0.3866 − 0.2138i
1.0000 0 0
D= 0 −0.9665 + 0.2567i 0
0 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 reële 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 één-dimensionaal

166
a. Bepaal op grond van deze gegevens de eigenwaarden van A.
b. Bepaal op grond van deze gegevens een orthonormale basis van eigenvectoren van
A.
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 met
onderdeel a.
2. Beschouw de volgende kolommatrix.
 
1
 0 
 
 2 
A=  −1 

 
 3 
−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.
 
2 0
A =  0 −3 
0 0

a. Bepaal een svd van A.


b. Bepaal een svd van 2 · A en een svd van −2 · A.

167
c. Indien van een willekeurige matrix A de svd bekend is (A = Q1 ΣQT
2 ) wat is dan een
svd van αA met α ∈ R?

4. Beschouw de volgende matrix.


 
1 −1
A= 1 0 
1 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:
 
0.0937 0.9836 1.1710
A =  0.0171 0.2710 0.2048 
0.2972 2.9195 3.7370

Met behulp van MATLAB is het volgende berekend:

[S1, D1] = eig(A ∗ A0 ) en [S2, D2] = eig(A0 ∗ 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.


 
1 8 −11
A= √
5 2 4 7

Van deze matrix is een svd bekend:


 √ √   √ √ T
−3/√10 1/√10 2 0 −1/√5 2/√5
A=
1/ 10 3/ 10 0 1 2/ 5 1/ 5

a. Bepaal de polaire decompositie van A.


b. Geef een meetkundige interpretatie voor de lineaire afbeelding A : R2 → R2 met
matrixvoorstelling t.o.v. de standaardbasis: A.
c. Bepaal de pseudo-inverse A+ van A.
d. Bepaal een svd van A+ .

168
7. Beschouw nogmaals de matrix uit opgave E6.4:
 
1 −1
A= 1 0 
1 1

a. Bepaal de kleinste kwadraten oplossing x̃ van het stelsel


 
1
Ax =  2 
3
b. Bepaal de pseudo inverse A+ van A.
c. Bepaal de kleinste kwadraten oplossingen van bovenstaand stelsel m.b.v. de pseudo
inverse A+
d. Bepaal m.b.v. A+ de bijbehorende projectiematrix A(AT A)−1 AT .
8. Beschouw de volgende matrix,
   
1 −1 0 1
A=  1 0 1 en het stelselAx =
  2  = b.
0 1 2 3

a. Bepaal de algemene oplossing van de normaal vergelijking AT · Ax = AT b.

b. Bepaal uit deze oplossingsverzameling de vector x+ met de kleinste lengte.


Een svd van A ziet er als volgt uit.

   T
0.0849 −0.9089 −0.4082 2.7651 0 0 0.5199 −.6295 0.5774
A =  0.4792 −0.3220 0.8165   0 1.5344 0   0.2852 0.7651 0.5774 
0.8736 0.2650 −0.4082 0 0 0 0.8052 0.1355 0.5744
c. Bepaal de pseudo-inverse A+ van A.
d. Bepaal nu met A+ de vector x+ .
9. Bewijs de volgende uitspraken:
a. (c A)+ = 1c A+ voor alle c 6= 0.

b. (A+ )T = (AT )+ .
c. (A+ )+ = A.
d. (AB)+ 6= B+ A+ (in het algemeen).

169
19 Appendix
19.1 Eigenschappen van matrix-manipulaties
vermenigvuldigen optellen transponeren
AB 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 = BT AT

AO = O A+O=A
AI = A
IA = A

De meeste eigenschappen zijn triviaal, behalve de eigenschap: (AB)T = BT AT .

19.2 Eigenschappen van een reguliere matrix


stelsels lineaire vergelijkin- matrices
gen
Voor elke b ∈ Rn geldt: A heeft een inverse
Ax = b precies één (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 één oplossing heeft, bevat de nulruimte N (A) alleen de
nulvector, dus rang (A)= n en dus is A inverteerbaar.

170
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 reëel A complex
symmetrisch ∗ Eigenwaarden reëel.
∗ Eigenvectoren reëel.
T
(A = A ) ∗ 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)) reëel.
(dus alle bovenstaande eigen- ∗ Eigenvectoren niet noodza-
schappen gelden) kelijk reëel.
H T
(A = A = Ā ) ∗ Eigenvectoren bij verschillen-
de eigenwaarden zijn orthogo-
naal.
∗ A is diagonaliseerbaar.
∗ A = U · Λ · UH
(met U unitair: zie hoofdstuk
16.)

171
19.5 Eigenschappen van orthogonale en unitaire matrices
Een overzicht van de belangrijkste eigenschappen van de eigenwaarden en eigenvectoren:
A reëel A complex
orthogonaal ∗ Eigenwaarden |λ| = 1.
(A · AT = I)
∗ Eigenvectoren bij verschillende
eigenwaarden zijn orthogonaal.
unitair ∗ A is orthogonaal! ∗ Eigenwaarden |λ| = 1.
H
(A · A = I) (dus alle bovenstaande eigen- ∗ Eigenvectoren bij verschillende
schappen gelden) eigenwaarden zijn orthogonaal.

172
173
20 Lineaire Algebra Woordenlijst
A absolute value absolute waarde
addition of vectors optelling van vectoren
adjugate matrix geadjugeerde matrix
algebraic multiplicity algebraı̈sche multipliciteit
angle hoek
approximation benadering
area oppervlakte
arithmetic mean rekenkundig gemiddelde
associative associatief
average gemiddelde
axis, axes as, assen
augmented matrix uitgebreide matrix

B back-substitution terug substitutie


band matrix bandmatrix
band width bandbreedte
basis variable basis variabele
basis basis
bidiagonal bidiagonaal
block blok
boundary condition randvoorwaarde
breakdown ’t niet verder kunnen

C chain of matrices keten van matrices


change of basis basisovergang
characteristic equation karakteristieke vergelijking
characteristic polynomial karakteristiek polynoom
cofactor cofactor
column kolom
column space kolom ruimte
commutative commutatief
commute commuteren
complement complement
complex conjugate complex geconjugeerde
condition number conditie getal
cone kegel
congruence congruent
constraints voorwaarden
Cramer’s rule regel van Cramer
cross produkt uit(wendig) produkt
174
D defective defekt (dus niet diagonaliseerbaar)
degree of freedom vrijheidsgraad
dependent afhankelijk
determinant determinant
diagonalizable diagonaliseerbaar
diagonally dominant diagonaal dominant
difference equation differentievergelijking
differential equation differentiaalvergelijking
dimension dimensie
direct sum direkte som
discrete diskreet
distance afstand
distinct (eigenvalues) verschillend(e) (eigenwaarden)
distributive distributief

E echelon form trapvorm


edge rand
eigenvalue eigenwaarde
eigenvector eigenvector
elementary matrix elementaire matrix
elimination eliminatie
equilibrium evenwicht
error fout
existence bestaan

F finite eindig
forward elimination heen eliminatie
free variable vrije variabele
fundamental subspaces fundamentele deelruimten

G general solution algemene oplossing


geometric multiplicity meetkundige multipliciteit

H Hermitian matrix Hermitische matrix


homogeneous homogeen

I identity matrix eenheidsmatrix


ill-conditioned slecht geconditioneerd
inconsistent strijdig
independence onafhankelijkheid
inequality ongelijkheid
infinite-dimensional oneindig dimensionaal
inhomogeneous inhomogeen
175
inner product in(wendig) product
intersection doorsnede
inverse inverse
K kernel nulruimte

L least squares kleinste kwadraten


left-inverse linker inverse
left nullspace linker nulruimte
length lengte
linear combination lineaire combinatie
linear transformation lineaire afbeelding
lower triangular matrix benedendriehoeksmatrix
LU factorization LU-decompositie

M main diagonal hoofd diagonaal

N negative definite negatief definiet


neutrally stable neutraal stabiel
nilpotent nilpotent
node knoop
nonnegative niet negatief
nonsingular niet singulier
norm norm
normal equation normaalvergelijking
normal mode eigentoestand/eigentrilling
nullity dimensie van de nulruimte
nullspace nulruimte

O orthogonal orthogonaal
orthonormal orthonormaal
oscillation trilling
overdetermined overbepaald

P parallelepiped parallelepipedum
parentheses haakjes
particular solution particuliere oplossing
permutation permutatie
perpendicular vectors onderling loodrechte vectoren
perturbation verstoring
plane vlak
polar coordinates poolcoördinaten
polynomial polynoom
positive-definite positief-definiet
premultiplication voorvermenigvuldiging
principal axis hoofdas
projection projectie
176
Q QR factorization QR decompositie
quadratic kwadratisch

R range beeldruimte, bereik


rank rang
rectangular rechthoekig
reflection spiegeling
regression regressie
rescaling herschaling
rotation draaiing
roundoff error afrondfout
row rij
row-echelon form trapvorm
row-reduced echelon form gereduceerde trapvorm

S saddle point zadelpunt


scalar scalair
scaling schaling
Schwarz inequality ongelijkheid van Schwarz
set verzameling
shift verschuiving
sign teken
similar gelijkvormig
simultaneous gelijktijdig
singular singulier
skew-symmetric scheef-symmetrisch
slack variable spelingsvariabele
solvable oplosbaar
space ruimte
span opspansel
sparse ijl
spectral spectraal
stable stabiel
stiffness matrix stijfheidsmatrix
straight line rechte lijn
subset deelverzameling
subspace lineaire deelruimte
summation sommatie/optelling
symmetric symmetrisch

T trace spoor
transformation afbeelding
transition matrix overgangsmatrix
177
translation verschuiving
transpose getransponeerde
triangle inequality driehoeksongelijkheid
V value waarde
variable variabele
vector vector
vector equation vector voorstelling
vector space vectorruimte

W wave equation golfvergelijking


weighted gewogen
Wronskian Wronskiaan

Z zero vector nulvector

178
Index
ans, 15 matrix
afbeeldings-, 114
bases basisovergangs-, 114
geordend, 113 bovendriehoeks, 28
benadering onderdriehoeks, 28
kleinste kwadraten, 61 permutatie, 29
clear, 15 trace, 104
coördinaten, 113 NaN, 15
conjugeren, 118 norm, 99
decompositie ones, 17
eigenwaarden, 96 oplosmethoden
LU, 28 Gauss-Seidel, 45
polaire, 146 Jacobi, 45
qr, 69
determinant, 83 partial pivoting, 28
diag, 45 pi, 15
differentie.vgl. poly, 90
instabiel, 110 polynoom
neutraal stabiel, 110 karakteristiek, 90
stabiel, 110
qr, 69
eig, 96
eps, 15 rand, 17
exit, 13 rank, 56
eye, 17 RCOND, 36
rref, 46
flops, 27 ruimten
fundamentele, 56
Inf, 15
stelsel
machtsmethode, 99 inconsistent, 55
geschaald, 100 onderbepaald, 55
inverse, 101 overbepaald, 55
verschoven inverse, 102
matrices tekens
machtverheffen, 18 ‘:’, 19
optellen en aftrekken, 17 ‘;’, 14
transponeren, 18 transponeren, 118
vermenigvuldigen, 17 tril, 45

179
triu, 37

vectoren
inprodukten, 59
norm, 99
vergelijkingen
normaal-, 61

who, 15
whos, 15

zeros, 17

180

You might also like