np.dot 2ベクトル乗算

1254 ワード

pythonでnumpyを用いてベクトル乗算を行う場合,2つのベクトルを乗算してマトリクス形式を得ることが望ましい.ここでは、マトリクスを乗算するには、ベクトルに次元を追加する必要はありません.pythonコードは次のとおりです.
import numpy as np
a = np.array([1, 2, 3])   # shape: (3,)
b = np.array([1, 2])      # shape: (2,)
c = np.dot(a[:, None], b[None, :])   #   a[:, None]       , a shape  (3,1), b:(1,2)
print(c)
>> [[1 2]
 [2 4]
 [3 6]]
ここでaのshapeは(3,)なので、直接乗算するのは乗れません.