  We consider an alternate definition of community structure that is
functionally motivated. We define network community structure-based on the
function the network system is intended to perform. In particular, as a
specific example of this approach, we consider communities whose function is
enhanced by the ability to synchronize and/or by resilience to node failures.
Previous work has shown that, in many cases, the largest eigenvalue of the
network's adjacency matrix controls the onset of both synchronization and
percolation processes. Thus, for networks whose functional performance is
dependent on these processes, we propose a method that divides a given network
into communities based on maximizing a function of the largest eigenvalues of
the adjacency matrices of the resulting communities. We also explore the
differences between the partitions obtained by our method and the modularity
approach (which is based solely on consideration of network structure). We do
this for several different classes of networks. We find that, in many cases,
modularity-based partitions do almost as well as our function-based method in
finding functional communities, even though modularity does not specifically
incorporate consideration of function.
