Denna Maplesession består av två avdelningar:

1. Ortogonala matriser och

2. Egenvärden och egenvektorer.



1. Ortogonala matriser

Maple erbjuder ett sätt att bilda en ortogonal matris utifrån en viss godtycklig riktning

som läggs in i första raden.

Metoden bygger på Gram-Schmidts ortogonaliseringsmetod.

Vi börjar med att ladda in linalg-paketet och den givna riktningen

representerad av vektorn a = (1,2,2):

> with(linalg):

> a:=vector([1,2,2]);
b:=vector([1,0,0]); c:=vector([0,1,0]);

De två övriga vektorerna b och c är två andra vektorer som tillsammans med a

bildar ett linjärt oberoende system.

[Maple Math]

[Maple Math]

[Maple Math]

Kommandot 'GramSchmidt' skapar ett ortogonalt system av vektorer utgående från den

första vektorn (här a) i argumenten.

Dvs. den första vektorn ingår alltid bland de tre ortogonala.

> G:=GramSchmidt([a,b,c]);

[Maple Math]

Här erhålls tre ortogonala vektorer, varav den första mycket riktigt är a=(1,2,2).
Dessa vektorer ligger själva i vektorn G och kan benämnas G[1],G[2] resp. G[3].

Anm: Om man matar in två inbördes ortogonala vektorer i GramSchmidt i de första två positionerna,
bibehålls dessa två medan en ny tredje vektor, ortogonal mot de första två, anges i utmatningen.

I nästa steg normaliseras dessa:

> a1:=normalize(G[1]);

> b1:=normalize(G[2]);c1:=normalize(G[3]);

[Maple Math]

[Maple Math]

[Maple Math]

Nu har vi tre normerade, ortogonala vektorer som alltså kan vara rader i en ortogonal matris:

> O1:=matrix(3,3,[a1,b1,c1]);

[Maple Math]

Vi kollar ortogonaliteten genom att bilda produkten mellan matrisen och dess transponat.

Om matrisen är ortogonal ska resultatet bli en enhetsmatris.

> P:=evalm(O1&*transpose(O1));

[Maple Math]

Stämmer alltså!

Vi kollar determinanten också.

Den är +1 eller -1 för ortogonala matriser.
+1 om raderna bildar ett högersystem, annars -1.

> det(O1);

[Maple Math]

Alltså ett högersystem!

Den ortogonala matrisens effekt på vektorer kan också

prövas med matrismultiplikation:

(OBS att man inte behöver ta 'transpose(a)' i produkten!)

> s:=evalm(O1&*a);

[Maple Math]

Att andra och tredje komponenten blev 0 var förutsägbart.

a är ju parallell med första raden och därmed ortogonal mot både

andra och tredje raden i O1.





2. Egenvärden och egenvektorer.



Vi förutsätter att dessa begrepp är kända.
I kursen koncentrerar vi oss på egenvärden av symmetriska matriser.
Sådana matriser har alltid reella egenvärden.

Vi matar in en symmetrisk matris (Exempel 15, s. 178i ELA)

> A:=matrix(3,3,[1,0,3,0,1,4,3,4,1]);

[Maple Math]

Egenvärden och egenvektorer erhålles direkt genom kommandot 'eigenvects':

> EV:=eigenvects(A);

[Maple Math]

Resultatet är en aning svårtolkat.

I första tredjedelen står det: ' 1 , 1 , [[-4/3,1,0]) ' .

Detta tolkas så att första egenvärdet är 1 (första ettan),

som har 1 st. egenvektor (andra ettan) och den egenvektorn är [-4/3,1,0].

De två andra tredjedelarna talar på samma sätt om att de andra egenvärdena

är 6 resp. -4, som har varsina egenvektorer, som också anges..

Vi ger också ett exempel med dubbla egenvärden , där ett

egenvärde har två linjärt oberoende egenvektorer (ELA 518d)

> B:=matrix(3,3,[1,2,-2,-2,5,-2,-6,6,-3]);

[Maple Math]

> eigenvects(B);

[Maple Math]

Här är alltså -3 och 3 egenvärden och egenvärdet 3 har två linjärt oberoende

egenvektorer. Detta framgår av uttrycket ' 3,2,[...' där tvåan står

för antalet egenvektorer som förknippas med egenvärdet 3.

Här ger Maple egenvektorerna [1,1,0] och [-1,0,1].

Dessa är inte inbördes ortogonala.

Det är dock möjligt att skaffa sig två ortogonala egenvektorer hörande till 3.

Gram-Schmidt kan användas

> h:=vector([1,1,0]);v:=vector([-1,0,1]);

[Maple Math]

[Maple Math]

> Gr:=GramSchmidt([v,h]);

[Maple Math]

Här är de två vektorerna ortogonala.

Man kan visa att den nya, andra vektorn , v2 = Gr[2], också är en egenvektor svarande mot

egenvärdet 3:

> V:=evalm(B&*Gr[2]);

[Maple Math]

Observera att resultatet blev Bv2 = 3v2.

Stämmer alltså.