Welcome to GraphCommunities.jl

GraphCommunities.jl is a Julia package that implements community detection algorithms on AbstractGraph types from Graphs.jl and SimpleWeightedGraphs.jl. It employs various community detection algorithms and also provides functionality for generating graphs with community structure. Currently, the package includes the following community detection algorithms:

  1. The Louvain Algorithm
  2. The K-Clique Percolation Algorithm with K = 3
  3. The Label Propagation Algorithm

GraphCommunities.jl is designed to work seamlessly with the Graphs.jl package. All the graph structures, types, and utilities provided by Graphs.jl are the foundation of our package. This ensures compatibility, performance, and a familiar API for those already acquainted with Graphs.jl.

If you're new to Graphs.jl, it's recommended to check out their documentation to get a deeper understanding of the graph structures and operations you can leverage.

Finally, GraphCommunities.jl also has built in functionality for generating graphs with community like structure.

Installation

To add the GraphCommunities package to your Julia environment, you can use the Julia package manager. In the Julia REPL, enter the package manager by pressing ], then run:

(@v1.x) pkg> add https://github.com/RandyRDavila/GraphCommunities.jl.git

After the package is added, you can use it in your Julia sessions with:

using GraphCommunities

Author

Randy R. Davila, PhD

  • Lecturer of Computational Applied Mathematics & Operations Research at Rice University.
  • Software Engineer at RelationalAI.