can be computed very quickly with Lanczos approximation: https://github.com/jcboyd/study-no-1/blob/master/lanczos.c