+
    ‹°³jy ã                  ó  € R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHt ^ RIHtHtHt ^ RIHtHtHtHt ^ R	IHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8 ^ R
I9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtPHQtQHRtR ^ RISHTtTHUtUHVtVHWtWHXtXHYtYHZtZH[t[H\t\H]t]H^t^H_t_H`t`HataHbtb ^ RIcHdtdHeteHftfHgtgHhthHitiHjtjHktkHltlHmtm ^ RInHotoHptpHqtqHrtrHstsHtttHutu ^ RIvHwtwHxtxHytyHztz ^ RI{H|t|H}t}H~t~HtH€t€H�t�H‚t‚HƒtƒH„t„H…t…H†t† ^ RIH‡t‡Hˆtˆ ]R8X  d	   ^ RI‰t‰R tŠMRt‰R tŠ ! R R]
4      t‹ ! R R]‹4      tŒ ! R R]‹4      t�R tŽ ! R R]]
4      t�R t� ! R R ]
4      t‘R# )!z1OO layer for several polynomial representations. )Úannotations)ÚGROUND_TYPES)Úsympy_deprecation_warning)Úoo)ÚCantSympify)ÚPicklableWithSlotsÚ_sort_factors)ÚDomainÚZZÚQQ)ÚCoercionFailedÚExactQuotientFailedÚDomainErrorÚNotInvertible)!ÚninfÚdmp_validateÚ
dup_normalÚ
dmp_normalÚdup_convertÚdmp_convertÚdmp_from_sympyÚ	dup_stripÚdmp_degree_inÚdmp_degree_listÚdmp_negative_pÚdmp_ground_LCÚdmp_ground_TCÚdmp_ground_nthÚdmp_oneÚ
dmp_groundÚdmp_zeroÚ
dmp_zero_pÚ	dmp_one_pÚdmp_ground_pÚdup_from_dictÚdmp_from_dictÚdmp_to_dictÚdmp_deflateÚ
dmp_injectÚ	dmp_ejectÚdmp_terms_gcdÚdmp_list_termsÚdmp_excludeÚ	dup_sliceÚdmp_slice_inÚdmp_permuteÚdmp_to_tuple)Údmp_add_groundÚdmp_sub_groundÚdmp_mul_groundÚdmp_quo_groundÚdmp_exquo_groundÚdmp_absÚdmp_negÚdmp_addÚdmp_subÚdmp_mulÚdmp_sqrÚdmp_powÚdmp_pdivÚdmp_premÚdmp_pquoÚ
dmp_pexquoÚdmp_divÚdmp_remÚdmp_quoÚ	dmp_exquoÚdmp_add_mulÚdmp_sub_mulÚdmp_max_normÚdmp_l1_normÚdmp_l2_norm_squared)Údmp_clear_denomsÚdmp_integrate_inÚdmp_diff_inÚdmp_eval_inÚ
dup_revertÚdmp_ground_truncÚdmp_ground_contentÚdmp_ground_primitiveÚdmp_ground_monicÚdmp_composeÚdup_decomposeÚ	dup_shiftÚ	dmp_shiftÚdup_transformÚdmp_lift)
Údup_half_gcdexÚ	dup_gcdexÚ
dup_invertÚdmp_subresultantsÚdmp_resultantÚdmp_discriminantÚdmp_inner_gcdÚdmp_gcdÚdmp_lcmÚ
dmp_cancel)Údup_gff_listÚdmp_normÚ	dmp_sqf_pÚdmp_sqf_normÚdmp_sqf_partÚdmp_sqf_listÚdmp_sqf_list_include)Údup_cyclotomic_pÚdmp_irreducible_pÚdmp_factor_listÚdmp_factor_list_include)Údup_isolate_real_roots_sqfÚdup_isolate_real_rootsÚdup_isolate_all_roots_sqfÚdup_isolate_all_rootsÚdup_refine_real_rootÚdup_count_real_rootsÚdup_count_complex_rootsÚ	dup_sturmÚdup_cauchy_upper_boundÚdup_cauchy_lower_boundÚdup_mignotte_sep_bound_squared)ÚUnificationFailedÚPolynomialErrorÚflintNc                ó’   € V P                   ;'       g5    V P                  ;'       g!    V P                  ;'       d    V P                  # ©N)Úis_ZZÚis_QQÚis_FFÚ	_is_flint©ÚDs   &ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/polys/polyclasses.pyÚ_supported_flint_domainr…   ‚   s0   € Ø�w‰w×<Ð<˜!Ÿ'™'×<Ð< Q§W¡W×%<Ð%<°·±Ð<ó    c                ó   € R # ©F© r‚   s   &r„   r…   r…   †   s   € Ùr†   c                  ó,  € ] tR t^Št$ RtRÒtR]R&   R]R&   RÓR lt]R 4       t	]
R	 4       tR
 t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       tR tR t]R 4       t]R 4       tR tR tR tR tR tR tRÔR ltRÔR ltR tR tR t R t!R  t"R! t#RÕR" lt$R# t%R$ t&RÓR% lt'RÓR& lt(RÓR' lt)RÓR( lt*R) t+R* t,R+ t-R, t.R- t/R. t0RÔR/ lt1RÔR0 lt2R1 t3R2 t4R3 t5R4 t6R5 t7R6 t8R7 t9R8 t:R9 t;R: t<R; t=R< t>R= t?R> t@R? tAR@ tBRA tCRB tDRC tERD tFRE tGRF tHRG tIRH tJRI tKRJ tLRK tMRL tNRM tORN tPRO tQRP tRRQ tSRR tTRS tURT tVRU tWRV tXRW tYRX tZRY t[RZ t\R[ t]RÕR\ lt^R] t_R^ t`R_ taR` tbRa tcRb tdRc teRd tfRe tgRf thRg tiRh tjRi tkRÖRj ltlRk tmRÖRl ltnRm toRÕRn ltpRo tqRp trRq tsRr ttRs tuRt tvRu twRv txRw tyRx tzRy t{Rz t|RÔR{ lt}RÔR| lt~R} tR~ t€R t�R€ t‚R� tƒR‚ t„Rƒ t…R×R„ lt†R… t‡R† tˆR‡ t‰Rˆ tŠR‰ t‹RŠ tŒR‹ t�RŒ tŽR� t�RŽ t�R� t‘R� t’R‘ t“R’ t”R“ t•R” t–R• t—R– t˜R— t™R˜ tšR™ t›Rš tœR› t�Rœ tžR� tŸRž t RŸ t¡R  t¢R¡ t£RÔR¢ lt¤RÔR£ lt¥R¤ t¦R¥ t§RØR¦ lt¨R§ t©R¨ tªR© t«Rª t¬RÙR« lt­R¬ t®RÚR­ lt¯RÚR® lt°]
R¯ 4       t±]
R° 4       t²]
R± 4       t³]
R² 4       t´]
R³ 4       tµ]
R´ 4       t¶]
Rµ 4       t·]
R¶ 4       t¸]
R· 4       t¹]
R¸ 4       tº]
R¹ 4       t»]
Rº 4       t¼R» t½R¼ t¾R½ t¿R¾ tÀR¿ tÁRÀ tÂRÁ tÃRÂ tÄRÃ tÅRÄ tÆRÅ tÇRÆ tÈRÇ tÉRÈ tÊRÉ tËRÊ tÌRÔRË ltÍRÔRÌ ltÎRÍ tÏRÎ tÐRÏ tÑRÐ tÒRÑ tÓRÒtÔR# )ÛÚDMPú)Dense Multivariate Polynomials over `K`. ÚintÚlevr	   ÚdomNc                	ó¬   € Vf   \        V4      w  rM1\        V\        4      '       g   \        R\	        V4      ,          4      hV P                  WV4      # )Nzexpected list, got %s)r   Ú
isinstanceÚlistr   ÚtypeÚnew©ÚclsÚrepr�   rŽ   s   &&&&r„   Ú__new__ÚDMP.__new__’   sH   € àŠ;Ü# CÓ(‰HˆC�Ü˜C¤×&Ò&Ü Ð!8¼4À»9Õ!DÓEÐEà�w‰w�s Ó%Ð%r†   c                	óš   € \         e/   V^ 8X  d(   \        V4      '       d   \        P                  WV4      # \        P                  WV4      # r}   )r{   r…   Ú	DUP_FlintÚ_newÚ
DMP_Pythonr•   s   &&&&r„   r”   ÚDMP.new›   s>   € ô ÒØ�aŒxÔ3°C×8Ò8Ü —~‘~ c°Ó4Ð4ä�‰˜s¨Ó-Ð-r†   c                ó>   € \        RRRR7       V P                  4       # )z!Get the representation of ``f``. ay  
        Accessing the ``DMP.rep`` attribute is deprecated. The internal
        representation of ``DMP`` instances can now be ``DUP_Flint`` when the
        ground types are ``flint``. In this case the ``DMP`` instance does not
        have a ``rep`` attribute. Use ``DMP.to_list()`` instead. Using
        ``DMP.to_list()`` also works in previous versions of SymPy.
        z1.13zdmp-rep)Údeprecated_since_versionÚactive_deprecations_target)r   Úto_list©Úfs   &r„   r—   ÚDMP.rep§   s'   € ô 	"ð #ð &,Ø'0õ		
ð �y‰y‹{Ðr†   c                ó  € \         ex   \        V \        4      '       db   V P                  ^ 8X  dQ   \	        V P
                  4      '       d6   \        P                  V P                  V P
                  V P                  4      # V # )z¯Convert to DUP_Flint if possible.

This method should be used when the domain or level is changed and it
potentially becomes possible to convert from DMP_Python to DUP_Flint.
)	r{   r‘   r�   rŽ   r…   r�   r›   r”   Ú_repr£   s   &r„   Úto_bestÚDMP.to_best¸   sW   € ô ÒÜ˜!œZ×(Ò(¨Q¯U©U°a¬ZÔ<SÐTU×TYÑTY×<ZÒ<ZÜ —}‘} Q§V¡V¨Q¯U©U°A·E±EÓ:Ð:àˆr†   c                	ó–   aa€ \        S\        4      '       g   Q h\        V\        4      '       d   V^ 8¼  g   Q hVV3R loS! W4       R# )é    c                óþ   <€ \        V \        4      '       g   Q hV^ 8X  dE   \        ;QJ d    V3R lV  4       F  '       d   K   RM	  RM! V3R lV  4       4      '       g   Q hR# V  F  pS! W!^,
          4       K  	  R# )r«   c              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5ir}   )Úof_type)Ú.0Úcr�   s   & €r„   Ú	<genexpr>Ú;DMP._validate_args.<locals>.validate_rep.<locals>.<genexpr>Ì   s   øé € Ð7±3¨a˜3Ÿ;™; qŸ>˜>³3ùs   ƒ!FTN)r‘   r’   Úall)r—   rŽ   Úrr�   Úvalidate_reps   && €€r„   rµ   Ú(DMP._validate_args.<locals>.validate_repÉ   sZ   ø€ Ü˜c¤4×(Ò(Ð(Ð(Ø�aŒxß“sÔ7±3Ó7—s—s’sÔ7±3Ó7×7Ò7Ð7Ò7ã�AÙ  ¨!¥GÖ,ó r†   N)r‘   r	   r�   )r–   r—   r�   rŽ   rµ   s   &&f&@r„   Ú_validate_argsÚDMP._validate_argsÄ   s>   ù€ ä˜#œv×&Ò&Ð&Ð&Ü˜#œs×#Ò#¨¨q¬Ð0Ð0ö	-ñ 	�SÖr†   c                	ó>   € \        WV4      pV P                  WV4      # r}   )r%   r”   ©r–   r—   rŽ   r�   s   &&&&r„   Ú	from_dictÚDMP.from_dictÓ   s   € ä˜C cÓ*ˆØ�w‰w�s Ó%Ð%r†   c                ó<   € V P                  \        WRV4      W24      # )zCCreate an instance of ``cls`` given a list of native coefficients. N)r”   r   rº   s   &&&&r„   Ú	from_listÚDMP.from_listØ   s   € ð �w‰w”{ 3¨T°3Ó7¸ÓBÐBr†   c                ó:   € V P                  \        WV4      W24      # )zBCreate an instance of ``cls`` given a list of SymPy coefficients. )r”   r   rº   s   &&&&r„   Úfrom_sympy_listÚDMP.from_sympy_listÝ   s   € ð �w‰w”~ c°Ó4°cÓ?Ð?r†   c           
     	óJ   € V ! \        \        \        W4      4      4      WC4      # r}   )Údictr’   Úzip)r–   ÚmonomsÚcoeffsrŽ   r�   s   &&&&&r„   Úfrom_monoms_coeffsÚDMP.from_monoms_coeffsâ   s   € á”4œœS Ó0Ó1Ó2°CÓ=Ð=r†   c                óð  € V P                   V8X  d   V # V P                  '       g	   \        f   V P                  V4      # \	        V \
        4      '       dB   \        V4      '       d   V P                  V4      # V P                  4       P                  V4      # \	        V \        4      '       dB   \        V4      '       d    V P                  V4      P                  4       # V P                  V4      # \        R4      h)z0Convert ``f`` to a ``DMP`` over the new domain. zunreachable code)r�   rŽ   r{   Ú_convertr‘   r›   r…   Úto_DMP_Pythonr�   Úto_DUP_FlintÚRuntimeError©r¤   r�   s   &&r„   ÚconvertÚDMP.convertæ   s´   € à�5‰5�CŒ<ØˆHØ�U�UˆU”e’mØ—:‘:˜c“?Ð"Ü˜œ9×%Ò%Ü& s×+Ò+Ø—z‘z #“Ð&à—‘Ó(×1Ñ1°#Ó6Ð6Ü˜œ:×&Ò&Ü& s×+Ò+Ø—z‘z #“×3Ñ3Ó5Ð5à—z‘z #“Ð&äÐ1Ó2Ð2r†   c                	ó   € \         hr}   ©ÚNotImplementedErrorrÏ   s   &&r„   rË   ÚDMP._convertù   ó   € Ü!Ð!r†   c                	ó,   € \        \        V4      W!4      # r}   )r‹   r    ©r–   rŽ   r�   s   &&&r„   ÚzeroÚDMP.zeroü   s   € ä”8˜C“= #Ó+Ð+r†   c                	ó,   € \        \        W4      W!4      # r}   )r‹   r   rØ   s   &&&r„   ÚoneÚDMP.one   s   € ä”7˜3Ó$ cÓ/Ð/r†   c                	ó   € \         hr}   rÓ   r£   s   &r„   Ú_oneÚDMP._one  rÖ   r†   c                	óv   € V P                   P                  : R V P                  4       : RV P                  : R2# ©Ú(ú, Ú))Ú	__class__Ú__name__r¢   r�   r£   s   &r„   Ú__repr__ÚDMP.__repr__  s#   € Ø Ÿ{™{×3Ô3°Q·Y±Y¶[À!Ç%Ä%ÐHÐHr†   c                	óŒ   € \        V P                  P                  V P                  4       V P                  V P
                  34      # r}   )Úhashræ   rç   Úto_tuplerŽ   r�   r£   s   &r„   Ú__hash__ÚDMP.__hash__
  s.   € Ü�Q—[‘[×)Ñ)¨1¯:©:«<¸¿¹ÀÇÁÐFÓGÐGr†   c                	óP   € V P                  4       V P                  V P                  3# r}   )r¢   r�   rŽ   ©Úselfs   &r„   Ú__getnewargs__ÚDMP.__getnewargs__  s   € Ø�|‰|‹~˜tŸx™x¨¯©Ð1Ð1r†   c                ó   € \         h©z*Construct a new ground instance of ``f``. rÓ   ©r¤   Úcoeffs   &&r„   Ú
ground_newÚDMP.ground_new  ó   € ä!Ð!r†   c                óT  € \        V\        4      '       d   V P                  VP                  8w  d   \        RV : RV: 24      hV P                  VP                  8w  dH   V P                  P                  VP                  4      pV P                  V4      p VP                  V4      pW3# ©z7Unify and return ``DMP`` instances of ``f`` and ``g``. úCannot unify ú with )r‘   r‹   rŽ   ry   r�   ÚunifyrÐ   ©r¤   Úgr�   s   && r„   Ú	unify_DMPÚDMP.unify_DMP  ss   € ä˜!œS×!Ò! Q§U¡U¨a¯e©e¤^Ý#ÃÂAÐ$FÓGÐGà�5‰5�A—E‘EŒ>Ø—%‘%—+‘+˜aŸe™eÓ$ˆCØ—	‘	˜#“ˆAØ—	‘	˜#“ˆAàˆtˆr†   c                ód   € \        V P                  4       V P                  V P                  VR7      # )úAConvert ``f`` to a dict representation with native coefficients. ©rÙ   )r&   r¢   rŽ   r�   )r¤   rÙ   s   &&r„   Úto_dictÚDMP.to_dict   s!   € ä˜1Ÿ9™9›;¨¯©¨q¯u©u¸4Ô@Ð@r†   c                ó–   € V P                  VR7      pVP                  4        F"  w  r4V P                  P                  V4      W#&   K$  	  V# )ú@Convert ``f`` to a dict representation with SymPy coefficients. r  )r  Úitemsr�   Úto_sympy)r¤   rÙ   r—   ÚkÚvs   &&   r„   Úto_sympy_dictÚDMP.to_sympy_dict$  s?   € à�i‰i˜TˆiÓ"ˆà—I‘I–K‰DˆAØ—U‘U—^‘^ AÓ&ˆC‹Fñ  ð ˆ
r†   c                ó@   a a€ V V3R loS! S P                  4       4      # )ú@Convert ``f`` to a list representation with SymPy coefficients. c                óÐ   <€ . pV  F\  p\        V\        4      '       d   VP                  S! V4      4       K2  VP                  SP                  P	                  V4      4       K^  	  V# r}   )r‘   r’   Úappendr�   r  )r—   ÚoutÚvalr¤   Úsympify_nested_lists   &  €€r„   r  Ú.DMP.to_sympy_list.<locals>.sympify_nested_list/  sQ   ø€ ØˆCÛ�Ü˜c¤4×(Ò(Ø—J‘JÑ2°3Ó7Ö8à—J‘J˜qŸu™uŸ~™~¨cÓ2Ö3ñ	 ð
 ˆJr†   )r¢   )r¤   r  s   f@r„   Úto_sympy_listÚDMP.to_sympy_list-  s   ù€ ö	ñ # 1§9¡9£;Ó/Ð/r†   c                ó   € \         h©úAConvert ``f`` to a list representation with native coefficients. rÓ   r£   s   &r„   r¢   ÚDMP.to_list:  rú   r†   c                ó   € \         h©z`
Convert ``f`` to a tuple representation with native coefficients.

This is needed for hashing.
rÓ   r£   s   &r„   rì   ÚDMP.to_tuple>  s
   € ô "Ð!r†   c                óT   € V P                  V P                  P                  4       4      # )zMake the ground domain a ring. )rÐ   r�   Úget_ringr£   s   &r„   Úto_ringÚDMP.to_ringF  s   € à�y‰y˜Ÿ™Ÿ™Ó)Ó*Ð*r†   c                óT   € V P                  V P                  P                  4       4      # )z Make the ground domain a field. )rÐ   r�   Ú	get_fieldr£   s   &r„   Úto_fieldÚDMP.to_fieldJ  ó   € à�y‰y˜Ÿ™Ÿ™Ó*Ó+Ð+r†   c                óT   € V P                  V P                  P                  4       4      # )zMake the ground domain exact. )rÐ   r�   Ú	get_exactr£   s   &r„   Úto_exactÚDMP.to_exactN  r*  r†   c                ó|   € V P                   '       g   V'       g   V P                  W4      # V P                  WV4      # ©z1Take a continuous subsequence of terms of ``f``. )rŽ   Ú_sliceÚ
_slice_lev©r¤   ÚmÚnÚjs   &&&&r„   ÚsliceÚ	DMP.sliceR  s,   € à�u�uˆuŸQØ—8‘8˜A“>Ð!à—<‘<  aÓ(Ð(r†   c                	ó   € \         hr}   rÓ   )r¤   r4  r5  s   &&&r„   r1  Ú
DMP._sliceY  rÖ   r†   c                	ó   € \         hr}   rÓ   r3  s   &&&&r„   r2  ÚDMP._slice_lev\  rÖ   r†   c                óZ   € V P                  VR7       UUu. uF  w  r#VNK	  	  upp# u uppi )z;Returns all non-zero coefficients from ``f`` in lex order. ©Úorder©Úterms)r¤   r?  Ú_r°   s   &&  r„   rÇ   Ú
DMP.coeffs_  ó)   € à Ÿw™w¨U˜wÔ3Ô5Ñ3‘t�q“Ñ3Ò5Ð5ùÓ5ó   –'c                óZ   € V P                  VR7       UUu. uF  w  r#VNK	  	  upp# u uppi )z8Returns all non-zero monomials from ``f`` in lex order. r>  r@  )r¤   r?  r4  rB  s   &&  r„   rÆ   Ú
DMP.monomsc  rD  rE  c                ó®   € V P                   '       d3   RV P                  ^,           ,          pW P                  P                  3.# V P	                  VR7      # )ú4Returns all non-zero terms from ``f`` in lex order. r>  ©r«   )Úis_zerorŽ   r�   rÙ   Ú_terms)r¤   r?  Ú
zero_monoms   && r„   rA  Ú	DMP.termsg  sB   € à�9�9ˆ9Ø˜qŸu™u q�yÕ)ˆJØ§¡§¡Ð,Ð-Ð-à—8‘8 %�8Ó(Ð(r†   c                	ó   € \         hr}   rÓ   ©r¤   r?  s   &&r„   rL  Ú
DMP._termso  rÖ   r†   c                ó¬   € V P                   '       d   \        R4      hV '       g   V P                  P                  .# \	        V P                  4       4      # )z%Returns all coefficients from ``f``. ú&multivariate polynomials not supported)rŽ   rz   r�   rÙ   r’   r¢   r£   s   &r„   Ú
all_coeffsÚDMP.all_coeffsr  s;   € à�5�5ˆ5Ü!Ð"JÓKÐKçØ—E‘E—J‘J�<Ðä˜Ÿ	™	›Ó$Ð$r†   c                óä   € V P                   '       d   \        R4      hV P                  4       pV^ 8  d   R.# \        V P	                  4       4       UUu. uF  w  r#W,
          3NK  	  upp# u uppi )z"Returns all monomials from ``f``. rS  rJ  )rŽ   rz   ÚdegreeÚ	enumerater¢   ©r¤   r5  Úir°   s   &   r„   Ú
all_monomsÚDMP.all_monoms|  s[   € à�5�5ˆ5Ü!Ð"JÓKÐKà�H‰H‹JˆàˆqŒ5Ø�6ˆMä*3°A·I±I³KÔ*@ÔBÑ*@¡$ !�a•e“XÑ*@ÒBÐBùÓBs   ÁA,c                ó  € V P                   '       d   \        R4      hV P                  4       pV^ 8  d   RV P                  P                  3.# \        V P                  4       4       UUu. uF  w  r#W,
          3V3NK  	  upp# u uppi )z Returns all terms from a ``f``. rS  rJ  )rŽ   rz   rW  r�   rÙ   rX  r¢   rY  s   &   r„   Ú	all_termsÚDMP.all_termsˆ  sn   € à�5�5ˆ5Ü!Ð"JÓKÐKà�H‰H‹JˆàˆqŒ5Ø˜1Ÿ5™5Ÿ:™:Ð&Ð'Ð'ä/8¸¿¹»Ô/EÔGÑ/E¡t q�q•u�h “]Ñ/EÒGÐGùÓGs   Á*Bc                ó>   € V P                  4       P                  4       # ©z-Convert algebraic coefficients to rationals. )Ú_liftr¨   r£   s   &r„   ÚliftÚDMP.lift”  s   € à�w‰w‹y× Ñ Ó"Ð"r†   c                	ó   € \         hr}   rÓ   r£   s   &r„   rb  Ú	DMP._lift˜  rÖ   r†   c                ó   € \         h©ú2Reduce degree of `f` by mapping `x_i^m` to `y_i`. rÓ   r£   s   &r„   ÚdeflateÚDMP.deflate›  rú   r†   c                ó   € \         h©ú,Inject ground domain generators into ``f``. rÓ   ©r¤   Úfronts   &&r„   ÚinjectÚ
DMP.injectŸ  rú   r†   c                ó   € \         h©ú2Eject selected generators into the ground domain. rÓ   ©r¤   r�   rp  s   &&&r„   ÚejectÚ	DMP.eject£  rú   r†   c                óH   € V P                  4       w  rWP                  4       3# )a(  
Remove useless generators from ``f``.

Returns the removed generators and the new excluded ``f``.

Examples
========

>>> from sympy.polys.polyclasses import DMP
>>> from sympy.polys.domains import ZZ

>>> DMP([[[ZZ(1)]], [[ZZ(1)], [ZZ(2)]]], ZZ).exclude()
([2], DMP_Python([[1], [1, 2]], ZZ))

)Ú_excluder¨   ©r¤   ÚJÚFs   &  r„   ÚexcludeÚDMP.exclude§  s   € ð  �z‰z‹|‰ˆØ—)‘)“+ˆ~Ðr†   c                	ó   € \         hr}   rÓ   r£   s   &r„   rz  ÚDMP._excludeº  rÖ   r†   c                ó$   € V P                  V4      # )ay  
Returns a polynomial in `K[x_{P(1)}, ..., x_{P(n)}]`.

Examples
========

>>> from sympy.polys.polyclasses import DMP
>>> from sympy.polys.domains import ZZ

>>> DMP([[[ZZ(2)], [ZZ(1), ZZ(0)]], [[]]], ZZ).permute([1, 0, 2])
DMP_Python([[[2], []], [[1, 0], []]], ZZ)

>>> DMP([[[ZZ(2)], [ZZ(1), ZZ(0)]], [[]]], ZZ).permute([1, 2, 0])
DMP_Python([[[1], []], [[2, 0], []]], ZZ)

)Ú_permute©r¤   ÚPs   &&r„   ÚpermuteÚDMP.permute½  s   € ð" �z‰z˜!‹}Ðr†   c                	ó   € \         hr}   rÓ   r„  s   &&r„   rƒ  ÚDMP._permuteÐ  rÖ   r†   c                ó   € \         h©z/Remove GCD of terms from the polynomial ``f``. rÓ   r£   s   &r„   Ú	terms_gcdÚDMP.terms_gcdÓ  rú   r†   c                ó   € \         h©z)Make all coefficients in ``f`` positive. rÓ   r£   s   &r„   ÚabsÚDMP.abs×  rú   r†   c                ó   € \         h©ú"Negate all coefficients in ``f``. rÓ   r£   s   &r„   ÚnegÚDMP.negÛ  rú   r†   c                óV   € V P                  V P                  P                  V4      4      # ©z.Add an element of the ground domain to ``f``. )Ú_add_groundr�   rÐ   ©r¤   r°   s   &&r„   Ú
add_groundÚDMP.add_groundß  ó   € à�}‰}˜QŸU™UŸ]™]¨1Ó-Ó.Ð.r†   c                óV   € V P                  V P                  P                  V4      4      # ©z5Subtract an element of the ground domain from ``f``. )Ú_sub_groundr�   rÐ   rš  s   &&r„   Ú
sub_groundÚDMP.sub_groundã  r�  r†   c                óV   € V P                  V P                  P                  V4      4      # ©z5Multiply ``f`` by a an element of the ground domain. )Ú_mul_groundr�   rÐ   rš  s   &&r„   Ú
mul_groundÚDMP.mul_groundç  r�  r†   c                óV   € V P                  V P                  P                  V4      4      # ©z8Quotient of ``f`` by a an element of the ground domain. )Ú_quo_groundr�   rÐ   rš  s   &&r„   Ú
quo_groundÚDMP.quo_groundë  r�  r†   c                óV   € V P                  V P                  P                  V4      4      # ©z>Exact quotient of ``f`` by a an element of the ground domain. )Ú_exquo_groundr�   rÐ   rš  s   &&r„   Úexquo_groundÚDMP.exquo_groundï  s   € à�‰˜qŸu™uŸ}™}¨QÓ/Ó0Ð0r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z2Add two multivariate polynomials ``f`` and ``g``. )r  Ú_add©r¤   r  r}  ÚGs   &&  r„   ÚaddÚDMP.addó  ó   € à�{‰{˜1‹~‰ˆØ�v‰v�a‹yÐr†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z7Subtract two multivariate polynomials ``f`` and ``g``. )r  Ú_subrµ  s   &&  r„   ÚsubÚDMP.subø  r¹  r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z7Multiply two multivariate polynomials ``f`` and ``g``. )r  Ú_mulrµ  s   &&  r„   ÚmulÚDMP.mulý  r¹  r†   c                ó"   € V P                  4       # ©z(Square a multivariate polynomial ``f``. )Ú_sqrr£   s   &r„   ÚsqrÚDMP.sqr  s   € à�v‰v‹xˆr†   c                ó†   € \        V\        4      '       g   \        R\        V4      ,          4      hV P	                  V4      # ©ú+Raise ``f`` to a non-negative power ``n``. ú``int`` expected, got %s)r‘   r�   Ú	TypeErrorr“   Ú_pow©r¤   r5  s   &&r„   ÚpowÚDMP.pow  s2   € ä˜!œS×!Ò!ÜÐ6¼¸a»Õ@ÓAÐAØ�v‰v�a‹yÐr†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z/Polynomial pseudo-division of ``f`` and ``g``. )r  Ú_pdivrµ  s   &&  r„   ÚpdivÚDMP.pdiv  ó   € à�{‰{˜1‹~‰ˆØ�w‰w�q‹zÐr†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z0Polynomial pseudo-remainder of ``f`` and ``g``. )r  Ú_premrµ  s   &&  r„   ÚpremÚDMP.prem  r×  r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z/Polynomial pseudo-quotient of ``f`` and ``g``. )r  Ú_pquorµ  s   &&  r„   ÚpquoÚDMP.pquo  r×  r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z5Polynomial exact pseudo-quotient of ``f`` and ``g``. )r  Ú_pexquorµ  s   &&  r„   ÚpexquoÚ
DMP.pexquo  s   € à�{‰{˜1‹~‰ˆØ�y‰y˜‹|Ðr†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z7Polynomial division with remainder of ``f`` and ``g``. )r  Ú_divrµ  s   &&  r„   ÚdivÚDMP.div   r¹  r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z2Computes polynomial remainder of ``f`` and ``g``. )r  Ú_remrµ  s   &&  r„   ÚremÚDMP.rem%  r¹  r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z1Computes polynomial quotient of ``f`` and ``g``. )r  Ú_quorµ  s   &&  r„   ÚquoÚDMP.quo*  r¹  r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z7Computes polynomial exact quotient of ``f`` and ``g``. )r  Ú_exquorµ  s   &&  r„   ÚexquoÚ	DMP.exquo/  s   € à�{‰{˜1‹~‰ˆØ�x‰x˜‹{Ðr†   c                	ó   € \         hr}   rÓ   rš  s   &&r„   r™  ÚDMP._add_ground4  rÖ   r†   c                	ó   € \         hr}   rÓ   rš  s   &&r„   r   ÚDMP._sub_ground7  rÖ   r†   c                	ó   € \         hr}   rÓ   rš  s   &&r„   r¥  ÚDMP._mul_ground:  rÖ   r†   c                	ó   € \         hr}   rÓ   rš  s   &&r„   rª  ÚDMP._quo_ground=  rÖ   r†   c                	ó   € \         hr}   rÓ   rš  s   &&r„   r¯  ÚDMP._exquo_ground@  rÖ   r†   c                	ó   € \         hr}   rÓ   ©r¤   r  s   &&r„   r´  ÚDMP._addC  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   r¼  ÚDMP._subF  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rÁ  ÚDMP._mulI  rÖ   r†   c                	ó   € \         hr}   rÓ   r£   s   &r„   rÆ  ÚDMP._sqrL  rÖ   r†   c                	ó   € \         hr}   rÓ   rÏ  s   &&r„   rÎ  ÚDMP._powO  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rÔ  Ú	DMP._pdivR  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rÚ  Ú	DMP._premU  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rß  Ú	DMP._pquoX  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rä  ÚDMP._pexquo[  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   ré  ÚDMP._div^  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rî  ÚDMP._rema  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   ró  ÚDMP._quod  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rø  Ú
DMP._exquog  rÖ   r†   c                ó†   € \        V\        4      '       g   \        R\        V4      ,          4      hV P	                  V4      # )ú0Returns the leading degree of ``f`` in ``x_j``. rÌ  )r‘   r�   rÍ  r“   Ú_degree©r¤   r6  s   &&r„   rW  Ú
DMP.degreej  s2   € ä˜!œS×!Ò!ÜÐ6¼¸a»Õ@ÓAÐAà�y‰y˜‹|Ðr†   c                	ó   € \         hr}   rÓ   r#  s   &&r„   r"  ÚDMP._degreeq  rÖ   r†   c                ó   € \         h©z$Returns a list of degrees of ``f``. rÓ   r£   s   &r„   Údegree_listÚDMP.degree_listt  rú   r†   c                ó   € \         h©ú#Returns the total degree of ``f``. rÓ   r£   s   &r„   Útotal_degreeÚDMP.total_degreex  rú   r†   c                ó   € V P                  4       p/ pV\        V P                  4       ^ ,          ^ ,          4      8H  pV P                  4        F…  p\        V^ ,          4      pWb8  d
   W&,
          pM^ pV'       d   V^,          W5^ ,          V3,           &   KJ  \	        V^ ,          4      pW�;;,          V,          uu&   V^,          V\        V4      &   K‡  	  \        P                  W0P                  \        V4      ,           V P                  4      # )z&Return homogeneous polynomial of ``f``)r.  ÚlenrA  Úsumr’   Útupler‹   r»   rŽ   r�   r�   )	r¤   ÚsÚtdÚresultÚ
new_symbolÚtermÚdrZ  Úls	   &&       r„   Ú
homogenizeÚDMP.homogenize|  sÅ   € à�^‰^ÓˆØˆØœ3˜qŸw™w›y¨�|¨A�Ó/Ñ/ˆ
Ø—G‘G–IˆDÜ�D˜•G“ˆAØŒvØ•F‘à�ßØ)-¨a­�˜A•w ! •~Ó&ä˜˜a�“M�Ø—˜•	“Ø#'¨¥7�”u˜Q“xÓ ñ ô �}‰}˜V§U¡U¬S°«_Õ%<¸a¿e¹eÓDÐDr†   c                ó¶   € V P                   '       d   \        ) # V P                  4       p\        V^ ,          4      pV F  p\        V4      pWB8w  g   K   R# 	  V# )z(Returns the homogeneous order of ``f``. N)rK  r   rÆ   r2  )r¤   rÆ   ÚtdegÚmonomÚ_tdegs   &    r„   Úhomogeneous_orderÚDMP.homogeneous_order�  sL   € à�9�9ˆ9Ü�3ˆJà—‘“ˆÜ�6˜!•9‹~ˆãˆEÜ˜“JˆEàŽ}Úñ	 ð ˆr†   c                ó   € \         h©z*Returns the leading coefficient of ``f``. rÓ   r£   s   &r„   ÚLCÚDMP.LCŸ  rú   r†   c                ó   € \         h©z+Returns the trailing coefficient of ``f``. rÓ   r£   s   &r„   ÚTCÚDMP.TC£  rú   r†   c                ó®   € \         ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   V P                  V4      # \        R4      h)ú+Returns the ``n``-th coefficient of ``f``. c              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5ir}   )r‘   r�   )r¯   r5  s   & r„   r±   ÚDMP.nth.<locals>.<genexpr>©  s   é € Ð-©1 aŒz˜!œS×!Ð!«1ùs   ‚FTza sequence of integers expected)r³   Ú_nthrÍ  ©r¤   ÚNs   &*r„   ÚnthÚDMP.nth§  s=   € ç‹3Ñ-©1Ó-�3�3Š3Ñ-©1Ó-×-Ò-Ø—6‘6˜!“9ÐäÐ=Ó>Ð>r†   c                	ó   € \         hr}   rÓ   rP  s   &&r„   rO  ÚDMP._nth®  rÖ   r†   c                ó   € \         h©zReturns maximum norm of ``f``. rÓ   r£   s   &r„   Úmax_normÚDMP.max_norm±  rú   r†   c                ó   € \         h©zReturns l1 norm of ``f``. rÓ   r£   s   &r„   Úl1_normÚDMP.l1_normµ  rú   r†   c                ó   € \         h©z!Return squared l2 norm of ``f``. rÓ   r£   s   &r„   Úl2_norm_squaredÚDMP.l2_norm_squared¹  rú   r†   c                ó   € \         h©z0Clear denominators, but keep the ground domain. rÓ   r£   s   &r„   Úclear_denomsÚDMP.clear_denoms½  rú   r†   c                óè   € \        V\        4      '       g   \        R\        V4      ,          4      h\        V\        4      '       g   \        R\        V4      ,          4      hV P	                  W4      # )úEComputes the ``m``-th order indefinite integral of ``f`` in ``x_j``. rÌ  )r‘   r�   rÍ  r“   Ú
_integrate©r¤   r4  r6  s   &&&r„   Ú	integrateÚDMP.integrateÁ  sU   € ä˜!œS×!Ò!ÜÐ6¼¸a»Õ@ÓAÐAä˜!œS×!Ò!ÜÐ6¼¸a»Õ@ÓAÐAà�|‰|˜AÓ!Ð!r†   c                	ó   € \         hr}   rÓ   ri  s   &&&r„   rh  ÚDMP._integrateË  rÖ   r†   c                óè   € \        V\        4      '       g   \        R\        V4      ,          4      h\        V\        4      '       g   \        R\        V4      ,          4      hV P	                  W4      # )ú<Computes the ``m``-th order derivative of ``f`` in ``x_j``. rÌ  )r‘   r�   rÍ  r“   Ú_diffri  s   &&&r„   ÚdiffÚDMP.diffÎ  sT   € ä˜!œS×!Ò!ÜÐ6¼¸a»Õ@ÓAÐAä˜!œS×!Ò!ÜÐ6¼¸a»Õ@ÓAÐAà�w‰w�q‹}Ðr†   c                	ó   € \         hr}   rÓ   ri  s   &&&r„   rp  Ú	DMP._diffØ  rÖ   r†   c                ó&  € \        V\        4      '       g   \        R\        V4      ,          4      h^ Tu;8:  d   V P                  8:  g   M \        RV,          4      hV P                  '       d   V P                  W4      # V P                  V4      # )z5Evaluates ``f`` at the given point ``a`` in ``x_j``. rÌ  zinvalid variable index %s)r‘   r�   rÍ  r“   rŽ   Ú
ValueErrorÚ	_eval_levÚ_eval©r¤   Úar6  s   &&&r„   ÚevalÚDMP.evalÛ  sj   € ä˜!œS×!Ò!ÜÐ6¼¸a»Õ@ÓAÐAØ�q–/˜AŸE™E–/ÜÐ8¸1Õ<Ó=Ð=à�5�5ˆ5Ø—;‘;˜qÓ$Ð$à—7‘7˜1“:Ðr†   c                	ó   € \         hr}   rÓ   ©r¤   rz  s   &&r„   rx  Ú	DMP._evalç  rÖ   r†   c                	ó   € \         hr}   rÓ   ry  s   &&&r„   rw  ÚDMP._eval_levê  rÖ   r†   c                ó„   € V P                  V4      w  r#VP                  '       d   \        R4      hVP                  V4      # )ú2Half extended Euclidean algorithm, if univariate. úunivariate polynomial expected)r  rŽ   rv  Ú_half_gcdexrµ  s   &&  r„   Ú
half_gcdexÚDMP.half_gcdexí  s5   € à�{‰{˜1‹~‰ˆà�5�5ˆ5ÜÐ=Ó>Ð>à�}‰}˜QÓÐr†   c                	ó   € \         hr}   rÓ   r  s   &&r„   r…  ÚDMP._half_gcdexö  rÖ   r†   c                óÒ   € V P                  V4      w  r#VP                  '       d   \        R4      hVP                  P                  '       g   \        R4      hVP                  V4      # )ú-Extended Euclidean algorithm, if univariate. r„  zground domain must be a field)r  rŽ   rv  r�   Úis_Fieldr   Ú_gcdexrµ  s   &&  r„   ÚgcdexÚ	DMP.gcdexù  sM   € à�{‰{˜1‹~‰ˆà�5�5ˆ5ÜÐ=Ó>Ð>à�u‰u�~�~ˆ~ÜÐ=Ó>Ð>à�x‰x˜‹{Ðr†   c                	ó   € \         hr}   rÓ   r  s   &&r„   r�  Ú
DMP._gcdex  rÖ   r†   c                ó„   € V P                  V4      w  r#VP                  '       d   \        R4      hVP                  V4      # )ú(Invert ``f`` modulo ``g``, if possible. r„  )r  rŽ   rv  Ú_invertrµ  s   &&  r„   ÚinvertÚ
DMP.invert  s4   € à�{‰{˜1‹~‰ˆà�5�5ˆ5ÜÐ=Ó>Ð>à�y‰y˜‹|Ðr†   c                	ó   € \         hr}   rÓ   r  s   &&r„   r”  ÚDMP._invert  rÖ   r†   c                ó^   € V P                   '       d   \        R4      hV P                  V4      # )ú"Compute ``f**(-1)`` mod ``x**n``. r„  )rŽ   rv  Ú_revertrÏ  s   &&r„   ÚrevertÚ
DMP.revert  s%   € à�5�5ˆ5ÜÐ=Ó>Ð>à�y‰y˜‹|Ðr†   c                	ó   € \         hr}   rÓ   rÏ  s   &&r„   r›  ÚDMP._revert  rÖ   r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z7Computes subresultant PRS sequence of ``f`` and ``g``. )r  Ú_subresultantsrµ  s   &&  r„   ÚsubresultantsÚDMP.subresultants  s"   € à�{‰{˜1‹~‰ˆØ×Ñ Ó"Ð"r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   r¢  ÚDMP._subresultants#  rÖ   r†   c                ó|   € V P                  V4      w  r4V'       d   VP                  V4      # VP                  V4      # ©ú/Computes resultant of ``f`` and ``g`` via PRS. )r  Ú_resultant_includePRSÚ
_resultant)r¤   r  Ú
includePRSr}  r¶  s   &&&  r„   Ú	resultantÚDMP.resultant&  s3   € à�{‰{˜1‹~‰ˆßØ×*Ñ*¨1Ó-Ð-à—<‘< “?Ð"r†   c                	ó   € \         hr}   rÓ   )r¤   r  r¬  s   &&&r„   r«  ÚDMP._resultant.  rÖ   r†   c                ó   € \         h©z Computes discriminant of ``f``. rÓ   r£   s   &r„   ÚdiscriminantÚDMP.discriminant1  rú   r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z4Returns GCD of ``f`` and ``g`` and their cofactors. )r  Ú
_cofactorsrµ  s   &&  r„   Ú	cofactorsÚDMP.cofactors5  s   € à�{‰{˜1‹~‰ˆØ�|‰|˜A‹Ðr†   c                	ó   € \         hr}   rÓ   r  s   &&r„   r·  ÚDMP._cofactors:  rÖ   r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z+Returns polynomial GCD of ``f`` and ``g``. )r  Ú_gcdrµ  s   &&  r„   ÚgcdÚDMP.gcd=  r¹  r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   r¾  ÚDMP._gcdB  rÖ   r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z+Returns polynomial LCM of ``f`` and ``g``. )r  Ú_lcmrµ  s   &&  r„   ÚlcmÚDMP.lcmE  r¹  r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rÅ  ÚDMP._lcmJ  rÖ   r†   c                ó|   € V P                  V4      w  r4V'       d   VP                  V4      # VP                  V4      # ©ú6Cancel common factors in a rational function ``f/g``. )r  Ú_cancel_includeÚ_cancel)r¤   r  Úincluder}  r¶  s   &&&  r„   ÚcancelÚ
DMP.cancelM  s3   € à�{‰{˜1‹~‰ˆçØ×$Ñ$ QÓ'Ð'à—9‘9˜Q“<Ðr†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rÎ  ÚDMP._cancelV  rÖ   r†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rÍ  ÚDMP._cancel_includeY  rÖ   r†   c                óV   € V P                  V P                  P                  V4      4      # ©z&Reduce ``f`` modulo a constant ``p``. )Ú_truncr�   rÐ   ©r¤   Úps   &&r„   ÚtruncÚ	DMP.trunc\  s   € à�x‰x˜Ÿ™Ÿ™ aÓ(Ó)Ð)r†   c                	ó   € \         hr}   rÓ   rÙ  s   &&r„   rØ  Ú
DMP._trunc`  rÖ   r†   c                ó   € \         h©z'Divides all coefficients by ``LC(f)``. rÓ   r£   s   &r„   ÚmonicÚ	DMP.monicc  rú   r†   c                ó   € \         h©z(Returns GCD of polynomial coefficients. rÓ   r£   s   &r„   ÚcontentÚDMP.contentg  rú   r†   c                ó   € \         h©z/Returns content and a primitive form of ``f``. rÓ   r£   s   &r„   Ú	primitiveÚDMP.primitivek  rú   r†   c                óJ   € V P                  V4      w  r#VP                  V4      # ©z4Computes functional composition of ``f`` and ``g``. )r  Ú_composerµ  s   &&  r„   ÚcomposeÚDMP.composeo  s   € à�{‰{˜1‹~‰ˆØ�z‰z˜!‹}Ðr†   c                	ó   € \         hr}   rÓ   r  s   &&r„   rí  ÚDMP._composet  rÖ   r†   c                ó\   € V P                   '       d   \        R4      hV P                  4       # )ú,Computes functional decomposition of ``f``. r„  )rŽ   rv  Ú
_decomposer£   s   &r„   Ú	decomposeÚDMP.decomposew  s#   € à�5�5ˆ5ÜÐ=Ó>Ð>à�|‰|‹~Ðr†   c                	ó   € \         hr}   rÓ   r£   s   &r„   rô  ÚDMP._decompose~  rÖ   r†   c                ó�   € V P                   '       d   \        R4      hV P                  V P                  P	                  V4      4      # )ú/Efficiently compute Taylor shift ``f(x + a)``. r„  )rŽ   rv  Ú_shiftr�   rÐ   r~  s   &&r„   ÚshiftÚ	DMP.shift�  s3   € à�5�5ˆ5ÜÐ=Ó>Ð>à�x‰x˜Ÿ™Ÿ™ aÓ(Ó)Ð)r†   c                ó€   € V Uu. uF  q P                   P                  V4      NK  	  ppV P                  V4      # u upi ©z/Efficiently compute Taylor shift ``f(X + A)``. )r�   rÐ   Ú_shift_list)r¤   rz  Úais   && r„   Ú
shift_listÚDMP.shift_listˆ  s5   € á)*Ó+© 2�U‰U�]‰]˜2Ö©ˆÐ+Ø�}‰}˜QÓÐùò ,s   …#;c                	ó   € \         hr}   rÓ   r~  s   &&r„   rû  Ú
DMP._shift�  rÖ   r†   c                óÐ   € V P                   '       d   \        R4      hVP                  V4      w  r4V P                  V4      w  rSVP                  V4      w  rTVP                  W44      # )ú5Evaluate functional transformation ``q**n * f(p/q)``.r„  )rŽ   rv  r  Ú
_transform)r¤   rÚ  Úqr…  ÚQr}  s   &&&   r„   Ú	transformÚDMP.transform�  sS   € à�5�5ˆ5ÜÐ=Ó>Ð>à�{‰{˜1‹~‰ˆØ�{‰{˜1‹~‰ˆØ�{‰{˜1‹~‰ˆà�|‰|˜AÓ!Ð!r†   c                	ó   € \         hr}   rÓ   ©r¤   rÚ  r	  s   &&&r„   r  ÚDMP._transform›  rÖ   r†   c                ó\   € V P                   '       d   \        R4      hV P                  4       # )ú&Computes the Sturm sequence of ``f``. r„  )rŽ   rv  Ú_sturmr£   s   &r„   ÚsturmÚ	DMP.sturmž  s#   € à�5�5ˆ5ÜÐ=Ó>Ð>à�x‰x‹zÐr†   c                	ó   € \         hr}   rÓ   r£   s   &r„   r  Ú
DMP._sturm¥  rÖ   r†   c                ó\   € V P                   '       d   \        R4      hV P                  4       # )ú7Computes the Cauchy upper bound on the roots of ``f``. r„  )rŽ   rv  Ú_cauchy_upper_boundr£   s   &r„   Úcauchy_upper_boundÚDMP.cauchy_upper_bound¨  ó&   € à�5�5ˆ5ÜÐ=Ó>Ð>à×$Ñ$Ó&Ð&r†   c                	ó   € \         hr}   rÓ   r£   s   &r„   r  ÚDMP._cauchy_upper_bound¯  rÖ   r†   c                ó\   € V P                   '       d   \        R4      hV P                  4       # )ú?Computes the Cauchy lower bound on the nonzero roots of ``f``. r„  )rŽ   rv  Ú_cauchy_lower_boundr£   s   &r„   Úcauchy_lower_boundÚDMP.cauchy_lower_bound²  r  r†   c                	ó   € \         hr}   rÓ   r£   s   &r„   r!  ÚDMP._cauchy_lower_bound¹  rÖ   r†   c                ó\   € V P                   '       d   \        R4      hV P                  4       # )úBComputes the squared Mignotte bound on root separations of ``f``. r„  )rŽ   rv  Ú_mignotte_sep_bound_squaredr£   s   &r„   Úmignotte_sep_bound_squaredÚDMP.mignotte_sep_bound_squared¼  s&   € à�5�5ˆ5ÜÐ=Ó>Ð>à×,Ñ,Ó.Ð.r†   c                	ó   € \         hr}   rÓ   r£   s   &r„   r(  ÚDMP._mignotte_sep_bound_squaredÃ  rÖ   r†   c                ó\   € V P                   '       d   \        R4      hV P                  4       # )ú4Computes greatest factorial factorization of ``f``. r„  )rŽ   rv  Ú	_gff_listr£   s   &r„   Úgff_listÚDMP.gff_listÆ  s#   € à�5�5ˆ5ÜÐ=Ó>Ð>à�{‰{‹}Ðr†   c                	ó   € \         hr}   rÓ   r£   s   &r„   r/  ÚDMP._gff_listÍ  rÖ   r†   c                ó   € \         h©zComputes ``Norm(f)``.rÓ   r£   s   &r„   ÚnormÚDMP.normÐ  rú   r†   c                ó   € \         h©z$Computes square-free norm of ``f``. rÓ   r£   s   &r„   Úsqf_normÚDMP.sqf_normÔ  rú   r†   c                ó   € \         h©z$Computes square-free part of ``f``. rÓ   r£   s   &r„   Úsqf_partÚDMP.sqf_partØ  rú   r†   c                ó   € \         h©ú0Returns a list of square-free factors of ``f``. rÓ   ©r¤   r³   s   &&r„   Úsqf_listÚDMP.sqf_listÜ  rú   r†   c                ó   € \         hrA  rÓ   rC  s   &&r„   Úsqf_list_includeÚDMP.sqf_list_includeà  rú   r†   c                ó   € \         h©ú0Returns a list of irreducible factors of ``f``. rÓ   r£   s   &r„   Úfactor_listÚDMP.factor_listä  rú   r†   c                ó   € \         hrJ  rÓ   r£   s   &r„   Úfactor_list_includeÚDMP.factor_list_includeè  rú   r†   c                ó4  € V P                   '       d   \        R4      hV'       d   V'       d   V P                  W#WER7      # V'       d   V'       g   V P                  W#WER7      # V'       g   V'       d   V P	                  W#WER7      # V P                  W#WER7      # )z0Compute isolating intervals for roots of ``f``. z1Cannot isolate roots of a multivariate polynomial©ÚepsÚinfÚsupÚfast)rŽ   rz   Ú_isolate_all_roots_sqfÚ_isolate_all_rootsÚ_isolate_real_roots_sqfÚ_isolate_real_roots)r¤   r³   rS  rT  rU  rV  Úsqfs   &&&&&&&r„   Ú	intervalsÚDMP.intervalsì  s~   € à�5�5ˆ5Ü!Ð"UÓVÐVç—3Ø×+Ñ+°À#Ð+ÓQÐQßŸØ×'Ñ'¨C¸cÐ'ÓMÐMßŸØ×,Ñ,°À3Ð,ÓRÐRà×(Ñ(¨S¸sÐ(ÓNÐNr†   c                	ó   € \         hr}   rÓ   ©r¤   rS  rT  rU  rV  s   &&&&&r„   rX  ÚDMP._isolate_all_rootsú  rÖ   r†   c                	ó   € \         hr}   rÓ   r_  s   &&&&&r„   rW  ÚDMP._isolate_all_roots_sqfý  rÖ   r†   c                	ó   € \         hr}   rÓ   r_  s   &&&&&r„   rZ  ÚDMP._isolate_real_roots   rÖ   r†   c                	ó   € \         hr}   rÓ   r_  s   &&&&&r„   rY  ÚDMP._isolate_real_roots_sqf  rÖ   r†   c                ód   € V P                   '       d   \        R4      hV P                  WW4VR7      # )z]
Refine an isolating interval to the given precision.

``eps`` should be a rational number.

z1Cannot refine a root of a multivariate polynomial©rS  ÚstepsrV  )rŽ   rz   Ú_refine_real_root©r¤   r4  ÚtrS  ri  rV  s   &&&&&&r„   Úrefine_rootÚDMP.refine_root  s9   € ð �5�5ˆ5Ü!ØCóEð Eð ×"Ñ" 1¨SÀDÐ"ÓIÐIr†   c                	ó   € \         hr}   rÓ   rk  s   &&&&&&r„   rj  ÚDMP._refine_real_root  rÖ   r†   c                ó   € \         h)ú<Return the number of real roots of ``f`` in ``[inf, sup]``. rÓ   ©r¤   rT  rU  s   &&&r„   Úcount_real_rootsÚDMP.count_real_roots  rú   r†   c                ó   € \         h)ú?Return the number of complex roots of ``f`` in ``[inf, sup]``. rÓ   rs  s   &&&r„   Úcount_complex_rootsÚDMP.count_complex_roots  rú   r†   c                ó   € \         h©z0Returns ``True`` if ``f`` is a zero polynomial. rÓ   r£   s   &r„   rK  ÚDMP.is_zero  ó
   € ô "Ð!r†   c                ó   € \         h©z0Returns ``True`` if ``f`` is a unit polynomial. rÓ   r£   s   &r„   Úis_oneÚ
DMP.is_one#  r}  r†   c                ó   € \         h©ú>Returns ``True`` if ``f`` is an element of the ground domain. rÓ   r£   s   &r„   Ú	is_groundÚDMP.is_ground(  r}  r†   c                ó   € \         h©z7Returns ``True`` if ``f`` is a square-free polynomial. rÓ   r£   s   &r„   Úis_sqfÚ
DMP.is_sqf-  r}  r†   c                ó   € \         h©z=Returns ``True`` if the leading coefficient of ``f`` is one. rÓ   r£   s   &r„   Úis_monicÚDMP.is_monic2  r}  r†   c                ó   € \         h©zAReturns ``True`` if the GCD of the coefficients of ``f`` is one. rÓ   r£   s   &r„   Úis_primitiveÚDMP.is_primitive7  r}  r†   c                ó   € \         h©ú:Returns ``True`` if ``f`` is linear in all its variables. rÓ   r£   s   &r„   Ú	is_linearÚDMP.is_linear<  r}  r†   c                ó   € \         h©ú=Returns ``True`` if ``f`` is quadratic in all its variables. rÓ   r£   s   &r„   Úis_quadraticÚDMP.is_quadraticA  r}  r†   c                ó   € \         h©ú8Returns ``True`` if ``f`` is zero or has only one term. rÓ   r£   s   &r„   Úis_monomialÚDMP.is_monomialF  r}  r†   c                ó   € \         h©ú7Returns ``True`` if ``f`` is a homogeneous polynomial. rÓ   r£   s   &r„   Úis_homogeneousÚDMP.is_homogeneousK  r}  r†   c                ó   € \         h©ú:Returns ``True`` if ``f`` has no factors over its domain. rÓ   r£   s   &r„   Úis_irreducibleÚDMP.is_irreducibleP  r}  r†   c                ó   € \         h)ú6Returns ``True`` if ``f`` is a cyclotomic polynomial. rÓ   r£   s   &r„   Úis_cyclotomicÚDMP.is_cyclotomicU  r}  r†   c                	ó"   € V P                  4       # r}   )r�  r£   s   &r„   Ú__abs__ÚDMP.__abs__Z  ó   € Ø�u‰u‹wˆr†   c                	ó"   € V P                  4       # r}   ©r•  r£   s   &r„   Ú__neg__ÚDMP.__neg__]  r³  r†   c                	ó¢   € \        V\        4      '       d   V P                  V4      #  V P                  V4      #   \         d
    \
        u # i ; ir}   )r‘   r‹   r·  r›  r   ÚNotImplementedr  s   &&r„   Ú__add__ÚDMP.__add__`  óD   € Ü�aœ×ÒØ—5‘5˜“8ˆOð&Ø—|‘| A“Ð&øÜ!ô &Ü%Ò%ð&úó   ©: ºAÁAc                	ó$   € V P                  V4      # r}   ©rº  r  s   &&r„   Ú__radd__ÚDMP.__radd__i  ó   € Ø�y‰y˜‹|Ðr†   c                	ó¢   € \        V\        4      '       d   V P                  V4      #  V P                  V4      #   \         d
    \
        u # i ; ir}   )r‘   r‹   r½  r¡  r   r¹  r  s   &&r„   Ú__sub__ÚDMP.__sub__l  r¼  r½  c                	ó&   € V ) P                  V4      # r}   r¿  r  s   &&r„   Ú__rsub__ÚDMP.__rsub__u  ó   € Ø��|‰|˜A‹Ðr†   c                	ó¢   € \        V\        4      '       d   V P                  V4      #  V P                  V4      #   \         d
    \
        u # i ; ir}   )r‘   r‹   rÂ  r¦  r   r¹  r  s   &&r„   Ú__mul__ÚDMP.__mul__x  r¼  r½  c                	ó$   € V P                  V4      # r}   ©rË  r  s   &&r„   Ú__rmul__ÚDMP.__rmul__�  rÂ  r†   c                	ó¢   € \        V\        4      '       d   V P                  V4      #  V P                  V4      #   \         d
    \
        u # i ; ir}   )r‘   r‹   rù  r¦  r   r¹  r  s   &&r„   Ú__truediv__ÚDMP.__truediv__„  sE   € Ü�aœ×ÒØ—7‘7˜1“:Ðð&Ø—|‘| A“Ð&øÜ!ô &Ü%Ò%ð&úr½  c                	óÜ   € \        V\        4      '       d   VP                  V 4      #  V P                  4       P	                  V4      P                  V 4      #   \
         d
    \        u # i ; ir}   )r‘   r‹   rù  rß   r¦  r   r¹  r  s   &&r„   Ú__rtruediv__ÚDMP.__rtruediv__�  sY   € Ü�aœ×ÒØ—7‘7˜1“:Ðð&Ø—v‘v“x×*Ñ*¨1Ó-×3Ñ3°AÓ6Ð6øÜ!ô &Ü%Ò%ð&ús   ©-A ÁA+Á*A+c                	ó$   € V P                  V4      # r}   ©rÐ  rÏ  s   &&r„   Ú__pow__ÚDMP.__pow__–  ó   € Ø�u‰u�Q‹xˆr†   c                	ó$   € V P                  V4      # r}   ©rê  r  s   &&r„   Ú
__divmod__ÚDMP.__divmod__™  rÛ  r†   c                	ó$   € V P                  V4      # r}   ©rï  r  s   &&r„   Ú__mod__ÚDMP.__mod__œ  rÛ  r†   c                	ó¢   € \        V\        4      '       d   V P                  V4      #  V P                  V4      #   \         d
    \
        u # i ; ir}   )r‘   r‹   rô  r«  rÍ  r¹  r  s   &&r„   Ú__floordiv__ÚDMP.__floordiv__Ÿ  sD   € Ü�aœ×ÒØ—5‘5˜“8ˆOð&Ø—|‘| A“Ð&øÜô &Ü%Ò%ð&úr½  c                	ó¶   € WJ d   R # \        V\        4      '       g   \        #  V P                  V4      w  r#VP	                  V4      #   \
         d     R# i ; i©TF)r‘   r‹   r¹  r  Ú
_strict_eqry   rµ  s   &&  r„   Ú__eq__Ú
DMP.__eq__¨  sU   € Ø‹6ÙÜ˜!œS×!Ò!Ü!Ð!ð	#Ø—;‘;˜q“>‰DˆAð —<‘< “?Ð"øô !ô 	Úð	ús   ¥A	 Á	AÁAc                	ó   € \         hr}   rÓ   r  s   &&r„   ré  ÚDMP._strict_eq´  rÖ   r†   c                	ó<   € V'       g   W8H  # V P                  V4      # r}   )ré  ©r¤   r  Ústricts   &&&r„   ÚeqÚDMP.eq·  s   € ßØ‘6ˆMà—<‘< “?Ð"r†   c                	ó0   € V P                  WR 7      '       * # ))rð  )rñ  rï  s   &&&r„   ÚneÚDMP.ne½  s   € Ø—4‘4˜�4Ó)Ô)Ð)r†   c                	ój   € V P                  V4      w  r#VP                  4       VP                  4       8  # r}   ©r  r¢   rµ  s   &&  r„   Ú__lt__Ú
DMP.__lt__À  ó(   € Ø�{‰{˜1‹~‰ˆØ�y‰y‹{˜QŸY™Y›[Ñ(Ð(r†   c                	ój   € V P                  V4      w  r#VP                  4       VP                  4       8*  # r}   r÷  rµ  s   &&  r„   Ú__le__Ú
DMP.__le__Ä  ó(   € Ø�{‰{˜1‹~‰ˆØ�y‰y‹{˜aŸi™i›kÑ)Ð)r†   c                	ój   € V P                  V4      w  r#VP                  4       VP                  4       8„  # r}   r÷  rµ  s   &&  r„   Ú__gt__Ú
DMP.__gt__È  rú  r†   c                	ój   € V P                  V4      w  r#VP                  4       VP                  4       8¬  # r}   r÷  rµ  s   &&  r„   Ú__ge__Ú
DMP.__ge__Ì  rþ  r†   c                	ó$   € V P                   '       * # r}   )rK  r£   s   &r„   Ú__bool__ÚDMP.__bool__Ð  s   € Ø—9‘9Œ}Ðr†   r‰   r}   rˆ   rJ  ©é   r«   ©T)FNNNFF)NNF©NN)Õrç   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__Ú__annotations__r˜   Úclassmethodr”   Úpropertyr—   r¨   r·   r»   r¾   rÁ   rÈ   rÐ   rË   rÙ   rÜ   rß   rè   rí   rò   rø   r  r  r  r  r¢   rì   r$  r(  r-  r7  r1  r2  rÇ   rÆ   rA  rL  rT  r[  r^  rc  rb  rj  rq  rw  r~  rz  r†  rƒ  rŒ  r�  r•  r›  r¡  r¦  r«  r°  r·  r½  rÂ  rÇ  rÐ  rÕ  rÛ  rà  rå  rê  rï  rô  rù  r™  r   r¥  rª  r¯  r´  r¼  rÁ  rÆ  rÎ  rÔ  rÚ  rß  rä  ré  rî  ró  rø  rW  r"  r)  r.  r;  rA  rE  rI  rR  rO  rX  r\  r`  rd  rj  rh  rq  rp  r{  rx  rw  r†  r…  rŽ  r�  r•  r”  rœ  r›  r£  r¢  r­  r«  r³  r¸  r·  r¿  r¾  rÆ  rÅ  rÐ  rÎ  rÍ  rÛ  rØ  rá  rå  ré  rî  rí  rõ  rô  rü  r  rû  r  r  r  r  r  r  r"  r!  r)  r(  r0  r/  r6  r:  r>  rD  rG  rL  rO  r\  rX  rW  rZ  rY  rm  rj  rt  rx  rK  r€  r…  r‰  r�  r‘  r–  r›  r   r¥  rª  r®  r±  r¶  rº  rÀ  rÄ  rÇ  rË  rÏ  rÒ  rÕ  rÙ  rÞ  râ  rå  rê  ré  rñ  rô  rø  rü  r   r  r  Ú__static_attributes__r‰   r†   r„   r‹   r‹   Š   sR  ‡ Ù3à€Ià	ƒHØ	ƒKô&ð ñ	.ó ð	.ð ñó ðò 
ð ñó ðð ñ&ó ð&ð ñCó ðCð ñ@ó ð@ð ñ>ó ð>ò3ò&"ð ñ,ó ð,ð ñ0ó ð0ò"òIòHò2ò"ò
ôAôò0ò"ò"ò+ò,ò,ô)ò"ò"ô6ô6ô)ô"ò%ò
Cò
Hò#ò"ò"ô"ô"òò&"òò&"ò"ò"ò"ò/ò/ò/ò/ò1òò
ò
ò
òòò
ò
ò
ò
ò
ò
ò
ò
"ò"ò"ò"ò"ò"ò"ò"ò"ò"ò"ò"ò"ò"ò"ò"ò"ò"ôò"ò"ò"òEò&ò "ò"ò?ò"ò"ò"ò"ò"ô"ò"ôò"ô
ò"ò"ò ò"ò
ò"òò"òò"ò#ò
"ô#ô"ò"òò
"òò
"òò
"ô ò"ò"ò*ò"ò"ò"ò"òò
"òò"ò*ò ò
"ò	"ò"òò"ò'ò"ò'ò"ò/ò"òò"ò"ò"ò"ô"ô"ò"ò"ôOò"ò"ò"ò"ôJò"ô"ô"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"ð ñ"ó ð"òòò&òò&òò&òò&ò&òòòò&ò
#ò"ô#ô*ò)ò*ò)ò*ör†   r‹   c                  óJ  € ] tR tRtRtRpt]R 4       tR tR t	R t
R tR tR	 tR
 tR tR tR tR tRqR ltR tR tRrR ltRrR ltR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,R* t-R+ t.RsR, lt/R- t0R. t1R/ t2R0 t3R1 t4R2 t5R3 t6R4 t7R5 t8RtR6 lt9RtR7 lt:R8 t;R9 t<R: t=R; t>R< t?R= t@R> tAR? tBR@ tCRA tDRB tERC tFRD tGRE tHRF tIRG tJRH tKRI tLRJ tMRK tNRL tORM tPRN tQRO tRRP tSRQ tTRR tURS tVRT tWRU tXRV tYRW tZRrRX lt[RrRY lt\RZ t]R[ t^R\ t_R] t`R^ taR_ tbR` tcRuRa ltdRuRb lte]fRc 4       tg]fRd 4       th]fRe 4       ti]fRf 4       tj]fRg 4       tk]fRh 4       tl]fRi 4       tm]fRj 4       tn]fRk 4       to]fRl 4       tp]fRm 4       tq]fRn 4       trRotsR# )vr�   iÔ  rŒ   c                	óT   € \         P                  V 4      pWn        W4n        W$n        V# r}   )Úobjectr˜   r§   rŽ   r�   )r–   r—   r�   rŽ   Úobjs   &&&& r„   rœ   ÚDMP_Python._newÙ  s$   € ä�n‰n˜SÓ!ˆØŒØŒØŒØˆ
r†   c                	óî   € \        V 4      \        V4      8w  d   R # V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # rˆ   )r“   rŽ   r�   r§   r  s   &&r„   ré  ÚDMP_Python._strict_eqá  sP   € Ü�‹7”d˜1“gÔÙØ�u‰u˜Ÿ™‰~×EÐE !§%¡%¨1¯5©5¡.×EÐE°Q·V±V¸q¿v¹vÑ5EÐEr†   c                óN   € V P                  WP                  V P                  4      # ©z.Create a DMP out of the given representation. )rœ   r�   rŽ   ©r¤   r—   s   &&r„   ÚperÚDMP_Python.peræ  s   € à�v‰v�cŸ5™5 !§%¡%Ó(Ð(r†   c                óv   € V P                  \        WP                  4      V P                  V P                  4      # rõ   )rœ   r   rŽ   r�   rö   s   &&r„   rø   ÚDMP_Python.ground_newê  s&   € à�v‰v”j ¯©Ó.°·±°q·u±uÓ=Ð=r†   c                	óN   € V P                  V P                  V P                  4      # r}   )rÜ   rŽ   r�   r£   s   &r„   rß   ÚDMP_Python._oneî  s   € Ø�u‰u�Q—U‘U˜AŸE™EÓ"Ð"r†   c                ó@  a aa€ \        V\        4      '       d   S P                  VP                  8w  d   \        RS : RV: 24      hS P                  VP                  8X  d:   S P                  S P                  S P
                  S P                  VP                  3# S P                  S P                  P                  VP                  4      uoo\        S P                  SS P                  S4      p\        VP                  SVP                  S4      pVV V3R lpSSWBV3# )z7Unify representations of two multivariate polynomials. rý   rþ   c                ó*   <€ SP                  V SS4      # r}   )rœ   )r—   r�   r¤   rŽ   s   &€€€r„   r  ÚDMP_Python.unify.<locals>.per   s   ø€ Ø—v‘v˜c 3¨Ó,Ð,r†   )	r‘   r‹   rŽ   ry   r�   r  r§   rÿ   r   )r¤   r  r}  r¶  r  r�   rŽ   s   f&   @@r„   rÿ   ÚDMP_Python.unifyñ  sÊ   ú€ ô ˜!œS×!Ò! Q§U¡U¨a¯e©e¤^Ý#ÃÂAÐ$FÓGÐGà�5‰5�A—E‘EŒ>Ø—5‘5˜!Ÿ%™% §¡¨¯©°·±Ð6Ð6à—u‘u˜aŸe™eŸk™k¨!¯%©%Ó0ˆHˆC�ä˜AŸF™F C¨¯©°Ó4ˆAÜ˜AŸF™F C¨¯©°Ó4ˆA÷-ð ˜˜S QÐ&Ð&r†   c                ól   € \         P                  V P                  V P                  V P                  4      # )z)Convert ``f`` to a Flint representation. )r›   rœ   r§   r�   rŽ   r£   s   &r„   rÍ   ÚDMP_Python.to_DUP_Flint  s!   € ä�~‰~˜aŸf™f a§e¡e¨Q¯U©UÓ3Ð3r†   c                ó,   € \        V P                  4      # r  )r’   r§   r£   s   &r„   r¢   ÚDMP_Python.to_list	  s   € ä�A—F‘F‹|Ðr†   c                óB   € \        V P                  V P                  4      # ©zBConvert ``f`` to a tuple representation with native coefficients. )r0   r§   rŽ   r£   s   &r„   rì   ÚDMP_Python.to_tuple  s   € ä˜AŸF™F A§E¡EÓ*Ð*r†   c                óŽ   € V P                  \        V P                  V P                  V P                  V4      WP                  4      # )ú$Convert the ground domain of ``f``. )rœ   r   r§   rŽ   r�   rÏ   s   &&r„   rË   ÚDMP_Python._convert  s.   € à�v‰v”k !§&¡&¨!¯%©%°·±¸Ó<¸cÇ5Á5ÓIÐIr†   c                ó�   € \        V P                  WV P                  4      pV P                  W0P                  V P                  4      # r0  )r-   r§   r�   rœ   rŽ   )r¤   r4  r5  r—   s   &&& r„   r1  ÚDMP_Python._slice  s1   € ä˜Ÿ™  a§e¡eÓ,ˆØ�v‰v�cŸ5™5 !§%¡%Ó(Ð(r†   c                ó¦   € \        V P                  WW0P                  V P                  4      pV P	                  W@P                  V P                  4      # r0  )r.   r§   rŽ   r�   rœ   )r¤   r4  r5  r6  r—   s   &&&& r„   r2  ÚDMP_Python._slice_lev  s7   € ä˜1Ÿ6™6 1¨¯E©E°1·5±5Ó9ˆØ�v‰v�cŸ5™5 !§%¡%Ó(Ð(r†   Nc                ó\   € \        V P                  V P                  V P                  VR7      # )rI  r>  )r+   r§   rŽ   r�   rP  s   &&r„   rL  ÚDMP_Python._terms  s   € ä˜aŸf™f a§e¡e¨Q¯U©U¸%Ô@Ð@r†   c                ó¸   € \        V P                  V P                  V P                  4      pV P	                  WP                  P                  V P                  4      # ra  )rX   r§   rŽ   r�   rœ   ©r¤   r´   s   & r„   rb  ÚDMP_Python._lift#  s9   € ä�Q—V‘V˜QŸU™U A§E¡EÓ*ˆØ�v‰v�aŸ™Ÿ™ A§E¡EÓ*Ð*r†   c                ó€   € \        V P                  V P                  V P                  4      w  rWP	                  V4      3# rh  )r'   r§   rŽ   r�   r  r{  s   &  r„   rj  ÚDMP_Python.deflate(  s.   € ä˜1Ÿ6™6 1§5¡5¨!¯%©%Ó0‰ˆØ—%‘%˜“(ˆ{Ðr†   c                ó¬   € \        V P                  V P                  V P                  VR7      w  r#V P	                  W P                  P                  V4      # )rn  ©rp  )r(   r§   rŽ   r�   rœ   )r¤   rp  r}  rŽ   s   &&  r„   rq  ÚDMP_Python.inject-  s9   € ä˜AŸF™F A§E¡E¨1¯5©5¸Ô>‰ˆà�v‰v�aŸ™Ÿ™ CÓ(Ð(r†   c                ó²   € \        V P                  V P                  WR7      pV P                  W1V P                  \	        VP
                  4      ,
          4      # )ru  r?  )r)   r§   rŽ   rœ   r1  Úsymbols)r¤   r�   rp  r}  s   &&& r„   rw  ÚDMP_Python.eject3  s;   € ä�a—f‘f˜aŸe™e SÔ6ˆà�v‰v�a˜aŸe™e¤c¨#¯+©+Ó&6Õ6Ó7Ð7r†   c                ó˜   € \        V P                  V P                  V P                  4      w  rpWP	                  W P                  V4      3# ©z&Remove useless generators from ``f``. )r,   r§   rŽ   r�   rœ   )r¤   r|  r}  Úus   &   r„   rz  ÚDMP_Python._exclude9  s8   € ä˜aŸf™f a§e¡e¨Q¯U©UÓ3‰ˆˆaà—&‘&˜ŸE™E 1Ó%Ð%Ð%r†   c                óv   € V P                  \        V P                  WP                  V P                  4      4      # ©z6Returns a polynomial in `K[x_{P(1)}, ..., x_{P(n)}]`. )r  r/   r§   rŽ   r�   r„  s   &&r„   rƒ  ÚDMP_Python._permute?  s&   € à�u‰u”[ §¡¨¯E©E°1·5±5Ó9Ó:Ð:r†   c                ó€   € \        V P                  V P                  V P                  4      w  rWP	                  V4      3# r‹  )r*   r§   rŽ   r�   r  r{  s   &  r„   rŒ  ÚDMP_Python.terms_gcdC  s.   € ä˜QŸV™V Q§U¡U¨A¯E©EÓ2‰ˆØ—%‘%˜“(ˆ{Ðr†   c                óv   € V P                  \        V P                  WP                  V P                  4      4      # r˜  )r  r1   r§   rŽ   r�   rš  s   &&r„   r™  ÚDMP_Python._add_groundH  ó&   € à�u‰u”^ A§F¡F¨A¯u©u°a·e±eÓ<Ó=Ð=r†   c                óv   € V P                  \        V P                  WP                  V P                  4      4      # rŸ  )r  r2   r§   rŽ   r�   rš  s   &&r„   r   ÚDMP_Python._sub_groundL  rO  r†   c                óv   € V P                  \        V P                  WP                  V P                  4      4      # r¤  )r  r3   r§   rŽ   r�   rš  s   &&r„   r¥  ÚDMP_Python._mul_groundP  rO  r†   c                óv   € V P                  \        V P                  WP                  V P                  4      4      # r©  )r  r4   r§   rŽ   r�   rš  s   &&r„   rª  ÚDMP_Python._quo_groundT  rO  r†   c                óv   € V P                  \        V P                  WP                  V P                  4      4      # r®  )r  r5   r§   rŽ   r�   rš  s   &&r„   r¯  ÚDMP_Python._exquo_groundX  ó'   € à�u‰uÔ% a§f¡f¨a·±¸¿¹Ó>Ó?Ð?r†   c                óv   € V P                  \        V P                  V P                  V P                  4      4      # r�  )r  r6   r§   rŽ   r�   r£   s   &r„   r�  ÚDMP_Python.abs\  ó&   € à�u‰u”W˜QŸV™V Q§U¡U¨A¯E©EÓ2Ó3Ð3r†   c                óv   € V P                  \        V P                  V P                  V P                  4      4      # r“  )r  r7   r§   rŽ   r�   r£   s   &r„   r•  ÚDMP_Python.neg`  r[  r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # r³  )r  r8   r§   rŽ   r�   r  s   &&r„   r´  ÚDMP_Python._addd  ó,   € à�u‰u”W˜QŸV™V Q§V¡V¨Q¯U©U°A·E±EÓ:Ó;Ð;r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # r»  )r  r9   r§   rŽ   r�   r  s   &&r„   r¼  ÚDMP_Python._subh  r`  r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # rÀ  )r  r:   r§   rŽ   r�   r  s   &&r„   rÁ  ÚDMP_Python._mull  r`  r†   c                óv   € V P                  \        V P                  V P                  V P                  4      4      # rÅ  )r  r;   r§   rŽ   r�   r£   s   &r„   rÇ  ÚDMP_Python.sqrp  r[  r†   c                óv   € V P                  \        V P                  WP                  V P                  4      4      # ©rË  )r  r<   r§   rŽ   r�   rÏ  s   &&r„   rÎ  ÚDMP_Python._powt  s&   € à�u‰u”W˜QŸV™V Q¯©¨q¯u©uÓ5Ó6Ð6r†   c                ó¶   € \        V P                  VP                  V P                  V P                  4      w  r#V P	                  V4      V P	                  V4      3# rÓ  )r=   r§   rŽ   r�   r  ©r¤   r  r	  r´   s   &&  r„   rÔ  ÚDMP_Python._pdivx  s?   € ä˜Ÿ™ §¡¨¯©¨q¯u©uÓ5‰ˆØ�u‰u�Q‹x˜Ÿ™˜q›Ð!Ð!r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # rÙ  )r  r>   r§   rŽ   r�   r  s   &&r„   rÚ  ÚDMP_Python._prem}  ó,   € à�u‰u”X˜aŸf™f a§f¡f¨a¯e©e°Q·U±UÓ;Ó<Ð<r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # rÞ  )r  r?   r§   rŽ   r�   r  s   &&r„   rß  ÚDMP_Python._pquo�  ro  r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # rã  )r  r@   r§   rŽ   r�   r  s   &&r„   rä  ÚDMP_Python._pexquo…  s,   € à�u‰u”Z §¡¨¯©°·±°q·u±uÓ=Ó>Ð>r†   c                ó¶   € \        V P                  VP                  V P                  V P                  4      w  r#V P	                  V4      V P	                  V4      3# rè  )rA   r§   rŽ   r�   r  rk  s   &&  r„   ré  ÚDMP_Python._div‰  s?   € ä�q—v‘v˜qŸv™v q§u¡u¨a¯e©eÓ4‰ˆØ�u‰u�Q‹x˜Ÿ™˜q›Ð!Ð!r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # rí  )r  rB   r§   rŽ   r�   r  s   &&r„   rî  ÚDMP_Python._remŽ  r`  r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # rò  )r  rC   r§   rŽ   r�   r  s   &&r„   ró  ÚDMP_Python._quo’  r`  r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # r÷  )r  rD   r§   rŽ   r�   r  s   &&r„   rø  ÚDMP_Python._exquo–  s,   € à�u‰u”Y˜qŸv™v q§v¡v¨q¯u©u°a·e±eÓ<Ó=Ð=r†   c                óB   € \        V P                  WP                  4      # )r!  )r   r§   rŽ   r#  s   &&r„   r"  ÚDMP_Python._degreeš  s   € ä˜QŸV™V Q¯©Ó.Ð.r†   c                óB   € \        V P                  V P                  4      # r(  )r   r§   rŽ   r£   s   &r„   r)  ÚDMP_Python.degree_listž  s   € ä˜qŸv™v q§u¡uÓ-Ð-r†   c                óB   € \        R V P                  4        4       4      # )r-  c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5ir}   ©r2  )r¯   r4  s   & r„   r±   Ú*DMP_Python.total_degree.<locals>.<genexpr>¤  s   é € Ð.¡:˜a”3�q—6�6£:ùs   ‚)ÚmaxrÆ   r£   s   &r„   r.  ÚDMP_Python.total_degree¢  s   € äÑ. 1§8¡8¤:Ó.Ó.Ð.r†   c                óX   € \        V P                  V P                  V P                  4      # rD  )r   r§   rŽ   r�   r£   s   &r„   rE  ÚDMP_Python.LC¦  ó   € ä˜QŸV™V Q§U¡U¨A¯E©EÓ2Ð2r†   c                óX   € \        V P                  V P                  V P                  4      # rH  )r   r§   rŽ   r�   r£   s   &r„   rI  ÚDMP_Python.TCª  rˆ  r†   c                óX   € \        V P                  WP                  V P                  4      # ©rL  )r   r§   rŽ   r�   rP  s   &&r„   rO  ÚDMP_Python._nth®  s   € ä˜aŸf™f a¯©°·±Ó6Ð6r†   c                óX   € \        V P                  V P                  V P                  4      # rW  )rG   r§   rŽ   r�   r£   s   &r„   rX  ÚDMP_Python.max_norm²  s   € ä˜AŸF™F A§E¡E¨1¯5©5Ó1Ð1r†   c                óX   € \        V P                  V P                  V P                  4      # r[  )rH   r§   rŽ   r�   r£   s   &r„   r\  ÚDMP_Python.l1_norm¶  s   € ä˜1Ÿ6™6 1§5¡5¨!¯%©%Ó0Ð0r†   c                óX   € \        V P                  V P                  V P                  4      # r_  )rI   r§   rŽ   r�   r£   s   &r„   r`  ÚDMP_Python.l2_norm_squaredº  s   € ä" 1§6¡6¨1¯5©5°!·%±%Ó8Ð8r†   c                ó€   € \        V P                  V P                  V P                  4      w  rWP	                  V4      3# rc  )rJ   r§   rŽ   r�   r  )r¤   r÷   r}  s   &  r„   rd  ÚDMP_Python.clear_denoms¾  s.   € ä# A§F¡F¨A¯E©E°1·5±5Ó9‰ˆØ—e‘e˜A“hˆÐr†   c           	     óx   € V P                  \        V P                  WV P                  V P                  4      4      # )rg  )r  rK   r§   rŽ   r�   ri  s   &&&r„   rh  ÚDMP_Python._integrateÃ  s)   € à�u‰uÔ% a§f¡f¨a°A·E±E¸1¿5¹5ÓAÓBÐBr†   c           	     óx   € V P                  \        V P                  WV P                  V P                  4      4      # )ro  )r  rL   r§   rŽ   r�   ri  s   &&&r„   rp  ÚDMP_Python._diffÇ  s(   € à�u‰u”[ §¡¨¨q¯u©u°a·e±eÓ<Ó=Ð=r†   c                	óŽ   € \        V P                  V P                  P                  V4      ^ V P                  V P                  4      # rJ  )rM   r§   r�   rÐ   rŽ   r~  s   &&r„   rx  ÚDMP_Python._evalË  s.   € Ü˜1Ÿ6™6 1§5¡5§=¡=°Ó#3°Q¸¿¹¸q¿u¹uÓEÐEr†   c                	óæ   € \        V P                  V P                  P                  V4      W P                  V P                  4      pV P                  W0P                  V P                  ^,
          4      # ©r	  )rM   r§   r�   rÐ   rŽ   r”   )r¤   rz  r6  r—   s   &&& r„   rw  ÚDMP_Python._eval_levÎ  sH   € Ü˜!Ÿ&™& !§%¡%§-¡-°Ó"2°A·u±u¸a¿e¹eÓDˆØ�u‰u�SŸ%™% §¡¨¥Ó+Ð+r†   c                ó    € \        V P                  VP                  V P                  4      w  r#V P                  V4      V P                  V4      3# )rƒ  )rY   r§   r�   r  ©r¤   r  r4  Úhs   &&  r„   r…  ÚDMP_Python._half_gcdexÒ  s9   € ä˜aŸf™f a§f¡f¨a¯e©eÓ4‰ˆØ�u‰u�Q‹x˜Ÿ™˜q›Ð!Ð!r†   c                óÂ   € \        V P                  VP                  V P                  4      w  r#pV P                  V4      V P                  V4      V P                  V4      3# )r‹  )rZ   r§   r�   r  )r¤   r  r4  rl  r¡  s   &&   r„   r�  ÚDMP_Python._gcdex×  sE   € ä˜AŸF™F A§F¡F¨A¯E©EÓ2‰ˆˆaØ�u‰u�Q‹x˜Ÿ™˜q› 1§5¡5¨£8Ð+Ð+r†   c                óz   € \        V P                  VP                  V P                  4      pV P                  V4      # )r“  )r[   r§   r�   r  )r¤   r  r4  s   && r„   r”  ÚDMP_Python._invertÜ  s)   € ä�q—v‘v˜qŸv™v q§u¡uÓ-ˆØ�u‰u�Q‹xˆr†   c                ó`   € V P                  \        V P                  WP                  4      4      # ©rš  )r  rN   r§   r�   rÏ  s   &&r„   r›  ÚDMP_Python._revertá  s    € à�u‰u”Z §¡¨¯5©5Ó1Ó2Ð2r†   c                ó¬   € \        V P                  VP                  V P                  V P                  4      p\	        \        V P                  V4      4      # r¡  )r\   r§   rŽ   r�   r’   Úmapr  ©r¤   r  ÚRs   && r„   r¢  ÚDMP_Python._subresultantså  s7   € ä˜aŸf™f a§f¡f¨a¯e©e°Q·U±UÓ;ˆÜ”C˜Ÿ™˜q“MÓ"Ð"r†   c                ó6  € \        V P                  VP                  V P                  V P                  RR7      w  r#V P                  '       d.   V P	                  W P                  V P                  ^,
          4      pV\        \        V P                  V4      4      3# )r©  T)r¬  )r]   r§   rŽ   r�   r”   r’   r«  r  ©r¤   r  Úresr­  s   &&  r„   rª  Ú DMP_Python._resultant_includePRSê  se   € ä˜qŸv™v q§v¡v¨q¯u©u°a·e±eÈÔM‰ˆØ�5�5ˆ5Ø—%‘%˜ŸU™U A§E¡E¨A¥IÓ.ˆCØ”Dœ˜QŸU™U A›Ó'Ð'Ð'r†   c                	óð   € \        V P                  VP                  V P                  V P                  4      pV P                  '       d.   V P	                  W P                  V P                  ^,
          4      pV# r�  )r]   r§   rŽ   r�   r”   )r¤   r  r±  s   && r„   r«  ÚDMP_Python._resultantñ  sL   € Ü˜AŸF™F A§F¡F¨A¯E©E°1·5±5Ó9ˆØ�5�5ˆ5Ø—%‘%˜ŸU™U A§E¡E¨A¥IÓ.ˆCØˆ
r†   c                óÚ   € \        V P                  V P                  V P                  4      pV P                  '       d.   V P	                  WP                  V P                  ^,
          4      pV# r²  )r^   r§   rŽ   r�   r”   )r¤   r±  s   & r„   r³  ÚDMP_Python.discriminant÷  sF   € ä˜qŸv™v q§u¡u¨a¯e©eÓ4ˆØ�5�5ˆ5Ø—%‘%˜ŸU™U A§E¡E¨A¥IÓ.ˆCØˆ
r†   c                óØ   € \        V P                  VP                  V P                  V P                  4      w  r#pV P	                  V4      V P	                  V4      V P	                  V4      3# r¶  )r_   r§   rŽ   r�   r  )r¤   r  r¡  ÚcffÚcfgs   &&   r„   r·  ÚDMP_Python._cofactorsþ  sK   € ä# A§F¡F¨A¯F©F°A·E±E¸1¿5¹5ÓA‰ˆ�Ø�u‰u�Q‹x˜Ÿ™˜s› Q§U¡U¨3£ZÐ/Ð/r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # r½  )r  r`   r§   rŽ   r�   r  s   &&r„   r¾  ÚDMP_Python._gcd  r`  r†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # rÄ  )r  ra   r§   rŽ   r�   r  s   &&r„   rÅ  ÚDMP_Python._lcm  r`  r†   c                ó¾   € \        V P                  VP                  V P                  V P                  RR7      w  r#rEW#V P	                  V4      V P	                  V4      3# )rÌ  F©rÏ  ©rb   r§   rŽ   r�   r  ©r¤   r  ÚcFÚcGr}  r¶  s   &&    r„   rÎ  ÚDMP_Python._cancel  sE   € ä! !§&¡&¨!¯&©&°!·%±%¸¿¹ÈÔN‰ˆ�Ø�q—u‘u˜Q“x §¡ q£Ð)Ð)r†   c                óº   € \        V P                  VP                  V P                  V P                  RR7      w  r#V P	                  V4      V P	                  V4      3# )rÌ  TrÀ  rÁ  rµ  s   &&  r„   rÍ  ÚDMP_Python._cancel_include  sA   € ä˜!Ÿ&™& !§&¡&¨!¯%©%°·±ÀÔE‰ˆØ�u‰u�Q‹x˜Ÿ™˜q›Ð!Ð!r†   c                óv   € V P                  \        V P                  WP                  V P                  4      4      # r×  )r  rO   r§   rŽ   r�   rÙ  s   &&r„   rØ  ÚDMP_Python._trunc  rX  r†   c                óv   € V P                  \        V P                  V P                  V P                  4      4      # rà  )r  rR   r§   rŽ   r�   r£   s   &r„   rá  ÚDMP_Python.monic  s'   € à�u‰uÔ% a§f¡f¨a¯e©e°Q·U±UÓ;Ó<Ð<r†   c                óX   € \        V P                  V P                  V P                  4      # rä  )rP   r§   rŽ   r�   r£   s   &r„   rå  ÚDMP_Python.content  s   € ä! !§&¡&¨!¯%©%°·±Ó7Ð7r†   c                ó€   € \        V P                  V P                  V P                  4      w  rWP	                  V4      3# rè  )rQ   r§   rŽ   r�   r  )r¤   Úcontr}  s   &  r„   ré  ÚDMP_Python.primitive!  s.   € ä& q§v¡v¨q¯u©u°a·e±eÓ<‰ˆØ—U‘U˜1“Xˆ~Ðr†   c                óŒ   € V P                  \        V P                  VP                  V P                  V P                  4      4      # rì  )r  rS   r§   rŽ   r�   r  s   &&r„   rí  ÚDMP_Python._compose&  s,   € à�u‰u”[ §¡¨¯©°·±¸¿¹Ó>Ó?Ð?r†   c           	     ó|   € \        \        V P                  \        V P                  V P
                  4      4      4      # ©ró  )r’   r«  r  rT   r§   r�   r£   s   &r„   rô  ÚDMP_Python._decompose*  s'   € ä”C˜Ÿ™œ}¨Q¯V©V°Q·U±UÓ;Ó<Ó=Ð=r†   c                ó`   € V P                  \        V P                  WP                  4      4      # ©rú  )r  rU   r§   r�   r~  s   &&r„   rû  ÚDMP_Python._shift.  s    € à�u‰u”Y˜qŸv™v q¯%©%Ó0Ó1Ð1r†   c                óv   € V P                  \        V P                  WP                  V P                  4      4      # rÿ  )r  rV   r§   rŽ   r�   r~  s   &&r„   r   ÚDMP_Python._shift_list2  s&   € à�u‰u”Y˜qŸv™v q¯%©%°·±Ó7Ó8Ð8r†   c                óŒ   € V P                  \        V P                  VP                  VP                  V P                  4      4      # ©r  )r  rW   r§   r�   r  s   &&&r„   r  ÚDMP_Python._transform6  s,   € à�u‰u”] 1§6¡6¨1¯6©6°1·6±6¸1¿5¹5ÓAÓBÐBr†   c           	     ó|   € \        \        V P                  \        V P                  V P
                  4      4      4      # ©r  )r’   r«  r  ru   r§   r�   r£   s   &r„   r  ÚDMP_Python._sturm:  s'   € ä”C˜Ÿ™œy¨¯©°·±Ó7Ó8Ó9Ð9r†   c                óB   € \        V P                  V P                  4      # ©r  )rv   r§   r�   r£   s   &r„   r  ÚDMP_Python._cauchy_upper_bound>  ó   € ä% a§f¡f¨a¯e©eÓ4Ð4r†   c                óB   € \        V P                  V P                  4      # ©r   )rw   r§   r�   r£   s   &r„   r!  ÚDMP_Python._cauchy_lower_boundB  rä  r†   c                óB   € \        V P                  V P                  4      # ©r'  )rx   r§   r�   r£   s   &r„   r(  Ú&DMP_Python._mignotte_sep_bound_squaredF  s   € ä-¨a¯f©f°a·e±eÓ<Ð<r†   c                ó˜   € \        V P                  V P                  4       UUu. uF  w  rV P                  V4      V3NK  	  upp# u uppi ©r.  )rc   r§   r�   r  )r¤   r  r  s   &  r„   r/  ÚDMP_Python._gff_listJ  s9   € ä+7¸¿¹ÀÇÁÔ+FÔHÑ+F¡4 1�!—%‘%˜“(˜A“Ñ+FÒHÐHùÓHs   ¤Ac                ó¸   € \        V P                  V P                  V P                  4      pV P	                  WP                  P                  V P                  4      # r5  )rd   r§   rŽ   r�   r”   r:  s   & r„   r6  ÚDMP_Python.normN  s9   € ä�Q—V‘V˜QŸU™U A§E¡EÓ*ˆØ�u‰u�QŸ™Ÿ	™	 1§5¡5Ó)Ð)r†   c                óà   € \        V P                  V P                  V P                  4      w  rpWP	                  V4      V P                  W0P                  P                  V P                  4      3# r9  )rf   r§   rŽ   r�   r  r”   )r¤   r4  r  r´   s   &   r„   r:  ÚDMP_Python.sqf_normS  sJ   € ä˜qŸv™v q§u¡u¨a¯e©eÓ4‰ˆˆaØ—%‘%˜“(˜AŸE™E !§U¡U§Y¡Y°·±Ó6Ð6Ð6r†   c                óv   € V P                  \        V P                  V P                  V P                  4      4      # r=  )r  rg   r§   rŽ   r�   r£   s   &r„   r>  ÚDMP_Python.sqf_partX  s&   € à�u‰u”\ !§&¡&¨!¯%©%°·±Ó7Ó8Ð8r†   c                óº   € \        V P                  V P                  V P                  V4      w  r#Y# UUu. uF  w  rEV P	                  V4      V3NK  	  upp3# u uppi rA  )rh   r§   rŽ   r�   r  ©r¤   r³   r÷   Úfactorsr  r  s   &&    r„   rD  ÚDMP_Python.sqf_list\  sK   € ä% a§f¡f¨a¯e©e°Q·U±U¸CÓ@‰ˆØ°'Ô;±'©$¨!˜Ÿ™˜q› 1›±'Ò;Ð;Ð;ùÓ;s   ´Ac                ó´   € \        V P                  V P                  V P                  V4      pV UUu. uF  w  r4V P	                  V4      V3NK  	  upp# u uppi rA  )ri   r§   rŽ   r�   r  ©r¤   r³   rö  r  r  s   &&   r„   rG  ÚDMP_Python.sqf_list_includea  sD   € ä& q§v¡v¨q¯u©u°a·e±e¸SÓAˆÙ+2Ô4©7¡4 1�!—%‘%˜“(˜A“©7Ò4Ð4ùÓ4s   ²Ac                ó¸   € \        V P                  V P                  V P                  4      w  rY UUu. uF  w  r4V P	                  V4      V3NK  	  upp3# u uppi rJ  )rl   r§   rŽ   r�   r  )r¤   r÷   rö  r  r  s   &    r„   rL  ÚDMP_Python.factor_listf  sI   € ä(¨¯©°·±¸¿¹Ó>‰ˆØ°'Ô;±'©$¨!˜Ÿ™˜q› 1›±'Ò;Ð;Ð;ùÓ;s   ³Ac                ó²   € \        V P                  V P                  V P                  4      pV UUu. uF  w  r#V P	                  V4      V3NK  	  upp# u uppi rJ  )rm   r§   rŽ   r�   r  ©r¤   rö  r  r  s   &   r„   rO  ÚDMP_Python.factor_list_includek  sB   € ä)¨!¯&©&°!·%±%¸¿¹Ó?ˆÙ+2Ô4©7¡4 1�!—%‘%˜“(˜A“©7Ò4Ð4ùÓ4s   ±Ac           	     	óH   € \        V P                  V P                  WW4R 7      # ©rR  )ro   r§   r�   r_  s   &&&&&r„   rZ  ÚDMP_Python._isolate_real_rootsp  s   € Ü% a§f¡f¨a¯e©e¸È3ÔZÐZr†   c           	     	óH   € \        V P                  V P                  WW4R 7      # r  )rn   r§   r�   r_  s   &&&&&r„   rY  Ú"DMP_Python._isolate_real_roots_sqfs  s   € Ü)¨!¯&©&°!·%±%¸SÈsÔ^Ð^r†   c           	     	óH   € \        V P                  V P                  WW4R 7      # r  )rq   r§   r�   r_  s   &&&&&r„   rX  ÚDMP_Python._isolate_all_rootsv  s   € Ü$ Q§V¡V¨Q¯U©U¸È#ÔYÐYr†   c           	     	óH   € \        V P                  V P                  WW4R 7      # r  )rp   r§   r�   r_  s   &&&&&r„   rW  Ú!DMP_Python._isolate_all_roots_sqfy  s   € Ü(¨¯©°·±¸CÈcÔ]Ð]r†   c           
     	óJ   € \        V P                  WV P                  W4VR 7      # )rh  )rr   r§   r�   rk  s   &&&&&&r„   rj  ÚDMP_Python._refine_real_root|  s   € Ü# A§F¡F¨A°!·%±%¸SÐTXÔYÐYr†   c                óF   € \        V P                  V P                  WR7      # ©rr  ©rT  rU  )rs   r§   r�   rs  s   &&&r„   rt  ÚDMP_Python.count_real_roots  s   € ä# A§F¡F¨A¯E©E°sÔDÐDr†   c                óF   € \        V P                  V P                  WR7      # ©rw  r  )rt   r§   r�   rs  s   &&&r„   rx  ÚDMP_Python.count_complex_rootsƒ  s   € ä& q§v¡v¨q¯u©u¸#ÔGÐGr†   c                óB   € \        V P                  V P                  4      # r{  )r!   r§   rŽ   r£   s   &r„   rK  ÚDMP_Python.is_zero‡  s   € ô ˜!Ÿ&™& !§%¡%Ó(Ð(r†   c                óX   € \        V P                  V P                  V P                  4      # r  )r"   r§   rŽ   r�   r£   s   &r„   r€  ÚDMP_Python.is_oneŒ  ó   € ô ˜Ÿ™ §¡¨¯©Ó.Ð.r†   c                óD   € \        V P                  RV P                  4      # )r„  N)r#   r§   rŽ   r£   s   &r„   r…  ÚDMP_Python.is_ground‘  s   € ô ˜AŸF™F D¨!¯%©%Ó0Ð0r†   c                óX   € \        V P                  V P                  V P                  4      # rˆ  )re   r§   rŽ   r�   r£   s   &r„   r‰  ÚDMP_Python.is_sqf–  r  r†   c                óŠ   € V P                   P                  \        V P                  V P                  V P                   4      4      # rŒ  )r�   r€  r   r§   rŽ   r£   s   &r„   r�  ÚDMP_Python.is_monic›  s,   € ð �u‰u�|‰|œM¨!¯&©&°!·%±%¸¿¹Ó?Ó@Ð@r†   c                óŠ   € V P                   P                  \        V P                  V P                  V P                   4      4      # r�  )r�   r€  rP   r§   rŽ   r£   s   &r„   r‘  ÚDMP_Python.is_primitive   s-   € ð �u‰u�|‰|Ô.¨q¯v©v°q·u±u¸a¿e¹eÓDÓEÐEr†   c                óF  € \         ;QJ dS    R \        V P                  V P                  V P                  4      P                  4        4       F  '       d   K   R# 	  R# ! R \        V P                  V P                  V P                  4      P                  4        4       4      # )r•  c              3  ó>   "  € T F  p\        V4      ^8*  x € K  	  R# 5i)r	  Nr‚  ©r¯   r?  s   & r„   r±   Ú'DMP_Python.is_linear.<locals>.<genexpr>¨  ó   é € ÐYÑ0X u”3�u“: –?Ó0Xùó   ‚FT©r³   r&   r§   rŽ   r�   Úkeysr£   s   &r„   r–  ÚDMP_Python.is_linear¥  ói   € ÷ ‹sÑY´¸A¿F¹FÀAÇEÁEÈ1Ï5É5Ó0Q×0VÑ0VÔ0XÓY�sŒsÐYŠsÐYˆsÑY´¸A¿F¹FÀAÇEÁEÈ1Ï5É5Ó0Q×0VÑ0VÔ0XÓYÓYÐYr†   c                óF  € \         ;QJ dS    R \        V P                  V P                  V P                  4      P                  4        4       F  '       d   K   R# 	  R# ! R \        V P                  V P                  V P                  4      P                  4        4       4      # )rš  c              3  ó>   "  € T F  p\        V4      ^8*  x € K  	  R# 5i)é   Nr‚  r!  s   & r„   r±   Ú*DMP_Python.is_quadratic.<locals>.<genexpr>­  r#  r$  FTr%  r£   s   &r„   r›  ÚDMP_Python.is_quadraticª  r(  r†   c                ó:   € \        V P                  4       4      ^8*  # rž  )r1  r  r£   s   &r„   r   ÚDMP_Python.is_monomial¯  s   € ô �1—9‘9“;Ó 1Ñ$Ð$r†   c                ó&   € V P                  4       RJ# )r¤  N)rA  r£   s   &r„   r¥  ÚDMP_Python.is_homogeneous´  s   € ð ×"Ñ"Ó$¨DÐ0Ð0r†   c                óX   € \        V P                  V P                  V P                  4      # r¨  )rk   r§   rŽ   r�   r£   s   &r„   rª  ÚDMP_Python.is_irreducible¹  s   € ô ! §¡¨¯©°·±Ó6Ð6r†   c                ój   € V P                   '       g!   \        V P                  V P                  4      # R# ©r­  F)rŽ   rj   r§   r�   r£   s   &r„   r®  ÚDMP_Python.is_cyclotomic¾  s%   € ð �u�uˆuÜ# A§F¡F¨A¯E©EÓ2Ð2ár†   r‰   )r§   r�   rŽ   r}   rˆ   rJ  r  r  )trç   r  r  r  r  r  r  rœ   ré  r  rø   rß   rÿ   rÍ   r¢   rì   rË   r1  r2  rL  rb  rj  rq  rw  rz  rƒ  rŒ  r™  r   r¥  rª  r¯  r�  r•  r´  r¼  rÁ  rÇ  rÎ  rÔ  rÚ  rß  rä  ré  rî  ró  rø  r"  r)  r.  rE  rI  rO  rX  r\  r`  rd  rh  rp  rx  rw  r…  r�  r”  r›  r¢  rª  r«  r³  r·  r¾  rÅ  rÎ  rÍ  rØ  rá  rå  ré  rí  rô  rû  r   r  r  r  r!  r(  r/  r6  r:  r>  rD  rG  rL  rO  rZ  rY  rX  rW  rj  rt  rx  r  rK  r€  r…  r‰  r�  r‘  r–  r›  r   r¥  rª  r®  r  r‰   r†   r„   r�   r�   Ô  sû  † Ù3à&€Iàñó ðòFò
)ò>ò#ò'ò(4òò+òJò)ò
)ô
Aò+ò
ô
)ô8ò&ò;òò
>ò>ò>ò>ò@ò4ò4ò<ò<ò<ò4ò7ò"ò
=ò=ò?ò"ò
<ò<ò>ô/ò.ò/ò3ò3ò7ò2ò1ò9òô
Cô>òFò,ò"ò
,ò
ò
3ò#ò
(òòò0ò
<ò<ò*ò
"ò
@ò=ò8òò
@ò>ò2ò9òCò:ò5ò5ò=òIò*ò
7ò
9ô<ô
5ò
<ò
5ò
[ò_òZò^òZôEôHð ñ)ó ð)ð ñ/ó ð/ð ñ1ó ð1ð ñ/ó ð/ð ñAó ðAð ñFó ðFð ñZó ðZð ñZó ðZð ñ%ó ð%ð ñ1ó ð1ð ñ7ó ð7ð ñó ôr†   r�   c                  ó~  € ] tR tRtRt^ tRstR t]R 4       t	R t
]R 4       t]R 4       t]R 4       tR	 tR
 tR tR tR tR tR tR tR tRtR ltR tR tRuR ltRuR ltR tR tR tR tR t R t!R t"R t#R  t$R! t%R" t&R# t'R$ t(R% t)R& t*R' t+R( t,R) t-R* t.R+ t/R, t0R- t1R. t2RvR/ lt3R0 t4R1 t5R2 t6R3 t7R4 t8R5 t9R6 t:R7 t;R8 t<RwR9 lt=RwR: lt>R; t?R< t@R= tAR> tBR? tCR@ tDRA tERB tFRC tGRD tHRE tIRF tJRG tKRH tLRI tMRJ tNRK tORL tPRM tQRN tRRO tSRP tTRQ tURR tVRS tWRT tXRU tYRV tZRW t[RX t\RY t]RuRZ lt^RuR[ lt_R\ t`R] taR^ tbR_ tcR` tdRa teRb tfRc tgRxRd lthRxRe lti]jRf 4       tk]jRg 4       tl]jRh 4       tm]jRi 4       tn]jRj 4       to]jRk 4       tp]jRl 4       tq]jRm 4       tr]jRn 4       ts]jRo 4       tt]jRp 4       tu]jRq 4       tvRrtwR# )yr›   iÇ  rŒ   c                	óh   € V P                   V P                  4       V P                  V P                  33# r}   )ræ   r¢   r�   rŽ   rð   s   &r„   Ú
__reduce__ÚDUP_Flint.__reduce__Î  s&   € Ø�~‰~ §¡£°·±¸$¿(¹(ÐCÐCÐCr†   c                	ó\   € V P                  VR R R1,          W#4      pV P                  W4      # ©Néÿÿÿÿ)Ú_flint_polyÚfrom_repr•   s   &&&&r„   rœ   ÚDUP_Flint._newÑ  s)   € à�o‰o˜c¡$ B $�i¨Ó2ˆØ�|‰|˜CÓ%Ð%r†   c                óJ   € V P                   P                  4       RRR1,          # )r  Nr=  )r§   rÇ   r£   s   &r„   r¢   ÚDUP_Flint.to_listÖ  s   € à�v‰v�}‰}‹™t ˜tÕ$Ð$r†   c                	ól   € \        V4      '       g   Q hV^ 8X  g   Q hV P                  V4      pV! V4      # rJ  )r…   Ú_get_flint_poly_cls)r–   r—   r�   rŽ   Ú	flint_clss   &&&& r„   r>  ÚDUP_Flint._flint_polyÚ  s8   € ä& s×+Ò+Ð+Ð+Ø�aŒxˆˆxØ×+Ñ+¨CÓ0ˆ	Ù˜‹~Ðr†   c                	óê   € VP                   '       d   \        P                  # VP                  '       d   \        P                  # VP
                  '       d   VP                  # \        R V,          4      h)ú%Domain %s is not supported with flint)r~   r{   Ú	fmpz_polyr   Ú	fmpq_polyr€   Ú	_poly_ctxrÎ   )r–   r�   s   &&r„   rD  ÚDUP_Flint._get_flint_poly_clsá  sL   € à�9�9ˆ9Ü—?‘?Ð"Ø�Y�YˆYÜ—?‘?Ð"Ø�Y�YˆYØ—=‘=Ð äÐFÈÕLÓMÐMr†   c                ó^  aa€ VP                   '       d4   \        V\        P                  4      '       g   Q h\        P                  pM¾VP                  '       d4   \        V\        P
                  4      '       g   Q h\        P
                  pMyVP                  '       dV   \        V\        P                  \        P                  34      '       g   Q hVP                  4       o\        V4      oVV3R lpM\        RV,          4      h\        P                  V 4      pW$n        Wn        W4n        V# )z,Create a DMP from the given representation. c                ó   <€ S! V S4      # r}   r‰   )ÚeÚ_DUP_Flint__clsr°   s   &€€r„   Ú<lambda>Ú$DUP_Flint.from_rep.<locals>.<lambda>ú  s   ø€ ™U 1 aœ[r†   rH  )r~   r‘   r{   rI  r   rJ  r€   Ú	nmod_polyÚfmpz_mod_polyÚcharacteristicr“   rÎ   r  r˜   r�   r§   Ú_cls)r–   r—   r�   rV  r  rP  r°   s   &&&  @@r„   r?  ÚDUP_Flint.from_repì  sÑ   ù€ ð �9�9ˆ9Ü˜c¤5§?¡?×3Ò3Ð3Ð3Ü—?‘?‰DØ�Y�YˆYÜ˜c¤5§?¡?×3Ò3Ð3Ð3Ü—?‘?‰DØ�Y�YˆYÜ˜c¤E§O¡O´U×5HÑ5HÐ#I×JÒJÐJÐJØ×"Ñ"Ó$ˆAÜ˜“IˆEÝ(‰DäÐFÈÕLÓMÐMä�n‰n˜SÓ!ˆØŒØŒØŒàˆ
r†   c                	ó¬   € \        V 4      \        V4      8w  d   R # V P                  VP                  8H  ;'       d    V P                  VP                  8H  # rˆ   )r“   r�   r§   r  s   &&r„   ré  ÚDUP_Flint._strict_eq  s<   € Ü�‹7”d˜1“gÔÙØ�u‰u˜Ÿ™‰~×2Ð2 !§&¡&¨A¯F©FÑ"2Ð2r†   c                óZ   € V P                  V P                  V.4      V P                  4      # rõ   ©r?  rV  r�   rö   s   &&r„   rø   ÚDUP_Flint.ground_new
  s!   € à�z‰z˜!Ÿ&™& % ›/¨1¯5©5Ó1Ð1r†   c                	óL   € V P                  V P                  P                  4      # r}   )rø   r�   rÜ   r£   s   &r„   rß   ÚDUP_Flint._one  s   € Ø�|‰|˜AŸE™EŸI™IÓ&Ð&r†   c                ó   € \         h)z*Unify representations of two polynomials. )rÎ   r  s   &&r„   rÿ   ÚDUP_Flint.unify  s   € äÐr†   c                ót   € \         P                  V P                  4       V P                  V P                  4      # )z1Convert ``f`` to a Python native representation. )r�   rœ   r¢   r�   rŽ   r£   s   &r„   rÌ   ÚDUP_Flint.to_DMP_Python  s#   € ä�‰˜qŸy™y›{¨A¯E©E°1·5±5Ó9Ð9r†   c                ó4   € \        V P                  4       4      # r.  )r3  r¢   r£   s   &r„   rì   ÚDUP_Flint.to_tuple  s   € ä�Q—Y‘Y“[Ó!Ð!r†   c                óŠ  € V\         8X  dF   V P                  \        8X  d1   V P                  \        P
                  ! V P                  4      V4      # \        V4      '       dI   \        V P                  4      '       d.   V P                  4       P                  V4      P                  4       # \        RV P                   RV 24      h)r1  zDUP_Flint: Cannot convert z to )r   r�   r
   r?  r{   rJ  r§   r…   rÌ   rË   rÍ   rÎ   rÏ   s   &&r„   rË   ÚDUP_Flint._convert  s‰   € à”"Œ9˜Ÿ™¤"œØ—:‘:œeŸošo¨a¯f©fÓ5°sÓ;Ð;Ü$ S×)Ò)Ô.EÀaÇeÁe×.LÒ.Là—?‘?Ó$×-Ñ-¨cÓ2×?Ñ?ÓAÐAäÐ!;¸A¿E¹E¸7À$ÀsÀeÐLÓMÐMr†   c                ó�   € V P                   P                  4       W pV P                  V P                  V4      V P                  4      # r0  )r§   rÇ   r?  rV  r�   )r¤   r4  r5  rÇ   s   &&& r„   r1  ÚDUP_Flint._slice'  s3   € à—‘—‘“ Ð%ˆØ�z‰z˜!Ÿ&™& ›.¨!¯%©%Ó0Ð0r†   c                ó   € \         hr0  rÓ   r3  s   &&&&r„   r2  ÚDUP_Flint._slice_lev,  r}  r†   Nc                ó  € Ve   VP                   R8X  dP   \        V P                  P                  4       4       UUu. uF  w  r#V'       g   K  V3V3NK  	  pppVRRR1,          # V P	                  4       P                  VR7      # u uppi )rI  NÚlexr>  r=  )ÚaliasrX  r§   rÇ   rÌ   rL  )r¤   r?  r5  r°   rA  s   &&   r„   rL  ÚDUP_Flint._terms1  st   € àŠ=˜EŸK™K¨5Ô0Ü,5°a·f±f·m±m³oÔ,FÔMÑ,F¡D AÌ!”i˜�t˜Q“iÑ,FˆEÑMØ™˜2˜•;Ðð —?‘?Ó$×+Ñ+°%Ð+Ó8Ð8ùó Ns   ¼BÁ	Bc                ó   € \         hra  rÓ   r£   s   &r„   rb  ÚDUP_Flint._lift?  r}  r†   c                ó¢   € V P                   '       d   RV 3# V P                  P                  4       w  rV3V P                  WP                  4      3# )ri  r�  )rK  r§   Ú	deflationr?  r�   )r¤   r  r5  s   &  r„   rj  ÚDUP_Flint.deflateD  sD   € ð �9�9ˆ9Ø˜�7ˆNØ�v‰v×ÑÓ!‰ˆØˆt�Q—Z‘Z §5¡5Ó)Ð)Ð)r†   c                ó   € \         hrm  rÓ   ro  s   &&r„   rq  ÚDUP_Flint.injectQ  r}  r†   c                ó   € \         hrt  rÓ   rv  s   &&&r„   rw  ÚDUP_Flint.ejectV  r}  r†   c                ó   € \         hrE  rÓ   r£   s   &r„   rz  ÚDUP_Flint._exclude[  r}  r†   c                ó   € \         hrI  rÓ   r„  s   &&r„   rƒ  ÚDUP_Flint._permute`  r}  r†   c                ód   € V P                  4       P                  4       w  rWP                  4       3# r‹  )rÌ   rŒ  rÍ   r{  s   &  r„   rŒ  ÚDUP_Flint.terms_gcde  s+   € ð �‰Ó ×*Ñ*Ó,‰ˆØ—.‘.Ó"Ð"Ð"r†   c                ó\   € V P                  V P                  V,           V P                  4      # r˜  ©r?  r§   r�   rš  s   &&r„   r™  ÚDUP_Flint._add_groundk  ó   € à�z‰z˜!Ÿ&™& 1�* a§e¡eÓ,Ð,r†   c                ó\   € V P                  V P                  V,
          V P                  4      # rŸ  r  rš  s   &&r„   r   ÚDUP_Flint._sub_groundo  r�  r†   c                ó\   € V P                  V P                  V,          V P                  4      # r¤  r  rš  s   &&r„   r¥  ÚDUP_Flint._mul_grounds  r�  r†   c                ó\   € V P                  V P                  V,          V P                  4      # r©  r  rš  s   &&r„   rª  ÚDUP_Flint._quo_groundw  ó   € à�z‰z˜!Ÿ&™& A�+ q§u¡uÓ-Ð-r†   c                óŽ   € \        V P                  V4      w  r#V'       d   \        W4      hV P                  W P                  4      # )z<Exact quotient of ``f`` by an element of the ground domain. )Údivmodr§   r   r?  r�   )r¤   r°   r	  r´   s   &&  r„   r¯  ÚDUP_Flint._exquo_ground{  s5   € ä�a—f‘f˜aÓ ‰ˆßÜ% aÓ+Ð+Ø�z‰z˜!ŸU™UÓ#Ð#r†   c                óZ   € V P                  4       P                  4       P                  4       # r�  )rÌ   r�  rÍ   r£   s   &r„   r�  ÚDUP_Flint.abs‚  s!   € à�‰Ó ×$Ñ$Ó&×3Ñ3Ó5Ð5r†   c                óP   € V P                  V P                  ) V P                  4      # r“  r  r£   s   &r„   r•  ÚDUP_Flint.neg†  s   € à�z‰z˜1Ÿ6™6˜' 1§5¡5Ó)Ð)r†   c                óp   € V P                  V P                  VP                  ,           V P                  4      # r³  r  r  s   &&r„   r´  ÚDUP_Flint._addŠ  ó#   € à�z‰z˜!Ÿ&™& 1§6¡6�/¨1¯5©5Ó1Ð1r†   c                óp   € V P                  V P                  VP                  ,
          V P                  4      # r»  r  r  s   &&r„   r¼  ÚDUP_Flint._subŽ  r’  r†   c                óp   € V P                  V P                  VP                  ,          V P                  4      # rÀ  r  r  s   &&r„   rÁ  ÚDUP_Flint._mul’  r’  r†   c                ó\   € V P                  V P                  ^,          V P                  4      # rÅ  r  r£   s   &r„   rÇ  ÚDUP_Flint.sqr–  rˆ  r†   c                ó\   € V P                  V P                  V,          V P                  4      # rh  r  rÏ  s   &&r„   rÎ  ÚDUP_Flint._powš  rˆ  r†   c                óB  € V P                  4       VP                  4       ,
          ^,           p\        VP                  4       V,          V P                  ,          VP                  4      w  r4V P	                  W0P
                  4      V P	                  W@P
                  4      3# rÓ  )rW  rŠ  rE  r§   r?  r�   ©r¤   r  r9  r	  r´   s   &&   r„   rÔ  ÚDUP_Flint._pdivž  sg   € à�H‰H‹J˜Ÿ™›Õ# aÕ'ˆÜ�a—d‘d“f˜a•i !§&¡&Õ(¨!¯&©&Ó1‰ˆØ�z‰z˜!ŸU™UÓ# Q§Z¡Z°·5±5Ó%9Ð9Ð9r†   c                ó  € V P                  4       VP                  4       ,
          ^,           pVP                  4       V,          V P                  ,          VP                  ,          pV P                  W0P                  4      # rÙ  ©rW  rE  r§   r?  r�   )r¤   r  r9  r	  s   &&  r„   rÚ  ÚDUP_Flint._prem¤  sQ   € à�H‰H‹J˜Ÿ™›Õ# aÕ'ˆØ�T‰T‹V�Q�Y˜Ÿ™Õ 1§6¡6Õ)ˆØ�z‰z˜!ŸU™UÓ#Ð#r†   c                ó  € V P                  4       VP                  4       ,
          ^,           pVP                  4       V,          V P                  ,          VP                  ,          pV P                  W0P                  4      # rÞ  rŸ  )r¤   r  r9  r´   s   &&  r„   rß  ÚDUP_Flint._pquoª  sQ   € à�H‰H‹J˜Ÿ™›Õ# aÕ'ˆØ�T‰T‹V�Q�Y˜Ÿ™Õ A§F¡FÕ*ˆØ�z‰z˜!ŸU™UÓ#Ð#r†   c                ó2  € V P                  4       VP                  4       ,
          ^,           p\        VP                  4       V,          V P                  ,          VP                  4      w  r4V'       d   \	        W4      hV P                  W0P                  4      # rã  )rW  rŠ  rE  r§   r   r?  r�   rœ  s   &&   r„   rä  ÚDUP_Flint._pexquo°  sc   € à�H‰H‹J˜Ÿ™›Õ# aÕ'ˆÜ�a—d‘d“f˜a•i !§&¡&Õ(¨!¯&©&Ó1‰ˆßÜ% aÓ+Ð+Ø�z‰z˜!ŸU™UÓ#Ð#r†   c                óˆ  € V P                   P                  '       dY   \        V P                  VP                  4      w  r#V P	                  W P                   4      V P	                  W0P                   4      3# V P                  4       P                  VP                  4       4      w  r#VP                  4       VP                  4       3# rè  )r�   rŒ  rŠ  r§   r?  rÌ   ré  rÍ   rk  s   &&  r„   ré  ÚDUP_Flint._div¸  s…   € à�5‰5�>�>ˆ>Ü˜!Ÿ&™& !§&¡&Ó)‰DˆAØ—:‘:˜a§¡Ó'¨¯©°A·u±uÓ)=Ð=Ð=ð —?‘?Ó$×)Ñ)¨!¯/©/Ó*;Ó<‰DˆAØ—>‘>Ó# Q§^¡^Ó%5Ð5Ð5r†   c                óp   € V P                  V P                  VP                  ,          V P                  4      # rí  r  r  s   &&r„   rî  ÚDUP_Flint._remÂ  r’  r†   c                óp   € V P                  V P                  VP                  ,          V P                  4      # rò  r  r  s   &&r„   ró  ÚDUP_Flint._quoÆ  s$   € à�z‰z˜!Ÿ&™& A§F¡FÕ*¨A¯E©EÓ2Ð2r†   c                óR   € V P                  V4      w  r#V'       d   \        W4      hV# r÷  )ré  r   rk  s   &&  r„   rø  ÚDUP_Flint._exquoÊ  s$   € à�v‰v�a‹y‰ˆßÜ% aÓ+Ð+Øˆr†   c                óT   € V P                   P                  4       pVR8X  d   \        pV# )r!  r=  )r§   rW  r   )r¤   r6  r9  s   && r„   r"  ÚDUP_Flint._degreeÑ  s"   € à�F‰F�M‰M‹OˆØ�Œ7ÜˆAØˆr†   c                ó$   € V P                  4       3# r(  ©r"  r£   s   &r„   r)  ÚDUP_Flint.degree_listØ  s   € à—‘“ÐÐr†   c                ó"   € V P                  4       # r,  r°  r£   s   &r„   r.  ÚDUP_Flint.total_degreeÜ  s   € à�y‰y‹{Ðr†   c                óX   € V P                   V P                   P                  4       ,          # rD  ©r§   rW  r£   s   &r„   rE  ÚDUP_Flint.LCà  s   € à�v‰v�a—f‘f—m‘m“oÕ&Ð&r†   c                ó(   € V P                   ^ ,          # rH  ©r§   r£   s   &r„   rI  ÚDUP_Flint.TCä  s   € à�v‰v�a�yÐr†   c                ó0   € Vw  pV P                   V,          # rŒ  r¸  )r¤   rQ  r5  s   && r„   rO  ÚDUP_Flint._nthè  s   € à‰ˆØ�v‰v�a�yÐr†   c                ó>   € V P                  4       P                  4       # rW  )rÌ   rX  r£   s   &r„   rX  ÚDUP_Flint.max_normí  s   € à�‰Ó ×)Ñ)Ó+Ð+r†   c                ó>   € V P                  4       P                  4       # r[  )rÌ   r\  r£   s   &r„   r\  ÚDUP_Flint.l1_normñ  s   € à�‰Ó ×(Ñ(Ó*Ð*r†   c                ó>   € V P                  4       P                  4       # r_  )rÌ   r`  r£   s   &r„   r`  ÚDUP_Flint.l2_norm_squaredõ  s   € à�‰Ó ×0Ñ0Ó2Ð2r†   c                ón  € V P                   pVP                  '       da   V P                  P                  4       pV P	                  V P                  V P                  P                  4       4      V P                   4      pW#3# VP                  '       g   VP                  '       d   VP                  V 3# \        hrc  )r�   r   r§   Údenomr?  rV  Únumerr~   Úis_FiniteFieldrÜ   rÔ   )r¤   r­  rÃ  rÄ  s   &   r„   rd  ÚDUP_Flint.clear_denomsù  sy   € à�E‰EˆØ�7�7ˆ7Ø—F‘F—L‘L“NˆEØ—J‘J˜qŸv™v a§f¡f§l¡l£nÓ5°q·u±uÓ=ˆEØ�<ÐØ�W�WˆW˜×(×(Ð(Ø—5‘5˜!�8ˆOä%Ð%r†   c                ó:  € V^ 8X  g   Q hV P                   P                  '       dJ   V P                  p\        V4       F  pVP	                  4       pK  	  V P                  W0P                   4      # V P                  4       P                  WR7      P                  4       # )rg  )r4  r6  )	r�   rŒ  r§   ÚrangeÚintegralr?  rÌ   rh  rÍ   ©r¤   r4  r6  r—   rZ  s   &&&  r„   rh  ÚDUP_Flint._integrate  ss   € à�AŒvˆˆvØ�5‰5�>�>ˆ>Ø—&‘&ˆCÜ˜1–X�Ø—l‘l“n’ñ à—:‘:˜c§5¡5Ó)Ð)à—?‘?Ó$×/Ñ/°!Ð/Ó9×FÑFÓHÐHr†   c                ó¦   € V^ 8X  g   Q hV P                   p\        V4       F  pVP                  4       pK  	  V P                  W0P                  4      # )z1Computes the ``m``-th order derivative of ``f``. )r§   rÈ  Ú
derivativer?  r�   rÊ  s   &&&  r„   rp  ÚDUP_Flint._diff  sC   € à�AŒvˆˆvØ�f‰fˆÜ�q–ˆAØ—.‘.Ó"ŠCñ à�z‰z˜#Ÿu™uÓ%Ð%r†   c                	ó@   € V P                  4       P                  V4      # r}   )rÌ   rx  r~  s   &&r„   rx  ÚDUP_Flint._eval  s   € ð
 �‰Ó ×&Ñ& qÓ)Ð)r†   c                	ó   € \         hr}   rÓ   ry  s   &&&r„   rw  ÚDUP_Flint._eval_lev  rú   r†   c                ó    € V P                  4       P                  VP                  4       4      w  r#VP                  4       VP                  4       3# )z#Half extended Euclidean algorithm. )rÌ   r…  rÍ   r   s   &&  r„   r…  ÚDUP_Flint._half_gcdex#  s;   € à�‰Ó ×,Ñ,¨Q¯_©_Ó->Ó?‰ˆØ�~‰~Ó §¡Ó!1Ð1Ð1r†   c                óò   € V P                   P                  VP                   4      w  r#pV P                  W0P                  4      V P                  W@P                  4      V P                  W P                  4      3# )zExtended Euclidean algorithm. )r§   Úxgcdr?  r�   )r¤   r  r¡  r4  rl  s   &&   r„   r�  ÚDUP_Flint._gcdex(  sP   € à—&‘&—+‘+˜aŸf™fÓ%‰ˆˆaØ�z‰z˜!ŸU™UÓ# Q§Z¡Z°·5±5Ó%9¸1¿:¹:ÀaÏÉÓ;OÐOÐOr†   c                óf  € V P                   pVP                  '       dZ   V P                  P                  VP                  4      w  r4pV^ V,          ^,           8w  d   \	        R4      hV P                  WB4      # V P                  4       P                  VP                  4       4      P                  4       # )r“  úzero divisor)	r�   rŒ  r§   rÖ  r   r?  rÌ   r”  rÍ   )r¤   r  r­  r¿  ÚF_invrB  s   &&    r„   r”  ÚDUP_Flint._invert-  s„   € à�E‰EˆØ�:�:ˆ:ØŸF™FŸK™K¨¯©Ó/‰MˆC˜ð �a˜•e˜a•iÔÜ# NÓ3Ð3Ø—:‘:˜eÓ'Ð'ð —?‘?Ó$×,Ñ,¨Q¯_©_Ó->Ó?×LÑLÓNÐNr†   c                ó\   € V P                  4       P                  V4      P                  4       # r¨  )rÌ   r›  rÍ   rÏ  s   &&r„   r›  ÚDUP_Flint._revert<  s%   € ð �‰Ó ×(Ñ(¨Ó+×8Ñ8Ó:Ð:r†   c                ó¤   € V P                  4       P                  VP                  4       4      pV Uu. uF  qP                  4       NK  	  up# u upi r¡  )rÌ   r¢  rÍ   r¬  s   && r„   r¢  ÚDUP_Flint._subresultantsB  s?   € ð �O‰OÓ×,Ñ,¨Q¯_©_Ó->Ó?ˆÙ+,Ó.©1 a—‘Ö!©1Ñ.Ð.ùÒ.s   ²Ac                óª   € V P                  4       P                  VP                  4       4      w  r#Y# Uu. uF  qP                  4       NK  	  up3# u upi r¨  )rÌ   rª  rÍ   r°  s   &&  r„   rª  ÚDUP_Flint._resultant_includePRSH  sF   € ð —‘Ó"×8Ñ8¸¿¹Ó9JÓK‰ˆØ°Ó3±¨1—n‘nÖ&±Ñ3Ð3Ð3ùÒ3s   ´Ac                ó\   € V P                  4       P                  VP                  4       4      # )z'Computes resultant of ``f`` and ``g``. )rÌ   r«  r  s   &&r„   r«  ÚDUP_Flint._resultantN  s#   € ð �‰Ó ×+Ñ+¨A¯O©OÓ,=Ó>Ð>r†   c                ó>   € V P                  4       P                  4       # r²  )rÌ   r³  r£   s   &r„   r³  ÚDUP_Flint.discriminantS  s   € ð �‰Ó ×-Ñ-Ó/Ð/r†   c                óh   € V P                  V4      pW P                  V4      VP                  V4      3# r¶  )r¿  rù  )r¤   r  r¡  s   && r„   r·  ÚDUP_Flint._cofactorsX  s*   € à�E‰E�!‹HˆØ—'‘'˜!“*˜aŸg™g a›jÐ(Ð(r†   c                ó€   € V P                  V P                  P                  VP                  4      V P                  4      # r½  )r?  r§   r¿  r�   r  s   &&r„   r¾  ÚDUP_Flint._gcd]  s(   € à�z‰z˜!Ÿ&™&Ÿ*™* Q§V¡VÓ,¨a¯e©eÓ4Ð4r†   c                ót  € V '       d	   V'       g&   V P                  V P                  P                  4      # V P                  V4      P	                  V P                  V4      4      pVP                  P                  '       d   VP                  4       pV# VP                  4       ^ 8  d   VP                  4       pV# rÄ  )
rø   r�   rÙ   rÁ  rø  r¾  rŒ  rá  rE  r•  )r¤   r  r:  s   && r„   rÅ  ÚDUP_Flint._lcma  s~   € ÷ —aØ—<‘< §¡§
¡
Ó+Ð+à�F‰F�1‹I×Ñ˜QŸV™V A›YÓ'ˆà�5‰5�>�>ˆ>Ø—‘“	ˆAð ˆð �T‰T‹V�aŒZØ—‘“ˆAàˆr†   c                óâ  € V P                   VP                   8X  g   Q hV P                   pVP                  '       g'   VP                  '       g   VP                  '       g   Q hVP                  '       dL   V P	                  V4      pV P                  V4      VP                  V4      rTVP                  VP                  WE3# VP                  '       d&   V P                  4       w  rdVP                  4       w  ruMVP                  T rFVP                  TrWVP                  V4      pWx,          Wh,          rgVP	                  V4      p	VP                  V	4      VP                  V	4      rTVP                  4       ^ 8  p
VP                  4       ^ 8  pV
'       d)   V'       d!   VP                  4       VP                  4       rTM5V
'       d   V) VP                  4       rGMV'       d   V) VP                  4       rWWvWE3# rË  )r�   r~   r   rÅ  r¾  rù  rÜ   rd  r¿  rE  r•  )r¤   r  r­  r¡  r}  r¶  rÄ  rÃ  ÚcHÚHÚf_negÚg_negs   &&          r„   rÎ  ÚDUP_Flint._cancelp  se  € à�u‰u˜Ÿ™Œ~Ðˆ~Ø�E‰Eˆð �w�wˆw˜!Ÿ'Ÿ'˜' Q×%5×%5Ð%5Ð5Ð5à××ÐØ—‘�q“	ˆAØ—7‘7˜1“:˜qŸw™w q›zˆqØ—5‘5˜!Ÿ%™% Ð%Ð%à�7�7ˆ7Ø—N‘NÓ$‰EˆBØ—N‘NÓ$‰EˆB�à—E‘E˜1�Ø—E‘E˜1�à�V‰V�B‹ZˆØ•˜2�8ˆBà�F‰F�1‹IˆØ�w‰w�q‹z˜1Ÿ7™7 1›:ˆ1à—‘“˜‘
ˆØ—‘“˜‘
ˆç—UØ—5‘5“7˜AŸE™E›G‰qßØ�C˜Ÿ™›‘ßØ�C˜Ÿ™›�à�qˆ|Ðr†   c                ón   € V P                  V4      w  r#rEVP                  V4      VP                  V4      3# rË  )rÎ  r¥  rÂ  s   &&    r„   rÍ  ÚDUP_Flint._cancel_include—  s0   € à—y‘y “|‰ˆ�Ø�}‰}˜RÓ  !§-¡-°Ó"3Ð3Ð3r†   c                ó\   € V P                  4       P                  V4      P                  4       # r×  )rÌ   rØ  rÍ   rÙ  s   &&r„   rØ  ÚDUP_Flint._truncœ  s#   € à�‰Ó ×'Ñ'¨Ó*×7Ñ7Ó9Ð9r†   c                ó@   € V P                  V P                  4       4      # rà  )r¯  rE  r£   s   &r„   rá  ÚDUP_Flint.monic   s   € ð �‰˜qŸt™t›vÓ&Ð&r†   c                ó>   € V P                  4       P                  4       # rä  )rÌ   rå  r£   s   &r„   rå  ÚDUP_Flint.content¥  s   € ð �‰Ó ×(Ñ(Ó*Ð*r†   c                óž   € V P                  4       pV P                  '       d   V P                  P                  V 3# V P	                  V4      pW3# rè  )rå  rK  r�   rÙ   r¯  )r¤   rÏ  Úprims   &  r„   ré  ÚDUP_Flint.primitiveª  s>   € à�y‰y‹{ˆØ�9�9ˆ9Ø—5‘5—:‘:˜q�=Ð Ø�‰˜tÓ$ˆØˆzÐr†   c                ól   € V P                  V P                  VP                  4      V P                  4      # rì  r  r  s   &&r„   rí  ÚDUP_Flint._compose²  s#   € à�z‰z˜!Ÿ&™& §¡›.¨!¯%©%Ó0Ð0r†   c                ó‚   € V P                  4       P                  4        Uu. uF  qP                  4       NK  	  up# u upi rÔ  )rÌ   rô  rÍ   r  s   & r„   rô  ÚDUP_Flint._decompose¶  s1   € à+,¯?©?Ó+<×+GÑ+GÔ+IÓKÑ+I a—‘Ö!Ñ+IÑKÐKùÒKó   ¡<c                ó¤   € V P                  WP                  P                  .4      pV P                  V P	                  V4      V P                  4      # r×  )rV  r�   rÜ   r?  r§   )r¤   rz  Úx_plus_as   && r„   rû  ÚDUP_Flint._shiftº  s8   € à—6‘6˜1Ÿe™eŸi™i˜.Ó)ˆØ�z‰z˜!Ÿ&™& Ó*¨A¯E©EÓ2Ð2r†   c                óž   € V P                  4       VP                  4       VP                  4       rTpVP                  WE4      P                  4       # rÜ  )rÌ   r  rÍ   )r¤   rÚ  r	  r}  r…  r
  s   &&&   r„   r  ÚDUP_Flint._transform¿  s:   € à—/‘/Ó# Q§_¡_Ó%6¸¿¹Ó8IˆaˆØ�{‰{˜1Ó ×-Ñ-Ó/Ð/r†   c                ó‚   € V P                  4       P                  4        Uu. uF  qP                  4       NK  	  up# u upi rß  )rÌ   r  rÍ   r  s   & r„   r  ÚDUP_Flint._sturmÄ  s1   € à+,¯?©?Ó+<×+CÑ+CÔ+EÓGÑ+E a—‘Ö!Ñ+EÑGÐGùÒGr  c                ó>   € V P                  4       P                  4       # râ  )rÌ   r  r£   s   &r„   r  ÚDUP_Flint._cauchy_upper_boundÈ  ó   € à�‰Ó ×4Ñ4Ó6Ð6r†   c                ó>   € V P                  4       P                  4       # ræ  )rÌ   r!  r£   s   &r„   r!  ÚDUP_Flint._cauchy_lower_boundÌ  r  r†   c                ó>   € V P                  4       P                  4       # ré  )rÌ   r(  r£   s   &r„   r(  Ú%DUP_Flint._mignotte_sep_bound_squaredÐ  s   € à�‰Ó ×<Ñ<Ó>Ð>r†   c                ó–   € V P                  4       pVP                  4        UUu. uF  w  r#VP                  4       V3NK  	  upp# u uppi rì  )rÌ   r0  rÍ   )r¤   r}  r  r  s   &   r„   r/  ÚDUP_Flint._gff_listÔ  s:   € à�O‰OÓˆØ34·:±:´<ÔA±<©4¨1�!—.‘.Ó" AÓ&±<ÒAÐAùÓAó   ¤Ac                ó   € \         hr5  rÓ   r£   s   &r„   r6  ÚDUP_Flint.normÙ  r}  r†   c                ó   € \         hr9  rÓ   r£   s   &r„   r:  ÚDUP_Flint.sqf_normÞ  r}  r†   c                ó^   € V P                  V P                  V P                  4       4      4      # r=  )rø  r¾  rp  r£   s   &r„   r>  ÚDUP_Flint.sqf_partã  s    € à�x‰x˜Ÿ™˜qŸw™w›yÓ)Ó*Ð*r†   c                ó    € V P                  4       P                  VR7      w  r#Y# UUu. uF  w  rEVP                  4       V3NK  	  upp3# u uppi ©rB  )r³   )rÌ   rD  rÍ   rõ  s   &&    r„   rD  ÚDUP_Flint.sqf_listç  sK   € ð Ÿ™Ó*×3Ñ3¸Ð3Ó<‰ˆØ¸'ÔC¹'±$°!˜Ÿ™Ó)¨1Ó-¹'ÒCÐCÐCùÓCs   ¨A
c                óš   € V P                  4       P                  VR7      pV UUu. uF  w  r4VP                  4       V3NK  	  upp# u uppi r  )rÌ   rG  rÍ   rù  s   &&   r„   rG  ÚDUP_Flint.sqf_list_includeí  sB   € à—/‘/Ó#×4Ñ4¸Ð4Ó=ˆÙ3:Ô<±7©4¨1�!—.‘.Ó" AÓ&±7Ò<Ð<ùÓ<s   ¦Ac                óÖ  € V P                   P                  '       g   V P                   P                  '       dN   V P                  P	                  4       w  rV UUu. uF"  w  r4V P                  W0P                   4      V3NK$  	  pppMÅV P                   P                  '       dŽ   V P                  P	                  4       w  rV UUu. uF"  w  r4V P                  W0P                   4      V3NK$  	  ppp. pV F8  w  r4VP                  4       w  rcWV,          ,          pVP                  W434       K:  	  M\        RV P                   ,          4      hV P                  V4      pW3# u uppi u uppi )rK  rH  )r�   r~   r€   r§   Úfactorr?  r   rd  r  rÎ   r   )r¤   r÷   rö  r  r  Úfactors_monicr9  s   &      r„   rL  ÚDUP_Flint.factor_listò  s  € ð �5‰5�;�;ˆ;˜!Ÿ%™%Ÿ+Ÿ+˜+àŸV™VŸ]™]›_‰NˆEÙ>EÔG¹g±d°a˜Ÿ™ A§u¡uÓ-¨qÓ1¹gˆGÑGˆGà�U‰U�[�[ˆ[ð ŸV™VŸ]™]›_‰NˆEÙDKÔMÁG¹D¸A˜qŸz™z¨!¯U©UÓ3°QÓ7ÁGˆMÑMð ˆGÛ%‘�Ø—~‘~Ó'‘�Ø˜A�•�Ø—‘ ˜vÖ&ò &ô ÐFÈÏÉÕNÓOÐOð —/‘/ 'Ó*ˆàˆ~Ðùó- Hùó Ns   Á(EÃ(E%c                ó–   € V P                  4       P                  4       pV UUu. uF  w  r#VP                  4       V3NK  	  upp# u uppi rJ  )rÌ   rO  rÍ   rþ  s   &   r„   rO  ÚDUP_Flint.factor_list_include	  s?   € ð —/‘/Ó#×7Ñ7Ó9ˆÙ3:Ô<±7©4¨1�!—.‘.Ó" AÓ&±7Ò<Ð<ùÓ<r  c                óÈ   a € V UUu. uF  w  r#VP                  4       V3NK  	  ppp\        VRR7      pV 3R lpV UUu. uF  w  r#V! V4      V3NK  	  upp# u uppi u uppi )z+Sort a list of factors to canonical order. T)Úmultiplec                ón   <€ SP                  SP                  V R R R1,          4      SP                  4      # r<  r[  )r  r¤   s   &€r„   rQ  Ú)DUP_Flint._sort_factors.<locals>.<lambda> 	  s$   ø€  §¡¨A¯F©F°1±T°r°Tµ7«O¸Q¿U¹UÔ!Cr†   )r¢   r   )r¤   rö  r  r  Úto_dup_flints   f&   r„   r   ÚDUP_Flint._sort_factors	  sa   ø€ ñ 29Ô:±©¨�Q—Y‘Y“[ !Ó$±ˆÑ:Ü °$Ô7ˆÜCˆÙ29Ô;±'©$¨!‘,˜q“/ 1Ó%±'Ò;Ð;ùó ;ùó <s
   ‡A¿Ac                	óB   € V P                  4       P                  WW44      # r}   )rÌ   rZ  r_  s   &&&&&r„   rZ  ÚDUP_Flint._isolate_real_roots#	  s   € Ø�‰Ó ×4Ñ4°S¸sÓIÐIr†   c                	óB   € V P                  4       P                  WW44      # r}   )rÌ   rY  r_  s   &&&&&r„   rY  Ú!DUP_Flint._isolate_real_roots_sqf&	  s   € Ø�‰Ó ×8Ñ8¸À3ÓMÐMr†   c                	óB   € V P                  4       P                  WW44      # r}   )rÌ   rX  r_  s   &&&&&r„   rX  ÚDUP_Flint._isolate_all_roots)	  s   € ð �‰Ó ×3Ñ3°C¸cÓHÐHr†   c                	óB   € V P                  4       P                  WW44      # r}   )rÌ   rW  r_  s   &&&&&r„   rW  Ú DUP_Flint._isolate_all_roots_sqf/	  s   € Ø�‰Ó ×7Ñ7¸À#ÓLÐLr†   c                	óD   € V P                  4       P                  WW4V4      # r}   )rÌ   rj  rk  s   &&&&&&r„   rj  ÚDUP_Flint._refine_real_root2	  s   € Ø�‰Ó ×2Ñ2°1¸ÀTÓJÐJr†   c                óB   € V P                  4       P                  WR7      # r  )rÌ   rt  rs  s   &&&r„   rt  ÚDUP_Flint.count_real_roots5	  s   € à�‰Ó ×1Ñ1°cÐ1ÓCÐCr†   c                óB   € V P                  4       P                  WR7      # r  )rÌ   rx  rs  s   &&&r„   rx  ÚDUP_Flint.count_complex_roots9	  s   € à�‰Ó ×4Ñ4¸Ð4ÓFÐFr†   c                ó$   € V P                   '       * # r{  r¸  r£   s   &r„   rK  ÚDUP_Flint.is_zero=	  s   € ð —6‘6ŒzÐr†   c                óH   € V P                   V P                  P                  8H  # r  )r§   r�   rÜ   r£   s   &r„   r€  ÚDUP_Flint.is_oneB	  s   € ð �v‰v˜Ÿ™Ÿ™Ñ"Ð"r†   c                ó<   € V P                   P                  4       ^ 8*  # rƒ  rµ  r£   s   &r„   r…  ÚDUP_Flint.is_groundG	  ó   € ð �v‰v�}‰}‹ !Ñ#Ð#r†   c                ó<   € V P                   P                  4       ^8*  # r”  rµ  r£   s   &r„   r–  ÚDUP_Flint.is_linearL	  r>  r†   c                ó<   € V P                   P                  4       ^8*  # r™  rµ  r£   s   &r„   r›  ÚDUP_Flint.is_quadraticQ	  r>  r†   c                ó,  a€ V P                   oSP                  4       ^ 8  ;'       gn    \        ;QJ d6    V3R l\        SP                  4       4       4       F  '       g   K   RM+	  RM'! V3R l\        SP                  4       4       4       4      '       * # )rŸ  c              3  ó6   <"  € T F  pSV,          x € K  	  R # 5ir}   r‰   )r¯   r5  Úfrs   & €r„   r±   Ú(DUP_Flint.is_monomial.<locals>.<genexpr>Z	  s   øé € Ð)LÑ9K°A¨"¨Q¯%ª%Ó9Kùs   ƒTF)r§   rW  ÚanyrÈ  )r¤   rE  s   &@r„   r   ÚDUP_Flint.is_monomialV	  sZ   ø€ ð �V‰VˆØ�y‰y‹{˜Q‰×LÐL§c£cÔ)L¼¸r¿y¹y»{Ô9KÓ)L§c§c¢cÔ)L¼¸r¿y¹y»{Ô9KÓ)LÓ&LÔ"LÐLr†   c                óP   € V P                  4       V P                  P                  8H  # rŒ  )rE  r�   rÜ   r£   s   &r„   r�  ÚDUP_Flint.is_monic\	  s   € ð �t‰t‹v˜Ÿ™Ÿ™Ñ"Ð"r†   c                ó6   € V P                  4       P                  # r�  )rÌ   r‘  r£   s   &r„   r‘  ÚDUP_Flint.is_primitivea	  s   € ð �‰Ó ×-Ñ-Ð-r†   c                ó6   € V P                  4       P                  # r£  )rÌ   r¥  r£   s   &r„   r¥  ÚDUP_Flint.is_homogeneousf	  s   € ð �‰Ó ×/Ñ/Ð/r†   c                óŽ   € V P                   P                  V P                   P                  4       4      pVP                  4       ^ 8*  # rˆ  )r§   r¿  rÍ  rW  r  s   & r„   r‰  ÚDUP_Flint.is_sqfk	  s3   € ð �F‰F�J‰J�q—v‘v×(Ñ(Ó*Ó+ˆØ�x‰x‹z˜Q‰Ðr†   c                ó¨   € V P                   P                  4       w  r\        V4      ^ 8X  d   R# \        V4      ^8X  d   V^ ,          ^,          ^8H  # R# )r©  TF)r§   r  r1  )r¤   rB  rö  s   &  r„   rª  ÚDUP_Flint.is_irreducibleq	  sF   € ð —V‘V—]‘]“_‰
ˆÜˆw‹<˜1ÔÙÜ�‹\˜QÔØ˜1•:˜a•= AÑ%Ð%ár†   c                ó  € V P                   P                  '       d    V P                  \        4      p V P                   P
                  '       d$   \        V P                  P                  4       4      # R#   \         d     R# i ; ir5  )	r�   r   rÐ   r
   r   r~   Úboolr§   r®  r£   s   &r„   r®  ÚDUP_Flint.is_cyclotomic|	  sc   € ð �5‰5�;�;ˆ;ðØ—I‘Iœb“M�ð �5‰5�;�;ˆ;Ü˜Ÿ™×,Ñ,Ó.Ó/Ð/ñ øô "ô Úðús   žA4 Á4BÂBr‰   )r§   r�   rV  r}   rˆ   rJ  r  r  )xrç   r  r  r  r  rŽ   r  r9  r  rœ   r¢   r>  rD  r?  ré  rø   rß   rÿ   rÌ   rì   rË   r1  r2  rL  rb  rj  rq  rw  rz  rƒ  rŒ  r™  r   r¥  rª  r¯  r�  r•  r´  r¼  rÁ  rÇ  rÎ  rÔ  rÚ  rß  rä  ré  rî  ró  rø  r"  r)  r.  rE  rI  rO  rX  r\  r`  rd  rh  rp  rx  rw  r…  r�  r”  r›  r¢  rª  r«  r³  r·  r¾  rÅ  rÎ  rÍ  rØ  rá  rå  ré  rí  rô  rû  r  r  r  r!  r(  r/  r6  r:  r>  rD  rG  rL  rO  r   rZ  rY  rX  rW  rj  rt  rx  r  rK  r€  r…  r–  r›  r   r�  r‘  r¥  r‰  rª  r®  r  r‰   r†   r„   r›   r›   Ç  s:  † Ù3à
€Cà'€IòDð ñ&ó ð&ò%ð ñó ðð ñNó ðNð ñó ðò03ò
2ò'òò:ò"òNò1ò
"ô
9ò"ò
*ô"ô
"ò
"ò
"ò
#ò-ò-ò-ò.ò$ò6ò*ò2ò2ò2ò.ò.ò:ò$ò$ò$ò6ò2ò3òôò òò'òòò
,ò+ò3ò
&ô	Iô&ò*ò"ò2ò
Pò
Oò;ò/ò4ò?ò
0ò
)ò
5òò%òN4ò
:ò'ò
+ò
ò1òLò3ò
0ò
Hò7ò7ò?òBò
"ò
"ò
+ôDô=ò
ò<	=ò<òJòNòIòMòKôDôGð ñó ðð ñ#ó ð#ð ñ$ó ð$ð ñ$ó ð$ð ñ$ó ð$ð ñMó ðMð
 ñ#ó ð#ð ñ.ó ð.ð ñ0ó ð0ð ñó ðð
 ñó ðð ñó ôr†   r›   c                óD   € \        \        WV4      \        WV4      W24      # r}   )ÚDMFr   ©ÚnumÚdenrŽ   r�   s   &&&&r„   Úinit_normal_DMFr[  ‹	  s$   € ÜŒz˜# CÓ(Ü˜# CÓ(¨#ó4ð 4r†   c                  ór  € ] tR tRtRtR/tR0R lt]R0R l4       tR t	]R0R l4       t
R tR	 tR
 tR tR1R ltR2R lt]R 4       t]R 4       tR tR tR tR tR tR tR tR tR tR t]tR3R lt]R 4       t ]R 4       t!R t"R t#R t$R  t%R! t&R" t'R# t(R$ t)R% t*R& t+R' t,R( t-R) t.R* t/R+ t0R, t1R- t2R.t3R# )4rW  i�	  z'Dense Multivariate Fractions over `K`. Nc                	ó|   € V P                  WV4      w  rEp\        WEW24      w  rEW@n        WPn        W0n        W n        R # r}   )Ú_parserb   rY  rZ  rŽ   r�   )rñ   r—   r�   rŽ   rY  rZ  s   &&&&  r„   Ú__init__ÚDMF.__init__•	  s8   € ØŸ™ C¨cÓ2‰ˆ�#Ü˜c¨Ó1‰ˆàŒØŒØŒØŽr†   c                	óŠ   € V P                  WV4      w  rEp\        P                  V 4      pWFn        WVn        W6n        W&n        V# r}   )r^  r  r˜   rY  rZ  rŽ   r�   )r–   r—   r�   rŽ   rY  rZ  r  s   &&&&   r„   r”   ÚDMF.newž	  s=   € àŸ
™
 3¨SÓ1‰ˆ�#ä�n‰n˜SÓ!ˆàŒØŒØŒØŒàˆ
r†   c                	óN   € V P                  WP                  V P                  4      # r}   )r”   r�   rŽ   )rñ   r—   s   &&r„   rø   ÚDMF.ground_new«	  s   € Ø�x‰x˜ŸX™X t§x¡xÓ0Ð0r†   c                	óÚ  € \        V\        4      '       dà   Vw  rEVeF   \        V\        4      '       d   \        WCV4      p\        V\        4      '       d   \        WSV4      pM.\	        V4      w  rF\	        V4      w  rWWg8X  d   TpM\        R4      h\        WS4      '       d   \        R4      h\        WC4      '       d   \        W24      pMž\        WSV4      '       d   \        WCV4      p\        WSV4      pMsTpVeV   \        V\        4      '       d   \        WCV4      pM?\        V\        4      '       g   \        VP                  V4      V4      pM\	        V4      w  rC\        W24      pWEV3# )Nzinconsistent number of levelszfraction denominator)r‘   r3  rÄ   r%   r   rv  r!   ÚZeroDivisionErrorr   r   r7   r’   r   rÐ   )r–   r—   r�   rŽ   rY  rZ  Únum_levÚden_levs   &&&&    r„   r^  Ú
DMF._parse®	  s5  € ä�cœ5×!Ò!Ø‰HˆCàŠÜ˜c¤4×(Ò(Ü'¨°#Ó6�Cä˜c¤4×(Ò(Ü'¨°#Ó6�Cøä+¨CÓ0‘�Ü+¨CÓ0‘�àÔ%Ø!‘Cä$Ð%DÓEÐEä˜#×#Ò#Ü'Ð(>Ó?Ð?ä˜#×#Ò#Ü˜cÓ'‘ä! #¨C×0Ò0Ü! #¨CÓ0�CÜ! #¨CÓ0�CøàˆCàŠÜ˜c¤4×(Ò(Ü'¨°#Ó6‘CÜ# C¬×.Ò.Ü$ S§[¡[°Ó%5°sÓ;�Cøä'¨Ó,‘�ä˜#Ó#ˆCà˜ˆ}Ðr†   c                	óŠ   € V P                   P                  : R V P                  : RV P                  : RV P                  : R2# )z((rä   z), rå   )ræ   rç   rY  rZ  r�   r£   s   &r„   rè   ÚDMF.__repr__Ú	  s'   € Ø%&§[¡[×%9Ô%9¸1¿5¼5À!Ç%Ä%ÈÏÌÐOÐOr†   c                	óê   € \        V P                  P                  \        V P                  V P
                  4      \        V P                  V P
                  4      V P
                  V P                  34      # r}   )rë   ræ   rç   r0   rY  rŽ   rZ  r�   r£   s   &r„   rí   ÚDMF.__hash__Ý	  sO   € Ü�Q—[‘[×)Ñ)¬<¸¿¹¸q¿u¹uÓ+EÜ˜Ÿ™ §¡Ó&¨¯©¨q¯u©uð6ó 7ð 	7r†   c                ó   a a€ \        V\        4      '       d   S P                  VP                  8w  d   \        RS : RV: 24      hS P                  VP                  8X  dF   S P                  S P                  S P
                  S P                  S P                  3VP                  3# S P                  S P                  P                  VP                  4      upo\        S P                  VS P                  S4      \        S P                  VS P                  S4      3p\        VP                  W!P                  S4      pRRV3VV 3R llpVSWSV3# )z0Unify a multivariate fraction and a polynomial. rý   rþ   TFc                ó°   <€ V'       d   V'       g	   W,          # V^,
          pV'       d   \        WVS4      w  rSP                  P                  W3SV4      # r�  ©rb   ræ   r”   ©rY  rZ  rÐ  ÚkillrŽ   r�   r¤   s   &&&&&€€r„   r  ÚDMF.poly_unify.<locals>.perð	  óE   ø€ ßßØ"�w˜à! A�g˜çÜ)¨#°C¸Ó=‘H�Cà—{‘{—‘¨ z°3¸Ó<Ð<r†   )r‘   r‹   rŽ   ry   r�   r  rY  rZ  r§   rÿ   r   ©r¤   r  rŽ   r}  r¶  r  r�   s   f&    @r„   Ú
poly_unifyÚDMF.poly_unifyá	  s÷   ù€ ä˜!œS×!Ò! Q§U¡U¨a¯e©e¤^Ý#ÃÂAÐ$FÓGÐGà�5‰5�A—E‘EŒ>Ø—E‘E˜1Ÿ5™5 !§%¡%¨!¯%©%°·±¨¸¿¹Ð@Ð@à—u‘u˜aŸe™eŸk™k¨!¯%©%Ó0ˆHˆC�ä˜QŸU™U C¨¯©°Ó4Ü˜QŸU™U C¨¯©°Ó4ð6ˆAô ˜AŸF™F C¯©°Ó4ˆAà%)°¸3÷ 
=ð 
=ð ˜˜S QÐ&Ð&r†   c                óú  a a€ \        V\        4      '       d   S P                  VP                  8w  d   \        RS : RV: 24      hS P                  VP                  8X  dR   S P                  S P                  S P
                  S P                  S P                  3VP                  VP                  33# S P                  S P                  P                  VP                  4      upo\        S P                  VS P                  S4      \        S P                  VS P                  S4      3p\        VP                  W!P                  S4      \        VP                  W!P                  S4      3pRRV3VV 3R llpVSWSV3# )z5Unify representations of two multivariate fractions. rý   rþ   TFc                ó°   <€ V'       d   V'       g	   W,          # V^,
          pV'       d   \        WVS4      w  rSP                  P                  W3SV4      # r�  rp  rq  s   &&&&&€€r„   r  ÚDMF.frac_unify.<locals>.per
  rt  r†   )
r‘   rW  rŽ   ry   r�   r  rY  rZ  rÿ   r   ru  s   f&    @r„   Ú
frac_unifyÚDMF.frac_unifyþ	  s!  ù€ ä˜!œS×!Ò! Q§U¡U¨a¯e©e¤^Ý#ÃÂAÐ$FÓGÐGà�5‰5�A—E‘EŒ>Ø—E‘E˜1Ÿ5™5 !§%¡%¨!¯%©%°·±¨Ø*+¯%©%°·±¨ð9ð 9ð —u‘u˜aŸe™eŸk™k¨!¯%©%Ó0ˆHˆC�ä˜QŸU™U C¨¯©°Ó4Ü˜QŸU™U C¨¯©°Ó4ð6ˆAô ˜QŸU™U C¯©°Ó4Ü˜QŸU™U C¯©°Ó4ð6ˆAð &*°¸3÷ 
=ð 
=ð ˜˜S QÐ&Ð&r†   c                óØ   € V P                   V P                  reV'       d   V'       g	   W,          # V^,          pV'       d   \        WWV4      w  rV P                  P	                  W3We4      # )z.Create a DMF out of the given representation. )rŽ   r�   rb   ræ   r”   )r¤   rY  rZ  rÐ  rr  rŽ   r�   s   &&&&&  r„   r  ÚDMF.per
  sO   € à—5‘5˜!Ÿ%™%ˆSçßØ•w�à�q•�çÜ! #¨CÓ5‰HˆCà�{‰{�‰ ˜z¨3Ó4Ð4r†   c                ó|   € V P                   pV'       d   V'       g   V# V^,          p\        WP                  V4      # r  )rŽ   r‹   r�   )r¤   r—   rr  rŽ   s   &&& r„   Úhalf_perÚDMF.half_per,
  s0   € à�e‰eˆçßØ�
à�q•�ä�3Ÿ™˜sÓ#Ð#r†   c                	ó&   € V P                  ^ W!4      # rJ  ©r”   rØ   s   &&&r„   rÙ   ÚDMF.zero8
  ó   € à�w‰w�q˜#Ó#Ð#r†   c                	ó&   € V P                  ^W!4      # r�  rƒ  rØ   s   &&&r„   rÜ   ÚDMF.one<
  r…  r†   c                ó8   € V P                  V P                  4      # )z Returns the numerator of ``f``. )r€  rY  r£   s   &r„   rÄ  Ú	DMF.numer@
  ó   € à�z‰z˜!Ÿ%™%Ó Ð r†   c                ó8   € V P                  V P                  4      # )z"Returns the denominator of ``f``. )r€  rZ  r£   s   &r„   rÃ  Ú	DMF.denomD
  rŠ  r†   c                óN   € V P                  V P                  V P                  4      # )z4Remove common factors from ``f.num`` and ``f.den``. )r  rY  rZ  r£   s   &r„   rÐ  Ú
DMF.cancelH
  s   € à�u‰u�Q—U‘U˜AŸE™EÓ"Ð"r†   c                ó�   € V P                  \        V P                  V P                  V P                  4      V P
                  RR7      # )r”  F©rÐ  )r  r7   rY  rŽ   r�   rZ  r£   s   &r„   r•  ÚDMF.negL
  s0   € à�u‰u”W˜QŸU™U A§E¡E¨1¯5©5Ó1°1·5±5ÀˆuÓGÐGr†   c                ó0   € W P                  V4      ,           # r˜  )rø   rš  s   &&r„   r›  ÚDMF.add_groundP
  s   € à—<‘< “?Õ"Ð"r†   c           	     ó   € \        V\        4      '       d(   V P                  V4      w  r#pw  rVp\        WVWrV4      Tr˜MJV P	                  V4      w  r#rJpW§uw  rVw  r¼\        \        W\W#4      \        WkW#4      W#4      p\        WlW#4      p	V! W‰4      # )z0Add two multivariate fractions ``f`` and ``g``. )r‘   r‹   rv  rE   r{  r8   r:   ©r¤   r  rŽ   r�   r  ÚF_numÚF_denr¶  rY  rZ  r}  ÚG_numÚG_dens   &&           r„   r·  ÚDMF.addT
  ó�   € ä�aœ×ÒØ/0¯|©|¸A«Ñ,ˆC�c™>˜E¨1Ü" 5°¸Ó=¸u‘à"#§,¡,¨q£/ÑˆC�c˜aØ-.Ð*‰NˆU™N˜Uäœ' %°Ó9Ü! %°Ó9¸3óEˆCä˜%¨Ó1ˆCá�3‹}Ðr†   c           	     ó   € \        V\        4      '       d(   V P                  V4      w  r#pw  rVp\        WVWrV4      Tr˜MJV P	                  V4      w  r#rJpW§uw  rVw  r¼\        \        W\W#4      \        WkW#4      W#4      p\        WlW#4      p	V! W‰4      # )z5Subtract two multivariate fractions ``f`` and ``g``. )r‘   r‹   rv  rF   r{  r9   r:   r•  s   &&           r„   r½  ÚDMF.subc
  r›  r†   c                óô   € \        V\        4      '       d'   V P                  V4      w  r#pw  rVp\        WWW#4      Tr˜M5V P	                  V4      w  r#rJpW§uw  rVw  r¼\        W[W#4      p\        WlW#4      p	V! W‰4      # )z5Multiply two multivariate fractions ``f`` and ``g``. ©r‘   r‹   rv  r:   r{  r•  s   &&           r„   rÂ  ÚDMF.mulr
  sy   € ä�aœ×ÒØ/0¯|©|¸A«Ñ,ˆC�c™>˜E¨1Ü˜u¨Ó2°E‘à"#§,¡,¨q£/ÑˆC�c˜aØ-.Ð*‰NˆU™N˜Uä˜%¨Ó1ˆCÜ˜%¨Ó1ˆCá�3‹}Ðr†   c           	     óN  € \        V\        4      '       dv   V P                  V P                  r2V^ 8  d   Y2V) rpV P	                  \        W!V P                  V P                  4      \        W1V P                  V P                  4      RR7      # \        R\        V4      ,          4      h)rË  Fr�  rÌ  )
r‘   r�   rY  rZ  r  r<   rŽ   r�   rÍ  r“   )r¤   r5  rY  rZ  s   &&  r„   rÐ  ÚDMF.pow€
  sˆ   € ä�aœ×ÒØ—u‘u˜aŸe™e�Ø�1ŒuØ!¨¨˜!�Ø—5‘5œ ¨¯©°·±Ó6Ü  ¨¯©°·±Ó6¸uð ó Fð Fô Ð6¼¸a»Õ@ÓAÐAr†   c                óô   € \        V\        4      '       d'   V P                  V4      w  r#pw  rVpT\        WgW#4      r˜M5V P	                  V4      w  r#rJpW§uw  rVw  r¼\        W\W#4      p\        WkW#4      p	V! W‰4      # )z0Computes quotient of fractions ``f`` and ``g``. rŸ  r•  s   &&           r„   rô  ÚDMF.quo‹
  sy   € ä�aœ×ÒØ/0¯|©|¸A«Ñ,ˆC�c™>˜E¨1Øœg e°Ó9‘à"#§,¡,¨q£/ÑˆC�c˜aØ-.Ð*‰NˆU™N˜Uä˜%¨Ó1ˆCÜ˜%¨Ó1ˆCá�3‹}Ðr†   c                óR   € V P                  V P                  V P                  RR7      # )z&Computes inverse of a fraction ``f``. Fr�  )r  rZ  rY  )r¤   Úchecks   &&r„   r•  Ú
DMF.invert›
  s   € à�u‰u�Q—U‘U˜AŸE™E¨%ˆuÓ0Ð0r†   c                óB   € \        V P                  V P                  4      # )z.Returns ``True`` if ``f`` is a zero fraction. ©r!   rY  rŽ   r£   s   &r„   rK  ÚDMF.is_zeroŸ
  s   € ô ˜!Ÿ%™% §¡Ó'Ð'r†   c                ó¾   € \        V P                  V P                  V P                  4      ;'       d,    \        V P                  V P                  V P                  4      # )z.Returns ``True`` if ``f`` is a unit fraction. )r"   rY  rŽ   r�   rZ  r£   s   &r„   r€  Ú
DMF.is_one¤
  sC   € ô ˜Ÿ™ §¡ q§u¡uÓ-÷ +ð +Ü�a—e‘e˜QŸU™U A§E¡EÓ*ð	+r†   c                	ó"   € V P                  4       # r}   rµ  r£   s   &r„   r¶  ÚDMF.__neg__ª
  r³  r†   c                	óV  € \        V\        \        34      '       d   V P                  V4      # WP                  9   d+   V P                  V P                  P                  V4      4      #  V P                  V P                  V4      4      #   \        \        \        3 d
    \        u # i ; ir}   )r‘   r‹   rW  r·  r�   r›  rÐ   r€  rÍ  r   rÔ   r¹  r  s   &&r„   rº  ÚDMF.__add__­
  s~   € Ü�aœ#œs˜×$Ò$Ø—5‘5˜“8ˆOØ—%‘%ŒZØ—<‘< §¡§¡¨aÓ 0Ó1Ð1ð	"Ø—5‘5˜Ÿ™ A›Ó'Ð'øÜœ>Ô+>Ð?ô 	"Ü!Ò!ð	"ús   Á)B	 Â	B(Â'B(c                	ó$   € V P                  V4      # r}   r¿  r  s   &&r„   rÀ  ÚDMF.__radd__¸
  rÂ  r†   c                	óâ   € \        V\        \        34      '       d   V P                  V4      #  V P                  V P	                  V4      4      #   \
        \        \        3 d
    \        u # i ; ir}   )	r‘   r‹   rW  r½  r€  rÍ  r   rÔ   r¹  r  s   &&r„   rÄ  ÚDMF.__sub__»
  óY   € Ü�aœ#œs˜×$Ò$Ø—5‘5˜“8ˆOð	"Ø—5‘5˜Ÿ™ A›Ó'Ð'øÜœ>Ô+>Ð?ô 	"Ü!Ò!ð	"úó   ¯A ÁA.Á-A.c                	ó&   € V ) P                  V4      # r}   r¿  r  s   &&r„   rÇ  ÚDMF.__rsub__Ä
  rÉ  r†   c                	óâ   € \        V\        \        34      '       d   V P                  V4      #  V P                  V P	                  V4      4      #   \
        \        \        3 d
    \        u # i ; ir}   )	r‘   r‹   rW  rÂ  r€  rÍ  r   rÔ   r¹  r  s   &&r„   rË  ÚDMF.__mul__Ç
  rµ  r¶  c                	ó$   € V P                  V4      # r}   rÎ  r  s   &&r„   rÏ  ÚDMF.__rmul__Ð
  rÂ  r†   c                	ó$   € V P                  V4      # r}   rØ  rÏ  s   &&r„   rÙ  ÚDMF.__pow__Ó
  rÛ  r†   c                	óâ   € \        V\        \        34      '       d   V P                  V4      #  V P                  V P	                  V4      4      #   \
        \        \        3 d
    \        u # i ; ir}   )	r‘   r‹   rW  rô  r€  rÍ  r   rÔ   r¹  r  s   &&r„   rÒ  ÚDMF.__truediv__Ö
  rµ  r¶  c                	ó4   € V P                  R R7      V,          # )F)r¦  )r•  )rñ   r  s   &&r„   rÕ  ÚDMF.__rtruediv__ß
  s   € Ø�{‰{ ˆ{Ó'¨Õ)Ð)r†   c                	óŠ  €  \        V\        4      '       dd   V P                  V4      w    pw  r4pV P                  VP                  8X  d-   \	        W@P                  V P
                  4      ;'       d    W58H  #  R # V P                  V4      w    r&pV P                  VP                  8X  d   We8H  #  R #   \         d     R # i ; irˆ   ©r‘   r‹   rv  rŽ   r"   r�   r{  ry   ©r¤   r  rB  r–  r—  r¶  r}  s   &&     r„   rê  Ú
DMF.__eq__â
  s´   € ð	Ü˜!œS×!Ò!Ø-.¯\©\¸!«_Ñ*��1�a™˜%¨à—5‘5˜AŸE™E”>Ü$ U¯E©E°1·5±5Ó9×HÐH¸e¹jÐHð "ñ ð !"§¡¨Q£‘��1�a˜Aà—5‘5˜AŸE™E”>Ø™6�Mð "ñ
 øô !ô 	Øáð	ús   ‚A0B3 Á3B3 Á;4B3 Â3CÃCc                	ó”  €  \        V\        4      '       di   V P                  V4      w    pw  r4pV P                  VP                  8X  d2   \	        W@P                  V P
                  4      ;'       d    W58H  '       * #  R # V P                  V4      w    r&pV P                  VP                  8X  d   We8g  #  R #   \         d     R # i ; ir
  rÄ  rÅ  s   &&     r„   Ú__ne__Ú
DMF.__ne__ó
  s·   € ð	Ü˜!œS×!Ò!Ø-.¯\©\¸!«_Ñ*��1�a™˜%¨à—5‘5˜AŸE™E”>Ü )¨%·±¸¿¹Ó >× MÐ MÀ5Á:ÔNÐNð "ñ ð !"§¡¨Q£‘��1�a˜Aà—5‘5˜AŸE™E”>Ø™6�Mð "ñ
 øô !ô 	Øáð	ús   ‚A0B8 Á3	B8 Â 4B8 Â8CÃCc                	ó6   € V P                  V4      w    r#pW48  # r}   ©r{  ©r¤   r  rB  r}  r¶  s   &&   r„   rø  Ú
DMF.__lt__  ó   € ØŸ™ Q›‰ˆˆ1ˆa�AØ‰uˆr†   c                	ó6   € V P                  V4      w    r#pW48*  # r}   rË  rÌ  s   &&   r„   rü  Ú
DMF.__le__  ó   € ØŸ™ Q›‰ˆˆ1ˆa�AØ‰vˆr†   c                	ó6   € V P                  V4      w    r#pW48„  # r}   rË  rÌ  s   &&   r„   r   Ú
DMF.__gt__  rÎ  r†   c                	ó6   € V P                  V4      w    r#pW48¬  # r}   rË  rÌ  s   &&   r„   r  Ú
DMF.__ge__  rÑ  r†   c                	óL   € \        V P                  V P                  4      '       * # r}   r©  r£   s   &r„   r  ÚDMF.__bool__  s   € Ü˜aŸe™e Q§U¡UÓ+Ô+Ð+r†   )rZ  r�   rŽ   rY  rX  r}   rè  rˆ   r
  )4rç   r  r  r  r  r  r_  r  r”   rø   r^  rè   rí   rv  r{  r  r€  rÙ   rÜ   rÄ  rÃ  rÐ  r•  r›  r·  r½  rÂ  rÐ  rô  rù  r•  r  rK  r€  r¶  rº  rÀ  rÄ  rÇ  rË  rÏ  rÙ  rÒ  rÕ  rê  rÈ  rø  rü  r   r  r  r  r‰   r†   r„   rW  rW  �	  sA  † Ù1à,€Iôð ó
ó ð
ò1ð ó)ó ð)òVPò7ò'ò:'ô>5ô
$ð ñ$ó ð$ð ñ$ó ð$ò!ò!ò#òHò#òòòò	Bòð €Eô1ð ñ(ó ð(ð ñ+ó ð+ò
ò	"òò"òò"òòò"ò*òò"ò"òòòö,r†   rW  c                ó@   € \        \        W4      \        W4      V4      # r}   )ÚANPr   )r—   Úmodr�   s   &&&r„   Úinit_normal_ANPrÛ    s    € ÜŒz˜#Ó#Ü˜#Ó# Só*ð *r†   c                  óæ  a € ] tR tRtRtR?tR t]V 3R l4       tR t	]
R 4       t]
R 4       tR tR	 tR
 tR tR tR tR tR t]R 4       t]R 4       tR tR tR tR tR tR t]R 4       tR tR tR t R t!R t"R t#R t$R  t%R! t&R" t'R# t(R$ t)R% t*R& t+R' t,]
R( 4       t-]
R) 4       t.]
R* 4       t/R+ t0R, t1R- t2R. t3R/ t4R0 t5R1 t6R2 t7R3 t8R4 t9R5 t:R6 t;R7 t<R8 t=R9 t>R: t?R; t@R< tAR= tBR>tCV ;tD# )@rÙ  i  z1Dense Algebraic Number Polynomials over a field. c                	ó"  € \        V\        4      '       d   Mˆ\        V4      \        J d   \        \	        W4      V^ 4      pM^\        V\
        4      '       d!   V Uu. uF  qCP                  V4      NK  	  ppMVP                  V4      .p\        \        V4      V^ 4      p\        V\        4      '       d   MC\        V\        4      '       d   \        \	        W#4      V^ 4      pM\        \        V4      V^ 4      pV P                  WV4      # u upi rJ  )	r‘   r‹   r“   rÄ   r$   r’   rÐ   r   r”   )r–   r—   rÚ  r�   rz  s   &&&& r„   r˜   ÚANP.__new__"  sÕ   € Ü�cœ3×ÒØÜ�#‹Yœ$ÓÜ”m CÓ-¨s°AÓ6‰Cä˜#œt×$Ò$Ù/2Ó3©s¨!—{‘{ 1–~©s�Ð3�à—{‘{ 3Ó'Ð(�Ü”i “n c¨1Ó-ˆCä�cœ3×ÒØÜ˜œT×"Ò"Ü”m CÓ-¨s°AÓ6‰Cä”i “n c¨1Ó-ˆCà�w‰w�s Ó%Ð%ùò 4s   ÁDc                	óª   <€ VP                   VP                   u;8X  d   V8X  g   M \        R 4      h\        SV `  V 4      pWn        W$n        W4n         V# )zInconsistent domain)r�   rÎ   Úsuperr˜   r§   Ú_mod)r–   r—   rÚ  r�   r  ræ   s   &&&& €r„   r”   ÚANP.new7  sF   ø€ à—‘˜3Ÿ7™7Ö) cÖ)ÜÐ4Ó5Ð5Ü‰g‰o˜cÓ"ˆØŒØŒØŒØˆ
r†   c                	óT   € \         V P                  V P                  V P                  33# r}   )rÙ  r—   rÚ  r�   rð   s   &r„   r9  ÚANP.__reduce__D  s    € Ü�T—X‘X˜tŸx™x¨¯©Ð2Ð2Ð2r†   c                	ó6   € V P                   P                  4       # r}   ©r§   r¢   rð   s   &r„   r—   ÚANP.repG  s   € à�y‰y× Ñ Ó"Ð"r†   c                	ó"   € V P                  4       # r}   )Úmod_to_listrð   s   &r„   rÚ  ÚANP.modK  s   € à×ÑÓ!Ð!r†   c                	ó   € V P                   # r}   r¸  rð   s   &r„   Úto_DMPÚ
ANP.to_DMPO  ó   € Ø�y‰yÐr†   c                	ó   € V P                   # r}   )rá  rð   s   &r„   Ú
mod_to_DMPÚANP.mod_to_DMPR  rî  r†   c                	óN   € V P                  WP                  V P                  4      # r}   )r”   rá  r�   r  s   &&r„   r  ÚANP.perU  s   € Ø�u‰u�SŸ&™& !§%¡%Ó(Ð(r†   c                	óÂ   € V P                   P                  : R V P                  P                  4       : RV P                  P                  4       : RV P
                  : R2# râ   )ræ   rç   r§   r¢   rá  r�   r£   s   &r„   rè   ÚANP.__repr__X  s8   € Ø#$§;¡;×#7Ô#7¸¿¹¿¹Ö9IÈ1Ï6É6Ï>É>ÖK[Ð]^×]bÔ]bÐcÐcr†   c                	ó¨   € \        V P                  P                  V P                  4       V P                  P                  4       V P
                  34      # r}   )rë   ræ   rç   rì   rá  r�   r£   s   &r„   rí   ÚANP.__hash__[  s5   € Ü�Q—[‘[×)Ñ)¨1¯:©:«<¸¿¹¿¹Ó9JÈAÏEÉEÐRÓSÐSr†   c                ó²   € V P                   V8X  d   V # V P                  V P                  P                  V4      V P                  P                  V4      V4      # )z.Convert ``f`` to a ``ANP`` over a new domain. )r�   r”   r§   rÐ   rá  rÏ   s   &&r„   rÐ   ÚANP.convert^  s?   € à�5‰5�CŒ<ØˆHà—5‘5˜Ÿ™Ÿ™¨Ó,¨a¯f©f¯n©n¸SÓ.AÀ3ÓGÐGr†   c                óú  aa€ \        V\        4      '       d   V P                  VP                  8w  d   \        RV : RV: 24      hV P                  VP                  8X  d:   V P                  V P
                  V P                  VP                  V P                  3# V P                  P                  VP                  4      o\        V P                  V P                  S4      p\        VP                  VP                  S4      pSV P                  8w  d4   SVP                  8w  d#   \        V P                  V P                  S4      oM*SV P                  8X  d   V P                  oMVP                  oVV3R lpSWBVS3# )z0Unify representations of two algebraic numbers. rý   rþ   c                ó   <€ \        V SS4      # r}   ©rÙ  )r—   r�   rÚ  s   &€€r„   rQ  ÚANP.unify.<locals>.<lambda>~  s   ø€ œc # s¨CÔ0r†   )	r‘   rÙ  rÚ  ry   r�   r  r—   rÿ   r   )r¤   r  r}  r¶  r  r�   rÚ  s   &&   @@r„   rÿ   Ú	ANP.unifye  s  ù€ ô ˜!œS×!Ò! Q§U¡U¨a¯e©e¤^Ý#ÃÂAÐ$FÓGÐGà�5‰5�A—E‘EŒ>Ø—5‘5˜!Ÿ%™% §¡¨¯©¨q¯u©uÐ4Ð4à—%‘%—+‘+˜aŸe™eÓ$ˆCä˜AŸE™E 1§5¡5¨#Ó.ˆAÜ˜AŸE™E 1§5¡5¨#Ó.ˆAà�a—e‘eŒ|  q§u¡u¤Ü! !§%¡%¨¯©°Ó4‘à˜!Ÿ%™%”<ØŸ%™%‘CàŸ%™%�Cå0ˆCà�C˜A˜sÐ"Ð"r†   c                óª  € \        V\        4      '       d   V P                  VP                  8w  d   \        RV : RV: 24      hV P                  VP                  8w  dH   V P                  P                  VP                  4      pV P                  V4      p VP                  V4      pV P                  VP                  V P                  V P                  3# rü   )r‘   rÙ  rá  ry   r�   rÿ   rÐ   r§   r   s   && r„   Ú	unify_ANPÚANP.unify_ANP‚  sŽ   € ä˜!œS×!Ò! Q§V¡V¨q¯v©vÔ%5Ý#ÃÂAÐ$FÓGÐGð �5‰5�A—E‘EŒ>Ø—%‘%—+‘+˜aŸe™eÓ$ˆCØ—	‘	˜#“ˆAØ—	‘	˜#“ˆAà�v‰v�q—v‘v˜qŸv™v q§u¡uÐ,Ð,r†   c                	ó   € \        ^ W4      # rJ  rü  ©r–   rÚ  r�   s   &&&r„   rÙ   ÚANP.zero�  ó   € ä�1�cÓÐr†   c                	ó   € \        ^W4      # r�  rü  r  s   &&&r„   rÜ   ÚANP.one“  r  r†   c                ó6   € V P                   P                  4       # )r  )r§   r  r£   s   &r„   r  ÚANP.to_dict—  ó   € à�v‰v�~‰~ÓÐr†   c                ó´   € \        V P                  ^ V P                  4      pVP                  4        F"  w  r#V P                  P	                  V4      W&   K$  	  V# )r
  )r&   r—   r�   r  r  )r¤   r—   r  r  s   &   r„   r  ÚANP.to_sympy_dict›  sE   € ä˜!Ÿ%™%  A§E¡EÓ*ˆà—I‘I–K‰DˆAØ—U‘U—^‘^ AÓ&ˆC‹Fñ  ð ˆ
r†   c                ó6   € V P                   P                  4       # r  ræ  r£   s   &r„   r¢   ÚANP.to_list¤  r
  r†   c                ó6   € V P                   P                  4       # )z5Return ``f.mod`` as a list with native coefficients. )rá  r¢   r£   s   &r„   ré  ÚANP.mod_to_list¨  r
  r†   c                ó|   € V P                  4        Uu. uF  qP                  P                  V4      NK  	  up# u upi )r  )r¢   r�   r  rš  s   & r„   r  ÚANP.to_sympy_list¬  s+   € à,-¯I©I¬KÓ9©K q—‘—‘ Ö"©KÑ9Ð9ùÒ9s   “#9c                ó6   € V P                   P                  4       # r   )r§   rì   r£   s   &r„   rì   ÚANP.to_tuple°  s   € ð �v‰v�‰Ó Ð r†   c           
     	óf   € \        \        \        \        VP                  V4      4      4      W#4      # r}   )rÙ  r   r’   r«  rÐ   )r–   r—   rÚ  r�   s   &&&&r„   r¾   ÚANP.from_list¸  s$   € ä”9œT¤# c§k¡k°3Ó"7Ó8Ó9¸3ÓDÐDr†   c                óV   € V P                  V P                  P                  V4      4      # r˜  )r  r§   r›  rš  s   &&r„   r›  ÚANP.add_ground¼  ó    € à�u‰u�Q—V‘V×&Ñ& qÓ)Ó*Ð*r†   c                óV   € V P                  V P                  P                  V4      4      # rŸ  )r  r§   r¡  rš  s   &&r„   r¡  ÚANP.sub_groundÀ  r  r†   c                óV   € V P                  V P                  P                  V4      4      # )z3Multiply ``f`` by an element of the ground domain. )r  r§   r¦  rš  s   &&r„   r¦  ÚANP.mul_groundÄ  r  r†   c                óV   € V P                  V P                  P                  V4      4      # )z6Quotient of ``f`` by an element of the ground domain. )r  r§   r«  rš  s   &&r„   r«  ÚANP.quo_groundÈ  r  r†   c                	óT   € V P                  V P                  P                  4       4      # r}   )r  r§   r•  r£   s   &r„   r•  ÚANP.negÌ  s   € Ø�u‰u�Q—V‘V—Z‘Z“\Ó"Ð"r†   c                	ól   € V P                  V4      w  r#rEV P                  VP                  V4      WE4      # r}   )r   r”   r·  ©r¤   r  r}  r¶  rÚ  r�   s   &&    r„   r·  ÚANP.addÏ  ó,   € ØŸ™ Q›‰ˆˆcØ�u‰u�Q—U‘U˜1“X˜sÓ(Ð(r†   c                	ól   € V P                  V4      w  r#rEV P                  VP                  V4      WE4      # r}   )r   r”   r½  r#  s   &&    r„   r½  ÚANP.subÓ  r%  r†   c                	óŠ   € V P                  V4      w  r#rEV P                  VP                  V4      P                  V4      WE4      # r}   )r   r”   rÂ  rï  r#  s   &&    r„   rÂ  ÚANP.mul×  s5   € ØŸ™ Q›‰ˆˆcØ�u‰u�Q—U‘U˜1“X—\‘\ #Ó&¨Ó1Ð1r†   c                óP  € \        V\        4      '       g   \        R\        V4      ,          4      hV P                  pV P
                  pV^ 8  d   VP                  V4      V) rV P                  VP                  V4      P                  V P                  4      W P                  4      # rÊ  )r‘   r�   rÍ  r“   rá  r§   r•  r”   rÐ  rï  r�   )r¤   r5  rÚ  r}  s   &&  r„   rÐ  ÚANP.powÛ  sz   € ä˜!œS×!Ò!ÜÐ6¼¸a»Õ@ÓAÐAà�f‰fˆØ�F‰FˆàˆqŒ5Ø—8‘8˜C“= 1 "ˆqð �u‰u�Q—U‘U˜1“X—\‘\ !§&¡&Ó)¨3·±Ó6Ð6r†   c                	ó¨   € V P                  V4      w  r#rEV P                  VP                  VP                  V4      4      P	                  V4      WE4      # r}   )r   r”   rÂ  r•  rï  r#  s   &&    r„   rù  Ú	ANP.exquoé  s@   € ØŸ™ Q›‰ˆˆcØ�u‰u�Q—U‘U˜1Ÿ8™8 C›=Ó)×-Ñ-¨cÓ2°CÓ=Ð=r†   c                	óp   € V P                  V4      V P                  V P                  V P                  4      3# r}   )rù  rÙ   rá  r�   r  s   &&r„   rê  ÚANP.diví  s(   € Ø�w‰w�q‹z˜1Ÿ6™6 !§&¡&¨!¯%©%Ó0Ð0Ð0r†   c                	ó$   € V P                  V4      # r}   )rù  r  s   &&r„   rô  ÚANP.quoð  s   € Ø�w‰w�q‹zÐr†   c                	ó¬   € V P                  V4      w  r#rEVP                  V4      w  rgVP                  '       d   V P                  WE4      # \	        R 4      h)rÙ  )r   r†  r€  rÙ   r   )r¤   r  r}  r¶  rÚ  r�   r4  r¡  s   &&      r„   rï  ÚANP.remó  sE   € ØŸ™ Q›‰ˆˆcØ�|‰|˜A‹‰ˆà�8�8ˆ8Ø—6‘6˜#Ó#Ð#ä Ó/Ð/r†   c                ó6   € V P                   P                  4       # rD  )r§   rE  r£   s   &r„   rE  ÚANP.LCü  ó   € à�v‰v�y‰y‹{Ðr†   c                ó6   € V P                   P                  4       # rH  )r§   rI  r£   s   &r„   rI  ÚANP.TC   r6  r†   c                ó.   € V P                   P                  # )z6Returns ``True`` if ``f`` is a zero algebraic number. )r§   rK  r£   s   &r„   rK  ÚANP.is_zero  s   € ð �v‰v�~‰~Ðr†   c                ó.   € V P                   P                  # )z6Returns ``True`` if ``f`` is a unit algebraic number. )r§   r€  r£   s   &r„   r€  Ú
ANP.is_one	  s   € ð �v‰v�}‰}Ðr†   c                ó.   € V P                   P                  # rƒ  )r§   r…  r£   s   &r„   r…  ÚANP.is_ground  s   € ð �v‰v×ÑÐr†   c                	ó   € V # r}   r‰   r£   s   &r„   Ú__pos__ÚANP.__pos__  s   € Øˆr†   c                	ó"   € V P                  4       # r}   rµ  r£   s   &r„   r¶  ÚANP.__neg__  r³  r†   c                	óØ   € \        V\        4      '       d   V P                  V4      #  V P                  P	                  V4      pV P                  V4      #   \         d
    \        u # i ; ir}   )r‘   rÙ  r·  r�   rÐ   r›  r   r¹  r  s   &&r„   rº  ÚANP.__add__  óZ   € Ü�aœ×ÒØ—5‘5˜“8ˆOð	#Ø—‘—‘˜aÓ ˆAð —<‘< “?Ð"øô ô 	"Ü!Ò!ð	"úó   ©A ÁA)Á(A)c                	ó$   € V P                  V4      # r}   r¿  r  s   &&r„   rÀ  ÚANP.__radd__#  rÂ  r†   c                	óØ   € \        V\        4      '       d   V P                  V4      #  V P                  P	                  V4      pV P                  V4      #   \         d
    \        u # i ; ir}   )r‘   rÙ  r½  r�   rÐ   r¡  r   r¹  r  s   &&r„   rÄ  ÚANP.__sub__&  rF  rG  c                	ó&   € V ) P                  V4      # r}   r¿  r  s   &&r„   rÇ  ÚANP.__rsub__0  rÉ  r†   c                	óØ   € \        V\        4      '       d   V P                  V4      #  V P                  P	                  V4      pV P                  V4      #   \         d
    \        u # i ; ir}   )r‘   rÙ  rÂ  r�   rÐ   r¦  r   r¹  r  s   &&r„   rË  ÚANP.__mul__3  rF  rG  c                	ó$   € V P                  V4      # r}   rÎ  r  s   &&r„   rÏ  ÚANP.__rmul__=  rÂ  r†   c                	ó$   € V P                  V4      # r}   rØ  rÏ  s   &&r„   rÙ  ÚANP.__pow__@  rÛ  r†   c                	ó$   € V P                  V4      # r}   rÝ  r  s   &&r„   rÞ  ÚANP.__divmod__C  rÛ  r†   c                	ó$   € V P                  V4      # r}   rá  r  s   &&r„   râ  ÚANP.__mod__F  rÛ  r†   c                	óØ   € \        V\        4      '       d   V P                  V4      #  V P                  P	                  V4      pV P                  V4      #   \         d
    \        u # i ; ir}   )r‘   rÙ  rô  r�   rÐ   r«  r   r¹  r  s   &&r„   rÒ  ÚANP.__truediv__I  rF  rG  c                	ód   €  V P                  V4      w  r# pW#8H  #   \         d
    \        u # i ; ir}   ©r   ry   r¹  ©r¤   r  r}  r¶  rB  s   &&   r„   rê  Ú
ANP.__eq__S  ó:   € ð	"ØŸ™ Q›‰JˆA�!�Qð ‰vˆøô !ô 	"Ü!Ò!ð	"úó   ‚ ›/®/c                	ód   €  V P                  V4      w  r# pW#8g  #   \         d
    \        u # i ; ir}   r[  r\  s   &&   r„   rÈ  Ú
ANP.__ne__Z  r^  r_  c                	ó4   € V P                  V4      w  r# pW#8  # r}   ©r   r\  s   &&   r„   rø  Ú
ANP.__lt__a  ó   € Ø—[‘[ “^‰
ˆˆa�Ø‰uˆr†   c                	ó4   € V P                  V4      w  r# pW#8*  # r}   rc  r\  s   &&   r„   rü  Ú
ANP.__le__e  ó   € Ø—[‘[ “^‰
ˆˆa�Ø‰vˆr†   c                	ó4   € V P                  V4      w  r# pW#8„  # r}   rc  r\  s   &&   r„   r   Ú
ANP.__gt__i  re  r†   c                	ó4   € V P                  V4      w  r# pW#8¬  # r}   rc  r\  s   &&   r„   r  Ú
ANP.__ge__m  rh  r†   c                	ó,   € \        V P                  4      # r}   )rT  r§   r£   s   &r„   r  ÚANP.__bool__q  s   € Ü�A—F‘F‹|Ðr†   r‰   )r§   rá  r�   )Erç   r  r  r  r  r  r˜   r  r”   r9  r  r—   rÚ  rì  rð  r  rè   rí   rÐ   rÿ   r   rÙ   rÜ   r  r  r¢   ré  r  rì   r¾   r›  r¡  r¦  r«  r•  r·  r½  rÂ  rÐ  rù  rê  rô  rï  rE  rI  rK  r€  r…  r@  r¶  rº  rÀ  rÄ  rÇ  rË  rÏ  rÙ  rÞ  râ  rÒ  rê  rÈ  rø  rü  r   r  r  r  Ú__classcell__)ræ   s   @r„   rÙ  rÙ    sÃ  ø† Ù;à'€Iò&ð* ôó ðò3ð ñ#ó ð#ð ñ"ó ð"òòò)òdòTòHò#ò:-ð ñ ó ð ð ñ ó ð ò òò ò ò:ò!ð ñEó ðEò+ò+ò+ò+ò#ò)ò)ò2ò7ò>ò1òò0òòð ñó ðð ñó ðð ñ ó ð òòò#òò#òò#òòòòò#òòòòòò÷ð r†   rÙ  )’r  Ú
__future__r   Úsympy.external.gmpyr   Úsympy.utilities.exceptionsr   Úsympy.core.numbersr   Úsympy.core.sympifyr   Úsympy.polys.polyutilsr   r   Úsympy.polys.domainsr	   r
   r   Úsympy.polys.polyerrorsr   r   r   r   Úsympy.polys.densebasicr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   Úsympy.polys.densearithr1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   Úsympy.polys.densetoolsrJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   Úsympy.polys.euclidtoolsrY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   Úsympy.polys.sqfreetoolsrc   rd   re   rf   rg   rh   ri   Úsympy.polys.factortoolsrj   rk   rl   rm   Úsympy.polys.rootisolationrn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r…   r‹   r�   r›   r[  rW  rÛ  rÙ  r‰   r†   r„   Ú<module>r     sI  ðÙ 7å "å ,å @å !Ý *ß Cß .Ñ .÷ó ÷÷ ÷ ÷ ÷ ÷ ÷ ÷ õ ÷0÷ ÷ ÷ ÷ ÷ õ ÷4÷ ÷ ÷ ñ ÷"÷ ÷ ÷(÷ (ñ (÷.ó .÷$÷ $÷ $ñ $÷ð
 �7ÔÛó=ð €EòôGˆ+ô GôT"p�ô pôfA�ô AòH4ô
E,Ð
˜kô E,òP*ô
Uˆ+ö Ur†   