Я бы хотел сделать арифметику с k-й диагональю numpy.array. Мне нужны эти индексы. Например, что-то вроде:
>>> a = numpy.eye(2)
>>> a[numpy.diag_indices(a, k=-1)] = 5
>>> a
array([[ 1., 0.],
[ 5., 1.]])
К сожалению, diag_indices возвращает только индексы, составляющие основную диагональ, поэтому в данный момент я делаю:
a += numpy.diag([5], -1)
Но это не кажется таким же хорошим или надежным.: -)
Есть ли способ numpy, чтобы получить индексы, отличные от основной диагонали?