use LEMONGraphs.jl as a default algorithm for MWPM instead of BlossomV.jl#20
use LEMONGraphs.jl as a default algorithm for MWPM instead of BlossomV.jl#20
Conversation
…ispatch for MWPM implementations -- currently only BlossomVAlgorithm is implemented
|
The documentation failure and the aarch64 failure are unrelated to this PR and can be seen in #21 as well. |
|
Hi, @matbesancon @simonschoelly @victorthouvenot @etiennedeg @thchr ! Just tagging the folks that have maintained this package in the last few years to put this PR on their radar. Still getting oriented and trying to learn who is and who isn't an active maintainer. |
|
I don't have in-depth knowledge of the codebase here, but I read through each commit and thought everything looked very sensible and correct. I can't merge but enthusiastically support it. |
Each commit is small, selfcontained, legible on its own, for ease of review.
BlossomV.jl relies on the BlossomV C library which is not open source. Thus, BlossomV.jl has to run an unreliable build step due to which it crashes on many platforms where compilers are not pre-installed.
This PR moves BlossomV.jl to an extension and uses LEMONGraphs.jl for minimum weight perfect matching. LEMONGraphs.jl is distributed by BinaryBuilder/Yggdrasil, and thus supports all platforms without the need for build steps.
No functionality is removed by this PR, rather a new default is used so that everything can install on any platform. Folks that prefer BlossomV.jl (and can install it) can easily switch the default to use it.
The setup of having multiple available algorithms is consistent with other APIs in this library.
Fixes #4