次元の異なる足し算、掛け算

異なる次元の配列同士の演算は、ブロードキャストと呼ばれる機能を使用して行われます。ブロードキャストでは、NumPyが自動的に配列を適切な形に拡張して計算を行います。

例えば、次元が異なる配列の足し算や掛け算を行う場合、NumPyは次元の小さい方の配列を大きい方の配列に合わせるように拡張します。具体的には、小さい方の配列の形状が(1, n)の場合、その次元を大きい方の配列の形状に合わせるように拡張します。

以下に、異なる次元の配列同士の足し算と掛け算の例を示します:

python
import numpy as np

# 次元の異なる配列を定義
a = np.array([1, 2, 3])   # 形状: (3,)
b = np.array([[4], [5], [6]])  # 形状: (3, 1)

# 足し算
c = a + b  # ブロードキャストが適用されて、bが(3, 3)の形状に拡張される

# 掛け算
d = a * b  # ブロードキャストが適用されて、bが(3, 3)の形状に拡張される

print("足し算:", c)
print("掛け算:", d)

この例では、配列 ab の次元が異なりますが、ブロードキャストによって適切に拡張されて演算が行われます。結果の配列 cd の形状はどちらも (3, 3) になります。

未分類

Posted by ぼっち