Dominerende egenværdi. Positive matricer - Matematik og modeller ...
Dominerende egenværdi. Positive matricer - Matematik og modeller ...
Dominerende egenværdi. Positive matricer - Matematik og modeller ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Det Biovidenskabelige Fakultet<br />
<strong>Dominerende</strong> <strong>egenværdi</strong>. <strong>Positive</strong> <strong>matricer</strong><br />
<strong>Matematik</strong> <strong>og</strong> <strong>modeller</strong> 2009<br />
Henrik L. Pedersen<br />
Institut for Grundvidenskab <strong>og</strong> Miljø<br />
Web: www.matfys.kvl.dk/Mat-Model/<br />
4.5.2009<br />
Dias 1/27<br />
<strong>Dominerende</strong> <strong>egenværdi</strong><br />
Definition<br />
Lad λ1, . . . , λn være <strong>egenværdi</strong>erne for n × n matricen A (hver opskrevet<br />
et antal gange som svarer til multipliciteten). Egenværdien λ1 kaldes<br />
• dominerende, hvis |λ1| > |λi| (i = 2, . . . , n)<br />
• svagt dominerende, hvis |λ1| ≥ |λi| (i = 2, . . . , n)<br />
Sætning<br />
Lad A være en diagonaliserbar matrix som har en dominerende<br />
<strong>egenværdi</strong> λ1, med tilhørende egenvektor q1. Lad v0 ∈ Rn være vilkårlig<br />
<strong>og</strong> sæt vt = Atv0. Så findes et tal c så<br />
1<br />
vt → c q1, t → ∞<br />
λ t 1<br />
Løst sagt siger sætningen vt ≈ c λ t 1 q1 for store værdier af t<br />
4.5.2009<br />
Dias 4/27<br />
1 <strong>Dominerende</strong> <strong>egenværdi</strong><br />
2 <strong>Positive</strong> <strong>matricer</strong><br />
3 Overgangs<strong>matricer</strong><br />
4 Leslie<strong>matricer</strong><br />
4.5.2009<br />
Dias 2/27<br />
<strong>Dominerende</strong> <strong>egenværdi</strong><br />
Bevis idé<br />
Hvorfor gælder der<br />
1<br />
vt → c q1, t → ∞?<br />
λ t 1<br />
Vi har en basis bestående af egenvektorer q1, . . . , qn så. . .<br />
Divider nu med λ t 1<br />
4.5.2009<br />
Dias 5/27<br />
v0 = c1q1 + . . . + cnqn<br />
vt = A t v0 = c1λ t 1q1 + . . . + cnλ t nqn<br />
1<br />
λt λ<br />
vt = c1<br />
1<br />
t 1<br />
λt 1<br />
q1 + . . . + cn<br />
= c1q1 + . . . + cn<br />
→ c1q1 + 0<br />
λt n<br />
λt qn<br />
1<br />
t λn<br />
qn<br />
λ1
<strong>Positive</strong> <strong>matricer</strong><br />
Definition<br />
En n × n matrix A kaldes<br />
• ikke-negativ (A > 0), hvis alle elementer er ≥ 0,<br />
• positiv (A ≫ 0), hvis alle elementer er > 0.<br />
Vigtige eksempler:<br />
• Overgangs<strong>matricer</strong><br />
• Leslie<strong>matricer</strong><br />
4.5.2009<br />
Dias 7/27<br />
Vigtige typer af ikke-negative <strong>matricer</strong>:<br />
overgangs<strong>matricer</strong><br />
Definition<br />
En matrix<br />
⎛<br />
⎞<br />
p11 · · · p1n<br />
⎜<br />
P = ⎝<br />
.<br />
. ..<br />
⎟<br />
. ⎠<br />
pn1 · · · pnn<br />
er en overgangsmatrix hvis pij ≥ 0 <strong>og</strong> summen af alle elementer i hver<br />
søjle er lig 1<br />
Bemærk<br />
• Ofte fortolkes pij som sandsynligheden for overgang fra tilstand j til<br />
tilstand i.<br />
• At summen af alle tallene i søjle j er 1 betyder at overgangen fra<br />
tilstand j skal ske til en af de mulige tilstande 1, . . . , n.<br />
4.5.2009<br />
Dias 10/27<br />
Perron-Frobenius sætning<br />
Sætning: Perron-Frobenius<br />
PF 1 Hvis A er positiv så har A en positiv <strong>og</strong> dominerende <strong>egenværdi</strong><br />
λ1 med en tilhørende positiv egenvektor q1. Endvidere gælder: for<br />
given v0 findes der et tal c så<br />
1<br />
λ t 1<br />
vt = 1<br />
λt A<br />
1<br />
t v0 → c q1<br />
t → ∞<br />
PF 2 Hvis A er ikke-negativ så har A en ikke-negativ <strong>og</strong> svagt<br />
dominerende <strong>egenværdi</strong> λ1 med en tilhørende ikke-negativ<br />
egenvektor q1<br />
PF 3 Hvis A > 0 <strong>og</strong> der findes m så A m ≫ 0, så gælder konklusionerne<br />
i PF 1 om A.<br />
Pointer i forhold til tidligere sætning<br />
I PF 1 <strong>og</strong> PF 3 er λ1 som q1 positive; A behøver ikke at være<br />
diagonaliserbar<br />
4.5.2009<br />
Dias 8/27<br />
Eksempel: epidemimodellen<br />
• A er en overgangsmatrix.<br />
• Første søjle i A indeholder sandsynlighederne for at en rask forbliver<br />
rask, bliver syg, dør eller bliver helbredt.<br />
• A havde <strong>egenværdi</strong>erne 0.7, 0.8 <strong>og</strong> 1 (dobbeltrod).<br />
• λ1 = 1 er en positiv <strong>og</strong> svagt dominerende <strong>egenværdi</strong>.<br />
• Egenvektorer til <strong>egenværdi</strong>en 1 er alle vektorer af formen<br />
⎛ ⎞ ⎛ ⎞<br />
0 0<br />
⎜<br />
s ⎜0⎟<br />
⎜<br />
⎟<br />
⎝1⎠<br />
+ t ⎜0<br />
⎟<br />
⎝0⎠<br />
0 1<br />
=<br />
⎛ ⎞<br />
0<br />
⎜<br />
⎜0<br />
⎟<br />
⎝s⎠<br />
, s, t ∈ R<br />
t<br />
Spørgsmål<br />
• Er 1 altid en <strong>egenværdi</strong> for en overgangsmatrix?<br />
• Er 1 (svagt) dominerende?<br />
4.5.2009<br />
Dias 11/27
Overgangsmatrix<br />
Sætning<br />
Lad P være en overgangsmatrix.<br />
• λ = 1 er en svagt dominerende <strong>egenværdi</strong> for P<br />
• Hvis der findes m så P m ≫ 0, så findes for given v0 et c sådan at<br />
der gælder<br />
vt = P t v0 → c q,<br />
Bemærk<br />
hvor q er en egenvektor hørende til <strong>egenværdi</strong>en 1<br />
• Lad q være en egenvektor hørende til <strong>egenværdi</strong>en 1. Da gælder<br />
Pq = q.<br />
• Egenvektoren q er altså en ligevægt for matricen.<br />
• Sætningen medfører derfor<br />
Enhver overgangsmatrix har en ligevægt!<br />
4.5.2009<br />
Dias 12/27<br />
Lesliematrix<br />
Sætning<br />
Lad M være en (n + 1) × (n + 1) Leslie-matrix. Da gælder<br />
M n+1 ≫ 0.<br />
Dermed har M en positiv dominerende <strong>egenværdi</strong> λ1, en positiv<br />
egenvektor q1, <strong>og</strong> for given v0 findes der c så der gælder (med<br />
vt = M t v0)<br />
1<br />
λt vt → c q1 t → ∞ rettet den 30.4!<br />
1<br />
Mål<br />
Vi vil illustrere resultaterne om dominerende <strong>egenværdi</strong> ved at gennemgå<br />
to konkrete eksempler på <strong>modeller</strong> med aldresopdelt populationsvækst<br />
med brug af R.<br />
4.5.2009<br />
Dias 15/27<br />
Vigtige typer af ikke-negative <strong>matricer</strong>:<br />
Leslie<strong>matricer</strong><br />
Definition: Lesliematrix<br />
Matricen M er en Lesliematrix hvis<br />
⎛<br />
b0<br />
⎜p0<br />
⎜<br />
M = ⎜ 0<br />
⎜<br />
⎝ .<br />
b1<br />
0<br />
p1<br />
.<br />
· · ·<br />
· · ·<br />
· · ·<br />
. ..<br />
bn−1<br />
0<br />
0<br />
.<br />
⎞<br />
bn<br />
0 ⎟<br />
0 ⎟<br />
. ⎠<br />
0 0 · · · pn−1 pn<br />
hvor b0, . . . , bn, p0, . . . , pn−1 er positive tal <strong>og</strong> pn ≥ 0<br />
Bemærk Disse <strong>matricer</strong> optræder i forbindelse med aldersopdelt<br />
populationsvækst. Da kaldes tallene b0, . . . , bn fødselsrater <strong>og</strong> p0, . . . , pn<br />
kaldes overlevelsesrater.<br />
4.5.2009<br />
Dias 14/27<br />
Aldersopdelt populationsvækst<br />
I en dyrepopulation opdeles hunnerne efter alder i n + 1 klasser<br />
⎛<br />
⎜<br />
vt = ⎜<br />
⎝<br />
x0,t<br />
x1,t<br />
.<br />
⎞<br />
⎟<br />
⎠<br />
antal 0 årige i år t<br />
antal 1 årige i år t<br />
.<br />
antal ≥ n årige i år t<br />
xn,t<br />
Fødselsrater Overlevelsesrater<br />
0 årige får b0 hununger 0 årige har sandsynlighed p0 for at overleve<br />
1 årige får b1 hununger 1 årige har sandsynlighed p1 for at overleve<br />
.<br />
.<br />
n årige får bn hununger n årige har sandsynlighed pn for at overleve<br />
4.5.2009<br />
Dias 16/27
Fra et år til det næste<br />
x0,t+1 = b0x0,t + b1x1,t + . . . + bn−1xn−1,t + bnxn,t<br />
x1,t+1 = p0x0,t<br />
x2,t+1 = p1x1,t<br />
.<br />
xn,t+1 = pn−1xn−1,t + pnxn,t.<br />
Ligninger på matrixform vt+1 = Mvt, hvor<br />
⎛<br />
b0<br />
⎜p0<br />
⎜<br />
M = ⎜ 0<br />
⎜<br />
⎝ .<br />
b1<br />
0<br />
p1<br />
.<br />
· · ·<br />
· · ·<br />
· · ·<br />
. ..<br />
bn−1<br />
0<br />
0<br />
.<br />
⎞<br />
bn<br />
0 ⎟<br />
0 ⎟<br />
. ⎠<br />
4.5.2009<br />
Dias 17/27<br />
0 0 0 pn−1 pn<br />
Eksempel 1: fremskrivning i modellen,<br />
R-kode<br />
> M v0 V v V[1,4]/V[1,3]<br />
[1] 2.49901<br />
4.5.2009<br />
Dias 19/27<br />
Eksempel 1: To aldersklasser<br />
• x0,t: antal 0-årige hunkaniner i år t<br />
• x1,t: antal (mindst) 1-årige hunkaniner i år t<br />
Model <br />
x0,t+1 2.0 1.5 x0,t<br />
=<br />
0.7 0.4<br />
dvs. vt+1 = Mvt med<br />
Mål<br />
Illustrere resultatet<br />
4.5.2009<br />
Dias 18/27<br />
M =<br />
1<br />
λ t 1<br />
x1,t+1<br />
<br />
2.0<br />
<br />
1.5<br />
0.7 0.4<br />
<strong>og</strong> vt =<br />
vt = 1<br />
λt M<br />
1<br />
t v0 → c q1<br />
x1,t<br />
x0,t<br />
x1,t<br />
<br />
t → ∞<br />
> # udregning af succesive kvotienter ved for-loekke<br />
> for (k in 1:6) {print(V[1,k+1]/V[1,k])}<br />
[1] 2<br />
[1] 2.525<br />
[1] 2.49901<br />
[1] 2.500040<br />
[1] 2.499998<br />
[1] 2.5<br />
> # alternativ udregning af succesive kvotienter, foerste koordinat<br />
> V[1,(2:7)]/V[1,(1:6)]<br />
[1] 2.000000 2.525000 2.499010 2.500040 2.499998 2.500000<br />
> # udregning af succesive kvotienter, begge koordinater<br />
> V[,(2:7)]/V[,(1:6)]<br />
[,1] [,2] [,3] [,4] [,5] [,6]<br />
[1,] 2 2.525 2.499010 2.500040 2.499998 2.500000<br />
[2,] Inf 2.400 2.504167 2.499834 2.500007 2.500000<br />
> eigen(M)$values<br />
[1] 2.5 -0.1<br />
4.5.2009<br />
Dias 20/27
# udregning af forholdene mellem foerste <strong>og</strong> anden koordinater<br />
> V[1,]/V[2,]<br />
[1] Inf 2.857143 3.005952 2.999762 3.000010 3.000000 3.000000<br />
> eigen(M)$vectors<br />
[,1] [,2]<br />
[1,] 0.9486833 -0.5812382<br />
[2,] 0.3162278 0.8137335<br />
> # normalisering af egenvektor, andenkoordinat lig med 1<br />
> eigen(M)$vectors[1,1]/eigen(M)$vectors[2,1]<br />
[1] 3<br />
><br />
4.5.2009<br />
Dias 21/27<br />
Tilnærmelse til dominerende <strong>egenværdi</strong> <strong>og</strong><br />
egenvektor vha fremskrivninger<br />
• Lad v0 = (x0,0, x1,0, . . . , xn,0) ⊤<br />
• Beregn vt = (x0,t, x1,t, . . . , xn,t) ⊤ vha vt = M t v0 (<strong>og</strong> vha R)<br />
• Hvad betyder resultatet 1<br />
λt vt → c q1?<br />
1<br />
Konsekvens 1 Tilnærmelser til dominerende <strong>egenværdi</strong><br />
x0,t+1<br />
x0,t<br />
λ1,<br />
x1,t+1<br />
x1,t<br />
λ1, . . . , xn,t+1<br />
xn,t<br />
λ1<br />
for store værdier af t.<br />
Konsekvens 2 Tilnærmelser til en tilhørende egenvektor q1 kan fås ved<br />
at “normere” vt; f.eks. ved dividere med den sidste koordinat:<br />
x0,t<br />
xn,t<br />
for store værdier af t.<br />
4.5.2009<br />
Dias 23/27<br />
, . . . , xn−1,t<br />
T , 1 =<br />
xn,t<br />
1<br />
vt q1<br />
xn,t<br />
Eksempel 1: Konklusioner<br />
• Det ser ud til at vt+1 ≈ 2.5 vt for store værdier af t (vækstraten i<br />
det lange løb er 2.5)<br />
• Det ser <strong>og</strong>så ud til at x0,t<br />
3 for store værdier af t (fordelingen<br />
x1,t<br />
mellem klasserne i det lange løb er tre gange så mange unge som<br />
gamle)<br />
• Den dominerende <strong>egenværdi</strong> for M er 2.5 <strong>og</strong> 3<br />
1 er en tilhørende<br />
egenvektor<br />
Hvad får vi ud af resultatet<br />
4.5.2009<br />
Dias 22/27<br />
1<br />
vt → c q1; i dette tilfælde<br />
λ t 1<br />
x0,t+1<br />
x0,t<br />
x0,t<br />
x1,t<br />
t+1<br />
x0,t+1/2.5<br />
= 2.5<br />
x0,t/2.5t = x0,t/2.5 t<br />
1<br />
2.5 t vt → c<br />
<br />
3<br />
?<br />
1<br />
→ 2.5c3 = 2.5, t → ∞<br />
c3<br />
c3 3<br />
→ = = 3, t → ∞<br />
x1,t/2.5t c1 1<br />
Eksempel 2: Tre aldersklasser<br />
• x0,t: antal 0-årige hunkaniner i år t<br />
• x1,t: antal 1-årige hunkaniner i år t<br />
• x2,t: antal 2-årige hunkaniner i år t<br />
• ingen ældre kaniner<br />
Aldersspecifikke fødselsrater b0 = 0.4, b1 = 1.1, b2 = 0.6<br />
Aldersspecifikke overlevelsesrater p0 = 0.8,<br />
Fører til modellen vt+1 = Mvt med<br />
p1 = 0.5, p2 = 0<br />
⎛<br />
0.4<br />
M = ⎝0.8<br />
1.1<br />
0<br />
⎞<br />
0.6<br />
0 ⎠ <strong>og</strong><br />
⎛ ⎞<br />
x0,t<br />
vt = ⎝x1,t⎠<br />
0 0.5 0<br />
4.5.2009<br />
Dias 24/27<br />
x2,t
Eksempel 2: fremskrivning i modellen,<br />
R-kode<br />
> N M v0 V v eigen(M)$vectors[,1]/eigen(M)$vectors[3,1]<br />
[1] 3.932598+0i 2.508417+0i 1.000000+0i<br />
><br />
# bestemmelse af egenvektor<br />
# ved forholdet mellem 1., 2. <strong>og</strong> 3. koordinater<br />
> for (k in (1:N)) {print(V[,k]/V[3,k])};<br />
[1] Inf NaN NaN<br />
[1] Inf Inf NaN<br />
[1] 2.6 0.8 1.0<br />
[1] 6.3 5.2 1.0<br />
[1] 3.400000 1.938462 1.000000<br />
[1] 4.222222 2.806349 1.000000<br />
[1] 3.831222 2.407240 1.000000<br />
[1] 3.971729 2.546466 1.000000<br />
[1] 3.919003 2.495524 1.000000<br />
[1] 3.937191 2.512661 1.000000<br />
><br />
4.5.2009<br />
Dias 26/27