Matrixrekening: Matrices in Python

Theorie Rekenen met matrices en vectoren

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.]]

About us ⋅ Privacy ⋅ Terms and conditions
Copyright © 2022 SOWISO B.V.