は私が5次元マトリックスv
があると仮定し、今私は新しい行列D
私はエレガントnumpyの中でこれを行うにはどうすればよいnumpyで次の行列をうまく構築するには?
D[a, b, n, m, d] = v[a, b, n, n, d]-v[a, b, m, m, d].
を果たしたいですか?
は私が5次元マトリックスv
があると仮定し、今私は新しい行列D
私はエレガントnumpyの中でこれを行うにはどうすればよいnumpyで次の行列をうまく構築するには?
D[a, b, n, m, d] = v[a, b, n, n, d]-v[a, b, m, m, d].
を果たしたいですか?
のようにそれを再構築することができます
`D '(4D)に` v`(5D)から行くにマッピングする基準は何D = np.einsum('abiic->abic', v)[..., None, :] - np.einsum('abiic->abic', v)[:, :, None, ...]
「v」は「5D」ではありませんでしたか?この「aiib」の表記法では、代わりに「v」を「4D」としているようです。 – Divakar
ありがとうございます。それに応じて編集。 –
どのようにディメンションを変更しますか?あなたは、私がこれを行うことができますeinsum
たこの
import numpy as np
a, b, n, d = 2, 3, 4, 5
v = np.zeros((a, b, n, n, d))
D = v.reshape((a, b, n*n, d))
正しい結果が得られていないようです。 –
?ある種の縮小/対角加算? – Divakar
元の投稿にマッピングルールを示しました。すべてのあいまいさ? –
申し訳ありませんが、私はそれを表示されません。私は目の診察が必要ではないことを願っています! – Divakar