+
    )i                     Z    R t ^ RIHt ^ RItR.t]P                  ! RR7      RR l4       tR# )z;Functions for computing the harmonic centrality of a graph.)partialNharmonic_centralitydistance)
edge_attrsc                v   \        Ve   V P                  V4      MV P                  4      p\        Ve   V P                  V4      MV P                  4      pV Uu/ uF  qD^ bK  	  ppRp\        V4      \        V4      8  d9   RpY1r1\        P
                  ! V 4      '       d   \        P                  ! V RR7      p \        \        P                  WR7      pV FZ  pV! V4      p	V	P                  4        F;  w  rJV
^ 8w  g   K  WA9   g   K  YV'       d   TMT;;,          ^V
,          ,          uu&   K=  	  K\  	  V# u upi )a  Compute harmonic centrality for nodes.

Harmonic centrality [1]_ of a node `u` is the sum of the reciprocal
of the shortest path distances from all other nodes to `u`

.. math::

    C(u) = \sum_{v \neq u} \frac{1}{d(v, u)}

where `d(v, u)` is the shortest-path distance between `v` and `u`.

If `sources` is given as an argument, the returned harmonic centrality
values are calculated as the sum of the reciprocals of the shortest
path distances from the nodes specified in `sources` to `u` instead
of from all nodes to `u`.

Notice that higher values indicate higher centrality.

Parameters
----------
G : graph
  A NetworkX graph

nbunch : container (default: all nodes in G)
  Container of nodes for which harmonic centrality values are calculated.

sources : container (default: all nodes in G)
  Container of nodes `v` over which reciprocal distances are computed.
  Nodes not in `G` are silently ignored.

distance : edge attribute key, optional (default=None)
  Use the specified edge attribute as the edge distance in shortest
  path calculations.  If `None`, then each edge will have distance equal to 1.

Returns
-------
nodes : dictionary
  Dictionary of nodes with harmonic centrality as the value.

See Also
--------
betweenness_centrality, load_centrality, eigenvector_centrality,
degree_centrality, closeness_centrality

Notes
-----
If the 'distance' keyword is set to an edge attribute key then the
shortest-path length will be computed using Dijkstra's algorithm with
that edge attribute as the edge weight.

References
----------
.. [1] Boldi, Paolo, and Sebastiano Vigna. "Axioms for centrality."
       Internet Mathematics 10.3-4 (2014): 222-262.
FT)copy)weight)
setnbunch_iternodeslennxis_directedreverser   shortest_path_lengthitems)Gnbunchr   sourcesu
centrality
transposedsplvdistd_uvs   &&&&       e/var/www/html/photoedit/myenv/lib/python3.14/site-packages/networkx/algorithms/centrality/harmonic.pyr   r   
   s    t &*<v&!''JFG,?!--(QWWMG &'1Q$J'J
6{S\!
!>>!

15)A
"))1
>C1vzz|GAqyQ[
12a$h>2 $  # (s   D6)NNN)__doc__	functoolsr   networkxr   __all___dispatchabler        r   <module>r$      s7    A   
! Z(M )Mr#   