ó
    Š*£h+  ã                   ó¶  • S r SSKJrJrJrJrJrJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJrJrJrJr  SSKJrJrJrJrJrJr  SSKJr  SS	KJr  SS
KJr  SSK J!r!J"r"  SSK#J$r$  SSK%J&r&J'r'J(r(  \'S(S j5       r)\'S(S j5       r*\'SS.S j5       r+\'\S4S j5       r,\'S)S j5       r-S r.S r/S r0S r1S r2S r3SSK4J5r5  S r6S r7S r8S  r9S! r:S" r;S# r<S$ r=S% r>S& r?S' r@g)*zIFunctions for generating interesting polynomials, e.g. for benchmarking. é    )ÚAddÚMulÚSymbolÚsympifyÚDummyÚsymbols)ÚTuple)ÚS)Ú	nextprime)Údmp_add_termÚdmp_negÚdmp_mulÚdmp_sqr)Údmp_zeroÚdmp_oneÚ
dmp_groundÚdup_from_raw_dictÚ	dmp_raiseÚ
dup_random)ÚZZ)Údup_zz_cyclotomic_poly)ÚDMP)ÚPolyÚPurePoly)Ú_analyze_gens)ÚsubsetsÚpublicÚ
filldedentNFc                 óì  • U S::  a  [        SU -  5      eUb  [        U5        O[        S5      nU S:”  a\  SSKJn  SSKJn  SnU" S5      /n[        SU S-   5       H%  n[        U5      nUR                  U" U5      5        M'     U" [        U6 XS	9$ U S:X  a	  US-  S-
  nOAU S:X  a  US
-  SUS-  -  -
  S-   nO)U S:X  a#  US-  SUS-  -  -
  SUS
-  -  -   SUS-  -  -
  S-   nU(       a  [        WU5      $ W$ )zöGenerates n-th Swinnerton-Dyer polynomial in `x`.

Parameters
----------
n : int
    `n` decides the order of polynomial
x : optional
polys : bool, optional
    ``polys=True`` returns an expression, otherwise
    (default) returns an expression.
r   z6Cannot generate Swinnerton-Dyer polynomial of order %sÚxé   )Úsqrté   )Úminimal_polynomialé   ©Úpolysé   é
   é   é(   é   i`  iÀ  i@  )Ú
ValueErrorr   r   Ú(sympy.functions.elementary.miscellaneousr"   Únumberfieldsr$   Úranger   Úappendr   r   )	Únr    r'   r"   r$   ÚpÚaÚiÚexs	            ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/polys/specialpolys.pyÚswinnerton_dyer_polyr8      s  € ð 	ˆAƒvÜØDÀqÑHóJð 	Jð 	�}Ü��
ä�#‹Jˆàˆ1ƒuÝAÝ4ØˆÙ�!‹WˆIˆÜ�q˜!˜a™%–ˆAÜ˜!“ˆAØ�H‰H‘T˜!“WÖñ !ñ "¤# q '¨1Ñ:Ð:àˆAƒvØ�‰T�A‰X‰Ø	
ˆa‹Ø�‰T�B�q˜!‘t‘G‰^˜aÑ‰Ø	
ˆa‹Ø�‰T�B�q˜!‘t‘G‰^˜c ! Q¡$™hÑ&¨¨Q°©T©Ñ1°CÑ7ˆæ#Œ8�B˜‹?Ð+¨Ð+ó    c                 ó  • U S::  a  [        SU -  5      e[        [        [        U 5      [        5      [        5      nUb  [
        R                  " X15      nO [        R                  " U[        S5      5      nU(       a  U$ UR                  5       $ )zùGenerates cyclotomic polynomial of order `n` in `x`.

Parameters
----------
n : int
    `n` decides the order of polynomial
x : optional
polys : bool, optional
    ``polys=True`` returns an expression, otherwise
    (default) returns an expression.
r   z1Cannot generate cyclotomic polynomial of order %sr    )
r-   r   r   Úintr   r   Únewr   r   Úas_expr)r2   r    r'   Úpolys       r7   Úcyclotomic_polyr?   A   sv   € ð 	ˆAƒvÜØ?À!ÑCóEð 	Eô Ô%¤c¨!£f¬bÓ1´2Ó6€Dà�}Ü�xŠx˜Ó ‰ä�|Š|˜D¤%¨£*Ó-ˆæˆ4Ð,˜dŸl™l›nÐ,r9   r&   c                ó>  • [        U5      nU S:  d  U [        U5      :”  d  U(       d  [        SU < SU< 35      eU (       d  [        R                  nO2[        [        U[        U 5      5       Vs/ s H  n[        U6 PM     sn6 nU(       a  [        U/UQ76 $ U$ s  snf )zË
Generates symmetric polynomial of order `n`.

Parameters
==========

polys: bool, optional (default: False)
    Returns a Poly object when ``polys=True``, otherwise
    (default) returns an expression.
r   z.Cannot generate symmetric polynomial of order z for )
r   Úlenr-   r
   ÚOner   r   r;   r   r   )r2   r'   Úgensr>   Úss        r7   Úsymmetric_polyrE   \   s…   € ô ˜Ó€Dàˆ1ƒu�”C˜“I“¦TÝÓVWÒY]Ð^Ó_Ð_ÞÜ�u‰u‰ä¤g¨d´C¸³FÔ&;Ó<Ò&; ”S˜!“WÑ&;Ñ<Ð=ˆæ %Œ4�Ð�tÒÐ/¨4Ð/ùò =s   Á/Bc                 ó\   • [        [        XX45      XS9nU(       a  U$ UR                  5       $ )a  Generates a polynomial of degree ``n`` with coefficients in
``[inf, sup]``.

Parameters
----------
x
    `x` is the independent term of polynomial
n : int
    `n` decides the order of polynomial
inf
    Lower limit of range in which coefficients lie
sup
    Upper limit of range in which coefficients lie
domain : optional
     Decides what ring the coefficients are supposed
     to belong. Default is set to Integers.
polys : bool, optional
    ``polys=True`` returns an expression, otherwise
    (default) returns an expression.
)Údomain)r   r   r=   )r    r2   ÚinfÚsuprG   r'   r>   s          r7   Úrandom_polyrJ   t   s*   € ô, ”
˜1 3Ó/°ÑB€Dæˆ4Ð,˜dŸl™l›nÐ,r9   c           	      óú  • [        USS5      n[        U[        5      (       a  [        U< SU < 35      nO#U(       a  U[	        U6 R
                  -  (       a  Sn[        U[        5      (       a  [        U< SU < 35      nO#U(       a  U[	        U6 R
                  -  (       a  SnU(       d  [        [        S5      5      e/ n[        [        U 5       Vs/ s H	  oaX&   -
  PM     sn6 n[        U 5       HO  nXqX&   -
  -  n[        [        U 5       V	s/ s H  o–U	:w  d  M
  X&   X)   -
  PM     sn	6 n
UR                  XŠ-  5        MQ     [        [        XS5       VVs/ s H	  u  p¼X¼-  PM     snn6 $ s  snf s  sn	f s  snnf )z£Construct Lagrange interpolating polynomial for ``n``
data points. If a sequence of values are given for ``X`` and ``Y``
then the first ``n`` values will be used.
Úfree_symbolsNÚ:Fz~
            Expecting symbol for x that does not appear in X or Y.
            Use `interpolate(list(zip(X, Y)), x)` instead.)ÚgetattrÚ
isinstanceÚstrr   r	   rL   r-   r   r   r0   r1   r   Úzip)r2   r    ÚXÚYÚokÚcoeffsr5   ÚnumertÚnumerÚjÚdenomÚcoeffÚys                r7   Úinterpolating_polyr\   �   sK  € ô 
��N DÓ	)€Bä�!”S×ÑÜ›q¢!Ð$Ó%‰Þ	�”U˜A�Y×+Ñ+×+Øˆä�!”S×ÑÜ›q¢!Ð$Ó%‰Þ	�”U˜A�Y×+Ñ+×+ØˆæÜœð %>ó ?ó @ð 	@ð €FÜ¤U¨1¤XÓ.¢X �q‘t”8¡XÑ.Ð/€Fä�1ŽXˆØ˜A™D™Ñ!ˆÜ¬U°1¬XÓ@ªX¨¸a¹“{�q‘t˜a™d”{©XÑ@ÐAˆØ�‰�e‘kÖ"ñ ô
 ¬¨V¬Ô8ª™X˜U�”©Ò8Ð9Ð9ùò /ùò Aùó 9s   ÃE-Ä	E2
ÄE2
ÅE7
c           	      ó�  • [        U S-   5       Vs/ s H  n[        S[        U5      -   5      PM     nnUS   US   pCU[        USS 6 -   nUS-  [        USS  Vs/ s H  ofS-  PM	     sn6 -   nUS-   US-   -  R                  " U6 nUS-   SU-  US-  -  US-  -   S-
  -  R                  " U6 n	[        S/UQ76 n
X‰U
4$ s  snf s  snf )ú%Fateman's GCD benchmark: trivial GCD r#   Úy_r   Nr%   éýÿÿÿ)r0   r   rP   r   Úas_polyr   )r2   r5   rS   Úy_0Úy_1Úur[   ÚvÚFÚGÚHs              r7   Úfateman_poly_F_1ri   ±   sç   € ä(-¨a°!©e¬Ó5ª 1Œ�”s˜1“v‘Ö	©€AÐ5à�‰t�Q�q‘TˆàŒc�1�Q�R�5ˆkÑ€AØˆQ‰” Q q r¡UÓ+¢U ˜!”t¡UÑ+Ð,Ñ,€Aà
ˆa‰%�!�a‘%‰×!Ò! 1Ð%€AØ
ˆa‰%�"�S‘&˜˜a™‘- # q¡&Ñ(¨1Ñ,Ñ	-×6Ò6¸Ð:€AäˆQˆ�Š€Aà�ˆ7€Nùò 	6ùò
 ,s   ‘!B>ÁC
c                 ó\  • U" S5      U" S5      /n[        U 5       H  n[        X15      U/nM     U" S5      U" S5      U" S5      /n[        SU 5       H  n[        X15      [        U5      U/nM     U S-
  n[        U[	        U" S5      U5      SX5      n[        U[	        U" S5      U5      SX5      nU" S5      * U" S5      // U" S5      U" S5      U" S5      * //n[        U[	        U" S5      U5      SX5      n	[        X…SU5      n
[        XgX5      n[        XšX5      n[        X5      nX¼U4$ )r^   r#   r   r%   r!   )r0   r   r   r   r   r   r   )r2   ÚKrd   r5   re   ÚmÚUÚVÚfÚWrS   rf   rg   rh   s                 r7   Údmp_fateman_poly_F_1rq   Â   s0  € á	
ˆ1‹‰q�‹tˆ€Aä�1ŽXˆÜ�Q‹]˜AÐŠñ ñ 
ˆ1‹‰q�‹t‘Q�q“TÐ€Aä�1�aŽ[ˆÜ�Q‹]œH Q›K¨Ð+Šñ ð 	
ˆA‰€Aä�Qœ
¡1 Q£4¨Ó+¨Q°Ó5€AÜ�Qœ
¡1 Q£4¨Ó+¨Q°Ó5€AáˆQ‹4ˆ%‘�1“ˆ˜™Q˜q›T¡1 Q£4©!¨A«$¨Ð/Ð0€Aä�Qœ
¡1 Q£4¨Ó+¨Q°Ó5€AÜ�!˜˜1Ó€Aä��aÓ€AÜ��aÓ€Aä�‹€Aà�ˆ7€Nr9   c           	      ó  • [        U S-   5       Vs/ s H  n[        S[        U5      -   5      PM     nnUS   n[        USS 6 n[	        X4-   S-   S-  /UQ76 n[	        X4-
  S-
  S-  /UQ76 n[	        X4-   S-   S-  /UQ76 nXV-  XW-  U4$ s  snf )ú7Fateman's GCD benchmark: linearly dense quartic inputs r#   r_   r   Nr%   ©r0   r   rP   r   r   )r2   r5   rS   rb   rd   rh   rf   rg   s           r7   Úfateman_poly_F_2ru   à   s¦   € ä(-¨a°!©e¬Ó5ª 1Œ�”s˜1“v‘Ö	©€AÐ5à
ˆA‰$€CäˆQˆqˆrˆUˆ€Aäˆc‰g˜‰k˜AÑÐ" Ò"€Aäˆc‰g˜‰k˜AÑÐ" Ò"€AÜˆc‰g˜‰k˜AÑÐ" Ò"€Aà‰3�‘�Qˆ;Ðùò 	6s   ‘!B	c                 ó¸  • U" S5      U" S5      /n[        U S-
  5       H  n[        X15      U/nM     U S-
  n[        U[        U" S5      US-
  5      SX5      n[	        [        XA5      [        XTU5      /X5      n[	        [        XA5      U/X5      n[        U[        US-
  U5      SX5      n[	        [        XA5      U/X5      n[        XhX5      [        XxX5      U4$ )rs   r#   r   r%   )r0   r   r   r   r   r   r   )	r2   rk   rd   r5   rl   re   ro   ÚgÚhs	            r7   Údmp_fateman_poly_F_2ry   ð   sÙ   € á	
ˆ1‹‰q�‹tˆ€Aä�1�q‘5Ž\ˆÜ�Q‹]˜AÐŠñ ð 	
ˆA‰€Aä�Qœ
¡1 Q£4¨¨Q©Ó/°°AÓ9€Aä”˜“¤¨¨aÓ 0Ð1°1Ó8€AÜ”˜“ Ð" AÓ)€Aä�Qœ  A¡ qÓ)¨1¨aÓ3€Aä”˜“ Ð" AÓ)€Aä�1˜Ó¤¨¨aÓ 3°QÐ6Ð6r9   c           	      óv  • [        U S-   5       Vs/ s H  n[        S[        U5      -   5      PM     nnUS   n[        USS  Vs/ s H
  oDU S-   -  PM     sn6 n[	        X0S-   -  U-   S-   S-  /UQ76 n[	        X0S-   -  U-
  S-
  S-  /UQ76 n[	        X0S-   -  U-   S-   S-  /UQ76 nXg-  Xh-  U4$ s  snf s  snf )ú8Fateman's GCD benchmark: sparse inputs (deg f ~ vars f) r#   r_   r   Nr%   rt   )	r2   r5   rS   rb   r[   rd   rh   rf   rg   s	            r7   Úfateman_poly_F_3r|     sß   € ä(-¨a°!©e¬Ó5ª 1Œ�”s˜1“v‘Ö	©€AÐ5à
ˆA‰$€Cä ! A B¡%Ó(¢%˜Q�!�a‘%Œj¡%Ñ(Ð)€Aäˆc˜‘E‰l˜QÑ Ñ" QÑ&Ð+¨Ò+€Aäˆc˜‘E‰l˜QÑ Ñ" QÑ&Ð+¨Ò+€AÜˆc˜‘E‰l˜QÑ Ñ" QÑ&Ð+¨Ò+€Aà‰3�‘�Qˆ;Ðùò 	6ùò )s   ‘!B1ÁB6c           	      ód  • [        U S-   UR                  0U5      n[        SU S-
  5       H"  n[        U/[	        X15      U S-   US-   U5      nM$     [        U[        U" S5      U S-
  5      SX5      n[        [        [        X@S-
  U5      /[	        U S-
  U5      U S-   X5      X5      n[        [        U/[	        U S-
  U5      U S-   X5      X5      n[        U[	        U S-
  U5      SU S-
  U5      n[        [        U/[	        U S-
  U5      U S-   X5      X5      n[        XWX5      [        XgX5      U4$ )r{   r#   r   r%   )	r   Úoner0   r   r   r   r   r   r   )r2   rk   rd   r5   re   ro   rw   rx   s           r7   Údmp_fateman_poly_F_3r     s3  € ä˜1˜q™5 !§%¡%˜.¨!Ó,€Aä�1�a˜!‘eŽ_ˆÜ˜!˜œg a›m¨Q°©U°A¸±E¸1Ó=Šñ ô 	�Qœ
¡1 Q£4¨¨Q©Ó/°°AÓ9€AäÜ”g˜a Q¡¨Ó*Ð+¬W°Q¸±U¸AÓ->ÀÀAÁÀqÓLÈaó	T€Aä”˜a˜S¤'¨!¨a©%°Ó"3°Q¸±U¸AÓAÀ1ÓH€Aä�Qœ  A¡ qÓ)¨1¨a°!©e°QÓ7€Aä”˜a˜S¤'¨!¨a©%°Ó"3°Q¸±U¸AÓAÀ1ÓH€Aä�1˜Ó¤¨¨aÓ 3°QÐ6Ð6r9   )Úringc                  ó  • [        S[        5      u  pp#US-  U-  US-  -  SUS-  -  U-  U-  -   SUS-  -  U-  -   SUS-  -  -   SU-  -   SUS-  -  US-  -  -   SUS-  -  U-  -   SUS-  -  -   X#S-  -  -   SU-  U-  -   U-   S-   $ )Núx,y,zr%   r!   r(   é   r,   r#   ©r€   r   ©ÚRr    r[   Úzs       r7   Ú_f_0rˆ   ,  sÍ   € Ü�gœrÓ"�J€Aˆ!Øˆa‰4�‰6�!�Q‘$‰;˜˜1˜a™4™ ™ !™Ñ# a¨¨1©¡f¨Q¡hÑ.°°1°a±4±Ñ7¸!¸A¹#Ñ=ÀÀ!ÀQÁ$ÁÀqÈ!ÁtÁÑKÈaÐPQÐSTÑPTÉfÐUVÉhÑVÐYZÐ[\Ð^_Ñ[_ÑY_Ñ_ÐbcÐghÑdhÑbhÑhÐklÐmnÑknÐopÑkpÑpÐstÑtÐwxÑxÐxr9   c                  ó0  • [        S[        5      u  pp#US-  U-  U-  US-  US-  -  US-  -  -   US-  US-  -  -   SUS-  -  U-  U-  -   SUS-  -  U-  -   US-  US-  -  -   SUS-  -  U-  -   XS-  -  U-  -   SU-  US-  -  U-  -   SU-  US-  -  -   X-  US-  -  -   SU-  U-  US-  -  -   X-  U-  -   SU-  U-  -   SU-  US-  -  -   SU-  U-  -   S	U-  -   US-  US-  -  -   SUS-  -  U-  -   SU-  US-  -  -   S
U-  U-  -   SU-  -   SU-  -   S-   $ )Nr‚   r!   r%   é   é   r)   ib  éæ   i,  i@  éÈ   iX  ip  r„   r…   s       r7   Ú_f_1rŽ   0  sZ  € Ü�gœrÓ"�J€Aˆ!Øˆa‰4�‰6�!‰8�a˜‘d˜1˜a™4‘i  1¡‘nÑ$ q¨!¡t¨A¨q©D¡yÑ0°2°a¸±d±7¸1±9¸Q±;Ñ>ÀÀAÀqÁDÁÈÁÑJÈQÐPQÉTÐRSÐUVÑRVÉYÑVÐY[Ð\]Ð_`Ñ\`ÑY`ÐabÑYbÑbÐefÐjkÑgkÑekÐlmÑemÑmÐprÐstÑptÐuvÐxyÑuyÑpyÐz{Ñp{Ñ{ð  Að  BCñ  Cð  DEð  GHñ  DHñ  Hñ  Hð  KLñ  KNð  OPð  RSñ  OSñ  KSñ  Sð  VXð  YZñ  VZð  [\ñ  V\ð  ]^ð  `añ  ]añ  Vañ  að  deñ  dgð  hiñ  diñ  ið  loð  pqñ  lqð  rsñ  lsñ  sð  vxð  yzñ  vzð  {|ð  ~ñ  {ñ  vñ  ð  BEð  FGñ  BGð  HIñ  BIñ  Ið  LOð  PQñ  LQñ  Qð  TUð  WXñ  TXð  YZð  \]ñ  Y]ñ  T]ñ  ]ð  `bð  cdð  fgñ  cgñ  `gð  hiñ  `iñ  ið  lnð  opñ  lpð  qrð  tuñ  quñ  luñ  uð  x{ð  |}ñ  x}ð  ~ñ  xñ  ð  BEð  FGñ  BGñ  Gð  JMð  NOñ  JOñ  Oð  RVñ  Vð  Vr9   c                  óŒ  • [        S[        5      u  pp#US-  US-  -  US-  US-  -  U-  -   US-  U-  US-  -  -   US-  US-  -  -   US-  US-  -  -   US-  U-  U-  -   SUS-  -  U-  -   SUS-  -  U-  -   US-  US-  -  U-  -   SUS-  -  US-  -  -
  US-  US-  -  -   SUS-  -  US-  -  -
  X#-  -   SU-  -
  SU-  -   S-
  $ )Nr‚   rƒ   r!   r%   éZ   é   iÞ  r„   r…   s       r7   Ú_f_2r’   4  sè  € Ü�gœrÓ"�J€Aˆ!Øˆa‰4��1‘‰9�q˜!‘t˜A˜q™D‘y ‘{Ñ" Q¨¡T¨!¡V¨A¨q©D¡[Ñ0°1°a±4¸¸1¹±9Ñ<¸qÀ!¹tÀAÀqÁD¹yÑHÈ1ÈaÉ4ÐPQÉ6ÐRSÉ8ÑSÐVXÐYZÐ\]ÑY]ÑV]Ð^_ÑV_Ñ_ÐbdÐefÐhiÑeiÑbiÐjkÑbkÑkÐnoÐqrÑnrÐstÐvwÑswÑnwÐxyÑnyÑyÐ|~ð  @Að  CDñ  @Dñ  }Dð  EFð  HIñ  EIñ  }Iñ  Ið  LMð  OPñ  LPð  QRð  TUñ  QUñ  LUñ  Uð  XZð  [\ð  ^_ñ  [_ñ  X_ð  `að  cdñ  `dñ  Xdñ  dð  ghñ  gjñ  jð  moð  pqñ  mqñ  qð  tvð  wxñ  txñ  xð  {~ñ  ~ð  ~r9   c                  ó”  • [        S[        5      u  pp#US-  US-  -  US-  US-  -  -   US-  -   US-  US-  -  U-  -   US-  U-  -   US-  US-  -  -   US-  US-  -  US-  -  -   US-  U-  US-  -  -   US-  U-  U-  -   XS-  -  US-  -  -   XS-  -  -   X-  US-  -  -   X-  US-  -  -   X-  US-  -  -   US-  U-  -   X#S-  -  -   $ )Nr‚   rƒ   r%   r(   r!   é   r„   r…   s       r7   Ú_f_3r•   8  sñ  € Ü�gœrÓ"�J€Aˆ!Øˆa‰4��1‘‰9�q˜!‘t˜A˜q™D‘yÑ  1 a¡4Ñ'¨!¨Q©$¨q°!©t©)°A©+Ñ5¸¸1¹¸Q¹Ñ>ÀÀAÁÀaÈÁdÁÑJÈQÐPQÉTÐRSÐUVÑRVÉYÐWXÐZ[ÑW[É^Ñ[Ð^_ÐabÑ^bÐcdÑ^dÐefÐhiÑeiÑ^iÑiÐlmÐopÑlpÐqrÑlrÐstÑltÑtÐwxÐ|}Ñy}Ñw}Ð~ð  BCñ  Cñ  xCñ  Cð  FGð  KLñ  HLñ  FLñ  Lð  OPñ  ORð  STð  VWñ  SWñ  OWñ  Wð  Z[ñ  Z]ð  ^_ð  abñ  ^bñ  Zbñ  bð  efñ  ehð  ijð  lmñ  imñ  emñ  mð  pqð  stñ  ptð  uvñ  pvñ  vð  yzð  ~ñ  {ñ  yñ  ð  r9   c                  ó  • [        S[        5      u  pp#US-  * US-  -  U-  US-  US-  -  US-  -  -
  US-  US-  -  US-  -  -
  SUS-  -  US-  -  -
  US	-  US-  -  US
-  -  -
  US	-  US-  -  US-  -  -   SUS	-  -  US-  -  U-  -   SUS	-  -  US-  -  US-  -  -
  US	-  US
-  -  US-  -  -
  US-  US
-  -  US-  -  -   SUS-  -  US
-  -  US-  -  -   US-  U-  US-  -  -
  US
-  US-  -  US
-  -  -   SUS
-  -  US-  -  US-  -  -   US
-  US-  -  US
-  -  -
  SUS
-  -  US-  -  US-  -  -   SUS
-  -  US-  -  -   SUS
-  -  US
-  -  US-  -  -
  US-  US-  -  US	-  -  -   SUS-  -  US-  -  US
-  -  -   US-  US-  -  US	-  -  -
  SUS-  -  US
-  -  US
-  -  -   SUS-  -  US
-  -  US-  -  -   US-  US-  -  US-  -  -   SUS-  -  US-  -  US-  -  -   SUS-  -  U-  US
-  -  -
  US-  US-  -  -   SUS-  -  US-  -  -   XS-  -  US	-  -  -   SU-  US-  -  US
-  -  -   SU-  US-  -  US
-  -  -   SU-  US-  -  US-  -  -   US
-  US-  -  -   SUS
-  -  US	-  -  -   SUS	-  -  -   SUS
-  -  -   $ )Nr‚   é	   r*   rƒ   r!   r”   é   r%   r,   r(   r‘   é   r„   r…   s       r7   Ú_f_4rš   <  sã	  € Ü�gœrÓ"�J€Aˆ!Øˆq‰Dˆ5��A‘‰:�a‰<˜!˜Q™$˜q !™t™) A q¡D™.Ñ(¨1¨a©4°°2±©:°a¸±d©?Ñ:¸Q¸qÀ!¹t¹VÀAÀqÁD¹[ÑHÈ1ÈaÉ4ÐPQÐSTÑPTÉ9ÐUVÐXYÑUYÉ>ÑYÐ\]Ð_`Ñ\`ÐabÐdeÑaeÑ\eÐfgÐijÑfjÑ\jÑjÐmnÐopÐrsÑosÑmsÐtuÐwxÑtxÑmxÐyzÑmzÑzÐ}~ð  @Að  CDñ  @Dñ  ~Dð  EFð  HIñ  EIñ  ~Ið  JKð  MNñ  JNñ  ~Nñ  Nð  QRð  TUñ  QUð  VWð  YZñ  VZñ  QZð  [\ð  ^_ñ  [_ñ  Q_ñ  _ð  bcð  efñ  bfð  ghð  jkñ  gkñ  bkð  lmð  opñ  lpñ  bpñ  pð  stð  uvð  xyñ  uyñ  syð  z{ð  }~ñ  z~ñ  s~ð  @ð  BCñ  Cñ  sCñ  Cð  FGð  IJñ  FJð  KLñ  FLð  MNð  PQñ  MQñ  FQñ  Qð  TUð  WXñ  TXð  YZð  \^ñ  Y^ñ  T^ð  _`ð  bcñ  _cñ  Tcñ  cð  fgð  hið  klñ  hlñ  flð  mnð  prñ  mrñ  frð  stð  vwñ  swñ  fwñ  wð  z{ð  }~ñ  z~ð  @ð  BCñ  Cñ  zCð  DEð  GHñ  DHñ  zHñ  Hð  KLð  MNð  PQñ  MQñ  KQð  RSð  UVñ  RVñ  KVð  WXð  Z[ñ  W[ñ  K[ñ  [ð  ^`ð  abð  deñ  aeñ  ^eð  fgð  ijñ  fjñ  ^jñ  jð  mnð  opð  rsñ  osñ  msð  tuð  wxñ  txñ  mxð  yzð  |}ñ  y}ñ  m}ñ  }ð  @Að  CDñ  @Dð  EFð  HIñ  EIñ  @Ið  JKð  MNñ  JNñ  @Nñ  Nð  QRð  STð  VWñ  SWñ  QWð  XYð  [\ñ  X\ñ  Q\ð  ]^ð  `añ  ]añ  Qañ  að  deð  ghñ  dhð  ijð  lmñ  imñ  dmð  noð  qrñ  nrñ  drñ  rð  uvð  wxð  z{ñ  w{ñ  u{ð  |}ð  @ñ  |@ñ  u@ð  ABð  DEñ  AEñ  uEñ  Eð  HJð  KLð  NOñ  KOñ  HOð  PQð  STñ  PTñ  HTð  UVð  XYñ  UYñ  HYñ  Yð  \]ð  _`ñ  \`ð  abð  deñ  aeñ  \eð  fgð  ijñ  fjñ  \jñ  jð  mnð  opð  rsñ  osñ  msð  tuð  wxñ  txñ  mxð  yzð  |}ñ  y}ñ  m}ñ  }ð  @Að  BCð  EFñ  BFñ  @Fð  GHñ  @Hð  IJð  LMñ  IMñ  @Mñ  Mð  PQð  STñ  PTð  UVð  XYñ  UYñ  PYñ  Yð  \]ð  ^_ð  abñ  ^bñ  \bð  cdð  fgñ  cgñ  \gñ  gð  jkð  opñ  lpñ  jpð  qrð  tuñ  quñ  juñ  uð  xyð  z{ñ  x{ð  |}ð  @ñ  |@ñ  x@ð  ABð  DEñ  AEñ  xEñ  Eð  HIð  JKñ  HKð  LMð  OPñ  LPñ  HPð  QRð  TUñ  QUñ  HUñ  Uð  XZð  [\ñ  X\ð  ]^ð  `añ  ]añ  Xað  bcð  efñ  bfñ  Xfñ  fð  ijð  lmñ  imð  noð  qrñ  nrñ  irñ  rð  uvð  wxð  z{ñ  w{ñ  u{ð  |}ð  @	ñ  |@	ñ  u@	ñ  @	ð  C	D	ð  E	F	ð  H	I	ñ  E	I	ñ  C	I	ñ  I	ð  L	N	ð  O	P	ð  R	S	ñ  O	S	ñ  L	S	ñ  S	ð  S	r9   c                  óô   • [        S[        5      u  pp#US-  * SUS-  -  U-  -
  SUS-  -  U-  -   SU-  US-  -  -
  SU-  U-  U-  -   SU-  US-  -  -
  US-  -
  SUS-  -  U-  -   SU-  US-  -  -
  US-  -   $ )Nr‚   r!   r%   r,   r„   r…   s       r7   Ú_f_5rœ   @  s¸   € Ü�gœrÓ"�J€Aˆ!Øˆq‰Dˆ5�1�Q˜‘T‘6˜!‘8Ñ˜a  1¡™f Q™hÑ&¨¨1©¨Q°©T©Ñ1°A°a±C¸±E¸!±GÑ;¸aÀ¹cÀ!ÀQÁ$¹hÑFÈÈAÉÑMÐPQÐRSÐUVÑRVÑPVÐWXÑPXÑXÐ[\Ð]^Ñ[^Ð_`ÐbcÑ_cÑ[cÑcÐfgÐijÑfjÑjÐjr9   c                  óê  • [        S[        5      u  pp#nSUS-  -  U-  SUS-  -  US-  -  US-  -  -   SUS-  -  US-  -  -
  SU-  US-  -  -
  SU-  US-  -  -
  S	U-  U-  US-  -  -   S
U-  U-  U-  U-  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  US-  -  -   US-  US-  -  US-  -  -
  US-  US-  -  -   SUS-  -  US-  -  -   SUS-  -  US-  -  -   SUS-  -  US-  -  -
  SU-  US-  -  -
  $ )Nzx,y,z,tiC  r(   é-   r!   r%   i§  é/   é�   é^   r—   r,   r„   )r†   r    r[   r‡   Úts        r7   Ú_f_6r£   D  sÉ  € Ü˜¤BÓ'�M€Aˆ!�Ø��1‘‰9�Q‰;˜˜A˜q™D™  A¡™ a¨¡dÑ*Ñ*¨R°°1±©W°Q¸±T©\Ñ9¸CÀ¹EÀ!ÀQÁ$¹JÑFÈÈAÉÈaÐQRÉdÉÑRÐUXÐYZÑUZÐ[\ÑU\Ð]^Ð`aÑ]aÑUaÑaÐdfÐghÑdhÐijÑdjÐklÑdlÐmnÑdnÑnÐqrÐstÐvwÑswÑqwÐxyÐ{|Ñx|Ñq|Ð}~ð  ABñ  ~Bñ  rBñ  Bð  EFð  GHð  JKñ  GKñ  EKð  LMð  OPñ  LPñ  EPñ  Pð  STð  VWñ  SWð  XYð  [\ñ  X\ñ  S\ð  ]^ð  `añ  ]añ  Sañ  að  deð  ghñ  dhð  ijð  lmñ  imñ  dmñ  mð  pqð  rsð  uvñ  rvñ  pvð  wxð  z{ñ  w{ñ  p{ñ  {ð  ~ð  @Að  CDñ  @Dñ  ~Dð  EFð  HIñ  EIñ  ~Iñ  Ið  LMð  NOð  QRñ  NRñ  LRð  STð  VWñ  SWñ  LWñ  Wð  Z[ð  \]ñ  Z]ð  ^_ð  abñ  ^bñ  Zbñ  bð  br9   c                  ó¨  • [        S[        5      u  pp#SUS-  -  US-  -  US-  -  SUS-  -  US-  -  US-  -  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  U-  US-  -  -
  US-  US-  -  US-  -  -   SUS-  -  US-  -  U-  -   US-  US-  -  US-  -  -
  SUS-  -  US-  -  US-  -  -   SUS-  -  U-  US-  -  -
  SUS-  -  US-  -  -
  SUS-  -  US-  -  -   SUS-  -  US-  -  US-  -  -   SUS-  -  US-  -  U-  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  US-  -  US-  -  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -
  SUS-  -  US-  -  U-  -   US-  US-  -  US-  -  -   US-  US-  -  US-  -  -
  SUS-  -  US-  -  US-  -  -
  S	US-  -  US-  -  U-  -   SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -   SUS-  -  US-  -  -
  SUS-  -  US-  -  -   SUS-  -  US-  -  -   SUS-  -  US-  -  US-  -  -
  SUS-  -  US-  -  U-  -   SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -
  SUS-  -  U-  US-  -  -   SU-  US-  -  U-  -   SU-  US-  -  US-  -  -
  SU-  U-  U-  -
  SU-  US-  -  -   SUS-  -  -
  SU-  US-  -  -   $ )
Nr‚   r(   r,   r%   r!   rƒ   r˜   r*   r—   r„   r…   s       r7   Ú_w_1r¥   H  sL  € Ü�gœrÓ"�J€Aˆ!ØˆQ�‰T‰6�!�Q‘$‰;�q˜!‘tÑ˜a  1¡™f Q¨¡T™k¨!¨Q©$Ñ.Ñ.°°1°a±4±¸¸1¹±¸QÀ¹TÑ1AÑAÀAÀaÈÁdÁFÈ1ÁHÈQÐPQÉTÁMÑQÐTUÐWXÑTXÐYZÐ\]ÑY]ÑT]Ð^_ÐabÑ^bÑTbÑbÐegÐhiÐklÑhlÑelÐmnÐpqÑmqÑeqÐrsÑesÑsÐvwÐyzÑvzÐ{|Ð~Ñ{Ñvð  ABð  DEñ  AEñ  wEñ  Eð  HJð  KLð  NOñ  KOñ  HOð  PQð  STñ  PTñ  HTð  UVð  XYñ  UYñ  HYñ  Yð  \^ð  _`ð  bcñ  _cñ  \cð  deñ  \eð  fgð  ijñ  fjñ  \jñ  jð  moð  pqð  stñ  ptñ  mtð  uvð  xyñ  uyñ  myñ  yð  |}ð  ~ð  ABñ  ~Bñ  |Bð  CDð  FGñ  CGñ  |Gñ  Gð  JKð  LMð  OPñ  LPñ  JPð  QRð  TUñ  QUñ  JUð  VWð  YZñ  VZñ  JZñ  Zð  ]^ð  _`ð  bcñ  _cñ  ]cð  deð  ghñ  dhñ  ]hð  ijñ  ]jñ  jð  mnð  opð  rsñ  osñ  msð  tuð  wxñ  txñ  mxð  yzð  |}ñ  y}ñ  m}ñ  }ð  @Að  BCð  EFñ  BFñ  @Fð  GHð  JKñ  GKñ  @Kð  LMð  OPñ  LPñ  @Pñ  Pð  STð  UVð  XYñ  UYñ  SYð  Z[ð  ]^ñ  Z^ñ  S^ð  _`ð  bcñ  _cñ  Scñ  cð  fgð  hið  klñ  hlñ  flð  mnñ  fnð  opð  rsñ  osñ  fsñ  sð  vwð  xyð  {|ñ  x|ñ  v|ð  }~ñ  v~ð  @ð  BCñ  Cñ  vCñ  Cð  FGð  HIð  KLñ  HLñ  FLð  MNñ  FNð  OPð  RSñ  OSñ  FSñ  Sð  VWð  XYð  [\ñ  X\ñ  V\ð  ]^ð  `añ  ]añ  Vað  bcñ  Vcñ  cð  fgð  ijñ  fjð  klð  noñ  koñ  foð  pqð  stñ  ptñ  ftñ  tð  wxð  z{ñ  w{ð  |}ð  @ñ  |@ñ  w@ð  ABð  DEñ  AEñ  wEñ  Eð  HIð  JKð  MNñ  JNñ  HNð  OPð  RSñ  OSñ  HSð  TUð  WXñ  TXñ  HXñ  Xð  [\ð  ]^ð  `añ  ]añ  [að  bcð  efñ  bfñ  [fð  ghñ  [hñ  hð  kmð  noð  qrñ  nrñ  krð  stñ  ktð  uvð  xyñ  uyñ  kyñ  yð  |~ð  @ð  BCñ  Cñ  |Cð  DEñ  |Eð  FGð  IJñ  FJñ  |Jñ  Jð  MOð  PQð  STñ  PTñ  MTð  UVð  XYñ  UYñ  MYñ  Yð  \]ð  ^_ð  abñ  ^bñ  \bð  cdð  fgñ  cgñ  \gñ  gð  jkð  lmð  opñ  lpñ  jpð  qrð  tuñ  quñ  juñ  uð  xyð  z{ð  }~ñ  z~ñ  x~ð  @ð  BCñ  Cñ  xCð  DEð  GHñ  DHñ  xHñ  Hð  KLð  MNð  PQñ  MQñ  KQð  RSð  UVñ  RVñ  KVð  WXñ  KXñ  Xð  [\ð  ]^ð  `añ  ]añ  [að  bcñ  [cð  deð  ghñ  dhñ  [hñ  hð  klð  mnð  pqñ  mqñ  kqð  rsñ  ksð  tuð  wxñ  txñ  kxñ  xð  {|ð  }~ð  @	A	ñ  }A	ñ  {A	ð  B	C	ñ  {C	ð  D	E	ð  G	H	ñ  D	H	ñ  {H	ñ  H	ð  K	L	ð  M	N	ñ  K	N	ð  O	P	ð  R	S	ñ  O	S	ñ  K	S	ð  T	U	ñ  K	U	ñ  U	ð  X	Y	ð  Z	[	ñ  X	[	ð  \	]	ð  _	`	ñ  \	`	ñ  X	`	ð  a	b	ð  d	e	ñ  a	e	ñ  X	e	ñ  e	ð  h	i	ð  j	k	ñ  h	k	ð  l	m	ñ  h	m	ð  n	o	ñ  h	o	ñ  o	ð  r	s	ð  t	u	ñ  r	u	ð  v	w	ð  y	z	ñ  v	z	ñ  r	z	ñ  z	ð  }	~	ð  	@
ð  B
C
ñ  	C
ñ  }	C
ñ  C
ð  F
G
ð  H
I
ñ  F
I
ð  J
K
ð  M
N
ñ  J
N
ñ  F
N
ñ  N
ð  N
r9   c                  óB  • [        S[        5      u  pnSUS-  -  US-  -  SUS-  -  US-  -  -   SUS-  -  US-  -  -   S	US-  -  US-  -  -
  S
US-  -  US-  -  -   SUS-  -  US-  -  -   SUS-  -  U-  -   SUS-  -  -   US-  US-  -  -   US-  US-  -  -   SUS-  -  -
  US-  US-  -  -   US-  US-  -  -
  SUS-  -  US-  -  -
  SUS-  -  US-  -  -   US-  US-  -  -
  SUS-  -  US-  -  -   US-  US-  -  -
  SUS-  -  US-  -  -   SUS-  -  -   SUS-  -  -
  $ )Nzx,yé   r*   r!   é0   r%   r”   rƒ   éH   é   r,   r(   r˜   i$  r„   )r†   r    r[   s      r7   Ú_w_2r«   L  s�  € Ü�5œ"‹o�G€Aˆ!Øˆa�‰d‰7�1�a‘4‰<˜"˜Q ™T™' ! Q¡$™,Ñ&¨¨A¨q©D©°°A±©Ñ5¸¸1¸a¹4¹ÀÀ1Á¹ÑDÀrÈ!ÈQÉ$ÁwÈqÐRSÉtÁ|ÑSÐVWÐXYÐ[\ÑX\ÑV\Ð]^Ð`aÑ]aÑVaÑaÐdeÐfgÐijÑfjÑdjÐklÑdlÑlÐopÐqrÐtuÑquÑouÑuÐxyÐ{|Ñx|Ð}~ð  ABñ  ~Bñ  yBñ  Bð  EFð  HIñ  EIð  JKð  MNñ  JNñ  ENñ  Nð  QSð  TUð  WXñ  TXñ  QXñ  Xð  [\ð  ^_ñ  [_ð  `að  cdñ  `dñ  [dñ  dð  ghð  jkñ  gkð  lmð  opñ  lpñ  gpñ  pð  stð  uvð  xyñ  uyñ  syð  z{ð  }~ñ  z~ñ  s~ñ  ~ð  ADð  EFð  HIñ  EIñ  AIð  JKð  MNñ  JNñ  ANñ  Nð  QRð  TUñ  QUð  VWð  YZñ  VZñ  QZñ  Zð  ]^ð  _`ð  bcñ  _cñ  ]cð  deð  ghñ  dhñ  ]hñ  hð  klð  noñ  koð  pqð  stñ  ptñ  ktñ  tð  wyð  z{ð  }~ñ  z~ñ  w~ð  @ð  BCñ  Cñ  wCñ  Cð  FHð  IJð  LMñ  IMñ  FMñ  Mð  PRð  STð  VWñ  SWñ  PWñ  Wð  Wr9   c                  ó„   • [        5       [        5       [        5       [        5       [	        5       [        5       [        5       4$ ©N)rˆ   rŽ   r’   r•   rš   rœ   r£   © r9   r7   Úf_polysr¯   P  s%   € Ü‹6”4“6œ4›6¤4£6¬4«6´4³6¼4»6ÐAÐAr9   c                  ó*   • [        5       [        5       4$ r­   )r¥   r«   r®   r9   r7   Úw_polysr±   S  s   € Ü‹6”4“6ˆ>Ðr9   )NF)r    r[   )AÚ__doc__Ú
sympy.corer   r   r   r   r   r   Úsympy.core.containersr	   Úsympy.core.singletonr
   Úsympy.ntheoryr   Úsympy.polys.densearithr   r   r   r   Úsympy.polys.densebasicr   r   r   r   r   r   Úsympy.polys.domainsr   Úsympy.polys.factortoolsr   Úsympy.polys.polyclassesr   Úsympy.polys.polytoolsr   r   Úsympy.polys.polyutilsr   Úsympy.utilitiesr   r   r   r8   r?   rE   rJ   r\   ri   rq   ru   ry   r|   r   Úsympy.polys.ringsr€   rˆ   rŽ   r’   r•   rš   rœ   r£   r¥   r«   r¯   r±   r®   r9   r7   Ú<module>rÀ      s  ðÙ O÷ A× @Ý 'Ý "Ý #÷ó ÷÷ õ #Ý :Ý 'ß 0Ý /ß 7Ñ 7ð ó&,ó ð&,ðR ó-ó ð-ð4 Ø#(ô 0ó ð0ð. Ø')°ó -ó ð-ð4 ó:ó ð:òBò"ò<ò 7ò*ò 7õ* #òyòVò~òòS	òkòbòN
òWòBór9   