>>> a = np.array([1,2,3])
>>> b = np.array([2,3,4])
>>> np.dot(a, b)
20
>>> A = np.array([[1,2],[2,3],[3,4]]) # 3x2
>>> B = np.array([[1,2,3],[2,3,4]]) # 2x3
>>> np.dot(A, B)
array([[ 5, 8, 11],
[ 8, 13, 18],
[11, 18, 25]])
Comme indiqué ci-dessus, «numpy.dot» avec deux tableaux 1d donne un produit interne, et deux tableaux 2d donne un produit matriciel, Que faire si je passe un tableau 1d et un tableau 2d?
>>> A = np.array([[1,2],[2,3],[3,4]]) # 3x2
>>> b = np.array([1,2,3])
>>> np.dot(b, A)
array([14, 20])
Le tableau 3D 1d passé au premier argument, b
, est traité comme un tableau 1x3 2d.
Le produit de la matrice est converti en tableau 1d et renvoyé.
>>> A = np.array([[1,2],[2,3],[3,4]]) # 3x2
>>> B = np.array([[1,2,3]]) #1x3
>>> np.dot(B, A)
array([[14, 20]])
>>> A = np.array([[1,2],[2,3],[3,4]]) # 3x2
>>> b = np.array([1,2])
>>> np.dot(A, b)
array([ 5, 8, 11])
Lorsqu'il est passé au deuxième argument, il est traité comme un tableau 2x1 2d.
>>> A = np.array([[1,2],[2,3],[3,4]]) # 3x2
>>> B = np.array([[1],[2]]) # 2x1
>>> np.dot(A, B)
array([[ 5],
[ 8],
[11]])
Le tableau 1d à N dimensions est
numpy.dot
numpy.dot
, le traiter comme un tableau 2d de Nx1
Ensuite, le produit de la matrice est converti en tableau 1d et renvoyé.Recommended Posts