+
    ‹°³jS  ã                  óÌ  € R t ^ RIHt ^ RIHt ^ RIHtHtHtH	t	H
t
H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 ^ 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) ^ RI*H+t+ ^ RI,H-t- ^ RI.H/t/H0t0 ^ RI1H2t2 ^ RI3H4t4 ^ RI5H6t6 ^ RI7H8t8 ]4]&3R l4       t9]4]&3R l4       t:]4]&3R l4       t;]4R 4       t< ! R R]24      t= ! R R ]]2]4      t>R!# )"z!Sparse rational function fields. )Úannotations)Úreduce)ÚaddÚmulÚltÚleÚgtÚge)ÚExpr)ÚMod)ÚExp1)ÚS)ÚSymbol)ÚCantSympifyÚsympify)ÚExpBase)ÚDomain)ÚDomainElement©ÚFractionField)ÚPolynomialRing)Úconstruct_domain)ÚlexÚMonomialOrder)ÚCoercionFailed)Úbuild_options)Ú_parallel_dict_from_expr)ÚPolyRingÚPolyElement)ÚDefaultPrinting)Úpublic)Úis_sequence)Úpollutec                óB   € \        WV4      pV3VP                  ,           # )zFConstruct new rational function field returning (field, x1, ..., xn). ©Ú	FracFieldÚgens©ÚsymbolsÚdomainÚorderÚ_fields   &&& ÚS/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/polys/fields.pyÚfieldr-      s!   € ô �w¨Ó.€FØˆ9�v—{‘{Õ"Ð"ó    c                ó4   € \        WV4      pW3P                  3# )zHConstruct new rational function field returning (field, (x1, ..., xn)). r$   r'   s   &&& r,   Úxfieldr0   $   s   € ô �w¨Ó.€FØ—K‘KÐ Ð r.   c                óš   € \        WV4      p\        VP                   Uu. uF  qDP                  NK  	  upVP                  4       V# u upi )zSConstruct new rational function field and inject generators into global namespace. )r%   r"   r(   Únamer&   )r(   r)   r*   r+   Úsyms   &&&  r,   Úvfieldr4   *   s=   € ô �w¨Ó.€FÜ &§.¢.Ó2¡.˜3�hŒh¡.Ñ2°F·K±KÔ@Ø€Mùò 3s    Ac                óª  € Rp\        V 4      '       g   V .Rr0\        \        \        V 4      4      p \	        W4      p. pV  F"  pVP                  VP                  4       4       K$  	  \        WT4      w  rtVP                  fH   \        V Uu. uF  p\        VP                  4       4      NK  	  up. 4      p	\        W”R7      w  Vn        p
\        VP                  VP                  VP                  4      p. p\        ^ \!        V4      ^4       F,  pVP#                  V! \%        W}V^,            4      4      4       K.  	  V'       d   W¼^ ,          3# W¼3# u upi )ak  Construct a field deriving generators and domain
from options and input expressions.

Parameters
==========

exprs   : py:class:`~.Expr` or sequence of :py:class:`~.Expr` (sympifiable)

symbols : sequence of :py:class:`~.Symbol`/:py:class:`~.Expr`

options : keyword arguments understood by :py:class:`~.Options`

Examples
========

>>> from sympy import exp, log, symbols, sfield

>>> x = symbols("x")
>>> K, f = sfield((x*log(x) + 4*x**2)*exp(1/x + log(x)/3)/x**2)
>>> K
Rational function field in x, exp(1/x), log(x), x**(1/3) over ZZ with lex order
>>> f
(4*x**2*(exp(1/x)) + x*(exp(1/x))*(log(x)))/((x**(1/3))**5)
FT)Úopt)r!   ÚlistÚmapr   r   ÚextendÚas_numer_denomr   r)   ÚsumÚvaluesr   r%   r&   r*   ÚrangeÚlenÚappendÚtuple)Úexprsr(   ÚoptionsÚsingler6   ÚnumdensÚexprÚrepsÚrepÚcoeffsÚ_r+   ÚfracsÚis   &*,           r,   ÚsfieldrL   1   s  € ð4 €FÜ�u×ÒØ˜ ˆvä””W˜eÓ$Ó%€EÜ
˜Ó
)€CØ€GÛˆØ�‰�t×*Ñ*Ó,Ö-ñ ä(¨Ó6�I€Dà
‡z�zÒô ±DÓ9±D¨S”d˜3Ÿ:™:›<Ö(±DÑ9¸2Ó>ˆÜ(¨Ô9‰ˆŒ
�Aä�s—x‘x §¡¨S¯Y©YÓ7€FØ€EÜ�1”c˜$“i Ö#ˆØ�‰‘VœE $¨¨1­ +Ó.Ó/Ö0ñ $÷ Ø˜a�Ð!Ð!àˆÐùò :s   Â
"Ec                  óÐ   € ] tR t^gt$ RtR]R&   R]R&   R]R&   R]R	&   R
]R&   R]R&   ]3R l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]tR tR tR tR tR tR# )"r%   z2Multivariate distributed rational function field. r   Úringztuple[FracElement, ...]r&   ztuple[Expr, ...]r(   ÚintÚngensr   r)   r   r*   c                	óø  € \        WV4      pVP                  pVP                  pVP                  pVP                  pV P
                  WW#3p\        P                  V 4      pWgn        \        V4      Vn
        WGn        Wn        WWn        W'n        W7n        \        WtP                  4      P                  Vn        VP                  VP                  4      Vn        VP                  VP                   4      Vn        VP#                  4       Vn        \'        VP                  VP$                  4       FH  w  r‰\)        V\*        4      '       g   K  VP,                  p
\/        Wz4      '       d   K<  \1        WzV	4       KJ  	  V# ©N)r   r(   rP   r)   r*   Ú__name__ÚobjectÚ__new__Ú_hash_tupleÚhashÚ_hashrN   ÚFracElementÚzeroÚraw_newÚdtypeÚoneÚ_gensr&   ÚzipÚ
isinstancer   r2   ÚhasattrÚsetattr)Úclsr(   r)   r*   rN   rP   rV   ÚobjÚsymbolÚ	generatorr2   s   &&&&       r,   rU   ÚFracField.__new__q   s  € Ü˜¨Ó/ˆØ—,‘,ˆØ—
‘
ˆØ—‘ˆØ—
‘
ˆà—|‘| W°VÐCˆä�n‰n˜SÓ!ˆØ%ŒÜ˜Ó%ˆŒ	ØŒØŒØŒ	ØŒ
ØŒ	ä §Y¡YÓ/×7Ñ7ˆŒ	à—9‘9˜TŸY™YÓ'ˆŒØ—)‘)˜DŸH™HÓ%ˆŒà—9‘9“;ˆŒä!$ S§[¡[°#·(±(Ö!;ÑˆFÜ˜&¤&×)Ô)Ø—{‘{�ä˜s×)Ô)Ü˜C yÖ1ñ "<ð ˆ
r.   c                ó†   € \        V P                  P                   Uu. uF  qP                  V4      NK  	  up4      # u upi )z(Return a list of polynomial generators. )r@   rN   r&   r\   ©ÚselfÚgens   & r,   r^   ÚFracField._gens“   s-   € ä°$·)±)·.².ÓB±.¨3—z‘z #–±.ÑBÓCÐCùÒBs   ž>c                	óH   € V P                   V P                  V P                  3# rR   )r(   r)   r*   ©rj   s   &r,   Ú__getnewargs__ÚFracField.__getnewargs__—   s   € Ø—‘˜dŸk™k¨4¯:©:Ð6Ð6r.   c                	ó   € V P                   # rR   )rX   rn   s   &r,   Ú__hash__ÚFracField.__hash__š   s   € Ø�z‰zÐr.   c                	ó¾   € V P                  V4      '       d*   V P                  P                  VP                  4       4      # \	        R V P
                  : RV: R24      h)zexpected a ú, got z instead)Ú
is_elementrN   ÚindexÚto_polyÚ
ValueErrorr\   ri   s   &&r,   rw   ÚFracField.index�   s>   € Ø�?‰?˜3×ÒØ—9‘9—?‘? 3§;¡;£=Ó1Ð1åÀÇ
Ä
Ë3ÐOÓPÐPr.   c                	óì   € \        V\        4      ;'       d^    V P                  V P                  V P                  V P
                  3VP                  VP                  VP                  VP
                  38H  # rR   )r`   r%   r(   rP   r)   r*   ©rj   Úothers   &&r,   Ú__eq__ÚFracField.__eq__£   s\   € Ü˜%¤Ó+÷ Dð DØ�\‰\˜4Ÿ:™: t§{¡{°D·J±JÐ?Ø�]‰]˜EŸK™K¨¯©°u·{±{ÐCñDð	Dr.   c                	ó   € W8X  * # rR   © r|   s   &&r,   Ú__ne__ÚFracField.__ne__¨   s   € ØÒ Ð r.   c                óP   € \        V\        4      ;'       d    VP                  V 8H  # )zBTrue if ``element`` is an element of this field. False otherwise. )r`   rY   r-   ©rj   Úelements   &&r,   rv   ÚFracField.is_element«   s    € ä˜'¤;Ó/×IÐI°G·M±MÀTÑ4IÐIr.   Nc                	ó$   € V P                  W4      # rR   )r\   ©rj   ÚnumerÚdenoms   &&&r,   r[   ÚFracField.raw_new¯   s   € Ø�z‰z˜%Ó'Ð'r.   c                	ó~   € Vf   V P                   P                  pVP                  V4      w  rV P                  W4      # rR   )rN   r]   Úcancelr[   r‰   s   &&&r,   ÚnewÚFracField.new²   s2   € ØŠ= $§)¡)§-¡-˜%Ø—|‘| EÓ*‰ˆØ�|‰|˜EÓ)Ð)r.   c                	ó8   € V P                   P                  V4      # rR   )r)   Úconvertr…   s   &&r,   Ú
domain_newÚFracField.domain_new·   s   € Ø�{‰{×"Ñ" 7Ó+Ð+r.   c                	óØ  €  V P                  V P                  P                  V4      4      #   \         d³    T P                  pTP
                  '       g“   TP                  '       d�   T P                  pTP                  4       pTP                  T4      pTP                  TP                  T4      4      pTP                  TP                  T4      4      pT P                  YV4      u # h i ; irR   )r�   rN   Ú
ground_newr   r)   Úis_FieldÚhas_assoc_FieldÚ	get_fieldr’   rŠ   r‹   r[   )rj   r†   r)   rN   Úground_fieldrŠ   r‹   s   &&     r,   r–   ÚFracField.ground_newº   s¼   € ð	Ø—8‘8˜DŸI™I×0Ñ0°Ó9Ó:Ð:øÜô 	Ø—[‘[ˆFà—?—?�? v×'=×'=Ð'=Ø—y‘y�Ø%×/Ñ/Ó1�Ø&×.Ñ.¨wÓ7�ØŸ™¨×(:Ñ(:¸7Ó(CÓD�ØŸ™¨×(:Ñ(:¸7Ó(CÓD�Ø—|‘| EÓ1Ò1àð	ús   ‚), ¬(C)ÁC)Á'A>C)Ã'C)c                	óÒ  € \        V\        4      '       dØ   WP                  8X  d   V# \        V P                  \        4      '       d7   V P                  P                  VP                  8X  d   V P                  V4      # \        V P                  \        4      '       dE   V P                  P                  P                  4       VP                  8X  d   V P                  V4      # \        R 4      h\        V\        4      '       Ed*   VP                  4       w  r#\        V P                  \        4      '       dB   VP                  V P                  P                  8X  d   V P                  P                  V4      pMŠ\        V P                  \        4      '       dP   VP                  V P                  P                  P                  4       8X  d   V P                  P                  V4      pMVP                  V P                  4      pV P                  P                  V4      pV P                  W24      # \        V\        4      '       dM   \!        V4      ^8X  d=   \#        \%        V P                  P&                  V4      4      w  r2V P)                  W24      # \        V\*        4      '       d   \        R4      h\        V\,        4      '       d   V P/                  V4      # V P                  V4      # )Ú
conversionÚparsing)r`   rY   r-   r)   r   r–   r   rN   Úto_fieldÚNotImplementedErrorr   Úclear_denomsÚto_ringÚset_ringr[   r@   r>   r7   r8   Úring_newr�   Ústrr
   Ú	from_expr)rj   r†   r‹   rŠ   s   &&  r,   Ú	field_newÚFracField.field_newÊ   sö  € Ü�gœ{×+Ò+Ø—}‘}Ô$Ø�ä˜$Ÿ+™+¤}×5Ò5Ø—‘×!Ñ! W§]¡]Ô2Ø—‘ wÓ/Ð/Ü˜DŸK™K¬×8Ò8Ø—‘× Ñ ×)Ñ)Ó+¨w¯}©}Ô<Ø—‘ wÓ/Ð/ä)¨,Ó7Ð7Ü˜¤×-Ó-Ø"×/Ñ/Ó1‰LˆEä˜$Ÿ+™+¤~×6Ò6Ø—
‘
˜dŸk™k×.Ñ.Ô.ØŸ	™	×,Ñ,¨UÓ3‘Ü˜DŸK™K¬×7Ò7Ø—
‘
˜dŸk™k×/Ñ/×7Ñ7Ó9Ô9ØŸ	™	×,Ñ,¨UÓ3‘àŸ™ t§y¡yÓ1�à—I‘I×(Ñ(¨Ó/ˆEØ—<‘< Ó-Ð-Ü˜¤×'Ò'¬C°«L¸AÔ,=Ü¤ D§I¡I×$6Ñ$6¸Ó @ÓA‰LˆEØ—8‘8˜EÓ)Ð)Ü˜¤×%Ò%Ü% iÓ0Ð0Ü˜¤×&Ò&Ø—>‘> 'Ó*Ð*à—?‘? 7Ó+Ð+r.   c                	óÔ   aaaa€ V P                   o\        ;QJ d"    . R  SP                  4        4       F  NK  	  5M! R  SP                  4        4       4      oVVVV3R loS! V4      # )c              3  ó˜   "  € T F@  pVP                   '       g   \        V\        4      '       g   K-  WP                  4       3x € KB  	  R # 5irR   )Úis_Powr`   r   Úas_base_exp)Ú.0rk   s   & r,   Ú	<genexpr>Ú*FracField._rebuild_expr.<locals>.<genexpr>ó   s3   é € ð 7¹>°CØ�z�zˆzœZ¨¬W×5ô 0˜Ÿ_™_Ó.Õ/»>ùs   ‚A
™A
±A
c           	     ó
  <€ S	P                  V 4      pVe   V# V P                  '       d.   \        \        \	        \        SV P                  4      4      4      # V P                  '       d.   \        \        \	        \        SV P                  4      4      4      # V P                  '       g   \        V \        \        34      '       d¡   V P                  4       w  r#S
 FI  w  pw  rVWR8X  g   K  \        W64      ^ 8X  g   K"  S	P                  V4      \        W6,          4      ,          u # 	  VP                   '       d-   V\"        P$                  Jd   S! V4      \        V4      ,          # M9S	P                  ^V ,          4      e    ^S	P                  ^V ,          4      ,          #  SP'                  V 4      #   \(         dH    SP*                  '       g4   SP,                  '       d"   SP/                  4       P'                  T 4      u # h i ; irR   )ÚgetÚis_Addr   r   r7   r8   ÚargsÚis_Mulr   r«   r`   r   r   r¬   r   rO   Ú
is_Integerr   ÚOner’   r   r—   r˜   r™   )rE   rf   ÚbÚerk   ÚbgÚegÚ_rebuildr)   ÚmappingÚpowerss   &      €€€€r,   r»   Ú)FracField._rebuild_expr.<locals>._rebuildö   ss  ø€ ØŸ™ DÓ)ˆIàÒ$Ø Ð Ø——�Üœc¤4¬¨H°d·i±iÓ(@Ó#AÓBÐBØ——�Üœc¤4¬¨H°d·i±iÓ(@Ó#AÓBÐBØ——�¤
¨4´'¼4°× AÒ AØ×'Ñ'Ó)‘�ã%+‘M�C™˜"Ø–w¤3 q£:°¦?Ø&Ÿ{™{¨3Ó/´°QµT³Õ:Ò:ñ &,ð —<—<�< A¬Q¯U©U£NÙ# A›;¬¨A«Õ.Ð.øØ—‘˜Q˜t�VÓ$Ò0Ø˜Ÿ™ Q t¥VÓ,Õ,Ð,ðØ—~‘~ dÓ+Ð+øÜ!ô Ø——�¨6×+A×+AÐ+AØ!×+Ñ+Ó-×5Ñ5°dÓ;Ò;àð	ús   ÆF0 Æ0HÇHÇHÈ H)r)   r@   Úkeys)rj   rE   r¼   r»   r)   r½   s   &&f@@@r,   Ú_rebuild_exprÚFracField._rebuild_exprñ   sV   û€ Ø—‘ˆß”ñ 7¸7¿<¹<¼>ó 7—‘ñ 7¸7¿<¹<¼>ó 7ó 7ˆ÷	ð 	ñ8 ˜‹~Ðr.   c                	ó  € \        \        \        V P                  V P                  4      4      4      p V P                  \        V4      V4      pV P                  V4      #   \         d    \        R T : RT: 24      hi ; i)z=expected an expression convertible to a rational function in ru   )
Údictr7   r_   r(   r&   rÀ   r   r§   r   ry   )rj   rE   r¼   Úfracs   &&  r,   r¦   ÚFracField.from_expr  sq   € Ü”tœC §¡¨d¯i©iÓ8Ó9Ó:ˆð	(Ø×%Ñ%¤g¨d£m°WÓ=ˆDð —>‘> $Ó'Ð'øô ô 	wÝÓjnÒptÐuÓvÐvð	wús   ´A  Á A?c                	ó   € \        V 4      # rR   r   rn   s   &r,   Ú	to_domainÚFracField.to_domain  s   € Ü˜TÓ"Ð"r.   c                	óX   € \        V P                  V P                  V P                  4      # rR   )r   r(   r)   r*   rn   s   &r,   r¢   ÚFracField.to_ring!  s   € Ü˜Ÿ™ d§k¡k°4·:±:Ó>Ð>r.   r�   rR   )rS   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r   rU   r^   ro   rr   rw   r~   r‚   rv   r[   r�   r“   r–   r§   Ú__call__rÀ   r¦   rÇ   r¢   Ú__static_attributes__r�   r.   r,   r%   r%   g   sŒ   ‡ Ù<à
ƒNØ
!Ó!ØÓØƒJØƒNØÓà,/ô  òDDò7òòQòDò
!òJô(ô*ò
,òò #,ðJ €Hò!òF(ò#ö?r.   r%   c                  ó
  € ] 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 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)R' lt)R(t*R# )*rY   i$  z=Element of multivariate distributed rational function field. Nc                	ó†   € Vf   VP                   P                  pMV'       g   \        R4      hWn        W n        W0n        R # )Nzzero denominator)rN   r]   ÚZeroDivisionErrorr-   rŠ   r‹   )rj   r-   rŠ   r‹   s   &&&&r,   Ú__init__ÚFracElement.__init__'  s2   € ØŠ=Ø—J‘J—N‘N‰EßÜ#Ð$6Ó7Ð7àŒ
ØŒ
ØŽ
r.   c                	ó:   € V P                  V P                  W4      # rR   )Ú	__class__r-   ©ÚfrŠ   r‹   s   &&&r,   r[   ÚFracElement.raw_new1  s   € Ø�{‰{˜1Ÿ7™7 EÓ1Ð1r.   c                	ó@   € V P                   ! VP                  V4      !  # rR   )r[   rŽ   rÙ   s   &&&r,   r�   ÚFracElement.new4  s   € Ø�yŠy˜%Ÿ,™, uÓ-Ñ.Ð.r.   c                	óR   € V P                   ^8w  d   \        R4      hV P                  # )é   zf.denom should be 1)r‹   ry   rŠ   ©rÚ   s   &r,   rx   ÚFracElement.to_poly7  s"   € Ø�7‰7�aŒ<ÜÐ2Ó3Ð3Ø�w‰wˆr.   c                	ó6   € V P                   P                  4       # rR   )r-   rÇ   rn   s   &r,   ÚparentÚFracElement.parent<  s   € Ø�z‰z×#Ñ#Ó%Ð%r.   c                	óH   € V P                   V P                  V P                  3# rR   )r-   rŠ   r‹   rn   s   &r,   ro   ÚFracElement.__getnewargs__?  s   € Ø—
‘
˜DŸJ™J¨¯
©
Ð3Ð3r.   c                	óŒ   € V P                   pVf4   \        V P                  V P                  V P                  34      ;V n         pV# rR   )rX   rW   r-   rŠ   r‹   )rj   rX   s   & r,   rr   ÚFracElement.__hash__D  s9   € Ø—
‘
ˆØŠ=Ü!% t§z¡z°4·:±:¸t¿z¹zÐ&JÓ!KÐKˆDŒJ˜Øˆr.   c                	ó†   € V P                  V P                  P                  4       V P                  P                  4       4      # rR   )r[   rŠ   Úcopyr‹   rn   s   &r,   rê   ÚFracElement.copyJ  s)   € Ø�|‰|˜DŸJ™JŸO™OÓ-¨t¯z©z¯©Ó/@ÓAÐAr.   c                	óÎ   € V P                   V8X  d   V # VP                  pV P                  P                  V4      pV P                  P                  V4      pVP                  W44      # rR   )r-   rN   rŠ   r£   r‹   r�   )rj   Ú	new_fieldÚnew_ringrŠ   r‹   s   &&   r,   Ú	set_fieldÚFracElement.set_fieldM  sS   € Ø�:‰:˜Ô"ØˆKà —~‘~ˆHØ—J‘J×'Ñ'¨Ó1ˆEØ—J‘J×'Ñ'¨Ó1ˆEØ—=‘= Ó.Ð.r.   c                	ót   € V P                   P                  ! V!  V P                  P                  ! V!  ,          # rR   )rŠ   Úas_exprr‹   )rj   r(   s   &*r,   rò   ÚFracElement.as_exprV  s+   € Ø�z‰z×!Ò! 7Ñ+¨D¯J©J×,>Ò,>ÀÑ,HÕHÐHr.   c                	ó`  € \        V\        4      '       dV   V P                  VP                  8X  d;   V P                  VP                  8H  ;'       d    V P                  VP                  8H  # V P                  V8H  ;'       d.    V P                  V P                  P
                  P                  8H  # rR   )r`   rY   r-   rŠ   r‹   rN   r]   ©rÚ   Úgs   &&r,   r~   ÚFracElement.__eq__Y  ss   € Ü�aœ×%Ò%¨!¯'©'°Q·W±WÔ*<Ø—7‘7˜aŸg™gÑ%×<Ð<¨!¯'©'°Q·W±WÑ*<Ð<à—7‘7˜a‘<×?Ð? A§G¡G¨q¯w©w¯|©|×/?Ñ/?Ñ$?Ð?r.   c                	ó   € W8X  * # rR   r�   rõ   s   &&r,   r‚   ÚFracElement.__ne___  s
   € ØŠzÐr.   c                	ó,   € \        V P                  4      # rR   )ÚboolrŠ   rà   s   &r,   Ú__bool__ÚFracElement.__bool__b  s   € Ü�A—G‘G‹}Ðr.   c                	ój   € V P                   P                  4       V P                  P                  4       3# rR   )r‹   Úsort_keyrŠ   rn   s   &r,   rÿ   ÚFracElement.sort_keye  s'   € Ø—
‘
×#Ñ#Ó% t§z¡z×':Ñ':Ó'<Ð=Ð=r.   c                	óš   € V P                   P                  V4      '       d&   V! V P                  4       VP                  4       4      # \        # rR   )r-   rv   rÿ   ÚNotImplemented)Úf1Úf2Úops   &&&r,   Ú_cmpÚFracElement._cmph  s6   € Ø�8‰8×Ñ˜r×"Ò"Ù�b—k‘k“m R§[¡[£]Ó3Ð3ä!Ð!r.   c                	ó.   € V P                  V\        4      # rR   )r  r   ©r  r  s   &&r,   Ú__lt__ÚFracElement.__lt__n  ó   € Ø�w‰w�rœ2‹Ðr.   c                	ó.   € V P                  V\        4      # rR   )r  r   r	  s   &&r,   Ú__le__ÚFracElement.__le__p  r  r.   c                	ó.   € V P                  V\        4      # rR   )r  r   r	  s   &&r,   Ú__gt__ÚFracElement.__gt__r  r  r.   c                	ó.   € V P                  V\        4      # rR   )r  r	   r	  s   &&r,   Ú__ge__ÚFracElement.__ge__t  r  r.   c                óN   € V P                  V P                  V P                  4      # ©z"Negate all coefficients in ``f``. ©r[   rŠ   r‹   rà   s   &r,   Ú__pos__ÚFracElement.__pos__w  s   € à�y‰y˜Ÿ™ !§'¡'Ó*Ð*r.   c                óP   € V P                  V P                  ) V P                  4      # r  r  rà   s   &r,   Ú__neg__ÚFracElement.__neg__{  s   € à�y‰y˜!Ÿ'™'˜ 1§7¡7Ó+Ð+r.   c                	óz  € V P                   P                  p VP                  V4      p^VR3#   \         d‚    TP                  '       gk   TP
                  '       dY   TP                  4       p TP                  T4      pRTP                  T4      TP                  T4      3u #   \         d     Mi ; iRu # i ; i)rß   Néÿÿÿÿ)é    NN)	r-   r)   r’   r   r—   r˜   r™   rŠ   r‹   )rj   r†   r)   rš   s   &&  r,   Ú_extract_groundÚFracElement._extract_ground  s½   € Ø—‘×"Ñ"ˆð	$Ø—n‘n WÓ-ˆGð �g˜tÐ#Ð#øô ô 	!Ø—?—?�? v×'=×'=Ð'=Ø%×/Ñ/Ó1�ðXØ*×2Ñ2°7Ó;�Gð ˜|×1Ñ1°'Ó:¸L×<NÑ<NÈwÓ<WÐWÒWøô &ô Ùðúð
 !Ò ð	!ús?   ˜. ®B:ÁB:ÁB:Á.B$Á?#B:Â$B2Â/B:Â1B2Â2B:Â9B:c                ó&  € V P                   pV'       g   V # V '       g   V# VP                  V4      '       d½   V P                  VP                  8X  d8   V P                  V P                  VP                  ,           V P                  4      # V P                  V P                  VP                  ,          V P                  VP                  ,          ,           V P                  VP                  ,          4      # VP
                  P                  V4      '       d?   V P                  V P                  V P                  V,          ,           V P                  4      # \        V\        4      '       d­   \        VP                  \        4      '       d'   VP                  P                   VP                   8X  d   MÓ\        VP                   P                  \        4      '       d7   VP                   P                  P                   V8X  d   VP                  V 4      # \        # \        V\        4      '       dX   \        VP                  \        4      '       d'   VP                  P
                  VP
                  8X  d   MVP                  V 4      # V P                  V4      # )z(Add rational functions ``f`` and ``g``. )r-   rv   r‹   r�   rŠ   rN   r`   rY   r)   r   Ú__radd__r  r   r   ©rÚ   rö   r-   s   && r,   Ú__add__ÚFracElement.__add__“  s   € à—‘ˆçØˆHßØˆHØ×Ñ˜a× Ò Ø�w‰w˜!Ÿ'™'Ô!Ø—u‘u˜QŸW™W q§w¡wÕ.°·±Ó8Ð8à—u‘u˜QŸW™W Q§W¡W�_¨q¯w©w°q·w±w­Õ>ÀÇÁÈÏÉÅÓPÐPØ�Z‰Z×"Ñ" 1×%Ò%Ø—5‘5˜Ÿ™ 1§7¡7¨1¥9Õ,¨a¯g©gÓ6Ð6ä˜!œ[×)Ò)Ü˜eŸl™l¬M×:Ò:¸u¿|¹|×?QÑ?QÐUV×U\ÑU\Ô?\ØÜ §¡§¡´×>Ò>À1Ç7Á7Ç>Á>×CWÑCWÐ[`ÔC`ØŸ:™: a›=Ð(ä)Ð)Ü˜Aœ{×+Ò+Ü˜eŸl™l¬N×;Ò;ÀÇÁ×@QÑ@QÐUV×U[ÑU[Ô@[ØàŸ:™: a›=Ð(à�z‰z˜!‹}Ðr.   c                	ó:  € V P                   P                  P                  V4      '       d?   V P                  V P                  V P
                  V,          ,           V P
                  4      # V P                  V4      w  r#pV^8X  d?   V P                  V P                  V P
                  V,          ,           V P
                  4      # V'       g   \        # V P                  V P                  V,          V P
                  V,          ,           V P
                  V,          4      # ©rß   ©r-   rN   rv   r�   rŠ   r‹   r!  r  ©rÚ   Úcr  Úg_numerÚg_denoms   &&   r,   r$  ÚFracElement.__radd__²  sº   € Ø�7‰7�<‰<×"Ñ" 1×%Ò%Ø—5‘5˜Ÿ™ 1§7¡7¨1¥9Õ,¨a¯g©gÓ6Ð6à ×0Ñ0°Ó3Ñˆ�Wà�Œ7Ø—5‘5˜Ÿ™ 1§7¡7¨7¥?Õ2°A·G±GÓ<Ð<ßÜ!Ð!à—5‘5˜Ÿ™ �¨1¯7©7°7­?Õ:¸A¿G¹GÀG½OÓLÐLr.   c                ól  € V P                   pV'       g   V # V '       g   V) # VP                  V4      '       d½   V P                  VP                  8X  d8   V P                  V P                  VP                  ,
          V P                  4      # V P                  V P                  VP                  ,          V P                  VP                  ,          ,
          V P                  VP                  ,          4      # VP
                  P                  V4      '       d?   V P                  V P                  V P                  V,          ,
          V P                  4      # \        V\        4      '       d­   \        VP                  \        4      '       d'   VP                  P                   VP                   8X  d   MÓ\        VP                   P                  \        4      '       d7   VP                   P                  P                   V8X  d   VP                  V 4      # \        # \        V\        4      '       dX   \        VP                  \        4      '       d'   VP                  P
                  VP
                  8X  d   MVP                  V 4      # V P                  V4      w  r4pV^8X  d?   V P                  V P                  V P                  V,          ,
          V P                  4      # V'       g   \        # V P                  V P                  V,          V P                  V,          ,
          V P                  V,          4      # )z-Subtract rational functions ``f`` and ``g``. )r-   rv   r‹   r�   rŠ   rN   r`   rY   r)   r   Ú__rsub__r  r   r   r!  ©rÚ   rö   r-   r  r-  r.  s   &&    r,   Ú__sub__ÚFracElement.__sub__¿  s  € à—‘ˆçØˆHßØ�2ˆIØ×Ñ˜a× Ò Ø�w‰w˜!Ÿ'™'Ô!Ø—u‘u˜QŸW™W q§w¡wÕ.°·±Ó8Ð8à—u‘u˜QŸW™W Q§W¡W�_¨q¯w©w°q·w±w­Õ>ÀÇÁÈÏÉÅÓPÐPØ�Z‰Z×"Ñ" 1×%Ò%Ø—5‘5˜Ÿ™ 1§7¡7¨1¥9Õ,¨a¯g©gÓ6Ð6ä˜!œ[×)Ò)Ü˜eŸl™l¬M×:Ò:¸u¿|¹|×?QÑ?QÐUV×U\ÑU\Ô?\ØÜ §¡§¡´×>Ò>À1Ç7Á7Ç>Á>×CWÑCWÐ[`ÔC`ØŸ:™: a›=Ð(ä)Ð)Ü˜Aœ{×+Ò+Ü˜eŸl™l¬N×;Ò;ÀÇÁ×@QÑ@QÐUV×U[ÑU[Ô@[ØàŸ:™: a›=Ð(à ×0Ñ0°Ó3Ñˆ�Wà�Œ7Ø—5‘5˜Ÿ™ 1§7¡7¨7¥?Õ2°A·G±GÓ<Ð<ßÜ!Ð!à—5‘5˜Ÿ™ �¨1¯7©7°7­?Õ:¸A¿G¹GÀG½OÓLÐLr.   c                	ó@  € V P                   P                  P                  V4      '       d@   V P                  V P                  ) V P
                  V,          ,           V P
                  4      # V P                  V4      w  r#pV^8X  d@   V P                  V P                  ) V P
                  V,          ,           V P
                  4      # V'       g   \        # V P                  V P                  ) V,          V P
                  V,          ,           V P
                  V,          4      # r)  r*  r+  s   &&   r,   r1  ÚFracElement.__rsub__å  sÁ   € Ø�7‰7�<‰<×"Ñ" 1×%Ò%Ø—5‘5˜!Ÿ'™'˜ A§G¡G¨A¥IÕ-¨q¯w©wÓ7Ð7à ×0Ñ0°Ó3Ñˆ�Wà�Œ7Ø—5‘5˜!Ÿ'™'˜ A§G¡G¨G¥OÕ3°Q·W±WÓ=Ð=ßÜ!Ð!à—5‘5˜!Ÿ'™'˜ 'Õ)¨A¯G©G°G­OÕ;¸Q¿W¹WÀW½_ÓMÐMr.   c                ó,  € V P                   pV '       d	   V'       g   VP                  # VP                  V4      '       dI   V P                  V P                  VP                  ,          V P
                  VP
                  ,          4      # VP                  P                  V4      '       d.   V P                  V P                  V,          V P
                  4      # \        V\        4      '       d­   \        VP                  \        4      '       d'   VP                  P                   VP                   8X  d   MÓ\        VP                   P                  \        4      '       d7   VP                   P                  P                   V8X  d   VP                  V 4      # \        # \        V\        4      '       dX   \        VP                  \        4      '       d'   VP                  P                  VP                  8X  d   MVP                  V 4      # V P                  V4      # )z-Multiply rational functions ``f`` and ``g``. )r-   rZ   rv   r�   rŠ   r‹   rN   r`   rY   r)   r   Ú__rmul__r  r   r   r%  s   && r,   Ú__mul__ÚFracElement.__mul__ò  sS  € à—‘ˆçŸØ—:‘:ÐØ×Ñ˜a× Ò Ø—5‘5˜Ÿ™ §¡�¨!¯'©'°!·'±'­/Ó:Ð:Ø�Z‰Z×"Ñ" 1×%Ò%Ø—5‘5˜Ÿ™ � A§G¡GÓ,Ð,ä˜!œ[×)Ò)Ü˜eŸl™l¬M×:Ò:¸u¿|¹|×?QÑ?QÐUV×U\ÑU\Ô?\ØÜ §¡§¡´×>Ò>À1Ç7Á7Ç>Á>×CWÑCWÐ[`ÔC`ØŸ:™: a›=Ð(ä)Ð)Ü˜Aœ{×+Ò+Ü˜eŸl™l¬N×;Ò;ÀÇÁ×@QÑ@QÐUV×U[ÑU[Ô@[ØàŸ:™: a›=Ð(à�z‰z˜!‹}Ðr.   c                	óÆ  € V P                   P                  P                  V4      '       d.   V P                  V P                  V,          V P
                  4      # V P                  V4      w  r#pV^8X  d.   V P                  V P                  V,          V P
                  4      # V'       g   \        # V P                  V P                  V,          V P
                  V,          4      # r)  r*  r+  s   &&   r,   r8  ÚFracElement.__rmul__  s›   € Ø�7‰7�<‰<×"Ñ" 1×%Ò%Ø—5‘5˜Ÿ™ � A§G¡GÓ,Ð,à ×0Ñ0°Ó3Ñˆ�Wà�Œ7Ø—5‘5˜Ÿ™ �¨!¯'©'Ó2Ð2ßÜ!Ð!à—5‘5˜Ÿ™ �¨!¯'©'°'­/Ó:Ð:r.   c                ó  € V P                   pV'       g   \        hVP                  V4      '       dI   V P                  V P                  VP
                  ,          V P
                  VP                  ,          4      # VP                  P                  V4      '       d.   V P                  V P                  V P
                  V,          4      # \        V\        4      '       d­   \        VP                  \        4      '       d'   VP                  P                   VP                   8X  d   MÓ\        VP                   P                  \        4      '       d7   VP                   P                  P                   V8X  d   VP                  V 4      # \        # \        V\        4      '       dX   \        VP                  \        4      '       d'   VP                  P                  VP                  8X  d   MVP                  V 4      # V P                  V4      w  r4pV^8X  d.   V P                  V P                  V P
                  V,          4      # V'       g   \        # V P                  V P                  V,          V P
                  V,          4      # )z0Computes quotient of fractions ``f`` and ``g``. )r-   rÔ   rv   r�   rŠ   r‹   rN   r`   rY   r)   r   Ú__rtruediv__r  r   r   r!  r2  s   &&    r,   Ú__truediv__ÚFracElement.__truediv__  s¤  € à—‘ˆçÜ#Ð#Ø×Ñ˜a× Ò Ø—5‘5˜Ÿ™ §¡�¨!¯'©'°!·'±'­/Ó:Ð:Ø�Z‰Z×"Ñ" 1×%Ò%Ø—5‘5˜Ÿ™ !§'¡'¨!¥)Ó,Ð,ä˜!œ[×)Ò)Ü˜eŸl™l¬M×:Ò:¸u¿|¹|×?QÑ?QÐUV×U\ÑU\Ô?\ØÜ §¡§¡´×>Ò>À1Ç7Á7Ç>Á>×CWÑCWÐ[`ÔC`ØŸ>™>¨!Ó,Ð,ä)Ð)Ü˜Aœ{×+Ò+Ü˜eŸl™l¬N×;Ò;ÀÇÁ×@QÑ@QÐUV×U[ÑU[Ô@[ØàŸ>™>¨!Ó,Ð,à ×0Ñ0°Ó3Ñˆ�Wà�Œ7Ø—5‘5˜Ÿ™ !§'¡'¨'¥/Ó2Ð2ßÜ!Ð!à—5‘5˜Ÿ™ �¨!¯'©'°'­/Ó:Ð:r.   c                	óâ  € V '       g   \         hV P                  P                  P                  V4      '       d.   V P	                  V P
                  V,          V P                  4      # V P                  V4      w  r#pV^8X  d.   V P	                  V P
                  V,          V P                  4      # V'       g   \        # V P	                  V P
                  V,          V P                  V,          4      # r)  )	rÔ   r-   rN   rv   r�   r‹   rŠ   r!  r  r+  s   &&   r,   r>  ÚFracElement.__rtruediv__:  s¤   € ßÜ#Ð#Ø�W‰W�\‰\×$Ñ$ Q×'Ò'Ø—5‘5˜Ÿ™ � A§G¡GÓ,Ð,à ×0Ñ0°Ó3Ñˆ�Wà�Œ7Ø—5‘5˜Ÿ™ �¨!¯'©'Ó2Ð2ßÜ!Ð!à—5‘5˜Ÿ™ �¨!¯'©'°'­/Ó:Ð:r.   c                ó   € V^ 8¼  d5   V P                  V P                  V,          V P                  V,          4      # V '       g   \        hV P                  V P                  V) ,          V P                  V) ,          4      # )z+Raise ``f`` to a non-negative power ``n``. )r[   rŠ   r‹   rÔ   )rÚ   Úns   &&r,   Ú__pow__ÚFracElement.__pow__I  sX   € à�Œ6Ø—9‘9˜QŸW™W a�Z¨¯©°!­Ó4Ð4ßÜ#Ð#à—9‘9˜QŸW™W q b�[¨!¯'©'°A°2­+Ó6Ð6r.   c                ó  € VP                  4       pV P                  V P                  P                  V4      V P                  ,          V P                  V P                  P                  V4      ,          ,
          V P                  ^,          4      # )zÝComputes partial derivative in ``x``.

Examples
========

>>> from sympy.polys.fields import field
>>> from sympy.polys.domains import ZZ

>>> _, x, y, z = field("x,y,z", ZZ)
>>> ((x**2 + y)/(z + 1)).diff(x)
2*x/(z + 1)

)rx   r�   rŠ   Údiffr‹   )rÚ   Úxs   &&r,   rH  ÚFracElement.diffR  sX   € ð �I‰I‹KˆØ�u‰u�Q—W‘W—\‘\ !“_ Q§W¡WÕ,¨q¯w©w°q·w±w·|±|ÀA³Õ/FÕFÈÏÉÐQRÍ
ÓSÐSr.   c                	ó0  € ^ \        V4      u;8  d   V P                  P                  8:  d<   M M8V P                  \	        \        V P                  P                  V4      4      4      # \        RV P                  P                  : R\        V4      : 24      h)r   z expected at least 1 and at most z values, got )r>   r-   rP   Úevaluater7   r_   r&   ry   )rÚ   r<   s   &*r,   rÐ   ÚFracElement.__call__c  sb   € ØŒs�6‹{Ö+˜aŸg™gŸm™m×+Ø—:‘:œd¤3 q§w¡w§|¡|°VÓ#<Ó=Ó>Ð>åÐTU×T[ÑT[×TaÔTaÔcfÐgmÕcnÐoÓpÐpr.   c                	óØ  € \        V\        4      '       d`   Vf\   V UUu. uF  w  r2VP                  4       V3NK  	  pppV P                  P	                  V4      V P
                  P	                  V4      rTMEVP                  4       pV P                  P	                  W4      V P
                  P	                  W4      rTVP                  P                  4       pVP                  WE4      # u uppi rR   )	r`   r7   rx   rŠ   rL  r‹   rN   rŸ   r�   )rÚ   rI  ÚaÚXrŠ   r‹   r-   s   &&&    r,   rL  ÚFracElement.evaluatei  s¯   € Ü�aœ×Ò 1¢9Ù/0Ô2©q¡t q�1—9‘9“; Ó"©qˆAÑ2ØŸ7™7×+Ñ+¨AÓ.°·±×0@Ñ0@ÀÓ0C‘5à—	‘	“ˆAØŸ7™7×+Ñ+¨AÓ1°1·7±7×3CÑ3CÀAÓ3I�5à—
‘
×#Ñ#Ó%ˆØ�y‰y˜Ó&Ð&ùó 3s    C&c                	ó¤  € \        V\        4      '       d`   Vf\   V UUu. uF  w  r2VP                  4       V3NK  	  pppV P                  P	                  V4      V P
                  P	                  V4      rTMEVP                  4       pV P                  P	                  W4      V P
                  P	                  W4      rTV P                  WE4      # u uppi rR   )r`   r7   rx   rŠ   Úsubsr‹   r�   )rÚ   rI  rO  rP  rŠ   r‹   s   &&&   r,   rS  ÚFracElement.subst  s“   € Ü�aœ×Ò 1¢9Ù/0Ô2©q¡t q�1—9‘9“; Ó"©qˆAÑ2ØŸ7™7Ÿ<™<¨›?¨A¯G©G¯L©L¸«O‘5à—	‘	“ˆAØŸ7™7Ÿ<™<¨Ó-¨q¯w©w¯|©|¸AÓ/A�5à�u‰u�UÓ"Ð"ùó 3s    Cc                	ó   € \         hrR   )r    )rÚ   rI  rO  s   &&&r,   ÚcomposeÚFracElement.compose~  s   € Ü!Ð!r.   )rX   r‹   r-   rŠ   rR   )+rS   rË   rÌ   rÍ   rÎ   rÕ   r[   r�   rx   rã   ro   rX   rr   rê   rï   rò   r~   r‚   rü   rÿ   r  r
  r  r  r  r  r  r!  r&  r$  r3  r1  r9  r8  r?  r>  rE  rH  rÐ   rL  rS  rV  rÑ   r�   r.   r,   rY   rY   $  sÏ   † ÙGôô2ò/òò
&ò4ð €EòòBò/òIò@òòò>ò"òòòòò+ò,ò$ò(ò>Mò$MòLNòò4;ò;òB;ò7òTò"qô	'ô#÷"ð "r.   rY   N)?rÎ   Ú
__future__r   Ú	functoolsr   Úoperatorr   r   r   r   r   r	   Úsympy.core.exprr
   Úsympy.core.modr   Úsympy.core.numbersr   Úsympy.core.singletonr   Úsympy.core.symbolr   Úsympy.core.sympifyr   r   Ú&sympy.functions.elementary.exponentialr   Úsympy.polys.domains.domainr   Ú!sympy.polys.domains.domainelementr   Ú!sympy.polys.domains.fractionfieldr   Ú"sympy.polys.domains.polynomialringr   Úsympy.polys.constructorr   Úsympy.polys.orderingsr   r   Úsympy.polys.polyerrorsr   Úsympy.polys.polyoptionsr   Úsympy.polys.polyutilsr   Úsympy.polys.ringsr   r   Úsympy.printing.defaultsr   Úsympy.utilitiesr    Úsympy.utilities.iterablesr!   Úsympy.utilities.magicr"   r-   r0   r4   rL   r%   rY   r�   r.   r,   Ú<module>rp     sÌ   ðÙ 'å "Ý ç -× -å  Ý Ý #Ý "Ý $ß 3Ý :Ý -Ý ;Ý ;Ý =Ý 4ß 4Ý 1Ý 1Ý :ß 3Ý 3Ý "Ý 1Ý )àØ!$ó #ó ð#ð
 Ø"%ó !ó ð!ð
 Ø"%ó ó ðð ñ2ó ð2ôj{?�ô {?ôz["�- °+ö ["r.   