Ë
    Ìi�6  ã                   ó|   — d dl Z d dlZ e j                  d«      Z e j                  d«        G d„ d«      Zd„ Zd„ Zy)é    NÚnumpyÚscipyc                   ó(   — e Zd Zed„ «       Zd„ Zd„ Zy)ÚTestLaplacianc                 óº  — g d¢}t        j                  |«      | _        t        j                  d„ | j                  j	                  «       D «       «      | _        | j
                  j                  d«       t        j                  | j                  «      | _        | j                  j                  «       | _
        | j                  j                  «       D ]  }| j                  j                  ||«       Œ  t        j                  «       | _        | j                  j                  d«       t        j                   | j                  «      | _        t        j                  d„ | j                  j	                  «       D «       «      | _        | j                  j                  «       | _        | j&                  j                  «       D ]  }| j&                  j                  ||«       Œ  y )N)é   é   r	   é   r   c              3   ó2   K  — | ]  \  }}||d ddœf–— Œ y­w©ç      à?ç333333Ó?)ÚweightÚotherN© ©Ú.0ÚuÚvs      úe/var/www/html/strategist-ai/venv/lib/python3.12/site-packages/networkx/linalg/tests/test_laplacian.pyú	<genexpr>z,TestLaplacian.setup_class.<locals>.<genexpr>   s%   è ø€ ò 
Ù6<°q¸!ˆQ�˜c¨CÑ0Ô1ñ
ùó   ‚é   ©
©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r   r   r   s      r   r   z,TestLaplacian.setup_class.<locals>.<genexpr>+   s%   è ø€ ò 
Ù6<°q¸!ˆQ�˜c¨CÑ0Ô1ñ
ùr   )ÚnxÚhavel_hakimi_graphÚGÚGraphÚedgesÚWGÚadd_nodeÚ
MultiGraphÚMGÚcopyÚGslÚnodesÚadd_edgeÚDiGraphÚDiGÚadd_edges_fromÚMultiDiGraphÚDiMGÚDiWGÚDiGsl)ÚclsÚdegÚnodes      r   Úsetup_classzTestLaplacian.setup_class
   sJ  € âˆÜ×%Ñ% cÓ*ˆŒÜ—‘ñ 
Ø@CÇÁÇÁÃô
ó 
ˆŒð 	�‰�‰˜ÔÜ—‘˜sŸu™uÓ%ˆŒð —%‘%—*‘*“,ˆŒØ—G‘G—M‘M“Oò 	)ˆDØ�G‰G×Ñ˜T 4Õ(ð	)ô
 —*‘*“,ˆŒØ�‰×Ñðô	
ô —?‘? 3§7¡7Ó+ˆŒÜ—:‘:ñ 
Ø@CÇÁÇÁÃô
ó 
ˆŒð —G‘G—L‘L“NˆŒ	Ø—I‘I—O‘OÓ%ò 	+ˆDØ�I‰I×Ñ˜t TÕ*ñ	+ó    c           	      óN  — t         j                  g d¢g d¢g d¢g d¢g d¢g«      }d|z  }d|z  }t         j                  g d¢g d	¢g d
¢g d¢g d¢g d¢g«      }d|z  }d|z  }t         j                  j                  t	        j
                  | j                  «      j                  «       |«       t         j                  j                  t	        j
                  | j                  «      j                  «       |«       t         j                  j                  t	        j
                  | j                  ddg¬«      j                  «       t         j                  ddgddgg«      «       t         j                  j                  t	        j
                  | j                  «      j                  «       |«       t         j                  j                  t	        j
                  | j                  d¬«      j                  «       |«       t         j                  j                  t	        j
                  | j                  d¬«      j                  «       |«       t         j                  j                  t	        j
                  | j                  «      j                  «       |«       t         j                  j                  t	        j
                  | j                  «      j                  «       |«       t         j                  j                  t	        j
                  | j                  ddg¬«      j                  «       t         j                  ddgddgg«      «       t         j                  j                  t	        j
                  | j                  «      j                  «       |«       t         j                  j                  t	        j
                  | j                  d¬«      j                  «       |«       t         j                  j                  t	        j
                  | j                  d¬«      j                  «       |«       y)zGraph Laplacian)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
   ©Únodelistr:   N©r   r   r	   )ÚnpÚarrayÚtestingÚassert_equalr    Úlaplacian_matrixr"   Útodenser(   r%   r.   r1   r2   )ÚselfÚNLÚWLÚOLÚDiNLÚDiWLÚDiOLs          r   Útest_laplacianzTestLaplacian.test_laplacian2   sÝ  € ô �X‰XÒ+Ú+Ú+Ú+Ú+ð	-ó .ˆð �2‰XˆØ�2‰Xˆä�x‰xÒ1Ú1Ú1Ú1Ú1Ú1ð3ó 4ˆð �T‰zˆØ�T‰zˆÜ
�
‰
×Ñ¤× 3Ñ 3°D·F±FÓ ;× CÑ CÓ EÀrÔJÜ
�
‰
×Ñ¤× 3Ñ 3°D·G±GÓ <× DÑ DÓ FÈÔKÜ
�
‰
×ÑÜ×Ñ §¡°!°Q°Ô8×@Ñ@ÓBÜ�H‰H�q˜"�g  A˜wÐ'Ó(ô	
ô 	�
‰
×Ñ¤× 3Ñ 3°D·G±GÓ <× DÑ DÓ FÈÔKÜ
�
‰
×Ñ¤× 3Ñ 3°D·G±GÀDÔ I× QÑ QÓ SÐUWÔXÜ
�
‰
×ÑÜ×Ñ §¡°Ô8×@Ñ@ÓBÀBô	
ô 	�
‰
×Ñ¤× 3Ñ 3°D·H±HÓ =× EÑ EÓ GÈÔNÜ
�
‰
×Ñ¤× 3Ñ 3°D·I±IÓ >× FÑ FÓ HÈ$ÔOÜ
�
‰
×ÑÜ×Ñ §¡°A°q°6Ô:×BÑBÓDÜ�H‰H�q˜"�g  1˜vÐ&Ó'ô	
ô 	�
‰
×Ñ¤× 3Ñ 3°D·I±IÓ >× FÑ FÓ HÈ$ÔOÜ
�
‰
×ÑÜ×Ñ §	¡	°$Ô7×?Ñ?ÓAÀ4ô	
ô 	�
‰
×ÑÜ×Ñ §	¡	°'Ô:×BÑBÓDÀdõ	
r8   c           	      ó4	  — 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                  g d¢g d¢g d¢g d	¢g d¢g«      }t         j                  g d
¢g d¢g d¢g d¢g d¢g d¢g«      }t         j                  g d
¢g d¢g d¢g d¢g d¢g d¢g«      }t         j                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t         j                  j                  t	        j
                  | j                  t        d«      ¬«      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  «      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  «      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  «      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  d¬«      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  «      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  t        dd«      ¬«      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  «      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  «      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  «      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  d¬«      j                  «       |d¬«       t         j                  j                  t	        j
                  | j                  «      j                  «       |d¬«       y) zGeneralized Graph Laplacian)ç      ð?çé&1¬Ú¿rN   çX9´Èvâ¿ç        )rN   rM   ç      à¿rP   rP   )rN   rQ   rM   rP   rP   )rO   rP   rP   rM   rP   )rP   rP   rP   rP   rP   )ç      è?ç™»–�zÒ¿rS   çþe÷äa¡Ö¿rP   )rS   çKÈ=›Uå?çioð…ÉTÕ¿rP   rP   )rS   rV   rU   rP   rP   )rT   rP   rP   r   rP   )rM   rP   çrŠŽäòÚ¿rP   rP   rP   )rP   rP   rP   rP   rP   rP   )rW   rP   rM   rP   rW   rP   )rP   rP   rP   rM   rQ   çà-� æ¿)rP   rP   rP   rQ   rM   rX   )rP   rP   rP   rX   rP   rM   )rW   rP   rM   rW   rP   rP   )rP   rP   rP   rP   rX   rM   )rU   g™»–�zâ¿rS   rP   rP   rP   )rS   rQ   rR   rS   rP   rP   )rP   rP   rP   rU   rV   rW   )rP   rP   rP   rV   rU   rW   )rP   rP   rP   rP   rW   r   r   r;   r   ©Údecimalr   r=   r
   é   N)r>   r?   r@   Úassert_almost_equalr    Únormalized_laplacian_matrixr"   ÚrangerC   r(   r%   r*   r.   r1   r2   r3   )rD   r"   ÚGLÚLslr.   ÚDiGLÚDiLsls          r   Útest_normalized_laplacianz'TestLaplacian.test_normalized_laplaciana   s¬  € ô �H‰HÒ;Ú;Ú;Ú;Ú;ð	=ó >ˆô
 �X‰XÒ?Ú?Ú?Ú?Ú?ð	Aó Bˆô
 �h‰hÒEÚEÚEÚEÚEð	Gó Hˆô �h‰hÒNÚNÚNÚNÚNÚNðPó Qˆô �x‰xÒOÚOÚOÚOÚOÚOðQó Rˆô —‘ÒPÚPÚPÚPÚPÚPðRó Sˆô 	�
‰
×&Ñ&Ü×*Ñ*¨4¯6©6¼EÀ!»HÔE×MÑMÓOØØð 	'ô 	
ô
 	�
‰
×&Ñ&Ü×*Ñ*¨4¯6©6Ó2×:Ñ:Ó<¸bÈ!ð 	'ô 	
ô 	�
‰
×&Ñ&Ü×*Ñ*¨4¯7©7Ó3×;Ñ;Ó=¸rÈ1ð 	'ô 	
ô 	�
‰
×&Ñ&Ü×*Ñ*¨4¯7©7Ó3×;Ñ;Ó=¸rÈ1ð 	'ô 	
ô 	�
‰
×&Ñ&Ü×*Ñ*¨4¯7©7¸7ÔC×KÑKÓMØØð 	'ô 	
ô
 	�
‰
×&Ñ&Ü×*Ñ*¨4¯8©8Ó4×<Ñ<Ó>ÀÈQð 	'ô 	
ô 	�
‰
×&Ñ&Ü×*Ñ*Ø—‘Ü˜q %›ô÷ ‰g‹iØØð 	'ô 	
ô 	�
‰
×&Ñ&Ü×*Ñ*¨4¯8©8Ó4×<Ñ<Ó>ÀÈað 	'ô 	
ô 	�
‰
×&Ñ&Ü×*Ñ*¨4¯9©9Ó5×=Ñ=Ó?ÀÈqð 	'ô 	
ô 	�
‰
×&Ñ&Ü×*Ñ*¨4¯9©9Ó5×=Ñ=Ó?ÀÈqð 	'ô 	
ô 	�
‰
×&Ñ&Ü×*Ñ*¨4¯9©9¸WÔE×MÑMÓOØØð 	'ô 	
ô
 	�
‰
×&Ñ&Ü×*Ñ*¨4¯:©:Ó6×>Ñ>Ó@À%ÐQRð 	'õ 	
r8   N)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr7   rK   rc   r   r8   r   r   r   	   s!   „ Øñ%+ó ð%+òN-
ó^V
r8   r   c            	      ó  — t        j                  «       } | j                  d«       t        j	                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j
                  | dt        | «      ¬	«      }t        j                  j                  ||d
¬«       | j                  d«       t        j	                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j
                  | dt        | «      d¬«      }t        j                  j                  ||d
¬«       t        j	                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j
                  | dt        | «      d¬«      }t        j                  j                  ||d
¬«       t        j                  «       } | j                  d«       t        j	                  g d¢g d¢g d¢g d ¢g«      }t        j
                  | dt        | «      ¬	«      }t        j                  j                  ||d
¬«       y!)"zDirected Laplacianr   )ç�Å�1wï?çû:pÎˆÒÒ¿ç*©ÐDØØ¿ç\ AñcÌ�¿ç�€&Â†§—¿ç}Ð³Yõ¹š¿)rj   gµ7øÂdªê?ç8gDioðÍ¿çS–!Žuq«¿çGx$(®¿ç¯”eˆc]¬¿)rk   ro   ri   çò°Pkšwœ¿çÇº¸�ð¶¿çÝµ„|Ð³™¿)rl   rp   rs   ri   ç€H¿}8ß¿ç\�Âõ(\å¿)rm   rq   rt   rv   ri   ç)í¾0™Ê¿)rn   rr   ru   rw   rx   ri   çÍÌÌÌÌÌì?©Úalphar<   r   rY   ©)r	   r   )r   r
   )rM   ç¸@‚âÇ˜Ó¿çÏfÕçj+Þ¿rP   rP   ç,Ôšæ§Ô¿)r}   rM   çÕ	h"lxÂ¿rP   ç[±¿ìž<Ô¿rP   )r~   r€   rM   rP   çåòÒo_·¿rP   )rP   rP   rP   rM   rQ   rQ   )rP   r�   r‚   rQ   rM   ç      Ð¿)r   rP   rP   rQ   rƒ   rM   Úrandom©r{   r<   Ú	walk_type)r   ç¸@‚âÇ˜Ã¿çÏfÕçj+Î¿rP   rP   çð…ÉTÁ¨Ä¿)r‡   r   ç]mÅþ²{²¿rP   ç[±¿ìž<Ä¿rP   )rˆ   rŠ   r   rP   çÔ+eâX§¿rP   )rP   rP   rP   r   rƒ   rƒ   )rP   r‹   rŒ   rƒ   r   ç      À¿)r‰   rP   rP   rƒ   r�   r   Úlazy)r   )r	   r   )r   r
   r   )r   r   )r   çºI+‡Æ¿r�   rƒ   )r�   r   rP   r�   )r�   rP   r   r�   )rƒ   r�   r�   r   N)	r    r-   r/   r>   r?   Údirected_laplacian_matrixÚsortedr@   r\   )r"   r_   ÚLs      r   Útest_directed_laplacianr“   º   s½  € ô
 	�
‰
‹€AØ×Ñð	
ôô 
�‰ÒIÚIÚIÚIÚIÚIðKó 
L€Bô 	×$Ñ$ Q¨c¼FÀ1»IÔF€AÜ‡J�J×"Ñ" 1 b°!Ð"Ô4ð ×ÑÐ%Ô&ä	�‰ÒIÚIÚIÚIÚIÚIðKó 
L€Bô 	×$Ñ$Ø	�œv a›y°Hô	€Aô ‡J�J×"Ñ" 1 b°!Ð"Ô4ô 
�‰ÒIÚIÚIÚIÚIÚIðKó 
L€Bô 	×$Ñ$ Q¨c¼FÀ1»IÐQWÔX€AÜ‡J�J×"Ñ" 1 b°!Ð"Ô4ô 	�
‰
‹€AØ×ÑÐ=Ô>ä	�‰Ò3Ú3Ú3Ú3ð5ó 
6€Bô
 	×$Ñ$ Q¨c¼FÀ1»IÔF€AÜ‡J�J×"Ñ" 1 b°!Ð"Õ4r8   c            	      ó.  — t        j                  «       } | j                  d«       t        j	                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j
                  | dt        | «      ¬	«      }t        j                  j                  ||d
¬«       | j                  d«       t        j	                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j
                  | dt        | «      d¬«      }t        j                  j                  ||d
¬«       t        j	                  g d¢g d¢g d¢g d¢g d¢g d¢g«      }t        j
                  | dt        | «      d¬«      }t        j                  j                  ||d
¬«       t        j                  t        j                  d«      «      }t        j
                  |«      }t        j	                  g d¢g d¢g d¢g d ¢g«      }t        j                  j                  ||d!¬«       t        j                  t         j                  «      5  t        j
                  | d"d#¬$«       d%d%d%«       t        j                  t         j                  «      5  t        j
                  | d&¬'«       d%d%d%«       y%# 1 sw Y   ŒMxY w# 1 sw Y   y%xY w)(z Directed combinatorial Laplacianr   )g46<½¢?çF%uš‹¿çKÈ=›U�¿ç_ÎQÚk¿çü©ñÒMb`¿ç®Ø_vOf¿)r•   g
×£p=
§?çA‚âÇ˜»†¿çÅ�1w-!¿çaÃÓ+ey¿çlxz¥,C|¿)r–   rš   gˆ…ZÓ¼ã¤?çyé&1¬l¿ç�St$—ÿ€¿r™   )r—   r›   rž   g|ò°Pkš×?çz6«>W[Á¿ç<NÑ‘\þË¿)r˜   rœ   rŸ   r    gtµûËîÉ?çB`åÐ"Û©¿)r™   r�   r™   r¡   r¢   gj¼t“Ò?ry   rz   r   rY   r|   )gB`åÐ"ÛÁ?çÊÃB­iÞ¡¿ç+‡ÙÎ§¿rP   rP   ç:’ËH¿­¿)r£   g+‡ÙÎ·?çàœ¥½Á‡¿rP   r¤   rP   )r¤   r¦   çÊÃB­iÞ±?rP   r¦   rP   )rP   rP   rP   çKY†8ÖÅÍ?çKY†8ÖÅ½¿r©   )rP   r¤   r¦   r©   r¨   r¥   )r¥   rP   rP   r©   r¥   r¨   r„   r…   )r§   ç¨5Í;NÑ‘¿ç$¹ü‡ôÛ—¿rP   rP   rl   )rª   g+‡ÙÎ§?çàœ¥½Áw¿rP   r«   rP   )r«   r¬   gÊÃB­iÞ¡?rP   r¬   rP   )rP   rP   rP   çKY†8ÖÅ½?r¥   r¥   )rP   r«   r¬   r¥   r­   rl   )rl   rP   rP   r¥   rl   r­   rŽ   r	   )çKÚ}\UUÅ?çiKGUUµ¿r¯   rP   )r¯   r®   rP   r¯   )r¯   rP   r®   r¯   )rP   r¯   r¯   r®   r   Úpagerankéd   )r†   r{   NÚsilly)r†   )r    r-   r/   r>   r?   Ú'directed_combinatorial_laplacian_matrixr‘   r@   r\   Úmargulis_gabber_galil_graphÚpytestÚraisesÚNetworkXError)r"   r_   r’   ÚEÚexpecteds        r   Ú%test_directed_combinatorial_laplacianrº      s8  € ô
 	�
‰
‹€AØ×Ñð	
ôô 
�‰ÒIÚIÚIÚIÚIÚIðKó 
L€Bô 	×2Ñ2°1¸CÌ&ÐQRË)ÔT€AÜ‡J�J×"Ñ" 1 b°!Ð"Ô4ð ×ÑÐ%Ô&ô 
�‰ÒIÚIÚIÚIÚIÚIðKó 
L€Bô 	×2Ñ2Ø	�œv a›y°Hô	€Aô ‡J�J×"Ñ" 1 b°!Ð"Ô4ô 
�‰ÒIÚIÚIÚIÚIÚIðKó 
L€Bô 	×2Ñ2Ø	�œv a›y°Fô	€Aô ‡J�J×"Ñ" 1 b°!Ð"Ô4ä
�
‰
”2×1Ñ1°!Ó4Ó5€AÜ
×2Ñ2°1Ó5€Aä�x‰xÚ	=Ú	=Ú	=Ú	=ð	?ó€Hô ‡J�J×"Ñ" 1 h¸Ð"Ô:ä	�‰”r×'Ñ'Ó	(ñ WÜ
×2Ñ2°1À
ÐRUÕV÷Wä	�‰”r×'Ñ'Ó	(ñ IÜ
×2Ñ2°1ÀÕH÷Ið I÷Wð Wú÷Ið Iús   ÈI?ÉJÉ?JÊJ)rµ   Únetworkxr    Úimportorskipr>   r   r“   rº   r   r8   r   ú<module>r½      sH   ðÛ ã à€V×Ñ˜Ó!€Ø €× Ñ �GÔ ÷n
ñ n
òbC5óLNIr8   