somacdivad / GraphInvariants.jl

A Julia package for computing graph invariants
MIT License
9 stars 0 forks source link

Clarify interactions with GraphsOptim.jl #6

Open gdalle opened 2 years ago

gdalle commented 2 years ago

Hi there, and congrats on the new package! I'm one of the JuliaGraphs maintainers, and we've recently started to regroup all graph algorithms that require heavy dependencies (such as ILP solvers) inside a package called GraphsOptim.jl. It is dormant until I have some more time, but you might want to check out our discussion about it in this issue. It may be useful to you if you want to avoid duplicating code. Of course, we would also be interested in contributions :)

somacdivad commented 2 years ago

Hey, thanks! And thank you for bringing up GraphsOptim.jl. I was unaware there was anything in development like that. Does something like GraphInvariants.jl look like it would fit into your vision for GraphsOptim.jl?

A lot of the invariants we’re implementing are using ILPs, but long-term I was thinking about including as many different solution methods as possible, since a lot of the ILPs aren’t viable on large graphs.

I’m happy to contribute and would love to get more involved in the Graphs.jl ecosystem.

gdalle commented 2 years ago

Basically, the idea was to put all lightweight (combinatorial) algorithms in Graphs.jl, and all the LP-based ones in GraphsOptim.jl. This is on standby for now, but from what you tell me, it looks like GraphInvariants.jl could be split between both packages?

somacdivad commented 2 years ago

Our goal is to provide an interface that’s as simple as possible for students and researchers to calculate graph invariants, so to that end I’m a bit unsure about splitting things up. At the same time, I’d like do what’s best for the Graphs.jl ecosystem.

I think for now it makes sense to continue working on GraphInvariants.jl as planned, if only to have a repository that catalogues several different algorithms, and especially since we’re planning to have our initial goals completed in the next few weeks. But I’m keen on keeping the dialogue open so that we can figure out the best way to move forward with Graphs.jl and GraphsOptim.jl

I’d be thrilled to see this work eventually end up in the more official packages! I’ll keep this issue open for now, and if there are any other conversations that would be beneficial to be a part of, please let me know.

gdalle commented 2 years ago

Deal!