Ë
    7^(h€  ã                   ó`   — d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	 ddl
mZ d„ Zd„ Zd	„ Zd
„ Zy)zTests for homomorphisms.é    )ÚS)ÚQQ©ÚxÚy©Úhomomorphism)Úraisesc                  ó   — t        j                  t        «      } t        t	        | j                  d«      | j                  d«      dg«      «      dk(  sJ ‚t        t	        | j                  d«      | j                  d«      ddg«      «      dk(  sJ ‚t        t	        | j                  d«      | j                  d«      t        ggz  dg«      «      dk(  sJ ‚t        | j                  d«      j                  «       «      dk(  sJ ‚y )Né   r   z$Matrix([[0]]) : QQ[x]**1 -> QQ[x]**1é   z^Matrix([                       
[0, 0], : QQ[x]**2 -> QQ[x]**2
[0, 0]])                       z*Matrix([[0]]) : QQ[x]**1 -> QQ[x]**1/<[x]>z'Matrix(0, 0, []) : QQ[x]**0 -> QQ[x]**0)r   Úold_poly_ringr   Ústrr	   Úfree_moduleÚidentity_hom)ÚRs    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/polys/agca/tests/test_homomorphisms.pyÚtest_printingr   
   së   € Ü
×ÑœÓ€AäŒ|˜AŸM™M¨!Ó,¨a¯m©m¸AÓ.>ÀÀÓDÓEØ.ò/ð /ð /äŒ|˜AŸM™M¨!Ó,¨a¯m©m¸AÓ.>ÀÀAÀÓGÓHØjòkð kð käŒ|˜AŸM™M¨!Ó,¨a¯m©m¸AÓ.>Ä1À#ÀÑ.FÈÈÓLÓMØ4ò5ð 5ð 5äˆq�}‰}˜QÓ×,Ñ,Ó.Ó/Ð3\Ò\Ð\Ñ\ó    c            	      ó8  ‡‡‡— t        j                  t        «      j                  d«      } t        j                  t        «      j                  d«      }| j	                  «       Št        | | ddt        gg«      Št        | | ddgdg«      }t        | |g d¢g d¢g«      Š‰‰k(  sJ ‚‰‰k7  sJ ‚‰‰k7  sJ ‚‰| j	                  «       k7  du sJ ‚d‰z  ‰dz  cxk(  rt        | | ddgddgg«      k(  sJ ‚ J ‚‰dz  t        | | t        j                  dgdt        j                  gg«      k(  sJ ‚‰‰z   t        | | ddgdt        dz   gg«      k(  sJ ‚‰‰z
  t        | | ddgddt        z
  gg«      k(  sJ ‚‰‰z  ‰cxk(  r	‰‰z  k(  sJ ‚ J ‚|‰z  t        | | dddgg«      k(  sJ ‚‰|z  t        | | ddg«      k(  sJ ‚‰‰z  ‰k(  sJ ‚ ‰ddg«      ddgk(  sJ ‚ ‰ddg«      ddt        z  gk(  sJ ‚ ‰j                  | j                  t        t        g«      «      t        t        g«       ‰t        t        g«      k(  sJ ‚|j                  | j                  ddg«      «      } |ddg«       |ddg«      k(  sJ ‚ |j                  |j                  j                  t        dg«      «      t        dg«       |t        dg«      k(  sJ ‚t        t        ˆˆfd	„«       t        t        ˆfd
„«       t        t        ˆˆfd„«       t        t        ˆfd„«       t        t        ˆˆfd„«       y )Nr   é   r   r   ©r   r   r   ©r   r   r   Féÿÿÿÿc                  ó   •— ‰ ‰z  S ©N© )ÚfÚgs   €€r   ú<lambda>z!test_operations.<locals>.<lambda>1   ó   ø€ ˜a ™c€ r   c                  ó   •— ‰ dz   S ©Nr   r   ©r   s   €r   r    z!test_operations.<locals>.<lambda>2   ó   ø€ ˜a !™e€ r   c                  ó   •— ‰ ‰z   S r   r   ©r   Úis   €€r   r    z!test_operations.<locals>.<lambda>3   r%   r   c                  ó   •— ‰ dz
  S r#   r   r$   s   €r   r    z!test_operations.<locals>.<lambda>4   r%   r   c                  ó   •— ‰ ‰z  S r   r   r'   s   €€r   r    z!test_operations.<locals>.<lambda>5   r!   r   )r   r   r   r   r   r	   r   ÚHalfÚrestrict_domainÚ	submoduleÚquotient_domainÚdomainr
   Ú	TypeError)ÚFÚGÚhÚh1r   r   r(   s       @@@r   Útest_operationsr5      s	  ú€ Ü
×ÑœÓ×'Ñ'¨Ó*€AÜ
×ÑœÓ×'Ñ'¨Ó*€AØ	�‰Ó€AÜ�Q˜˜A ¤1˜v˜;Ó'€AÜ�Q˜˜Q ˜F A˜;Ó'€AÜ�Q˜šI¢yÐ1Ó2€Aà�Š6€Mˆ6Ø�Š6€Mˆ6Ø�Š6€Mˆ6Ø�—‘Ó!Ñ! eÑ+Ð+Ð+ØˆQ‰3�!�A‘#Ô=œ a¨¨a°¨V°a¸°VÐ,<Ó=Ò=Ð=Ñ=Ð=Ð=ØˆQ‰3”,˜q !¤q§v¡v¨q k°A´q·v±v°;Ð%?Ó@Ò@Ð@Ð@Øˆq‰5”L  A¨¨A¨°´A¸±E°
Ð';Ó<Ò<Ð<Ð<Øˆq‰5”L  A¨¨A¨°°Q¼±U°Ð'<Ó=Ò=Ð=Ð=ØˆQ‰3�!Œ?�q˜‘sŠ?Ð‰?Ðˆ?ØˆQ‰3”,˜q ! a¨!¨Q¨ [Ó1Ò1Ð1Ð1ØˆQ‰3”,˜q ! a¨ VÓ,Ò,Ð,Ð,ØˆQ‰3�!Š8€Oˆ8Ùˆa�ˆV‹9˜˜A˜ÒÐÐÙˆa�ˆV‹9˜˜Aœa™C˜Ò Ð Ð à1ˆ1×Ñ˜QŸ[™[¬!¬Q¨Ó0Ó1´1´a°&Ó9¹QÄÄ1¸v»YÒFÐFÐFØ	
×	Ñ	˜1Ÿ;™;¨¨1 vÓ.Ó	/€BÙˆq�!ˆf‹:™˜A˜q˜6›Ò"Ð"Ð"Ø:ˆ2×Ñ˜bŸi™i×1Ñ1´1°a°&Ó9Ó:¼A¸q¸6ÓBÁaÌÈAÈÃiÒOÐOÐOä
Œ9”kÔ"Ü
Œ9“mÔ$Ü
Œ9”mÔ$Ü
Œ9“mÔ$Ü
Œ9”kÕ"r   c                  ó®  ‡‡‡‡	‡
‡— t        j                  t        «      j                  d«      Št        j                  t        «      j                  d«      Š‰j	                  g d¢«      } ‰| z  }|j	                  g d¢«      }ddgddgddggŠt        ‰‰‰«      Š
t        |‰‰«      }‰
j                  | «      |k(  sJ ‚t        t        ˆˆ
fd„«       |j                  |«      t        |‰‰«      k(  sJ ‚t        t        ˆˆ
fd	„«       t        t        ˆˆ
fd
„«       t        t        ˆˆ
fd„«       g d¢g d¢g d¢g}‰| ||fD ]"  }|j                  «       t        |||«      k(  rŒ"J ‚ | j                  «       t        | ‰|«      k(  sJ ‚|j                  «       t        |||«      k(  sJ ‚|j                  «       t        ‰||«      k(  sJ ‚|j                  «       t        |j                  ||«      k(  sJ ‚ G d„ d«      Š G ˆfd„d«      Š	t        t        ˆˆ	ˆfd„«       t        t        ˆˆ	ˆfd„«       t        t        ˆˆfd„«       t        t        ˆˆfd„«       y )Nr   r   )r   r   r   r   r   r   r   c                  óH   •— ‰j                  ‰ j                  g d¢«      «      S )Nr   )r.   r-   ©r1   r3   s   €€r   r    ztest_creation.<locals>.<lambda>C   s   ø€ ˜q×0Ñ0°·±ºYÓ1GÓH€ r   c                  ó&   •— ‰j                  ‰ «      S r   )r,   ©r2   r3   s   €€r   r    ztest_creation.<locals>.<lambda>E   s   ø€ ˜q×0Ñ0°Ó3€ r   c                  óH   •— ‰j                  ‰ j                  ddg«      «      S )Nr   r   )Úrestrict_codomainr-   r:   s   €€r   r    ztest_creation.<locals>.<lambda>F   s   ø€ ˜q×2Ñ2°1·;±;ÀÀ1¸vÓ3FÓG€ r   c                  ó&   •— ‰j                  ‰ «      S r   )Úquotient_codomainr8   s   €€r   r    ztest_creation.<locals>.<lambda>G   s   ø€ ˜q×2Ñ2°1Ó5€ r   r   )r   r   r   c                   ó   — e Zd Zdd„Zy)útest_creation.<locals>.convNc                 ó   — | S r   r   r   s     r   Úconvertz#test_creation.<locals>.conv.convertR   s   € ØˆHr   r   )Ú__name__Ú
__module__Ú__qualname__rB   r   r   r   Úconvr@   Q   s   „ ô	r   rF   c                   ó$   •— e Zd Z W ° «       Zd„ Zy)útest_creation.<locals>.dummyc                   ó   — y r   r   )Úargss    r   r-   z&test_creation.<locals>.dummy.submoduleX   s   € Ør   N)rC   rD   rE   Ú	containerr-   )rF   s   €r   ÚdummyrH   U   s   ø„ Ú“Fˆ	ó	r   rL   c                  ó(   •— t         ‰«       ‰ ‰«      S r   r   )r2   rL   Úmatrixs   €€€r   r    ztest_creation.<locals>.<lambda>Z   s   ø€ œl©5«7°A°vÓ>€ r   c                  ó(   •— t        ‰  ‰«       ‰«      S r   r   )r1   rL   rN   s   €€€r   r    ztest_creation.<locals>.<lambda>[   s   ø€ œl¨1©e«g°vÓ>€ r   c                  ót   •— t        t        j                  t        t        «      j                  d«      ‰ ‰«      S )Nr   )r	   r   r   r   r   r   )r2   rN   s   €€r   r    ztest_creation.<locals>.<lambda>]   s*   ø€ œL¬×)9Ñ)9¼!¼QÓ)?×)KÑ)KÈAÓ)NÐPQÐSYÓZ€ r   c                  ó"   •— t        ‰ ‰ddg«      S )Nr   r   )r1   r2   s   €€r   r    ztest_creation.<locals>.<lambda>^   s   ø€ œ|¨A¨q°1°a°&Ó9€ r   )r   r   r   r   r-   r	   r.   r
   Ú
ValueErrorr,   r   Úinclusion_homÚquotient_homÚbaser0   )ÚSMÚQÚSQÚh2ÚimÚMr1   r2   rF   rL   r3   rN   s         @@@@@@r   Útest_creationr\   8   s   ý€ Ü
×ÑœÓ×'Ñ'¨Ó*€AÜ
×ÑœÓ×'Ñ'¨Ó*€AØ	
�‰’YÓ	€BØ	ˆB‰€AØ	
�‰’YÓ	€Bà�!ˆf�q˜!�f˜r 2˜hÐ'€FÜ�Q˜˜6Ó"€AÜ	�a˜˜FÓ	#€BØ×Ñ˜RÓ  BÒ&Ð&Ð&Ü
Œ:ÔHÔIØ×Ñ˜bÓ!¤\°"°a¸Ó%@Ò@Ð@Ð@Ü
Œ:Ô3Ô4Ü
Œ:ÔGÔHÜ
Œ:Ô5Ô6â
’Y¢	Ð	*€BØ��Q˜ˆ^ò :ˆØ�~‰~Ó¤<°°1°bÓ#9Ó9Ð9Ð9ð:à×ÑÓ¤¨b°!°RÓ!8Ò8Ð8Ð8Ø×ÑÓ¤¨b°!°RÓ!8Ò8Ð8Ð8Ø�>‰>Óœ|¨A¨q°"Ó5Ò5Ð5Ð5Ø�?‰?Ó¤¨R¯W©W°b¸"Ó =Ò=Ð=Ð=÷ñ ÷ó ô
 Œ9Õ>Ô?Ü
Œ9Õ>Ô?Ü
ÜÔZô\ä
Œ:Ô9Õ:r   c                  óü  — t        j                  t        t        «      } | j	                  d«      }t        ||t        dgt        dgg«      }|j                  «       |j                  t         t        g«      k(  sJ ‚|j                  «       |j                  t        dgt        dg«      k(  sJ ‚|j                  «       rJ ‚|j                  «       rJ ‚|j                  |j                  «       «      j                  «       sJ ‚|j                  |j                  ddg«      «      j                  «       sJ ‚|j                  |j                  «       «      j                  |j                  «       «      j                  «       sJ ‚t        j                  t        t        dt        fdt        ff¬«      t        dz  dz   gz  }|j	                  d«      }t        ||t        dgt        t        dz   gg«      }|j                  «       sJ ‚y )Nr   r   r   ÚlexÚilex)Úorder)r   r   r   r   r   r	   Úkernelr-   ÚimageÚis_injectiveÚis_surjectiver<   r,   r.   Úis_isomorphism)r   r1   r3   ÚR2s       r   Útest_propertiesrg   a   s¦  € Ü
×ÑœœAÓ€AØ	�‰�aÓ€AÜ�Q˜œQ ˜F¤Q¨ FÐ+Ó,€AØ�8‰8‹:˜Ÿ™¤q b¬! WÓ-Ò-Ð-Ð-Ø�7‰7‹9˜Ÿ™¤Q¨ F¬Q°¨FÓ3Ò3Ð3Ð3Ø�~‰~ÔÐÐØ�‰Ô Ð Ð Ø×Ñ˜qŸw™w›yÓ)×7Ñ7Ô9Ð9Ð9Ø×Ñ˜QŸ[™[¨!¨Q¨Ó0Ó1×>Ñ>Ô@Ð@Ð@Ø×ÑØ	�‰‹
óß%Ñ% a§g¡g£iÓ0·±Ó1AðBð Bð Bô 
×	Ñ	œ!œQ¨¬q z°F¼A°;Ð&?Ô	@ÄAÀqÁDÈ1ÁHÀ:Ñ	M€BØ
�‰�qÓ€AÜ�Q˜œQ ˜F¤Q¬¨A© JÐ/Ó0€AØ×ÑÔÐÑr   N)Ú__doc__Úsympy.core.singletonr   Ú!sympy.polys.domains.rationalfieldr   Ú	sympy.abcr   r   Úsympy.polys.agcar	   Úsympy.testing.pytestr
   r   r5   r\   rg   r   r   r   ú<module>rn      s.   ðÙ å "Ý 0ß Ý )Ý 'ò	]ò #òF&;óRr   