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

WIP: jax eigsh lanczos #359

Closed

Conversation

MichaelMarien
Copy link
Contributor

@MichaelMarien MichaelMarien commented Nov 1, 2019

This is still very much work in progress, but would like to capture some initial feedback of @Thenerdstation , @mganahl . While taking a first look at #303 I started playing a bit with the code.

It occurs to me that with some additional backend methods, we can have the current numpy code rather generic over the different frameworks. Feedback I would like to capture is whether the inclusion of backend.dotand backend.eighmethods is worth making the implementation of eigsh_lanczosbackend independent (or almost, I'm very close already). There are some other changes already, like refactoring out the checks, but never mind these as this is definitely not a final design.

@MichaelMarien MichaelMarien changed the title Wpi jax eigsh lanczos WIP: jax eigsh lanczos Nov 1, 2019
@mganahl
Copy link
Collaborator

mganahl commented Nov 5, 2019

Hey @MichaelMarien looks good! I like the idea of having a backend independent lanczos. The reason we decided to put it into the backend is that we want eigsh_lanczos to work under jax.jit in jax, and under tf.function in tensorflow. This affects some control flow ops like while and comparisons as well.

@MichaelMarien
Copy link
Contributor Author

The reason we decided to put it into the backend is that we want eigsh_lanczos to work under jax.jit in jax, and under tf.function in tensorflow. This affects some control flow ops like while and comparisons as well.

What exactly is it we'd like to jit? Is it the (action of the) linear operator we want the eigenvectors of?

@mganahl
Copy link
Collaborator

mganahl commented Nov 14, 2019

Hey @MichaelMarien I think we want to jit both the liner operator as well as the lanczos iteration itself.

@MichaelMarien
Copy link
Contributor Author

implemented in another PR #570 in a jitted way

@MichaelMarien MichaelMarien deleted the WPI-jax-eigsh-lanczos branch May 28, 2020 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants