python矩阵形状和乘法

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矩阵形状和乘法_第1张图片

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)

python矩阵形状和乘法_第2张图片

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

你可能感兴趣的:(学习,python,矩阵,numpy)