Code for community detection on networks

Here is a short list for the code used in my research paper.

  • FAGSO Fast Agglomerative Surprise optimization in Matlab, Python and as a C++ library.

    Community Detection

    FAGSO is an agglomerative Surprise Optimization algorithm written in C++ with bindings as MEX MATLAB and Octave file as well as Python library. It comes as the first proof of concept implementation of the idea, and accompanies the paper Modular structure of brain functional connectivity: breaking the resolution limit by Surprise.

  • PACO PArtitioning Cost Optimization in Matlab, Python and as C++ library.

    Community Detection

    PACO is the second iteration of the FAGSO algorithm, written from scratch with better data structures implementation as well as the full support of the igraph library. PACO implements agglomerative optimization methods as well as simulated annealing, and its written in a modular fashion so optimization of cost funcitons of various type can be carried on in a series of subsequent steps.

  • CommunityAlg Algorithms and methods for community detection in Matlab.

    Community Detection

    CommunityAlg is a set of Matlab functions for the analysis of complex networks and it extends largely the Brain connectivity Toolbox (BCT) by Sporns and Rubinov. CommunityAlg at the moment is a moving target and the implementations of the methods may change in the future as well as their signatures. Nonetheless many of the CommunityAlg functions are pretty well documented and some new ideas are tested in the form of simple quality functions.

  • InfomapMEX Infomap method adapted to a Matlab Mex file.

    InfomapMEX

    A Matlab wrapper around the latest available implementation of Rosvall and Bergstroms Infomap code available on github. Infomap optimizes the map equation, which exploits the information-theoretic duality between the problem of compressing data, and the problem of detecting and extracting significant patterns or structures within those data. Specifically, the map equation is a flow-based method and operates on dynamics on the network.

  • Multilouvain Louvain method adapted to a Matlab Mex file.

    Multilouvain

    Multilouvain comes a C++ library and a Matlab mex wrapper that is able to optimize different quality functions for community detection on graphs. Multilouvain features Asymptotical Surprise, Significance, Reichardt and Bornholdt, CPM and Newman modularity in a single unified framework. All the credits for the C++ code are to Vincent Traag. This wrapper modified some functions to make faster calls to methods and the code is not completely equal, though.

  • LFRWMX Lancichinetti-Fortunato-Radicchi benchmark adapted to a MEX file.

    Multilouvain

    LFR is an implementations of the planted partition model where the degrees and the community size is modeled after powerlaws with specific exponents. This implementation is a Matlab wrapper around the LFR Weighted with non overlapping communities that is available on the website of Santo Fortunato.

GraphInsight