Make SVD code faster
See original GitHub issueI’ve found that scipy’s implementation of the lanczos algorithm is extremely fast for finding eigenvalues and eigenvectors of a big, sparse real symmetric square matrix (I’m pretty sure more so than sklearn’s randomized_svd or scipy’s sparse.linalg.svds, although this all needs to be tested empirically).
in the case of undirected graphs, our adjacency matrices are going to be square and symmetric, so the singular values will be the eigenvalues (right?), and most of them are going to be pretty sparse
So a potential NDD project could be testing the various algorithms for finding eigenvalues, eigenvectors, and more generally doing SVDs for speed, on different types of matrices, and then using the ones that are fastest in e.g. SelectSVD, and then adding some blurb in the docs about when it is appropriate to use which algorithm.
Issue Analytics
- State:
- Created 3 years ago
- Comments:10 (4 by maintainers)

Top Related StackOverflow Question
I am going for #208 first
a magic website you didn’t hear about from me: https://sci-hub.se/ warning: these articles are very dense and math-heavy. Maybe better to make jupyter notebooks with speed comparisons first, then read articles after to go deeper and learn whats going on under the hood