§
    OŠtjð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#dS )zTest modules.py code.é    )Ú
FreeModuleÚModuleOrderÚFreeModulePolyRing)ÚCoercionFailedÚQQÚlexÚgrlexÚilexÚZZ)ÚxÚyÚz)Úraises)ÚRationalc                  ó  ‡— t          j        t          ¦  «                             d¦  «        } |                      dt          t          dz  g¦  «        Št          j        t          ¦  «                             d¦  «        t          j        t          ¦  «                             t          ¦  «        t          j        t          ¦  «                             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„¦  «         |                      t          ddg¦  «        }‰|z   |                      t          dz   t          t          dz  g¦  «        k    sJ ‚||z   |                      t          dz   t          t          dz  g¦  «        k    sJ ‚‰ |                      dt           t          dz   g¦  «        k    sJ ‚‰|z
  |                      dt          z
  t          t          dz  g¦  «        k    sJ ‚‰|k    sJ ‚|                      t          t          t          g¦  «        t          j        t          ¦  «                             t          ¦  «        z  g d¢k    sJ ‚t          j        t          d¬	¦  «        }|                     d¦  «                             t          g¦  «        |                     t          ¦  «        z  dgk    sJ ‚d S )
Né   é   é   r   c                  ó   •— ‰ d         S )Nr   © )Úes   €úa/var/www/html/CA-Chatbot/venv/lib/python3.11/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½!Ñ)<Ô)<×)DÒ)DÅQÑ)GÔ)GÍÔIYÕZ[ÑI\ÔI\×IdÒIdÕefÐhiÑeiÑIjÔIjÐk€AÝ�‰7Œ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ˆ6ˆ6ˆ6à�9Š9•a��A�YÑÔ¥"Ô"2µ1Ñ"5Ô"5×"=Ò"=½aÑ"@Ô"@Ñ@ÀIÀIÀIÒMÐ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¦  «        k    sJ ‚‰t          t          j        t          ¦  «        d¦  «        k    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 ‚‰                     t          t          dz  dz   g¦  «        }t          j        t          ¦  «                             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 ‚|                      t          t          dz  dz   g¦  «        }t          j        t          d¬¦  «                             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¦  «        Š‰                     |¦  «        ‰                     t          t          dz  dz   g¦  «        k    sJ ‚‰                     d¦  «        rJ ‚‰                     ¦   «         rJ ‚t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          ˆfd	„¦  «         t          t          ˆfd
„¦  «         d S )Nr   r   r
   r   r   r   c                  óZ   — t          j        t          ¦  «                             d¦  «        S ©Nr   )r   r   r   r    r   r   r   r   z!test_FreeModule.<locals>.<lambda>P   s   € ­Ô(8½Ñ(;Ô(;×(GÒ(GÈÑ(JÔ(J€ r   c                  ó,   — t          t          d¦  «        S r+   )r   r   r   r   r   r   z!test_FreeModule.<locals>.<lambda>Q   s   € Õ(:½2¸qÑ(AÔ(A€ r   c                  ó¬   •— ‰                       t          j        t          ¦  «                             d¦  «                              g d¢¦  «        ¦  «        S )Nr   ©r   r   r   )r!   r   r   r   r    )ÚM1s   €r   r   z!test_FreeModule.<locals>.<lambda>R   sA   ø€  2§:¢:­bÔ.>½qÑ.AÔ.A×.MÒ.MÈaÑ.PÔ.PßŠG�I�I�IÑÔñ$ ô $ € r   c                  ó.   •— ‰                       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Ð3Ð3Ø•�BÔ,­QÑ/Ô/°Ñ3Ô3Ò3Ð3Ð3Ð3Ø•�BÔ,­QÑ/Ô/°Ñ3Ô3Ò3Ð3Ð3Ð3Ý	•BÔ$¥Q¨fÐ5Ñ5Ô5°qÑ	9Ô	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Ô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Ð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Ð5Ð5à�Š˜qÑ!Ô!Ð!Ð!Ð!Ø�zŠz‰|Œ|ÐÐÐå
ÕÐ JÐ JÑKÔKÐKÝ
ÕÐ AÐ AÑBÔBÐBÝ
�>ð  ð  ð  ð  ñ !ô !ð !å
�>Ð0Ð0Ð0Ð0Ñ1Ô1Ð1Ð1Ð1r   c                  óN  — t          t          t          d¦  «        } t          t          t          d¦  «        }| t          t          t          d¦  «        k    sJ ‚| t          t          t          d¦  «        k    du sJ ‚| |k    sJ ‚ | d¦  «        dk    sJ ‚ |d¦  «        dk    sJ ‚d S )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Ò0°UÐ:Ð:Ð:Ð:Ø�Š8ˆ8ˆ8ˆ8àˆ2ˆi‰=Œ=Ð,Ò,Ð,Ð,Ð,Øˆ2ˆi‰=Œ=˜LÒ(Ð(Ð(Ð(Ð(Ð(r   c                  ó@  ‡‡— t          j        t          t          ¦  «        Š‰                     d¦  «        } |                      g d¢g d¢g d¢¦  «        }|                      t          dz  t          dz  z   ddgt          t          dg¦  «        Š| |k    sJ ‚|| k    sJ ‚| ‰k    sJ ‚‰| k    sJ ‚|‰k    sJ ‚‰|k    sJ ‚| | j        |                      ¦   «         Ž k    sJ ‚|                     ¦   «         sJ ‚‰                     ¦   «         rJ ‚|                     ¦   «         rJ ‚‰                     ¦   «         rJ ‚|                     ¦   «                              ¦   «         sJ ‚‰ 	                    t          dz  t          dz  z   t          z   dt          z   dg¦  «        sJ ‚‰ 	                    t          dz  t          dz  z   t          z   dt          z   dg¦  «        rJ ‚‰ 	                    t          dz  dt          t          z  z
  t           g¦  «        sJ ‚|                      dt          z   ddg¦  «        |                      g d¢¦  «        k    rJ ‚|                      g d¢g d¢¦  «         
                    |                      g d	¢¦  «        ¦  «        | k    sJ ‚‰                     d¦  «        rJ ‚|                      t          dz  t          dz  z   ddg¦  «        }‰                     |¦  «        }|j        | u sJ ‚|j        ‰u sJ ‚t          t          ˆfd
„¦  «         t          t           ˆfd„¦  «         t          t          ˆˆfd„¦  «         |                      t          t          t          g¦  «        |                      t          t          t          gd¬¦  «        k    sJ ‚d S )Nr   ©r   r   r   ©r   r   r   r.   r   r   r   ©r   r   r   ©r   r   r   c                  ó2   •— ‰                       g d¢¦  «        S ©Nr@   ©Ú	submodule©r$   s   €r   r   z/test_SubModulePolyRing_global.<locals>.<lambda>„   ó   ø€ ˜qŸ{š{¨9¨9¨9Ñ5Ô5€ r   c                  ó.   •— ‰                       d¦  «        S r1   )ÚunionrH   s   €r   r   z/test_SubModulePolyRing_global.<locals>.<lambda>…   s   ø€ ˜aŸgšg a™jœj€ r   c                  ó†   •— ‰                       ‰                     d¦  «                             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Ô'7×'AÒ'AÅ1À#Ñ'FÔ'FÑGÔ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   sc  øø€ Ý
Ô��AÑÔ€AØ	�Š�aÑÔ€AØ	
�Š�Y�Y�Y 	 	 	¨9¨9¨9Ñ	5Ô	5€BØ	�Š•Q˜‘T�A˜q™D‘[ ! QÐ'­!­Q°¨Ñ3Ô3€Aà�Š7ˆ7ˆ7ˆ7Ø�Š7ˆ7ˆ7ˆ7Ø�Š6ˆ6ˆ6ˆ6Ø�Š6ˆ6ˆ6ˆ6Ø�Š7ˆ7ˆ7ˆ7Ø�Š7ˆ7ˆ7ˆ7Ø��”˜aŸgšg™iœiÐ(Ò(Ð(Ð(Ð(à×ÒÑÔÐÐÐØ×ÒÑ!Ô!Ð!Ð!Ð!Ø�zŠz‰|Œ|ÐÐÐØ�yŠy‰{Œ{ÐÐˆ?Ø�<Š<‰>Œ>×!Ò!Ñ#Ô#Ð#Ð#Ð#à�:Š:•q˜!‘t�a ™d‘{¥Q‘¨­A©¨qÐ1Ñ2Ô2Ð2Ð2Ð2Ø�zŠz�1˜a™4¥! Q¡$™;­™?¨Aµ©E°1Ð5Ñ6Ô6Ð6Ð6Ð6Ø�:Š:•q˜!‘t˜Q¥¥1¡™W¥q bÐ)Ñ*Ô*Ð*Ð*Ð*à�{Š{˜A¥™E 1 a˜=Ñ)Ô)¨Q¯[ª[¸¸¸Ñ-CÔ-CÒCÐCÐCÐCØ�;Š;�y�y�y ) ) )Ñ,Ô,×2Ò2°1·;²;¸y¸y¸yÑ3IÔ3IÑJÔJÈaÒOÐOÐOÐOØ�~Š~˜aÑ Ô Ð Ð Ð à	�	Š	•1�a‘4�!˜Q™$‘;  1Ð%Ñ&Ô&€AØ	�	Š	�!‰Œ€AØŒ8�qˆ=ˆ=ˆ=ˆ=ØŒ8�qˆ=ˆ=ˆ=ˆ=å
�:Ð5Ð5Ð5Ð5Ñ6Ô6Ð6Ý
�9Ð(Ð(Ð(Ð(Ñ)Ô)Ð)Ý
�:ÐGÐGÐGÐGÐGÑHÔHÐHà�;Š;��1�a�yÑ!Ô! Q§[¢[µ!µQ½°À& [Ñ%IÔ%IÒIÐIÐIÐIÐIÐIr   c            	      óÄ  ‡— t          j        t          t          t          ¬¦  «        } |                      d¦  «        }|                     dt          z   ddgdt          z   ddt          z  z   dgg d¢¦  «        }|                     t          dz  t          dz  z   ddgt          t          dg¦  «        Š||k    sJ ‚||k    sJ ‚|‰k    sJ ‚‰|k    sJ ‚|‰k    sJ ‚‰|k    sJ ‚| |j        |                     ¦   «         Ž k    sJ ‚|                     ¦   «         sJ ‚‰                     ¦   «         rJ ‚| 	                    ¦   «         rJ ‚‰ 	                    ¦   «         rJ ‚|                     ¦   «          	                    ¦   «         sJ ‚‰ 
                    t          dz  t          dz  z   t          z   dt          z   dg¦  «        sJ ‚‰ 
                    t          dz  t          dz  z   t          z   dt          z   dg¦  «        rJ ‚‰ 
                    t          dz  dt          t          z  z
  t           g¦  «        sJ ‚|                     dt          z   ddg¦  «        |                     g d¢¦  «        k    sJ ‚|                     g d¢g d¢¦  «                             |                     dddt          t          z  z   g¦  «        ¦  «        |k    sJ ‚t          t          ˆfd	„¦  «         d S )
Nr   r   r   r   r   r.   r@   rB   c                  ó2   •— ‰                       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   ‹   s¿  ø€ Ý
Ô��A¥TÐ*Ñ*Ô*€AØ	�Š�aÑÔ€AØ	
�Š�a�!‘e˜Q �] Q­¡U¨A°µ!±©G°QÐ$7¸¸¸Ñ	CÔ	C€BØ	�Š•Q˜‘T�A˜q™D‘[ ! QÐ'­!­Q°¨Ñ3Ô3€Aà�Š7ˆ7ˆ7ˆ7Ø�Š7ˆ7ˆ7ˆ7Ø�Š6ˆ6ˆ6ˆ6Ø�Š6ˆ6ˆ6ˆ6Ø�Š7ˆ7ˆ7ˆ7Ø�Š7ˆ7ˆ7ˆ7Ø��”˜aŸgšg™iœiÐ(Ò(Ð(Ð(Ð(à×ÒÑÔÐÐÐØ×ÒÑ!Ô!Ð!Ð!Ð!Ø�zŠz‰|Œ|ÐÐÐØ�yŠy‰{Œ{ÐÐˆ?Ø�<Š<‰>Œ>×!Ò!Ñ#Ô#Ð#Ð#Ð#à�:Š:•q˜!‘t�a ™d‘{¥Q‘¨­A©¨qÐ1Ñ2Ô2Ð2Ð2Ð2Ø�zŠz�1˜a™4¥! Q¡$™;­™?¨Aµ©E°1Ð5Ñ6Ô6Ð6Ð6Ð6Ø�:Š:•q˜!‘t˜Q¥¥1¡™W¥q bÐ)Ñ*Ô*Ð*Ð*Ð*à�;Š;˜�A™˜q !�}Ñ%Ô%¨¯ª°Y°Y°YÑ)?Ô)?Ò?Ð?Ð?Ð?Ø�;Š;Øˆ	ˆ	�9�9�9ñô ß#še A§K¢K°°A°q½1½Q¹3±w°Ñ$@Ô$@ÑAÔAÀQòGð Gð Gð Gõ �:Ð5Ð5Ð5Ð5Ñ6Ô6Ð6Ð6Ð6r   c                  óT  ‡— t          j        t          t          t          ¦  «        } |                      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 ‚d S )Nr   c                 óT   •—  ‰j         d„ | D ¦   «         Ž                      |g¦  «        S )Nc                 ó   — g | ]}|g‘ŒS r   r   ©Ú.0r&   s     r   ú
<listcomp>zKtest_SubModulePolyRing_nontriv_global.<locals>.contains.<locals>.<listcomp>¯   ó   € Ð,Ð,Ð, Q˜a˜SÐ,Ð,Ð,r   ©rG   rO   ©ÚIr%   rS   s     €r   rO   z7test_SubModulePolyRing_nontriv_global.<locals>.contains®   ó1   ø€ ØˆqŒ{Ð,Ð,¨!Ð,Ñ,Ô,Ð-×6Ò6¸°sÑ;Ô;Ð;r   r   r   é   r:   é   )r   r   r   r   r   r    ©r'   rO   rS   s     @r   Ú%test_SubModulePolyRing_nontriv_globalri   ª   sF  ø€ Ý
Ô��A�qÑ!Ô!€AØ	�Š�aÑÔ€Að<ð <ð <ð <ð <ð ˆ8•Q��F�AÑÔÐÐÐØˆ8•Q��F�A¥™EÑ"Ô"Ð"Ð"Ð"Øˆx��A˜ Ñ"Ô"Ð"Ð"Ð"Øˆx��A˜¥Ñ"Ô"Ð"Ð"Ð"Øˆ8•Q˜‘T�A‘X�q !™t¥a™xÐ(­!­a©%Ñ0Ô0Ð0Ð0Ð0Øˆx��Q™¥™¥A¥a¡C­!­A©#¡Iµµ!±¡OµQµq±S½±UÐ;½QÀ¹TÑBÔBÐBÐBÐBØˆ8•Q�‘U�Q‘Y¥¥!¡¥a­¡c¡	­A­a©C¡µµ1±µQ±Ð7½¸A¹Ñ>Ô>Ð>Ð>Ð>Øˆ8•Q�‘U�Q‘Y¥¥!¡¥a­¡c¡	­A­a©C¡µµ1±µQ±Ð7½¸A¹Ñ>Ô>Ð>Ð>Ð>Øˆx��Q™¥™¥A¥a¡C­!­A©#¡Iµµ!±¡OµQµq±S½±UÐ;½Q½qÀ!¹t¹VÑDÔDÐDÐDÐDØˆ8•Q�‘U�Q‘Y¥¥!¡¥a­¡c¡	­A­a©C¡µµ1±µQ±Ð7½¸A¹ÅÀ1Á¹ÀqÍÁsÍ1ÁuÍQÁwÑ9NÑOÔOÐOÐOÐOØˆ8•Q�‘U�Q‘Y¥¥!¡¥a­¡c¡	­A­a©C¡µµ1±µQ±Ð7½½1¹½Q¹Ñ?Ô?Ð?Ð?Ð?Øˆ8•Q˜�A™¥™	 1 q­¡s¡7Ð+¨QÑ/Ô/Ð/Ð/Ð/Øˆ8Ý	
ˆA‰•�1‘‰•a˜‘d�Q ™T‘k¥1 a¡4­!¨Q©$¡;µ°1±µQ±½¸A¹½a¹±Å!ÀQÁ$ÅqÁ&Ñ0HÐIÝ	ˆ1‰ñô ð ð ð ð ˆxÝ	
ˆA‰•�1‘‰•a˜‘d�Q ™T‘k¥1 a¡4­!¨Q©$¡;µ°1±µQ±½¸A¹½a¹±Å!ÀQÁ$ÅqÁ&Ñ0HÐIÝ	ˆ1‰�q�!‰t‰ñô ð ð ð ð
 ˆx�˜A¥™E¥A™I™­¨1­q©5©	Ð2µAÑ6Ô6Ð6Ð6Ð6Øˆx�˜A¥™E¥A™I™­¨1­q©5©	Ð2µA½±EÑ:Ô:Ð:Ð:Ð:Ð:Ð:r   c                  óð  ‡— t          j        t          t          t          t
          ¬¦  «        } |                      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 ‚d S )Nr   r   c                 óT   •—  ‰j         d„ | D ¦   «         Ž                      |g¦  «        S )Nc                 ó   — g | ]}|g‘ŒS r   r   r^   s     r   r`   zJtest_SubModulePolyRing_nontriv_local.<locals>.contains.<locals>.<listcomp>Î   ra   r   rb   rc   s     €r   rO   z6test_SubModulePolyRing_nontriv_local.<locals>.containsÍ   re   r   r   )r   r   r   r   r   r
   r    rh   s     @r   Ú$test_SubModulePolyRing_nontriv_localrm   É   s   ø€ Ý
Ô��A�q­Ð-Ñ-Ô-€AØ	�Š�aÑÔ€Að<ð <ð <ð <ð <ð ˆ8•Q��F�AÑÔÐÐÐØˆ8•Q��F�A¥™EÑ"Ô"Ð"Ð"Ð"Øˆx��A˜ Ñ"Ô"Ð"Ð"Ð"Øˆx��A˜¥Ñ"Ô"Ð"Ð"Ð"Øˆ8•Q˜‘T�A‘X�q !™t¥a™xÐ(­!­a©%Ñ0Ô0Ð0Ð0Ð0Øˆx��Q™¥™¥A¥a¡C­!­A©#¡Iµµ!±¡OµQµq±S½±UÐ;½QÀ¹TÑBÔBÐBÐBÐBØˆ8•Q˜�A™¥™	‘]¥A q­1¡u¡IÐ.µÑ2Ô2Ð2Ð2Ð2Øˆ8•Q˜�A™¥™	‘]¥A q­1¡u¡IÐ.µµA±Ñ6Ô6Ð6Ð6Ð6Ð6Ð6r   c                  ó8  — t          j        t          t          t          ¦  «        } |                      d¦  «                             t          t          z  gt          t          z  gt          t          z  g¦  «        }|                      d¦  «                             dt          t           gt          t           dg¦  «        }|                     ¦   «         |k    sJ ‚|t          t          z  t          z  gfz  }|                      d¦  «                             t          ddgdt          dgddt          g¦  «        }|                     ¦   «         |k    sJ ‚|                      d¦  «        } |j        |                     ¦   «         Ž                      ¦   «         |                     ¦   «         k    sJ ‚t          j        t          t          t          ¦  «        t          t          z  t          z  gz  }|                     d¦  «                             t          t          z  gt          t          z  gt          t          z  g¦  «        }|                     d¦  «                             t          ddgdt          dgddt          g¦  «        }|                     ¦   «         |k    sJ ‚d S )Nr   r   r   )	r   r   r   r   r   r    rG   Úsyzygy_modulerM   )	r'   r$   ÚSr6   ÚS2rS   ÚR2r2   ÚS3s	            r   Útest_syzygyrt   Ú   sõ  € Ý
Ô��A�qÑ!Ô!€AØ	�Š�aÑÔ×"Ò"¥A¥a¡C 5­1­Q©3¨%µ!µA±#°Ñ7Ô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Ô	D€BØ×ÒÑÔ Ò#Ð#Ð#Ð#à	�Š�aÑÔ€AØˆ1Œ;˜Ÿš™	œ	Ð"×0Ò0Ñ2Ô2°a·k²k±m´mÒCÐCÐCÐCå	Ô	�!�Q¥Ñ	"Ô	"¥a­¡c­!¡e WÑ	,€BØ	�Š˜Ñ	Ô	×	$Ò	$¥a­¡c U­Q­q©S¨EµAµa±C°5Ñ	9Ô	9€BØ	�Š˜Ñ	Ô	×	$Ò	$¥a¨¨A Y°µA°q°	¸A¸qÅ!¸9Ñ	EÔ	E€BØ×ÒÑÔ Ò#Ð#Ð#Ð#Ð#Ð#r   c                  ó4  ‡— t          j        t          d¬¦  «        } |                      d¦  «                             dt          z  dgddg¦  «        Š‰                     t          t          g¦  «        |                      t          dd¦  «        ¦  «        |                      t          dz  ¦  «        gk    sJ ‚t          t          ˆfd„¦  «         |                      d¦  «        t          dgddgfz  Š‰                     dt          g¦  «        }|                     ddg¦  «        |                      dt          dz
  z  ¦  «        gk    sJ ‚t          j        t          t          ¦  «        t          dz  t          dz  z
  gz  } |                      d¦  «        Š‰                     t          dgdt          g¦  «        }|                     t          dz  t          dz  g¦  «        |                      t          ¦  «        |                      t          ¦  «        gk    sJ ‚d S )	Nr
   r   r   r   r   rf   c                  ó2   •— ‰                       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   rw   r!   r   r   rQ   r   )r'   ÚSMr$   s     @r   Útest_in_terms_of_generatorsrz   í   sÖ  ø€ Ý
Ô� &Ð)Ñ)Ô)€AØ	�Š�aÑÔ×"Ò" A¥a¡C¨ 8¨a°¨VÑ4Ô4€AØ×#Ò#Ý	
�Aˆñô Ø—I’I�h q¨!™nœnÑ-Ô-¨q¯yªy½¸1¹©~¬~Ð>ò?ð ?ð ?ð ?å
�:Ð?Ð?Ð?Ð?Ñ@Ô@Ð@à	�Š�aÑÔ�Q ˜F Q¨ FÐ+Ñ+€AØ	
�Š�a��VÑ	Ô	€BØ×$Ò$ a¨ VÑ,Ô,°·²¸2½qÀ1¹u¹:Ñ1FÔ1FÐ0GÒGÐGÐGÐGå
Ô��AÑÔ¥! Q¡$­¨A©¡+ Ñ.€AØ	�Š�aÑÔ€AØ	
�Š•a˜�V˜a¥˜VÑ	$Ô	$€BØ×$Ò$Ý	
ˆA‰�q�!‰tˆñô ØŸ)š)¥A™,œ,¨¯	ª	µ!©¬Ð5ò6ð 6ð 6ð 6ð 6ð 6r   c                  ó4
  ‡‡‡‡	— t          j        t          ¦  «        } |                      d¦  «        }|                     dt          t          dz  g¦  «        }||z  Š‰                     t          dz  ddg¦  «        }‰                     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    r_|                     t          dz  ddg¦  «        |z   cxk    r7‰                     |                     t          dz  ddg¦  «        ¦  «        k    sn J ‚‰                     t          dz  dz   dt          z  dz   t          dz  g¦  «        |dt          dgz   cxk    rI|‰                     dt          dg¦  «        z   cxk    r$||                     dt          dg¦  «        z   k    sn J ‚‰                     t          dz  dz   dt          dz  g¦  «        |dt          dgz
  cxk    rI|‰                     dt          dg¦  «        z
  cxk    r$||                     dt          dg¦  «        z
  k    sn J ‚‰                     g d¢¦  «        ‰                     t          dz  ddg¦  «        |z
  cxk    r<t          dz  ddg|z
  cxk    r'|                     t          dz  ddg¦  «        |z
  k    sn J ‚‰                     t          dz  t          dz  z   dt          z  dz   dg¦  «        dt          z   |z  cxk    r[|                      dt          z   ¦  «        |z  cxk    r6|dt          z   z  cxk    r$||                      dt          z   ¦  «        z  k    sn J ‚| t          dz   ddgk    sJ ‚t          t          dg|z   }‰                     g d¢¦  «        |t          z  cxk    r!||                      t          ¦  «        z  k    sn J ‚|ddt          z  dt          dz  z  fd	gz  Š|                      d¦  «        Š‰dt          ggz  Š	|                     dt          t          dz  gg d
¢¦  «        |z  }t          t          ˆˆfd„¦  «         t          t          ˆˆ	fd„¦  «         t          t          ˆˆfd„¦  «         ‰                     ‰                     dt          t          dz  g¦  «        ¦  «        dt          dgk    sJ ‚‰                     |                     g d¢¦  «        ¦  «        g d¢k    sJ ‚d S )Nr   r   r   r   )r   r   r   rf   rx   )r   r   r   rC   r@   c                  ób   •— ‰                      ‰                       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                  ób   •— ‰                       ‰                      dt          g¦  «        ¦  «        S r1   r}   )r$   r2   s   €€r   r   z,test_QuotientModuleElement.<locals>.<lambda>  s#   ø€  1§9¢9¨R¯ZªZ¸½A¸Ñ-?Ô-?Ñ#@Ô#@€ r   c                  ón   •— ‰                       ‰                      dt          t          g¦  «        ¦  «        S r1   r}   )r$   r6   s   €€r   r   z,test_QuotientModuleElement.<locals>.<lambda>  s%   ø€  1§9¢9¨R¯ZªZ¸½A½q¸	Ñ-BÔ-BÑ#CÔ#C€ r   ©r   r   r   )r   r   r   r    rG   r!   r   r   )
r'   rS   ÚNr   r%   ÚM4r~   r$   r6   r2   s
         @@@@r   Útest_QuotientModuleElementr„   ÿ   s¬  øøøø€ Ý
Ô�ÑÔ€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Ô4¸Ò9Ð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�Y�YÑÔ 1§9¢9­a°©d°A°q¨\Ñ#:Ô#:¸QÑ#>ð 8ð 8ò 8ð 8Ý	
ˆA‰ˆq�!ˆ�qÑð8ð 8ò 8ð 8ØŸIšI¥q¨!¡t¨Q° lÑ3Ô3°aÑ7ò8ð 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�Y�YÑÔ 1¥q¡5Ð<Ð<Ò<Ð<¨A°·	²	½!±´Ñ,<Ò<Ð<Ð<Ð<Ð<Ð<à	
ˆQ�•!‘�Q•q˜!‘t‘VÐ˜iÐ(Ñ	(€BØ	�Š�aÑÔ€AØ	
ˆQ•ˆFˆ8‰€BØ	
�Š�a��A˜q™D�\ 9 9 9Ñ	-Ô	-°Ñ	1€BÝ
�>Ð?Ð?Ð?Ð?Ð?Ñ@Ô@Ð@Ý
�>Ð@Ð@Ð@Ð@Ð@ÑAÔAÐAÝ
�>ÐCÐCÐCÐCÐCÑDÔDÐDØ�:Š:�a—i’i ¥A¥q¨!¡t Ñ-Ô-Ñ.Ô.°1µa¸°)Ò;Ð;Ð;Ð;Ø�9Š9�R—Z’Z 	 	 	Ñ*Ô*Ñ+Ô+¨y¨y¨yÒ8Ð8Ð8Ð8Ð8Ð8r   c                  ó  ‡‡‡‡— t          j        t          ¦  «        Š‰                     d¦  «        Š‰                     dt          t          dz  g¦  «        Š‰‰z  Š‰‰k    sJ ‚‰‰k    sJ ‚‰‰dt          t          dz  fgz  k    sJ ‚‰                     ¦   «         rJ ‚‰‰                     ¦   «         z                       ¦   «         sJ ‚‰                     dt          t          dz  gg d¢¦  «        ‰z  } | ‰                     dt          t          dz  g¦  «        k    sJ ‚| ‰                     g d¢¦  «        k    sJ ‚| ‰k    sJ ‚‰                     | ¦  «        sJ ‚|                      ¦   «         rJ ‚t          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         t          t          ˆˆfd	„¦  «         ‰g d
¢gz  }|                     g d¢g d¢¦  «        }||k    sJ ‚d S )Nr   r   r   r�   )r   r   r   c                  ó   •— ‰‰ z  S ©Nr   ©rS   r‚   s   €€r   r   z%test_QuotientModule.<locals>.<lambda>5  s   ø€ ˜q ™s€ r   c                  ó8   •— ‰                       g d¢¦  «        ‰z  S )Nr�   rF   rˆ   s   €€r   r   z%test_QuotientModule.<locals>.<lambda>6  s   ø€ ˜qŸ{š{¨9¨9¨9Ñ5Ô5¸Ñ9€ r   c                  ó4   •— ‰                      d¦  «        ‰ z  S r+   )r    )rS   r'   s   €€r   r   z%test_QuotientModule.<locals>.<lambda>7  s   ø€ ˜qŸ}š}¨QÑ/Ô/°Ñ1€ r   c                  ót   •— ‰                       ‰                      dt          t          dz  g¦  «        ¦  «        S )Nr   r   r}   )rS   r$   s   €€r   r   z%test_QuotientModule.<locals>.<lambda>8  s)   ø€  1§9¢9¨Q¯YªY¸½1½aÀ¹d°|Ñ-DÔ-DÑ#EÔ#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�   "  s  øøøø€ Ý
Ô�ÑÔ€AØ	�Š�aÑÔ€AØ	�Š�Q��1˜a™4�LÑ!Ô!€AØ	ˆ!‰€Aà�Š6ˆ6ˆ6ˆ6Ø�Š6ˆ6ˆ6ˆ6Ø��a��A˜q™D�\�NÑ"Ò"Ð"Ð"Ð"Ø�yŠy‰{Œ{ÐÐˆ?Ø�—’‘	”	‰M×"Ò"Ñ$Ô$Ð$Ð$Ð$à	
�Š�a��A˜q™D�\ 9 9 9Ñ	-Ô	-°Ñ	1€BØ�—’˜a¥¥A q¡D˜\Ñ*Ô*Ò*Ð*Ð*Ð*Ø�—’˜Y˜Y˜YÑ'Ô'Ò'Ð'Ð'Ð'Ø�Š7ˆ7ˆ7ˆ7Ø�>Š>˜"ÑÔÐÐÐØ× Ò Ñ"Ô"Ð"Ð"Ð"å
�:�{�{�{�{�{Ñ#Ô#Ð#Ý
�:Ð9Ð9Ð9Ð9Ð9Ñ:Ô:Ð:Ý
�:Ð1Ð1Ð1Ð1Ð1Ñ2Ô2Ð2Ý
�>ÐEÐEÐEÐEÐEÑFÔFÐFà	
ˆiˆiˆiˆ[‰€BØ	�Š�i�i�i   Ñ	+Ô	+€BØ�Š8ˆ8ˆ8ˆ8ˆ8ˆ8r   c                  óF  — t          j        t          t          dt          fdt          ff¬¦  «        t          dz  dz   gz  } |                      d¦  «        }||                      d¦  «        k    sJ ‚|t          j        t          ¦  «                             d¦  «        k    sJ ‚||                      d¦  «        k    sJ ‚t          dg|v sJ ‚t          g|vsJ ‚d|                      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 ‚|                     t          dz  t          g¦  «        dt          gk    sJ ‚|                      d¦  «        }|                     t          dz  ddgg d	¢g d
¢¦  «        }|                     t          dz  t          dz  z   ddgt          t          dg¦  «        }||k    sJ ‚||k    sJ ‚||k    sJ ‚||k    sJ ‚||k    sJ ‚||k    sJ ‚| |j        |                     ¦   «         Ž k    sJ ‚|                     ¦   «         sJ ‚|                     ¦   «         rJ ‚| 	                    ¦   «         rJ ‚| 	                    ¦   «         rJ ‚|                     ¦   «          	                    ¦   «         sJ ‚| 
                    t          dz  t          dz  z   t          z   t          dz   t          z   dg¦  «        sJ ‚| 
                    t          dz  t          dz  z   t          z   dt          z   dg¦  «        rJ ‚| 
                    t          dz  dt          t          z  z
  t           g¦  «        sJ ‚|                     t          ddg¦  «        |                     g d¢¦  «        k    sJ ‚|                     t          ddg¦  «        |                     g d¢¦  «        k    rJ ‚|                     g d¢g d¢¦  «                             |                     g d¢¦  «        ¦  «        |k    sJ ‚|                     d¦  «        rJ ‚d S )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�   ?  s   € Ý
Ô��A u­a j°6½1°+Ð%>Ð?Ñ?Ô?Å1ÀaÁ4È!Á8À*ÑL€AØ	
�Š�qÑ	Ô	€BØ�—’˜qÑ!Ô!Ò!Ð!Ð!Ð!Ø•Ô!¥!Ñ$Ô$×0Ò0°Ñ3Ô3Ò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 9 9¨i¨i¨iÑ	8Ô	8€BØ	�Š•Q˜‘T�A˜q™D‘[ ! QÐ'­!­Q°¨Ñ3Ô3€Aà�Š7ˆ7ˆ7ˆ7Ø�Š7ˆ7ˆ7ˆ7Ø�Š6ˆ6ˆ6ˆ6Ø�Š6ˆ6ˆ6ˆ6Ø�Š7ˆ7ˆ7ˆ7Ø�Š7ˆ7ˆ7ˆ7Ø��”˜aŸgšg™iœiÐ(Ò(Ð(Ð(Ð(à×ÒÑÔÐÐÐØ×ÒÑ!Ô!Ð!Ð!Ð!Ø�zŠz‰|Œ|ÐÐÐØ�yŠy‰{Œ{ÐÐˆ?Ø�<Š<‰>Œ>×!Ò!Ñ#Ô#Ð#Ð#Ð#à�:Š:•q˜!‘t�a ™d‘{¥Q‘­¨A©¨µ©	°1Ð5Ñ6Ô6Ð6Ð6Ð6Ø�zŠz�1˜a™4¥! Q¡$™;­™?¨Aµ©E°1Ð5Ñ6Ô6Ð6Ð6Ð6Ø�:Š:•q˜!‘t˜Q¥¥1¡™W¥q bÐ)Ñ*Ô*Ð*Ð*Ð*à�;Š;�˜1˜a�yÑ!Ô! Q§[¢[°°°Ñ%;Ô%;Ò;Ð;Ð;Ð;Ø�{Š{�A˜q !˜9Ñ%Ô%¨¯ª°Y°Y°YÑ)?Ô)?Ò?Ð?Ð?Ð?Ø�;Š;�y�y�y ) ) )Ñ,Ô,×2Ò2°1·;²;¸y¸y¸yÑ3IÔ3IÑJÔJÈaÒOÐOÐOÐOØ�~Š~˜aÑ Ô Ð Ð Ð Ð Ð r   c                  óÔ  — t          j        t          ¦  «        } |                      d¦  «        }|                     t          dgdt          g¦  «        }|                     t          dz  dgdt          dz  g¦  «        }|                      t          ¦  «        }||z  ||z  cxk    r$|cxk    rt          |z  cxk    r|t          z  k    sn J ‚||z  |cxk    rt          |z  k    sn J ‚d S )Nr   r   )r   r   r   r    rG   Úideal)r'   r$   ÚS1rq   rd   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          ¦  «                             d¦  «        } |                      t          t          gt          dg¦  «        }|                      dt          dz
  gt          dgt          t          g¦  «        }|                      t          t          gt          dz  t          z
  t          dz
  gt          t          z  t          z   t          dz   g¦  «        }|                     |d¬¦  «        \  }}}||                     |¦  «        cxk    r|k    sn J ‚t          |j        ¦  «        D ]v\  }}|t          d„ t          ||         |j        ¦  «        D ¦   «         ¦  «        cxk    r6t          d„ t          ||         |j        ¦  «        D ¦   «         ¦  «        k    sn J ‚Œw|                      t          t          g¦  «                             |                      t          t          g¦  «        ¦  «                             ¦   «         sJ ‚d S )Nr   r   r   T©Ú	relationsc              3   ó&   K  — | ]\  }}||z  V — Œd S r‡   r   ©r_   Úcr   s      r   ú	<genexpr>z$test_intersection.<locals>.<genexpr>~  ó*   è è € Ð>Ð>¡  1˜˜!™Ð>Ð>Ð>Ð>Ð>Ð>r   c              3   ó&   K  — | ]\  }}||z  V — Œd S 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   rd   ÚI1Úrel1Úrel2Úir&   s	            r   Útest_intersectionr§   u  sá  € å
Ô��AÑÔ×*Ò*¨1Ñ-Ô-€AØ	
�Š•a��V�a ˜VÑ	$Ô	$€BØ	
�Š�a�˜Q™�Z¥! Q ­!­Q¨Ñ	0Ô	0€BØ	�Š•Q��F�Q ™T¥A™X¥q¨1¡uÐ-µµ!±µa±½¸Q¹Ð/?Ñ@Ô@€AØ—\’\ "°�\Ñ5Ô5�N€BˆˆdØ�—’˜bÑ!Ô!Ð&Ð&Ò&Ð& QÒ&Ð&Ð&Ð&Ð&Ð&Ý˜"œ'Ñ"Ô"ð ?ð ?‰ˆˆ1Ø•CÐ>Ð>­¨D°¬G°R´WÑ(=Ô(=Ð>Ñ>Ô>Ñ>Ô>ð ?ð ?ò ?ð ?ÝÐ>Ð>­¨D°¬G°R´WÑ(=Ô(=Ð>Ñ>Ô>Ñ>Ô>ò?ð ?ð ?ð ?ð ?ð ?ð ?ð �;Š;��1�vÑÔ×(Ò(¨¯ªµa½°VÑ)<Ô)<Ñ=Ô=×EÒEÑGÔGÐGÐGÐGÐGÐGr   c            	      óH  — t          j        t          t          t          ¦  «        } |                      d¦  «        }|                     t          t          z  t          t          z  gt          t          z  t          t          z  g¦  «                             |                     t          t          gt          t          g¦  «        ¦  «        t          j        t          t          t          ¦  «                             t          dz  t          dz  z  t          t          z  t          dz  z  z
  ¦  «        k    sJ ‚|                     t          t          g¦  «                             |                     ¦   «         ¦  «         	                    ¦   «         sJ ‚|                     t          dz  t          dz  gt          dz  t          dz  g¦  «        }|                     t          t          z   t          t          z   g¦  «        }|                     |d¬¦  «        \  }}||                      t          dz  t          t          z
  ¦  «        k    sJ ‚t          |j        ¦  «        D ]K\  }}||j        d         z  t          d„ t          ||         |j        ¦  «        D ¦   «         ¦  «        k    sJ ‚ŒLd S )Nr   Tr•   r   c              3   ó&   K  — | ]\  }}||z  V — Œd S r‡   r   r˜   s      r   rš   z test_quotient.<locals>.<genexpr>‘  s*   è è € Ð!FÐ!F©$¨!¨Q ! A¡#Ð!FÐ!FÐ!FÐ!FÐ!FÐ!Fr   )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½½A½qÑ(AÔ(A×(GÒ(GÍÈ1ÉÍQÐPQÉTÉ	ÕTUÕVWÑTWÕXYÐ[\ÑX\ÑT\ÑH\Ñ(]Ô(]ò^ð ^ð ^ð ^à�;Š;��1�vÑÔ×.Ò.¨q¯{ª{©}¬}Ñ=Ô=×KÒKÑMÔMÐMÐMÐMà	�Š•Q˜‘T�1˜a™4�L¥1 a¡4­¨A© ,Ñ/Ô/€AØ	�Š•Q�‘U�A¥™E�NÑ#Ô#€AØ×Ò˜q¨DÐÑ1Ô1�F€A€sØ�—’�˜1™�a¥!™eÑ$Ô$Ò$Ð$Ð$Ð$Ý˜!œ&Ñ!Ô!ð Gð G‰ˆˆ1Ø�”˜”‰{�cÐ!FÐ!Fµ#°c¸!´f¸a¼fÑ2EÔ2EÐ!FÑ!FÔ!FÑFÔFÒFÐFÐFÐFÐFðGð Gr   c            	      óÄ  — t          j        t          t          t          ¦  «                             d¦  «                             t          dz   t          dgt          t          z  t          t          dz  g¦  «        } |                      d¬¦  «        \  }}t          |¦  «        D ]=\  }}|t          d„ t          ||         | j        ¦  «        D ¦   «         ¦  «        k    sJ ‚Œ>d S )Nr   r   r   T)Úextendedc              3   ó&   K  — | ]\  }}||z  V — Œd S 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$   r~   r'   r¦   r&   s        r   Útest_groebner_extendendr´   ”  sÅ   € Ý
Ô��A�qÑ!Ô!×-Ò-¨aÑ0Ô0×:Ò:½AÀ¹EÅ1Àa¸=Í1ÍQÉ3ÕPQÕSTÐVWÑSWÈ.ÑYÔY€AØ�?Š? Dˆ?Ñ)Ô)�D€A€qÝ˜!‘”ð ?ð ?‰ˆˆ1Ø•CÐ>Ð>­C°°!´°a´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   ri   rm   rt   rz   r„   r�   r�   r“   r§   r®   r´   r   r   r   ú<module>r»      s¢  ðØ Ð à PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø Ð Ð Ð Ð Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð?ð ?ð ?ð,42ð 42ð 42ðn	)ð 	)ð 	)ð%Jð %Jð %JðP7ð 7ð 7ð>;ð ;ð ;ð>7ð 7ð 7ð"$ð $ð $ð&6ð 6ð 6ð$ 9ð  9ð  9ðFð ð ð:(!ð (!ð (!ðVð ð ðHð Hð HðGð Gð Gð ?ð ?ð ?ð ?ð ?r   