
    h+                     |    S SK r \ R                  " S5      r\ R                  " S5        S SKrS SKJr   " S S5      rg)    Nnumpyscipy)havel_hakimi_graphc                   6    \ rS rSr\S 5       rS rS rS rSr	g)TestModularity
   c                     / SQn[        U5      U l        [        R                  " 5       U l        U R                  R                  S5        g )N)      r      r   )
)r   r   )r   r
   )r
   r   )r
   r   )r
      )   r   )r      )r   r   )r   r   )r   r   )r   GnxDiGraphDGadd_edges_from)clsdegs     W/var/www/html/env/lib/python3.13/site-packages/networkx/linalg/tests/test_modularity.pysetup_classTestModularity.setup_class   s9    "3' 	
    c                 v   [         R                  / SQ/ SQ/ SQ/ SQ/ SQ/5      n/ SQn[         R                  R                  [        R
                  " U R                  5      U5        [         R                  R                  [        R
                  " U R                  US9U[         R                  X"5         5        g)	zModularity matrixg            ?r         ?        r               ?      пr   r   r"   r!   r#   r   r   r#   r#   g      r   r   r   r   r   r   )r   r   r   r   r
   nodelistN)nparraytestingassert_equalr   modularity_matrixr   ix_)selfBpermutations      r   test_modularityTestModularity.test_modularity!   s     HH9448.	0 1 &


 4 4TVV <a@


  +>bff[./	
r   c                    [         R                  / SQ/ SQ/ SQ/ SQ/ SQ/5      nU R                  R                  5       nUR	                  5        H  u  p4SUR                  X44   S'   M     [         R
                  R                  [        R                  " U5      U5        [         R
                  R                  [        R                  " USS9SU-  5        g	)
zModularity matrix with weightsr   r    r$   r%   r&   r"   weight)r5   N)	r)   r*   r   copyedgesr+   r,   r   r-   )r/   r0   
G_weightedn1n2s        r   test_modularity_weight%TestModularity.test_modularity_weight2   s     HH9448.	0 1 VV[[]
 &&(FB14JRV$X. ) 	

 4 4Z @!D


  H=sQw	
r   c           	         [         R                  / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/5      n/ SQn/ SQn[        R                  " U R                  [        U R                  5      S	9n[         R                  R                  XA5        [         R                  R                  [        R                  " U R                  US	9U[         R                  X35         5        g
)zDirected Modularity matrix)皙ɿ333333?皙?皙ٿrA   rA   )r   r   r   r   r   r   )gffffff?皙?g333333ӿ333333rB   rC   )r>   rA   r>   rA   r?   r?   )r>   rA   r>   r?   rA   r?   )皙r>   rD   r@   r>   r>   )r   r   r   r
   r   r   )r   r   r   r   r
   r   r'   N)	r)   r*   r   directed_modularity_matrixr   sortedr+   r,   r.   )r/   r0   node_permutationidx_permutationmms        r   test_directed_modularity'TestModularity.test_directed_modularityF   s     HH:39:::< = .,**477VDGG_M


&


))$''<LMbff_67	
r    N)
__name__
__module____qualname____firstlineno__classmethodr   r2   r;   rJ   __static_attributes__rL   r   r   r   r   
   s#    
 
*
"
(
r   r   )pytestimportorskipr)   networkxr   networkx.generators.degree_seqr   r   rL   r   r   <module>rW      s8    !   G   =M
 M
r   