-
Notifications
You must be signed in to change notification settings - Fork 33
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
Speed and memory improvements in linalg #303
Conversation
…have dim (0,0)). fixed corresponding tests.
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #303 +/- ##
==========================================
+ Coverage 83.41% 84.31% +0.89%
==========================================
Files 35 35
Lines 2732 2747 +15
==========================================
+ Hits 2279 2316 +37
+ Misses 453 431 -22
... and 3 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
Thanks so much - this is awesome! One quick question which isn't essential for this PR is why the |
One more thing - can you run isort and black? |
From what I've understood, "changing the sparsity structure" here just means we are changing entries of A (the diagonal entries). And |
Btw, I have a 18k-node hypergraph, and the cluster used to takes hours and crash trying to compute the laplacian. It now takes 5s on my laptop 👀 |
🤯 |
This would be nice to add as a regression test. |
incidence_matrix()
cleaner and faster (about 4x)multiorder_laplacian()
"truly sparse": all internal variable are sparse if sparse=True. This fixes multiorder laplacian not truly sparse #301.As a result,
multiorder_laplacian()
is also faster.Timings for the
email-eu
dataset:That's a 10x speedup for the sparse case, and more memory efficient (all internals are sparse).