CommunityModularity[g,partition]
gives the community modularity of a partition.
CommunityModularity[g,assignment]
gives the community modularity of an assignment.
CommunityModularity
CommunityModularity[g,partition]
gives the community modularity of a partition.
CommunityModularity[g,assignment]
gives the community modularity of an assignment.
Details and Options
- CommunityModularity functionality is now available in the built-in Wolfram Language function GraphAssortativity.
- To use CommunityModularity, you first need to load the Graph Utilities Package using Needs["GraphUtilities`"].
- A community in a network is a group of vertices such that there is a higher density of edges within the group than between them.
- Given a graph
, let the vertex set
be partitioned into
subsets
such that each subset belongs to one community. The community modularity
of this partition is defined as
, where
is the percentage of edges that have both ends in community
, and
is the percentage of edges that start from community
. In other words,
and
. - The community modularity
is a number less than or equal to 1. A large positive value indicates that the vertex partition gives significant community structure. - The following option can be given:
-
Weighted False whether edges with higher weights are preferred during matching
Examples
open all close allBasic Examples (2)
Needs["GraphUtilities`"]g = {1 -> 2, 2 -> 3, 3 -> 1, 3 -> 4, 4 -> 5, 5 -> 6, 6 -> 4};GraphPlot[g, VertexLabeling -> True]This gives the community modularity, assuming a partition {{1,2,3},{4,5,6}}:
CommunityModularity[g, {{1, 2, 3}, {4, 5, 6}}]CommunityModularity has been superseded by GraphAssortativity:
g = Graph[{1 -> 2, 2 -> 3, 3 -> 1, 3 -> 4, 4 -> 5, 5 -> 6, 6 -> 4}]N[GraphAssortativity[g, {{1, 2, 3}, {4, 5, 6}}, "Normalized" -> False]]Options (1)
Weighted (1)
This defines a graph with edge weights:
Needs["GraphUtilities`"]m = {{0, 1, 0, 10}, {1, 0, 0, 0}, {0, 0, 0, 1}, {10, 0, 1, 0}};GraphPlot[m, VertexLabeling -> True, EdgeRenderingFunction -> ({Line[#], Text[m[[First[#4], Last[#4]]], LineScaledCoordinate[#], Background -> White]}&)]The community modularity of partition {{1,2},{3,4}}, ignoring edge weights:
CommunityModularity[m, {{1, 2}, {3, 4}}]The community modularity of partition {{1,2},{3,4}}, taking into account edge weights:
CommunityModularity[m, {{1, 2}, {3, 4}}, Weighted -> True]When taking into account edge weights, partition {{1,4},{2,3}} has higher community modularity:
CommunityModularity[m, {{1, 4}, {2, 3}}, Weighted -> True]Tech Notes
Related Guides
-
▪
- Graph Utilities Package ▪
- Graphs & Networks ▪
- Graph Visualization ▪
- Computation on Graphs ▪
- Graph Construction & Representation ▪
- Graphs and Matrices ▪
- Graph Properties & Measurements ▪
- Graph Operations and Modifications ▪
- Statistical Analysis ▪
- Social Network Analysis ▪
- Graph Properties ▪
- Mathematical Data Formats ▪
- Discrete Mathematics
Text
Wolfram Research (2007), CommunityModularity, Wolfram Language function, https://reference.wolfram.com/language/GraphUtilities/ref/CommunityModularity.html.
CMS
Wolfram Language. 2007. "CommunityModularity." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/GraphUtilities/ref/CommunityModularity.html.
APA
Wolfram Language. (2007). CommunityModularity. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/GraphUtilities/ref/CommunityModularity.html
BibTeX
@misc{reference.wolfram_2026_communitymodularity, author="Wolfram Research", title="{CommunityModularity}", year="2007", howpublished="\url{https://reference.wolfram.com/language/GraphUtilities/ref/CommunityModularity.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_communitymodularity, organization={Wolfram Research}, title={CommunityModularity}, year={2007}, url={https://reference.wolfram.com/language/GraphUtilities/ref/CommunityModularity.html}, note=[Accessed: 13-June-2026]}