1
21
steT3 Vlaanderen Symposium, 6 oktober 2018, Brussel
Dynamische Matrixtoepassingen Guido Herweyers
ex-docent KU-Leuven en VIVES Campus Brugge
1. Inleiding
Lineaire algebra is de sleutel tot veelzijdige dynamische toepassingen, die ten volle tot hun recht komen door gebruik van computeralgebra (CAS). Enkele voorbeelden zijn warmtetransport en het algoritme van rijherleiden bij een stelsel van lineaire vergelijkingen, het onderzoek van de convergentie van Markov ketens bij discrete dynamische systemen, matrixalgebra en cryptografie, computergraphics en lineaire transformaties, algoritmen met lukrake iteraties om fractalen te genereren, Lesliematrices en de evolutie van een populatie verdeeld in leeftijdsklassen. Vaak spelen eigenvectoren en eigenwaarden van vierkante matrices een belangrijke rol, het QR-algoritme in de numerieke wiskunde gaat op zoek naar de
eigenwaarden. We illustreren het basisprincipe van dit algoritme.
2. Warmtetransport
Bepaal de stationaire temperatuurverdeling van een dunne plaat als de temperatuur op de rand gekend is.
Stel T T T T de temperaturen in de vier inwendige punten van het volgende rooster: 1, 2, 3, 4
De waarde van Tk wordt benaderd door het gemiddelde van de temperaturen in de vier buurpunten.
Zo geldt T1
10 20 T2T4
/ 4of 4T1T2T4 30.
Het stelsel van lineaire vergelijkingen wordt
1 2 4
1 2 3
2 3 4
1 3 4
4 30
4 60
4 70
4 40
T T T
T T T
T T T
T T T
20 20
10
10
30 30
40
40
1 2
3 4
2 Rijherleiden van de uitgebreide matrix M met het TI-Nspire commando rref(m) levert de gereduceerde rijechelonvorm:
4 1 0 1 30 1 0 0 0 20
1 4 1 0 60 0 1 0 0 27.5
0 1 4 1 70 0 0 1 0 30
1 0 1 4 40 0 0 0 1 22.5
M
De oplossing is
T T T T1, 2, ,3 4
20, 27.5, 30, 22.5
.In plaats van het rref commando te gebruiken als een black box, is het leerrijk om het stelsel stap per stap op te lossen met elementaire rijoperaties:
verwissel de rijen i en j van matrix m: rowswap(m,i,j)
vermenigvuldig rij i met een niet nul constante k: mrow(k,m,i) tel k keer rij i op bij rij j: mrowadd(k,m,i,j)
Bestudeer hoe de randtemperaturen de temperaturen T T T T1, 2, 3, 4 in de inwendige punten beïnvloeden:
Voorspel en controleer Voorspel en controleer 3. Markov ketens en discrete dynamische systemen
De jaarlijkse populatiemigratie tussen drie steden wordt gegeven door de volgende figuur:
40 40
0 0
40 40
0
0
1 2
3 4
A B
C
0.8 0.2
0.2 0.1
0.1 0.3
0.5
0.2 0.6
40 40
20
20
60 60
80
80
1 2
3 4
3 Zo verhuist er jaarlijks 30% van de populatie van stad B raar A en 50% naar C.
Deze jaarlijkse migratie wordt geregeld door de migratiematrix P : van :
naar : 0.8 0.3 0.2
0.1 0.2 0.6 0.1 0.5 0.2
A B C
A
P B
C
Een kansvector is een kolomvector met positieve getallen waarvan de som 1 is.
De vierkante matrix P is een stochastische matrix : de kolommen zijn kansvectoren.
Stel dat de startobservatie gegeven wordt door de toestandsvector 0
0.4 0.5 0.1
x ; op dat ogenblik woont er
40% van de totale populatie in A, 50% in B en 10% in C.
Een Markov keten is een rij van kansvectoren
x0, x1Px x0, 2 Px x1, 3Px2, (x is de toestandsvector na k jaar). k Dit dynamisch systeem wijzigt jaar na jaar:
xk1Pxk of xk Pkx0 , met
Bestudeer de evolutie van de toestandsvectoren x0, x1 Px x0, 2 Px x1, 3 Px2,
Ga na dat deze vectoren naar een vaste vector convergeren naarmate het aantal observaties toeneemt.
Kies vervolgens een andere startvector en observeer de nieuwe rij van toestandsvectoren. Wat is je vermoeden?
Vind een evenwichtstoestandsvector q , dit is een kansvector waarvoor .
De unieke oplossing is
34 / 61 14 / 61 13 / 61
q .
Men kan aantonen (met de eigenwaarden en eigen vectoren van P) dat lim k
k x q , onafhankelijk van de toestandsvector x ! 0
Opmerking: deze eigenschap geldt voor elke reguliere stochastische matrix P, d.w.z. dat er een macht Pk bestaat met uitsluitend strikt positieve elementen (in ons voorbeeld is k 1).
Bestudeer tenslotte de evolutie van Pk, met k 0,1, 2, Er geldt dat lim k
k P
q q q .
0,1, 2,
k
P q q
4 4. Matrixalgebra en cryptografie
Cryptografie is de studie van het coderen en decoderen van geheime berichten.
Hier gebruiken we een matrix om een bericht te coderen. De ontvanger decodeert het bericht met de inverse van deze matrix. De eerste matrix is de coderende matrix en zijn inverse is de decoderende matrix.
Als voorbeeld coderen en decoderen we het bericht HELLO WORLD Stap 1
Ken een getal toe aan elke letter van het alfabet en een getal voor een spatie, bijvoorbeeld:
3 17 6 11 19 10 20 13 26 1 23 15 8
9 4 2 12 16 24 21 14 25 5 22 7 18 27
spatie
a b c d e f g h i j k l m
n o p q r s t u v w x y z
Het bericht wordt zo een rij van getallen:
H E L L O W O R L D 13 19 15 15 4 27 5 4 16 15 11 Stap 2
Genereer lukraak een coderende vierkante matrix A (bv. 3x3) en ga na dat A inverteerbaar is:
Stap 3
Omdat de coderende matrix een 3x3 matrix is verdeel je het getallenbericht 13 19 15 15 4 27 5 4 16 15 11
in een rij van 3x1 vectoren:
13 15 5 15
19 4 4 11
15 27 16 27
Het was nodig om een spatie toe te voegen op het einde van het bericht om de vector te vervolledigen.
Stap 4
Codeer het bericht door elk van de bovenstaande vectoren te vermenigvuldigen met de coderende matrix A. Construeer hiertoe de matrix B met deze vectoren als opeenvolgende kolomvectoren en bereken C=AB.
5 De kolommen van de productmatrix C leveren het gecodeerde bericht, het bericht wordt doorgezonden als de volgende rij: -45 , 46 , -182, 122 , 103 , -195 , 57 , 86 , -101, 73, 110, -216
Stap 5
Om het bericht te decoderen zal de ontvanger deze rij als een rij van 3x1 matrices noteren, deze vectoren worden de kolommen van matrix C. De decoderende matrix A1 is de inverse van de coderende matrix;
om het originele bericht te vinden berekent de ontvanger het product A C1 B:
De kolommen van B, na elkaar geschreven als een rij, leveren het originele bericht:
13 19 15 15 4 27 5 4 16 15 11 H E L L O W O R L D 5. Computergraphics en lineaire transformaties
Beschouw een figuur in het vlak , die opgebouwd is uit punten en lijnstukken die deze punten 2
verbinden. We kunnen grafisch het effect van de lineaire transformatie x Ax bestuderen, toegepast op deze figuur. Aangezien een lijnstuk dat p met q verbindt getransformeerd wordt naar het lijnstuk dat Ap met Aq verbindt volstaat het enkel de punten van de figuur te transformeren en deze te verbinden door lijnstukken.
Als de matrix fig p1
1 p2 pn
de punten van de oorspronkelijke figuur bevat, dan bevat
1 2
1 2
2 1 n n
fig A fig A p p p Ap Ap Ap de punten van de getransformeerde figuur.
Met TI-Nspire beschouwen we het effect van de horizontale afschuiving met standaardmatrix 1 2 0 1
A
op een vliegtuigje:
6 We rangschikken de punten in fig1 zodanig dat de opeenvolgende punten worden verbonden door
lijnstukken:
Men kan aantonen dat oppervlakte fig2 detA
oppervlakte fig1
, in bovenstaand voorbeeld blijft de oppervlakte dus ongewijzigd.Eenvoudige lineaire transformaties zijn:
spiegelingen t.o.v. de oorsprong of t.o.v. een rechte door de oorsprong, projecties op een rechte door de oorsprong, horizontale of verticale uitrekkingen en inkrimpingen, horizontale of verticale afschuivingen, rotaties rond de oorsprong, homothetieën met de oorsprong als centrum.
Wijzig nu matrix A en observeer het effect op de beeldfiguur fig2.
Een lineaire transformatie ligt vast door de beelden van de basisvectoren 1 1 0
e en 2 0
1
e , deze beeldenvormen de opeenvolgende kolommen van A.
7 6. Fractalen genereren
Als voorbeeld genereren we de driehoek van Sierpinski.
Werkwijze:
stel 0
0
0 0 x
y
, kies vervolgens voor n 0,1, 2, telkens lukraak uit één van de volgende drie bewerkingen:
1 1
1 2
n n
n n
x x
y y
of 1
1
1 1/ 2
0 2
n n
n n
x x
y y
of 1
1
1 0
1/ 2 2
n n
n n
x x
y y
De zo verkregen rij van punten 0 1 2
0 1 2
, , ,
x x x
y y y
convergeert naar de driehoek van Sierpinski.
Hier volgt een programma en daarnaast de grafiek van 3000 dergelijk gegenereerde punten met sierpinski(3000):
8 7. Eigenwaarden en het QR-algoritme
Twee nxn matrices A en B zijn gelijkvormig als er een inverteerbare nxn matrix P bestaat zodat APBP1. Gelijkvormige matrices hebben dezelfde eigenwaarden . De eigenwaarden van een driehoeksmatrix staan op de diagonaal.
In de numerieke wiskunde worden eigenwaarden van een vierkante matrix A niet berekend als nulpunten van de karakteristieke veelterm.
Een mogelijke werkwijze is het QR-algoritme. Dit algoritme levert een rij van matrices die allemaal
gelijkvormig zijn met A en die, onder bepaalde voorwaarden, meer en meer naar bovendriehoeksmatrices evolueren, zodat de elementen op de hoofddiagonaal de eigenwaarden van A benaderen.
Het basisprincipe van het QR-algoritme is als volgt:
de QR-ontbinding van A levert AQ R1 1, met Q1 een nxn matrix waarvoor Q Q1T 1 I of Q1T Q11, en R1een nxn inverteerbare bovendriehoeksmatrix met strikt positieve elementen op de hoofddiagonaal:
Verwissel de factoren en bereken A1 R Q1 1.
Aangezien Q1 inverteerbaar is geldt AQ R1 1Q A Q1 1 11, bijgevolg zijnA en A1 gelijkvormig.
Opnieuw ontbinden we A1 Q R2 2 om vervolgens A2 R Q2 2 te berekenen enz.
We illustreren deze werkwijze met
2 3 3
7 6 7
11 11 12 A
.
9 We stellen vast dat de diagonaalelementen convergeren naar de eigenwaarden 2, 1 en 1 van A.
Het commando eigvl(a) berekent numeriek de eigenwaarden
8. Bronnen
1. H. Anton, C. Rorres, Elementary Linear Algebra, Applications Version, John Wiley & Sons, 1991.
2. D.C. Lay, Linear Algebra and Its Applications, fifth edition, Pearson Education, 2016.
3. G. Herweyers, Vectoren en Matrixalgebra, Cahier T3 Vlaanderen nr. 13, 2007, https://resources.t3vlaanderen.be/t3-publicaties/t3-cahiers/archief/