  We introduce an approach to partitioning networks into communities that not
only determines the best community structure, but also provides a range of
characterization techniques to assess how significant that structure is. We
study the thermodynamics of community structure by producing equilibrium
ensembles of partitions, in which each partition is represented with a
well-defined statistical weight. Thus we are able to study the temperature
dependence of thermodynamic properties, namely the modularity $Q$ and heat
capacity, with particular emphasis on the transition between high-temperature,
essentially random partitions and low-temperature partitions with high
modularity. We also look at frequency matrices that measure the likelihood that
two nodes belong to the same community, and introduce an order parameter to
measure the `blockiness' of the frequency matrix, and therefore the uniqueness
of the community structure. These methods have been applied to a number of
model networks in order to understand the effects of the degree distribution,
spatial embedding and randomization. Finally, we apply these methods to a
metabolic network known to have strong community structure and find
hierarchical community structure, with some communities being more robust than
others.
