もともとMATLABにあるnumpyを使用して関数を書き直そうとしています。MATLAB では次のような論理インデックス付け部分があります。
X = reshape(1:16, 4, 4).';
idx = [true, false, false, true];
X(idx, idx)
ans =
1 4
13 16
numpy で作成しようとすると、正しいインデックスを取得できません。
X = np.arange(1, 17).reshape(4, 4)
idx = [True, False, False, True]
X[idx, idx]
# Output: array([6, 1, 1, 6])
論理インデックスを使用してマトリックスからグリッドを取得する適切な方法は何ですか?