1 np.dot
dot函数为numpy库下的一个函数,主要用于矩阵的乘法运算,其中包括:向量内积、矩阵乘法。
用法:A.dot(B) 等价于 np.dot(A,B) ———
如果A、B是一维数组,且长度一样,则是执行数组的内积。
import numpy as np
A=np.array([0,1,2,3,4])
B=np.array([1,2,3,4,5])
print np.dot(A,B)
输出
0*1 + 1*2 + 2*3 + 3*4 + 4*5
=40
如果A是m*n 矩阵 ,B是n*m矩阵,则是执行矩阵乘法,注意m可以不同。
import numpy as np
A=np.arange(0,6).reshape(2,3)
B=np.random.randint(0,10,size=(3,2))
np.dot(A,B)
输出
A(2,3) B(3,2) 输出(2,2)
[[0 1 2] [[7 5] [[12 11]
[3 4 5]] * [0 7] = [51 53]]
[6 2]]
2 np.multiply?
数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致。
np.multiply (A,B),A、B的维数必须一致。
import numpy as np
A = np.arange(1,5).reshape(2,2)
A = np.arange(1,5).reshape(2,2)
np.multiply(A,B)
输出
A
[[1, 2]
[3, 4]]
B
[[0, 1]
[2, 3]]
输出
[[ 0, 2]
[ 6, 12]]
3 星号乘法(*)
对数组执行对应位置相乘
import numpy as np
A = np.arange(1,5).reshape(2,2)
A = np.arange(1,5).reshape(2,2)
A*B
?输出
A*B=np.multiply(A,B)
[[ 0, 2]
[ 6, 12]]
?对矩阵执行矩阵乘法运算??
(np.mat(A))*(np.mat(B))
np.mat()函数用于将输入解释为矩阵
(np.mat(A))*(np.mat(B))=np.dot(A,B)
[[ 4, 7]
[ 8, 15]]
?
|