Statistics
| Branch: | Revision:

## iof-tools / networkxMiCe / networkx-master / networkx / algorithms / smetric.py @ 5cef0f13

 1 ```import networkx as nx ``` ```#from networkx.generators.smax import li_smax_graph ``` ```def s_metric(G, normalized=True): ``` ``` """Returns the s-metric of graph. ``` ``` ``` ``` The s-metric is defined as the sum of the products deg(u)*deg(v) ``` ``` for every edge (u,v) in G. If norm is provided construct the ``` ``` s-max graph and compute it's s_metric, and return the normalized ``` ``` s value ``` ``` ``` ``` Parameters ``` ``` ---------- ``` ``` G : graph ``` ``` The graph used to compute the s-metric. ``` ``` normalized : bool (optional) ``` ``` Normalize the value. ``` ``` ``` ``` 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 ``` ``` """ ``` ``` if normalized: ``` ``` raise nx.NetworkXError("Normalization not implemented") ``` ```# Gmax = li_smax_graph(list(G.degree().values())) ``` ```# return s_metric(G,normalized=False)/s_metric(Gmax,normalized=False) ``` ```# else: ``` ``` return float(sum([G.degree(u) * G.degree(v) for (u, v) in G.edges()])) ```