如何有效地对2d numpy数组的次对角线元素求反?
l7wslrjt1#
考虑到k = -1的对角线偏移量,您可以使用numpy.tril_indices来计算次对角线项的索引,并使用掩码对它们求反,例如:
k = -1
import numpy as np a = np.arange(16).reshape(4, 4) >>> array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15]]) idx_low_tri = np.tril_indices(a.shape[0], k=-1) a[idx_low_tri] = -a[idx_low_tri] >>> array([[ 0, 1, 2, 3], [ -4, 5, 6, 7], [ -8, -9, 10, 11], [-12, -13, -14, 15]])
希望这有帮助!
1条答案
按热度按时间l7wslrjt1#
考虑到
k = -1
的对角线偏移量,您可以使用numpy.tril_indices来计算次对角线项的索引,并使用掩码对它们求反,例如:希望这有帮助!