LA.mws

> with(linalg):

Matrices en vectoren

Vectoren en matrices kunnen we als volgt invoeren:

> v:=Vector([4,8,12]);

v := _rtable[965552]

> N:=matrix([[1,2,3],[5,6,7],[9,10,11]]);

N := matrix([[1, 2, 3], [5, 6, 7], [9, 10, 11]])

> M:=matrix([[1,1,-2],[2,6,-4],[-2,1,2]]);

M := matrix([[1, 1, -2], [2, 6, -4], [-2, 1, 2]])

Operaties met matrices

Merk op: voor product van matrices gebruiken we &* , voor vermenigvuldiging van een matrix met een skalar gebruiken we * .

> evalm(2*M-N);

matrix([[1, 0, -7], [-1, 6, -15], [-13, -8, -7]])

> evalm(M&*N);

matrix([[-12, -12, -12], [-4, 0, 4], [21, 22, 23]])...

> evalm(M&*v);

vector([-12, 8, 24])

Oplossen van stelsels lineaire vergelijkingen

We lossen het stelsel Nx=v op:

> linsolve(N,v);

vector([-2+_t[1], 3-2*_t[1], _t[1]])

We zien dat het stelsel oneindig veel oplossingen heeft.

Daarentegen heeft het stelsel Mx=v een unieke oplossing:

> linsolve(M,v);

vector([-16, 0, -10])

Eigenwaarden en eigenvectoren

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

A := matrix([[2, -3, 1], [0, -1, 1], [0, 0, -1]])

Eigenwaarden van A zijn de oplossingen van de karakteristieke vergelijking van A :

> charpoly(A,lambda);

(lambda-2)*(lambda+1)^2

> solve(%);

2, -1, -1

We kunnen ook direct eigenwaarden berekenen:

> eigenvalues(A);

2, -1, -1

> eigenvectors(A);

[2, 1, {vector([1, 0, 0])}], [-1, 2, {vector([1, 1,...

Hoe moeten we dit lezen?

[2, 1, {vector([1, 0, 0])}]

betekent: de eigenwaarde 2 heeft multipliciteit 1 en de bijbehorende eigenvector is [1,0,0].

[-1, 2, {vector([1, 1, 0])}]

betekent: de eigenwaarde -1 heeft multipliciteit 2 en de bijbehorende eigenvector is [1,1,0].

De eigenwaarde -1 heeft multipliciteit 2 maar de bijbehorende eigenruimte heeft dimensie 1 .

Om een gegeneraliseerde eigenvector bij de eigenwaarde -1 te vinden lossen we het stelsel (A-(-1)I)x=[1,1,0] op:

> B:=evalm(A-(-1)*Matrix(3,3,shape=identity));

B := matrix([[3, -3, 1], [0, 0, 1], [0, 0, 0]])

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

b := vector([1, 1, 0])

> linsolve(B,b);

vector([_t[1], _t[1], 1])

Kies nu t=0 : een gegeneraliseerde vector is dan [0,0,1].

>