summaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/networkx/algorithms/smetric.py
diff options
context:
space:
mode:
authorblackhao <13851610112@163.com>2025-08-22 02:51:50 -0500
committerblackhao <13851610112@163.com>2025-08-22 02:51:50 -0500
commit4aab4087dc97906d0b9890035401175cdaab32d4 (patch)
tree4e2e9d88a711ec5b1cfa02e8ac72a55183b99123 /.venv/lib/python3.12/site-packages/networkx/algorithms/smetric.py
parentafa8f50d1d21c721dabcb31ad244610946ab65a3 (diff)
2.0
Diffstat (limited to '.venv/lib/python3.12/site-packages/networkx/algorithms/smetric.py')
-rw-r--r--.venv/lib/python3.12/site-packages/networkx/algorithms/smetric.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/networkx/algorithms/smetric.py b/.venv/lib/python3.12/site-packages/networkx/algorithms/smetric.py
new file mode 100644
index 0000000..d985aa8
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/networkx/algorithms/smetric.py
@@ -0,0 +1,30 @@
+import networkx as nx
+
+__all__ = ["s_metric"]
+
+
+@nx._dispatchable
+def s_metric(G):
+ """Returns the s-metric [1]_ of graph.
+
+ The s-metric is defined as the sum of the products ``deg(u) * deg(v)``
+ for every edge ``(u, v)`` in `G`.
+
+ Parameters
+ ----------
+ G : graph
+ The graph used to compute the s-metric.
+
+ Returns
+ -------
+ s : float
+ The s-metric of the graph.
+
+ References
+ ----------
+ .. [1] Lun Li, David Alderson, John C. Doyle, and Walter Willinger,
+ Towards a Theory of Scale-Free Graphs:
+ Definition, Properties, and Implications (Extended Version), 2005.
+ https://arxiv.org/abs/cond-mat/0501169
+ """
+ return float(sum(G.degree(u) * G.degree(v) for (u, v) in G.edges()))