[go: nahoru, domu]

Skip to content
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

Add reverse mode AD for np.linalg.eig #543

Merged
merged 2 commits into from
Nov 18, 2019
Merged

Conversation

refraction-ray
Copy link
Contributor

Implement the vjp of general eigen decompositions based on https://arxiv.org/pdf/1701.00392.pdf Eq(4.77). Also see discussions here

@refraction-ray
Copy link
Contributor Author

The current CI fail seems having nothing to do with this PR

@j-towns
Copy link
Collaborator
j-towns commented Nov 5, 2019

This looks great, thanks a lot! I will try to get round to fixing the CI failure today and then merge this.

@j-towns
Copy link
Collaborator
j-towns commented Nov 5, 2019

Also, I'm sure the JAX devs would appreciate you porting this to JAX if you have time. The derivatives of linalg primitives are defined in https://github.com/google/jax/blob/master/jax/lax_linalg.py.

Note that in JAX only forward derivatives (JVPs) need to be defined, because JAX is able to do the transposition (JVP -> VJP) automatically.

@j-towns j-towns merged commit c6f630a into HIPS:master Nov 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants