
    \Mh                     p    d dl Z d dlZ e j        d          Z e j        d            G d d          ZdS )    Nnumpyscipyc                   6    e Zd Zed             Zd Zd Zd ZdS )TestModularityc                     g d}t          j        |          | _        t          j                    | _        | j                            d           d S )N)      r	      r   )
)r
   r	   )r
   r   )r   r
   )r   r	   )r      )   r   )r      )r   r   )r   r   )r   r   )nxhavel_hakimi_graphGDiGraphDGadd_edges_from)clsdegs     e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/networkx/linalg/tests/test_modularity.pysetup_classzTestModularity.setup_class
   sU    oo%c** 	
 	
 	
 	
 	
    c                 ~   t                               g dg dg dg dg dg          }g d}t           j                            t	          j        | j                  |           t           j                            t	          j        | j        |          |t                               ||                              dS )	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_modularityzTestModularity.test_modularity    s     HH999444444888...	0 1 1 &oo

 4TV < <a@@@

 +>>>bff[+../	
 	
 	
 	
 	
r   c                    t                               g dg dg dg dg dg          }| j                                        }|                                D ]\  }}d|j        ||f         d<   t           j                            t          j        |          |           t           j                            t          j        |d          d|z             d	S )
zModularity matrix with weightsr   r   r"   r#   r$   r    weight)r2   N)	r'   r(   r   copyedgesr)   r*   r   r+   )r-   r.   
G_weightedn1n2s        r   test_modularity_weightz%TestModularity.test_modularity_weight1   s     HH999444444888...	0 1 1 V[[]]
 &&(( 	5 	5FB14JRV$X..

 4Z @ @!DDD

 H===sQw	
 	
 	
 	
 	
r   c           	         t                               g dg dg dg dg dg dg          }g d}g d}t          j        | j        t          | j                  	          }t           j                            ||           t           j                            t          j        | j        |	          |t                               ||                              d
S )zDirected Modularity matrix)皙ɿ333333?皙?皙ٿr=   r=   )r   r   r   r   r   r   )gffffff?皙?g333333ӿ333333r>   r?   )r:   r=   r:   r=   r;   r;   )r:   r=   r:   r;   r=   r;   )皙r:   r@   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-   r.   node_permutationidx_permutationmms        r   test_directed_modularityz'TestModularity.test_directed_modularityE   s     HH:::333999:::::::::< = = .--,,,*47VDG__MMM

A&&&

)$'<LMMMbff_o667	
 	
 	
 	
 	
r   N)__name__
__module____qualname__classmethodr   r0   r8   rF    r   r   r   r   	   sZ        
 
 [
*
 
 
"
 
 
(
 
 
 
 
r   r   )pytestnetworkxr   importorskipr'   r   rK   r   r   <module>rO      s{        V!!  G   M
 M
 M
 M
 M
 M
 M
 M
 M
 M
r   