> with(linalg):
Matrices en vectoren
Vectoren en matrices kunnen we als volgt invoeren:
> v:=Vector([4,8,12]);
> N:=matrix([[1,2,3],[5,6,7],[9,10,11]]);
> 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);
> evalm(M&*N);
> evalm(M&*v);
Oplossen van stelsels lineaire vergelijkingen
We lossen het stelsel Nx=v op:
> linsolve(N,v);
We zien dat het stelsel oneindig veel oplossingen heeft.
Daarentegen heeft het stelsel Mx=v een unieke oplossing:
> linsolve(M,v);
Eigenwaarden en eigenvectoren
> 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);
> solve(%);
We kunnen ook direct eigenwaarden berekenen:
> eigenvalues(A);
> eigenvectors(A);
Hoe moeten we dit lezen?
betekent: de eigenwaarde 2 heeft multipliciteit 1 en de bijbehorende eigenvector is [1,0,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:=vector([1,1,0]);
> linsolve(B,b);
Kies nu t=0 : een gegeneraliseerde vector is dan [0,0,1].
>