
    h"                         d dl Z  e j                  d      Z e j                  d       d dlZd dlmZ d dlmZ d Z	 G d d      Z
y)	    Nnumpyscipy)NetworkXError)havel_hakimi_graphc                     g d} t        |       }g d} t        j                  | d      }t        j                  |t              j                         }t        j                  g dg dg dg d	g d
g      }t        j                  j                  ||       t        j                  |t              j                         }t        j                  g dg dg dg dg dg dg dg dg      }t        j                  j                  ||       t        j                  t              5  t        j                  |ddg       d d d        y # 1 sw Y   y xY w)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        c/var/www/django_project/virt/lib/python3.12/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Ax(
Bc*224Axx									 	H JJAx(	}	% 0
AA/0 0 0s   'E

Ec                   .    e Zd Zed        Zd Zd Zd Zy)TestGraphMatrixc                    g d}t        |      | _        t        j                  g dg dg dg dg dg      | _        t        j                  g dg dg d	g d
g dg      | _        t        |      | _        | j                  j                  d | j                  j                         D               t        j                  g dg dg dg dg dg      | _	        t        j                  | j                        | _        | j                  j                         | _        | j                  j                  dd       t        j                  g dg dg d	g d
g dg      | _        t        j                  g dg dg dg dg dg      | _        t        j$                  dddddifg      | _        t        j                  ddgddgg      | _        y )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   2   K   | ]  \  }}||d ddf  yw)      ?333333?weightotherN ).0uvs      r'   	<genexpr>z.TestGraphMatrix.setup_class.<locals>.<genexpr>F   s%      
6<q!QcC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
   r1      )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_classzTestGraphMatrix.setup_class1   s~   "3'	
 	
 $C( 
@C
 	
 "  	
 suu%&&++-A88	
 88 	
 6Aq8Q-+@"ABAq6Aq6"23    c                    t        j                  | j                  t        | j                        t        | j                  j	                               dt
              j                         }t        j                  j                  || j                         t        j                  | j                  t        | j                        t        | j                  j	                               dt
              j                         }t        j                  j                  |t        j                  | j                               t        j                  | j                  t        | j                        t        | j                  j	                               dt
              j                         }t        j                  j                  || j                         t        j                  | j                  t        | j                        t        | j                  j	                               dt
              j                         }t        j                  j                  |t        j                  | j                               t        j                  | j                  t        | j                        t        | j                  j	                               dt
              j                         }t        j                  j                  || j                         t        j                  | j                  t        | j                        t        | j                  j	                               dt
              j                         }t        j                  j                  |t        j                  | j                               t        j                  | j                  t        j                        }|j                   t        j                  k(  sJ y)zConversion to incidence matrixTr   edgelistorientedr   Fr   N)r   r   r#   sortedr=   r   r   r   r   r   r9   absr$   rA   rD   uint8r   )selfr%   s     r'   test_incidence_matrixz%TestGraphMatrix.test_incidence_matrixh   s   FFDFF^DFFLLN+
 ') 	
 	

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

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

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

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

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

266$))#45bhh7ww"(("""rJ   c           	      j	   t        j                  | j                  t        | j                        t        | j                  j	                               dt
              j                         }t        j                  j                  || j                         t        j                  | j                  t        | j                        t        | j                  j	                               dt
              j                         }t        j                  j                  |t        j                  | j                               t        j                  | j                  t        | j                        t        | j                  j	                               dd      j                         }t        j                  j                  |d| j                  z         t        j                  | j                  t        | j                        t        | j                  j	                               dd      j                         }t        j                  j                  |t        j                  d| j                  z               t        j                  | j                  t        | j                        t        | j                  j	                               dd      j                         }t        j                  j                  |d| j                  z         t        j                  | j                        }|j                  d	d
dd       t        j                  |t        |      t        |j	                  d            dd      j                         }t        j                  j                  |d| j                  z         t        j                  |t        |      t        |j	                  d            dd      j                         }t        j                  j                  |t        j                  d| j                  z               t        j                  |t        |      t        |j	                  d            dd      j                         }t        j                  j                  |d| j                  z         y )NTrL   Fr1   )r   rM   rN   r1   r.   r2   r/   r   r   r0   )keys)r   r   r;   rO   r=   r   r   r   r   r   r9   rP   r?   rB   rD   )rR   r%   WMGs      r'   test_weighted_incidence_matrixz.TestGraphMatrix.test_weighted_incidence_matrix   sI   GGDGG_DGGMMO,
 ') 	
 	

477+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?3rJ   c                 2   t         j                  j                  t        j                  | j
                        j                         | j                         t         j                  j                  t        j                  | j                        j                         | j                         t         j                  j                  t        j                  | j                        j                         | j                         t         j                  j                  t        j                  | j
                  ddg      j                         | j                  ddddf          t         j                  j                  t        j                  | j                        j                         | j                         t         j                  j                  t        j                  | j                  d      j                         | j                         t         j                  j                  t        j                  | j                  d      j                         | j                         t         j                  j                  t        j                  | j                  d      j                         d| j                  z         t         j                  j                  t        j                  | j                  dd	g      j                         | j                         y)
zConversion to adjacency matrixr   r   r   Nr
   )r1   r2   g333333?r	   )r   r   r   r   adjacency_matrixr#   r   r:   r$   rA   rC   r;   r>   rF   rG   )rR   s    r'   test_adjacency_matrixz%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	
rJ   N)__name__
__module____qualname__classmethodrI   rS   rW   rZ   r3   rJ   r'   r*   r*   0   s'    44 44l9#vZ4x
rJ   r*   )r    importorskipr   networkxr   networkx.exceptionr   networkx.generators.degree_seqr   r(   r*   r3   rJ   r'   <module>rc      sE    V!   G   , ="0Jd
 d
rJ   