Graphs.jl provides an integration with the igraph C library via the IGraphs.jl package. This integration allows you to use high-performance implementations of various graph algorithms directly on Graphs.jl graph types, or use IGraph objects as first-class AbstractGraph types.
To use the igraph integration, you must load both Graphs.jl and IGraphs.jl:
using Graphs
using IGraphsWhen IGraphs.jl is loaded, specialized dispatches for several algorithms become available. You can either call them on an IGraph object, or pass IGraphAlgorithm() as an argument to existing Graphs.jl functions to use the igraph implementation.
Graphs.AbstractIGraph
Graphs.IGraphAlgorithm
Graphs.igraph
The following algorithms have specialized implementations via igraph:
Graphs.sir_model
Graphs.modularity_matrix
Graphs.community_leiden
Graphs.betweenness_centrality
Graphs.pagerank
Graphs.layout_kamada_kawai
Graphs.layout_fruchterman_reingold