Hi Jianjian, The multilayer model as you've used works by fitting an independent SBM to each layer, finding the best partition /across all layers/ to minimize the sum of their description lengths.
To allow membership to vary across layers, you need to use the overlapping model, then look at the membership of each layer in turn (e.g. by getting the edge block labels using state.get_edge_blocks(), or perhaps passing the overlapping partition to a new OverlapBlockState on a GraphView object limiting the graph to the desired layer, then using get_majority_blocks(), although I haven't tried this). Best, John -- Sent from: https://nabble.skewed.de/ _______________________________________________ graph-tool mailing list graph-tool@skewed.de https://lists.skewed.de/mailman/listinfo/graph-tool