Louvain method for optimising modularity
In collaboration with V. Blondel, J.-L. Guillaume and E. Lefebvre, we have developed a fast and efficient method to uncover communities in very large networks. The code is available on and the method described in our paper Fast unfolding of communities in large networks, V.D. Blondel, J.-L. Guillaume, R. Lambiotte and E. Lefebvre, J. Stat. Mech., (2008) P10008. The method has also been implemented in network visualisation programs, such as gephi

Optimising "generalised modularities"
In collaboration with J.-C. Delvenne and M. Barahona, we have developed a generalised modularity based on dynamical processes and where time plays the role of a resolution parameter. Two codes have been written in order to optimise this generalised modularity, thereby allowing to uncover modules in networks with the desired resolution. The first code is a generalisation a C implementation of Simulated Annealing developed by R. Guimera. The second code generalises the Louvain method described above and is based on a C++ implementation of J.-L. Guillaume. These two codes are available here and are described in a short report. The theoretical aspect of our work is described in Dynamics and Modular Structure in Networks by R. Lambiotte, J.-C. Delvenne and M. Barahona.

Edge partitions for overlapping communities
In collaboration with T.S. Evans, we propose to partition the edges of a graph in order to uncover overlapping communities of its nodes. Our approach is based on the construction of different types of weighted line graphs, i.e. graphs whose nodes are the edges of the original graph, that encapsulate differently the relations between the edges. A description of our work can be found in Line Graphs, Link Partitions and Overlapping Communities by T.S. Evans and R. Lambiotte, Phys. Rev. E 80, (2009) 016105. Codes to produce weighted line graphs and optimise their modularity can be found here.