Professional Documents
Culture Documents
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
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
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
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
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
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
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
* elementaire matrices
* partitioneren
* simultaan vegen
* 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
* Rn
* dimensie
9
* rijenruimte R(AT ) (Eng.: rowspace)
* dimensiestelling
* regressie-modellen
* Gram-Schmidt proces
* QR-decompositie
10
2.10 Eigenwaarden en eigenvectoren 1, zie Hoofdstuk 12.
* eigenwaarde
* eigenvector
* karakteristiek polynoom
* karakteristieke vergelijking
* diagonaliseerbare matrix
* instabiel/neutraal stabiel/stabiel
* iteratie-rijen
* 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
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.
Starten kan op verschillende systemen verschillend zijn ingericht. Voor het practicum Lineaire
Algebra gebeurt dit met het commando:
MATLAB
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):
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:
A = [1 2 3; 4 5 6; 7 8 9]
of
A = [1, 2, 3; 4, 5, 6; 7, 8, 9]
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.:
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:
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)
Opdracht: Voer met behulp van bovenstaande commando’s de volgende matrices in:
a. De 6 bij 6 eenheidsmatrix.
b. De 5 bij 10 nulmatrix.
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]
x0
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
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:
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.
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
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
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):
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
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
c. Bereken:
en
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. 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
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
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:
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
[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.
Ax = b
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:
A=L∗U
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
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
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.
A = rand(5) en B = rand(5)
A = rand(5) , B = rand(5)
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]
31
a. Bepaal de productmatrices A · X1 en A · X2 alsmede A · X3.
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
Ax = bi ; (i = 1, 2, 3, 4)
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?
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:
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.
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 )
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
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.
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.
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?
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
(zieparagraaf 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
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.
– 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.
– 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.
noemen we positief-definiet.
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
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.
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.
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!
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).
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:
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.
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.
(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?
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
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.
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).
51
Dus op dit moment is de nieuwe benadering (0.7692,0,0).
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:
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
52
6.7.5 methode van Jacobi
Bij de methode van Jacobi geldt nu:
(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
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.
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.
S(x − xk+1 ) = T (x − xk ) .
Voor de fouten ek = x − xk geldt dus
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.
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.
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:
Er geldt zelfs:
rank(A) .
λ1 v 1 + λ2 v 2 + λ3 v 3 + λ4 v 4 = 0 .
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 .
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
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
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.
AT A is positief definiet
Gevolgen:
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.
61
2
4
Zo voegt A = [A, [2 4 − 7 7]0 ] aan de oorspronkelijke matrix A de kolom
− 7 toe.
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.?
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. —
Opmerking: In week 7 zullen we afleiden onder welke voorwaarden beide vectoren gelijk zijn!
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
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.
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
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
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).
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 .
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)
x3 = R\(Q0 ∗ b)
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.).
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).
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
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
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
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 ?
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 .
– 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.
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
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 =
>> [QQ,RR]=qr(A’)
QQ = RR =
A =
1 1 2
1 2 3
5 3 7
>> [Q,R]=qr(A)
Q = R =
>> [QQ,RR]=qr(A’)
QQ = RR =
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 =
>> [QQ,RR]=qr(A’)
QQ = RR =
1 1 2
1 2 3
1 1 2
1 2 3
>> [Q,R]=qr(A)
Q = R =
>> [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
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)
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!
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
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 :
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:
overige elementen: 0
In MATLAB voor bv. n = 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
87
In MATLAB voor bv. n = 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!
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.
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)
eye (A)
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
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.
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
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 .
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):
In het vervolg zullen we met dit commando de eigenwaarden en eigenvectoren van een matrix
bepalen.
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
97
c. Geef, binnen MATLAB, het commando: format long waardoor resultaten met 15
ipv. 5 cijfers op het scherm weergegeven worden.
d. Geef, binnen MATLAB, het commando: format short waardoor resultaten weer met
5 cijfers op het scherm weergegeven worden.
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.
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
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:
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.
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:
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.
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 .
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.
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.
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
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λ
= −λ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.
−λ2 + 12λ − 32 = 0
104
en zijn: λ = 4 en λ = 8.
Daarmee is een opsplitsing van de karakteristieke vergelijkingen in factoren van graad 1 mogelijk:
– ’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.
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:
13.3.6 Eigenwaarden-decompositie
Als de matrix A diagonaliseerbaar is, bestaat er een eigenwaarden-decompositie:
A = S ΛS−1
A = S Λ S−1
107
c · A: cA = S (cΛ)S−1
Ak , k ∈ N: Ak = SΛk S−1
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
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 → ∞ .
uk = u0 (k ∈ N) .
– 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.
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:
of:
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:
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
uk+1 = Auk
Uit de eerste component van deze vector uk blijkt dan de algemene vorm voor een term uit de rij
ak :
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
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.
xB = EB · xE
en
xE = B E · xB
113
De omzetting de andere kant op, van xB naar xE , heeft als schematische voorstelling:
xB xE = BE · xB-
- BE
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
115
a. Bepaal de nulruimte van de matrix A(B) en daaruit de nulruimte
van de afbeelding A.
116
c. Bepaal het beeld van x = (1, 2, 3)T .
d. Bepaal de eigenwaarden en eigenvectoren van deze lineaire afbeelding S.
0 0 0 1
b1 = (1, 1, 1, 1)T , b2 = (1, −1, 0, 0)T , b3 = (1, 0, −1, 0)T , b4 = (1, 0, 0, −1)T
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
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
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
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
120
5. Beschouw de lineaire afbeelding P : R3 → R3 met als voorschrift:
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
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.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:
λ − 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:
124
met reële coëfficiënten p0 t/m pn geldt:
p(z) = p(z̄)
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!
Hiervoor geldt:
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.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
1
E−1/2 =< 0 > (geometrische multipliciteit : 1)
−2
– 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
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
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):
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:
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:
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!
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 )
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!)
[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.
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.
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
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 .
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.
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 .
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
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:
A = Q1 · Σ · QT
2
volgt:
AT · A = (Q1 · Σ · QT T T T T
2 ) · (Q1 · Σ · Q2 ) = Q2 · Σ · Σ · Q2 .
A = Q1 · Σ · QT
2
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.
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
Daarmee wordt:
√ √
1/3 −2/√ 5 −2/√45
Q1 = 2/3 1/ 5 −4/√ 45
2/3 0 5/ 45
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!
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!
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.
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.
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
– 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!
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
A = Q1 · Σ · QT
2.
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
17.4.15 Toepassing
Een concrete toepassing voor de wijze van benadering is onder andere te vinden bij de beeldver-
werking.
A=Q·S
A = (Q1 · QT T
2 ) · (Q2 · Σ · Q2 ) = Q · S
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
147
17.4.17 Toepassing: pseudo-inverse
Definitie: De pseudo-inverse van een m bij n diagonale matrix
σ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.
Σ+ = Σ−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
Σ+ = (Σ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!
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
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
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 .
152
18 Extra opgaven
De extra opgaven, Eerst met de hand en dan pas met Matlab!
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?
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
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 β.
1 12 31
A= 1 1 1 2 3 4
1 1 1
3 4 5
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.
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
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
3x1 + 2x2 = 5 21
2x1 + 4x2 = 9 .
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?
156
a. Bepaal uit deze gegevens de oorspronkelijke vector a4 .
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 > ?
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
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λ
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?
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→∞
−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. Wat volgt uit deze gegevens direct over de eigenwaarden en bijbehorende eigenvec-
toren van A4 ?
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 .
A(x) = p1 + 12 p2
162
c. Bepaal de matrixvoorstelling A5 van deze afbeelding t.o.v. de standaardbasis.
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 .
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 .
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
1 √1 1
c= 3
+ 6
− √
3 2
164
A ∗ A0 :
1.0000 0.0000 0.0000
0.0000 1.0000 0.0000
0.0000 0.0000 1.0000
0.70710 + 0.7071i00
D = 00.7071 − 0.7071i0
001.0000
a. Ga na dat de lineaire afbeelding A orthogonaal is.
165
MATLAB levert over A de volgende informatie:
A ∗ A0 :
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.
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.
A = (−1 2 2)
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?
5. Beschouw de matrix:
0.0937 0.9836 1.1710
A = 0.0171 0.2710 0.2048
0.2972 2.9195 3.7370
168
7. Beschouw nogmaals de matrix uit opgave E6.4:
1 −1
A= 1 0
1 1
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
AO = O A+O=A
AI = A
IA = A
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)⊥.
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
F finite eindig
forward elimination heen eliminatie
free variable vrije variabele
fundamental subspaces fundamentele deelruimten
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
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
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