python矩阵的形状
A =np.array([[[1],[2],[3]],
[[4],[5],[6]]])
AA =np.array([[1,2,3],
[4,5,6]])
print(A)
print(A.shape)
print(AA)
print(AA.shape)
python矩阵的乘法
A = np.array([[1, 2, 3, 4],
[1, 2, 3, 4],
[1, 1, 1, 1],
[1, 1, 1, 1]])
B = np.array([[1],[2],[1],[2]])
C = A*B
D = np.dot(A,B)
print(C)
print(D)
np.dot函数用于矩阵乘法,对于二维数组,它计算的是矩阵乘积,对于一维数组,它计算的是内积。
A*B是矩阵的点乘,当行数或者列数不够时,会采用广播机制进行运算
A=np.array([[1,2],[4,5],[3,6]]) #行数为3,列数为2二维数组
B=np.array([[1,2],[1,2],[1,3]]) #行数为3,列数为2二维数组
C=np.array([[2,1]]) #行数为1,列数为2的二维数组
D=np.array([[3],[1],[2]]) #行数为3,列数为1的二维数组
print(f'A*B={A*B}') #矩阵点乘
print(f'A*C={A*C}') #行数不够,采用广播机制进行运算
print(f'A*D={A*D}') #列数不够,采用广播机制进行运算
运行结果
A*B=[[ 1 4]
[ 4 10]
[ 3 18]]
A*C=[[2 2]
[8 5]
[6 6]]
A*D=[[ 3 6]
[ 4 5]
[ 6 12]]