import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[1, 2], [3, 4]])
C = 3
# 矩阵的加法
print(A+B)
[[2 4]
[6 8]]
print(np.linalg.det(A))
-2.0000000000000004
# 数与矩阵相乘
print(3*A)
[[ 3 6]
[ 9 12]]
# 矩阵与矩阵相乘
A = np.array([[4, -1, 2], [1, 0, 3], [3, 1, 4]])
B = np.array([[1, 2], [0, 1], [3, 0]])
print(np.dot(A, B))
[[10 7]
[10 2]
[15 7]]
# 矩阵的转置
print(A.T)
[[ 4 1 3]
[-1 0 1]
[ 2 3 4]]
# 逆矩阵,不是方阵会出错
print(np.linalg.inv(A))
[[ 0.2 -0.4 0.2 ]
[-0.33333333 -0.66666667 0.66666667]
[-0.06666667 0.46666667 -0.06666667]]
# 矩阵分块法
A = np.random.randint(0,9,size=(9,9))
print(A)
[[1 3 5 3 7 6 4 5 2]
[5 3 2 2 8 4 6 7 0]
[1 0 4 3 5 8 0 7 1]
[6 7 1 6 1 6 1 0 6]
[7 6 6 8 5 4 2 7 0]
[4 7 4 6 7 7 8 7 5]
[2 7 2 8 6 6 3 2 2]
[4 4 2 0 8 1 8 1 0]
[0 0 3 1 7 8 4 8 3]]
strides = A.itemsize * np.array([27, 3, 9, 1]) #这一步需要好好理解下
A = np.lib.stride_tricks.as_strided(A, shape=(3, 3,