Commit
2 years ago
gh-36493: improve method `cycle_basis` for graphs with multiple edges We use the notion of nearest common ancestor in a tree to find cycles more efficiently than using DFS. This is used only when the graph allows multiple edges, since otherwise we use the method of networkx. Therefore, the failing doctests reported in #36486 when using networkx 3.2 are independent from the changes done here. An additional optimization would be to determine the minimum spanning tree, the ranks and the parents at the same time. We don't do it here. ### :memo: Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [x] I have created tests covering the changes. - [x] I have updated the documentation accordingly. ### :hourglass: Dependencies <!-- List all open PRs that this PR logically depends on - #12345: short description why this is a dependency - #34567: ... --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: https://github.com/sagemath/sage/pull/36493 Reported by: David Coudert Reviewer(s): Kwankyu Lee
Author
Release Manager
Loading