行列同士の要素ごとの積を計算する際はnumpy.multiplyを使う
np.multiply(arr1, arr2)
アダマール積と言うらしい。
頭悪い、みたいだな。。
やりたいのは要素同士ではなく、内積の方。
これは何度も出てきている numpy.dot()もしくはnumpy.matmul()を使う
import numpy as np arr1 = np.arange(1,5).reshape((2,2)) arr2 = np.arange(3,9).reshape((2,3)) print(arr1) print(arr2) print(np.dot(arr1,arr2)) print(arr1.dot(arr2)) print(np.matmul(arr1,arr2))
[vagrant@localhost python]$ python app.py
[[1 2]
[3 4]]
[[3 4 5]
[6 7 8]]
[[15 18 21]
[33 40 47]]
[[15 18 21]
[33 40 47]]
[[15 18 21]
[33 40 47]]
おおおおおおおおおおお、素晴らしいですね、これは。
早く画像処理まで行きたいですな。