-
Notifications
You must be signed in to change notification settings - Fork 260
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
Sparse SVD #1566
base: main
Are you sure you want to change the base?
Sparse SVD #1566
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1566 +/- ##
==========================================
+ Coverage 76.85% 76.87% +0.02%
==========================================
Files 394 395 +1
Lines 63241 63365 +124
Branches 10359 10382 +23
==========================================
+ Hits 48604 48713 +109
- Misses 12188 12200 +12
- Partials 2449 2452 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Pylint is complaining about "Possible unbalanced tuple unpacking". The source of the issue is that the function returns three variables, U, svals, and V, if m=n but it additionally returns a basis for the (left) null space if m!=n. There are multiple ways to make this warning go away, but I want some feedback about the return signature of the function. Should I always return the null space, or only if a specific option is included? |
Summary/Motivation:
Presently, the
SVDToolbox
isn't widely utilized, in part because of the limited options for calculating the SVD. Scipy's dense SVD is time-consuming on problems larger than 1000x1000, while its sparse SVD does not work well to find the singular values of the smallest magnitude.Therefore, I've implemented a custom version of the SVD that is based on Rayleigh-Ritz iteration.
I'd appreciate testers for this method before we merge it.
Legal Acknowledgement
By contributing to this software project, I agree to the following terms and conditions for my contribution: