You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Maybe the only method in the package for transitiveclosure! requires SimpleDiGraph so the author did not want to provide a method that would throw an error when calling the inner function. But Graphs is intended to be extended outside the package. So if someone implements a graph type and a method for transitiveclosure! then they would not get transitiveclosure for free.
That function is kind of similar to other graph operators that we have, such as blockdiag in that they relay on add_edge! to add edges - which is difficult if we need to have some kind of metadata to construct an edge.
That was probably the reason that it was restricted to SimpleDiGraph - or this function was written at a time when there was no abstract graph interface.
Using transitiveclosure on an undirected graph would just convert all connected components into complete graphs - so the usefulness of that case is limited.
The guilty lines of code:
Graphs.jl/src/digraph/transitivity.jl
Lines 105 to 108 in 53cb581
Is there a reason why:
First spotted by JuliaGraphs/SimpleWeightedGraphs.jl#10
The text was updated successfully, but these errors were encountered: