-
Något om Matriser och MathematicaBertil Nilsson2020-08-15
Denna väntan varje jul xi 11 11 2 xi mod 1
x169 x170 x171 x172 x173 x174
x156 x157 x158 x159 x160 x161 x162 x163 x164 x165 x166 x167
x168
x143 x144 x145 x146 x147 x148 x149 x150 x151 x152 x153 x154
x155
x130 x131 x132 x133 x134 x135 x136 x137 x138 x139 x140 x141
x142
x117 x118 x119 x120 x121 x122 x123 x124 x125 x126 x127 x128
x129
x104 x105 x106 x107 x108 x109 x110 x111 x112 x113 x114 x115
x116
x91 x92 x93 x94 x95 x96 x97 x98 x99 x100 x101 x102 x103
x78 x79 x80 x81 x82 x83 x84 x85 x86 x87 x88 x89 x90
x65 x66 x67 x68 x69 x70 x71 x72 x73 x74 x75 x76 x77
x52 x53 x54 x55 x56 x57 x58 x59 x60 x61 x62 x63 x64
x39 x40 x41 x42 x43 x44 x45 x46 x47 x48 x49 x50 x51
x26 x27 x28 x29 x30 x31 x32 x33 x34 x35 x36 x37 x38
x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12
HH/ITE/BN Matriser och Mathematica 1
-
Förord
På följande sidor presenteras en elementär “streetwise guide”
till matriser med flitig användning av Mathematica. Framställningen
ärfåordig, fri från pedanteri men i någon mening fullständig. Det
man väsentligen behöver veta om begrepp, terminologi,
beteckningaroch teori för att modellera och lösa problem i framtida
kurser och yrkesliv som ingenjör, naturvetare eller lärare
klarläggs ochtypiska exempel ges.
Matrisbegreppet
En uppsättning av element, oftast vanliga tal, ordnade
“rektangulärt” i rader och kolonner kallas för en matris. En sådan
betecknasnästan alltid med stora “feta” bokstäver, t.ex. . Om en
matris innehåller m rader och n kolonner säger vi att den är av
“typen mgånger n” och skriver typ m n. Inte sällan brukar man
dekorera matrisens namn med ett index som förtydligar dess typ, m
n.Elementen i matrisen anges sedan med motsvarande “lilla” bokstav
och ett index som talar om dess position. Exempelvis har vi
enmatris med m rader och n kolonner
m n aijm na11 a12 a1na21 a22 a2n
am1 am2 amn
Elementet aij är elementet i i:te raden och j:te kolonnen räknat
uppifrån respektive från vänster. Man säger att element aij
befinnersig på plats i, j . Ofta ser man att elementet också
refereras med skrivsättet ij vilket är inspirerat av att matrisen
ibland skrivs ut ifull form med hakparenteser [] istället för runda
().
Exempel: För matrisen
3 2
2 51 3
7 2
gäller att typ 3 2 eftersom den har 3 rader och 2 kolonner.
Vidare är exempelvis elementen a21 1 och a32 2.
Definition. Två matriser och för vilka typ m n och typ m n ,
säges vara av samma typ om m m och n n . Detta skrivs typ typ ,
annars typ typ .
Exempel: Antag att och är matriser sådana att typ 4 2 och typ 2
4. Då har båda matriserna 4 2 8 element, men de ärinte av samma
typ, det vill säga typ typ .
Om en matris har lika många rader som kolonner, det vill säga n
n, kallas den av naturliga skäl kvadratisk. Sådana är mycketvanliga
i tillämpningar, vilket vi får anledning att återkomma till. En
matris som består av endast en rad kallas av uppenbara skäl fören
radmatris eller radvektor och en matris som består endast av en
kolonn för en kolonnmatris eller kolonnvektor. Slutligenfaller det
sig då naturligt att ibland tolka en matris av typen 1 1 som en
skalär eller ett tal. Denna dualitet med lite liberalare syn
påtyperna gör att räkningarna “flyter” på lite enklare i löpande
text. Men när man genomför beräkningar måste man vara på sin
vakt.
I Mathematica skrivs feta bokstäver, t.ex. A eller , med “fet”
font respektive dsA , där ds står för double-struck.
Författarenbrukar vara konsekvent och använda det senare både i
Mathematica och för hand. Det går naturligtvis lika bra att använda
vanligatecken! Internt i Mathematica sparas en matris radvis som en
vektor med vektorer men presenteras på den form vi känner igen
frånovan. För att mata in en matris föreslås att man börjar med ny
matris i paletten varefter man mekar om till rätt typ och fyller i
sina
element enligt nedan. Samma gäller naturligtvis för redigering
av redan befintlig matris, se nedan. Om man inte får snygga i
output cellerna, utan , , , , så ändra i Format>Option
Inspector>”Show option values”>Global Preferences>Cell
Option-s>New Cell Defaults>CommonDefaultFormatTypes “Output”
till TraditionalForm. Det gäller nu för gott på din dator. Om
duanvänder Mathematica 11.1 eller tidigare så
Edit>Preferences>Evaluation>Format type of output
cells>TraditionalForm.
Ny matris från palette:
Ny rad under markörens läge: Ny rad ett: ställ markören till
vänster om a11 och
Ny kolonn till höger om markörens läge: , Ny kolonn ett: ställ
markören till vänster om a11 och ,Hoppa till nästa : Ta bort hel
rad kolonn: svärta med markören, sedan
2 Matriser och Mathematica HH/ITE/BN
-
Så när som vissa funktionsnamn ansluter sig Mathematica väldigt
smidigt till definitionerna i matrisalgebra.
4 3 1
1 5 2;
Dimensions
2, 3
Att välja ut ett eller flera element ur matrisen brukar kallas
att indexera. Detta anges med dubbla hakparenteser [[...]]. De
tvåhakparenteserna kan göras lite kompaktare med och , vilket
använts i exemplen nedan.
2, 3 Hämta element a23
2
2, All Hämta rad 2
1, 5, 2
All, 3 Hämta kolonn 3
1, 2
2, 3, 1 Hämta delmatris a23 a21 i denna ordning
2, 1
1, 2 , 3, 1 Hämta delmatris a13 a11a23 a21
1 42 1
1, 3 7 Tilldela element a13 nytt värde
7
4 3 71 5 2
1, 2 , 3, 2100 200
300 400Tilldela delmatrisen a12 a13
a22 a23 nya värden
100 200300 400
4 200 1001 400 300
Likhet för matriser
Definition. Två matriser och säges vara lika, vilket skrivs , om
de är av samma typ och elementen på motsvarandeplatser i de båda
matriserna är lika, det vill säga aij bij för alla förekommande i
och j. Om dessa villkor inte är uppfyllda sägervi att matriserna är
olika och skriver .
Exempel: Matriserna
2 32 5 71 3 2
och 2 32 5 71 3 2
uppfyller uppenbarligen kraven för likhet så vi kan skriva . I
Mathematica används naturligtvis två likhetstecken!
2 5 7
1 3 2
2 5 7
1 3 2
True
HH/ITE/BN Matriser och Mathematica 3
-
Nollmatris
Definition. Om samtliga element i en matris är 0 kallas matrisen
för nollmatris och reserverar namnet för denna. Notera att detfinns
oändligt med nollmatriser, en för varje typ.
Exempel: Matriserna
3 2
0 00 00 0
och 2 20 00 0
är exempel på nollmatriser, men 3 2 2 2 eftersom de är av olika
typ.
Addition och subtraktion av matriser
Definition. Antag att och är två matriser av samma typ. Med
summan av och , betecknat , menas den matris förvilken typ typ typ
och cij aij bij för alla förekommande i och j.
Addition sker alltså elementvis vilket kräver att matriserna
måste vara av samma typ. Så med
m n
a11 a12 a1na21 a22 a2n
am1 am2 amn
och m n
b11 b12 b1nb21 b22 b2n
bm1 bm2 bmn
har vi
m n m n m n
a11 b11 a12 b12 a1n b1na21 b21 a22 b22 a2n b2n
am1 bm1 am2 bm2 amn bmn
m n m n
Exempel: Följande kalkyl går tydligen bra. Inte fel att använda
stödlinjer när man “räknar”...
2 5 41 3 0
1 2 211 8 7
2 1 5 2 4 21 11 3 8 0 7
3 7 210 11 7
2 5 4
1 3 0
1 2 2
11 8 7
3 7 210 11 7
Räknelagar: Om , , och är matriser av samma typ gäller 1
kommutativa lagen2 associativa lagen3
Subtraktion av matriser får vi nu odramatiskt genom att snegla
på addition ovan och byta alla “+“ till “ ”.
Definition. Antag att och är två matriser av samma typ. Med
subtraktion mellan och , betecknat , menas denmatris för vilken typ
typ typ och cij aij bij för alla förekommande i och j. Som vanligt
är subtraktion inte kommuta-tiv, det vill säga .
m n m n m n
a11 b11 a12 b12 a1n b1na21 b21 a22 b22 a2n b2n
am1 bm1 am2 bm2 amn bmn
m n m n
4 Matriser och Mathematica HH/ITE/BN
-
Exempel: Följande kalkyl går tydligen bra
2 5 41 3 0
1 2 211 8 7
2 1 5 2 4 21 11 3 8 0 7
1 3 612 5 7
2 5 4
1 3 0
1 2 2
11 8 7
1 3 612 5 7
Multiplikation av matris med en skalär
Definition. Med produkten av skalären s och matrisen , betecknat
s , menas den matris för vilken typ s typ ochs ij s ij för alla
förekommande i och j.
Detta betyder helt enkelt att varje element i multipliceras med
s och resultatet ärver typen från .
m n s m n s
a11 a12 a1na21 a22 a2n
am1 am2 amn
sa11 sa12 sa1nsa21 sa22 sa2n
sam1 sam2 samn
m ns
Exempel: Dé blir bara svårare och svårare
3 2 5 41 3 0
3 2 3 5 3 43 1 3 3 3 0
6 15 123 9 0
32 5 4
1 3 0
6 15 123 9 0
Räknelagar: Om , är matriser av samma typ och s och t
godtyckliga tal gäller 1 s s s distributiva lagen2 s t s t
distributiva lagen3 s t t s st associativa lagen
Multiplikation av matriser
Matrismultiplikation är något mer komplicerad än de nästan
självklara operationer vi har sett hittills. Den är dock vald med
omsorgför att vara så användbar som möjligt i diverse
tillämpningar.
Definition. Multiplikation av och , skrivet utan
multiplikationstecken, är tillåtet endast då antalet kolonner i är
lika med antalet rader i . Resultatet blir då en ny matris som
ärver antalet rader från och antalet kolonner från . Alltså
matris-multiplikationen
m p q n m n är utförbar endast om p q. Elementet cijk 1
paikbkj
Elementet cij fås alltså som skalärprodukten mellan den i:te
raden i och den j:te kolonnen i , vilket förklarar att antalet
kolonner i måste vara lika med antalet rader i .
Matrismultiplikation är i allmänhet inte kommutativ, det vill säga
. I konstruktio-
nen säger vi att eftermultipliceras av och omvänt att
förmultipliceras av .
Exempelvis bestämning av elementet c32 vid eftermultiplikation
av en 4 3-matris med en 3 2-matris. Lägg märke till typerna
försåväl och som resultatmatrisen .
HH/ITE/BN Matriser och Mathematica 5
-
a31 a32 a334 3
b12b22b32 3 2
a31b12 a32b22 a33b324 2
Exempel: Låt
2 36 4 13 5 2
och 3 27 45 83 6
så har vi
2 2 2 3 3 2
6 4 13 5 2 2 3
7 45 83 6 3 2
6 7 4 5 1 3 6 4 4 8 1 63 7 5 5 2 3 3 4 5 8 2 6 2 2
59 1410 40 2 2
eller
3 3 3 2 2 3
7 45 83 6 3 2
6 4 13 5 2 2 3
7 6 4 3 7 4 4 5 7 1 4 25 6 8 3 5 4 8 5 5 1 8 2
3 6 6 3 3 4 6 5 3 1 6 2 3 3
30 48 154 20 210 42 9 3 3
Vi ser att trots att båda multiplikationerna i just detta fall
är tillåtna. De får ju inte ens samma typ.
Matrismultiplikation i Mathematica anges med vanlig punkt likt
skalärprodukt mellan vektorer (som ju faktiskt är lite
inblandad).Observera att punkten inte får utelämnas eftersom detta
tolkas som elementvis listmultiplikation, det vill säga cij aijbij.
Vi provkörmed matriserna i föregående exempel.
6 4 1
3 5 2;
7 4
5 8
3 6
;
.
59 1410 40
.
30 48 154 20 210 42 9
Avslutningsvis poängteras ännu en gång att faktorernas ordning i
produkten är väsentlig, det vill säga är något helt annat än.
Eftersom multiplikation av matriser är definierad endast om antalet
kolonner i den första matrisen är lika med antalet rader i den
andra så är det inte säkert att produkten är definierad även om
är det. Om både och är definierade behöver de ändåinte vara lika.
Ett fall då båda produkterna och alltid är definierade är då och
båda är kvadratiska matriser av samma typ.
behöver dock inte heller i detta fall vara lika med .
Räknelagar: Om , och är matriser gäller under förutsättning att
ingående operationer är tillåtna 1 C distributiva lagen2
distributiva lagen3 associativa lagen
6 Matriser och Mathematica HH/ITE/BN
-
Matristransponering
Definition. Den matris som bildas av en given matris om man
låter rader och kolonner byta roller (det vill säga raderna görs
till kolonner och tvärtom), kallas transponatet till och betecknas
med , vilket utläses “A-transponat”. Om typ m n, så är alltså typ n
m.
I Mathematica finns Transpose, vilket också kan skrivas lite
kompaktare som tr direkt efter matrisen med ett litet dekorativt“ ”
som resultat. Detta ska inte förväxlas med “ upphöjt till T”;
T.
2 5 4
1 3 0
2 15 34 0
I ingenjörslitteratur ser man ofta skalärprodukt mellan två
vektorer skriven som . Detta grundar sig på att vektorer då
ömsombetraktas som kolonnmatriser. Exempelvis får vi med god
kontroll över ingående typer
213 3 1
11
2 3 1
2 1 3 1 3
11
2 3 1
2 1 1 1 3 2 1 1 7 1 1
För att det ska bli just en skalärprodukt är det nu naturligt
att betrakta den sista matrisen med en rad och en kolonn som en
skalär, detvill säga ett tal. Det finns uppenbara risker med denna
liberala syn på typbegreppet och det finns datorprogram som
tillåter det.Mathematica tillhör inte dessa utan gör alltid en
mycket rigorös typkontroll inför varje operation. För den seriöse
användaren ärdetta inget problem utan en trygghet. Använd
indexering som vanligt för att hämta ut önskat element.
aTb
2
1
3
.
1
1
2
7
tal aTb 1, 1
7
För att transponera en vektor, vilket egentligen är omöjligt
eftersom den bara har en dimension, måste den i Mathematica först
görastill en radmatris, det vill säga en matris med en rad.
Eftersom en matris sparas radvis som en vektor med vektorer är det
bara att“stänga in” vektorn inom {}.
InputForm 1 2 33 4 5
1, 2, 3 , 3, 4, 5
1, 2, 3
1 2 3
1, 2, 3
123
Räknelagar: Om och är matriser och s ett tal gäller 1 3 s s2 4
Notera ordningen i högerledet
Kvadratisk matris
Om en matris har lika många rader som kolonner, det vill säga n
n, kallas den inte oväntat kvadratisk. För sådana matriser är
detlite “tårta på tårta” att säga typ n n, så inte sällen säger man
istället ordning n. Då och då brukar man också höra ordning
somsynonym för typ, vilket inte brukar vålla någon förvirring.
Kvadratiska matriser är mycket vanligt förekommande i
tillämpningar,vilket vi får anledning att återkomma till.
HH/ITE/BN Matriser och Mathematica 7
-
I en kvadratisk matris kallas elementen aii för huvuddiagonalen
i . Om alla element under huvuddiagonalen är noll kallas
denhögertriangulär eller övertriangulär och vänstertriangulär eller
undertriangulär om alla element över huvuddiagonalen är noll.
Exempel: Matrisen 2 5 90 7 10 0 3
är högertriangulär och
7 0 0 01 5 0 08 9 4 01 3 5 3
är vänstertriangulär.
Om det för en kvadratisk matris gäller att kallas matrisen
symmetrisk och antisymmetrisk om . Diagonalele-menten i en
antisymmetrisk matris är alltid noll, ty aii aii 2aii 0 aii 0.
Varje kvadratisk matris kan skrivas som summan av en symmetrisk och
en antisymmetrisk matris. Produkten av en godtycklig matris och
dess transponat är symmetrisk, ty
och .
Exempel: För godtycklig matris är alltid och symmetriska
matriser, dock inte nödvändigtvis lika eftersom de vanligtvisinte
ens blir av samma typ.
2 5 4
1 3 0.
2 5 4
1 3 0
45 1313 10
2 5 4
1 3 0.
2 5 4
1 3 0
5 7 87 34 208 20 16
Summan av talen i huvuddiagonalen kallas för spåret (eng.
trace). Tydligen har vi för i senaste Exemplet.
Tr
55
Huvuddiagonalen själv hämtas med en liten variant av samma
funktion.
Tr , List
5, 34, 16
Diagonalmatris och enhetsmatris
Om en matris är kvadratisk och alla element utom de på
huvuddiagonalen är noll kallas matrisen för en diagonalmatris.
Ettvanligt sätt att ange en sådan är diag a11, a22, .
DiagonalMatrix 3, 6
3 00 6
Om en diagonalmatris har enbart ettor på huvuddiagonalen kallas
den enhetsmatris. För denna brukar man reservera namnen (identity
matrix) eller (enhetsmatris). Namnet kommer sig av att den tjänar
ungefär som en etta gör vid “vanlig” räkning. Noteraliksom för
nollmatris att det finns oändligt med sådana här matriser, en för
varje typ.
IdentityMatrix 2
1 00 1
Exempel: Effekten av att förmultiplicera en matris med en
diagonalmatris är att multiplicera varje rad i med
motsvarandeelement i .
.1 1 1 1
1 1 1 1
3 3 3 36 6 6 6
8 Matriser och Mathematica HH/ITE/BN
-
Effekten av att eftermultiplicera en matris med en
diagonalmatris är att multiplicera varje kolumn i med motsvarande
elementi
1 1
1 1
1 1
1 1
.
3 63 63 63 6
Potenser
Kvadratiska matriser är de enda matriser man kan utsätta för
upprepad multiplikation med sig själv. Om vi låter vara
enhetsma-trisen definierar vi naturligt potenser som 0 , 1 , 2 , 3
och så vidare. Eller mera formell rekursiv definition
nom n 0
n 1 om n är ett positivt heltal
Negativa eller brutna exponenter befattar vi oss inte med.
Givetvis gäller de vanliga potenslagarna m n m n och m n mn.
Exempel: När det gäller potenser av matriser så skriv inte
upphöjt till i Mathematica. Detta tolkas då som att varje element
imatrisen skall upphöjas till angiven exponent.
2 3
4 5
2 34 5
2
4 916 25
.
16 2128 37
Då exponenten n blir stor finns funktionen MatrixPower som
tröst.
. . . . . . . . . . . . . .
2 549 464 720 604 3 362 053 837 6174 482 738 450 156 5 911 518
558 221
MatrixPower , 15
2 549 464 720 604 3 362 053 837 6174 482 738 450 156 5 911 518
558 221
Matrisvärd funktion av en variabel
I tidigare kurs har vi stiftat bekantskap med en funktion av en
reell variabel. Vi har sett att detta begrepp kan enkelt spilla
över till envektorvärd funktion av en reell variabel. Då är steget
litet till en matrisvärd funktion av en reell variabel. Vi låter
helt enkelt varjeelement i matrisen vara en funktion av samma
variabel, säg
xa11 x a12 xa21 x a22 x
Definition av derivation och integration gör knappast någon
förvånad.
HH/ITE/BN Matriser och Mathematica 9
-
xx
a11 xx
a12 xx
a21 xx
a22 xx
x xa11 x x a12 x xa21 x x a22 x x
Naturligtvis kan man ha bestämd integral om så önskas.
Exempel: Mathematica är naturligtvis kunnig som vanligt
x2 Sin x Cos x2 x Log x ArcTan x
;
D , x
2 x cos x sin x2 2 x 1x
1x2 1
xx33 cos x sin x2 x
2 x log x x x tan1 x 12 logx2 1
Determinant
Varje kvadratisk matris kan tilldelas ett bestämt tal, som
kallas matrisens determinant. Detta tal kan beräknas med en formel
sominnehåller alla matrisens element. Determinanter har mest
teoretiskt värde och kommer till användning i diverse kvalitativa
överläg-gningar, bland annat vid lösning av linjära ekvationssystem
som vi kommer att studera i ett senare avsnitt.
Låt beteckna en kvadratisk matris av ordning n
n n
a11 a12 a1na21 a22 a2n
an1 an2 ann
Till denna matris skall vi definiera ett enda tal som vi kallar
determinanten till matrisen . Detta tal betecknar vi med eller det
och skrivs ut med samma element som i fast med raka parenteser
istället för runda.
det
a11 a12 a1na21 a22 a2n
an1 an2 ann
Benämningarna element, rad, kolonn, ordning och huvuddiagonal
används på samma sätt för determinanter som för matriser. Hurräknas
då detta tal ut? Vi börjar från början
Definition. (1) Om är av ordning 1 så är a11 a11.
(2) Om är av ordning 2 så är a11 a12a21 a22
a11a22 a12a21.
Determinanter av högre ordning måste utvecklas enligt en visst
mönster till en följd av determinanter av ordning 2. Vi beskriver
härhur denna utveckling av determinanter går till.
Antag att determinanten är av ordning n. Vi kan välja att
utveckla den längs vilken rad eller kolonn som helst. Säg att vi
väljer rad i.För varje element aij i denna rad skapar vi en ny
determinant genom att stryka rad i och kolonn j. Det som återstår
är en ny determi-nant av ordning n 1 som kallas för
underdeterminanten ij med avseende på plats (i, j). Bilda
komplementet (eng. cofactor)Cij 1 i j ij till plats (i, j). är nu
slutligen skalärprodukten mellan elementen i rad i och deras
komplement. Om n 1 2måste alla dessa n 1 determinanter utvecklas
enligt samma recept till n 1 determinanter av ordning n 2, å igen å
igen ända tilldess man kommit ner till (kanske duktigt många)
determinanter av ordning 2 som beräknas enligt definitionen ovan.
Färdig
10 Matriser och Mathematica HH/ITE/BN
-
Talet 1 i j kan anta två värden 1 och 1 och uppträder i ett
mönster som liknar ett “schackbräde”
Detta hjälper oss att genomföra kalkylen som klarnar efter
ett
Exempel: Bestäm 2 1 54 7 31 6 8
.
Lösningsförslag: Eftersom vi har en determinant av ordning 3
måste vi utveckla. Då väljer man en rad eller kolonn som
innehållermånga nollor. Detta reducerar arbetsinsatsen dramatiskt.
Men inga nollor i sikte här så vi väljer lite slumpartat att
utveckla längs rad2. Tecknen framför termerna i skalärprodukten
mellan elementen och underdeterminanterna hämtar vi från
“schackbrädet” ovan.Redan efter en utveckling är vi framme vid 3
stycken determinanter av ordning 2 som vi kan “räkna” ut direkt. Vi
får
2 1 54 7 31 6 8
42 1 54 7 31 6 8
72 1 54 7 31 6 8
32 1 54 7 31 6 8
41 5
6 87
2 51 8
32 11 6
4 1 8 5 6 7 2 8 5 1 3 2 6 1 14 38 7 11 3 13 114
Detta sätt att beräkna en determinant är mycket kostsamt vid
stora n. Om vi som illustration väljer att bestämma determinanten
fören, kan man tycka måttligt stor, determinant av ordning 25 med
hjälp av en dator som klarar 1 miljon multiplikationer per sekund
(1Mflops) så får vi vänta en stund vid datorn; ca 1017sekunder,
vilket är ungefär universums ålder ! Vid all seriös numerisk
analysmed dator är metodval mycket viktigt och kanske helt
avgörande för att lyckas. I ett senare avsnitt ska vi se hur vi kan
få svaret påbråkdelar av en sekund.
I Mathematica används en funktion med självdokumenterande namnet
Det som väljer olika algoritmer beroende på determinantensstorlek
och utseende. Lägg märke till att den ska matas med en matris. Här
senaste exemplet.
Det 2 1 54 7 31 6 8
114
Räknelagar: Om och är matriser av ordning n och s ett tal gäller
123 Om alla element i en viss rad kolonn multipliceras med samma
faktor, multipliceras
determinanten med samma faktor, t.ex.a11 sa12a21 sa22
sa11 a12a21 a22
.
4 s sn
5 Determinantens värde ändras inte om man gör en
linjärkombination av rader eller kolonner,
t.ex.a11 a12a21 a22
a11 sa21 a12 sa22a21 a22
.
6 Om två rader eller kolonner byter plats, byter determinanten
tecken.7 Om två rader eller kolonner är lika, är determinanten
noll.
HH/ITE/BN Matriser och Mathematica 11
-
Invers matris
Om är en kvadratisk matris och det existerar en (kvadratisk)
matris sådan att säger vi att är inverterbar ochmatrisen kallas
inversen till . För denna använder vi beteckningen 1. Alltså
1 1
Man kan visa att om 1 existerar så är den unik, det vill säga
det finns bara en enda. Ty om är en invers till och även göranspråk
på att vara det, har vi , vilket visar att faktiskt . Om är
inverterbar så är 0. Inågon mening kan man säga att invers matris
fungerar som inverterade värdet gör för vanliga tal, vilket också
skrivs “upphöjt till
1”; 77 717 7 7
1 1, så kanske inte helt fel att viska matrisdivision även om
man aldrig får skriva 1 eller .
Med hjälp av inversen kan vi skriva ner den symboliska lösningen
till matrisekvationer, t.ex. , där och är givna och söks. Lösningen
får vi genom att förmultiplicera båda sidor med inversen till
1 1 1 1 .
I Mathematica beräknas inversen med hjälp av funktionen
Inverse.
Inverse 3 2 14 6 52 7 3
1771
1371
1671
271
1171
1971
1671
1771
1071
En matris av typ 2 2 ska man kunna invertera för hand,
1a11 a12a21 a22
11 a22 a12
a21 a111
a11 a22 a12 a21
a22 a12a21 a11
En enkel kalkyl verifierar detta
1
a11a22 a12a21 a22 a12
a21 a11. a11 a12
a21 a22
1 00 1
Exempel: Lös matrisekvationen 2 2 då 2 11 0
och 4 6 .
Lösningsförslag: Stuva om och lös ut . Notera speciellt efter
andra ekvivalenspilen att det vid faktoriseringen är nödvändigt
attskjuta in en enhetsmatris av passande typ.
2 2 2 2 2 2 2 2 1 .
Nu låter vi Mathematica göra räknandet.
2 1
1 0;
4
6;
Inverse . 2 IdentityMatrix 2 .
167107
En ängslig koll
. . 2
True
En symmetrisk matris kallas ortogonal om . För en sådan matris
är alltså 1 . Ett nödvändigt och tillräckligt villkor för att skall
vara ortogonal är att :s kolonnvektorer är normerade och parvis
ortogonala.
12 Matriser och Mathematica HH/ITE/BN
-
Liksom determinanter förekommer inversen nästan aldrig i
praktiken utan används mest vid diverse teoretiska överläggningar.
Omman mot förmodan behöver beräkna den finns effektiva algoritmer.
Detta återkommer vi till i ett senare avsnitt.
Räknelagar: Om och är matriser av samma ordning, och ortogonala
matriser av samma ordning och och passandevektorer gäller 1 1 1 6
ortogonal2 1 1 7 ortogonal3 1 1 1 Notera ordningen i högerledet 8
Enhetsmatrisen är ortogonal4 speciellt 1 95 1 10
Linjära ekvationssystem
System av linjära ekvationer utgör grunden för den linjära
algebran på ungefär samma sätt som gränsvärden utgör grunden
föranalysen. I princip alla modeller inom tillämpad matematik, allt
från hållfasthetsberäkningar med finita elementmetoden viaekonomisk
resursteori till flödesproblem i en blodåder eller runt ett
flygplan utmynnar alltid i ett stort linjärt ekvationssystem.
Attutveckla effektiva lösningsalgoritmer för sådana problem har
därför sysselsatt matematiker i 70 år och kommer att bli än
meraktualiserat i framtiden. Men vi börjar från början.
Med en linjär ekvation i två obekanta x och y menar vi en
ekvation av typen
ax b y c
där a, b och c är givna reella tal. Ordet linjär syftar på att
de obekanta endast får förekomma på formen x, y. Sammansättningar
ochfunktionsuttryck är inte tillåtet. Som exempel har vi en linjär
ekvation
6x 2 y 10
medan
6x2 2 y 10 och x 2 y 1 och xy y 3
inte är linjära. Vi ser att t.ex. x 1, y 2 satisfierar
ekvationen 6x 2 y 10 ovan och man säger att detta är en lösning. En
annan ärx 0, y 5. Man kan hitta fler, i själva verket oändligt
många eftersom för varje x har vi ett tillhörande y 5 3x. Detta
beror på attvi har fler obekanta än ekvationer.
Med ett linjärt ekvationssystem menar vi ett antal linjära
ekvationer som gäller samtidigt. Även här kan man ha färre obekanta
änekvationer, fler eller lika många. Man talar då om överbestämt,
underbestämt respektive kvadratiskt linjärt ekvationssystem.Alla
fallen är mycket vanliga i diverse tillämpningar, speciellt det
sistnämnda. Här ett exempel med tre ekvationer och tre
obekanta.
2x 3 y 9z 53x 4 y 5z 14x 2 y 2z 6
Det är brukligt att skriva linjära ekvationssystem på
matrisform
2x 3 y 9z 53x 4 y 5z 14x 2 y 2z 6
2 3 93 4 54 2 2
xyz
516
där kallas koefficientmatris, högerled och lösningsvektor. Om
högerledet är nollvektorn säger vi att ekvationssystemet
ärhomogent. För stunden ska vi koncentrera oss på kvadratiska
system och eftersom dessa dominerar branschen brukar de också
läggabeslag på namnet linjära ekvationssystem. Vill man prata om
under- eller överbestämt linjärt ekvationssystem får man lov att
nämnadetta explicit. Senare kommer vi att studera överbestämda
system i samband med minsta kvadratmetoden och underbestämda
vidlinjärprogrammering.
Det ser sunt ut med lika många ekvationer som obekanta, men vi
kan faktiskt ha allt från entydig lösning, ingen lösning till
oändligtmånga lösningar! Vilket fall som inträffar beror på och .
En geometrisk betraktelse av situationen blir speciellt åskådlig
för ettlinjärt ekvationssystem med två ekvationer och två obekanta
x, y. Varje ekvation blir en rät linje i planet.
HH/ITE/BN Matriser och Mathematica 13
-
x y 3x y 2
x y 3x y 2
x y 3x y 3
2 1 1 2x
12345
y
2 1 1 2x
12345
y
2 1 0 1 2x
2
3
4
5
y
0 0 0unik lösning ingen lösning oändligt med lösningar
Vilket fall som inträffar beror på
Om 0 säger vi att ekvationssystemet är illa konditionerat. Genom
att studera figurerna ovan förstår vi att små störningar
avelementen i eller ger en dramatisk ändring av lösningsvektorn .
Sunda ekvationslösare, exempelvis Solve i Mathematica,signalerar en
varning när så är fallet. Vanligtvis beror detta på svagheter i
modelleringen av det problem som man vill lösa.
Exempel: Betrakta de båda väldigt snarlika ekvationssystemen 400
201800 401
xy
200200
och 401 201800 401
xy
200200
.
Enda skillnaden är att i det andra systemet har a11 ökats
obetydligt med 0.25% från 400 till 401. Men de har helt olika
lösningar, detförsta x, y 100, 200 och det andra x, y 40 000, 79
800 . Systemet är alltså illa konditionerat när en liten störning
geren helt annan lösning, så kallad blow up. Man bör då gå tillbaka
och göra ändringar i sin modellering.
Vi fortsätter med några exempel på modellering som leder till
linjära ekvationssystem. Vi koncentrerar oss på detta för den
prak-tiserande ingenjören viktigaste momentet och överlåter åt
Mathematica att uttala sig om lösningsmängder. Dock ska vi i ett
senareavsnitt orientera om den vanligaste datoranpassade
lösningsalgoritmen.
Exempel: AB Len&Fin tillverkar en kräm som enligt reklamen
sägs motverka rynkor. Denna kräver tre olika råvaror.
Inköpsprisetper gram råvara är 1 kr, 1.50 kr respektive 2 kr.
Fraktkostnaderna per gram råvara är 2 kr, 1 kr respektive 1.50 kr.
Till kund levererasburkar med kräm som väger 50 gram och betingar
ett pris av 80 kr i råvarukostnad och 70 kr i fraktkostnad. Hur
många gram av deolika råvarorna går det åt för att tillverka en
burk?
Lösningsförslag: Antag att råvarornas storlekar är x, y
respektive z. Informationen räcker för att möblera ett
ekvationssystem medtre ekvationer, en för vikten, en för
råvarukostnad och slutligen en för fraktkostnaden.
x y z 501x 1.5 y 2z 802x 1 y 1.5z 70
Inte helt oväntat är det vår gamle arbetshäst Solve i
Mathematica som gör jobbet. Fördelen är bland annat att den lägger
sig väldigtnära modelleringen. Inga riskabla omlastningar av
ekvationerna till formen vilket många datorprogram kräver, t.ex.
Matlab.
Solve x y z 50,
1 x 1.5 y 2 z 80,
2 x 1 y 1.5 z 70
x 10., y 20., z 20.
Vilket är svaret på den brännande frågan angående antal ingående
gram av de olika råvarorna.
Exempel: Tre vätskor blandas i volymförhållande 1:2:4 varvid
blandningen får densiteten 0.9. Om de blandas i
volymförhållande2:3:1 blir densiteten 0.8 och om de blandas 3:1:5
blir den 1.1. Ställ upp och lös det ekvationssystem som bestämmer
densiteterna förde i blandningen ingående tre vätskorna.
Lösningsförslag: Antag att densiteterna är Ρ1, Ρ2 respektive Ρ3.
Informationen räcker för att meka ihop ett ekvationssystem med
treekvationer, en för varje soppa
Solve 1 Ρ1 2 Ρ2 4 Ρ3 1 2 4 0.9,2 Ρ1 3 Ρ2 1 Ρ3 2 3 1 0.8,3 Ρ1 1
Ρ2 5 Ρ3 3 1 5 1.1Ρ1 1.41429, Ρ2 0.3, Ρ3 1.07143
14 Matriser och Mathematica HH/ITE/BN
-
Exempel: För att bestämma temperaturfördelningen i en kvadratisk
platta indelas denna i sexton mindrekvadratiska plattor arrangerade
i fyra rader och fyra kolonner. Temperaturen i plattorna längs
randen ärkända. Se fig Bestäm temperaturen i de fyra inre plattorna
om man antar att temperaturen i en sådanplatta är medelvärdet av
temperaturen i de fyra kantgrannarna. Metoden kallas finita
differensmetodenFDM och differentialekvationen vi tillämpat den på
heter Laplace differentialekvation och är
mycket vanlig i fysik.
38 46 20 1935 T1 T2 1510 T3 T4 58 5 0 1
C
Lösningsförslag: Vi får en ekvation för var och en av de fyra
inre plattorna enligt meningen “Bestäm ”
T1 4 SolveT1 14
46 T2 T3 35 , T21
420 15 T4 T1 ,
T31
4T1 T4 5 10 , T4
1
4T2 5 0 T3 First
T1 28, T2 18, T3 13, T4 9
ListContourPlotReverse38 46 20 19
35 T1 T2 15
10 T3 T4 5
8 5 0 1
. T1 4, InterpolationOrder 2, ContourLabels True
Exempel: En tunn rektangulär glasskiva med massan m hålls i
horisontellt lägeav tre personer enligt figur, där koordinatsystem
och diverse mått är angivna.a Sök ortsvektorerna A, B, C till
personerna och G till skivans tyngdpunkt.b Frilägg glasskivan med
informationen att personerna endast lyfter i z–led.c Bestäm med
Solve de tre lyftkrafternas z–komponenter ur
mekanikensjämviktssamband i och i i i .
Lösningsförslag: Det är bara att följa receptet. Mekanik räknas
alltid i 3D så fungerar vektorprodukter utan problem!
Namnsättintressanta punkter och krafter som par , . Analysen blir
då löjligt enkel i Mathematica. Först a) med intressanta punkter
somockså är ortsvektorer till krafterna. Räkna inte i huvudet!
A 360, 0, 0 ;
B 720, 480 720, 0 ;
C 720 1680, 480, 0 ;
G
1
2720 1680, 480 720, 0 ;
b) Personernas sökta lyftkrafter, enligt uppgift verkande endast
i z–led. Sist tyngdkraften som verkar på glasskivan i negativ
z–led.Vid sidan om komponentform, som här, är det mycket vanligt
med “pekformen” F , där är given och F den sökta storleken.
A 0, 0, FAz ;
B 0, 0, FBz ;
C 0, 0, FCz ;
G 0, 0, mg ;
c) Jämviktssambandet är två vektorekvationer i och i i i . Med
enhetlig namnsättning fixar Mathematica lätt genom att låta vargen
besöka alla punkter. Varje handpåläggning är en potentiell
felkälla!
HH/ITE/BN Matriser och Mathematica 15
-
jämvikt Sum , , , A, B, C, G 0
0 0 mg FAz FBz FCz600 mg 1200 FBz 480 FCz 1200 mg 360 FAz 720
FBz 2400 FCz 0
0
Första raden i matrisen är kraftjämvikt i de tre
koordinatriktningarna Fx 0, Fy 0 och Fz 0. Andra raden är
motsvarande förmomentjämvikt Mx 0, My 0 och Mz 0. De två
vektorekvationerna expanderar alltså till 2 3 6 skalära ekvationer.
Så blirdet alltid i mekanik. Nu är det bara att lösa ut de sökta
kraftkomponenterna. Enkel match för Solve.
Solve jämvikt, FAz, FBz, FCz
FAz 23 mg79 , FBz 57 mg158 , FCz 55 mg158
Exempel: Lös matrisekvationen 2 2 då 2 11 0
och 4 6 .
Lösningsförslag: Detta är en repris på ett exempel under
avsnittet “Invers matris”. Jämför med tidigare lösningsmetod när vi
dennagång istället betraktar matrisekvationen som ett linjärt
ekvationssystem och låter Solve direkt bestämma de obekanta
elementen i
. Det enda vi behöver göra är att ansätta rätt. En titt i
högerledet övertygar oss om att typ typ , så smidigt och lätt
2 1
1 0;
4
6; x11
x21;
ekv . . 2
5 x11 2 x212 x11 x21
2 x11 42 x21 6
. Solve ekv First
167107
I Mathematica finns väsentligen två funktioner som löser
ekvationssystem. Vilken man väljer beror lite på hur problemet är
for-mulerat. Om vi har koefficientmatris och högerled
färdigmöblerade passar LinearSolve bra. Lösningen kommer ut på
sammaform som högerledet. Exempelvis exemplet med AB
Len&Fin
x y z 501x 1.5 y 2z 802x 1 y 1.5z 70
LinearSolve 1 1 11 1.5 22 1 1.5
,
50
80
70
, LinearSolve 1 1 11 1.5 22 1 1.5
, 50, 80, 70 10.20.20.
10., 20., 20.
Annars blir oftast valet den gamla välbekanta arbetshästen
Solve. Den har fördelen att den ligger nära modelleringen och ger
ettsjälvdokumenterat svar på regelform, vilket underlättar fortsatt
användning. Dessutom är den smart nog att dra nytta av
svagtkopplade ekvationer, det vill säga många nollor i
koefficientmatrisen, och sparar systemet i så kallat glest format.
Detta sänkerlösningstiden dramatiskt om man har väldigt många
obekanta. I många tillämpningar är det vardag att lösa
ekvationssystem medflera miljoner obekanta. Vi ser att även då det
är bäddat för LinearSolve är kanske ändå Solve att föredra.
Solve 1 1 11 1.5 22 1 1.5
.xy
z
50
80
70
x 10., y 20., z 20.
När man matar Solve gäller att båda sidor om tecknet ska ha
identisk struktur eller att den ena sidan är en skalär.
16 Matriser och Mathematica HH/ITE/BN
-
Rotation (vridning) av vektor kring en koordinataxel
Låt vara en tvådimensionell vektor och studera en rotation av
denna kring origo. Positiv rotationen vinkel Θ definierar vi som
moturs rotation. I figuren återges situationen före och efter
rotationen.Eftersom vektorns längd bevaras får vi med summaformler
för sinus och cosinus följande kalkyl
Θ vΘx, vΘy Θ cos Θ , sin ΘΘ cos cos Θ sin sin Θ , sin cos Θ cos
sin ΘΘ cos cos Θ Θ sin sin Θ , Θ sin cos Θ Θ cos sin Θ
cos Θ sin Θsin Θ cos Θ Θ cosΘ sin Θ cos Θ sin Θsin Θ cos Θ vxvy
x
y
Θv
vΘ
Nu generaliserar vi till det tredimensionella fallet och inser
efter en stunds eftertanke att vi just hanterat positiv vridning
kring z-axeln, eftersom positiv vridning runt en koordinataxel
innebär medurs rotation när vi tittar i koordinataxelns riktning.
Eftersom vzbevaras i detta fall, gäller det bara att expandera
matrisen ovan till typen 3 3 och meka in en 1:a på rätt ställe. På
samma sätt kananalysen genomföras för rotation kring x- och
y-axlarna. Vi lämnar detta som övning. Så, till slut får vi de tre
fundamentala rotations-matriserna kring respektive koordinataxel.
Notera att det inte är feltryck i y Θ Mathematica håller med!
x Θ 1 0 00 cos Θ sin Θ0 sin Θ cos Θ , y Θ
cos Θ 0 sin Θ0 1 0
sin Θ 0 cos Θ , z Θcos Θ sin Θ 0sin Θ cos Θ 0
0 0 1
MatrixForm RotationMatrix Θ, & IdentityMatrix 3 1 0 00 cos Θ
sin Θ
0 sin Θ cos Θ ,cos Θ 0 sin Θ
0 1 0sin Θ 0 cos Θ ,
cos Θ sin Θ 0sin Θ cos Θ 0
0 0 1
Exempel: Bestäm matrisen för den avbildning som erhålls om man
först roterar 30 kring x-axeln och sedan 60 kring y-axeln.
Lösningsförslag: Notera att ordningen vid matrismultiplikation
är viktigt som vanligt! Så den sammansatta avbildningen blira y 60
x 30 , där
RotationMatrix 60 , 0, 1, 0 .RotationMatrix 30 , 1, 0, 0
12
34
34
0 3212
32
14
34
Om vi tar rotationerna i omvänd ordning får vi något helt
annat...
RotationMatrix 30 , 1, 0, 0 .RotationMatrix 60 , 0, 1, 0
12 0
32
34
32
14
34
12
34
Basbyte och koordinattransformation
Låt vara en vektor och låt , , och , , vara två olika baser i
rummet. Vi sökerett samband mellan :s komponenter vx, vy, vz
respektive vx, vy, vz i de tvåbaserna. Baser i planet kommer som
vanligt ut som ett specialfall genom att barabetrakta de två första
basvektorerna, vilket också är lättare att åskådliggöra. Eftersomen
vektor, som ju ofta har en fysikalisk tolkning, måste vara densamma
oberoendeav “vem” som mäter den med sin “linjal”, får vi sambandet
mellan :s komponenter ide två baserna x
y
x
y
i
j
ij
vx vy vz vx vy vz
För att komma vidare måste vi veta hur basvektorerna , , och , ,
ligger i förhållande till varandra. Antag att
HH/ITE/BN Matriser och Mathematica 17
-
t11 t21 t31t12 t22 t32t13 t23 t33
där tij är komponenterna för basvektorerna , , med avseende på
basvektorerna , , . Sätter vi in detta i uttrycket ovan för
:srepresentation i de två systemen och identifierar koefficienter
framför , och i höger och vänster led får vi
vx t11vx t12vy t13vzvy t21vx t22vy t23vzvz t31vx t32vy t33vz
Detta är det sökta sambanden mellan komponenterna vx, vy, vz och
vx, vy, vz i de två baserna. Detta kan skrivas på matrisform
vx t11vx t12vy t13vzvy t21vx t22vy t23vzvz t31vx t32vy t33vz
vxvyvz
t11 t12 t13t21 t22 t23t31 t32 t33
vxvyvz
vxvyvz
vxvyvz
Matrisen kallas transformationsmatrisen mellan de två systemen.
Den talar alltså om hur basvektorerna , och är riktade iförhållande
till basvektorerna , och . Observera att elementen i :s första
kolonn utgör :s komponenter med avseende på basen ,
och . Analogt bildas andra och tredje kolonnen i med hjälp av
komponenterna för respektive med avseende på basen , och. Om båda
baserna är ortonormerade, alltså ON-system, så är kolonnerna i
matrisen parvis ortogonala och normerade, det vill
säga är en ortogonal matris, så 1 . Därmed är det inte så
“kostsamt” att “gå” mellan de olika representationerna. Även de
trerotationsmatriserna x Θ , y Θ och z Θ i föregående avsnitt är
ortogonala.Vi ska nu använda detta för att bestämma ett samband
mellan koordinaternax, y, z och x, y, z för en punkt P i
koordinatsystemen O, , , respektiveO, , , . Om origo O för det
senare systemet har koordinaterna xO, yO, zO
med avseende på systemet O, , , så har vektorn OP komponenternax
xO, y yO, z zO med avseende på basen , , och komponenternax, y, z
med avseende på basen , , . Med hjälp av teorin ovan för basbytekan
vi så äntligen teckna sambandet mellan koordinaterna x, y, z och x,
y, zför en punkt P i koordinatsystemen O, , , respektive O, , ,
x
yx
y
i
j
O
ij
O
.P
x xOy yOz zO
xyz
xyz
xOyOzO
xyz
xyz
xyz
där xO, yO, zO avslutningsvis är ortsvektorn för O med avseende
på basen , , . Exempel: I ett tvådimensionellt fall är
koordinaterna
för punkten P givna i systemet O, , som är vridet30 moturs i
förhållande till O, , . Sök koordinaternaför motsvarande punkt P i
O, , .
x
yx
y
i
j
O
ij
O 3,1
.P 1.3,0.9
30
Lösningsförslag: Vi har origo och transformationsmatrisen ; ,
det vill säga och är kolonner.3, 1 ;
Cos 30 Sin 30
Sin 30 Cos 30
32
12
12
32
18 Matriser och Mathematica HH/ITE/BN
-
så motsvarande punkt P i O, , . Naturligtvis finns motsvarande
övning i Mathematica.
P . 1.3, 0.9
3.67583, 2.42942
AffineTransform , 1.3, 0.93.67583, 2.42942
En sista ängslig kontroll att vi kommer tillbaka till P i O, ,
med vetskapen att är ortogonal..P
1.3, 0.9
Egenvärden och egenvektorer
Låt vara en given kvadratisk matris. Om det finns en vektor och
ett reellt eller komplexttal Λ så att Λkallas Λ för ett egenvärde
till och en till Λ hörande egenvektor. I dessa sammanhangbortser vi
från den ointressanta, så kallade triviala lösningen att är
nollvektorn. Vidare skavi betrakta komplexa egenvärden lite
styvmoderligt eftersom Λ då inte ligger i samma rumsom . Med ett
språkbruk från vektorernas värld kan man alltså säga att en
egenvektor till x
y
x
Ax Λx
är en vektor som efter transformation är parallell med sig
själv, det vill säga Λ . Egenvärdesanalys användsmycket flitigt
inom de flesta tillämpningar. Här några enkla observationer av
lineariteten som ofta kommer till användning
1 Om 1 och 2 är egenvektorer till för samma egenvärde Λ, så är
också 1 2 egenvektor tillför samma egenvärde Λ, ty 1 2 1 2 Λ 1 Λ 2
Λ 1 2 .
2 Om är egenvektor till för egenvärde Λ och s ett reellt tal så
är också s egenvektor tillför samma egenvärde Λ, ty s s sΛ Λ s .
Egenvektorer är alltså bara bestämda så när som på en
syftlinje.
Vi får efter omstuvning ett homogent ekvationssystem
Λ ΛEtt nödvändigt och tillräckligt villkor för att detta system
ska ha icke-triviala lösningar är att koefficientmatrisens
determinant ärnoll. Detta kallas för sekularekvationen och är en
polynomekvation av grad n i Λ om är av ordning n.
Λ 0Denna ekvation har alltid n rötter om dessa räknas med
multiplicitet. Mängden av alla egenvärden till kallas :s
spektrum.
Exempel: Bestäm egenvärden och motsvarande egenvektorer till 3
21 2
.
Lösningsförslag: Vi får sekularekvationen
3 21 2
Λ 1 00 1
03 Λ 2
1 2 Λ 0 3 Λ 2 Λ 2 1 0Λ2 5Λ 4 0 Λ1 1 och Λ2 4Egenvektor till Λ1
1. Ansätt e1 xy så får vi 3 1 x 2 y 0x 2 1 y 0 x y 0x y 0.
Ekvationerna är parallella som sig bör. Annarsär det felräknat! Vi
kan nu välja exempelvis x 1 och y 1. Egenvektorerna är bara
bestämda med avseende på syftlinje! Manbrukar välja så man får
“smidiga” tal eller så är man konsekvent och normerar
egenvektorerna. Så första paret med egenvärde ochtillhörande
egenvektor Λ1 1, e1 1, 1 .Egenvektor till Λ2 4. Ansätt e2 xy så får
vi 3 4 x 2 y 0x 2 4 y 0 x 2y 0x 2y 0 . Ok! Välj exempelvis x 2 och
y 1, varavandra paret med egenvärde och tillhörande egenvektor Λ2
4, e2 2, 1 .
HH/ITE/BN Matriser och Mathematica 19
-
I Mathematica gör Eigensystem hela jobbet eller Eigenvalues och
Eigenvectors för portionsvis leverans
Eigensystem 3 21 2
4 1
2, 1 1, 1
Egenvärdena till en reell symmetrisk matris är alla reella och
egenvektorerna är parvis ortogonala. Reella symmetriska matriser är
mycket vanliga i diverse tillämpningar.
Exempel: Bestäm egenvärden och motsvarande egenvektorer till 1
22 1
.
Lösningsförslag: Vi får sekularekvationen
1 22 1
Λ 1 00 1
01 Λ 2
2 1 Λ 0 1 Λ 1 Λ 2 2 0Λ2 2Λ 3 0 Λ1 1 och Λ2 3Egenvektor till Λ1
1. Ansätt xe1 xy så får vi 1 1 x 2y 02x 1 1 y 0 x y 0x y 0.
Ekvationerna är parallella som sig bör.Annars är det felräknat! Vi
kan nu välja exempelvis x 1 och y 1. Egenvektorerna är bara
bestämda med avseende på syftlinje!Man brukar välja så man får
“smidiga” tal eller så är man konsekvent och normerar
egenvektorerna. Så första paret med egenvärdeoch tillhörande
egenvektor Λ1 1, xe1 1, 1 .Egenvektor till Λ2 3. Ansätt xe2 xy så
får vi 1 3 x 2 y 02x 1 3 y 0 x y 0x y 0 . Ok! Välj exempelvis x 1
och y 1, varavandra paret med egenvärde och tillhörande egenvektor
Λ2 3, xe2 1, 1 .Vi låter Mathematica kontrollera riktigheten i vår
kalkyl
Eigensystem 1 22 1
3 1
1, 1 1, 1
I många tillämpningar finner vi ofta system bestående av flera
delar, vilka är ömsesidigt beroende av varandra genom
regelbundetutbyte av förnödenheter och tjänster. Det kan vara ett
biologiskt system, växter och djur, som livnär sig på varandra
eller på annatsätt är beroende av varandra. Det kan vara ett
ekonomiskt system med ömsesidigt utbyte av varor, tjänster och
kapital. Ett sådantsystem kan åtminstone på ett ytligt plan
beskrivas genom att man anger utbytet av förnödenheter vid varje
tidsperiod. Detta ledernaturligt till så kallade utbytesdiagram och
dess övergångsmatris. Vi exemplifierar först med en äng, följt av
ugglor och råttor iskogen för att avsluta med Leslies
djurhållningsmodell.
Exempel: På en äng som lämnats åt sitt öde finns bara gräs och
buskar. Man har observerat atta Under en växtsäsong övertar buskar
30 av den mark som var bevuxen med gräs.b Under en växtsäsong dör
20 av buskarna och marken återgår till att vara gräsbevuxen.Hur
länge dröjer det innan halva ängen är bevuxen med buskar om det var
10 från början?Finns det något jämviktstillstånd? Hur ser i så fall
fördelningen av gräs och buskar ut?
Lösningsförslag: Låt xg vara andelen gräs och xb andelen buskar
på ängen, det vill säga xg xb 1, så är n xg, xb tillståndet ettår
och n 1 året därpå. De två observationerna ger oss då
xgxb n 1
xg 0.3xga
0.2xbb
xb 0.2xbb
0.3xga n
xgxb n 1
0.7 0.20.3 0.8
xgxb n
n 1 n
Så tillståndet från ett år till nästa ges av överföringsmatrisen
.
1
10
7 2
3 8;
20 Matriser och Mathematica HH/ITE/BN
-
Nu är det bara att starta med 10% buskar år 0 och se hur det ser
ut efter ett år efter två år och efter tre år.
0.9, 0.1 , . 0.9, 0.1 , . . 0.9, 0.1 , . . . 0.9, 0.1
0.9 0.65 0.525 0.46250.1 0.35 0.475 0.5375
Kanske går det mot ett jämviktstillstånd? En bild över
utvecklingen under de första 20 åren ger stöd åt vår förmodan.
år 20;
p NestList . &, 0.9, 0.1 , år ;
ListPlot p, PlotRange 0, 1.01 , 0, 1 , Joined True, PlotStyle
Red, AxesLabel xg, xb ,
GridLines Automatic, GridLinesStyle Directive GrayLevel 0.8
,
Epilog Red, MapThread Text 1, 2, Background White &, Range
0, år , p
0.0 0.2 0.4 0.6 0.8 1.0xg0.0
0.2
0.4
0.6
0.8
1.0xb
0
1
2345
67891011121314151617181920
Verkar hopa sig vid 0.4, 0.6 . Vi gör en ängslig test några år
senare tiotusen år
MatrixPower , 10 000 . 0.9, 0.1
0.4, 0.6
Ja, så här brukar modellering med dator gå till. Oftast räcker
det och man kommer kanske inte längre teoretiskt. Men här kan vi
dockspäka oss lite till
Typiskt är att vi har en följd av vektorer 0, 1, 2, och,
bortsett från “startvektorn” 0, så gäller det att varje vektor kan
fås urföregående genom multiplikation med en konstant matris enligt
n 1 n för n 0, 1, 2, 3,
Vi vill undersöka vad som händer med följden n, när n . Vi har
redan insett att upprepad användning av formeln ger n n 0,så vårt
problem skulle också kunna sägas vara att undersöka potenserna av
matrisen . Vi ska se att vi kan skaffa oss en formel för
n! Vår kvadratiska matris har naturligtvis egenvärden och
tillhörande egenvektorer
Eigensystem
1 12 23 , 1 1, 1Låt oss skriva vår startvektor 0 som en
linjärkombination av egenvektorerna e1 och e2, det vill säga vi gör
ett basbyte ochbestämmer tal c1 och c2 sådana att 0 c1 e1 c2 e2
Solve 910
,1
10 c1 2
3, 1 c2 1, 1
c1 35 , c2 12 Nu är det lätt att meka ihop en formel för n:
1 0 35 e1 12 e2 35 e1 12 e2 35 1 e1 12 12 e22 1 35 1 e1 12 12 e2
35 1 e1 12 12 e2 35 12 e1 12 12 2 e23 2 35 12 e1 12 12 2 e2 35 12
e1 12 12 2 e2 35 13 e1 12 12 3 e2n
35 1
ne1 12 12 n e2 35 e1 12 n 1 e2 för alla n 0, 1, 2,
Vi testar på några tillstånd vi känner sedan tidigare
HH/ITE/BN Matriser och Mathematica 21
-
3
5 23, 1 1
2
n 1
1, 1 . n 0, 1, 2, 3, 10 000 N
0.9 0.65 0.525 0.4625 0.40.1 0.35 0.475 0.5375 0.6
Om matrisen har egenvektorerna e1 och e2 med egenvärden Λ1
respektive Λ2 och 0 c1 e1 c2 e2, så gäller allmänt attn
n0 c1Λ1n e1 c2Λ2n e2
Så här ser det ut om är en 2 2-matris. Om är en 3 3-matris har
man 3 egenvektorer, 3 egenvärden och en summa av tre termeroch så
vidare. Sedan finns det tyvärr “undantagsmatriser”, för vilka
egenvektorerna inte räcker till för att varje 0 skall kunna
skrivassom en linjärkombination av egenvektorerna. Sagan är sann
även då egenvärdena är komplexa.
Nu drar vi oss till minnet att Λn 0, när n , om Λ 1Λ n , när n ,
om Λ 1 . Av detta kan vi inse följande
Om alla egenvärden har absolutbeloppet 1, så n 0, när n , varmed
menas att alla komponenter i vektorerna n 0. Dettaär en slags
stabilitet. Om något Λ har absolutbelopp 1, har vi termer i summan
som (utom i undantagsfallet då motsvarande koefficient c 0).
Detta är instabilitet. Om ett av egenvärdena, säg Λ1 1 och
övriga är till absolutbeloppet 1, så får vi att n c1 e1, när n .
Stabilitet.
I vårt fall gäller tydligen det sistnämnda, så n c1 e1 35 23 , 1
25 , 35 vilket stämmer bra! Kvarstår bara en stilla oro
angåendeolika starttillstånd 0? Vi kan starta i vilket tillstånd
som helst, alla går mot 25 , 35 ! Det finns gott om tillämpningar
där man vill attöverföringsmatrisen ska ha egenvärden enligt det
sista alternativet ovan, exempelvis sluten ekonomi och stabil
djurpopulation. Detvi har studerat är ett så kallat diskret
dynamiskt system, (vi återkommer till kontinuerliga i samband med
differentialekvationer).Följden av vektorer 0, 1, 2, kallas bana
eller trajektoria och en stabil punkt för attraktor. Figuren ovan
är exempel på entrajektoria med en attraktor.
Exempel: I storskogen är populationen av ugglor U och råttor R ,
räknat i tusental,kopplade från månad k till nästföljande månad k 1
av ekvationerna
Uk 1 0.5Uk 0.4RkRk 1 pUk 1.1Rk
Förklara utförligt innebörden av de fyra ingående
koefficienterna Plantera nu lite Uoch R i skogen och undersök
utvecklingen under några månader för lite olika värdenpå p.
Förklara Bestäm sedan p så att det blir en stabil uppsättning djur
över tiden.Om det då finns 20 ugglor i skogen, hur många är
råttorna då?
Lösningsförslag: Vi börjar med de fyra koefficienterna. 0.5Uk
innebär att vid avsaknad av råttor i storskogen så kommer hälften
avugglorna att dö under månaden. På motsvarande sätt innebär 1.1Rk
att vid avsaknad av ugglor så ökar antalet råttor med 10% underen
månad. Om nu båda arterna är närvarande så ökar ugglorna sin
population med 0.4Rk medan pUk innebär att råttornas antalminskar
beroende på de jagande ugglorna, i snitt blir alltså 1000p råttor
uppätna av en uggla varje månad. Sedan har vi parameternp. Av
föregående exempel har det framgått att det vore en idé att titta
på egenvärdena till överföringsmatrisen för olika värden på p.
0.5 0.4
p 1.1; Λ Eigenvalues
0.2 4. 2.25 10. p , 0.2 2.25 10. p 4.Eftersom vi inte här
befattar oss med komplexa egenvärden så måste 0 p 0.225. Undre
gränsen är naturlig eftersom ugglornasnärvaro knappast bidrar till
att öka antalet råttor. Studera nu de två egenvärdena Λi som
funktion av p i en graf
Plot Λ, p, 0, 0.225 , PlotStyle Blue, Red , AxesLabel "p",
"Λ1,Λ2"
0.05 0.10 0.15 0.20p
0.60.70.80.91.01.1
Λ1,Λ2
22 Matriser och Mathematica HH/ITE/BN
-
Vi ser att 0 Λ1 1 och för något kritiskt värde pc har vi Λ2 1,
för p pc0 Λ2 1, för p pc . Så följande fall utkristalliserar sig
För p pc brakar antal ugglor/råttor mot oändligheten
(instabilitet). Modellen gäller inte så länge eftersom det varken
finns mat
eller utrymme här på jorden till “så” många. För p pc dör såväl
ugglor som råttor ut. Med tanke på den biologiska mångfalden så är
detta en något tråkig form av stabilitet. För p pc har vi Λ2 1 och
0 Λ1 1 och vi går mot ett stabilt jämviktstillstånd i storskogen,
oberoende av hur många djur vi
planterar ut i “begynnelsen”. Detta kritiska värde är med
tillhörande egenvärden
pc Solve Λ 2 1 , Λ . pcp 0.125
0.6, 1.
Vi kontrollerar ovanstående förutsägelser genom att “simulera
systemet”, det vill säga räkna fram antalen ugglor/råttor ett
antaltidsenheter framåt för olika p. Skriv ut var tolfte månad. Det
går bra (nästan bättre) att räkna för godtyckliga startvärden U och
R.
Börja med p pc och ser att både ugglor och råttor ökar över
tid.
f x Nest . . p 0.05 &, x, 12 ;
NestList f, U, R , 5 Simplify
U R1.60134 R 0.141263 U 2.26074 R 0.200167 U3.39401 R 0.30058 U
4.79043 R 0.424251 U7.19165 R 0.636908 U 10.1506 R 0.898956
U15.2386 R 1.34956 U 21.5083 R 1.90482 U32.2894 R 2.85962 U 45.5745
R 4.03618 U
Sedan p pc och ser att både ugglor och råttor dör ut.
f x Nest . . p 0.2 &, x, 12 ;
NestList f, U, R , 5 Simplify
U R0.537176 R 0.254747 U 0.551018 R 0.268588 U0.15915 R
0.0793833 U 0.159341 R 0.0795749 U
0.0450515 R 0.0225231 U 0.0450541 R 0.0225257 U0.0127253 R
0.00636261 U 0.0127253 R 0.00636265 U
0.00359402 R 0.00179701 U 0.00359402 R 0.00179701 U
Sist det intressant stabila p pc som säger oss att oberoende vad
vi startar med U , R kommer vi så småningom att få ett stabiltläge
R 0.25U , 1.25R 0.3125U .
f x Nest . . pc &, x, 12 ;
NestList f, U, R , 4 Simplify
U R0.997823 R 0.247279 U 1.24946 R 0.31182 U0.999995 R 0.249994
U 1.25 R 0.312499 U
1. R 0.25 U 1.25 R 0.3125 U1. R 0.25 U 1.25 R 0.3125 U
Avslutningsvis har vi frågan om det jämviktstillstånd som
motsvarar 20 ugglor.
Λ, Eigensystem . pc1. 0.6
0.624695, 0.780869 0.970143, 0.242536
U och R ska alltså förhålla sig som
1
1, 1
1., 1.25
Så 20 ugglor motsvarar 20 1.25 1000 25 000 råttor i
storskogen.
HH/ITE/BN Matriser och Mathematica 23
-
Exempel: Leslies populationsmodell P. H. Leslie 1945 är ett
försök att beskriva utvecklingen hosen population med hänsyn tagen
till åldersstrukturen. Modellen räknar vanligen endast med
hondjuren,eftersom de är avgörande för reproduktionen. Man tänker
sig således att populationen handjur hela tidenkan hållas på en
tillräckligt hög nivå för att modellens antaganden skall vara
rimliga. Vi beskriver modellenmed tre olika åldersgrupper.
Generellt tillåter modellen ett godtyckligt antal åldersgrupper.
Låt hondjurendelas in i tre åldersgrupper G0 de nyfödda , G1 och
G2. Vi skall sätta upp en modell för antalet djur i dessatre olika
grupper vid tidpunkterna 0, 1, 2, 3, . Alla djur som vid en viss
tidpunkt befinner sig i den sistaåldersgruppen G2 kommer vid nästa
tidpunkt av vara döda. En viss andel pi av de hondjur som
befinnersig i gruppen Gi kommer att överleva till nästa tidpunkt.
Vidare kommer varje hondjur i åldersgruppen Gii genomsnitt föda fi
hondjur. Om det nu vid tidpunkten n finns xn 0 , xn 1 , xn 2
hondjur i de tre ålders–grupperna får vi följande samband mellan
kullarna vid tidpunkt n och nästföljande tidpunkt n 1.
xn 1 0 f0 xn 0 f1 xn 1 f2 xn 2xn 1 1 p0 xn 0xn 1 2 p1 xn 1
Om vi nu samlar åldersgrupperna i n xn 0 , xn 1 , xn 2 kan
sambandet skrivas n 1 n, där är den så kallade Lesliema-trisen som
alltid är kvadratisk. Vi får direkt i vårt fall
f0 f1 f2p0 0 00 p1 0
och inser att den vid fler åldersgrupper generaliseras till
f0 f1 f2 f3p0 0 0 00 p1 0 00 0 p2 0
Vi provkör med lite siffervärden på parametrarna
p0 0.5 50 av de nyfödda överleverp1 0.8 80 av ettåringarna
överleverf0 0 inga hondjur i G0 reproducerar sigf1 1.6 1.6 honor
föds i genomsnitt av varje ettåringf2 0.5 0.5 honor föds i
genomsnitt av varje tvååring
0 1.6 0.50.5 0 00 0.8 0
Vi antar att åldersstrukturen vid tidpunkten 0 är känd. På grund
av en miljökatastrof finns inga djur i grupperna G0 och G2.
Antaletdjur i G1 är 100. Det betyder att 0 0, 100, 0 . Följande
tabell visar hur åldersstrukturen förändras under de första tjugo
åren.
0 1.6 0.5
0.5 0 0
0 0.8 0
; NestList Round . &, 0, 100, 0 , 20
0 160 40 128 64 110 77 101 83 95 87 94 89 93 89 91 89 91 89 91
89100 0 80 20 64 32 55 38 50 42 48 44 47 44 46 44 46 44 46 44
46
0 80 0 64 16 51 26 44 30 40 34 38 35 38 35 37 35 37 35 37 35
Frågan är nu om åldersfördelningen konvergerar, det vill säga
med tiden närmar sig en viss stabil jämviktsfördelning. Ser så ut
efterlite svajig inledning. Då måste det gälla att och fördelningen
ges av den egenvektor som motsvarar egenvärdet ett.
Λ, e Eigensystem1. 0.723607 0.276393
0.842152, 0.421076, 0.336861 0.696556, 0.481308, 0.532121
0.177642, 0.321358, 0.930146
Så den sökta stabila jämviktsfördelningen blir
e 1
Total e 1
0.526316, 0.263158, 0.210526
24 Matriser och Mathematica HH/ITE/BN
-
Exempel: I mekanik används egenvektorerna för att peka ut ett
naturligtkoordinatsystem för en kropp. Vi känner igen begreppet
masströghetsmoment för en kropp runt en given axel I mr
2 m. Detta kan utvidgastill att man bestämmer den så kallade
masströghetsmatrisen med analoguppbyggnad i 3D. Integralerna mxy m
kallas deviationsmoment. Sammastruktur och egenvärdesanalys finner
man exempelvis i hållfasthetslära,statistik och i sökmotorn Google
som använder egenvektorer för att tagenvägar när den söker genom
enorma datamängder. Även egenvärdenakan ges en fysikalisk tolkning.
Men först modellen. En smal stång medlängden L och massan m är
placerad i vårt xy koordinatsystem enligtvidstående figur. Sök
masströghetsmatrisen .
xx xy
yx yy
m y2 m mxy m
m yx m mx2 m
30 x
y
x
y
i
j
ij
Lösningsförslag: Börja med att bestämma stångens “funktion”
y Tan 30 x;
Sedan tröghetsmatrisen. Vi har m Ρ s Ρ 1 y '2 x i färskt
minne
L
2Cos30
L
2Cos30 y2 x y
x y x2m
L1 D y, x 2 x
L2 m48
L2 m16 3
L2 m16 3
L2 m16
Eigensystem
L2 m12 0 13
, 1 3 , 1Vi ser att egenvektorerna precis pekar ut det naturliga
xy-systemet för kroppen! Dessa kallas för kroppens
huvudtröghetsriktningar.Vidare är egenvärdena lika med
masströghetsmomenten (huvudtröghetsmomenten) runt respektive
riktning, det vill säga de berättarom kroppens utsträckning i
respektive riktning.
Lite mer om egenvektorer och egenvärden
1 Om har en egenvektor med egenvärdet Λ så har n samma
egenvektor med egenvärdet Λn.2 Om har en egenvektor med egenvärdet
Λ så har s samma egenvektor med egenvärdet Λ s, s .3 Om inverterbar
alla egenvärden till är skilda från noll.4 Om har en egenvektor med
egenvärdet Λ så har s 1 samma egenvektor med egenvärdet Λ s 1, s .5
Om alla element i är positiva har minst ett positivt egenvärde och
alla komponenter i motsvarande
egenvektor är ickenegativa. Perrons sats .6 Låt Ci z : z aii i j
aij vara cirklar i det komplexa talplanet. Då ligger samtliga
egenvärden
till i unionen av Ci, det vill säga i Ci. Gerschgorins sats .7
satisfierar sin sekularekvation. Cayley–Hamiltons sats . Detta
märkliga resultat betyder alltså om
sekularekvationen är Λn cn 1Λn 1 c1Λ c0 0 så gäller att n cn 1 n
1 c1 c0 .Exempel: Undersök om Gerschgorin fungerar på matrisen
2 3 13 4 55 8 7
.
Lösningsförslag: Gerschgorins tre cirklar får vi med receptet
(6) ovan. C1 z : z 2 3 1 z : z 2 4 , C2 z : z 4 3 5 z : z 4 8 och
till sist C3 z : z 7 5 8 z : z 7 13 . Sedan egenvärdenamed
sekularekvationen
2 3 13 4 55 8 7
Λ 1 0 00 1 00 0 1
02 Λ 3 1
3 4 Λ 55 8 7 Λ 0 Λ3 5Λ2 76Λ 80 0Λ 1 Λ2 4Λ 80 0 Λ1 2 1 21 , Λ2 2
1 21 och Λ3 1
HH/ITE/BN Matriser och Mathematica 25
-
En liten bild över situationen som bekräftar Gerschgorin kan
inte skada. Vi låter Mathematica göra grovjobbet
2 3 1
3 4 5
5 8 7
; Λ Eigenvalues2 1 21 , 2 1 21 , 1
C1 Λ1C2
Λ2C3
Λ310 5 5 10 15 20
x
10
5
5
10
y
Vi ser att egenvärdena Λ j, j 1, , n till matrisen ligger i
unionen i 13 Ci.
Gauss eliminationsmetod för lösning av linjära
ekvationssystem
Eftersom lösning av ekvationssystem är vardagsmat för alla
världens datorer är det viktigt att ha stabila och effektiva
algoritmer, inteminst då antalet obekanta kanske uppgår till flera
millioner. Man skiljer på iterativa och direkta ekvationslösare.
Exempel på eniterativ metod hittar vi i ett senare avsnitt.
Här ska vi studera den vanligaste direkta metoden som också
varit förhärskande under många decennier. Men innan vi går vidare
skavi betrakta ett litet ekvationssystem med två ekvationer och två
obekanta
2x 6 y 3 14x 7 y 8 2
och göra följande mer eller mindre triviala observationer.
Lösningen till ett ekvationssystem ändras inte om vi
1. Byter plats på två rader.2. Multiplicerar en rad med ett tal
skilt från noll.3. Adderar en rad till en annan.
Detta kallas för elementära radoperationer. Ekvationssystem som
kan omformas i varandra med elementära radoperationer
kallasradekvivalenta och har alltså samma lösning.
Egentligen borde man kanske prata om ekvationer i stället för
rader men denna nomenklatur hör samman med att vi lite längre
framkommer att genomföra arbetet i en matris. Punkt 1 är självklar
och punkt 2 känner vi igen som “man ska göra samma sak på
bådasidor”, det vill säga i exempelvis ekvation (2): 123 4x 7 y 123
8. Punkt 3 vilar på samma argument, så ekvation (2) igen:4x 7 y 2 3
8 2 3. Men enligt ekvation (1) är 2x 6 y 3, vilket vi nu utnyttjar
för att byta ut 3:an i vänsterledet i senasteversionen av ekvation
(2): 4x 7 y 2 2x 6 y 8 2 3 5 y 2. Genom att på ett sådant här smart
sätt utnyttja väsentligenpunkterna 2 och 3 kan man reducera ett
ekvationssystem till en enkel form som är lätt att lösa. Denna
systematiska metod kallasGauss eliminationsmetod och man kan på
grund dess enkelhet lätt dressera en dator att härma den. Häng
mé!
2x 6 y 3 14x 7 y 8 2
Om vi multiplicerar ekvation (1) med 42 och subtraherar den från
ekvation (2) får vi
2x 6y 3 1
4x 7y 42 2x 6 y 842 3 2
vilket hyfsas till
2x 6 y 3 1
5 y 2 2
26 Matriser och Mathematica HH/ITE/BN
-
Det är nu uppenbart att det “smarta” utnyttjandet av punkt 2 och
3 bestod i valet av just 42 så att x elimineras från ekvation (2)
efter
multiplikation och subtraktion av ekvation (1). Strategin är att
med elementära radoperationer arbeta sig systematiskt
igenomkolonnerna i med syfte att göra den högertriangulär, det vill
säga så att alla element under huvuddiagonalen blir noll. Detta
ärsjälva eliminationssteget (eng. elimination). Elementen på
huvuddiagonalen i som används flitigt i nämnaren på den
lämpligafaktorn kallas pivotelement (eng. pivot element). De
obekanta kan nu enkelt bestämmas genom successiv bestämning
“underifrån”,så kallad bakåtsubstitution (eng. back
substitution).
2 : 5 y 2 y 25 1 : 2x 6 25 3 x 2710Gauss eliminationsmetod är
därmed ett systematiskt sätt att bestämma lösningen till
ekvationssystemet utan att använda sigav inversen till . Det brukar
vara praktiskt att utföra räkningarna i totalmatrisen eller utökade
matrisen (eng. augmented matrix),bestående av med en extra kolonn ,
vilket skrivs som kolonnkatenering . Efter eliminationssteget säger
man att totalma-trisen har trappform (eng. row-echelon form). Som
“biprodukt” efter eliminationssteget har vi även determinanten till
somprodukten av talen i huvuddiagonalen.
Man kan visa att Gauss eliminationsmetod är den som kräver minst
antal operationer (multiplikationer och additioner) för att lösa
ettgivet ekvationssystem, lösningstiden är proportionell mot n3,
det vill säga T kn3 där n är antalet obekanta och k en konstant
somberor på datorn. Därför är Gauss en typisk “arbetshäst” i
numerisk analys. Vi illustrerar metoden med ytterligare ett
exempel, dennagång med tre ekvationer och tre obekanta.
Exempel: Använd Gauss eliminationsmetod för att söka lösningen
till , där 2 4 14 6 56 8 4
,236
och x1x2x3
.
Lösningsförslag: Först tittar vi i facit
Solve 2 4 14 6 56 8 4
.x1x2x3
2
3
6
x1 137 , x2 12 , x3 27
Sedan raskt över till Gauss med totalmatrisen 2 4 1 24 6 5 36 8
4 6
. Använd systematiskt elementära radoperationer för att göra
högertri-
angulär. Med k menas talen i rad k i totalmatrisen och med menas
att systemen är radekvivalenta.
Kolonn 1: 2 42 1 , sedan 362 1 :
2 4 1 24 6 5 36 8 4 6
2 4 1 2
4 42 2 642 4 5
42 1 3
42 2
6 62 2 862 4 4
62 1 6
62 2
2 4 1 20 2 7 10 4 7 0
Kolonn 2: 3 42 2 :
2 4 1 20 2 7 10 4 7 0
2 4 1 20 2 7 1
0 4 42 2 742 7 0
42 1
2 4 1 20 2 7 10 0 7 2
Vi är nu färdiga med eliminationssteget och noterar att 2 2 7
28. Undrar ändå
Det 2 4 14 6 56 8 4
28
Slutligen bestämmer vi genom bakåtsubstitution
Ekv 3 : 7x3 2 x3 27Ekv 2 : 2x2 7 27 1 x2 12Ekv 1 : 2x1 4 12 1 27
2 x1 137
137 , 12 , 27 Om vi skapar totalmatrisen , kan vi sedan betrakta
skådespelet som följande programsnutt i Mathematica spelar upp.
HH/ITE/BN Matriser och Mathematica 27
-
M
2 4 1 2
4 6 5 3
6 8 4 6
;
n Length M ;
Print " Elimination "
DoPrint "j ", j, ": ", M ;Doq M i, j
M j, j; M i q M j ;
Print"j ", j, ", i ", i, ", ", a10 i ja10 j j
, " ", q, " ", M;, i, j 1, n ;
, j, 1, n Print " Bakåtsubstitution "
Table 0, n 1 ;
Do i M i, n 1 M i . M i, i ;
Print xi, " ", i ;
, i, n, 1, 1
Elimination
j 1:2 4 1 24 6 5 36 8 4 6
j 1, i 2,a21a11
22 4 1 20 2 7 16 8 4 6
j 1, i 3,a31a11
32 4 1 20 2 7 10 4 7 0
j 2:2 4 1 20 2 7 10 4 7 0
j 2, i 3,a32a22
22 4 1 20 2 7 10 0 7 2
j 3:2 4 1 20 2 7 10 0 7 2
Bakåtsubstitution
x327
x212
x1137
I allmänhet erhåller man det bästa numeriska resultatet genom
att välja så stort pivotelement som möjligt och för att
åstadkommadetta är det ibland nödvändigt att sortera om raderna
enligt elementära radoperationer punkt 1. Detta kallas pivotering.
En godimplementering av Gauss eliminationsmetod, exempelvis Solve i
Mathematica, tar hänsyn till detta.
28 Matriser och Mathematica HH/ITE/BN
-
Jacobis metod för beräkning av invers matris
I praktiken används inversen nästan aldrig explicit. Ofta dyker
den upp i sällskap med multiplikation av vektor, 1 . Då väljerman
istället att med hjälp av Gauss eliminationsmetod lösa
ekvationssystemet . Anledningen till detta är att det
krävsväsentligt mindre arbete i en dator.
Om vi trots allt är intresserade av inversen, så kan vi använda
en till Gauss eliminationsmetod snarlik metod, nämligen
Jacobismetod. Istället för bildar vi totalmatrisen . Med samma
elementära radoperationer som vid Gauss omformar vi sedandenna till
1 . Att detta blir rätt inses av följande kalkyl där är den sökta
inversen till ; 1 1 1.
Exempel: Bestäm inversen till 3 2 14 6 52 7 3
. Använd Jacobis metod.
Lösningsförslag: Först tittar vi i facit
Inverse 3 2 14 6 52 7 3
1771
1371
1671
271
1171
1971
1671
1771
1071
Sedan raskt över till Jacobi. Vi får totalmatrisen 3 2 1 1 0 04
6 5 0 1 02 7 3 0 0 1
. Använd nu elementära radoperationer för att systematiskt
arbeta igenom de tre första kolonnerna så att dessa bildar en
enhetsmatris. Med k menas talen i rad k i totalmatrisen och med
menas att systemen är radekvivalenta.
Kolonn 1: Dividera 1 med 3, sedan 2 4 1 , slutligen 3 2 1 :
3 2 1 1 0 04 6 5 0 1 02 7 3 0 0 1
1 2313
13 0 0
4 6 5 0 1 02 7 3 0 0 1
1 2313
13 0 0
0 103193
43 1 0
2 7 3 0 0 1
1 2313
13 0 0
0 103193
43 1 0
0 173113
23 0 1
Kolonn 2: Dividera 2 med 103 , sedan 123 2 , slutligen 3
173 2 :
1 2313
13 0 0
0 1 191025
310 0
0 173113
23 0 1
1 0 8535
15 0
0 1 191025
310 0
0 173113
23 0 1
1 0 8535
15 0
0 1 191025
310 0
0 0 711085
1710 1
Kolonn 3: Dividera 3 med 7110 , sedan 1 85 3 , slutligen 2 1910
3 :
1 0 8535
15 0
0 1 191025
310 0
0 0 1 16711771
1071
1 0 0 17711371
1671
0 1 191025
310 0
0 0 1 16711771
1071
1 0 0 17711371
1671
0 1 0 2711171
1971
0 0 1 16711771
1071
Vi är nu färdiga och kan direkt avläsa 1
1771
1371
1671
271
1171
1971
1671
1771
1071
.
Om vi skapar totalmatrisen , kan vi sedan betrakta skådespelet
som följande programsnutt i Mathematica spelar upp.
M
3 2 1 1 0 0
4 6 5 0 1 0
2 7 3 0 0 1
;
n Length M ;
DoPrint "j ", j, ": ", M ;p M j, j ; M j
M j
p;
Print "j ", j, ", ", a10 j j, " ", p, " ", M ;
HH/ITE/BN Matriser och Mathematica 29
-
Do If i j, q M i, j ;
M i q M j ;
Print "j ", j, ", i ", i, ", ", a10 i j, " ", q, " ", M ;
, i, 1, n
, j, 1, n j 1:
3 2 1 1 0 04 6 5 0 1 02 7 3 0 0 1
j 1, a11 31 23
13
13 0 0
4 6 5 0 1 02 7 3 0 0 1
j 1, i 2, a21 41 23
13
13 0 0
0 103193
43 1 0
2 7 3 0 0 1
j 1, i 3, a31 2
1 2313
13 0 0
0 103193
43 1 0
0 173113
23 0 1
j 2:
1 2313
13 0 0
0 103193
43 1 0
0 173113
23 0 1
j 2, a22103
1 2313
13 0 0
0 1 191025
310 0
0 173113
23 0 1
j 2, i 1, a1223
1 0 8535
15 0
0 1 191025
310 0
0 173113
23 0 1
j 2, i 3, a32173
1 0 8535
15 0
0 1 191025
310 0
0 0 711085
1710 1
j 3:
1 0 8535
15 0
0 1 191025
310 0
0 0 711085
1710 1
j 3, a337110
1 0 8535
15 0
0 1 191025
310 0
0 0 1 16711771
1071
j 3, i 1, a1385
1 0 0 17711371
1671
0 1 191025
310 0
0 0 1 16711771
1071
j 3, i 2, a231910
1 0 0 17711371
1671
0 1 0 2711171
1971
0 0 1 16711771
1071
30 Matriser och Mathematica HH/ITE/BN
-
En iterativ metod för lösning av linjära ekvationssystem
Fördelen med Gauss eliminationsmetod är att den i ett ändligt
antal operationer ger rätt resultat på given tid T kn3.
Emellertidhamnar man i stora svårigheter då problemstorleken ökar
och inte länge får plats i datorns minne utan måste delas upp i
delma-triser (partioneras) och lagras på disk. Detta ökar
lösningstiden drastiskt till mycket längre än formeln ovan antyder.
Vidare kan manju fråga sig om det är rimligt att bestämma en
lösning med full maskinnoggrannhet, kanske 15-20 digitala siffror,
om man betänkeratt vid matematisk modellering gör man ju en modell
av verkligheten, kanske full av diverse idealiseringar? Då kan det
vara dax attfundera på en iterativ lösare.
Vektorn brukar kallas residualen (felet) eller residualvektorn
eftersom den är skillnaden mellan vänsterled och högerled
iekvationssystemet. Iterativa metoder baserar sig väsentligen på
att man minimerar kvadratsumman 2 .Detta kan göras mycket snålt
eftersom metoderna vanligtvis endast kräver vektorn explicit. Vid
mycket stora problem är detta endramatisk reduktion av
minnesbehovet i datorn jämfört med själv, n jämfört med n2 tal.
Denna situation har man exempelvis vidhållfasthetsberäkningar med
den så kallade finita elementmetoden där är lättare att beräkna än
.
Den bakomliggande idén är enkel. Gissa en lösning 0, mata
algoritmen och ut kommer 1 som är en bättre lösning till
ekvationssys-temet. Denna skickar man naturligtvis in igen å igen
ända till dess ingen förändring sker. Detta kallas att iterera
(efter engelskansiterate = upprepa). Man får alltså en sekvens av
allt bättre i. Den stora fördelen är den tidigare nämnda att endast
behöverlevereras från problembeskrivningen samt att man själv kan
bestämma lösningens noggrannhet genom att avbryta itererandet
närdetta är uppnått. Vanligtvis testas noggrannheten efter
iteration i som i i 1 , eller 2 , där är ett på förhandbestämt
litet tal. När(/om) detta inträffar har vi konvergens, annars
divergens. Att kunna lösa ekvationssystem “lagom” exakt gördet
enklare (möjligt!) att hantera olinjära problem som ändrar sin
karaktär efter ett tag. Typiskt olinjär hållfasthetsberäkning
därmaterialet ändrar egenskaper med belastning. Man får då lasta på
i etapper och iterera “lagom” i var och en av dem, för att först
isista etappen iterera till önskat litet .
Naturligtvis finns det nackdelar. Den största är ju frågan hur
många iterationer som behövs innan önskad noggrannhet uppnås?Detta
avgörs av det så kallade konditionstalet för , som i sin tur beror
på hur utspridda egenvärdena till är. Genom så
kalladförkonditionering med en matris som ”liknar” 1 ökar
prestandan rejält. Stor möda ägnas att finna dylika ”billiga”
förkonditioner-ingar. Detta sökande tillsammans med utveckling av
effektiva iterativa metoder har varit mycket framgångsrikt på
senare år. Redanför små problem har de blivit konkurrenskraftiga
och för de riktigt stora har de varit den enda framkomliga vägen.
En enkel medlemi denna klass av metoder brukar kallas steepest
descent och kan enkelt beskrivas med en analogi från verkliga
livet.
Antag att du befinner dig på en alpsluttning och vill komma ned
i dalen (minimering!). På grund av dimma är sikten begränsad
tillnågra meter. En strategi är då att gå i den riktning som lutar
som mest nedåt. Fortsätt att gå rakt i denna riktning ända till det
börjarluta uppåt. Tag ut ny riktning nedåt. Upprepa (iterera!) till
dess att du kommer till en punkt där det är uppförsbacke i alla
riktningar.Du har då kommit till dalens lägsta punkt!
Nu klär vi denna strategi i något mera precis matematisk dräkt.
Metoden med steepest descent är som sagt helt enkelt en metod
attsöka lokalt minimum till en funktion. Strategin är att från
aktuell punkt i 1 förflytta sig i negativa gradientens riktning
i 1 i 1 . Man kan med hjälp av figurerna nedan dra sig till
minnes att detta innebär i en riktning vinkelrät mot den
nivåkurvaman befinner sig på. Det optimala steget i denna riktning
är ju att gå så länge funktionen avtar. Detta ges av Αi i 1. Från
denna nyapunkt i i 1 Αi i 1 tar man så ut en ny riktning och så
vidare till dess man kommit till en punkt där ingen negativ
gradientrikt-ning kan hittas. Vi har då kommit till minpunkten.
Metoden fungerar speciellt bra på kvadratiska funktioner, vilket
det är frågan omhär. Steglängden Αi, vars uppbyggnad vi inte
fördjupar oss i för tillfället, är utformad för att vara optimal i
detta fall, det vill säga vitar hela den aktuella nerförsbacken i
ett steg. Vetskapen att en kvadratisk funktion bara har ett enda
lokalt och därmed globaltminimum ökar tryggheten ytterligare. Vi
illustrerar med ett exempel.
Exempel: Dressera Mathematica till att lösa ekvationssystemet 4
22 7
xy
2022
med steepest descent.
Lösningsförslag: Vi kör igång direkt, starta i 0 0, 0 häng
mé
4 2
2 7; 20, 22 ; 0.0, 0.0 ; track ; 1, 1 ;
While . 10 6,. ;Α .
. .;
Α ;Print , Α, , Α , . ;AppendTo track, ;
HH/ITE/BN Matriser och Mathematica 31
-
2.62004, 2.88204 , 0.131002, 20., 22. , 2.62004, 2.88204 ,
884.
3.73566, 1.86783 , 0.297043, 3.75578, 3.41434 , 1.11563, 1.01421
, 25.7636
3.90881, 2.05829 , 0.131002, 1.32168, 1.45385 , 0.173143,
0.190457 , 3.86052
3.98253, 1.99127 , 0.297043, 0.248197, 0.225634 , 0.0737253,
0.067023 , 0.112513
3.99397, 2.00385 , 0.131002, 0.0873422, 0.0960764 , 0.011442,
0.0125862 , 0.0168593
3.99885, 1.99942 , 0.297043, 0.0164019, 0.0149108 , 0.00487207,
0.00442915 , 0.000491354
3.9996, 2.00025 , 0.131002, 0.00577193, 0.00634912 ,
0.000756133, 0.000831746 , 0.0000736265
3.99992, 1.99996 , 0.297043, 0.0010839, 0.000985368 ,
0.000321966, 0.000292697 , 2.1458 10 6 3.99997, 2.00002 , 0.131002,
0.000381433, 0.000419576 , 0.0000499684, 0.0000549652 , 3.21535 10
7Vilken väg tog vi?
track
0. 2.62004 3.73566 3.90881 3.98253 3.99397 3.99885 3.9996
3.99992 3.999970. 2.88204 1.86783 2.05829 1.99127 2.00385 1.99942
2.00025 1.99996 2.00002
Vi är väsentligen framme redan efter några iterationer. I
figurerna nedan ser man vägen ner i dalen med optimal
steglängd.Fotavtrycken är markerade med röda punkter.
1
5
10
2550
100
200
200
400
400
600
600
800
0 1 2 3 4 50
1
2
3
4
5
x
y
Nivåkurvor
Till slut stillar vi vår oro
Solve . x, y
x 4, y 2
Avslutningsvis nöjer vi oss med att nämna att liknande iterativa
algoritmer kan konstrueras för att bestämma inverser samt
egenvär-den och egenvektorer. Om detta och mycket mer finns att
läsa i “A Tiny Tale of some Atoms in Scientific Computing” ingående
iserien “Något om och Mathematica”.
32 Matriser och Mathematica HH/ITE/BN