Je kunt in Python gemakkelijk matrices optellen, aftrekken, vermenigvuldigen (ook scalair) en machtsverheffen. Voorbeelden illustreren dit het beste.

Rekenen met matrices en vectoren

>>> import numpy as np
>>> A = np.array([[1, 2, 3], [4, 5, 6]]); print(A)
[[1 2 3]
[4 5 6]]
>>> B = np.diag([1,2,3]); print(B)
[[1 0 0]
[0 2 0]
[0 0 3]] >> At = np.transpose(A); print(At) # getransponeerde van A [[1 4]
[2 5]
[3 6]] >>> A.dot(B) # matrixvermenigvuldiging als methode array([[ 1, 4, 9],
[ 4, 10, 18]]) >>> print( A @ B) # matrixvermenigvuldiging als operator
[[ 1 4 9]
[ 4 10 18]]
>>> print(A @ At)
[[14 32]
[32 77]]
>>> C = At @ A; print(C)
[[17 22 27]
[22 29 36]
[27 36 45]] >>> print(C + B) # optelling van matrices [[18 22 27]
[22 31 36]
[27 36 48]] >>> print(3*A) # scalaire vermenigvuldiging [[ 3 6 9]
[12 15 18]] >>> v = np.array([[1],[2],[3]]); print(v)
[[1]
[2]
[3]] >>> print(A @ v) # matrix-vector vermenigvuldiging
[[14]
[32]] >>> print(vt @ At) # vector-matrix vermenigvuldiging [[14 32]]
>>>
>>> import numpy.linalg as la
>>> Bmat = matrix(B) # overgang van array naar matrix datastructuur >>> la.matrix_power(Bmat, 3) # machtsverheffing: B^3 = B @ B @ B matrix([[ 1, 0, 0],
[ 0, 8, 0],
[ 0, 0, 27]]) >>> la.matrix_power(Bmat, -1) # inverse als macht
matrix([[1. , 0. , 0. ],
[0. , 0.5 , 0. ],
[0. , 0. , 0.33333333]]) >>> la.inv(B) # inverse array
array([[1. , 0. , 0. ],
[0. , 0.5 , 0. ],
[0. , 0. , 0.33333333]])

Als je optellen, aftrekken, vermenigvuldigen en machtsverheffen wilt toepassen op componenten van vectoren of op matrixelementen, dan kan dat ook. We geven wat voorbeelden.

Operaties op matrixelementen

>>> print(A)
[[1 2 3]
[4 5 6]] >>> print(A**2)
[[ 1 4 9]
[16 25 36]] >>> print(A*A) [[ 1 4 9]
[16 25 36]] >>> print(A / A)
[[1. 1. 1.]
[1. 1. 1.]]

Ontgrendel volledige toegang  unlock