A polished Mathematica interface to the igraph graph manipulation and analysis library. This package is still under development and looking for contributors.
Load the package with
The documentation can be opened using
and contains a few examples. Specific documentation for each function is mainly contained in the usage messages.
All functions provided by the package have the prefix
IG in their name to distinguish them from similar or equivalent functions built into Mathematica or provided by Combinatorica.
The IGraph/M functions work directly on Mathematica's built-in
g = RandomGraph@BarabasiAlbertGraphDistribution[50, 2]
Let's randomly rewire edges 1000 types while keeping the degree sequence:
g = IGRewire[g, 1000]
And find the edges that we need to remove to make the graph acyclic:
feedback = IGFeedbackArcSet[g] AcyclicGraphQ@EdgeDelete[g, feedback] (* True *)