Например, np.array([[1,2],[3,4]])[np.triu_indices(2)]
имеет форму (3,)
, представляющую собой сплющенный список верхних треугольных записей.Однако, если у меня есть партия матриц 2x2:
foo = np.repeat(np.array([[[1,2],[3,4]]]), 30, axis=0)
, и я хочу получить верхние треугольные индексы каждой матрицы, наивная вещь, которую стоит попробовать:
foo[:,np.triu_indices(2)]
Однако этот объект на самом деле имеет форму (30,2,3,2)
(в отличие от (30,3)
, который мы могли бы ожидать, если бы извлекли верхние треугольные записи в пакетном режиме.
Как мы можем транслировать индексирование кортежей по размерам пакета