
    h"                         S SK r \ R                  " S5      r\ R                  " S5        S SKrS SKJr  S SKJr  S r	 " S S5      r
g)	    Nnumpyscipy)NetworkXError)havel_hakimi_graphc                     / SQn [        U 5      n/ SQn [        R                  " U SS9n[        R                  " U[        S9R                  5       n[        R                  / SQ/ SQ/ SQ/ S	Q/ S
Q/5      n[        R                  R                  X45        [        R                  " U[        S9R                  5       n[        R                  / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/5      n[        R                  R                  X45        [        R                  " [        5         [        R                  " USS/S9  S S S 5        g ! , (       d  f       g = f)N      r
      r   )r   r   r   r   )r
   r   r   )r
   r   r   r   r   *   )seeddtype)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   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   r   r   nodelist)r   nxrandom_clustered_graphincidence_matrixinttodensenparraytestingassert_equalpytestraisesr   )degGMGIexpecteds        X/var/www/html/env/lib/python3.13/site-packages/networkx/linalg/tests/test_graphmatrix.pytest_incidence_matrix_simpler(      s    
C3A
JC		"	"3R	0B
AS)113Axx							H JJA(
Bc*224Axx									 	H JJA(	}	%
AA/ 
&	%	%s    E
Ec                   6    \ rS rSr\S 5       rS rS rS rSr	g)TestGraphMatrix0   c                    / SQn[        U5      U l        [        R                  / SQ/ SQ/ SQ/ SQ/ SQ/5      U l        [        R                  / SQ/ SQ/ S	Q/ S
Q/ SQ/5      U l        [        U5      U l        U R                  R                  S U R                  R                  5        5       5        [        R                  / SQ/ SQ/ SQ/ SQ/ SQ/5      U l	        [        R                  " U R                  5      U l        U R                  R                  5       U l        U R                  R                  SS5        [        R                  / SQ/ SQ/ S	Q/ S
Q/ SQ/5      U l        [        R                  / SQ/ SQ/ SQ/ SQ/ SQ/5      U l        [        R$                  " SSSSS04/5      U l        [        R                  SS/SS//5      U l        g )Nr   )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   r   r   r   r   c              3   4   #    U  H  u  pXS SS.4v   M     g7f)      ?333333?weightotherN ).0uvs      r'   	<genexpr>.TestGraphMatrix.setup_class.<locals>.<genexpr>F   s      
@MfqQcC01s   )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   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
   r2      )r   r#   r   r   OIAWGadd_edges_fromedgesWAr   
MultiGraphr$   copyMG2add_edgeMG2AMGOIGraph
no_edges_G
no_edges_A)clsr"   s     r'   setup_classTestGraphMatrix.setup_class1   s~   "3'	
 	
 $C( 
@C
 	
 "  	
 suu%&&++-A88	
 88 	
 6Aq8Q-+@"ABAq6Aq6"23    c                    [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      S[
        S9R                  5       n[        R                  R                  XR                  5        [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      S[
        S9R                  5       n[        R                  R                  U[        R                  U R                  5      5        [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      S[
        S9R                  5       n[        R                  R                  XR                  5        [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      S[
        S9R                  5       n[        R                  R                  U[        R                  U R                  5      5        [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      S[
        S9R                  5       n[        R                  R                  XR                  5        [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      S[
        S9R                  5       n[        R                  R                  U[        R                  U R                  5      5        [         R                  " U R                  [        R                  S9nUR                   [        R                  :X  d   eg)zConversion to incidence matrixTr   edgelistorientedr   Fr   N)r   r   r#   sortedr?   r   r   r   r   r   r;   absr$   rC   rF   uint8r   )selfr%   s     r'   test_incidence_matrix%TestGraphMatrix.test_incidence_matrixh   s   FFDFF^DFFLLN+
 ') 	
 	

77+FFDFF^DFFLLN+
 ') 	
 	

266$''?3GGDGG_DGGMMO,
 ') 	
 	

77+GGDGG_DGGMMO,
 ') 	
 	

266$''?3HHDHH%DHHNN,-
 ') 	
 	

99-HHDGG_DHHNN,-
 ') 	
 	

266$))#45bhh7ww"(("""rM   c           
      2	   [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      S[
        S9R                  5       n[        R                  R                  XR                  5        [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      S[
        S9R                  5       n[        R                  R                  U[        R                  U R                  5      5        [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      SSS9R                  5       n[        R                  R                  USU R                  -  5        [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      SSS9R                  5       n[        R                  R                  U[        R                  SU R                  -  5      5        [         R                  " U R                  [        U R                  5      [        U R                  R	                  5       5      SSS9R                  5       n[        R                  R                  USU R                  -  5        [         R                  " U R                  5      nUR                  S	S
SSS9  [         R                  " U[        U5      [        UR	                  SS95      SSS9R                  5       n[        R                  R                  USU R                  -  5        [         R                  " U[        U5      [        UR	                  SS95      SSS9R                  5       n[        R                  R                  U[        R                  SU R                  -  5      5        [         R                  " U[        U5      [        UR	                  SS95      SSS9R                  5       n[        R                  R                  USU R                  -  5        g )NTrO   Fr2   )r   rP   rQ   r2   r/   r3   r0   r   r   r1   )keys)r   r   r=   rR   r?   r   r   r   r   r   r;   rS   rA   rD   rF   )rU   r%   WMGs      r'   test_weighted_incidence_matrix.TestGraphMatrix.test_weighted_incidence_matrix   sG   GGDGG_DGGMMO,
 ') 	
 	

77+GGDGG_DGGMMO,
 ') 	
 	

266$''?3 GGDGG_DGGMMO,
 ') 	
 	

3=1GGDGG_DGGMMO,
 ') 	
 	

266#-#89GGDGG_DGGMMO,
 ') 	
 	

3=1 mmDGG$Q#S1C[CII4I01
 ') 	
 	

3?3C[CII4I01
 ') 	
 	

266#		/#:;C[CII4I01
 ') 	
 	

3?3rM   c                 &   [         R                  R                  [        R                  " U R
                  5      R                  5       U R                  5        [         R                  R                  [        R                  " U R                  5      R                  5       U R                  5        [         R                  R                  [        R                  " U R                  5      R                  5       U R                  5        [         R                  R                  [        R                  " U R
                  SS/S9R                  5       U R                  SS2SS24   5        [         R                  R                  [        R                  " U R                  5      R                  5       U R                  5        [         R                  R                  [        R                  " U R                  SS9R                  5       U R                  5        [         R                  R                  [        R                  " U R                  SS9R                  5       U R                  5        [         R                  R                  [        R                  " U R                  SS9R                  5       SU R                  -  5        [         R                  R                  [        R                  " U R                  SS	/S9R                  5       U R                  5        g)
zConversion to adjacency matrixr   r   r   Nr
   )r2   r3   g333333?r	   )r   r   r   r   adjacency_matrixr#   r   r<   r$   rC   rE   r=   r@   rH   rI   )rU   s    r'   test_adjacency_matrix%TestGraphMatrix.test_adjacency_matrix   s   


 3 3DFF ; C C EtvvN


 3 3DGG < D D FO


 3 3DHH = E E GS


!Q8@@BDFF2A2rPQr6N	
 	

 3 3DGG < D D FP


5==?	
 	

6>>@$))	
 	

8@@BC$''M	
 	

1a&AIIKOO	
rM   r4   N)
__name__
__module____qualname____firstlineno__classmethodrK   rV   r[   r_   __static_attributes__r4   rM   r'   r*   r*   0   s'    44 44l9#vZ4x
rM   r*   )r    importorskipr   networkxr   networkx.exceptionr   networkx.generators.degree_seqr   r(   r*   r4   rM   r'   <module>rk      sA    !   G   , ="0Jd
 d
rM   