>>> c= array([[[1, 2],
[3, 4]],
[[2, 1],
[4, 3]],
[[3, 2],
[1, 4]]])
>>> x
array([[0, 1, 2],
[3, 4, 5]])
リターン私各列は、通常の行列乗算にxの各対応する列を乗算Cの各行列の積になるようにマトリックス。私はそれをベクトル化する方法を見つけ出そうとしているか、少なくともループを使って解決していない。 numpyのアレイの動作方法
array([[6, 6, 16]
12, 16, 22]])
へ
は、この操作はさらにさんは、私は行列の配列を持っていることを言わせて拡張し>>> c
array([[[1, 2],
[3, 4]],
[[2, 1],
[4, 3]],
[[3, 2],
[1, 4]]])
>>> x
array([[[1, 2, 3],
[1, 2, 3]],
[[1, 0, 2],
[1, 0, 2]],
[[2, 3, 1],
[0, 1, 0]]])
def fun(c,x):
for i in range(len(x)):
np.einsum('ijk,ki->ji',c,x[i])
##something
だから基本的に、私はCの全てでのx乗の各行列を持つようにしたいと言います。
Xcのをベクトル化しようと、私は問題を解決するために問題が発生してきたので、私はこれをやっているループ
理由のためにこれを導入することなく、Cに似た構造体を返す(操作は通常の行列の列を次のベクトル乗算)、cは3D配列、上からcのように、各要素が行列である列ベクトル(numpyでは、上の形式)。 Xは各要素が1D配列の行列です。 Xcの出力は1D配列でなければなりません。
ので、予想される出力は、3Dもありか? – Divakar
@Divakarはい、楽しみのために(c、x)3D配列にする必要があります。 – ElleryL