- " let dt_args = {\"scrollY\": \"300px\", \"scrollCollapse\": true, \"fixedColumns\": true, \"pageLength\": -1, \"layout\": {\"topStart\": \"pageLength\", \"topEnd\": \"search\", \"bottomStart\": \"info\", \"bottomEnd\": \"paging\"}, \"classes\": [\"display\", \"nowrap\"], \"style\": {\"table-layout\": \"auto\", \"width\": \"auto\", \"margin\": \"auto\", \"caption-side\": \"bottom\"}, \"order\": [], \"text_in_header_can_be_selected\": true, \"table_html\": \"<table><thead>\\n <tr style=\\\"text-align: right;\\\">\\n \\n <th>Method</th>\\n <th>Function in igraph (Python)</th>\\n <th>Directed Graph Support</th>\\n <th>Weighted Graph Support</th>\\n <th>Signed Graph Support</th>\\n <th>Sparse Graph Performance</th>\\n <th>Dense Graph Performance</th>\\n <th>Deterministic</th>\\n <th>Notes</th>\\n </tr>\\n </thead></table>\", \"data_json\": \"[[\\\"Edge Betweenness\\\", \\\"`Graph.community_edge_betweenness()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c (Slow for large)\\\", \\\"\\\\u2705\\\", \\\"Divisive hierarchical method. Good for small to medium graphs. Returns a dendrogram. Modularity-based partition can be extracted. The underlying modularity is typically for undirected graphs.\\\"], [\\\"Fast-Greedy\\\", \\\"`Graph.community_fastgreedy()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705 (Very efficient)\\\", \\\"\\\\u2705 (Can handle)\\\", \\\"\\\\u274c\\\", \\\"Agglomerative, modularity-maximization method. Returns a dendrogram. Efficient for large sparse graphs. Suffers from resolution limit. (Non-deterministic due to greedy choices / tie-breaking)\\\"], [\\\"Fluid Communities\\\", \\\"`Graph.community_fluid_communities()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u274c (weights ignored)\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"Propagation-based. Requires `k` (number of communities) as input. Stochastic. Very fast and scalable. Primarily for unweighted, undirected graphs. (Non-deterministic due to random seeds/updates)\\\"], [\\\"Infomap\\\", \\\"`Graph.community_infomap()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"Based on information theory (minimizing description length of random walks). Can handle directed and weighted graphs. (Non-deterministic due to random walks)\\\"], [\\\"Label Propagation\\\", \\\"`Graph.community_label_propagation()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"Fast, propagation-based. (Non-deterministic due to random initialization/tie-breaking). Uses `directed` parameter to respect edge direction.\\\"], [\\\"Leading Eigenvector\\\", \\\"`Graph.community_leading_eigenvector()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"Modularity-maximization (spectral method). Finds highest modularity partition. Can be slow for very large graphs. For undirected, weighted graphs.\\\"], [\\\"Leiden\\\", \\\"`Graph.community_leiden()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"Improvement over Louvain. Guarantees well-connected communities. Usually higher modularity and more stable than Louvain. Can use resolution parameter. Highly recommended for general use. (Non-deterministic due to local moves/tie-breaking)\\\"], [\\\"Louvain (Multilevel)\\\", \\\"`Graph.community_multilevel()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"Greedy, iterative modularity optimization. Fast and scalable. Returns hierarchical partition. Can suffer from resolution limit and potentially disconnected communities. (Non-deterministic due to local moves/tie-breaking)\\\"], [\\\"Spinglass\\\", \\\"`Graph.community_spinglass()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c (Slower)\\\", \\\"\\\\u274c\\\", \\\"Based on statistical mechanics (Ising model and simulated annealing). Can handle negative weights (as \\\\\\\"frustration\\\\\\\"). Can be computationally intensive, especially for dense or large graphs. Allows for fixed number of spins (`k`). (Stochastic by design)\\\"], [\\\"Walktrap\\\", \\\"`Graph.community_walktrap()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"Based on random walks. Merges communities that random walks tend to stay within. Hierarchical output (dendrogram). Efficient for sparse graphs.\\\"], [\\\"Optimal Modularity\\\", \\\"`Graph.community_optimal_modularity()`\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u274c (Small graphs only)\\\", \\\"\\\\u274c (Small graphs only)\\\", \\\"\\\\u2705\\\", \\\"Finds the **exact** highest modularity partition. Computationally very expensive. Only practical for very small graphs (dozens to ~100 nodes).\\\"], [\\\"Voronoi\\\", \\\"`Graph.community_voronoi()`\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u274c\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"\\\\u2705\\\", \\\"Partitions nodes into \\\\\\\"cells\\\\\\\" based on proximity (e.g., shortest path distance) to pre-defined \\\\\\\"seed\\\\\\\" nodes. Not a direct community *discovery* algorithm; it *assigns* based on input seeds. Used when node coordinates or influence regions are relevant.\\\"]]\"};\n",
0 commit comments