något om matriser och mathematicadixon.hh.se/bertil/kurser/common/appliedmath/notes/... · 2020....

32
Något om Matriser och Mathematica Bertil Nilsson 2020-08-15 Denna väntan varje jul x i1 11 12 x i mod 1 x 169 x 170 x 171 x 172 x 173 x 174 x 156 x 157 x 158 x 159 x 160 x 161 x 162 x 163 x 164 x 165 x 166 x 167 x 168 x 143 x 144 x 145 x 146 x 147 x 148 x 149 x 150 x 151 x 152 x 153 x 154 x 155 x 130 x 131 x 132 x 133 x 134 x 135 x 136 x 137 x 138 x 139 x 140 x 141 x 142 x 117 x 118 x 119 x 120 x 121 x 122 x 123 x 124 x 125 x 126 x 127 x 128 x 129 x 104 x 105 x 106 x 107 x 108 x 109 x 110 x 111 x 112 x 113 x 114 x 115 x 116 x 91 x 92 x 93 x 94 x 95 x 96 x 97 x 98 x 99 x 100 x 101 x 102 x 103 x 78 x 79 x 80 x 81 x 82 x 83 x 84 x 85 x 86 x 87 x 88 x 89 x 90 x 65 x 66 x 67 x 68 x 69 x 70 x 71 x 72 x 73 x 74 x 75 x 76 x 77 x 52 x 53 x 54 x 55 x 56 x 57 x 58 x 59 x 60 x 61 x 62 x 63 x 64 x 39 x 40 x 41 x 42 x 43 x 44 x 45 x 46 x 47 x 48 x 49 x 50 x 51 x 26 x 27 x 28 x 29 x 30 x 31 x 32 x 33 x 34 x 35 x 36 x 37 x 38 x 13 x 14 x 15 x 16 x 17 x 18 x 19 x 20 x 21 x 22 x 23 x 24 x 25 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 HH/ITE/BN Matriser och Mathematica 1

Upload: others

Post on 31-Jan-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

  • 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

    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