-
Notifications
You must be signed in to change notification settings - Fork 174
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
Randomized SVD #803
Randomized SVD #803
Conversation
FYI I'm trying to fix the TravisCI errors now, so don't worry about those. |
Doesn't it just need a rebase? |
No, recently Travis builds have been failing for conda-related reasons. |
Overall this commit looks good to me, but it should be noted that although I familiar with the idea of decoder solving, I'm not clear on the algorithm for randomized SVD. Eric, would you like to go over the algorithm with on Monday so I can truly say I understand this pull request? |
The algorithm isn't in our repo, I just call out to |
Sorry, I meant the stuff you do from line 230 and onwards. |
That's the same as for the basic SVD solver. See if you can prove it for yourself, starting from the normal equation |
16fc7a9
to
44751b2
Compare
39ce021
to
5836a3b
Compare
Rebased this and squashed the history. I used this a while ago, and it worked as advertised! Will merge tomorrow morning if there are no objections. |
How do I use this solver? If I do |
I think, I figured it out. It can be passed as argument to |
Yep, exactly, you've got it. That should probably be documented better somewhere. |
Added a randomized SVD solver. This is pretty fast for larger matrices (on my system, it gets faster than
cholesky
for around 650 neurons, and can solve a system with 60000 eval points and 10000 neurons in about 6 seconds).