-
Notifications
You must be signed in to change notification settings - Fork 2.7k
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document if differentiability of implementation is dependent on hardware #23650
Comments
Can you provide a minimal, reproducible example that shows the problem, and defines clearly what you mean by "not reverse differentiable". In other words, do you see an error, or does it seem like there are different numerics on different platforms which lead to this inconsistency? Thanks. |
A function that depends on the output of |
Like I suggested above, can you provide me with a function that I can run that demonstrates this and a pointer to where that belief is coming from? I'm not very familiar with this specific function, but I'm happy to try and debug or suggest where the docs should be updated if you can give me some more info! |
The structure of the spectrum is probably important here. In general eigendecomposition is not differentiable if, e.g., you have repeated eigenvalues. And it's possible that it's very sensitive to small numerical differences, e.g., between hardware. |
Just a minor comment: I think eigendecomposition is in general differentiable (at least as long as the matrix is non singular). For the case of degenerate spectrum, there are some complications but it is still 'defined'. https://gist.github.com/PhilipVinc/f92499294efb3787e123f89ace3c5b29 |
On my machine, eigh_tridagonal is reverse differentiable on cpu. On another machine, it is not reverse differentiable on gpu, causing unexpected nan leaks. It would be nice if the documentation of a function mentions when the differentiability of the current implementation is dependent on hardware.
The text was updated successfully, but these errors were encountered: