LA1 - Vektoralgebra

Vektoralgebra hör kanske inte till de främsta tillämpningsområdena för Maple.

Dock är det fullt möjligt att låta Maple utföra de vanligaste vektoroperationerna.


Man måste då först ladda in paketet 'linalg':

(OBS. Sätt':' efter kommandot och inte ';' för att undvika

ett stort output med paketets innehåll.)

> with(linalg):

En vanlig vektor matas in så här:

a:=vector([1,2,3]);

[Maple Math]

Här normeras a med kommandot 'normalize'

>
ea:=normalize(a);

[Maple Math]

Här matas en ny vektor b in.
Man bildar beloppet (längden) med funktionen

'norm' där man ska ha siffran 2 i andra positionen

för att få vanligt belopp.

Pröva gärna med 3 eller infinity istället och se vad som händer!

> b:=vector([3,-2,1]);
f:=norm(b,2);

[Maple Math]

[Maple Math]

Vektoraddition och multiplikation med skalär utförs

på ett förutsägbart sätt:

> c1:=a+b;
c2:=3*a;

[Maple Math]

[Maple Math]

Dock måste man använda funktionen 'evalm' för att få ut

resultatet av operationerna i klartext:

> c1:=evalm(a+b);
c2:=evalm(3*a);

[Maple Math]

[Maple Math]

Skalärprodukt utförs med 'dotproduct'.
Här behövs inte 'evalm':

> d:=dotprod(a,b);

[Maple Math]

Projektionen av b på a kan bestämmas:
(ea var alltså den normerade versionen av a)

> projba:=dotprod(b,ea)*ea;

[Maple Math]

Och med 'evalm':
(Finess: '%' betyder 'det sist definierade uttrycket'
och kan här ersätta 'projba'.)

> evalm(%);

[Maple Math]

Vi avslutar med en enkel kryssprodukt axb :

> kr:=crossprod(a,b);

[Maple Math]