NumPy⑪ (ベクトル同士の積/アダマール積)

ベクトル同士の積/アダマール積

ベクトルの掛け算については、行ベクトルと列ベクトル または 列ベクトルと行ベクトル の計算が可能ですが、行ベクトル同士 または 列ベクトル同士 の掛け算はできません。

ただし ndarrayオブジェクト で表現されるベクトルは1次元配列なので、行・列の概念がありません

足し算や引き算のように同じ次元数のベクトル同士を掛け算すると、同じ次元の成分同士が掛け算されます。

これをベクトルの アダマール積 と呼びます。

アダマール積 は、ブロードキャスト の仕組みによって実現されます。

[Google Colaboratory]

1
2
3
4
5
6
import numpy as np

vec1 = np.array([10, 20, 30])
vec2 = np.array([40, 50, 60])

vec1 * vec2 # アダマール積を求める

[実行結果]