Add sparse support to multigraph LCC functions
- [ ] Does this PR add any new dependencies?
- [x] Does this PR modify any existing APIs?
- [x] Is the change to the API backwards compatible?
- [ ] Have you built the documentation (reference and/or tutorial) and verified the generated documentation is appropriate?
Reference Issues/PRs
What does this implement/fix? Briefly explain your changes.
Any other comments?
❌ Deploy Preview for graspologic failed.
🔨 Explore the source changes: ab14d8bbd944a86f5cb2558708d71f4e768465d4
🔍 Inspect the deploy log: https://app.netlify.com/sites/graspologic/deploys/612518dd0f7f6a000820c040
@nyecarr you mentioned sparse omni the other day, I think fixing this will be necessary as part of that workflow
looks like theres some formatting issues but the rest looks fine to me.
formatting issues are probably because of isort
@daxpryce it looks like the functions multigraph_lcc_intersection and multigraph_lcc_union claim they support lists of networkx graphs (e.g. here: https://github.com/microsoft/graspologic/blob/e5d896d3798aca526d592d4925c7f8be27e7b622/graspologic/utils/utils.py#L643) but in reality, they don't (e.g. here: https://github.com/microsoft/graspologic/blob/e5d896d3798aca526d592d4925c7f8be27e7b622/graspologic/utils/utils.py#L670)
I was in the process of adding sparse support in this PR when I came across this - I wonder whether you all have any use for these things working on networkx or not? If not, we could just take out of our contract with the user for now?
note that I think y'all care about this functionality (which I believe you reimplemented here https://github.com/microsoft/graspologic/blob/e5d896d3798aca526d592d4925c7f8be27e7b622/graspologic/pipeline/embed/omnibus_embedding.py#L162), not that I am necessarily advocating for these util functions to support networkx
decision from talk on 12/14: just make this accept AdjacencyMatrix or whatever, no nx for now