Louvain algorithm: self-loop weight is double?
Every edge has the same weight, which it contributes to each endpoint. When both endpoints are in the same cluster, the edge counts twice towards that cluster. Then they are in different clusters, the edge counts once towards each of the two clusters. So each edge has the same overall contribution.