ó
 ,µ[c           @   sX   d  Z  d d l Z d j d d d g ƒ Z d d d	 g Z d
 „  Z d „  Z d „  Z d S(   s   
Famous social networks.
iÿÿÿÿNs   
s%   Jordi Torrents <jtorrents@milnou.net>s   Katy Bold <kbold@princeton.edu>s%   Aric Hagberg <aric.hagberg@gmail.com)t   karate_club_grapht   davis_southern_women_grapht   florentine_families_graphc          C   s2  t  t d ƒ ƒ }  d d d d d d d d	 d
 d d d d d d d d h } t j ƒ  } | j |  ƒ d | _ d } x„ t | j d ƒ ƒ D]m \ } } g  | j ƒ  D] } t | ƒ ^ q¢ } x9 t | ƒ D]+ \ } }	 |	 d k rÇ | j	 | | ƒ qÇ qÇ Wq‰ Wx1 | D]) }
 |
 | k rd n d | j
 |
 d <qW| S(   s  Return Zachary's Karate Club graph.

    Each node in the returned graph has a node attribute 'club' that
    indicates the name of the club to which the member represented by that node
    belongs, either 'Mr. Hi' or 'Officer'.

    Examples
    --------
    To get the name of the club to which a node belongs::

        >>> import networkx as nx
        >>> G = nx.karate_club_graph()
        >>> G.nodes[5]['club']
        'Mr. Hi'
        >>> G.nodes[9]['club']
        'Officer'

    References
    ----------
    .. [1] Zachary, Wayne W.
       "An Information Flow Model for Conflict and Fission in Small Groups."
       *Journal of Anthropological Research*, 33, 452--473, (1977).

    .. [2] Data file from:
       http://vlado.fmf.uni-lj.si/pub/networks/data/Ucinet/UciData.htm
    i"   i    i   i   i   i   i   i   i   i   i
   i   i   i   i   i   i   i   s   Zachary's Karate Clubs	  0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
1 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0
1 1 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1
0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1
0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1
0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 0s   
s   Mr. Hit   Officert   club(   t   sett   ranget   nxt   Grapht   add_nodes_fromt   namet	   enumeratet   splitt   intt   add_edget   nodes(   t   all_memberst   club1t   Gt
   zacharydatt   rowt   linet   bt   thisrowt   colt   entryt   v(    (    s9   lib/python2.7/site-packages/networkx/generators/social.pyR       s    9	$"%'c       [   C   sÔ  t  j ƒ  }  d d d d d d d d d	 d
 d d d d d d d d g } |  j | d d ƒd d d d d d d d d d d d  d! d" g } |  j | d d# ƒ|  j d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~ gY ƒ | |  j d$ <| |  j d% <|  S(   sè   Return Davis Southern women social network.

    This is a bipartite graph.

    References
    ----------
    .. [1] A. Davis, Gardner, B. B., Gardner, M. R., 1941. Deep South.
        University of Chicago Press, Chicago, IL.
    s   Evelyn Jeffersons   Laura Mandevilles   Theresa Andersons   Brenda Rogerss   Charlotte McDowds   Frances Andersons   Eleanor Nyes   Pearl Oglethorpes   Ruth DeSands   Verne Sandersons   Myra Liddels   Katherina Rogerss   Sylvia Avondales   Nora Fayettes   Helen Lloyds   Dorothy Murchisons   Olivia Carletons   Flora Pricet	   bipartitei    t   E1t   E2t   E3t   E4t   E5t   E6t   E7t   E8t   E9t   E10t   E11t   E12t   E13t   E14i   t   topt   bottom(   s   Evelyn JeffersonR   (   s   Evelyn JeffersonR   (   s   Evelyn JeffersonR   (   s   Evelyn JeffersonR   (   s   Evelyn JeffersonR    (   s   Evelyn JeffersonR!   (   s   Evelyn JeffersonR#   (   s   Evelyn JeffersonR$   (   s   Laura MandevilleR   (   s   Laura MandevilleR   (   s   Laura MandevilleR   (   s   Laura MandevilleR    (   s   Laura MandevilleR!   (   s   Laura MandevilleR"   (   s   Laura MandevilleR#   (   s   Theresa AndersonR   (   s   Theresa AndersonR   (   s   Theresa AndersonR   (   s   Theresa AndersonR    (   s   Theresa AndersonR!   (   s   Theresa AndersonR"   (   s   Theresa AndersonR#   (   s   Theresa AndersonR$   (   s   Brenda RogersR   (   s   Brenda RogersR   (   s   Brenda RogersR   (   s   Brenda RogersR    (   s   Brenda RogersR!   (   s   Brenda RogersR"   (   s   Brenda RogersR#   (   s   Charlotte McDowdR   (   s   Charlotte McDowdR   (   s   Charlotte McDowdR    (   s   Charlotte McDowdR"   (   s   Frances AndersonR   (   s   Frances AndersonR    (   s   Frances AndersonR!   (   s   Frances AndersonR#   (   s   Eleanor NyeR    (   s   Eleanor NyeR!   (   s   Eleanor NyeR"   (   s   Eleanor NyeR#   (   s   Pearl OglethorpeR!   (   s   Pearl OglethorpeR#   (   s   Pearl OglethorpeR$   (   s   Ruth DeSandR    (   s   Ruth DeSandR"   (   s   Ruth DeSandR#   (   s   Ruth DeSandR$   (   s   Verne SandersonR"   (   s   Verne SandersonR#   (   s   Verne SandersonR$   (   s   Verne SandersonR'   (   s   Myra LiddelR#   (   s   Myra LiddelR$   (   s   Myra LiddelR%   (   s   Myra LiddelR'   (   s   Katherina RogersR#   (   s   Katherina RogersR$   (   s   Katherina RogersR%   (   s   Katherina RogersR'   (   s   Katherina RogersR(   (   s   Katherina RogersR)   (   s   Sylvia AvondaleR"   (   s   Sylvia AvondaleR#   (   s   Sylvia AvondaleR$   (   s   Sylvia AvondaleR%   (   s   Sylvia AvondaleR'   (   s   Sylvia AvondaleR(   (   s   Sylvia AvondaleR)   (   s   Nora FayetteR!   (   s   Nora FayetteR"   (   s   Nora FayetteR$   (   s   Nora FayetteR%   (   s   Nora FayetteR&   (   s   Nora FayetteR'   (   s   Nora FayetteR(   (   s   Nora FayetteR)   (   s   Helen LloydR"   (   s   Helen LloydR#   (   s   Helen LloydR%   (   s   Helen LloydR&   (   s   Helen LloydR'   (   s   Dorothy MurchisonR#   (   s   Dorothy MurchisonR$   (   s   Olivia CarletonR$   (   s   Olivia CarletonR&   (   s   Flora PriceR$   (   s   Flora PriceR&   (   R   R   R	   t   add_edges_fromt   graph(   R   t   woment   events(    (    s9   lib/python2.7/site-packages/networkx/generators/social.pyR   a   sþ    
			
c          C   sP  t  j ƒ  }  |  j d d ƒ |  j d d ƒ |  j d d ƒ |  j d d ƒ |  j d d ƒ |  j d d ƒ |  j d d ƒ |  j d d	 ƒ |  j d d
 ƒ |  j d
 d ƒ |  j d d ƒ |  j d d ƒ |  j d d ƒ |  j d d ƒ |  j d d ƒ |  j d d ƒ |  j d	 d ƒ |  j d	 d ƒ |  j d d ƒ |  j d d ƒ |  S(   s  Return Florentine families graph.

    References
    ----------
    .. [1] Ronald L. Breiger and Philippa E. Pattison
       Cumulated social roles: The duality of persons and their algebras,1
       Social Networks, Volume 8, Issue 3, September 1986, Pages 215-256
    t
   Acciaiuolit   Medicit
   Castellanit   Peruzzit   Strozzit	   Barbadorit   Ridolfit
   Tornabuonit   Albizzit   Salviatit   Pazzit   Bischerit   Guadagnit   Ginorit   Lamberteschi(   R   R   R   (   R   (    (    s9   lib/python2.7/site-packages/networkx/generators/social.pyR   ï   s,    	(	   t   __doc__t   networkxR   t   joint
   __author__t   __all__R    R   R   (    (    (    s9   lib/python2.7/site-packages/networkx/generators/social.pyt   <module>   s   			T	Ž