0
N×2アレイに2×Nアレイを乗算(行列乗算)したい。N 2×2アレイに2×nアレイを乗算するためのnumpyドットまたはエインサム
n = np.array([1,2,3])
m = np.array([[n,0*n],[0*n,0*n+1]]).T
# shape: (3, 2, 2)
# [[[1 0]
# [0 1]]
# [[2 0]
# [0 1]]
# [[3 0]
# [0 1]]]
x = np.array([[1,2,3],[4,5,6]])
# shape: (2, 3)
# [[1 2 3]
# [4 5 6]]
だから、結果は
[[1 4 9]
[4 5 6]]
する必要がありますこれはeinsumやドットで可能なはずですが、私は両方で失敗しました。私が読んだことから、ドットを使った解決策は潜在的に速くなるでしょう。
edit:もう少し文脈を与える:これは2xnベクトル上の実際の(2x2)行列乗算です。しかし、n個の異なる行列が存在する:n個のベクトル要素のそれぞれに1つ。
これが正しい 'のようなもの' です。正しい結果は、少なくともその中に埋もれています。しかし、あなたはそれを引き出す必要があります。これは、必要以上に多くの乗算を行います。編集:期待される出力は質問にあります – Basti
あなたは期待される出力を書くことができますか? –
これは「結果が「 – Basti