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
Top Related