Ë
    7^(hð4  ã                   óÈ   — d Z ddlmZmZmZ ddlmZmZmZm	Z	m
Z
mZ ddlmZmZmZ ddlmZ ddlmZ d„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#y)zTest modules.py code.é    )Ú
FreeModuleÚModuleOrderÚFreeModulePolyRing)ÚCoercionFailedÚQQÚlexÚgrlexÚilexÚZZ)ÚxÚyÚz)Úraises)ÚRationalc                  ó,  ‡— t        j                  t        «      j                  d«      } | j	                  dt        t        dz  g«      Št        j                  t        «      j	                  d«      t        j                  t        «      j	                  t        «      t        j                  t        «      j	                  t        dz  «      g}t        ‰«      |k(  sJ ‚|d   ‰d   k(  sJ ‚|d   ‰d   k(  sJ ‚|d   ‰d   k(  sJ ‚t        t        ˆfd„«       | j	                  t        ddg«      }‰|z   | j	                  t        dz   t        t        dz  g«      k(  sJ ‚||z   | j	                  t        dz   t        t        dz  g«      k(  sJ ‚‰ | j	                  dt         t        dz   g«      k(  sJ ‚‰|z
  | j	                  dt        z
  t        t        dz  g«      k(  sJ ‚‰|k7  sJ ‚| j	                  t        t        t        g«      t        j                  t        «      j	                  t        «      z  g d¢k(  sJ ‚t        j                  t        d¬	«      }|j                  d«      j	                  t        g«      |j	                  t        «      z  dgk(  sJ ‚y )
Né   é   é   r   c                  ó   •— ‰ d   S )Nr   © )Úes   €úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/polys/agca/tests/test_modules.pyú<lambda>z(test_FreeModuleElement.<locals>.<lambda>   s   ø€ ˜q ™t€ ó    éÿÿÿÿ©r   r   r   r
   ©Úorder)r   Úold_poly_ringr   Úfree_moduleÚconvertÚlistr   Ú
IndexError)ÚMÚfÚgÚRr   s       @r   Útest_FreeModuleElementr(   
   s#  ø€ Ü
×ÑœÓ×'Ñ'¨Ó*€AØ	�	‰	�1”aœ˜A™�,Ó€AÜ	×	Ñ	œ!Ó	×	$Ñ	$ QÓ	'¬×)9Ñ)9¼!Ó)<×)DÑ)DÄQÓ)GÌ×IYÑIYÔZ[ÓI\×IdÑIdÔefÐhiÑeiÓIjÐk€AÜ�‹7�aŠ<Ðˆ<ØˆQ‰4�1�Q‘4Š<Ðˆ<ØˆQ‰4�1�Q‘4Š<Ðˆ<ØˆQ‰4�1�Q‘4Š<Ðˆ<Ü
Œ:“|Ô$à	�	‰	”1�a˜�)Ó€AØˆq‰5�A—I‘Iœq 1™u¤a¬¨A©Ð.Ó/Ò/Ð/Ð/Øˆq‰5�A—I‘Iœq 1™u¤a¬¨A©Ð.Ó/Ò/Ð/Ð/Øˆ2�—‘˜B¤ ¤Q¨¡T E˜?Ó+Ò+Ð+Ð+Øˆq‰5�A—I‘I˜q¤1™u¤a¬¨A©Ð.Ó/Ò/Ð/Ð/Ø�Š6€Mˆ6à�9‰9”aœœA�YÓ¤"×"2Ñ"2´1Ó"5×"=Ñ"=¼aÓ"@Ñ@ÂIÒMÐMÐMÜ
×Ñœ &Ô)€AØ�=‰=˜Ó×#Ñ#¤Q CÓ(¨1¯9©9´Q«<Ñ7¸A¸3Ò>Ð>Ñ>r   c                  óÚ	  ‡‡— t        t        j                  t        «      d«      Š‰t        t        j                  t        «      d«      k(  sJ ‚‰t        t        j                  t        «      d«      k7  sJ ‚‰t        t        j                  t        «      d«      k7  sJ ‚t        t        j                  t        d¬«      d«      } t        dg‰v sJ ‚t        g‰vsJ ‚dt        g‰vsJ ‚dt        dz   z  dg‰vsJ ‚‰j                  t        t        dz  dz   g«      }t        j                  t        «      j                  t        «      }|||dz  dz   gk(  sJ ‚|t        t        dz  dz   gk(  sJ ‚d|z  dt        z  dt        dz  z  dz   gk(  sJ ‚|dz  dt        z  dt        dz  z  dz   gk(  sJ ‚|dz  t        dz  t        dz  dz   dz  gk(  sJ ‚t        |z  t        dz  t        dz  t        z   gk(  sJ ‚|t        z  t        dz  t        dz  t        z   gk(  sJ ‚||z  t        dz  t        dz  t        z   gk(  sJ ‚||z  t        dz  t        dz  t        z   gk(  sJ ‚t        dg| v sJ ‚t        g| vsJ ‚dt        g| vsJ ‚dt        dz   z  dg| v sJ ‚| j                  t        t        dz  dz   g«      }t        j                  t        d¬«      j                  t        «      }|||dz  dz   gk(  sJ ‚|t        t        dz  dz   gk(  sJ ‚d|z  dt        z  dt        dz  z  dz   gk(  sJ ‚|dz  dt        z  dt        dz  z  dz   gk(  sJ ‚|dz  t        dz  t        dz  dz   dz  gk(  sJ ‚t        |z  t        dz  t        dz  t        z   gk(  sJ ‚|t        z  t        dz  t        dz  t        z   gk(  sJ ‚|dt        z   z  t        dt        z   z  t        dz  dz   dt        z   z  gk(  sJ ‚||z  t        dz  t        dz  t        z   gk(  sJ ‚||z  t        dz  t        dz  t        z   gk(  sJ ‚t        t        j                  t        t        «      d«      Š‰j                  |«      ‰j                  t        t        dz  dz   g«      k(  sJ ‚‰j                  d«      rJ ‚‰j                  «       rJ ‚t        t        d„ «       t        t        d„ «       t        t        ˆfd	„«       t        t        ˆfd
„«       y )Nr   r   r
   r   r   r   c                  óR   — t        j                  t        «      j                  d«      S ©Nr   )r   r   r   r    r   r   r   r   z!test_FreeModule.<locals>.<lambda>P   s   € ¬×(8Ñ(8¼Ó(;×(GÑ(GÈÓ(J€ r   c                  ó"   — t        t        d«      S r+   )r   r   r   r   r   r   z!test_FreeModule.<locals>.<lambda>Q   s   € Ô(:¼2¸qÓ(A€ r   c                  ó”   •— ‰ j                  t        j                  t        «      j	                  d«      j                  g d¢«      «      S )Nr   ©r   r   r   )r!   r   r   r   r    )ÚM1s   €r   r   z!test_FreeModule.<locals>.<lambda>R   s2   ø€  2§:¡:¬b×.>Ñ.>¼qÓ.A×.MÑ.MÈaÓ.Pß‰G’IÓó$ € r   c                  ó&   •— ‰ j                  d«      S ©Nr   )r!   )ÚM3s   €r   r   z!test_FreeModule.<locals>.<lambda>T   s   ø€  2§:¡:¨a£=€ r   )r   r   r   r   r   r!   Úis_submoduleÚis_zeror   ÚNotImplementedErrorr   )ÚM2r   ÚXr/   r2   s      @@r   Útest_FreeModuler8       sÈ  ù€ Ü	”B×$Ñ$¤QÓ'¨Ó	+€BØ”œB×,Ñ,¬QÓ/°Ó3Ò3Ð3Ð3Ø”œB×,Ñ,¬QÓ/°Ó3Ò3Ð3Ð3Ø”œB×,Ñ,¬QÓ/°Ó3Ò3Ð3Ð3Ü	”B×$Ñ$¤Q¨fÔ5°qÓ	9€Bäˆqˆ6�R‰<Ðˆ<Üˆ3�b‰=Ðˆ=ØŒqˆ6˜ÑÐÐØŒq�1‰u‰I�qˆ> Ñ#Ð#Ð#à
�
‰
”A”q˜!‘t˜a‘x�=Ó!€AÜ
×ÑœÓ×#Ñ#¤AÓ&€AØ��A�q‘D˜1‘H�ÒÐÐØ””A�q‘D˜1‘H�ÒÐÐØˆQ‰3�1”Q‘3˜œ!˜Q™$™ ™
Ð#Ò#Ð#Ð#ØˆQ‰3�1”Q‘3˜œ!˜Q™$™ ™
Ð#Ò#Ð#Ð#ØˆQ‰3”1�Q‘3œ˜A™ ™ 1™Ð%Ò%Ð%Ð%ÜˆQ‰3”1�a‘4œ˜A™¤™Ð"Ò"Ð"Ð"ØŒQ‰3”1�a‘4œ˜A™¤™Ð"Ò"Ð"Ð"ØˆQ‰3”1�a‘4œ˜A™¤™Ð"Ò"Ð"Ð"ØˆQ‰3”1�a‘4œ˜A™¤™Ð"Ò"Ð"Ð"äˆqˆ6�R‰<Ðˆ<Üˆ3�b‰=Ðˆ=ØŒqˆ6˜ÑÐÐØŒq�1‰u‰I�qˆ>˜RÑÐÐà
�
‰
”A”q˜!‘t˜a‘x�=Ó!€AÜ
×Ñœ &Ô)×1Ñ1´!Ó4€AØ��A�q‘D˜1‘H�ÒÐÐØ””A�q‘D˜1‘H�ÒÐÐØˆQ‰3�1”Q‘3˜œ!˜Q™$™ ™
Ð#Ò#Ð#Ð#ØˆQ‰3�1”Q‘3˜œ!˜Q™$™ ™
Ð#Ò#Ð#Ð#ØˆQ‰3”1�Q‘3œ˜A™ ™ 1™Ð%Ò%Ð%Ð%ÜˆQ‰3”1�a‘4œ˜A™¤™Ð"Ò"Ð"Ð"ØŒQ‰3”1�a‘4œ˜A™¤™Ð"Ò"Ð"Ð"Øˆa”!‰e‰9œ˜A¤™E™¤Q¨¡T¨A¡X°´A±Ñ$6Ð7Ò7Ð7Ð7ØˆQ‰3”1�a‘4œ˜A™¤™Ð"Ò"Ð"Ð"ØˆQ‰3”1�a‘4œ˜A™¤™Ð"Ò"Ð"Ð"ä	”B×$Ñ$¤Q¬Ó*¨AÓ	.€BØ�:‰:�a‹=˜BŸJ™J¬¬1¨a©4°!©8 }Ó5Ò5Ð5Ð5à�‰˜qÔ!Ð!Ð!Ø�z‰zŒ|ÐÐä
ÔÑ JÔKÜ
ÔÑ AÔBÜ
Œ>ó  ô !ä
Œ>Ó0Õ1r   c                  ó  — t        t        t        d«      } t        t        t        d«      }| t        t        t        d«      k(  sJ ‚| t        t        t        d«      k7  du sJ ‚| |k7  sJ ‚ | d«      dk(  sJ ‚ |d«      dk(  sJ ‚y )NFr.   )r   )é   ©r   r   )r   r;   )r   r   r	   r
   )Úo1Úo2s     r   Útest_ModuleOrderr>   W   s�   € Ü	”Sœ% Ó	'€BÜ	”Tœ3 Ó	&€Bà”œS¤%¨Ó/Ò/Ð/Ð/Ø”+œc¤5¨%Ó0Ñ0°UÑ:Ð:Ð:Ø�Š8€Oˆ8áˆi‹=Ð,Ò,Ð,Ð,Ùˆi‹=˜LÒ(Ð(Ñ(r   c                  ó>  ‡‡— t        j                  t        t        «      Š‰j	                  d«      } | j                  g d¢g d¢g d¢«      }| j                  t        dz  t        dz  z   ddgt        t        dg«      Š| |k(  sJ ‚|| k(  sJ ‚| ‰k7  sJ ‚‰| k7  sJ ‚|‰k7  sJ ‚‰|k7  sJ ‚| | j
                  | j                  «       Ž k(  sJ ‚|j                  «       sJ ‚‰j                  «       rJ ‚|j                  «       rJ ‚‰j                  «       rJ ‚|j                  «       j                  «       sJ ‚‰j                  t        dz  t        dz  z   t        z   dt        z   dg«      sJ ‚‰j                  t        dz  t        dz  z   t        z   dt        z   dg«      rJ ‚‰j                  t        dz  dt        t        z  z
  t         g«      sJ ‚| j                  dt        z   ddg«      | j                  g d¢«      k(  rJ ‚| j                  g d¢g d¢«      j                  | j                  g d	¢«      «      | k(  sJ ‚‰j                  d«      rJ ‚| j                  t        dz  t        dz  z   ddg«      }‰j                  |«      }|j                  | u sJ ‚|j                  ‰u sJ ‚t        t        ˆfd
„«       t        t         ˆfd„«       t        t        ˆˆfd„«       | j                  t        t        t        g«      | j                  t        t        t        gd¬«      k7  sJ ‚y )Nr   ©r   r   r   ©r   r   r   r.   r   r   r   ©r   r   r   ©r   r   r   c                  ó*   •— ‰ j                  g d¢«      S ©Nr@   ©Ú	submodule©r$   s   €r   r   z/test_SubModulePolyRing_global.<locals>.<lambda>„   ó   ø€ ˜qŸ{™{ª9Ó5€ r   c                  ó&   •— ‰ j                  d«      S r1   )ÚunionrH   s   €r   r   z/test_SubModulePolyRing_global.<locals>.<lambda>…   s   ø€ ˜aŸg™g a›j€ r   c                  ól   •— ‰ j                  ‰j                  d«      j                  t        g«      «      S r1   )rK   r    rG   r   )r$   r'   s   €€r   r   z/test_SubModulePolyRing_global.<locals>.<lambda>†   s&   ø€ ˜qŸw™w q§}¡}°QÓ'7×'AÑ'AÄ1À#Ó'FÓG€ r   r
   r   )r   r   r   r   r    rG   ÚbasisÚis_full_moduler4   ÚcontainsrK   r3   r!   Úmoduler   Ú
ValueErrorÚ	TypeError)ÚFÚFdÚmÚnr$   r'   s       @@r   Útest_SubModulePolyRing_globalrW   c   s¡  ù€ Ü
×ÑœœAÓ€AØ	�‰�aÓ€AØ	
�‰’Y¢	ª9Ó	5€BØ	�‰”Q˜‘TœA˜q™D‘[ ! QÐ'¬!¬Q°¨Ó3€Aà�Š7€Nˆ7Ø�Š7€Nˆ7Ø�Š6€Mˆ6Ø�Š6€Mˆ6Ø�Š7€Nˆ7Ø�Š7€Nˆ7Ø��—‘˜aŸg™g›iÐ(Ò(Ð(Ð(à×ÑÔÐÐØ×ÑÔ!Ð!Ð!Ø�z‰zŒ|ÐÐØ�y‰yŒ{Ðˆ?Ø�<‰<‹>×!Ñ!Ô#Ð#Ð#à�:‰:”q˜!‘tœa ™d‘{¤Q‘¨¬A©¨qÐ1Ô2Ð2Ð2Ø�z‰zœ1˜a™4¤! Q¡$™;¬™?¨A´©E°1Ð5Ô6Ð6Ð6Ø�:‰:”q˜!‘t˜Q¤¤1¡™W¤q bÐ)Ô*Ð*Ð*à�{‰{˜A¤™E 1 a˜=Ó)¨Q¯[©[ºÓ-CÒCÐCÐCØ�;‰;’y¢)Ó,×2Ñ2°1·;±;ºyÓ3IÓJÈaÒOÐOÐOØ�~‰~˜aÔ Ð Ð à	�	‰	”1�a‘4œ!˜Q™$‘;  1Ð%Ó&€AØ	�	‰	�!‹€AØ�8‰8�q‰=Ðˆ=Ø�8‰8�q‰=Ðˆ=ä
Œ:Ó5Ô6Ü
Œ9Ó(Ô)Ü
Œ:ÔGÔHà�;‰;œœ1œa�yÓ! Q§[¡[´!´Q¼°À& [Ó%IÒIÐIÑIr   c            	      óð  ‡— t        j                  t        t        t        ¬«      } | j                  d«      }|j                  dt        z   ddgdt        z   ddt        z  z   dgg d¢«      }|j                  t        dz  t        dz  z   ddgt        t        dg«      Š||k(  sJ ‚||k(  sJ ‚|‰k7  sJ ‚‰|k7  sJ ‚|‰k7  sJ ‚‰|k7  sJ ‚| |j                  |j                  «       Ž k(  sJ ‚|j                  «       sJ ‚‰j                  «       rJ ‚|j                  «       rJ ‚‰j                  «       rJ ‚|j                  «       j                  «       sJ ‚‰j                  t        dz  t        dz  z   t        z   dt        z   dg«      sJ ‚‰j                  t        dz  t        dz  z   t        z   dt        z   dg«      rJ ‚‰j                  t        dz  dt        t        z  z
  t         g«      sJ ‚|j                  dt        z   ddg«      |j                  g d¢«      k(  sJ ‚|j                  g d¢g d¢«      j                  |j                  dddt        t        z  z   g«      «      |k(  sJ ‚t        t        ˆfd	„«       y )
Nr   r   r   r   r   r.   r@   rB   c                  ó*   •— ‰ j                  g d¢«      S rE   rF   rH   s   €r   r   z.test_SubModulePolyRing_local.<locals>.<lambda>§   rI   r   )r   r   r   r   r
   r    rG   rM   rN   r4   rO   rK   r   rQ   )r'   rS   rT   r$   s      @r   Útest_SubModulePolyRing_localrZ   ‹   s5  ø€ Ü
×ÑœœA¤TÔ*€AØ	�‰�aÓ€AØ	
�‰�aœ!‘e˜Q �] Q¬¡U¨A°´!±©G°QÐ$7ºÓ	C€BØ	�‰”Q˜‘TœA˜q™D‘[ ! QÐ'¬!¬Q°¨Ó3€Aà�Š7€Nˆ7Ø�Š7€Nˆ7Ø�Š6€Mˆ6Ø�Š6€Mˆ6Ø�Š7€Nˆ7Ø�Š7€Nˆ7Ø��—‘˜aŸg™g›iÐ(Ò(Ð(Ð(à×ÑÔÐÐØ×ÑÔ!Ð!Ð!Ø�z‰zŒ|ÐÐØ�y‰yŒ{Ðˆ?Ø�<‰<‹>×!Ñ!Ô#Ð#Ð#à�:‰:”q˜!‘tœa ™d‘{¤Q‘¨¬A©¨qÐ1Ô2Ð2Ð2Ø�z‰zœ1˜a™4¤! Q¡$™;¬™?¨A´©E°1Ð5Ô6Ð6Ð6Ø�:‰:”q˜!‘t˜Q¤¤1¡™W¤q bÐ)Ô*Ð*Ð*à�;‰;˜œA™˜q !�}Ó%¨¯©²YÓ)?Ò?Ð?Ð?Ø�;‰;Ú’9óß#™e A§K¡K°°A°q¼1¼Q¹3±w°Ó$@ÓAÀQòGð Gð Gô Œ:Ó5Õ6r   c                  óÀ	  ‡— t        j                  t        t        t        «      } | j                  d«      Šˆfd„} |t        t        gt        «      sJ ‚ |t        t        gt        t        z   «      sJ ‚ |t        t        gd«      rJ ‚ |t        t        gt        «      rJ ‚ |t        dz  t        z   t        dz  t        z   gt        t        z
  «      sJ ‚ |t        t        z   t        z   t        t        z  t        t        z  z   t        t        z  z   t        t        z  t        z  gt        dz  «      rJ ‚ |t        t        z   t        z   t        t        z  t        t        z  z   t        t        z  z   t        t        z  t        z  gt        dz  «      sJ ‚ |t        t        z   t        z   t        t        z  t        t        z  z   t        t        z  z   t        t        z  t        z  gt        dz  «      sJ ‚ |t        t        z   t        z   t        t        z  t        t        z  z   t        t        z  z   t        t        z  t        z  gt        t        dz  z  «      rJ ‚ |t        t        z   t        z   t        t        z  t        t        z  z   t        t        z  z   t        t        z  t        z  gt        dz  t        dz  z   dt        z  t        z  t        z  z   «      sJ ‚ |t        t        z   t        z   t        t        z  t        t        z  z   t        t        z  z   t        t        z  t        z  gt        t        z  t        z  «      sJ ‚ |t        dt        z   t        z   ddt        z  z
  gd«      sJ ‚ |t        dz  t        dz  z   t        dz  t        dz  z   t        dz  t        dz  z   t        dz  t        z  t        dz  t        z  z   t        dz  t        z  z   gt        dz  «      sJ ‚ |t        dz  t        dz  z   t        dz  t        dz  z   t        dz  t        dz  z   t        dz  t        z  t        dz  t        z  z   t        dz  t        z  z   gt        dz  t        dz  z   «      rJ ‚ |t        dt        z   t        z   z  t        dt        z   z  gt        «      rJ ‚ |t        dt        z   t        z   z  t        dt        z   z  gt        t        z   «      rJ ‚y )Nr   c                 ój   •—  ‰j                   | D �cg c]  }|g‘Œ c}Ž j                  |g«      S c c}w ©N©rG   rO   ©ÚIr%   r&   rS   s      €r   rO   z7test_SubModulePolyRing_nontriv_global.<locals>.contains®   ó1   ø€ Øˆq�{‰{¨!Ö, Q˜ašSÒ,Ð-×6Ñ6¸°sÓ;Ð;ùÒ,ó   ’
0r   r   é   r:   é   )r   r   r   r   r   r    ©r'   rO   rS   s     @r   Ú%test_SubModulePolyRing_nontriv_globalrf   ª   s¤  ø€ Ü
×ÑœœAœqÓ!€AØ	�‰�aÓ€Aô<ñ ”Qœ�FœAÔÐÐÙ”Qœ�FœA¤™EÔ"Ð"Ð"ÙœœA˜ Ô"Ð"Ð"ÙœœA˜¤Ô"Ð"Ð"Ù”Q˜‘TœA‘Xœq !™t¤a™xÐ(¬!¬a©%Ô0Ð0Ð0ÙœœQ™¤™¤A¤a¡C¬!¬A©#¡I´´!±¡O´Q´q±S¼±UÐ;¼QÀ¹TÔBÐBÐBÙ”Qœ‘UœQ‘Y¤¤!¡¤a¬¡c¡	¬A¬a©C¡´´1±´Q±Ð7¼¸A¹Ô>Ð>Ð>Ù”Qœ‘UœQ‘Y¤¤!¡¤a¬¡c¡	¬A¬a©C¡´´1±´Q±Ð7¼¸A¹Ô>Ð>Ð>ÙœœQ™¤™¤A¤a¡C¬!¬A©#¡I´´!±¡O´Q´q±S¼±UÐ;¼Q¼qÀ!¹t¹VÔDÐDÐDÙ”Qœ‘UœQ‘Y¤¤!¡¤a¬¡c¡	¬A¬a©C¡´´1±´Q±Ð7¼¸A¹ÄÀ1Á¹ÀqÌÁsÌ1ÁuÌQÁwÑ9NÔOÐOÐOÙ”Qœ‘UœQ‘Y¤¤!¡¤a¬¡c¡	¬A¬a©C¡´´1±´Q±Ð7¼¼1¹¼Q¹Ô?Ð?Ð?Ù”Q˜œA™¤™	 1 q¬¡s¡7Ð+¨QÔ/Ð/Ð/ÙÜ	
ˆA‰”�1‘‰”a˜‘dœQ ™T‘k¤1 a¡4¬!¨Q©$¡;´°1±´Q±¼¸A¹¼a¹±Ä!ÀQÁ$ÄqÁ&Ñ0HÐIÜ	ˆ1‰ôð ð ñ Ü	
ˆA‰”�1‘‰”a˜‘dœQ ™T‘k¤1 a¡4¬!¨Q©$¡;´°1±´Q±¼¸A¹¼a¹±Ä!ÀQÁ$ÄqÁ&Ñ0HÐIÜ	ˆ1‰Œq�!‰t‰ôð ð ñ
 œ˜A¤™E¤A™I™¬¨1¬q©5©	Ð2´AÔ6Ð6Ð6Ùœ˜A¤™E¤A™I™¬¨1¬q©5©	Ð2´A¼±EÔ:Ð:Ð:Ð:r   c                  óX  ‡— t        j                  t        t        t        t
        ¬«      } | j                  d«      Šˆfd„} |t        t        gt        «      sJ ‚ |t        t        gt        t        z   «      sJ ‚ |t        t        gd«      rJ ‚ |t        t        gt        «      rJ ‚ |t        dz  t        z   t        dz  t        z   gt        t        z
  «      sJ ‚ |t        t        z   t        z   t        t        z  t        t        z  z   t        t        z  z   t        t        z  t        z  gt        dz  «      rJ ‚ |t        dt        z   t        z   z  t        dt        z   z  gt        «      sJ ‚ |t        dt        z   t        z   z  t        dt        z   z  gt        t        z   «      sJ ‚y )Nr   r   c                 ój   •—  ‰j                   | D �cg c]  }|g‘Œ c}Ž j                  |g«      S c c}w r]   r^   r_   s      €r   rO   z6test_SubModulePolyRing_nontriv_local.<locals>.containsÍ   ra   rb   r   )r   r   r   r   r   r
   r    re   s     @r   Ú$test_SubModulePolyRing_nontriv_localri   É   s@  ø€ Ü
×ÑœœAœq¬Ô-€AØ	�‰�aÓ€Aô<ñ ”Qœ�FœAÔÐÐÙ”Qœ�FœA¤™EÔ"Ð"Ð"ÙœœA˜ Ô"Ð"Ð"ÙœœA˜¤Ô"Ð"Ð"Ù”Q˜‘TœA‘Xœq !™t¤a™xÐ(¬!¬a©%Ô0Ð0Ð0ÙœœQ™¤™¤A¤a¡C¬!¬A©#¡I´´!±¡O´Q´q±S¼±UÐ;¼QÀ¹TÔBÐBÐBÙ”Q˜œA™¤™	‘]¤A q¬1¡u¡IÐ.´Ô2Ð2Ð2Ù”Q˜œA™¤™	‘]¤A q¬1¡u¡IÐ.´´A±Ô6Ð6Ñ6r   c                  óp  — t        j                  t        t        t        «      } | j                  d«      j                  t        t        z  gt        t        z  gt        t        z  g«      }| j                  d«      j                  dt        t         gt        t         dg«      }|j                  «       |k(  sJ ‚|t        t        z  t        z  gfz  }| j                  d«      j                  t        ddgdt        dgddt        g«      }|j                  «       |k(  sJ ‚| j                  d«      } |j                  |j                  «       Ž j                  «       |j                  «       k(  sJ ‚t        j                  t        t        t        «      t        t        z  t        z  gz  }|j                  d«      j                  t        t        z  gt        t        z  gt        t        z  g«      }|j                  d«      j                  t        ddgdt        dgddt        g«      }|j                  «       |k(  sJ ‚y )Nr   r   r   )	r   r   r   r   r   r    rG   Úsyzygy_modulerM   )	r'   r$   ÚSr6   ÚS2rS   ÚR2r2   ÚS3s	            r   Útest_syzygyrp   Ú   s´  € Ü
×ÑœœAœqÓ!€AØ	�‰�aÓ×"Ñ"¤A¤a¡C 5¬1¬Q©3¨%´!´A±#°Ó7€AØ	�‰�aÓ×"Ñ" A¤q¬1¨" :´´A°2°q¨zÓ:€AØ�?‰?Ó Ò!Ð!Ð!à	
Œq”‰s”1‰uˆgˆZ‰€BØ	
�‰�qÓ	×	#Ñ	#¤Q¨¨1 I°´1°a¨y¸1¸aÄ¸)Ó	D€BØ×ÑÓ Ò#Ð#Ð#à	�‰�aÓ€AØˆ1�;‰;˜Ÿ™›	Ð"×0Ñ0Ó2°a·k±k³mÒCÐCÐCä	×	Ñ	œ!œQ¤Ó	"¤a¬¡c¬!¡e WÑ	,€BØ	�‰˜Ó	×	$Ñ	$¤a¬¡c U¬Q¬q©S¨E´A´a±C°5Ó	9€BØ	�‰˜Ó	×	$Ñ	$¤a¨¨A Y°´A°q°	¸A¸qÄ!¸9Ó	E€BØ×ÑÓ Ò#Ð#Ñ#r   c                  óŠ  ‡— t        j                  t        d¬«      } | j                  d«      j	                  dt        z  dgddg«      Š‰j                  t        t        g«      | j                  t        dd«      «      | j                  t        dz  «      gk(  sJ ‚t        t        ˆfd„«       | j                  d«      t        dgddgfz  Š‰j	                  dt        g«      }|j                  ddg«      | j                  dt        dz
  z  «      gk(  sJ ‚t        j                  t        t        «      t        dz  t        dz  z
  gz  } | j                  d«      Š‰j	                  t        dgdt        g«      }|j                  t        dz  t        dz  g«      | j                  t        «      | j                  t        «      gk(  sJ ‚y )	Nr
   r   r   r   r   rc   c                  ó*   •— ‰ j                  ddg«      S )Nr   r   )Úin_terms_of_generatorsrH   s   €r   r   z-test_in_terms_of_generators.<locals>.<lambda>ò   s   ø€ ˜q×7Ñ7¸¸A¸Ó?€ r   éþÿÿÿ)r   r   r   r    rG   rs   r!   r   r   rQ   r   )r'   ÚSMr$   s     @r   Útest_in_terms_of_generatorsrv   í   s€  ø€ Ü
×Ñœ &Ô)€AØ	�‰�aÓ×"Ñ" A¤a¡C¨ 8¨a°¨VÓ4€AØ×#Ñ#Ü	
ŒAˆóØ—I‘Iœh q¨!›nÓ-¨q¯y©y¼¸1¹«~Ð>ò?ð ?ð ?ä
Œ:Ó?Ô@à	�‰�aÓœQ ˜F Q¨ FÐ+Ñ+€AØ	
�‰�aœ�VÓ	€BØ×$Ñ$ a¨ VÓ,°·±¸2¼qÀ1¹u¹:Ó1FÐ0GÒGÐGÐGä
×ÑœœAÓ¤! Q¡$¬¨A©¡+ Ñ.€AØ	�‰�aÓ€AØ	
�‰”a˜�V˜a¤˜VÓ	$€BØ×$Ñ$Ü	
ˆA‰Œq�!‰tˆóØŸ)™)¤A›,¨¯	©	´!«Ð5ò6ð 6ñ 6r   c                  óÂ  ‡‡‡‡	— t        j                  t        «      } | j                  d«      }|j	                  dt        t        dz  g«      }||z  Š‰j                  t        dz  ddg«      }‰j                  t        dz   t        dz  t        z   t        dz  t        dz  z   g«      dk(  sJ ‚|t        dz  ddg|z   cxk(  rP|j                  t        dz  ddg«      |z   cxk(  r.‰j                  |j                  t        dz  ddg«      «      k(  sJ ‚ J ‚‰j                  t        dz  dz   dt        z  dz   t        dz  g«      |dt        dgz   cxk(  r>|‰j                  dt        dg«      z   cxk(  r||j                  dt        dg«      z   k(  sJ ‚ J ‚‰j                  t        dz  dz   dt        dz  g«      |dt        dgz
  cxk(  r>|‰j                  dt        dg«      z
  cxk(  r||j                  dt        dg«      z
  k(  sJ ‚ J ‚‰j                  g d¢«      ‰j                  t        dz  ddg«      |z
  cxk(  r5t        dz  ddg|z
  cxk(  r"|j                  t        dz  ddg«      |z
  k(  sJ ‚ J ‚‰j                  t        dz  t        dz  z   dt        z  dz   dg«      dt        z   |z  cxk(  rN| j                  dt        z   «      |z  cxk(  r/|dt        z   z  cxk(  r|| j                  dt        z   «      z  k(  sJ ‚ J ‚| t        dz   ddgk(  sJ ‚t        t        dg|z   }‰j                  g d¢«      |t        z  cxk(  r|| j                  t        «      z  k(  sJ ‚ J ‚|ddt        z  dt        dz  z  fd	gz  Š| j                  d«      Š‰dt        ggz  Š	|j	                  dt        t        dz  gg d
¢«      |z  }t        t        ˆˆfd„«       t        t        ˆˆ	fd„«       t        t        ˆˆfd„«       ‰j                  ‰j                  dt        t        dz  g«      «      dt        dgk(  sJ ‚‰j                  |j                  g d¢«      «      g d¢k(  sJ ‚y )Nr   r   r   r   )r   r   r   rc   rt   )r   r   r   rC   r@   c                  óP   •— ‰j                  ‰ j                  dt        g«      «      S r1   ©r!   r   )ÚGr$   s   €€r   r   z,test_QuotientModuleElement.<locals>.<lambda>  s   ø€  1§9¡9¨Q¯Y©Y¸¼1°vÓ->Ó#?€ r   c                  óP   •— ‰ j                  ‰j                  dt        g«      «      S r1   ry   )r$   r2   s   €€r   r   z,test_QuotientModuleElement.<locals>.<lambda>  s   ø€  1§9¡9¨R¯Z©Z¸¼A¸Ó-?Ó#@€ r   c                  óZ   •— ‰ j                  ‰j                  dt        t        g«      «      S r1   ry   )r$   r6   s   €€r   r   z,test_QuotientModuleElement.<locals>.<lambda>  s   ø€  1§9¡9¨R¯Z©Z¸¼A¼q¸	Ó-BÓ#C€ r   ©r   r   r   )r   r   r   r    rG   r!   r   r   )
r'   rS   ÚNr   r%   ÚM4rz   r$   r6   r2   s
         @@@@r   Útest_QuotientModuleElementr€   ÿ   s3  û€ Ü
×ÑœÓ€AØ	�‰�aÓ€AØ	�‰�Qœœ1˜a™4�LÓ!€AØ	ˆ!‰€AØ	�	‰	”1�a‘4˜˜A�,Ó€Aà�9‰9”a˜!‘eœQ ™T¤A™X¤q¨!¡t¬a°©d¡{Ð3Ó4¸Ò9Ð9Ð9Ø”�A‘�q˜!�˜qÑ ô + A§I¡I¬q°!©t°Q¸¨lÓ$;¸aÑ$?ô +Ø	�	‰	�!—)‘)œQ ™T 1 a˜LÓ)Ó*ò+ð +ñ +ð +ð +ð �9‰9”a˜‘d˜Q‘h ¤!¡ a¡¬¨A©Ð.Ó/°1¸¼1¸a°y±=ô =Ø	ˆA�I‰I�qœ!˜Q�iÓ Ñ ô=Ø$%¨¯	©	°1´a¸°)Ó(<Ñ$<ò=ð =ñ =ð =ð =à�9‰9”a˜‘d˜Q‘h ¤1 a¡4Ð(Ó)¨Q°!´Q¸°©]ô =Ø	ˆA�I‰I�qœ!˜Q�iÓ Ñ ô=Ø$%¨¯	©	°1´a¸°)Ó(<Ñ$<ò=ð =ñ =ð =ð =à�9‰9’YÓ 1§9¡9¬a°©d°A°q¨\Ó#:¸QÑ#>ô 8Ü	
ˆA‰ˆq�!ˆ�qÑô8ØŸI™I¤q¨!¡t¨Q° lÓ3°aÑ7ò8ð 8ñ 8ð 8ð 8à�9‰9”a˜‘dœQ ™T‘k 1¤Q¡3¨¡7¨AÐ.Ó/°A¼±E¸1±9ô >Ø	�	‰	�!”a‘%Ó˜Ñô>Ø ¤Q¡™iô>Ø+,¨Q¯Y©Y°q¼1±uÓ-=Ñ+=ò>ð >ñ >ð >ð >àˆ2”1�a‘4�%˜˜Q�ÒÐÐä	
ŒAˆqˆ	�A‰€AØ�9‰9’YÓ 1¤q¡5Ô<¨A°·	±	¼!³Ñ,<Ò<Ð<Ñ<Ð<Ð<à	
ˆQ�”!‘�Q”q˜!‘t‘VÐ˜iÐ(Ñ	(€BØ	�‰�aÓ€AØ	
ˆQ”ˆFˆ8‰€BØ	
�‰�aœœA˜q™D�\¢9Ó	-°Ñ	1€BÜ
Œ>Ô?Ô@Ü
Œ>Ô@ÔAÜ
Œ>ÔCÔDØ�:‰:�a—i‘i ¤A¤q¨!¡t Ó-Ó.°1´a¸°)Ò;Ð;Ð;Ø�9‰9�R—Z‘Z¢	Ó*Ó+ªyÒ8Ð8Ñ8r   c                  ód  ‡‡‡‡— t        j                  t        «      Š‰j                  d«      Š‰j	                  dt        t        dz  g«      Š‰‰z  Š‰‰k7  sJ ‚‰‰k7  sJ ‚‰‰dt        t        dz  fgz  k(  sJ ‚‰j                  «       rJ ‚‰‰j                  «       z  j                  «       sJ ‚‰j	                  dt        t        dz  gg d¢«      ‰z  } | ‰j	                  dt        t        dz  g«      k(  sJ ‚| ‰j	                  g d¢«      k7  sJ ‚| ‰k7  sJ ‚‰j                  | «      sJ ‚| j                  «       rJ ‚t        t        ˆˆfd„«       t        t        ˆˆfd„«       t        t        ˆˆfd„«       t        t        ˆˆfd	„«       ‰g d
¢gz  }|j	                  g d¢g d¢«      }||k(  sJ ‚y )Nr   r   r   r}   )r   r   r   c                  ó   •— ‰‰ z  S r]   r   ©rS   r~   s   €€r   r   z%test_QuotientModule.<locals>.<lambda>5  s   ø€ ˜q ™s€ r   c                  ó0   •— ‰ j                  g d¢«      ‰z  S )Nr}   rF   rƒ   s   €€r   r   z%test_QuotientModule.<locals>.<lambda>6  s   ø€ ˜qŸ{™{ª9Ó5¸Ñ9€ r   c                  ó,   •— ‰j                  d«      ‰ z  S r+   )r    )rS   r'   s   €€r   r   z%test_QuotientModule.<locals>.<lambda>7  s   ø€ ˜qŸ}™}¨QÓ/°Ñ1€ r   c                  ó`   •— ‰ j                  ‰j                  dt        t        dz  g«      «      S )Nr   r   ry   )rS   r$   s   €€r   r   z%test_QuotientModule.<locals>.<lambda>8  s#   ø€  1§9¡9¨Q¯Y©Y¸¼1¼aÀ¹d°|Ó-DÓ#E€ r   r   r@   rB   )r   r   r   r    rG   r4   rM   r3   rN   r   rQ   r   )ÚSQr/   r6   rS   r$   r~   r'   s      @@@@r   Útest_QuotientModulerˆ   "  sx  û€ Ü
×ÑœÓ€AØ	�‰�aÓ€AØ	�‰�Qœœ1˜a™4�LÓ!€AØ	ˆ!‰€Aà�Š6€Mˆ6Ø�Š6€Mˆ6Ø��aœœA˜q™D�\�NÑ"Ò"Ð"Ð"Ø�y‰yŒ{Ðˆ?Ø�—‘“	‰M×"Ñ"Ô$Ð$Ð$à	
�‰�aœœA˜q™D�\¢9Ó	-°Ñ	1€BØ�—‘˜a¤¤A q¡D˜\Ó*Ò*Ð*Ð*Ø�—‘šYÓ'Ò'Ð'Ð'Ø�Š7€Nˆ7Ø�>‰>˜"ÔÐÐØ× Ñ Ô"Ð"Ð"ä
Œ:”{Ô#Ü
Œ:Ô9Ô:Ü
Œ:Ô1Ô2Ü
Œ>ÔEÔFà	
Šiˆ[‰€BØ	�‰’i¢Ó	+€BØ�Š8€O‰8r   c                  ó  — t        j                  t        t        dt        fdt        ff¬«      t        dz  dz   gz  } | j	                  d«      }|| j	                  d«      k(  sJ ‚|t        j                  t        «      j	                  d«      k7  sJ ‚|| j	                  d«      k7  sJ ‚t        dg|v sJ ‚t        g|vsJ ‚d| j                  t        «      dz   z  dg|v sJ ‚dddt        z   z  g|v sJ ‚ddt        z  g|vsJ ‚|j                  t        dz  t        g«      dt        gk(  sJ ‚| j	                  d«      }|j                  t        dz  ddgg d	¢g d
¢«      }|j                  t        dz  t        dz  z   ddgt        t        dg«      }||k(  sJ ‚||k(  sJ ‚||k7  sJ ‚||k7  sJ ‚||k7  sJ ‚||k7  sJ ‚| |j                  |j                  «       Ž k(  sJ ‚|j                  «       sJ ‚|j                  «       rJ ‚|j                  «       rJ ‚|j                  «       rJ ‚|j                  «       j                  «       sJ ‚|j                  t        dz  t        dz  z   t        z   t        dz   t        z   dg«      sJ ‚|j                  t        dz  t        dz  z   t        z   dt        z   dg«      rJ ‚|j                  t        dz  dt        t        z  z
  t         g«      sJ ‚|j                  t        ddg«      |j                  g d¢«      k(  sJ ‚|j                  t        ddg«      |j                  g d¢«      k(  rJ ‚|j                  g d¢g d¢«      j                  |j                  g d¢«      «      |k(  sJ ‚|j                  d«      rJ ‚y )Nr   r
   r   r   r   r   r   r   rA   r.   r@   rB   rC   )r   r   r   r   r    r!   rG   rM   rN   r4   rO   rK   r3   )r'   r/   rS   rT   r$   s        r   Útest_ModulesQuotientRingrŠ   ?  sJ  € Ü
×ÑœœA u¬a j°6¼1°+Ð%>Ô?Ä1ÀaÁ4È!Á8À*ÑL€AØ	
�‰�qÓ	€BØ�—‘˜qÓ!Ò!Ð!Ð!Ø”×!Ñ!¤!Ó$×0Ñ0°Ó3Ò3Ð3Ð3Ø�—‘˜qÓ!Ò!Ð!Ð!äˆqˆ6�R‰<Ðˆ<Üˆ3�b‰=Ðˆ=Øˆq�y‰yœ‹|˜aÑÑ  !Ð$¨Ñ*Ð*Ð*Øˆq�!”a‘%‰yˆ>˜RÑÐÐØˆq”‰sˆ8˜2ÑÐÐà�:‰:”q˜!‘tœQ�iÓ  R¬ GÒ+Ð+Ð+à	�‰�aÓ€AØ	
�‰”a˜‘d˜A˜q�\¢9ªiÓ	8€BØ	�‰”Q˜‘TœA˜q™D‘[ ! QÐ'¬!¬Q°¨Ó3€Aà�Š7€Nˆ7Ø�Š7€Nˆ7Ø�Š6€Mˆ6Ø�Š6€Mˆ6Ø�Š7€Nˆ7Ø�Š7€Nˆ7Ø��—‘˜aŸg™g›iÐ(Ò(Ð(Ð(à×ÑÔÐÐØ×ÑÔ!Ð!Ð!Ø�z‰zŒ|ÐÐØ�y‰yŒ{Ðˆ?Ø�<‰<‹>×!Ñ!Ô#Ð#Ð#à�:‰:”q˜!‘tœa ™d‘{¤Q‘¬¨A©¨´©	°1Ð5Ô6Ð6Ð6Ø�z‰zœ1˜a™4¤! Q¡$™;¬™?¨A´©E°1Ð5Ô6Ð6Ð6Ø�:‰:”q˜!‘t˜Q¤¤1¡™W¤q bÐ)Ô*Ð*Ð*à�;‰;œ˜1˜a�yÓ! Q§[¡[²Ó%;Ò;Ð;Ð;Ø�{‰{œA˜q !˜9Ó%¨¯©²YÓ)?Ò?Ð?Ð?Ø�;‰;’y¢)Ó,×2Ñ2°1·;±;ºyÓ3IÓJÈaÒOÐOÐOØ�~‰~˜aÔ Ð Ð Ð r   c                  óš  — t        j                  t        «      } | j                  d«      }|j	                  t        dgdt        g«      }|j	                  t        dz  dgdt        dz  g«      }| j                  t        «      }||z  ||z  cxk(  r |cxk(  rt        |z  cxk(  r|t        z  k(  sJ ‚ J ‚||z  |cxk(  rt        |z  k(  sJ ‚ J ‚y )Nr   r   )r   r   r   r    rG   Úideal)r'   r$   ÚS1rm   r`   s        r   Útest_module_mulrŽ   j  s¹   € Ü
×ÑœÓ€AØ	�‰�aÓ€AØ	
�‰”a˜�V˜a¤˜VÓ	$€BØ	
�‰”a˜‘d˜A�Y ¤A q¡D 	Ó	*€BØ	�‰”‹
€AàˆQ‰3�!�A‘#Ô)˜Ô)œq ™sÔ) a¬¡cÒ)Ð)Ñ)Ð)Ð)ØˆR‰4�2Ôœ˜2™ÒÐÑÐÑr   c            	      ó   — t        j                  t        t        «      j	                  d«      } | j                  t        t        gt        dg«      }| j                  dt        dz
  gt        dgt        t        g«      }| j                  t        t        gt        dz  t        z
  t        dz
  gt        t        z  t        z   t        dz   g«      }|j                  |d¬«      \  }}}||j                  |«      cxk(  r|k(  sJ ‚ J ‚t        |j                  «      D ]c  \  }}|t        d„ t        ||   |j                  «      D «       «      cxk(  r.t        d„ t        ||   |j                  «      D «       «      k(  rŒ`J ‚ J ‚ | j                  t        t        g«      j                  | j                  t        t        g«      «      j                  «       sJ ‚y )Nr   r   r   T©Ú	relationsc              3   ó,   K  — | ]  \  }}||z  –— Œ y ­wr]   r   ©Ú.0Úcr   s      r   ú	<genexpr>z$test_intersection.<locals>.<genexpr>~  ó   è ø€ Ò>¡  1˜˜!�Ñ>ùó   ‚c              3   ó,   K  — | ]  \  }}||z  –— Œ y ­wr]   r   )r”   Údr   s      r   r–   z$test_intersection.<locals>.<genexpr>  r—   r˜   )r   r   r   r   r    rG   Ú	intersectÚ	enumerateÚgensÚsumÚzipr4   )	rS   r/   r6   r`   ÚI1Úrel1Úrel2Úir&   s	            r   Útest_intersectionr¤   u  sz  € ä
×ÑœœAÓ×*Ñ*¨1Ó-€AØ	
�‰”aœ�Vœa ˜VÓ	$€BØ	
�‰�aœ˜Q™�Z¤! Q ¬!¬Q¨Ó	0€BØ	�‰”Qœ�FœQ ™T¤A™X¤q¨1¡uÐ-´´!±´a±¼¸Q¹Ð/?Ó@€AØ—\‘\ "°�\Ó5�N€BˆˆdØ�—‘˜bÓ!Ô& QÒ&Ð&Ñ&Ð&Ð&Ü˜"Ÿ'™'Ó"ò ?‰ˆˆ1Ø”CÑ>¬¨D°©G°R·W±WÓ(=Ô>Ó>ô ?ÜÑ>¬¨D°©G°R·W±WÓ(=Ô>Ó>ó?ð 	?ñ ?ð 	?ð ?ð?ð �;‰;œœ1�vÓ×(Ñ(¨¯©´a¼°VÓ)<Ó=×EÑEÔGÐGÑGr   c            	      óŒ  — t        j                  t        t        t        «      } | j                  d«      }|j                  t        t        z  t        t        z  gt        t        z  t        t        z  g«      j                  |j                  t        t        gt        t        g«      «      t        j                  t        t        t        «      j                  t        dz  t        dz  z  t        t        z  t        dz  z  z
  «      k(  sJ ‚|j                  t        t        g«      j                  |j                  «       «      j                  «       sJ ‚|j                  t        dz  t        dz  gt        dz  t        dz  g«      }|j                  t        t        z   t        t        z   g«      }|j                  |d¬«      \  }}|| j                  t        dz  t        t        z
  «      k(  sJ ‚t        |j                  «      D ]C  \  }}||j                  d   z  t        d„ t        ||   |j                  «      D «       «      k(  rŒCJ ‚ y )Nr   Tr�   r   c              3   ó,   K  — | ]  \  }}||z  –— Œ y ­wr]   r   r“   s      r   r–   z test_quotient.<locals>.<genexpr>‘  s   è ø€ Ò!F©$¨!¨Q ! A¥#Ñ!Fùr˜   )r   r   r   r   r   r    rG   Úmodule_quotientrŒ   Úis_whole_ringrœ   r�   rž   rŸ   )r'   rS   r$   r~   ÚqÚrelr£   r&   s           r   Útest_quotientr«   „  s½  € ä
×ÑœœAœqÓ!€AØ	�‰�aÓ€AØ�;‰;œœ!™œQœq™S�z¤A¤a¡C¬¬1© :Ó.×>Ñ>Ø	�‰”Qœ�FœQ¤˜FÓ#ó%Ü(*×(8Ñ(8¼¼A¼qÓ(A×(GÑ(GÌÈ1ÉÌQÐPQÉTÉ	ÔTUÔVWÑTWÔXYÐ[\ÑX\ÑT\ÑH\Ó(]ò^ð ^ð ^à�;‰;œœ1�vÓ×.Ñ.¨q¯{©{«}Ó=×KÑKÔMÐMÐMà	�‰”Q˜‘Tœ1˜a™4�L¤1 a¡4¬¨A© ,Ó/€AØ	�‰”Qœ‘UœA¤™E�NÓ#€AØ×Ñ˜q¨DÐÓ1�F€A€sØ�—‘œ˜1™œa¤!™eÓ$Ò$Ð$Ð$Ü˜!Ÿ&™&Ó!ò G‰ˆˆ1Ø�—‘˜‘‰{œcÑ!F´#°c¸!±f¸a¿f¹fÓ2EÔ!FÓFÓFÐFÐFñGr   c            	      ó‚  — t        j                  t        t        t        «      j                  d«      j                  t        dz   t        dgt        t        z  t        t        dz  g«      } | j                  d¬«      \  }}t        |«      D ]3  \  }}|t        d„ t        ||   | j                  «      D «       «      k(  rŒ3J ‚ y )Nr   r   r   T)Úextendedc              3   ó,   K  — | ]  \  }}||z  –— Œ y ­wr]   r   )r”   r•   Úgens      r   r–   z*test_groebner_extendend.<locals>.<genexpr>˜  s   è ø€ Ò>¡& ! S˜˜#�Ñ>ùr˜   )r   r   r   r   r   r    rG   Ú_groebner_vecrœ   rž   rŸ   r�   )r$   rz   r'   r£   r&   s        r   Útest_groebner_extendendr±   ”  s�   € Ü
×ÑœœAœqÓ!×-Ñ-¨aÓ0×:Ñ:¼AÀ¹EÄ1Àa¸=Ì1ÌQÉ3ÔPQÔSTÐVWÑSWÈ.ÓY€AØ�?‰? Dˆ?Ó)�D€A€qÜ˜!“ò ?‰ˆˆ1Ø”CÑ>¬C°°!±°a·f±fÓ,=Ô>Ó>Ó>Ð>Ð>ñ?r   N)$Ú__doc__Úsympy.polys.agca.modulesr   r   r   Úsympy.polysr   r   r   r	   r
   r   Ú	sympy.abcr   r   r   Úsympy.testing.pytestr   Úsympy.core.numbersr   r(   r8   r>   rW   rZ   rf   ri   rp   rv   r€   rˆ   rŠ   rŽ   r¤   r«   r±   r   r   r   ú<module>r¸      sw   ðÙ ç PÑ Pß @× @ß Ñ Ý 'Ý 'ò?ò,42òn	)ò%JòP7ò>;ò>7ò"$ò&6ò$ 9òFò:(!òVòHòGó ?r   