import numpy as np
## np.array or np.matrix
A = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
B = np.array([1, 2, 3, 4, 5, 6])
print(A)
print(type(A))
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
# <class 'numpy.ndarray'>
print(B)
print(type(B))
# [1 2 3 4 5 6]
# <class 'numpy.ndarray'>
print(B.reshape((2, 3)))
print(type(B))
# [[1 2 3]
# [4 5 6]]
# <class 'numpy.ndarray'>
C = np.mat([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
print(C)
print(type(C))
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
# <class 'numpy.matrix'>
NumPy for Matlab users — NumPy v1.14 Manual
https://docs.scipy.org/doc/numpy-1.14.0/user/numpy-for-matlab-users.html
# 加 減
A = np.array([
[2, 12, 9],
[12, 5, 8],
[5, 9, 17],
])
B = np.array([
[21, 17, 2],
[10, 32, 14],
[34, 4, 8],
])
print(A + B)
# [[23 29 11]
# [22 37 22]
# [39 13 25]]
print(A - B)
# [[-19 -5 7]
# [ 2 -27 -6]
# [-29 5 9]]
print(np.array_equal(A + B, B + A)) # True
print(np.array_equal(A - B, B - A)) # False
# 乘法
#1
np1 = np.array([
[1, 2],
[3, 4]
])
np2 = np.array([
[2, 2],
[1, 1]
])
print(np1.dot(np2))
# [[ 4 4]
# [10 10]]
#2
np1 = np.array([
[3],
[2],
[1]
])
np2 = np.array([
[3, 3, 3]
])
print(np1.dot(np2))
# [[9 9 9]
# [6 6 6]
# [3 3 3]]
#3
np1 = np.array([
[5],
[8],
[9],
[10]
])
np2 = np.array([
[7, 6],
[4, 6],
[3, 5]
])
print(np1.dot(np2))
# ValueError: shapes (4,1) and (3,2) not aligned: 1 (dim 1) != 3 (dim 0)
#4
np1 = np.array([
[8, 4, 2],
[1, 1, 3]
])
np2 = np.array([
[1],
[2],
[1]
])
print(np1.dot(np2))
# [[18]
# [ 6]]