eigh is already defined in that file. But it wrap numpy.linalg.eigh and not scipy.linalg.eigh and you need the second one. So you are right that currently there is another op missing. Can you add a comment in the class EigvalshGrad, that it can be replaced with a graph of Theano op when scipy.linalg.eigh is available as an op? This way, we won't wonder why it was like this in the futur.

After that, I'll merge it. thanks