§
    OŠtjr¦  ã                  óú  — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZmZmZmZmZ d dlmZmZmZ d dlmZ d d	lmZmZmZmZ d d
lmZ d dl m!Z! d dl"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5 d dl6m7Z7  G d„ de¦  «        Z8 G d„ de8¦  «        Z9 G d„ de¦  «        Z: G d„ de8e:¬¦  «        Z;d„ Z< G d„ de¦  «        Z= G d „ d!e¦  «        Z>ed"„ ¦   «         Z?d#S )$é    )Úannotations)Úproduct)ÚAdd)Úcacheit)ÚExpr)ÚDefinedFunctionÚArgumentIndexErrorÚ
expand_logÚ
expand_mulÚFunctionClassÚ	PoleErrorÚexpand_multinomialÚexpand_complex)Ú	fuzzy_andÚ	fuzzy_notÚfuzzy_or)ÚMul)ÚIntegerÚRationalÚpiÚI)Úglobal_parameters)ÚPow)ÚS)ÚWildÚDummy)Úsympify)Ú	factorial)ÚargÚ
unpolarifyÚimÚreÚAbs)Úsqrt)ÚmultiplicityÚperfect_power)Ú	factorintc                  ó’   — e Zd ZdZej        fZed„ ¦   «         Zdd„Z	d„ Z
ed„ ¦   «         Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚExpBaseTc                ó   — | j         j        S ©N)ÚexpÚkind©Úselfs    úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/functions/elementary/exponential.pyr-   zExpBase.kind(   s   € àŒxŒ}Ðó    é   c                ó   — t           S )z=
        Returns the inverse function of ``exp(x)``.
        ©Úlog©r/   Úargindexs     r0   ÚinversezExpBase.inverse,   ó	   € õ ˆ
r1   c                óè   — | j         s| t          j        fS | j        }|j        }|s| j        s|                     ¦   «         }|r"t          j        |                      | ¦  «        fS | t          j        fS )a-  
        Returns this with a positive exponent as a 2-tuple (a fraction).

        Examples
        ========

        >>> from sympy import exp
        >>> from sympy.abc import x
        >>> exp(-x).as_numer_denom()
        (1, exp(x))
        >>> exp(x).as_numer_denom()
        (exp(x), 1)
        )Úis_commutativer   ÚOner,   Úis_negativeÚcould_extract_minus_signÚfunc)r/   r,   Úneg_exps      r0   Úas_numer_denomzExpBase.as_numer_denom2   s{   € ð  Ô"ð 	Ø�œ�;ÐØŒhˆØ”/ˆØð 	5  Ô1ð 	5Ø×2Ò2Ñ4Ô4ˆGØð 	*Ý”5˜$Ÿ)š) S D™/œ/Ð)Ð)Ø•Q”Uˆ{Ðr1   c                ó   — | j         d         S )z7
        Returns the exponent of the function.
        r   )Úargsr.   s    r0   r,   zExpBase.expL   s   € ð
 Œy˜Œ|Ðr1   c                óH   — |                       d¦  «        t          | j        Ž fS )z7
        Returns the 2-tuple (base, exponent).
        r2   )r?   r   rC   r.   s    r0   Úas_base_expzExpBase.as_base_expS   s   € ð �yŠy˜‰|Œ|�S $¤)˜_Ð,Ð,r1   c                óZ   — |                       | j                             ¦   «         ¦  «        S r+   )r?   r,   Úadjointr.   s    r0   Ú_eval_adjointzExpBase._eval_adjointY   s"   € Ø�yŠy˜œ×)Ò)Ñ+Ô+Ñ,Ô,Ð,r1   c                óZ   — |                       | j                             ¦   «         ¦  «        S r+   )r?   r,   Ú	conjugater.   s    r0   Ú_eval_conjugatezExpBase._eval_conjugate\   ó"   € Ø�yŠy˜œ×+Ò+Ñ-Ô-Ñ.Ô.Ð.r1   c                óZ   — |                       | j                             ¦   «         ¦  «        S r+   )r?   r,   Ú	transposer.   s    r0   Ú_eval_transposezExpBase._eval_transpose_   rL   r1   c                óX   — | j         }|j        r|j        rdS |j        rdS |j        rdS d S ©NTF)r,   Úis_infiniteÚis_extended_negativeÚis_extended_positiveÚ	is_finite©r/   r   s     r0   Ú_eval_is_finitezExpBase._eval_is_finiteb   sL   € ØŒhˆØŒ?ð 	ØÔ'ð Ø�tØÔ'ð Ø�uØŒ=ð 	Ø�4ð	ð 	r1   c                ó°   —  | j         | j        Ž }|j         | j         k    r1|j        j        }|rdS |j        j        rt          |¦  «        rdS d S d S |j        S rQ   )r?   rC   r,   Úis_zeroÚis_rationalr   )r/   ÚsÚzs      r0   Ú_eval_is_rationalzExpBase._eval_is_rationall   st   € ØˆDŒI�t”yÐ!ˆØŒ6�T”YÒÐØ””ˆAØð Ø�tØ”Ô"ð ¥y°¡|¤|ð Ø�uðð ð ð ð ”=Ð r1   c                ó(   — | j         t          j        u S r+   )r,   r   ÚNegativeInfinityr.   s    r0   Ú_eval_is_zerozExpBase._eval_is_zerow   s   € ØŒx�1Ô-Ð-Ð-r1   c                óz   — |                       ¦   «         \  }}t          j        t          ||d¬¦  «        |¦  «        S )z;exp(arg)**e -> exp(arg*e) if assumptions allow it.
        F©Úevaluate)rE   r   Ú_eval_power)r/   ÚotherÚbÚes       r0   rd   zExpBase._eval_powerz   s:   € ð ×ÒÑ!Ô!‰ˆˆ1ÝŒ�s 1 a°%Ð8Ñ8Ô8¸%Ñ@Ô@Ð@r1   c                ó@  ‡ — ddl m} ddlm} ‰ j        d         }|j        r,|j        r%t          j        ˆ fd„|j        D ¦   «         ¦  «        S t          ||¦  «        r-|j        r& |‰  
                    |j        ¦  «        g|j        ¢R Ž S ‰  
                    |¦  «        S )Nr   )ÚProduct)ÚSumc              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S r+   )r?   )Ú.0Úxr/   s     €r0   ú	<genexpr>z1ExpBase._eval_expand_power_exp.<locals>.<genexpr>…   s-   øè è € Ð?Ð?° §	¢	¨!¡¤Ð?Ð?Ð?Ð?Ð?Ð?r1   )Úsympy.concrete.productsri   Úsympy.concrete.summationsrj   rC   Úis_Addr;   r   ÚfromiterÚ
isinstancer?   ÚfunctionÚlimits)r/   Úhintsri   rj   r   s   `    r0   Ú_eval_expand_power_expzExpBase._eval_expand_power_exp€   sÅ   ø€ Ø3Ð3Ð3Ð3Ð3Ð3Ø1Ð1Ð1Ð1Ð1Ð1ØŒi˜ŒlˆØŒ:ð 	A˜#Ô,ð 	AÝ”<Ð?Ð?Ð?Ð?°c´hÐ?Ñ?Ô?Ñ?Ô?Ð?Ý˜˜SÑ!Ô!ð 	A cÔ&8ð 	AØ�7˜4Ÿ9š9 S¤\Ñ2Ô2Ð@°S´ZÐ@Ð@Ð@Ð@Ø�yŠy˜‰~Œ~Ðr1   N©r2   )Ú__name__Ú
__module__Ú__qualname__Ú
unbranchedr   ÚComplexInfinityÚ_singularitiesÚpropertyr-   r8   rA   r,   rE   rH   rK   rO   rW   r]   r`   rd   rw   © r1   r0   r)   r)   #   s  € € € € € à€JØÔ'Ð)€Nàðð ñ „Xððð ð ð ðð ð ð4 ðð ñ „Xðð-ð -ð -ð-ð -ð -ð/ð /ð /ð/ð /ð /ðð ð ð	!ð 	!ð 	!ð.ð .ð .ðAð Að Aðð ð ð ð r1   r)   c                  ó8   — e Zd ZdZdZdZd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
Ú	exp_polara<  
    Represent a *polar number* (see g-function Sphinx documentation).

    Explanation
    ===========

    ``exp_polar`` represents the function
    `Exp: \mathbb{C} \rightarrow \mathcal{S}`, sending the complex number
    `z = a + bi` to the polar number `r = exp(a), \theta = b`. It is one of
    the main functions to construct polar numbers.

    Examples
    ========

    >>> from sympy import exp_polar, pi, I, exp

    The main difference is that polar numbers do not "wrap around" at `2 \pi`:

    >>> exp(2*pi*I)
    1
    >>> exp_polar(2*pi*I)
    exp_polar(2*I*pi)

    apart from that they behave mostly like classical complex numbers:

    >>> exp_polar(2)*exp_polar(3)
    exp_polar(5)

    See Also
    ========

    sympy.simplify.powsimp.powsimp
    polar_lift
    periodic_argument
    principal_branch
    TFc                óP   — t          t          | j        d         ¦  «        ¦  «        S ©Nr   )r,   r"   rC   r.   s    r0   Ú	_eval_Abszexp_polar._eval_Abs´   s   € Ý•2�d”i ”lÑ#Ô#Ñ$Ô$Ð$r1   c                óB  — t          | j        d         ¦  «        }	 |t           k    p
|t          k    }n# t          $ r d}Y nw xY w|r| S t	          | j        d         ¦  «                             |¦  «        }|dk    r"t          |¦  «        dk     rt          |¦  «        S |S )z. Careful! any evalf of polar numbers is flaky r   T)r!   rC   r   Ú	TypeErrorr,   Ú_eval_evalfr"   )r/   ÚprecÚiÚbadÚress        r0   rˆ   zexp_polar._eval_evalf·   s©   € åˆtŒy˜Œ|ÑÔˆð	Ø�˜’8Ð%˜q¥2švˆCˆCøÝð 	ð 	ð 	ØˆCˆCˆCð	øøøàð 	ØˆKÝ�$”)˜A”,ÑÔ×+Ò+¨DÑ1Ô1ˆØˆqŠ5ˆ5•R˜‘W”W˜q’[�[å�c‘7”7ˆNØˆ
s   œ4 ´AÁAc                óH   — |                       | j        d         |z  ¦  «        S r„   )r?   rC   )r/   re   s     r0   rd   zexp_polar._eval_powerÆ   s   € Ø�yŠy˜œ 1œ eÑ+Ñ,Ô,Ð,r1   c                ó.   — | j         d         j        rdS d S )Nr   T)rC   Úis_extended_realr.   s    r0   Ú_eval_is_extended_realz exp_polar._eval_is_extended_realÉ   s"   € ØŒ9�QŒ<Ô(ð 	Ø�4ð	ð 	r1   c                ót   — | j         d         dk    r| t          j        fS t                               | ¦  «        S r„   )rC   r   r<   r)   rE   r.   s    r0   rE   zexp_polar.as_base_expÍ   s3   € àŒ9�QŒ<˜1ÒÐØ�œ�;ÐÝ×"Ò" 4Ñ(Ô(Ð(r1   N)ry   rz   r{   Ú__doc__Úis_polarÚis_comparabler…   rˆ   rd   r�   rE   r€   r1   r0   r‚   r‚   ‹   sv   € € € € € ð#ð #ðJ €HØ€Mð%ð %ð %ðð ð ð-ð -ð -ðð ð ð)ð )ð )ð )ð )r1   r‚   c                  ó   — e Zd Zd„ ZdS )ÚExpMetac                ó|   — t           |j        j        v rdS t          |t          ¦  «        o|j        t          j        u S )NT)r,   Ú	__class__Ú__mro__rs   r   Úbaser   ÚExp1)ÚclsÚinstances     r0   Ú__instancecheck__zExpMeta.__instancecheck__Õ   s6   € Ý�(Ô$Ô,Ð,Ð,Ø�4Ý˜(¥CÑ(Ô(ÐD¨X¬]½a¼fÐ-DÐDr1   N)ry   rz   r{   rž   r€   r1   r0   r–   r–   Ô   s(   € € € € € ðEð Eð Eð Eð Er1   r–   c                  óÔ   ‡ — e Zd ZdZdd„Zd„ Zed„ ¦   «         Zed„ ¦   «         Z	e
ed„ ¦   «         ¦   «         Zdd	„Zˆ fd
„Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )r,   a9  
    The exponential function, :math:`e^x`.

    Examples
    ========

    >>> from sympy import exp, I, pi
    >>> from sympy.abc import x
    >>> exp(x)
    exp(x)
    >>> exp(x).diff(x)
    exp(x)
    >>> exp(I*pi)
    -1

    Parameters
    ==========

    arg : Expr

    See Also
    ========

    log
    r2   c                ó2   — |dk    r| S t          | |¦  «        ‚)z@
        Returns the first derivative of this function.
        r2   )r	   r6   s     r0   Úfdiffz	exp.fdiffö   s"   € ð �qŠ=ˆ=ØˆKå$ T¨8Ñ4Ô4Ð4r1   c                óŒ  — ddl m}m} | j        d         }|j        �r t
          t          j        z  }||| fv rt          j        S  |j	        t          t
          z  ¦  «        }|rÜ ||                     d|z  ¦  «        ¦  «        r½ ||                     |¦  «        ¦  «        rt          j        S  ||                     |¦  «        ¦  «        rt          j        S  ||                     |t          j        z   ¦  «        ¦  «        rt
           S  ||                     |t          j        z   ¦  «        ¦  «        rt
          S d S d S d S d S )Nr   )ÚaskÚQé   )Úsympy.assumptionsr£   r¤   rC   Úis_Mulr   r   ÚInfinityÚNaNÚas_coefficientr   ÚintegerÚevenr<   ÚoddÚNegativeOneÚHalf)r/   Úassumptionsr£   r¤   r   ÚIooÚcoeffs          r0   Ú_eval_refinezexp._eval_refineÿ   sU  € Ø,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ØŒi˜ŒlˆØŒ:ñ 	!Ý•A”J‘,ˆCØ�s˜S˜D�kÐ!Ð!Ý”u�à&�CÔ&¥r­!¡tÑ,Ô,ˆEØð 	!Ø�3�q—y’y  5¡Ñ)Ô)Ñ*Ô*ð !Ø�s˜1Ÿ6š6 %™=œ=Ñ)Ô)ð !Ý œu˜Ø˜˜QŸUšU 5™\œ\Ñ*Ô*ð !Ý œ}Ð,Ø˜˜QŸVšV E­A¬F¡NÑ3Ô3Ñ4Ô4ð !Ý !˜r˜	Ø˜˜QŸUšU 5­1¬6¡>Ñ2Ô2Ñ3Ô3ð !Ý ˜ð	!ð 	!ð	!ð 	!ð!ð !ð!ð !r1   c                óü  — ddl m} ddlm} ddlm} ddlm} t          ||¦  «        r |j	        ¦   «         S t          j        rt          t          j        |¦  «        S |j        r}|t          j        u rt          j        S |j        rt          j        S |t          j        u rt          j        S |t          j        u rt          j        S |t          j        u rt          j        S �n‡|t          j        u rt          j        S t          |t.          ¦  «        r|j        d         S t          ||¦  «        r0 |t          |j        ¦  «        t          |j        ¦  «        ¦  «        S t          ||¦  «        r |j        | ¦  «        S |j        �r |j        t<          t>          z  ¦  «        }|r d|z  j         r^|j!        rt          j        S |j"        rt          j#        S |t          j$        z   j!        rt>           S |t          j$        z   j"        rt>          S n8|j%        r1|dz  }|dk    r|dz  }||k    r | |t<          z  t>          z  ¦  «        S  |j&        ¦   «         \  }}|t          j        t          j        fv r£|j'        rš|t          j        u r| }tQ          |¦  «        j        r|t          j        urt          j        S tQ          |¦  «        j)        r'tU          |¦  «        t          j        urt          j        S tQ          |¦  «        j+        rt          j        S d S |gd }
}	tY          j-        |¦  «        D ]T} ||¦  «        }t          |t.          ¦  «        r|
€|j        d         }
Œ2 d S |j.        r|	 /                    |¦  «         ŒR d S |
r|
tY          |	Ž z  nd S |j0        rÐg }g }d}|j        D ] }|t          j        u r| /                    |¦  «         Œ& | |¦  «        }t          || ¦  «        rJ|j        d         |k    r#| /                    |j        d         ¦  «         d	}Œu| /                    |¦  «         Œ‹| /                    |¦  «         Œ¡|s|rtY          |Ž  | tc          |Ž d¬
¦  «        z  S |j        rt          j        S d S )Nr   ©ÚAccumBounds)Ú
MatrixBase©ÚSetExpr©Ú
logcombiner¥   r2   FTrb   )2Úsympy.calculusr¶   Úsympy.matrices.matrixbaser·   Úsympy.sets.setexprr¹   Úsympy.simplify.simplifyr»   rs   r,   r   Ú
exp_is_powr   r   r›   Ú	is_Numberr©   rY   r<   r¨   r_   ÚZeror}   r5   rC   ÚminÚmaxÚ
_eval_funcr§   rª   r   r   Ú
is_integerÚis_evenÚis_oddr®   r¯   Úis_RationalÚas_coeff_MulÚ	is_numberr"   Úis_positiver!   r=   r   Ú	make_argsr”   Úappendrq   r   )rœ   r   r¶   r·   r¹   r»   r²   ÚncoeffÚtermsÚcoeffsÚlog_termÚtermÚterm_ÚoutÚaddÚ
argchangedÚaÚnewas                     r0   Úevalzexp.eval  sÅ  € à.Ð.Ð.Ð.Ð.Ð.Ø8Ð8Ð8Ð8Ð8Ð8Ø.Ð.Ð.Ð.Ð.Ð.Ø6Ð6Ð6Ð6Ð6Ð6Ý�c˜:Ñ&Ô&ð _	@Ø�3”7‘9”9ÐÝÔ)ð ]	@Ý•q”v˜sÑ#Ô#Ð#ØŒ]ð [	@Ø•a”eˆ|ˆ|Ý”u�Ø”ð Ý”u�Ø�œ��Ý”v�Ø�œ
Ð"Ð"Ý”zÐ!Ø�Ô*Ð*Ð*Ý”v�ñ +à•AÔ%Ð%Ð%Ý”5ˆLÝ˜�SÑ!Ô!ð N	@Ø”8˜A”;ÐÝ˜˜[Ñ)Ô)ð L	@Ø�;�s 3¤7™|œ|­S°´©\¬\Ñ:Ô:Ð:Ý˜˜WÑ%Ô%ð J	@Ø!�3”> #Ñ&Ô&Ð&ØŒZñ H	@Ø&�CÔ&¥r­!¡tÑ,Ô,ˆEØð 0Ø�e‘GÔ'ð 0Ø”}ð !Ý œu˜Øœð !Ý œ}Ð,Ø¥!¤&™.Ô1ð !Ý !˜r˜	Ø¥!¤&™.Ô0ð !Ý ˜ð!àÔ&ð 0Ø" Q™Y�FØ ’z�zØ !™˜Ø ’�Ø"˜s 6­"¡9­Q¡;Ñ/Ô/Ð/ð ,˜3Ô+Ñ-Ô-‰LˆE�5ð �Ô+­Q¬ZÐ8Ð8Ð8Ø”?ð &Ø¥Ô 2Ð2Ð2Ø!& ˜Ý˜%‘y”yÔ(ð %¨U½!¼&Ð-@Ð-@Ý œu˜Ý˜%‘y”yÔ,ð 1µ°E±´Å!Ä&Ð1HÐ1HÝ Ô0Ð0Ý˜%‘y”yÔ,ð &Ý œv˜Ø�tà %˜w¨�HˆFÝœ eÑ,Ô,ð 
 ð 
 �Ø"˜
 4Ñ(Ô(�Ý˜e¥SÑ)Ô)ð  ØÐ'Ø#(¤:¨a¤=˜˜à#˜t˜tØÔ'ð  Ø—M’M $Ñ'Ô'Ð'Ð'à˜4˜4à-5Ð?�8�S &˜\Ñ)Ð)¸4Ð?àŒZð 	@ØˆCØˆCØˆJØ”Xð %ð %�Ø�œ�:�:Ø—J’J˜q‘M”M�MØØ�s˜1‘v”v�Ý˜d CÑ(Ô(ð %Ø”y ”| qÒ(Ð(ØŸ
š
 4¤9¨Q¤<Ñ0Ô0Ð0Ø%)˜
˜
àŸ
š
 1™œ˜˜à—J’J˜tÑ$Ô$Ð$Ð$Øð @�jð @Ý˜C�y  ¥S¨# Y¸Ð!?Ñ!?Ô!?Ñ?Ð?àŒ;ð 	Ý”5ˆLð	ð 	r1   c                ó   — t           j        S )z?
        Returns the base of the exponential function.
        )r   r›   r.   s    r0   rš   zexp.base}  s   € õ
 Œvˆr1   c                óº   — | dk     rt           j        S | dk    rt           j        S t          |¦  «        }|r|d         }|�||z  | z  S || z  t	          | ¦  «        z  S )zJ
        Calculates the next term in the Taylor series expansion.
        r   éÿÿÿÿ)r   rÂ   r<   r   r   )Únrm   Úprevious_termsÚps       r0   Útaylor_termzexp.taylor_term„  si   € ð ˆqŠ5ˆ5Ý”6ˆMØ�Š6ˆ6Ý”5ˆLÝ�A‰JŒJˆØð 	!Ø˜rÔ"ˆAØˆ}Ø˜1‘u˜q‘yÐ Ø�!‰t•I˜a‘L”LÑ Ð r1   Tc                ó  — ddl m}m} | j        d                              ¦   «         \  }}|r |j        |fi |¤Ž} |j        |fi |¤Ž} ||¦  «         ||¦  «        }}t          |¦  «        |z  t          |¦  «        |z  fS )aJ  
        Returns this function as a 2-tuple representing a complex number.

        Examples
        ========

        >>> from sympy import exp, I
        >>> from sympy.abc import x
        >>> exp(x).as_real_imag()
        (exp(re(x))*cos(im(x)), exp(re(x))*sin(im(x)))
        >>> exp(1).as_real_imag()
        (E, 0)
        >>> exp(I).as_real_imag()
        (cos(1), sin(1))
        >>> exp(1+I).as_real_imag()
        (E*cos(1), E*sin(1))

        See Also
        ========

        sympy.functions.elementary.complexes.re
        sympy.functions.elementary.complexes.im
        r   )ÚcosÚsin)Ú(sympy.functions.elementary.trigonometricrã   rä   rC   Úas_real_imagÚexpandr,   )r/   Údeeprv   rã   rä   r"   r!   s          r0   ræ   zexp.as_real_imag•  sª   € ð0 	FÐEÐEÐEÐEÐEÐEÐEØ”˜1”×*Ò*Ñ,Ô,‰ˆˆBØð 	*Ø�”˜4Ð)Ð) 5Ð)Ð)ˆBØ�”˜4Ð)Ð) 5Ð)Ð)ˆBØ�3�r‘7”7˜C˜C ™GœGˆSˆÝ�B‘”˜‘�S ™WœW S™[Ð)Ð)r1   c                óÚ  •— |j         r*t          |j        t          |j        ¦  «        z  ¦  «        }n|t          j        u r|j        rt          }t          |t          ¦  «        s|t          j        u r+d„ }t          j	         || ¦  «         ||¦  «        |¦  «        S |t          u r%|j        s|| j         
                    ||¦  «        z  S t          ¦   «          	                    ||¦  «        S )Nc                óz   — | j         st          | t          ¦  «        rt          |                      ¦   «         ddiŽn| S )Nrc   F)Úis_Powrs   r,   r   rE   )rØ   s    r0   ú<lambda>z exp._eval_subs.<locals>.<lambda>¼  s@   € Ø”ð7Ý& q­#Ñ.Ô.ð7�#˜qŸ}š}™œÐ?¸Ð?Ð?Ð?Ø56ð r1   )rë   r,   r5   rš   r   r›   Úis_Functionrs   r   Ú
_eval_subsÚ_subsÚsuper)r/   ÚoldÚnewÚfr˜   s       €r0   rî   zexp._eval_subsµ  sÑ   ø€ àŒ:ð 	Ý�c”g�c #¤(™mœmÑ+Ñ,Ô,ˆCˆCØ•A”Fˆ]ˆ]˜sœˆ]ÝˆCÝ�c�3ÑÔð 	8 3­!¬& = =ð7ð 7ˆAå”> ! ! D¡'¤'¨1¨1¨S©6¬6°3Ñ7Ô7Ð7à•#ˆ:ˆ:˜cœoˆ:Ø˜œŸš s¨CÑ0Ô0Ñ0Ð0Ý‰wŒw×!Ò! # sÑ+Ô+Ð+r1   c                ó¼   — | j         d         j        rdS | j         d         j        r5t          d¦  «         t          z  | j         d         z  t
          z  }|j        S d S )Nr   Tr¥   )rC   r�   Úis_imaginaryr   r   r   rÇ   ©r/   Úarg2s     r0   r�   zexp._eval_is_extended_realÄ  s\   € ØŒ9�QŒ<Ô(ð 	 Ø�4ØŒY�qŒ\Ô&ð 	 Ý�a‘D”D�5�1‘9˜tœy¨œ|Ñ+­bÑ0ˆDØ”<Ðð	 ð 	 r1   c                óN   — d„ }t           || j        d         ¦  «        ¦  «        S )Nc              3  ó.   K  — | j         V — | j        V — d S r+   )Ú
is_complexrS   )r   s    r0   Úcomplex_extended_negativez7exp._eval_is_complex.<locals>.complex_extended_negativeÌ  s)   è è € Ø”.Ð Ð Ð ØÔ*Ð*Ð*Ð*Ð*Ð*r1   r   )r   rC   )r/   rû   s     r0   Ú_eval_is_complexzexp._eval_is_complexË  s3   € ð	+ð 	+ð 	+õ Ð1Ð1°$´)¸A´,Ñ?Ô?Ñ@Ô@Ð@r1   c                óÀ   — | j         t          z  t          z  j        rdS t	          | j         j        ¦  «        r$| j         j        rdS | j         t          z  j        rdS d S d S rQ   )r,   r   r   rZ   r   rY   Úis_algebraicr.   s    r0   Ú_eval_is_algebraiczexp._eval_is_algebraicÑ  sn   € ØŒH•r‰M�AÑÔ*ð 	Ø�4Ý�T”XÔ%Ñ&Ô&ð 	ØŒxÔ$ð Ø�uØ”(�R‘-Ô,ð Ø�uð		ð 	ðð r1   c                ó²   — | j         j        r| j        d         t          j        uS | j         j        r%t           | j        d         z  t          z  }|j        S d S r„   )	r,   r�   rC   r   r_   rõ   r   r   rÇ   rö   s     r0   Ú_eval_is_extended_positivezexp._eval_is_extended_positiveÚ  sY   € ØŒ8Ô$ð 	 Ø”9˜Q”<¥qÔ'9Ð9Ð9ØŒXÔ"ð 	 Ý�2˜œ	 !œÑ$¥rÑ)ˆDØ”<Ðð	 ð 	 r1   r   c                óÜ  ‡— ddl mŠ ddlm} ddlm} ddlm} ddlm	} | j
        }	 |	j        |||¬¦  «        }
|
j        rd|
z   S  ||
                     ¦   «         |d¦  «        }|t          j        u r |||z  |¦  «        S |t          j        u r| S |j        rt%          d	| z  ¦  «        ‚t'          ˆfd
„|j        D ¦   «         ¦  «        r| S t+          d¦  «        }|}	  | |	j        ||¬¦  «        |¦  «                             ¦   «         }n# t0          t$          f$ r d}Y nw xY w|r|dk    r |||z  ¦  «        }t          |¦  «                             ||¦  «        }t          |¦  «        |                     ||
|z
  ¦  «        z  }|�|t7          |¦  «        ini }|                     |¦  «        | k    r|S |r(|dk    r"| ||
|z
  |z  |¦  «        ||dz
  |z  z  z  z  }n| ||
|z
  |z  |¦  «        z  }|                     ¦   «         } ||dd¬¦  «        }d„ }t;          d|g¬¦  «        }|                     t          j        |z  tA          t          j        |z  ¦  «        ¦  «        }|S )Nr   )Úsign©Úceiling)Úlimit©ÚOrder©Úpowsimp©rÞ   Úlogxr2   úCannot expand %s around 0c              3  ó8   •K  — | ]}t          |‰¦  «        V — Œd S r+   )rs   )rl   r   r  s     €r0   rn   z$exp._eval_nseries.<locals>.<genexpr>õ  s-   øè è € Ð:Ð:¨�z˜#˜tÑ$Ô$Ð:Ð:Ð:Ð:Ð:Ð:r1   Út©r  Tr,   ©rè   Úcombinec                ó"   — | j         o| j        dv S )N)é   é   é   )rÉ   Úq)rm   s    r0   rì   z#exp._eval_nseries.<locals>.<lambda>  s   € ˜aœmÐ@°´°yÐ0@€ r1   Úw)Ú
properties)!Ú$sympy.functions.elementary.complexesr  Ú#sympy.functions.elementary.integersr  Úsympy.series.limitsr  Úsympy.series.orderr  Úsympy.simplify.powsimpr
  r,   Ú_eval_nseriesÚis_OrderÚremoveOr   r_   r¨   rR   r   ÚanyrC   r   Úas_leading_termÚgetnÚNotImplementedErrorÚ_taylorÚsubsr5   rç   r   Úreplacer®   r   )r/   rm   rÞ   r  Úcdirr  r  r  r
  r   Ú
arg_seriesÚarg0r  ÚntermsÚcfÚ
exp_seriesÚrÚrepÚ	simpleratr  r  s                       @r0   r  zexp._eval_nseriesá  s  ø€ ð 	>Ð=Ð=Ð=Ð=Ð=Ø?Ð?Ð?Ð?Ð?Ð?Ø-Ð-Ð-Ð-Ð-Ð-Ø,Ð,Ð,Ð,Ð,Ð,Ø2Ð2Ð2Ð2Ð2Ð2ØŒhˆØ&�SÔ& q¨A°DÐ9Ñ9Ô9ˆ
ØÔð 	"Ø�z‘>Ð!Øˆu�Z×'Ò'Ñ)Ô)¨1¨aÑ0Ô0ˆØ•1Ô%Ð%Ð%Ø�5˜˜A™˜q‘>”>Ð!Ø•1”:ÐÐØˆKØÔð 	BÝÐ7¸4Ñ@ÑAÔAÐAåÐ:Ð:Ð:Ð:°´	Ð:Ñ:Ô:Ñ:Ô:ð 	ØˆKÝ�#‰JŒJˆØˆð	Ø�Ð*�sÔ*¨1°4Ð8Ñ8Ô8¸!Ñ<Ô<×AÒAÑCÔCˆBˆBøÝ#¥YÐ/ð 	ð 	ð 	ØˆBˆBˆBð	øøøàð 	#�"�q’&�&Ø�W˜Q˜r™T‘]”]ˆFÝ˜‘V”V—^’^ A vÑ.Ô.ˆ
Ý�‰IŒI�j—o’o a¨°dÑ):Ñ;Ô;Ñ;ˆØ $Ð 0ˆt•S˜‘V”Vˆnˆn°bˆØ�6Š6�#‰;Œ;˜$ÒÐØˆHØð 	2�"�q’&�&Ø��˜
 TÑ)¨AÑ-¨qÑ1Ô1°!°r¸!±t¸Q±h±-Ñ?Ñ?ˆAˆAà��˜
 TÑ)¨AÑ-¨qÑ1Ô1Ñ1ˆAØ�HŠH‰JŒJˆØˆG�A˜D¨%Ð0Ñ0Ô0ˆà@Ð@ˆ	Ý� ) Ð-Ñ-Ô-ˆØ�IŠI•a”m QÑ&­µq´}ÀaÑ7GÑ(HÔ(HÑIÔIˆØˆs   Ã.D ÄD$Ä#D$c                ó   — g }d }t          |¦  «        D ]b}|                      || j        d         |¦  «        }|                     ||¬¦  «        }|                     |                     ¦   «         ¦  «         Œct          |Ž S )Nr   )rÞ   )Úrangerá   rC   ÚnseriesrÎ   r!  r   )r/   rm   rÞ   ÚlÚgrŠ   s         r0   r&  zexp._taylor  sy   € ØˆØˆÝ�q‘”ð 	"ð 	"ˆAØ× Ò   D¤I¨a¤L°!Ñ4Ô4ˆAØ—	’	˜!˜q�	Ñ!Ô!ˆAØ�HŠH�Q—Y’Y‘[”[Ñ!Ô!Ð!Ð!Ý�Aˆwˆr1   c                óö  — ddl m} | j        d                              ¦   «                              ||¬¦  «        } |j        |d¦  «        }|t          j        u rt          j        S t          ||¦  «        r<t          |¦  «        t          j
        k     rt          | ¦  «        S t          |¦  «        S |t          j        u r |j        |d¦  «        }|j        du rt          |¦  «        S t          d| z  ¦  «        ‚)Nr   rµ   r  Fr  )Úsympy.calculus.utilr¶   rC   Úcancelr#  r'  r   r©   rs   r"   rÂ   r,   r  rR   r   )r/   rm   r  r)  r¶   r   r+  s          r0   Ú_eval_as_leading_termzexp._eval_as_leading_term  sì   € Ø3Ð3Ð3Ð3Ð3Ð3ØŒi˜Œl×!Ò!Ñ#Ô#×3Ò3°A¸DÐ3ÑAÔAˆØˆsŒx˜˜1‰~Œ~ˆØ•!”%ˆ<ˆ<Ý”5ˆLÝ�d˜KÑ(Ô(ð 	õ �$‰xŒx�!œ&Ò Ð Ý˜D˜5‘z”zÐ!Ý�t‘9”9ÐØ•1”5ˆ=ˆ=Ø�3”9˜Q ‘?”?ˆDØÔ˜uÐ$Ð$Ý�t‘9”9ÐÝÐ3°tÑ<Ñ=Ô=Ð=r1   c                ó‚   — ddl m}  |t          |z  t          dz  z   ¦  «        t           |t          |z  ¦  «        z  z
  S )Nr   )rä   r¥   )rå   rä   r   r   )r/   r   Úkwargsrä   s       r0   Ú_eval_rewrite_as_sinzexp._eval_rewrite_as_sin.  sE   € Ø@Ð@Ð@Ð@Ð@Ð@Øˆs•1�S‘5�2˜a™4‘<Ñ Ô ¥1 S S­¨3©¡Z¤Z¡<Ñ/Ð/r1   c                ó‚   — ddl m}  |t          |z  ¦  «        t           |t          |z  t          dz  z   ¦  «        z  z   S )Nr   )rã   r¥   )rå   rã   r   r   )r/   r   r<  rã   s       r0   Ú_eval_rewrite_as_coszexp._eval_rewrite_as_cos2  sF   € Ø@Ð@Ð@Ð@Ð@Ð@Øˆs•1�S‘5‰zŒz�A˜c˜c¥! C¡%­"¨Q©$¡,Ñ/Ô/Ñ/Ñ/Ð/r1   c                óT   — ddl m} d ||dz  ¦  «        z   d ||dz  ¦  «        z
  z  S )Nr   )Útanhr2   r¥   )Ú%sympy.functions.elementary.hyperbolicrA  )r/   r   r<  rA  s       r0   Ú_eval_rewrite_as_tanhzexp._eval_rewrite_as_tanh6  s?   € Ø>Ð>Ð>Ð>Ð>Ð>Ø�D�D˜˜Q™‘K”K‘ ! d d¨3¨q©5¡k¤k¡/Ñ2Ð2r1   c                ó&  — ddl m}m} |j        ry |j        t
          t          z  ¦  «        }|r\|j        rW |t
          |z  ¦  «         |t
          |z  ¦  «        }}t          ||¦  «        s#t          ||¦  «        s|t          |z  z   S d S d S d S d S d S )Nr   )rä   rã   )	rå   rä   rã   r§   r²   r   r   rË   rs   )r/   r   r<  rä   rã   r²   ÚcosineÚsines           r0   Ú_eval_rewrite_as_sqrtzexp._eval_rewrite_as_sqrt:  sÌ   € ØEÐEÐEÐEÐEÐEÐEÐEØŒ:ð 	+Ø�C”I�b¥™d‘O”OˆEØð +˜œð +Ø"˜s¥2 e¡8™}œ}¨c¨cµ"°U±(©m¬m˜�Ý! &¨#Ñ.Ô.ð +µzÀ4ÈÑ7MÔ7Mð +Ø!¥A d¡F™?Ð*ð	+ð 	+ð+ð +ð +ð +ð+ð +ð +ð +r1   c                ó¨   — |j         rHd„ |j        D ¦   «         }|r7t          |d         j        d          |j        |d         ¦  «        ¦  «        S d S d S )Nc                ól   — g | ]1}t          |t          ¦  «        ¯t          |j        ¦  «        d k    ¯/|‘Œ2S rx   )rs   r5   ÚlenrC   )rl   rØ   s     r0   ú
<listcomp>z,exp._eval_rewrite_as_Pow.<locals>.<listcomp>E  s:   € ÐSÐSÐS˜!­:°a½Ñ+=Ô+=ÐSÅ#ÀaÄfÁ+Ä+ÐQRÒBRÐBR�AÐBRÐBRÐBRr1   r   )r§   rC   r   r²   )r/   r   r<  Úlogss       r0   Ú_eval_rewrite_as_Powzexp._eval_rewrite_as_PowC  sm   € ØŒ:ð 	@ØSÐS˜sœxÐSÑSÔSˆDØð @Ý˜4 œ7œ<¨œ?¨I¨C¬I°d¸1´gÑ,>Ô,>Ñ?Ô?Ð?ð	@ð 	@ð@ð @r1   rx   ©T©r   )ry   rz   r{   r’   r¡   r³   ÚclassmethodrÚ   r   rš   Ústaticmethodr   rá   ræ   rî   r�   rü   rÿ   r  r  r&  r:  r=  r?  rC  rG  rM  Ú__classcell__©r˜   s   @r0   r,   r,   Û   s�  ø€ € € € € ðð ð45ð 5ð 5ð 5ð!ð !ð !ð( ðgð gñ „[ðgðR ðð ñ „Xðð Øð!ð !ñ „Wñ „\ð!ð*ð *ð *ð *ð@,ð ,ð ,ð ,ð ,ð ð  ð  ðAð Að Aðð ð ð ð  ð  ð-ð -ð -ð -ð^ð ð ð>ð >ð >ð*0ð 0ð 0ð0ð 0ð 0ð3ð 3ð 3ð+ð +ð +ð@ð @ð @ð @ð @ð @ð @r1   r,   )Ú	metaclassc                óÂ   — |                       t          d¬¦  «        \  }}|dk    r|j        r||fS |                     t          ¦  «        }|r|j        r|j        r||fS dS )a´  
    Try to match expr with $a + Ib$ for real $a$ and $b$.

    ``match_real_imag`` returns a tuple containing the real and imaginary
    parts of expr or ``(None, None)`` if direct matching is not possible. Contrary
    to :func:`~.re`, :func:`~.im``, and ``as_real_imag()``, this helper will not force things
    by returning expressions themselves containing ``re()`` or ``im()`` and it
    does not expand its argument either.

    T©Úas_Addr   )NN)Úas_independentr   Úis_realrª   )ÚexprÚr_Úi_s      r0   Úmatch_real_imagr]  J  ss   € ð × Ò ¥¨4Ð Ñ0Ô0�F€BˆØ	ˆQ‚w€w�2”:€wØ�BˆxˆØ	×	Ò	�1Ñ	Ô	€BØ	ð ˆbŒjð ˜RœZð Ø�Bˆxˆàˆ|r1   c                  óÜ   — e Zd ZU dZded<   ej        ej        fZdd„Z	dd„Z
edd„¦   «         Zeed	„ ¦   «         ¦   «         Zdd„Zd„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ ZdS )r5   aÄ  
    The natural logarithm function `\ln(x)` or `\log(x)`.

    Explanation
    ===========

    Logarithms are taken with the natural base, `e`. To get
    a logarithm of a different base ``b``, use ``log(x, b)``,
    which is essentially short-hand for ``log(x)/log(b)``.

    ``log`` represents the principal branch of the natural
    logarithm. As such it has a branch cut along the negative
    real axis and returns values having a complex argument in
    `(-\pi, \pi]`.

    Examples
    ========

    >>> from sympy import log, sqrt, S, I
    >>> log(8, 2)
    3
    >>> log(S(8)/3, 2)
    -log(3)/log(2) + 3
    >>> log(-1 + I*sqrt(3))
    log(2) + 2*I*pi/3

    See Also
    ========

    exp

    ztuple[Expr]rC   r2   c                óN   — |dk    rd| j         d         z  S t          | |¦  «        ‚)z?
        Returns the first derivative of the function.
        r2   r   )rC   r	   r6   s     r0   r¡   z	log.fdiff…  s-   € ð �qŠ=ˆ=Ø�T”Y˜q”\‘>Ð!å$ T¨8Ñ4Ô4Ð4r1   c                ó   — t           S )zC
        Returns `e^x`, the inverse function of `\log(x)`.
        )r,   r6   s     r0   r8   zlog.inverseŽ  r9   r1   Nc                ó  — ddl m} ddlm} t	          |¦  «        }|�Ít	          |¦  «        }|dk    r|dk    rt
          j        S t
          j        S 	 t          ||¦  «        }|r(|t          |||z  z  ¦  «        t          |¦  «        z  z   S t          |¦  «        t          |¦  «        z  S # t          $ r Y nw xY w|t
          j        ur | |¦  «         | |¦  «        z  S  | |¦  «        S |j        rž|j        rt
          j        S |t
          j        u rt
          j        S |t
          j        u rt
          j        S |t
          j        u rt
          j        S |t
          j        u rt
          j        S |j        r|j        dk    r | |j        ¦  «         S |j        r&|j        t
          j        u r|j        j        r|j        S t3          |t.          ¦  «        r|j        j        r|j        S t3          |t.          ¦  «        rn|j        j        rbt7          |j        ¦  «        \  }}|rH|j        rA|dt:          z  z  }|t:          k    r|dt:          z  z  }|t=          |t>          z  d¬¦  «        z   S nÕt3          |t@          ¦  «        rtC          |j        ¦  «        S t3          ||¦  «        r||j"        j#        r0 |t          |j"        ¦  «        t          |j$        ¦  «        ¦  «        S |j"        j        r( |t
          j        t          |j$        ¦  «        ¦  «        S t
          j        S t3          ||¦  «        r |j%        | ¦  «        S |j        rW|j&        rt:          t>          z   | | ¦  «        z   S |t
          j        u rt
          j        S |t
          j        u rt
          j        S |j        rt
          j        S |j'        s« |j(        t>          ¦  «        }|�”|t
          j        u rt
          j        S |t
          j        u rt
          j        S |j        rY|j)        r(t:          t>          z  t
          j*        z   | |¦  «        z   S t:           t>          z  t
          j*        z   | | ¦  «        z   S |j        �r|j+        �r |j,        t>          d¬¦  «        \  }}	|j&        r
|d	z  }|	d	z  }	t=          |	d¬¦  «        }	|	 ,                    t>          d
¬¦  «        \  }}| (                    t>          ¦  «        }|j-        �r“|�r’|j-        �rŒ|j-        �r†|j        rh|j#        r+t:          t>          z  t
          j*        z   | ||z  ¦  «        z   S |j&        r-t:           t>          z  t
          j*        z   | || z  ¦  «        z   S d S ddl.m/}
 ||z   0                    ¦   «         }|  0                    ¦   «         }tc          ¦   «         }||v rb |
|te          |	¦  «        z  ¦  «        }|j#        r | |¦  «        t>          ||         z  z   S  | |¦  «        t>          ||         t:          z
  z  z   S ||v ro |
|te          |	¦  «        z  ¦  «        }|j#        r | |¦  «        t>          ||          z  z   S  | |¦  «        t>          t:          ||         z
  z  z   S d S d S d S d S d S d S d S )Nr   rµ   r¸   r2   r¥   F©rè   rV  rÝ   T)Úratsimp)3r¼   r¶   r¾   r¹   r   r   r©   r}   r%   r5   Ú
ValueErrorr›   rÁ   rY   r<   rÂ   r¨   r_   rÉ   rà   r  rë   rš   r,   r�   rs   rË   r]  r”   r   r   r   r‚   r    rÃ   rÌ   rÄ   rÅ   r=   rq   rª   Úis_nonnegativer¯   rþ   rX  rY  Úsympy.simplifyrc  r9  Ú_log_atan_tabler#   )rœ   r   rš   r¶   r¹   rÞ   r[  r\  r²   Úarg_rc  r  Út1Ú
atan_tableÚmoduluss                  r0   rÚ   zlog.eval”  sÓ  € à.Ð.Ð.Ð.Ð.Ð.Ø.Ð.Ð.Ð.Ð.Ð.å�c‰lŒlˆàÐÝ˜4‘=”=ˆDØ�qŠyˆyØ˜!’8�8Ýœ5�LåÔ,Ð,ð	õ !  sÑ+Ô+�Øð .Ø�s 3¨¨q©¡=Ñ1Ô1µC¸±I´IÑ=Ñ=Ð=å˜s™8œ8¥C¨¡I¤IÑ-Ð-øÝð ð ð Ø�ðøøøà�1œ6Ð!Ð!Ø�s˜3‘x”x   D¡	¤	Ñ)Ð)à�s˜3‘x”x�àŒ=ð 	#ØŒ{ð #ÝÔ(Ð(Ø�œ��Ý”v�Ø�œ
Ð"Ð"Ý”zÐ!Ø�Ô*Ð*Ð*Ý”zÐ!Ø�œ��Ý”u�Ø”ð # S¤U¨a¢Z ZØ˜˜CœE™
œ
�{Ð"àŒ:ð 	˜#œ(¥a¤fÐ,Ð,°´Ô1IÐ,Ø”7ˆNÝ�c�3ÑÔð 	' C¤GÔ$<ð 	'Ø”7ˆNÝ˜�SÑ!Ô!ð 	' c¤gÔ&7ð 	'Ý$ S¤WÑ-Ô-‰FˆB�Øð ;�bÔ&ð ;Ø�a�‘d‘
�Ø�’7�7Ø˜!�B™$‘J�BØ�J r­A¡v°EÐ:Ñ:Ô:Ñ:Ð:øÝ˜�YÑ'Ô'ð 
	'Ý˜cœgÑ&Ô&Ð&Ý˜˜[Ñ)Ô)ð 	'ØŒwÔ"ð Ø"�{¥3 s¤w¡<¤<µ°S´W±´Ñ>Ô>Ð>Ø””ð Ø"�{¥1Ô#5µs¸3¼7±|´|ÑDÔDÐDå”u�Ý˜˜WÑ%Ô%ð 	'Ø!�3”> #Ñ&Ô&Ð&àŒ=ð 	ØŒð Ý�A‘v   S D¡	¤	Ñ)Ð)Ø�Ô)Ð)Ð)ÝÔ(Ð(Ø�œ��Ý”u�àŒ;ð 	%ÝÔ$Ð$ð Œzð 	>Ø&�CÔ&¥qÑ)Ô)ˆEàÐ Ø�AœJÐ&Ð&Ýœ:Ð%Ø�aÔ0Ð0Ð0Ýœ:Ð%ØÔ&ð >ØÔ+ð >Ý!¥A™v­¬™°°°U±´Ñ;Ð;å "˜s¥Q™w­¬Ñ/°#°#°u°f±+´+Ñ=Ð=àŒ=ñ  	L˜SÔ-ñ  	Là,˜#Ô,­Q°uÐ=Ñ=Ô=‰KˆE�4ØÔ ð Ø˜‘�Ø˜‘
�Ý˜d¨Ð/Ñ/Ô/ˆDØ×(Ò(­°4Ð(Ñ8Ô8‰FˆB�Ø×"Ò"¥1Ñ%Ô%ˆBØŒ}ñ L ñ L¨¬
ñ L°r´zñ LØ”:ð LØ”~ð CÝ!¥A™v­¬™°°°U¸R±Z±´Ñ@Ð@Øœð CÝ "˜s¥Q™w­¬Ñ/°#°#°e¸r¸c±kÑ2BÔ2BÑBÐBðCð Cð 7Ð6Ð6Ð6Ð6Ð6à˜B™ŸšÑ(Ô(�AØ˜"Ÿš™œ�BÝ!0Ñ!2Ô!2�JØ˜J��Ø") '¨%µ#°d±)´)Ñ*;Ñ"<Ô"<˜Øœ>ð KØ#& 3 w¡<¤<µ!°jÀ´mÑ2CÑ#CÐCà#& 3 w¡<¤<µ!°zÀ!´}ÅrÑ7IÑ2JÑ#JÐJØ˜zÐ)Ð)Ø") '¨%µ#°d±)´)Ñ*;Ñ"<Ô"<˜Øœ>ð LØ#& 3 w¡<¤<µ!¸
À2¼°Ñ2GÑ#GÐGà#& 3 w¡<¤<µ!µr¸JÀr¼NÑ7JÑ2KÑ#KÐKðA 	Lð  	Lð  	Lð  	LðLð Lð Lð Lð Lð Lð Lð Lð$ *Ð)s   Á9B+ ÂB+ Â+
B8Â7B8c                óâ   — ddl m} | dk     rt          j        S t	          |¦  «        }| dk    r|S |r%|d         }|� ||  |z  |z  | dz   z  dd¬¦  «        S dd	| d	z  z  z
  || dz   z  z  | dz   z  S )
zV
        Returns the next term in the Taylor series expansion of `\log(1+x)`.
        r   r	  rÝ   Nr2   Tr,   r  r¥   )r  r
  r   rÂ   r   )rÞ   rm   rß   r
  rà   s        r0   rá   zlog.taylor_term  s©   € ð 	3Ð2Ð2Ð2Ð2Ð2ØˆqŠ5ˆ5Ý”6ˆMÝ�A‰JŒJˆØ�Š6ˆ6ØˆHØð 	QØ˜rÔ"ˆAØˆ}Ø�w   a™x¨!™|¨q°1©uÑ5¸DÈ%ÐPÑPÔPÐPØ�A�q˜1‘u‘I‘  Q¨¡U¡Ñ+¨Q°©UÑ3Ð3r1   Tc                óð  — ddl m}m} |                     dd¦  «        }|                     dd¦  «        }t	          | j        ¦  «        dk    rt           | j        | j        Ž ||¬¦  «        S | j        d         }|j        rŒt          |¦  «        }d }	d}
|dur|\  }}
|                      |¦  «        }	|rPt          |¦  «        }||                     ¦   «         vr+t          d	„ |                     ¦   «         D ¦   «         ¦  «        }	|	�|
|	z  S �nW|j        r)t          |j        ¦  «        t          |j        ¦  «        z
  S |j        �rg }g }|j        D ]í}|s|j        s|j        rt|                      |¦  «        }t+          |t          ¦  «        r4|                      |                      |¦  «        j        d
i |¤Ž¦  «         Œp|                     |¦  «         Œ†|j        rK|                      | ¦  «        }|                     |¦  «         |                     t2          j        ¦  «         ŒØ|                     |¦  «         Œît7          |Ž t          t9          |Ž ¦  «        z   S |j        st+          |t<          ¦  «        r¬|sB|j        j        r*|j         j        s*|j        dz   j        r|j        dz
  j!        s|j         j        rg|j         }|j        }|                      |¦  «        }t+          |t          ¦  «        rtE          |¦  «         |j        d
i |¤Žz  S tE          |¦  «        |z  S n>t+          ||¦  «        r.|s|j#        j        r  |t          |j#        ¦  «        g|j$        ¢R Ž S |                      |¦  «        S )Nr   )rj   ri   ÚforceFÚfactorr¥   )rè   rn  r2   c              3  ó@   K  — | ]\  }}|t          |¦  «        z  V — Œd S r+   r4   )rl   ÚvalrÞ   s      r0   rn   z'log._eval_expand_log.<locals>.<genexpr>7  s0   è è € Ð DÐ D±°°Q ¥3 s¡8¤8¡Ð DÐ DÐ DÐ DÐ DÐ Dr1   r€   )%Úsympy.concreterj   ri   ÚgetrJ  rC   r
   r?   Ú
is_Integerr&   r'   ÚkeysÚsumÚitemsrÉ   r5   rà   r  r§   rÌ   r“   rs   rÎ   Ú_eval_expand_logr=   r   r®   r   r   rë   r,   r�   rš   Úis_nonpositiver    rt   ru   )r/   rè   rv   rj   ri   rn  ro  r   rà   Úlogargr²   rZ  Únonposrm   rØ   rf   rg   s                    r0   rx  zlog._eval_expand_log$  s�  € Ø/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ø—	’	˜' 5Ñ)Ô)ˆØ—’˜8 UÑ+Ô+ˆÝ�”	‰NŒN˜aÒÐÝ˜i˜dœi¨¬Ð3¸$ÀeÐLÑLÔLÐLØŒi˜ŒlˆØŒ>ð .	;å˜cÑ"Ô"ˆAØˆFØˆEØ˜ˆ~ˆ~Ø‘
��UØŸš 3™œ�àð EÝ˜c‘N”N�Ø˜aŸfšf™hœhÐ&Ð&Ý Ð DÐ D¸!¿'º'¹)¼)Ð DÑ DÔ DÑDÔD�FØÐ!Ø˜V‘|Ð#ñ "àŒ_ð 	;Ý�s”u‘:”:¥ C¤E¡
¤
Ñ*Ð*ØŒZñ 	;ØˆDØˆFØ”Xð %ð %�Øð %˜AœMð %¨Q¬Zð %ØŸ	š	 !™œ�AÝ! !¥SÑ)Ô)ð 'ØŸšÐ$A D§I¢I¨a¡L¤LÔ$AÐ$JÐ$JÀEÐ$JÐ$JÑKÔKÐKÐKàŸš A™œ˜˜Ø”]ð %ØŸ	š	 1 "™œ�AØ—K’K ‘N”N�NØ—M’M¥!¤-Ñ0Ô0Ð0Ð0à—M’M !Ñ$Ô$Ð$Ð$Ý˜�:¥¥C¨ LÑ 1Ô 1Ñ1Ð1ØŒZð 	;�: c­3Ñ/Ô/ð 	;Øð -˜œÔ1ð -°s´xÔ7Kð -ÐQTÔQXÐYZÑQZÜð-Ø"%¤'¨!¡)Ô!;ð-ØBEÄ(ÔBSð-à”H�Ø”G�Ø—I’I˜a‘L”L�Ý˜a¥Ñ%Ô%ð -Ý% a™=œ=Ð+=¨1Ô+=Ð+FÐ+FÀÐ+FÐ+FÑFÐFå% a™=œ=¨1Ñ,Ð,ð-õ ˜˜WÑ%Ô%ð 	;Øð ;˜œÔ0ð ;Ø�s�3˜sœ|Ñ,Ô,Ð:¨s¬zÐ:Ð:Ð:Ð:à�yŠy˜‰~Œ~Ðr1   c                ó2  — ddl m}m}m} t	          | j        ¦  «        dk    r | | j        | j        Ž fi |¤ŽS |                       || j        d         fi |¤Ž¦  «        }|d         r ||¦  «        } ||d¬¦  «        }t          || g|d         ¬¦  «        S )	Nr   )r
   ÚsimplifyÚinversecombiner¥   r8   Trb  Úmeasure)Úkey)r¿   r
   r}  r~  rJ  rC   r?   rÃ   )r/   r<  r
   r}  r~  rZ  s         r0   Ú_eval_simplifyzlog._eval_simplify]  sË   € ØPÐPÐPÐPÐPÐPÐPÐPÐPÐPÝˆtŒy‰>Œ>˜QÒÐØ�8˜I˜DœI t¤yÐ1Ð<Ð<°VÐ<Ð<Ð<à�yŠy˜˜ $¤)¨A¤,Ð9Ð9°&Ð9Ð9Ñ:Ô:ˆØ�)Ôð 	(Ø!�> $Ñ'Ô'ˆDØˆz˜$ TÐ*Ñ*Ô*ˆÝ�D˜$�< V¨IÔ%6Ð7Ñ7Ô7Ð7r1   c                óH  — | j         d         }|r | j         d         j        |fi |¤Ž}t          |¦  «        }||k    r| t          j        fS t          |¦  «        }|                     dd¦  «        r"d|d<    t          |¦  «        j        |fi |¤Ž|fS t          |¦  «        |fS )a©  
        Returns this function as a complex coordinate.

        Examples
        ========

        >>> from sympy import I, log
        >>> from sympy.abc import x
        >>> log(x).as_real_imag()
        (log(Abs(x)), arg(x))
        >>> log(I).as_real_imag()
        (0, pi/2)
        >>> log(1 + I).as_real_imag()
        (log(sqrt(2)), pi/4)
        >>> log(I*x).as_real_imag()
        (log(Abs(x)), arg(I*x))

        r   r5   FÚcomplex)rC   rç   r#   r   rÂ   r   rs  r5   )r/   rè   rv   ÚsargÚsarg_absÚsarg_args         r0   ræ   zlog.as_real_imagh  s»   € ð& Œy˜Œ|ˆØð 	6Ø&�4”9˜Q”<Ô& tÐ5Ð5¨uÐ5Ð5ˆDÝ�t‘9”9ˆØ�tÒÐØ�œ�<ÐÝ�t‘9”9ˆØ�9Š9�U˜EÑ"Ô"ð 	+Ø$ˆE�)ÑØ(•C˜‘M”MÔ(¨Ð7Ð7°Ð7Ð7¸ÐBÐBå�x‘=”= (Ð*Ð*r1   c                óð   —  | j         | j        Ž }|j         | j         k    rQ| j        d         dz
  j        rdS |j        d         j        r$t	          | j        d         dz
  j        ¦  «        rdS d S d S |j        S ©Nr   r2   TF)r?   rC   rY   rZ   r   ©r/   r[   s     r0   r]   zlog._eval_is_rationalˆ  s�   € ØˆDŒI�t”yÐ!ˆØŒ6�T”YÒÐØ”	˜!”˜qÑ Ô)ð Ø�tØŒv�aŒyÔ$ð ­°D´I¸a´LÀ1Ñ4DÔ3MÑ)NÔ)Nð Ø�uðð ð ð ð ”=Ð r1   c                óð   —  | j         | j        Ž }|j         | j         k    rQ| j        d         dz
  j        rdS t          | j        d         dz
  j        ¦  «        r| j        d         j        rdS d S d S |j        S rˆ  )r?   rC   rY   r   rþ   r‰  s     r0   rÿ   zlog._eval_is_algebraic’  sŽ   € ØˆDŒI�t”yÐ!ˆØŒ6�T”YÒÐØ”	˜!”˜qÑ Ô)ð !Ø�tÝ˜DœI aœL¨1Ñ,Ô5Ñ6Ô6ð !Ø”9˜Q”<Ô,ð !Ø ˜5ð!ð !ð!ð !ð ”>Ð!r1   c                ó&   — | j         d         j        S r„   ©rC   rT   r.   s    r0   r�   zlog._eval_is_extended_real�  s   € ØŒy˜Œ|Ô0Ð0r1   c                ól   — | j         d         }t          |j        t          |j        ¦  «        g¦  «        S r„   )rC   r   rú   r   rY   )r/   r\   s     r0   rü   zlog._eval_is_complex   s,   € ØŒI�aŒLˆÝ˜!œ,­	°!´)Ñ(<Ô(<Ð=Ñ>Ô>Ð>r1   c                ó<   — | j         d         }|j        rdS |j        S ©Nr   F)rC   rY   rU   rV   s     r0   rW   zlog._eval_is_finite¤  s$   € ØŒi˜ŒlˆØŒ;ð 	Ø�5ØŒ}Ðr1   c                ó,   — | j         d         dz
  j        S ©Nr   r2   rŒ  r.   s    r0   r  zlog._eval_is_extended_positiveª  s   € Ø”	˜!”˜qÑ Ô6Ð6r1   c                ó,   — | j         d         dz
  j        S r‘  )rC   rY   r.   s    r0   r`   zlog._eval_is_zero­  s   € Ø”	˜!”˜qÑ Ô)Ð)r1   c                ó,   — | j         d         dz
  j        S r‘  )rC   Úis_extended_nonnegativer.   s    r0   Ú_eval_is_extended_nonnegativez!log._eval_is_extended_nonnegative°  s   € Ø”	˜!”˜qÑ Ô9Ð9r1   r   c           
     óh  ‡— ddl m} ddlm} ddlm} | j        d         |k    r|€t          |¦  «        n|S | j        d         } |dd¬¦  «        }	|dk    rd} |j        |||	z  ¦  «        }
t          d	¦  «        t          d
¦  «        }}|
 
                    ||	|z  z  ¦  «        }|�€||         ||         }}|dk    rj|                     |	¦  «        sU|                     |	¦  «        s@|€|t          |¦  «        z  n||z  }|t          |¦  «        |t          |¦  «        z  z
  z  }|S d„ }	 |
                     |	|d¬¦  «        \  }}nÕ# t          t          t          f$ r» |
                     |	‰|d¬¦  «        }|j        r%‰dz  Š|
                     |	‰|d¬¦  «        }|j        °%	 |                     ¦   «                              |	d¬¦  «        \  }}nE# t          $ r8 |                     ¦   «                              |	d¬¦  «        t(          j        }}Y nw xY wY nw xY w|
||	|z  z  z  dz
                       ¦   «                              |	‰|d¬¦  «        }|                     t.          ¦  «        r ||¦  «        }t1          ||¦  «        r|                     ¦   «         Š |||	¦  «        \  }}|€t          |¦  «        n|}|j        sät          |¦  «        |t          |¦  «        z  z
  ||z  z   }|}ddddddddddœ	} | j        di |¤Ž}|                     ¦   «         sE|                     ¦   «         r1 |                     | t          |¦  «         ¦  «        j        di |¤Ž}n. |                     |t          |¦  «        ¦  «        j        di |¤Ž}||k    r|S | ||‰z  |¦  «        z   S ˆfd„}i }t;          j        |                     ¦   «         ¦  «        D ]7} |||	¦  «        \  }}|                     |t(          j        ¦  «        |z   ||<   Œ8t(          j         }i }|}||z  ‰k     rkt(          j!        |z   |z  } |D ]1}!|                     |!t(          j        ¦  «        | ||!         z  z   ||!<   Œ2 |||¦  «        }|t(          j         z  }||z  ‰k     °kt          |¦  «        |t          |¦  «        z  z
  ||z  z   }|D ]%}!|||!                              ¦   «         |	|!z  z  z  }Œ&|j"        ržtG          |
¦  «        dk    r‹ddl$m%}" tM          |
 '                    |	¦  «        ¦  «        D ]\  }#}|j(        r|#dk    r nŒ|#dk     rH| )                    |	¦  «        \  } }|dtT          z  tV          z   |"tG          | ¦  «         d¦  «        z  z  }|                     |	||z  ¦  «        }| ||‰z  |¦  «        z   S )Nr   r  rº   )r   r  T©Úpositiver2   Úkr5  c                óH  — t           j        t           j        }}t          j        | ¦  «        D ]r}|                     |¦  «        rV|                     ¦   «         \  }}||k    r8	 |                      |¦  «        c S # t          $ r | t           j        fcY c S w xY wŒm||z  }Œs||fS r+   )	r   r<   rÂ   r   rÍ   ÚhasrE   Úleadtermrd  )rÓ   rm   r²   r,   ro  rš   s         r0   Ú	coeff_expz$log._eval_nseries.<locals>.coeff_expË  sÄ   € Ýœ¥¤�3ˆEÝœ-¨Ñ-Ô-ð 	$ð 	$�Ø—:’:˜a‘=”=ð $Ø &× 2Ò 2Ñ 4Ô 4‘I�D˜#Ø˜q’y�yð0Ø#'§=¢=°Ñ#3Ô#3Ð3Ð3Ð3øÝ)ð 0ð 0ð 0Ø#'­¬ <Ð/Ð/Ð/Ð/Ð/ð0øøøð !ð ˜V‘O�E�EØ˜#�:Ðs   Á"A9Á9BÂB©r  r)  )rÞ   r  r)  )r)  F)	rè   r5   ÚmulÚ	power_expÚ
power_baseÚmultinomialÚbasicrn  ro  c                ó¸   •— i }t          | |¦  «        D ]E\  }}||z   }|‰k     r5|                     |t          j        ¦  «        | |         ||         z  z   ||<   ŒF|S r+   )r   rs  r   rÂ   )Úd1Úd2rŒ   Úe1Úe2ÚexrÞ   s         €r0   rŸ  zlog._eval_nseries.<locals>.mulþ  sg   ø€ ØˆCÝ! " b™/œ/ð Bð B‘��BØ˜"‘W�Ø˜’6�6Ø!Ÿgšg b­!¬&Ñ1Ô1°B°r´F¸2¸b¼6±MÑA�C˜‘GøØˆJr1   ©Ú	Heavisideé   éþÿÿÿr€   ),r  r  r¿   r»   Úsympy.core.symbolr   rC   r5   r'  r   Úmatchr›  rœ  rd  r%  r   r  r   r!  r#  r   rÂ   r9  r,   rs   r$  rÌ   rç   r>   r   rÍ   rs  r<   r®   r=   r!   Ú'sympy.functions.special.delta_functionsr«  Ú	enumerateÚlseriesrY  Úas_coeff_exponentr   r   )$r/   rm   rÞ   r  r)  r  r»   r   r   r  r\   r™  r5  r/  r�  rØ   rf   r[   rà   Ú_ÚdrŒ   Ú_resÚlogflagsrZ  rŸ  ÚptermsrÓ   Úco1r§  rÐ   Úpkr²   r©  r«  rŠ   s$     `                                 r0   r  zlog._eval_nseries³  sn  ø€ ð 	-Ð,Ð,Ð,Ð,Ð,Ø6Ð6Ð6Ð6Ð6Ð6Ø+Ð+Ð+Ð+Ð+Ð+àŒ9�QŒ<˜1ÒÐØ!˜\•3�q‘6”6�6¨tÐ3ØŒi˜ŒlˆØˆE�# Ð%Ñ%Ô%ˆØ�1Š9ˆ9ØˆDØˆCŒH�Q˜˜Q™ÑÔˆå�C‰yŒy�$˜s™)œ)ˆ1ˆØ�GŠG�A�a˜‘d‘F‰OŒOˆØˆ=Ø�Q”4˜˜1œˆqˆAØ�AŠvˆv˜aŸeše A™hœhˆv¨q¯uªu°Q©x¬xˆvØ $ �A•c˜!‘f”f‘H�H°!°D±&�Ø•S˜‘V”V˜a¥ D¡	¤	™kÑ)Ñ)�Ø�ð	ð 	ð 	ð
	FØ—:’:˜a d°�:Ñ3Ô3‰DˆAˆqˆqøÝÕ/µÐ;ð 	Fð 	Fð 	FØ—’  Q¨T¸�Ñ:Ô:ˆAØ”*ð ?Ø�Q‘�Ø—O’O A¨°¸A�OÑ>Ô>�ð ”*ð ?ðFØ—y’y‘{”{×+Ò+¨A°AÐ+Ñ6Ô6‘��1�1øÝð Fð Fð FØ—y’y‘{”{×2Ò2°1¸1Ð2Ñ=Ô=½q¼v�1���ðFøøøøøð	Føøøð ��!�Q‘$‘‰Z˜!‰^×#Ò#Ñ%Ô%×3Ò3°A¸ÀÈAÐ3ÑNÔNˆØ�5Š5•‰:Œ:ð 	Ø�
˜1‘”ˆAÝ�a˜ÑÔð 	Ø—’‘”ˆAØˆy˜˜A‰Œ‰ˆˆ1Ø˜�s�1‰vŒvˆv¨4ˆàŒ}ð 	(Ý�a‘&”&˜1�S ™YœY™;Ñ&¨¨4©Ñ/ˆCØˆDØ $¨T¸%ÈeØ#°EÀEÐTXØð!ð !ˆHð �4”;Ð*Ð* Ð*Ð*ˆDØ×.Ò.Ñ0Ô0ð BØ×-Ò-Ñ/Ô/ðBà7�t—y’y $ ­¨Q©¬¨Ñ0Ô0Ô7ÐCÐC¸(ÐCÐC��à5�t—y’y ¥s¨1¡v¤vÑ.Ô.Ô5ÐAÐA¸ÐAÐA�Ø�tŠ|ˆ|Ø�
Ø˜˜˜q !™t Q™œÑ'Ð'ð	ð 	ð 	ð 	ð 	ð ˆå”M !§)¢)¡+¤+Ñ.Ô.ð 	6ð 	6ˆDØ�i  aÑ(Ô(‰GˆC�ØŸš B­¬Ñ/Ô/°#Ñ5ˆF�2‰JˆJåŒEˆØˆØˆà�‰c�AŠgˆgÝ”] AÑ%Ð% aÑ'ˆEØð Að A�Ø!ŸIšI b­!¬&Ñ1Ô1°E¸"¸R¼&±LÑ@��b‘	�	Ø��R˜‘”ˆBØ•”‰JˆAð �‰c�AŠgˆgõ �!‰fŒf�q�˜T™œ‘{Ñ" Q t¡VÑ+ˆØð 	.ð 	.ˆBØ�5˜”9×#Ò#Ñ%Ô% a¨"¡gÑ-Ñ-ˆCˆCàŒ=ð 	8�R ™UœU ašZ˜ZØIÐIÐIÐIÐIÐIÝ$ Q§Y¢Y¨q¡\¤\Ñ2Ô2ð ð ‘��4Ø”|ð  q¨A¢v vØ�Eð (.à�1ŠuˆuØ×1Ò1°!Ñ4Ô4‘��qØ�r�!‘t�B‘w˜y˜y­"¨U©)¬)¨°QÑ7Ô7Ñ7Ñ7�à�hŠh�q˜!˜D™&Ñ!Ô!ˆØ�U�U˜1˜a™4 ‘^”^Ñ#Ð#s7   Ä-E	 Å	AHÆ&,GÇHÇ?HÈHÈHÈHÈHc                óF  — | j         d                              ¦   «         }t          dd¬¦  «        }|dk    rd}|                     |||z  ¦  «        }	 |                     ||d¬¦  «        \  }}n7# t
          $ r* |                     |||¬¦  «        }	t          |	¦  «        cY S w xY w|                     |¦  «        r@|                     |||z  ¦  «        }|dk    rt          d| z  ¦  «        ‚t          |¦  «        S |t          j        k    r4|t          j        k    r$|t          j        z
                       ||¬¦  «        S t          |¦  «        |t          |¦  «        z  z
  }
|€t          |¦  «        n|}|
||z  z  }
|j        ržt          |¦  «        dk    r‹dd	lm} t#          |                     |¦  «        ¦  «        D ]\  }}|j        r|d
k    r nŒ|d
k     rH|                     |¦  «        \  }}|
dt*          z  t,          z   |t          |¦  «         d¦  «        z  z  }
|
S )Nr   r  Tr—  r2   rž  r  r  rª  r¬  r­  )rC   Útogetherr   r'  rœ  rd  r#  r5   r›  r   r   r<   rÂ   r=   r!   r°  r«  r±  r²  rY  r³  r   r   )r/   rm   r  r)  r+  r  r\   Úcrg   r   rŒ   r«  rŠ   rÓ   r²   r´  s                   r0   r:  zlog._eval_as_leading_term'  s<  € ð Œy˜Œ|×$Ò$Ñ&Ô&ˆõ �# Ð%Ñ%Ô%ˆØ�1Š9ˆ9ØˆDØ�IŠI�a˜˜a™Ñ Ô ˆð	Ø—:’:˜a d°�:Ñ3Ô3‰DˆAˆqˆqøÝð 	ð 	ð 	Ø×&Ò& q¨t¸$Ð&Ñ?Ô?ˆCÝ�s‘8”8ˆOˆOˆOð	øøøð �5Š5�‰8Œ8ð 	Ø—’�q˜!˜D™&Ñ!Ô!ˆAØ�AŠvˆvÝÐ ;¸tÑ DÑEÔEÐEÝ�q‘6”6ˆMð •”Š:ˆ:˜!�qœvš+˜+Ø�1œ5‘L×1Ò1°!¸$Ð1Ñ?Ô?Ð?õ �!‰fŒf�q�˜T™œ‘{Ñ"ˆØ˜�s�1‰vŒvˆv¨4ˆØˆq�‰v‰ˆð Œ=ð 	8�R ™UœU ašZ˜ZØIÐIÐIÐIÐIÐIÝ$ Q§Y¢Y¨q¡\¤\Ñ2Ô2ð ð ‘��4Ø”|ð  q¨A¢v vØ�Eð (.à�1ŠuˆuØ×1Ò1°!Ñ4Ô4‘��qØ�r�!‘t�B‘w˜y˜y­"¨U©)¬)¨°QÑ7Ô7Ñ7Ñ7�Øˆ
s   ÁA/ Á/1B#Â"B#rx   r+   rN  rO  )ry   rz   r{   r’   Ú__annotations__r   rÂ   r}   r~   r¡   r8   rP  rÚ   rQ  r   rá   rx  r�  ræ   r]   rÿ   r�   rü   rW   r  r`   r•  r  r:  r€   r1   r0   r5   r5   _  s�  € € € € € € ðð ðB ÐÐÑà”f˜aÔ/Ð0€Nð5ð 5ð 5ð 5ðð ð ð ð ð{Lð {Lð {Lñ „[ð{Lðz Øð4ð 4ñ „Wñ „\ð4ð 7ð 7ð 7ð 7ðr	8ð 	8ð 	8ð+ð +ð +ð +ð@!ð !ð !ð	"ð 	"ð 	"ð1ð 1ð 1ð?ð ?ð ?ðð ð ð7ð 7ð 7ð*ð *ð *ð:ð :ð :ðr$ð r$ð r$ð r$ðh*ð *ð *ð *ð *r1   r5   c                  ó˜   ‡ — e Zd ZdZ eej        dd¬¦  «         ej        fZe	dd„¦   «         Z
dd„Zd	„ Zd
„ Zd„ Zd„ Zdˆ fd„	Zd„ Zˆ xZS )ÚLambertWaù  
    The Lambert W function $W(z)$ is defined as the inverse
    function of $w \exp(w)$ [1]_.

    Explanation
    ===========

    In other words, the value of $W(z)$ is such that $z = W(z) \exp(W(z))$
    for any complex number $z$.  The Lambert W function is a multivalued
    function with infinitely many branches $W_k(z)$, indexed by
    $k \in \mathbb{Z}$.  Each branch gives a different solution $w$
    of the equation $z = w \exp(w)$.

    The Lambert W function has two partially real branches: the
    principal branch ($k = 0$) is real for real $z > -1/e$, and the
    $k = -1$ branch is real for $-1/e < z < 0$. All branches except
    $k = 0$ have a logarithmic singularity at $z = 0$.

    Examples
    ========

    >>> from sympy import LambertW
    >>> LambertW(1.2)
    0.635564016364870
    >>> LambertW(1.2, -1).n()
    -1.34747534407696 - 4.41624341514535*I
    >>> LambertW(-1).is_real
    False

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Lambert_W_function
    rÝ   Frb   Nc                ó   — |t           j        k    r | |¦  «        S |€t           j        }|j        rÿ|j        rt           j        S |t           j        u rt           j        S |dt           j        z  k    rt           j        S |t          d¦  «         dz  k    rt          d¦  «         S |dt          d¦  «        z  k    rt          d¦  «        S |t           dz  k    rt          t          z  dz  S |t          dt           j        z   ¦  «        k    rt           j        S |t           j
        u rt           j
        S t          |j        ¦  «        r|j        rt           j        S |t           j        u rg|t           dz  k    rt           t          z  dz  S |dt           j        z  k    rt           j        S |dt          d¦  «        z  k    rt          d¦  «         S d S d S )NrÝ   r¥   r2   r­  )r   rÂ   rY   r›   r<   r®   r5   r   r   r,   r¨   r   r_   r   )rœ   rm   r™  s      r0   rÚ   zLambertW.evaly  sŽ  € à•”Š;ˆ;Ø�3�q‘6”6ˆMØˆYÝ”ˆAàŒ9ð 	"ØŒyð Ý”v�Ø•A”Fˆ{ˆ{Ý”u�Ø�B•q”v‘IŠ~ˆ~Ý”}Ð$Ø•S˜‘V”V�G˜A‘IŠ~ˆ~Ý˜A™œ�w�Ø�A•c˜!‘f”f‘HŠ}ˆ}Ý˜1‘v”v�Ø•R�C˜‘EŠzˆzÝ�‘t˜A‘v�Ø•C˜�AœF™
‘O”OÒ#Ð#Ý”v�Ø•A”JˆˆÝ”zÐ!å�Q”YÑÔð 	*ØŒyð *ÝÔ)Ð)Ø•”ÐÐØ•R�C˜‘EŠzˆzÝ�r�"‘u˜Q‘w�Ø�b�œ‘i’�Ý”}Ð$Ø�b�˜R™œ‘j’�Ý ™
œ
�{Ð"ð Ðð
 !�r1   r2   c                ó8  — | j         d         }t          | j         ¦  «        dk    r,|dk    r%t          |¦  «        |dt          |¦  «        z   z  z  S n:| j         d         }|dk    r't          ||¦  «        |dt          ||¦  «        z   z  z  S t          | |¦  «        ‚)z?
        Return the first derivative of this function.
        r   r2   )rC   rJ  rÀ  r	   )r/   r7   rm   r™  s       r0   r¡   zLambertW.fdiff�  s›   € ð ŒI�aŒLˆåˆtŒy‰>Œ>˜QÒÐØ˜1Š}ˆ}Ý ‘{”{ A q­8°A©;¬;¡Ñ$7Ñ8Ð8ð ð ”	˜!”ˆAØ˜1Š}ˆ}Ý  1‘~”~ q¨!­h°q¸!©n¬nÑ*<Ñ'=Ñ>Ð>å   xÑ0Ô0Ð0r1   c                ó  — | j         d         }t          | j         ¦  «        dk    rt          j        }n| j         d         }|j        r4|dt          j        z  z   j        rdS |dt          j        z  z   j        rdS d S |dz   j        rB|j        r|dt          j        z  z   j        rdS |j        s|dt          j        z  z   j	        rdS d S t          |j        ¦  «        r t          |dz   j        ¦  «        r|j        rdS d S d S d S rˆ  )rC   rJ  r   rÂ   rY   r›   rÌ   ry  r=   re  r   r�   )r/   rm   r™  s      r0   r�   zLambertW._eval_is_extended_real­  s0  € ØŒI�aŒLˆÝˆtŒy‰>Œ>˜QÒÐÝ”ˆAˆAà”	˜!”ˆAØŒ9ð 	Ø�A•a”f‘H‘Ô)ð Ø�tØ�a�œ‘h‘,Ô.ð Ø�uðð à�!‰eŒ_ð 	ØŒ}ð  ! a­¬¡h¡,Ô!;ð Ø�tØÔ!ð  a¨!­A¬F©(¡lÔ%Bð Ø�uðð å�q”yÑ!Ô!ð 	¥i°°Q±´Ñ&@Ô&@ð 	ØÔ!ð Ø�uð	ð 	ð 	ð 	ðð r1   c                ó&   — | j         d         j        S r„   )rC   rU   r.   s    r0   rW   zLambertW._eval_is_finiteÁ  s   € ØŒy˜Œ|Ô%Ð%r1   c                ó¼   —  | j         | j        Ž }|j         | j         k    r7t          | j        d         j        ¦  «        r| j        d         j        rdS d S d S |j        S r�  )r?   rC   r   rY   rþ   r‰  s     r0   rÿ   zLambertW._eval_is_algebraicÄ  sm   € ØˆDŒI�t”yÐ!ˆØŒ6�T”YÒÐÝ˜œ 1œÔ-Ñ.Ô.ð °4´9¸Q´<Ô3Lð Ø�uðð ð ð ð ”>Ð!r1   c                óî   — t          | j        ¦  «        dk    r\| j        d         } |j        |d¦  «                             ¦   «         }|j        s|                      |¦  «        S  |j        |¦  «        S d S )Nr2   r   )rJ  rC   r'  r9  rY   r?   r#  )r/   rm   r  r)  r   r+  s         r0   r:  zLambertW._eval_as_leading_termÌ  sr   € ÝˆtŒy‰>Œ>˜QÒÐØ”)˜A”,ˆCØ�3”8˜A˜q‘>”>×(Ò(Ñ*Ô*ˆDØ”<ð 'Ø—y’y ‘”Ð&Ø&�3Ô& qÑ)Ô)Ð)ð Ðr1   r   c           
     óü  •‡
— t          | j        ¦  «        dk    rÀddlm} ddlm} | j        d                              |||¬¦  «        Š
 ‰
j        ||¬¦  «        }d}|j        r|j	        } |||z  ¦  «        dk    r?t          ˆ
fd„t          d |||z  ¦  «        ¦  «        D ¦   «         Ž }	t          |	¦  «        }	nt          j        }	|	 |||z  |¦  «        z   S t          ¦   «                              |||¦  «        S )Nr2   r   r  r  r  r  c                ó”   •— g | ]D}t           j         |d z
  z  t          |¦  «        |dz
  z  z  t          |d z
  ¦  «        z  ‰|z  z  ‘ŒES )r2   r¥   )r   r<   r   r   )rl   r™  r   s     €r0   rK  z*LambertW._eval_nseries.<locals>.<listcomp>Þ  sp   ø€ ð Uð Uð UØ67õ œE˜6 Q¨¡UÑ+­G°A©J¬J¸¸Q¹Ñ,?Ñ?Ý# A¨¡EÑ*Ô*ñ+Ø+.°©6ñ2ð Uð Uð Ur1   )rJ  rC   r  r  r  r  r4  r#  rë   r,   r   r3  r   r   rÂ   rð   r  )r/   rm   rÞ   r  r)  r  r  ÚltÚlter[   r   r˜   s             @€r0   r  zLambertW._eval_nseriesÔ  s8  øø€ ÝˆtŒy‰>Œ>˜QÒÐØCÐCÐCÐCÐCÐCØ0Ð0Ð0Ð0Ð0Ð0Ø”)˜A”,×&Ò& q¨A°DÐ&Ñ9Ô9ˆCØ$�Ô$ Q¨TÐ2Ñ2Ô2ˆBØˆCØŒyð Ø”f�Øˆw�q˜‘u‰~Œ~ Ò"Ð"Ýð Uð Uð Uð UÝ;@ÀÀGÀGÈAÈcÉEÁNÄNÑ;SÔ;SðUñ Uô Uð V�å& qÑ)Ô)��å”F�à�u�u˜Q ™T 1‘~”~Ñ%Ð%Ý‰wŒw×$Ò$ Q¨¨4Ñ0Ô0Ð0r1   c                ó¦   — | j         d         }t          | j         ¦  «        dk    r|j        S t          |j        | j         d         j        g¦  «        S r‘  )rC   rJ  rY   r   )r/   rm   s     r0   r`   zLambertW._eval_is_zeroç  sF   € ØŒI�aŒLˆÝˆtŒy‰>Œ>˜QÒÐØ”9Ðå˜aœi¨¬°1¬Ô)=Ð>Ñ?Ô?Ð?r1   r+   rx   rO  )ry   rz   r{   r’   r   r   r›   r}   r~   rP  rÚ   r¡   r�   rW   rÿ   r:  r  r`   rR  rS  s   @r0   rÀ  rÀ  T  sò   ø€ € € € € ð!ð !ðD �s˜1œ6 2°Ð6Ñ6Ô6Ð6¸Ô8IÐJ€Nàð!#ð !#ð !#ñ „[ð!#ðF1ð 1ð 1ð 1ð ð ð ð(&ð &ð &ð"ð "ð "ð*ð *ð *ð1ð 1ð 1ð 1ð 1ð 1ð&@ð @ð @ð @ð @ð @ð @r1   rÀ  c            	     óÐ  — i t          d¦  «        t          dz  “dt          dz  “t          ddt          d¦  «        z  z
  ¦  «        t          dz  “t          d¦  «        t          dt          d¦  «        z
  ¦  «        z  dt          d¦  «        z   z  t          dz  “t          ddt          d¦  «        z  z   ¦  «        t          t          dd¦  «        z  “t          d¦  «        t          t          d¦  «        dz   ¦  «        z  dt          d¦  «        z   z  t          t          dd¦  «        z  “t          d¦  «        dz  t          dz  “t          d¦  «        dz
  t          dz  “t          dt          d¦  «        z
  ¦  «        t          t          d¦  «        dz   ¦  «        z  t          dz  “t          d¦  «        dz   t          t          dd¦  «        z  “t          t          d¦  «        dz   ¦  «        t          dt          d¦  «        z
  ¦  «        z  t          t          dd¦  «        z  “t          ddt          d¦  «        z  dz  z
  ¦  «        t          d	z  “t          d¦  «         t          d	¦  «        z   dt          t          d¦  «        dz   ¦  «        z  z  t          d	z  “t          ddt          d¦  «        z  dz  z   ¦  «        t          t          dd	¦  «        z  “t          d¦  «        t          d	¦  «        z   dt          dt          d¦  «        z
  ¦  «        z  z  t          t          dd	¦  «        z  “dt          d¦  «        z
  t          d
z  “dt          d¦  «        z   dt          d¦  «        z   z  t          d
z  “dt          d¦  «        z   t          t          dd
¦  «        z  dt          d¦  «        z   dt          d¦  «        z   z  t          t          dd
¦  «        z  i¥S )Nr  r2   r  r¬  r¥   rÝ   r  é   é
   é   )r$   r   r   r€   r1   r0   rg  rg  ï  sR  € ðåˆQ‰Œ•�a‘ðð 	
�2�‰6ðõ 	ˆQ�•T˜!‘W”W‘‰_ÑÔ�r A™vð	õ
 	ˆQ‰Œ•$�q�4 ™7œ7‘{Ñ#Ô#Ñ# q­4°©7¬7¡{Ñ3µR¸!±Vðõ 	ˆQ�•T˜!‘W”W‘‰_ÑÔ�r¥H¨Q°¡N¤NÑ2ðõ 	ˆQ‰Œ•$•t˜A‘w”w ‘{Ñ#Ô#Ñ# r­D°©G¬G¡|Ñ4µb½8ÀAÀq¹>¼>Ñ6Iðõ 	ˆQ‰Œ�!‰•R˜!‘Vðõ 	ˆQ‰Œ�!‰•R˜!‘Vðõ 	ˆQ•�a‘”‰[ÑÔ�D¥ a¡¤¨1¡Ñ-Ô-Ñ-­r°A©vðõ 	ˆQ‰Œ�!‰•R�( 1 a™.œ.Ñ(ðõ 	�T�!‰WŒW�q‰[ÑÔ�D ¥T¨!¡W¤W¡Ñ-Ô-Ñ-­rµH¸QÀ±N´NÑ/Bðõ 	ˆQ�•T˜!‘W”W‘˜q‘Ñ Ñ!Ô!¥2¨¡7ðõ ˆq‰'Œ'ˆ•D˜‘H”HÑ	 ¥T­$¨q©'¬'°A©+Ñ%6Ô%6Ñ!6Ñ7½¸b¹ðõ 	ˆQ�•T˜!‘W”W‘˜q‘Ñ Ñ!Ô!¥2­°°B©¬Ñ#7ðõ  
ˆa‰Œ•4˜‘8”8Ñ	 ¥D¨­T°!©W¬W©Ñ$5Ô$5Ñ 5Ñ6½½XÀaÈ¹_¼_Ñ8Lð!ð" 	
�D�‰GŒG‰•R˜"‘Wð#ð$ 
�d�1‰gŒg‰˜!�d 1™gœg™+Ñ&­¨R©ð%ð& 	
�D�‰GŒG‰•R�( 1 b™/œ/Ñ)Ø	
�T�!‰WŒW‰˜�d 1™gœg™Ñ&­­X°a¸©_¬_Ñ(<ð)ð ð r1   N)@Ú
__future__r   Ú	itertoolsr   Úsympy.core.addr   Úsympy.core.cacher   Úsympy.core.exprr   Úsympy.core.functionr   r	   r
   r   r   r   r   r   Úsympy.core.logicr   r   r   Úsympy.core.mulr   Úsympy.core.numbersr   r   r   r   Úsympy.core.parametersr   Úsympy.core.powerr   Úsympy.core.singletonr   r®  r   r   Úsympy.core.sympifyr   Ú(sympy.functions.combinatorial.factorialsr   r  r   r    r!   r"   r#   Ú(sympy.functions.elementary.miscellaneousr$   Úsympy.ntheoryr%   r&   Úsympy.ntheory.factor_r'   r)   r‚   r–   r,   r]  r5   rÀ  rg  r€   r1   r0   ú<module>rá     s�  ðØ "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø  Ð  Ð  Ð  Ð  Ð  ðNð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nð Nà ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø Ð Ð Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø  Ð  Ð  Ð  Ð  Ð  Ø "Ð "Ð "Ð "Ð "Ð "Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø &Ð &Ð &Ð &Ð &Ð &Ø >Ð >Ð >Ð >Ð >Ð >Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø +Ð +Ð +Ð +Ð +Ð +ðeð eð eð eð eˆoñ eô eð eðPF)ð F)ð F)ð F)ð F)�ñ F)ô F)ð F)ðREð Eð Eð Eð Eˆmñ Eô Eð Eðl@ð l@ð l@ð l@ð l@ˆ'˜Wð l@ñ l@ô l@ð l@ð^ð ð ð*rð rð rð rð rˆ/ñ rô rð rðjX@ð X@ð X@ð X@ð X@ˆñ X@ô X@ð X@ðv 	ðð ñ 	„ðð ð r1   