NumPy k-th índices diagonales

Me gustaría hacer aritmética con la diagonal K-th de un numpy.array. Necesito esos índices. Por ejemplo, algo como:

>>> a = numpy.eye(2)
>>> a[numpy.diag_indices(a, k=-1)] = 5
>>> a
array([[ 1.,  0.],
       [ 5.,  1.]])

Desafortunadamente, diag_indices solo devuelve los índices que comprenden la diagonal principal, por lo que en este momento estoy haciendo:

a += numpy.diag([5], -1)

Pero eso no parece tan bonito ni robusto. :-)

¿Hay alguna manera, en números, de obtener índices para otra cosa que no sea la diagonal principal?

Respuestas a la pregunta(4)

Su respuesta a la pregunta