ó
 ,ľ[c           @   s   d  d l  Z e d  Z d S(   i˙˙˙˙Nc         C   s]   | r t  j d   n  t t g  |  j   D]( \ } } |  j |  |  j |  ^ q+   S(   s  Return 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
    s   Normalization not implemented(   t   nxt   NetworkXErrort   floatt   sumt   edgest   degree(   t   Gt
   normalizedt   ut   v(    (    s:   lib/python2.7/site-packages/networkx/algorithms/smetric.pyt   s_metric   s    (   t   networkxR    t   TrueR
   (    (    (    s:   lib/python2.7/site-packages/networkx/algorithms/smetric.pyt   <module>   s   