Eigenvector centrality fails to converge on disconnected graphs
0 reputation · 19 Aug 2025, 00:53 UTC
The goal is to obtain stable eigenvector centrality values that can be used for ranking nodes in downstream network analysis tasks. However, when the supplied graph is not connected or lacks a dominant eigenvalue, the power‑iteration implementation in NetworkX may fail to converge within the default iteration limit, producing either non‑terminating loops or inaccurate results. This raises uncertainty about whether the user should modify the input graph (e.g., isolate the largest weakly connected component) or tune the algorithm’s parameters such as max_iter and tolerance to achieve convergence while preserving the original analytical intent.
Should the library automatically detect non‑convergence and fall back to an alternative centrality measure? Is it sufficient to preprocess the graph by extracting its largest weakly connected component before calling eigenvector_centrality? Can increasing max_iter and tightening the tolerance reliably guarantee convergence for all weakly connected components without altering the relative centrality ordering?