Ë
    7^(h7  ã                   ó¼   — d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d d	lmZmZmZ d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)é    )Úsymbols)ÚcosÚsin)ÚQQÚZZ)ÚPoly)ÚNotInvertible)ÚFiniteExtension)ÚDomainMatrix)Úraises)ÚxÚyÚtc                  ó`  ‡‡‡— t        t        t        dz  dz   t        «      «      Š‰j                  dk(  sJ ‚t	        ‰«      dk(  sJ ‚‰j
                  Š‰j                  «       ‰u sJ ‚‰‰z   ‰d«      k(  sJ ‚t        t        ˆfd„«       ‰j                  ‰j                  ‰fk(  sJ ‚ ‰d«      ‰j                  k(  sJ ‚‰dz   ‰d«      k(  sJ ‚‰dz  dk7  sJ ‚d‰z   d‰z
  z  d‰z
  k(  sJ ‚d‰z   dz   ‰d«      k(  sJ ‚ ‰d«      j                  «        ‰d«      k(  sJ ‚t        t        ˆfd	„«       t        t        t        dz  t        z
  dz   t        d¬
«      «      Š‰j                  dk(  sJ ‚‰j
                  } ‰j                   ‰d«      | | dz  fk(  sJ ‚| dz  | k(  sJ ‚| dz   ‰d«      k(  sJ ‚| dz   ‰d«      k(  sJ ‚| dz  | dz   k(  sJ ‚| dz  | dz
  k(  sJ ‚| dz  | dz  | z   dz   k(  sJ ‚ ‰t        dz  t        z   «      j                  «       d| z
  k(  sJ ‚ ‰t        dz   «      dz   ‰t        dz   «      j                  «       k(  sJ ‚| dz  | dz  z   ‰d«      k(  sJ ‚| dz
  d| dz  z  dz
  z  | dz  dz   k(  sJ ‚| dz
  d| dz  z  dz
  z  | dz  dz   k(  sJ ‚d| dz  dz   z  | dz  | z
  dz   k(  sJ ‚| dz  dz   dz  | dz   dz
  k(  sJ ‚t        t        ˆfd„«       t        t        t        dz  t        dz  z
  t        z
  dz   t        d¬«      «      }|j                  dk(  sJ ‚t	        |«      dk(  sJ ‚|j
                  }dt        dz  t        dz  z
  t        z   dz
  z  }|t        z   |t        z
  z  j                  «        ||«      k(  sJ ‚|t        z   |t        z
  z  |z   |d«      k(  sJ ‚y )Né   é   zZZ[x]/(x**2 + 1)éÿÿÿÿc                  ó   •— ‰ dz  S )N© r   )Úis   €úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/polys/agca/tests/test_extensions.pyú<lambda>z&test_FiniteExtension.<locals>.<lambda>   s   ø€ ˜a ™d€ ó    é   é   é   c                  ó0   •—  ‰ d«      j                  «       S )Nr   ©Úinverse)ÚAs   €r   r   z&test_FiniteExtension.<locals>.<lambda>    s   ø€ ©¨!«¯©«€ r   )Úmodulusé   é   é   é	   é   é   iíÿÿÿc                  ó0   •—  ‰ d«      j                  «       S )Nr   r   )ÚFs   €r   r   z&test_FiniteExtension.<locals>.<lambda>4   s   ø€ ¡! A£$§,¡,£.€ r   T)ÚfieldzZZ(x)[t]/(t**2 - x**3 - x + 1))r
   r   r   ÚrankÚstrÚ	generatorÚparentr   Ú	TypeErrorÚbasisÚoner   ÚNotImplementedErrorr	   r   )ÚaÚKr   Úcr    r)   r   s       @@@r   Útest_FiniteExtensionr6      sÝ  ú€ äœœQ ™T A™X¤qÓ)Ó*€AØ�6‰6�QŠ;Ðˆ;Üˆq‹6Ð'Ò'Ð'Ð'Ø	�‰€AØ�8‰8‹:˜‰?Ðˆ?àˆQ‰3‘!�B“%Š<Ðˆ<Ü
Œ9“lÔ#à�7‰7�q—u‘u˜a�jÒ Ð Ð ÙˆQ‹4�1—5‘5Š=Ðˆ=Øˆa‰4‘1�R“5Š=Ðˆ=Øˆa‰4�2Š:Ðˆ:Ø�‰E�A˜‘E‰?˜a !™eÒ#Ð#Ð#Ø�‰E�A‰:™˜2›ÒÐÐÙˆQ‹4�<‰<‹>™Q˜q›TÒ!Ð!Ð!Ü
ÔÓ 6Ô7ô 	œœQ ™T¤A™X¨™\¬1°aÔ8Ó9€AØ�6‰6�QŠ;Ðˆ;Ø	�‰€AØ�7‰7‘q˜“t˜Q  1¡�oÒ%Ð%Ð%Øˆb‰5�AŠ:Ðˆ:Øˆb‰5‘A�a“DŠ=Ðˆ=Øˆb‰5‘A�b“EŠ>Ðˆ>Øˆa‰4�1�q‘5Š=Ðˆ=Øˆa‰4�1�q‘5Š=Ðˆ=Øˆa‰4�1�a‘4˜!‘8˜a‘<ÒÐÐÙŒQ�‰T”A‰X‹;×ÑÓ  A¨¡EÒ)Ð)Ð)ÙŒQ�‰U‹8�b‰>™Qœq 1™u›X×-Ñ-Ó/Ò/Ð/Ð/Øˆb‰5�1�s‘8Ñ™q ›tÒ#Ð#Ð#Ø�‰E�a˜˜1™‘f˜q‘jÑ! Q¨¡T¨A¡XÒ-Ð-Ð-Ø�‰E�q˜˜A™‘v ‘zÑ" a¨¡d¨Q¡hÒ.Ð.Ð.Øˆa�‰d�Q‰h‰<˜1˜a™4 !™8 a™<Ò'Ð'Ð'Øˆq‰D�1‰H�a‰<˜A˜q™D˜5 1™9Ò$Ð$Ð$Ü
Œ=Ó0Ô1ô 	œœQ ™T¤A q¡D™[¬1™_¨qÑ0´!¸4Ô@ÓA€AØ�6‰6�QŠ;Ðˆ;Üˆq‹6Ð5Ò5Ð5Ð5Ø	�‰€AØ	Œ1ˆa‰4”!�Q‘$‰;œ‰?˜QÑÑ€AØ”‰U�Qœ‘U‰O×$Ñ$Ó&©!¨A«$Ò.Ð.Ð.Ø”‰E�Aœ‘E‰?˜1Ñ¡ !£Ò$Ð$Ñ$r   c                  ót  — t        t        dz  dz
  t        t        ¬«      } t        t        dz  dz
  t        t        ¬«      }t	        | «      }t	        |«      }|t	        t        t        dz  dz
  «      «      k(  sJ ‚|t	        t        t        dz  dz
  «      «      k7  sJ ‚t        ||t	        | «      h«      dk(  sJ ‚y )Nr   ©Údomain)r   r   r   r   r
   Úlen)Úp1Úp2ÚK1ÚK2s       r   Útest_FiniteExtension_eq_hashr?   @   sŸ   € ä	Œa�‰d�Q‰hœ¤"Ô	%€BÜ	Œa�‰d�Q‰hœ¤"Ô	%€BÜ	˜Ó	€BÜ	˜Ó	€BØ”¤¤a¨¡d¨Q¡h£Ó0Ò0Ð0Ð0Ø”¤¤a¨¡d¨Q¡h£Ó0Ò0Ð0Ð0Ü��Bœ¨Ó+Ð,Ó-°Ò2Ð2Ñ2r   c                  ó   ‡— t        t        t        dz  dz   t        t        ¬«      «      }  | t        «      Š‰dz  dz
  dz  | j                  k(  sJ ‚d‰dz  dz
  z  | j                  k(  sJ ‚‰dz  dz
  ‰dz
  z  ‰dz   k(  sJ ‚‰dz  dz
  ‰dz
  z  ‰dz   k(  sJ ‚‰dz  dz
  ‰dz
  z  | j                  k(  sJ ‚t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        t        t        dz  dz   t        t        ¬«      «      }  | t        «      Š‰dz  dz
  dz  | j                  k(  sJ ‚t        t        ˆfd„«       y )	Nr   r   r8   r   c                  ó   •— ‰ dz  dz
  dz  S )Nr   r   r   r   ©Úxfs   €r   r   z*test_FiniteExtension_mod.<locals>.<lambda>T   s   ø€  r¨1¡u¨q¡y°A¡o€ r   c                  ó   •— ‰ g z  S ©Nr   rB   s   €r   r   z*test_FiniteExtension_mod.<locals>.<lambda>U   ó   ø€ ˜b 2™g€ r   c                  ó   •— g ‰ z  S rE   r   rB   s   €r   r   z*test_FiniteExtension_mod.<locals>.<lambda>V   rF   r   c                  ó    •— ‰ dz  dz
  ‰ dz
  z  S )Nr   r   r   rB   s   €r   r   z*test_FiniteExtension_mod.<locals>.<lambda>\   s   ø€ ¨¨Q©°©°r¸A±vÑ(>€ r   )
r
   r   r   r   Úzeror   ÚZeroDivisionErrorr/   r   r2   ©r4   rC   s    @r   Útest_FiniteExtension_modrL   K   s<  ø€ äœœQ ™T A™X¤q´Ô4Ó5€AÙ	
Œ1‹€BØ�‰E�A‰I˜‰?˜aŸf™fÒ$Ð$Ð$Ø��A‘˜‘	‰?˜aŸf™fÒ$Ð$Ð$Ø�‰E�A‰I˜"˜q™&Ñ! R¨!¡VÒ+Ð+Ð+Ø�‰E�A‰I˜2 ™6Ñ" b¨1¡fÒ,Ð,Ð,Ø�‰E�A‰I˜"˜q™&Ñ! Q§V¡VÒ+Ð+Ð+Ü
ÔÓ5Ô6Ü
Œ9“oÔ&Ü
Œ9“oÔ&ô 	œœQ ™T A™X¤q´Ô4Ó5€AÙ	
Œ1‹€BØ�‰E�A‰I˜‰?˜aŸf™fÒ$Ð$Ð$Ü
ÔÓ >Õ?r   c                  óÖ   — t        t        t        dz  dz   t        t        ¬«      «      }  | t        «      }| j	                  t        «      |k(  sJ ‚| j                  |«      t        k(  sJ ‚y )Nr   r   r8   )r
   r   r   r   Ú
from_sympyÚto_sympyrK   s     r   Útest_FiniteExtension_from_sympyrP   _   sR   € äœœQ ™T A™X¤q´Ô4Ó5€AÙ	
Œ1‹€BØ�<‰<œ‹?˜bÒ Ð Ð Ø�:‰:�b‹>œQÒÐÑr   c                  óÌ   — t        t        t        dz  dz   t        d¬«      «      } t        t        t        dz  dz   t        d¬«      «      }| j                  t        «      |k(  sJ ‚y )Nr   r   r   r8   r   )r
   r   r   Ú
set_domainr   )ÚKZÚKQs     r   Útest_FiniteExtension_set_domainrU   g   sO   € Ü	œœa ™d Q™h¬°$Ô7Ó	8€BÜ	œœa ™d Q™h¬°$Ô7Ó	8€BØ�=‰=œÓ Ò"Ð"Ñ"r   c                  óž   — t        t        t        dz  dz   «      «      }  | t        «      }| j                  |dz  dz
  |dz
  «      |dz   k(  sJ ‚y )Né   r   r   )r
   r   r   ÚexquorK   s     r   Útest_FiniteExtension_exquorY   m   sJ   € äœœQ ™T A™X›Ó'€AÙ	
Œ1‹€BØ�7‰7�2�q‘5˜1‘9˜b 1™fÓ%¨¨a©Ò/Ð/Ñ/r   c                  óŽ  — t        t        t        dz  dz   «      «      } t        t           } | t        «       |t        «      }}| j	                  |«      |k(  sJ ‚|j	                  |«      |k(  sJ ‚t        t        t        dz  dz
  t        ¬«      «      }|j                  t        dd«      t        «      |j                  dz  k(  sJ ‚y ©Nr   r   r8   )r
   r   r   r   ÚconvertÚconvert_fromr1   )r=   r>   Úx1Úx2r4   s        r   Útest_FiniteExtension_convertr`   t   sž   € ä	œœa ™d Q™h›Ó	(€BÜ	ŒA‰€BÙ”‹U‘B”q“Eˆ€BØ�:‰:�b‹>˜RÒÐÐØ�:‰:�b‹>˜RÒÐÐäœœQ ™T A™X¬bÔ1Ó2€AØ�>‰>œ"˜Q ›(¤BÓ'¨1¯5©5°©7Ò2Ð2Ñ2r   c            	      óP  ‡‡— t        t        t        dz  dz
  t        t        ¬«      «      } t        t        t        dz  dz
  t        t        ¬«      «      }t        t        t        dz  dz
  t        t        t
           ¬«      «      }t        t        t        dz  dz
  t        t        j                  t
        «      ¬«      «      }| j                  du sJ ‚|j                  du sJ ‚|j                  du sJ ‚|j                  du sJ ‚| |||fD �]  Š‰j                  t        «      Š‰‰j                  z  ‰k(  sJ ‚‰‰j                  z  ‰k(  sJ ‚‰‰j                  z  ‰j                  k(  sJ ‚t        t        ˆˆfd„«       t        t        ˆˆfd„«       t        t        ˆˆfd„«       ‰j                  r=‰‰z  ‰j                  k(  sJ ‚‰‰z  ‰j                  k(  sJ ‚‰‰z  ‰j                  k(  rŒâJ ‚t        t        ˆfd	„«       t        t        ˆfd
„«       t        t        ˆfd„«       �Œ y )Nr   r   r8   TFc                  ó"   •— ‰‰ j                   z  S rE   ©rI   ©r4   ÚxKs   €€r   r   z4test_FiniteExtension_division_ring.<locals>.<lambda>�   ó   ø€ ¨"¨q¯v©v©+€ r   c                  ó"   •— ‰‰ j                   z  S rE   rc   rd   s   €€r   r   z4test_FiniteExtension_division_ring.<locals>.<lambda>�   s   ø€ ¨"°·±©,€ r   c                  ó"   •— ‰‰ j                   z  S rE   rc   rd   s   €€r   r   z4test_FiniteExtension_division_ring.<locals>.<lambda>‘   rf   r   c                  ó   •— ‰ ‰ z  S rE   r   ©re   s   €r   r   z4test_FiniteExtension_division_ring.<locals>.<lambda>—   ó   ø€ °°R±€ r   c                  ó   •— ‰ ‰ z  S rE   r   rj   s   €r   r   z4test_FiniteExtension_division_ring.<locals>.<lambda>˜   s   ø€ °°b±€ r   c                  ó   •— ‰ ‰ z  S rE   r   rj   s   €r   r   z4test_FiniteExtension_division_ring.<locals>.<lambda>™   rk   r   )r
   r   r   r   r   r   Ú
frac_fieldÚis_Fieldr\   r1   rI   r   rJ   r2   )rT   rS   ÚKQtÚKQtfr4   re   s       @@r   Ú"test_FiniteExtension_division_ringrr   €   s¾  ù€ ä	œœa ™d Q™h¬´"Ô5Ó	6€BÜ	œœa ™d Q™h¬´"Ô5Ó	6€BÜ
œ$œq !™t a™x¬´2´a±5Ô9Ó
:€CÜœ4¤ 1¡ q¡¬!´B·M±MÄ!Ó4DÔEÓF€DØ�;‰;˜$ÑÐÐØ�;‰;˜%ÑÐÐØ�<‰<˜5Ñ Ð Ð Ø�=‰=˜DÑ Ð Ð Ø��S˜$Ðó 9ˆØ�Y‰Y”q‹\ˆØ�A—E‘E‰z˜RÒÐÐØ�Q—U‘U‰{˜bÒ Ð Ð Ø�A—E‘E‰z˜QŸV™VÒ#Ð#Ð#ÜÔ Ô"5Ô6ÜÔ Ô"6Ô7ÜÔ Ô"5Ô6Ø�:Š:Ø˜‘7˜aŸe™eÒ#Ð#Ð#Ø˜‘8˜qŸu™uÒ$Ð$Ð$Ø˜‘7˜aŸf™fÓ$Ð$Ð$äÔ&«Ô8ÜÔ&Ó(8Ô9ÜÔ&«Ö8ñ9r   c                  ó
  — t        t        t        dz  dz
  «      «      } t        t        t        | ¬«      }|j                  | k(  sJ ‚|j                  «       t        k(  sJ ‚|dz  j                  «       dk(  sJ ‚t        t        t        dz  dz
  t        t        ¬«      «      } t        t        t        dz  dz
  t        | ¬«      «      }t        |«      dk(  sJ ‚|j                  t        t        z   «      }|j                  |«      t        t        z   k(  sJ ‚|j                  |dz  «      ddt        z  t        z  z   k(  sJ ‚t        t        t        z   t        |¬«      }|dz  t        ddt        z  t        z  z   t        |¬«      k(  sJ ‚y )Nr   r8   zQQ[x]/(x**2 - 2)[t]/(t**2 - 2)rW   )r
   r   r   r   r9   Úas_exprr   r   r,   r\   rO   )r4   Úpr>   ÚeKs       r   Útest_FiniteExtension_Polyrw   œ   s8  € ÜœœQ ™T A™X›Ó'€AÜŒQ”˜!Ô€AØ�8‰8�qŠ=Ðˆ=Ø�9‰9‹;œ!ÒÐÐØˆq‰D�>‰>Ó˜qÒ Ð Ð äœœQ ™T A™X¤q´Ô4Ó5€AÜ	œœa ™d Q™h¬°!Ô4Ó	5€BÜˆr‹7Ð6Ò6Ð6Ð6à	�‰”Aœ‘EÓ	€BØ�;‰;�r‹?œa¤!™eÒ#Ð#Ð#Ø�;‰;�r˜Q‘wÓ 1 q¬¡s¬1¡u¡9Ò,Ð,Ð,ÜŒQ”‰U”A˜bÔ!€AØˆa‰4”4˜˜Aœa™C¤™E™	¤1¨RÔ0Ò0Ð0Ñ0r   c                  óü  ‡‡— t        d«      \  } ŠŠt        ‰«      t        ‰«      z  | t        ‰«      z  t        ‰«      z  |  t        ‰«      z  t        ‰«      z  gt        ‰«      t        ‰«      z  | t        ‰«      z  t        ‰«      z  | t        ‰«      z  t        ‰«      z  gt        ‰«      |  t        ‰«      z  dgg}ˆˆfd„} |t        |    «      } |t        «      |    }||fD ]†  }|D ��cg c]!  }|D �cg c]  }|j	                  |«      ‘Œ c}‘Œ# }}}t        |d|«      }	|	j                  «       d   |j                   dz  z  }
|
|j	                  | dz  t        ‰«      z  «      k(  rŒ†J ‚ y c c}w c c}}w )Nzrho, phi, thetar   c           
      ó0  •— t        t        t        ‰«      dz  t        ‰«      dz  z   dz
  t        ‰«      | t        ‰«         ¬«      «      } t        t        t        ‰«      dz  t        ‰«      dz  z   dz
  t        ‰«      | t        ‰«         ¬«      «      } | S r[   )r
   r   r   r   )r4   ru   r   s    €€r   Úmake_extensionz<test_FiniteExtension_sincos_jacobian.<locals>.make_extension¸   sz   ø€ ÜœD¤ Q£¨¡¬3¨q«6°1©9Ñ!4°QÑ!6¼¸A»ÀqÌÈQËÁyÔQÓRˆÜœD¤ Q£¨¡¬3¨q«6°1©9Ñ!4°QÑ!6¼¸A»ÀqÌÈQËÁyÔQÓRˆØˆr   )r   r   r   r   r   )r   r   r   r   r\   r   Úcharpolyr1   )ÚrÚelementsrz   ÚKsc1ÚKsc2r4   ÚrowÚeÚ
elements_KÚJÚdetru   r   s              @@r   Ú$test_FiniteExtension_sincos_jacobianr…   ®   sW  ù€ ô Ð'Ó(�G€A€qˆ!ä	ˆQ‹”�A“‰˜œ#˜a›&™¤ Q£™¨!¨¬C°«F©´3°q³6Ñ)9Ð:Ü	ˆQ‹”�A“‰˜œ#˜a›&™¤ Q£™¨!¬C°«F©(´3°q³6©/Ð:Ü�A“˜q˜b¤ Q£™i¸Ð:ð€Hõñ
 œ"˜Q™%Ó €DÙœ"Ó˜aÑ €Dà�Dˆ\ò -ˆØ=E×F°c¨SÖ1¨�q—y‘y •|Ô1ÐFˆ
ÑFÜ˜ V¨QÓ/ˆØ�j‰j‹l˜2Ñ 1§5¡5 &¨1¡Ñ,ˆØ�a—i‘i  1¡¤S¨£V¡Ó,Ó,Ð,Ð,ñ	-ùÚ1ùÓFs   Ã1	E8Ã:E3ÄE8Å3E8N) Úsympy.core.symbolr   Ú(sympy.functions.elementary.trigonometricr   r   Úsympy.polysr   r   Úsympy.polys.polytoolsr   Úsympy.polys.polyerrorsr	   Úsympy.polys.agca.extensionsr
   Úsympy.polys.domainmatrixr   Úsympy.testing.pytestr   Ú	sympy.abcr   r   r   r6   r?   rL   rP   rU   rY   r`   rr   rw   r…   r   r   r   ú<module>r�      sW   ðÝ %ß ?ß Ý &Ý 0Ý 7Ý 1å 'ç Ñ ò/%òd3ò@ò(ò#ò0ò	3ò9ò81ó$-r   