Ë
    O/æjº3 ã                   ó   — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	m
Z
 ddl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mZmZ ddlmZm Z m!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+ ddl,m-Z-m.Z. ddl/m0Z0m1Z1m2Z2 ddl3m4Z4m5Z5 dAd„Z6 G d„ de«      Z7 G d„ de«      Z8 G d„ de«      Z9 G d„ de«      Z: G d„ de«      Z; G d„ d e«      Z< G d!„ d"e«      Z= G d#„ d$e«      Z> G d%„ d&e«      Z?d'„ Z@ G d(„ d)e«      ZA G d*„ d+e«      ZB G d,„ d-e«      ZC G d.„ d/eC«      ZD G d0„ d1eC«      ZE G d2„ d3eC«      ZF G d4„ d5eC«      ZG G d6„ d7e«      ZH G d8„ d9eH«      ZI G d:„ d;eH«      ZJ G d<„ d=e«      ZK G d>„ d?e«      ZLy@)Bz� This module contains various functions that are special cases
    of incomplete gamma functions. It should probably be renamed. é    )Ú
EulerGamma)ÚAdd)Úcacheit)ÚFunctionÚArgumentIndexErrorÚ
expand_mul)ÚIÚpiÚRational)Úis_eq)ÚPow)ÚS)ÚDummyÚuniquely_named_symbol)Úsympify)Ú	factorialÚ
factorial2ÚRisingFactorial)Ú
polar_liftÚreÚ
unpolarify)ÚceilingÚfloor)ÚsqrtÚroot)ÚexpÚlogÚ	exp_polar)ÚcoshÚsinh)ÚcosÚsinÚsinc)ÚhyperÚmeijergc                 óR  — | j                   d   j                  r<|r(d|d<    | j                  |fi |¤Žt        j                  fS | t        j                  fS |r2 | j                   d   j                  |fi |¤Žj                  «       \  }}n | j                   d   j                  «       \  }}| j                  |t        |z  z   «      | j                  |t        |z  z
  «      z   dz  }| j                  |t        |z  z   «      | j                  |t        |z  z
  «      z
  dt        z  z  }||fS )Nr   FÚcomplexé   )ÚargsÚis_extended_realÚexpandr   ÚZeroÚas_real_imagÚfuncr	   )ÚselfÚdeepÚhintsÚxÚyr   Úims          új/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/sympy/functions/special/error_functions.pyÚreal_to_real_as_real_imagr6      s  € Ø‡y�y��|×$Ò$ÙØ$ˆE�)ÑØ�D—K‘K Ñ.¨Ñ.´·±Ð7Ð7àœ!Ÿ&™&�>Ð!ÙØ"ˆt�y‰y˜‰|×"Ñ" 4Ñ1¨5Ñ1×>Ñ>Ó@‰ˆ‰1à�y‰y˜‰|×(Ñ(Ó*‰ˆˆ1Ø
�)‰)�Aœ˜!™‘GÓ
˜tŸy™y¨¬Q¨q©S©Ó1Ñ
1°1Ñ	4€BØ
�)‰)�Aœ˜!™‘GÓ
˜tŸy™y¨¬Q¨q©S©Ó1Ñ
1°A´a±CÑ	8€BØ�ˆ8€Oó    c                   ó¼   ‡ — e Zd ZdZdZdd„Zdd„Zed„ «       Ze	e
d„ «       «       Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Zdd„Zˆ fd„ZeZˆ xZS )Úerfa.  
    The Gauss error function.

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

    This function is defined as:

    .. math ::
        \mathrm{erf}(x) = \frac{2}{\sqrt{\pi}} \int_0^x e^{-t^2} \mathrm{d}t.

    Examples
    ========

    >>> from sympy import I, oo, erf
    >>> from sympy.abc import z

    Several special values are known:

    >>> erf(0)
    0
    >>> erf(oo)
    1
    >>> erf(-oo)
    -1
    >>> erf(I*oo)
    oo*I
    >>> erf(-I*oo)
    -oo*I

    In general one can pull out factors of -1 and $I$ from the argument:

    >>> erf(-z)
    -erf(z)

    The error function obeys the mirror symmetry:

    >>> from sympy import conjugate
    >>> conjugate(erf(z))
    erf(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(erf(z), z)
    2*exp(-z**2)/sqrt(pi)

    We can numerically evaluate the error function to arbitrary precision
    on the whole complex plane:

    >>> erf(4).evalf(30)
    0.999999984582742099719981147840

    >>> erf(-4*I).evalf(30)
    -1296959.73071763923152794095062*I

    See Also
    ========

    erfc: Complementary error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function
    .. [2] https://dlmf.nist.gov/7
    .. [3] https://mathworld.wolfram.com/Erf.html
    .. [4] https://functions.wolfram.com/GammaBetaErf/Erf

    Tc                 ó‚   — |dk(  r/dt        | j                  d   dz   «      z  t        t        «      z  S t	        | |«      ‚©Né   r(   r   ©r   r)   r   r
   r   ©r/   Úargindexs     r5   Úfdiffz	erf.fdiff   s>   € Ø�qŠ=Ø”S˜$Ÿ)™) A™,¨™/Ð)Ó*Ñ*¬4´«8Ñ3Ð3ä$ T¨8Ó4Ð4r7   c                 ó   — t         S ©z8
        Returns the inverse of this function.

        ©Úerfinvr>   s     r5   Úinversezerf.inverse†   s	   € ô
 ˆr7   c                 ó  — |j                   r‚|t        j                  u rt        j                  S |t        j                  u rt        j                  S |t        j
                  u rt        j                  S |j                  rt        j                  S t        |t        «      r|j                  d   S t        |t        «      r t        j                  |j                  d   z
  S |j                  rt        j                  S t        |t        «      r(|j                  d   j                  r|j                  d   S |j                  t        «      }|t        j                  t        j
                  fv r|S |j!                  «       r
 | | «       S y ©Nr   r<   )Ú	is_Numberr   ÚNaNÚInfinityÚOneÚNegativeInfinityÚNegativeOneÚis_zeror,   Ú
isinstancerD   r)   ÚerfcinvÚerf2invÚextract_multiplicativelyr	   Úcould_extract_minus_sign©ÚclsÚargÚts      r5   Úevalzerf.eval�   s  € à�=Š=Ø”a—e‘e‰|Ü—u‘u�ØœŸ
™
Ñ"Ü—u‘u�Øœ×*Ñ*Ñ*Ü—}‘}Ð$Ø—’Ü—v‘v�ä�cœ6Ô"Ø—H‘H˜Q‘KÐä�cœ7Ô#Ü—5‘5˜3Ÿ8™8 A™;Ñ&Ð&à�;Š;Ü—6‘6ˆMô �cœ7Ô#¨¯©°©×(;Ò(;Ø—8‘8˜A‘;Ðð ×(Ñ(¬Ó+ˆØ”—‘œQ×/Ñ/Ð0Ñ0ØˆJð ×'Ñ'Ô)Ù˜˜“I�:Ðð *r7   c                 óH  — | dk  s| dz  dk(  rt         j                  S t        |«      }t        | dz
  t        d«      z  «      }t	        |«      dkD  r|d    |dz  z  | dz
  z  | |z  z  S dt         j
                  |z  z  || z  z  | t        |«      z  t        t        «      z  z  S ©Nr   r(   r<   éþÿÿÿ)	r   r,   r   r   ÚlenrM   r   r   r
   ©Únr2   Úprevious_termsÚks       r5   Útaylor_termzerf.taylor_term¯   s¦   € ð ˆqŠ5�A˜‘E˜Q’JÜ—6‘6ˆMä˜“
ˆAÜ�q˜1‘uœa ›d‘lÓ#ˆAÜ�>Ó" QÒ&Ø& rÑ*Ð*¨Q°©TÑ1°Q¸±UÑ;¸Q¸q¹SÑAÐAàœŸ™¨Ñ)Ñ)¨A¨q©DÑ0°!´I¸a³L±.ÄÄbÃÑ2IÑJÐJr7   c                 óZ   — | j                  | j                  d   j                  «       «      S ©Nr   ©r.   r)   Ú	conjugate©r/   s    r5   Ú_eval_conjugatezerf._eval_conjugate¼   ó"   € Ø�y‰y˜Ÿ™ 1™×/Ñ/Ó1Ó2Ð2r7   c                 ó4   — | j                   d   j                  S rc   ©r)   r*   rf   s    r5   Ú_eval_is_realzerf._eval_is_real¿   ó   € Ø�y‰y˜‰|×,Ñ,Ð,r7   c                 óh   — | j                   d   j                  ry| j                   d   j                  S ©Nr   T)r)   Ú	is_finiter*   rf   s    r5   Ú_eval_is_finitezerf._eval_is_finiteÂ   s*   € Ø�9‰9�Q‰<×!Ò!Øà—9‘9˜Q‘<×0Ñ0Ð0r7   c                 ó4   — | j                   d   j                  S rc   ©r)   rN   rf   s    r5   Ú_eval_is_zerozerf._eval_is_zeroÈ   ó   € Ø�y‰y˜‰|×#Ñ#Ð#r7   c                 ó¨   — ddl m} t        |dz  «      |z  t        j                   |t        j
                  |dz  «      t        t        «      z  z
  z  S ©Nr   ©Ú
uppergammar(   ©Ú'sympy.functions.special.gamma_functionsrx   r   r   rK   ÚHalfr
   ©r/   ÚzÚkwargsrx   s       r5   Ú_eval_rewrite_as_uppergammazerf._eval_rewrite_as_uppergammaË   s=   € ÝFÜ�A�q‘D‹z˜!‰|œQŸU™U¡Z´·±¸¸1¹Ó%=¼dÄ2»hÑ%FÑFÑGÐGr7   c                 óÂ   — t         j                  t        z
  |z  t        t        «      z  }t         j                  t        z   t        |«      t        t        |«      z  z
  z  S ©N©r   rK   r	   r   r
   ÚfresnelcÚfresnels©r/   r}   r~   rV   s       r5   Ú_eval_rewrite_as_fresnelszerf._eval_rewrite_as_fresnelsÏ   ó@   € Ü�u‰u”q‰y˜!‰mœD¤›HÑ$ˆÜ—‘œ‘	œH S›M¬A¬h°s«m©OÑ;Ñ<Ð<r7   c                 óÂ   — t         j                  t        z
  |z  t        t        «      z  }t         j                  t        z   t        |«      t        t        |«      z  z
  z  S r�   r‚   r…   s       r5   Ú_eval_rewrite_as_fresnelczerf._eval_rewrite_as_fresnelcÓ   r‡   r7   c           
      ó‚   — |t        t        «      z  t        t        j                  gg dgt        dd«      g|dz  «      z  S ©Nr   éÿÿÿÿr(   ©r   r
   r%   r   r{   r   ©r/   r}   r~   s      r5   Ú_eval_rewrite_as_meijergzerf._eval_rewrite_as_meijerg×   s7   € Ø””b“‰zœ'¤1§6¡6 (¨B°°´h¸rÀ1³oÐ5FÈÈ1ÉÓMÑMÐMr7   c                 ó’   — d|z  t        t        «      z  t        t        j                  gdt        j                  z  g|dz   «      z  S ©Nr(   é   ©r   r
   r$   r   r{   rŽ   s      r5   Ú_eval_rewrite_as_hyperzerf._eval_rewrite_as_hyperÚ   s8   € Ø�‰s”4œ“8‰|œE¤1§6¡6 (¨Q¬q¯v©v©X¨J¸¸A¹¸Ó>Ñ>Ð>r7   c                 ó†   — t        |dz  «      |z  |t        t        j                  |dz  «      z  t        t        «      z  z
  S ©Nr(   ©r   Úexpintr   r{   r
   rŽ   s      r5   Ú_eval_rewrite_as_expintzerf._eval_rewrite_as_expintÝ   s6   € Ü�A�q‘D‹z˜!‰|˜a¤¤q§v¡v¨q°!©tÓ 4Ñ4´T¼"³XÑ=Ñ=Ð=r7   c                 ó  — ddl m} |rW |||t        j                  «      }|t        j                  u r-t        j
                  t        | «      t        |dz   «      z  z   S t        j                  t        |«      t        |dz   «      z  z
  S )Nr   )Úlimitr(   )	Úsympy.series.limitsr›   r   rJ   rL   rM   Ú_erfsr   rK   )r/   r}   Úlimitvarr~   r›   Úlims         r5   Ú_eval_rewrite_as_tractablezerf._eval_rewrite_as_tractableà   sn   € Ý-ÙÙ˜˜8¤Q§Z¡ZÓ0ˆCØ”a×(Ñ(Ñ(Ü—}‘}¤u¨a¨R£y´°a¸±d°U³Ñ';Ñ;Ð;Ü�u‰u”u˜Q“x¤ Q¨¡T E£
Ñ*Ñ*Ð*r7   c                 ó:   — t         j                  t        |«      z
  S r�   )r   rK   ÚerfcrŽ   s      r5   Ú_eval_rewrite_as_erfczerf._eval_rewrite_as_erfcè   s   € Ü�u‰u”t˜A“w‰Ðr7   c                 ó6   — t          t        t         |z  «      z  S r�   ©r	   ÚerfirŽ   s      r5   Ú_eval_rewrite_as_erfizerf._eval_rewrite_as_erfië   s   € Üˆr”$”q˜‘s“)‰|Ðr7   c                 óB  — | j                   d   j                  |||¬«      }|j                  |d«      }|t        j                  u r|j                  |d|dk(  rdnd¬«      }||j                  v r!|j                  rd|z  t        t        «      z  S | j                  |«      S )Nr   ©ÚlogxÚcdirrŒ   ú-ú+©Údirr(   )r)   Úas_leading_termÚsubsr   ÚComplexInfinityr›   Úfree_symbolsrN   r   r
   r.   ©r/   r2   rª   r«   rV   Úarg0s         r5   Ú_eval_as_leading_termzerf._eval_as_leading_termî   sŽ   € Ø�i‰i˜‰l×*Ñ*¨1°4¸dÐ*ÓCˆØ�x‰x˜˜1‹~ˆà”1×$Ñ$Ñ$Ø—9‘9˜Q ¨d°bªj¡s¸c�9ÓBˆDØ�× Ñ Ñ  T§\¢\Ø�S‘5œœb›‘>Ð!à—9‘9˜T“?Ð"r7   c                 ót  •— ddl m} |d   }|t        j                  t        j                  fv rÙ| j
                  d   }	 |j                  |«      \  }}	|	 }	|	j                  r¦t        ||	z  «      }
t        |
«      D �cg c]9  }t        j                  |z  t        d|z  dz
  «      z  |d|z  dz   z  d|z  z  z  ‘Œ; c} |d||
z  z  |«      gz   }t        j                  t        |dz   «      t!        t"        «      z  t%        |Ž z  z
  S t&        t(        | �W  ||||«      S # t        t        f$ r | cY S w xY wc c}w ©Nr   ©ÚOrderr(   r<   )Úsympy.series.orderrº   r   rJ   rL   r)   ÚleadtermÚ
ValueErrorÚNotImplementedErrorÚis_positiver   ÚrangerM   r   rK   r   r   r
   r   Úsuperr9   Ú_eval_aseries)r/   r^   Úargs0r2   rª   rº   Úpointr}   Ú_ÚexÚnewnr`   ÚsÚ	__class__s                €r5   rÂ   zerf._eval_aseriesù   s6  ø€ Ý,Ø�a‘ˆà”Q—Z‘Z¤×!3Ñ!3Ð4Ñ4Ø—	‘	˜!‘ˆAðØŸ
™
 1›‘��2ð �ˆBØ�~Š~Ü˜q ™t“}�ä# D›kö+Øô —]‘] AÑ%¬
°1°Q±3¸±7Ó(;Ñ;¸qÀ1ÀQÁ3ÈÁ7¹|ÈaÐQRÉdÑ?RÓSò +Ù.3°A°a¸±g±I¸qÓ.AÐ-BñC�ä—u‘u¤ Q¨¡T E£
¬4´«8Ñ 3´s¸A°wÑ>Ñ>Ð>ä”S˜$Ñ-¨a°¸¸4Ó@Ð@øô Ô 3Ð4ò Ø’ðüò+s   ¿D Á=>D5ÄD2Ä1D2©r<   r�   rc   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
unbranchedr@   rE   ÚclassmethodrX   Ústaticmethodr   ra   rg   rk   rp   rs   r   r†   r‰   r�   r”   r™   r    r£   r§   r¶   rÂ   r6   r-   Ú__classcell__©rÉ   s   @r5   r9   r9   0   s£   ø„ ñJðX €Jó5óð ñó ððB Øñ	Kó ó ð	Kò3ò-ò1ò$òHò=ò=òNò?ò>ó+òòó	#ôAð* -„Lr7   r9   c                   óª   — e Zd ZdZdZdd„Zdd„Zed„ «       Ze	e
d„ «       «       Zd„ Zd„ Zdd
„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„ZeZd„ Zy	)r¢   a&  
    Complementary Error Function.

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

    The function is defined as:

    .. math ::
        \mathrm{erfc}(x) = \frac{2}{\sqrt{\pi}} \int_x^\infty e^{-t^2} \mathrm{d}t

    Examples
    ========

    >>> from sympy import I, oo, erfc
    >>> from sympy.abc import z

    Several special values are known:

    >>> erfc(0)
    1
    >>> erfc(oo)
    0
    >>> erfc(-oo)
    2
    >>> erfc(I*oo)
    -oo*I
    >>> erfc(-I*oo)
    oo*I

    The error function obeys the mirror symmetry:

    >>> from sympy import conjugate
    >>> conjugate(erfc(z))
    erfc(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(erfc(z), z)
    -2*exp(-z**2)/sqrt(pi)

    It also follows

    >>> erfc(-z)
    2 - erfc(z)

    We can numerically evaluate the complementary error function to arbitrary
    precision on the whole complex plane:

    >>> erfc(4).evalf(30)
    0.0000000154172579002800188521596734869

    >>> erfc(4*I).evalf(30)
    1.0 - 1296959.73071763923152794095062*I

    See Also
    ========

    erf: Gaussian error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function
    .. [2] https://dlmf.nist.gov/7
    .. [3] https://mathworld.wolfram.com/Erfc.html
    .. [4] https://functions.wolfram.com/GammaBetaErf/Erfc

    Tc                 ó‚   — |dk(  r/dt        | j                  d   dz   «      z  t        t        «      z  S t	        | |«      ‚)Nr<   r[   r   r(   r=   r>   s     r5   r@   z
erfc.fdiff`  s>   € Ø�qŠ=Ø”c˜4Ÿ9™9 Q™<¨™?Ð*Ó+Ñ+¬D´«HÑ4Ð4ä$ T¨8Ó4Ð4r7   c                 ó   — t         S rB   ©rP   r>   s     r5   rE   zerfc.inversef  s	   € ô
 ˆr7   c                 ó^  — |j                   r`|t        j                  u rt        j                  S |t        j                  u rt        j                  S |j
                  rt        j                  S t        |t        «      r t        j                  |j                  d   z
  S t        |t        «      r|j                  d   S |j
                  rt        j                  S |j                  t        «      }|t        j                  t        j                  fv r| S |j                  «       rd | | «      z
  S y )Nr   r(   )rH   r   rI   rJ   r,   rN   rK   rO   rD   r)   rP   rR   r	   rL   rS   rT   s      r5   rX   z	erfc.evalm  sÞ   € à�=Š=Ø”a—e‘e‰|Ü—u‘u�ØœŸ
™
Ñ"Ü—v‘v�Ø—’Ü—u‘u�ä�cœ6Ô"Ü—5‘5˜3Ÿ8™8 A™;Ñ&Ð&ä�cœ7Ô#Ø—8‘8˜A‘;Ðà�;Š;Ü—5‘5ˆLð ×(Ñ(¬Ó+ˆØ”—‘œQ×/Ñ/Ð0Ñ0Ø�4ˆKð ×'Ñ'Ô)Ø‘s˜C˜4“y‘=Ð ð *r7   c                 ór  — | dk(  rt         j                  S | dk  s| dz  dk(  rt         j                  S t        |«      }t	        | dz
  t        d«      z  «      }t        |«      dkD  r|d    |dz  z  | dz
  z  | |z  z  S dt         j                  |z  z  || z  z  | t        |«      z  t        t        «      z  z  S rZ   )
r   rK   r,   r   r   r\   rM   r   r   r
   r]   s       r5   ra   zerfc.taylor_term‰  s¶   € ð �Š6Ü—5‘5ˆLØ�ŠU�a˜!‘e˜q’jÜ—6‘6ˆMä˜“
ˆAÜ�q˜1‘uœa ›d‘lÓ#ˆAÜ�>Ó" QÒ&Ø& rÑ*Ð*¨Q°©TÑ1°Q¸±UÑ;¸Q¸q¹SÑAÐAàœ!Ÿ-™-¨Ñ*Ñ*¨Q°©TÑ1°1´Y¸q³\±>Ä$ÄrÃ(Ñ3JÑKÐKr7   c                 óZ   — | j                  | j                  d   j                  «       «      S rc   rd   rf   s    r5   rg   zerfc._eval_conjugate˜  rh   r7   c                 ó4   — | j                   d   j                  S rc   rj   rf   s    r5   rk   zerfc._eval_is_real›  rl   r7   Nc                 óP   — | j                  t        «      j                  dd|¬«      S ©NÚ	tractableT)r0   rž   ©Úrewriter9   ©r/   r}   rž   r~   s       r5   r    zerfc._eval_rewrite_as_tractablež  ó#   € Ø�|‰|œCÓ ×(Ñ(¨¸4È(Ð(ÓSÐSr7   c                 ó:   — t         j                  t        |«      z
  S r�   )r   rK   r9   rŽ   s      r5   Ú_eval_rewrite_as_erfzerfc._eval_rewrite_as_erf¡  s   € Ü�u‰u”s˜1“v‰~Ðr7   c                 óV   — t         j                  t        t        t        |z  «      z  z   S r�   )r   rK   r	   r¦   rŽ   s      r5   r§   zerfc._eval_rewrite_as_erfi¤  s   € Ü�u‰u”qœœa ™c›‘{Ñ"Ð"r7   c                 óä   — t         j                  t        z
  |z  t        t        «      z  }t         j                  t         j                  t        z   t        |«      t        t        |«      z  z
  z  z
  S r�   r‚   r…   s       r5   r†   zerfc._eval_rewrite_as_fresnels§  sI   € Ü�u‰u”q‰y˜!‰mœD¤›HÑ$ˆÜ�u‰uœŸ™¤™	¤H¨S£M´A´h¸s³m±OÑ$CÑDÑDÐDr7   c                 óä   — t         j                  t        z
  |z  t        t        «      z  }t         j                  t         j                  t        z   t        |«      t        t        |«      z  z
  z  z
  S r�   r‚   r…   s       r5   r‰   zerfc._eval_rewrite_as_fresnelc«  sI   € Ü�u‰u”Q‰w˜‰kœ$œr›(Ñ"ˆÜ�u‰uœŸ™¤™	¤H¨S£M´A´h¸s³m±OÑ$CÑDÑDÐDr7   c                 ó¤   — t         j                  |t        t        «      z  t	        t         j
                  gg dgt        dd«      g|dz  «      z  z
  S r‹   )r   rK   r   r
   r%   r{   r   rŽ   s      r5   r�   zerfc._eval_rewrite_as_meijerg¯  sC   € Ü�u‰u�qœœb›‘z¤'¬1¯6©6¨(°B¸¸¼hÀrÈ1»oÐ=NÐPQÐSTÑPTÓ"UÑUÑUÐUr7   c                 ó´   — t         j                  d|z  t        t        «      z  t	        t         j
                  gdt         j
                  z  g|dz   «      z  z
  S r‘   )r   rK   r   r
   r$   r{   rŽ   s      r5   r”   zerfc._eval_rewrite_as_hyper²  sA   € Ü�u‰u�q˜‘sœ4¤›8‘|¤E¬1¯6©6¨(°Q´q·v±v±X°JÀÀAÁÀÓ$FÑFÑFÐFr7   c                 óÊ   — ddl m} t        j                  t	        |dz  «      |z  t        j                   |t        j
                  |dz  «      t	        t        «      z  z
  z  z
  S rv   )rz   rx   r   rK   r   r{   r
   r|   s       r5   r   z erfc._eval_rewrite_as_uppergammaµ  sF   € ÝFÜ�u‰u”t˜A˜q™D“z !‘|¤Q§U¡U©Z¼¿¹ÀÀ1ÁÓ-EÄdÌ2ÃhÑ-NÑ%NÑOÑOÐOr7   c                 ó¨   — t         j                  t        |dz  «      |z  z
  |t        t         j                  |dz  «      z  t        t
        «      z  z   S r–   )r   rK   r   r˜   r{   r
   rŽ   s      r5   r™   zerfc._eval_rewrite_as_expint¹  s?   € Ü�u‰u”t˜A˜q™D“z !‘|Ñ# a¬¬q¯v©v°q¸!±tÓ(<Ñ&<¼TÄ"»XÑ&EÑEÐEr7   c                 ó,   — | j                  t        «      S r�   rß   ©r/   r1   s     r5   Ú_eval_expand_funczerfc._eval_expand_func¼  ó   € Ø�|‰|œCÓ Ð r7   c                 ó  — | j                   d   j                  |||¬«      }|j                  |d«      }|t        j                  u r|j                  |d|dk(  rdnd¬«      }|j                  rt        j                  S | j                  |«      S )Nr   r©   rŒ   r¬   r­   r®   )	r)   r°   r±   r   r²   r›   rN   rK   r.   r´   s         r5   r¶   zerfc._eval_as_leading_term¿  sx   € Ø�i‰i˜‰l×*Ñ*¨1°4¸dÐ*ÓCˆØ�x‰x˜˜1‹~ˆà”1×$Ñ$Ñ$Ø—9‘9˜Q ¨d°bªj¡s¸c�9ÓBˆDØ�<Š<Ü—5‘5ˆLà—9‘9˜T“?Ð"r7   c                 ól   — t         j                  t        | j                  Ž j	                  ||||«      z
  S r�   )r   rK   r9   r)   rÂ   )r/   r^   rÃ   r2   rª   s        r5   rÂ   zerfc._eval_aseriesÌ  s*   € Ü�u‰u”s˜DŸI™I�×4Ñ4°Q¸¸qÀ$ÓGÑGÐGr7   rÊ   r�   rc   )rË   rÌ   rÍ   rÎ   rÏ   r@   rE   rÐ   rX   rÑ   r   ra   rg   rk   r    rä   r§   r†   r‰   r�   r”   r   r™   rî   r¶   r6   r-   rÂ   © r7   r5   r¢   r¢     s¡   „ ñJðX €Jó5óð ñ!ó ð!ð6 ØñLó ó ðLò3ò-óTòò#òEòEòVòGòPòFò!ó	#ð -€LóHr7   r¢   c                   ó´   ‡ — e Zd ZdZdZdd„Zed„ «       Zee	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d„ Zd„ ZeZdd„Zˆ fd„Zˆ xZS )r¦   aí  
    Imaginary error function.

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

    The function erfi is defined as:

    .. math ::
        \mathrm{erfi}(x) = \frac{2}{\sqrt{\pi}} \int_0^x e^{t^2} \mathrm{d}t

    Examples
    ========

    >>> from sympy import I, oo, erfi
    >>> from sympy.abc import z

    Several special values are known:

    >>> erfi(0)
    0
    >>> erfi(oo)
    oo
    >>> erfi(-oo)
    -oo
    >>> erfi(I*oo)
    I
    >>> erfi(-I*oo)
    -I

    In general one can pull out factors of -1 and $I$ from the argument:

    >>> erfi(-z)
    -erfi(z)

    >>> from sympy import conjugate
    >>> conjugate(erfi(z))
    erfi(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(erfi(z), z)
    2*exp(z**2)/sqrt(pi)

    We can numerically evaluate the imaginary error function to arbitrary
    precision on the whole complex plane:

    >>> erfi(2).evalf(30)
    18.5648024145755525987042919132

    >>> erfi(-2*I).evalf(30)
    -0.995322265018952734162069256367*I

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function
    .. [2] https://mathworld.wolfram.com/Erfi.html
    .. [3] https://functions.wolfram.com/GammaBetaErf/Erfi

    Tc                 ó€   — |dk(  r.dt        | j                  d   dz  «      z  t        t        «      z  S t	        | |«      ‚r;   r=   r>   s     r5   r@   z
erfi.fdiff  s;   € Ø�qŠ=Ø”S˜Ÿ™ 1™ q™Ó)Ñ)¬$¬r«(Ñ2Ð2ä$ T¨8Ó4Ð4r7   c                 óâ  — |j                   r`|t        j                  u rt        j                  S |j                  rt        j                  S |t        j
                  u rt        j
                  S |j                  rt        j                  S |j                  «       r
 | | «       S |j                  t        «      }|�¶|t        j
                  u rt        S t        |t        «      rt        |j                  d   z  S t        |t        «      r't        t        j                  |j                  d   z
  z  S t        |t        «      r0|j                  d   j                  rt        |j                  d   z  S y y y rG   )rH   r   rI   rN   r,   rJ   rS   rR   r	   rO   rD   r)   rP   rK   rQ   ©rU   r}   Únzs      r5   rX   z	erfi.eval"  s  € à�;Š;Ø”A—E‘E‰zÜ—u‘u�Ø—’Ü—v‘v�Ø”a—j‘j‘Ü—z‘zÐ!à�9Š9Ü—6‘6ˆMð ×%Ñ%Ô'Ù˜˜“G�8ˆOð ×'Ñ'¬Ó*ˆØˆ>Ø”Q—Z‘ZÑÜ�Ü˜"œfÔ%Ü˜Ÿ™ ™‘|Ð#Ü˜"œgÔ&Üœ!Ÿ%™% "§'¡'¨!¡*Ñ,Ñ-Ð-ä˜"œgÔ&¨2¯7©7°1©:×+=Ò+=Ü˜Ÿ™ ™‘|Ð#ð ,>Ð&ð r7   c                 ó  — | dk  s| dz  dk(  rt         j                  S t        |«      }t        | dz
  t        d«      z  «      }t	        |«      dkD  r|d   |dz  z  | dz
  z  | |z  z  S d|| z  z  | t        |«      z  t        t        «      z  z  S rZ   )r   r,   r   r   r\   r   r   r
   r]   s       r5   ra   zerfi.taylor_term@  s”   € ð ˆqŠ5�A˜‘E˜Q’JÜ—6‘6ˆMä˜“
ˆAÜ�q˜1‘uœa ›d‘lÓ#ˆAÜ�>Ó" QÒ&Ø% bÑ)¨A¨q©DÑ0°A¸±EÑ:¸A¸a¹CÑ@Ð@à˜1˜a™4‘x ¤9¨Q£<¡´´R³Ñ!8Ñ9Ð9r7   c                 óZ   — | j                  | j                  d   j                  «       «      S rc   rd   rf   s    r5   rg   zerfi._eval_conjugateM  rh   r7   c                 ó4   — | j                   d   j                  S rc   rj   rf   s    r5   Ú_eval_is_extended_realzerfi._eval_is_extended_realP  rl   r7   c                 ó4   — | j                   d   j                  S rc   rr   rf   s    r5   rs   zerfi._eval_is_zeroS  rt   r7   c                 óP   — | j                  t        «      j                  dd|¬«      S rÝ   rß   rá   s       r5   r    zerfi._eval_rewrite_as_tractableV  râ   r7   c                 ó6   — t          t        t         |z  «      z  S r�   )r	   r9   rŽ   s      r5   rä   zerfi._eval_rewrite_as_erfY  s   € Üˆr”#”a˜‘c“(‰{Ðr7   c                 óB   — t         t        t         |z  «      z  t         z
  S r�   )r	   r¢   rŽ   s      r5   r£   zerfi._eval_rewrite_as_erfc\  s   € Ü””a˜‘c“‰{œQ‰Ðr7   c                 óÂ   — t         j                  t        z   |z  t        t        «      z  }t         j                  t        z
  t        |«      t        t        |«      z  z
  z  S r�   r‚   r…   s       r5   r†   zerfi._eval_rewrite_as_fresnels_  r‡   r7   c                 óÂ   — t         j                  t        z   |z  t        t        «      z  }t         j                  t        z
  t        |«      t        t        |«      z  z
  z  S r�   r‚   r…   s       r5   r‰   zerfi._eval_rewrite_as_fresnelcc  r‡   r7   c           
      ó„   — |t        t        «      z  t        t        j                  gg dgt        dd«      g|dz   «      z  S r‹   r�   rŽ   s      r5   r�   zerfi._eval_rewrite_as_meijergg  s9   € Ø””b“‰zœ'¤1§6¡6 (¨B°°´h¸rÀ1³oÐ5FÈÈAÉÈÓNÑNÐNr7   c                 ó�   — d|z  t        t        «      z  t        t        j                  gdt        j                  z  g|dz  «      z  S r‘   r“   rŽ   s      r5   r”   zerfi._eval_rewrite_as_hyperj  s6   € Ø�‰s”4œ“8‰|œE¤1§6¡6 (¨Q¬q¯v©v©X¨J¸¸1¹Ó=Ñ=Ð=r7   c                 ó¬   — ddl m} t        |dz   «      |z   |t        j                  |dz   «      t        t
        «      z  t        j                  z
  z  S rv   )rz   rx   r   r   r{   r
   rK   r|   s       r5   r   z erfi._eval_rewrite_as_uppergammam  sA   € ÝFÜ�Q˜‘T�E‹{˜1‰}™j¬¯©°!°Q±$°Ó7¼¼R»Ñ@Ä1Ç5Á5ÑHÑIÐIr7   c                 óŠ   — t        |dz   «      |z  |t        t        j                  |dz   «      z  t        t        «      z  z
  S r–   r—   rŽ   s      r5   r™   zerfi._eval_rewrite_as_expintq  s:   € Ü�Q˜‘T�E‹{˜1‰}˜q¤¬¯©°°A±°Ó!6Ñ6´t¼B³xÑ?Ñ?Ð?r7   c                 ó,   — | j                  t        «      S r�   rß   rí   s     r5   rî   zerfi._eval_expand_funct  rï   r7   c                 ó"  — | j                   d   j                  |||¬«      }|j                  |d«      }||j                  v r!|j                  rd|z  t        t        «      z  S |j                  r| j                  |«      S | j                  |«      S )Nr   r©   r(   )	r)   r°   r±   r³   rN   r   r
   ro   r.   r´   s         r5   r¶   zerfi._eval_as_leading_termy  sy   € Ø�i‰i˜‰l×*Ñ*¨1°4¸dÐ*ÓCˆØ�x‰x˜˜1‹~ˆà�× Ñ Ñ  T§\¢\Ø�S‘5œœb›‘>Ð!Ø�^Š^Ø—9‘9˜T“?Ð"Ø�y‰y˜‹~Ðr7   c                 ó†  •— ddl m} |d   }|t        j                  u r‰| j                  d   }t        |«      D �cg c]%  }t        d|z  dz
  «      d|z  |d|z  dz   z  z  z  ‘Œ' c} |d||z  z  |«      gz   }	t         t        |dz  «      t        t        «      z  t        |	Ž z  z   S t        t        | �;  ||||«      S c c}w r¸   )r»   rº   r   rJ   r)   rÀ   r   r	   r   r   r
   r   rÁ   r¦   rÂ   ©r/   r^   rÃ   r2   rª   rº   rÄ   r}   r`   rÈ   rÉ   s             €r5   rÂ   zerfi._eval_aseriesƒ  sÉ   ø€ Ý,Ø�a‘ˆà”A—J‘JÑØ—	‘	˜!‘ˆAä" 1›Xö'Øô ˜A˜a™C !™GÓ$¨¨1©¨q°1°Q±3¸±7©|Ñ(;Ó<ò 'Ù*/°°!°Q±$±¸Ó*:Ð);ñ<ˆAä�2œ˜Q ™T›¤4¬£8Ñ+¬s°A¨wÑ6Ñ6Ð6ä”T˜4Ñ.¨q°%¸¸DÓAÐAùò	's   »*B>rÊ   r�   rc   )rË   rÌ   rÍ   rÎ   rÏ   r@   rÐ   rX   rÑ   r   ra   rg   rû   rs   r    rä   r£   r†   r‰   r�   r”   r   r™   rî   r6   r-   r¶   rÂ   rÒ   rÓ   s   @r5   r¦   r¦   Ð  s£   ø„ ñGðR €Jó5ð ñ$ó ð$ð: Øñ	:ó ó ð	:ò3ò-ò$óTòòò=ò=òOò>òJò@ò!ð -€Ló÷
Bð 
Br7   r¦   c                   ót   — e Zd Z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„ Zd„ Zd„ Zd„ Zy)Úerf2a?  
    Two-argument error function.

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

    This function is defined as:

    .. math ::
        \mathrm{erf2}(x, y) = \frac{2}{\sqrt{\pi}} \int_x^y e^{-t^2} \mathrm{d}t

    Examples
    ========

    >>> from sympy import oo, erf2
    >>> from sympy.abc import x, y

    Several special values are known:

    >>> erf2(0, 0)
    0
    >>> erf2(x, x)
    0
    >>> erf2(x, oo)
    1 - erf(x)
    >>> erf2(x, -oo)
    -erf(x) - 1
    >>> erf2(oo, y)
    erf(y) - 1
    >>> erf2(-oo, y)
    erf(y) + 1

    In general one can pull out factors of -1:

    >>> erf2(-x, -y)
    -erf2(x, y)

    The error function obeys the mirror symmetry:

    >>> from sympy import conjugate
    >>> conjugate(erf2(x, y))
    erf2(conjugate(x), conjugate(y))

    Differentiation with respect to $x$, $y$ is supported:

    >>> from sympy import diff
    >>> diff(erf2(x, y), x)
    -2*exp(-x**2)/sqrt(pi)
    >>> diff(erf2(x, y), y)
    2*exp(-y**2)/sqrt(pi)

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erfi: Imaginary error function.
    erfinv: Inverse error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://functions.wolfram.com/GammaBetaErf/Erf2/

    c                 óÔ   — | j                   \  }}|dk(  r"dt        |dz   «      z  t        t        «      z  S |dk(  r"dt        |dz   «      z  t        t        «      z  S t	        | |«      ‚)Nr<   r[   r(   )r)   r   r   r
   r   ©r/   r?   r2   r3   s       r5   r@   z
erf2.fdiffÖ  sd   € Ø�y‰y‰ˆˆ1Ø�qŠ=Ø”c˜1˜a™4˜%“j‘=¤¤b£Ñ)Ð)Ø˜Š]Ø”S˜!˜Q™$˜“Z‘<¤¤R£Ñ(Ð(ä$ T¨8Ó4Ð4r7   c                 óè  — t         j                  t         j                  t         j                  f}|t         j                  u s|t         j                  u rt         j                  S ||k(  rt         j                  S ||v s||v rt        |«      t        |«      z
  S t        |t        «      r!|j                  d   |k(  r|j                  d   S |j                  s<|j                  s0|j                  r|j                  s|j                  r#|j                  rt        |«      t        |«      z
  S |j                  «       }|j                  «       }|r|r | | | «       S |s|rt        |«      t        |«      z
  S y rG   )r   rJ   rL   r,   rI   r9   rO   rQ   r)   rN   r*   Úis_infiniterS   )rU   r2   r3   ÚchkÚsign_xÚsign_ys         r5   rX   z	erf2.evalß  s  € ä�z‰zœ1×-Ñ-¬q¯v©vÐ6ˆØ”—‘‰:˜œaŸe™e™Ü—5‘5ˆLØ�!ŠVÜ—6‘6ˆMØ�#‰X˜˜c™Ü�q“6œC ›F‘?Ð"ä�aœÔ! a§f¡f¨Q¡i°1¢nØ—6‘6˜!‘9Ðà�9Š9˜Ÿ	š	 Q×%7Ò%7¸A¿MºMØ×"Ò" q§}¢}Ü�q“6œC ›F‘?Ð"ð ×+Ñ+Ó-ˆØ×+Ñ+Ó-ˆÙ‘vÙ˜˜˜Q˜B“K�<ÐÙ™Ü�q“6œ#˜a›&‘=Ð ð r7   c                 ó’   — | j                  | j                  d   j                  «       | j                  d   j                  «       «      S rG   rd   rf   s    r5   rg   zerf2._eval_conjugateø  s5   € Ø�y‰y˜Ÿ™ 1™×/Ñ/Ó1°4·9±9¸Q±<×3IÑ3IÓ3KÓLÐLr7   c                 ój   — | j                   d   j                  xr | j                   d   j                  S rG   rj   rf   s    r5   rû   zerf2._eval_is_extended_realû  s)   € Ø�y‰y˜‰|×,Ñ,ÒN°·±¸1±×1NÑ1NÐNr7   c                 ó0   — t        |«      t        |«      z
  S r�   ©r9   ©r/   r2   r3   r~   s       r5   rä   zerf2._eval_rewrite_as_erfþ  s   € Ü�1‹vœ˜A›‰Ðr7   c                 ó0   — t        |«      t        |«      z
  S r�   ©r¢   r  s       r5   r£   zerf2._eval_rewrite_as_erfc  s   € Ü�A‹wœ˜a›Ñ Ð r7   c                 óZ   — t         t        t         |z  «      t        t         |z  «      z
  z  S r�   r¥   r  s       r5   r§   zerf2._eval_rewrite_as_erfi  s"   € Ü”$”q˜‘s“)œD¤ 1¡›IÑ%Ñ&Ð&r7   c                 ó|   — t        |«      j                  t        «      t        |«      j                  t        «      z
  S r�   )r9   rà   r„   r  s       r5   r†   zerf2._eval_rewrite_as_fresnels  ó'   € Ü�1‹v�~‰~œhÓ'¬#¨a«&¯.©.¼Ó*BÑBÐBr7   c                 ó|   — t        |«      j                  t        «      t        |«      j                  t        «      z
  S r�   )r9   rà   rƒ   r  s       r5   r‰   zerf2._eval_rewrite_as_fresnelc
  r  r7   c                 ó|   — t        |«      j                  t        «      t        |«      j                  t        «      z
  S r�   )r9   rà   r%   r  s       r5   r�   zerf2._eval_rewrite_as_meijerg  s'   € Ü�1‹v�~‰~œgÓ&¬¨Q«¯©¼Ó)@Ñ@Ð@r7   c                 ó|   — t        |«      j                  t        «      t        |«      j                  t        «      z
  S r�   )r9   rà   r$   r  s       r5   r”   zerf2._eval_rewrite_as_hyper  s'   € Ü�1‹v�~‰~œeÓ$¤s¨1£v§~¡~´eÓ'<Ñ<Ð<r7   c                 óD  — ddl m} t        |dz  «      |z  t        j                   |t        j
                  |dz  «      t        t        «      z  z
  z  t        |dz  «      |z  t        j                   |t        j
                  |dz  «      t        t        «      z  z
  z  z
  S rv   ry   )r/   r2   r3   r~   rx   s        r5   r   z erf2._eval_rewrite_as_uppergamma  s{   € ÝFÜ�Q˜‘T“
˜1‘œaŸe™e¡j´·±¸¸A¹Ó&>¼tÄB»xÑ&GÑGÑHÜ��A‘‹J�q‰Lœ!Ÿ%™%¡*¬Q¯V©V°Q¸±TÓ":¼4Ä»8Ñ"CÑCÑDñEð 	Fr7   c                 ó|   — t        |«      j                  t        «      t        |«      j                  t        «      z
  S r�   )r9   rà   r˜   r  s       r5   r™   zerf2._eval_rewrite_as_expint  s'   € Ü�1‹v�~‰~œfÓ%¬¨A«¯©´vÓ(>Ñ>Ð>r7   c                 ó,   — | j                  t        «      S r�   rß   rí   s     r5   rî   zerf2._eval_expand_func  rï   r7   c                 ó&   — t        | j                  Ž S r�   )r   r)   rf   s    r5   rs   zerf2._eval_is_zero  s   € Ü�d—i‘iÐ Ð r7   N)rË   rÌ   rÍ   rÎ   r@   rÐ   rX   rg   rû   rä   r£   r§   r†   r‰   r�   r”   r   r™   rî   rs   rò   r7   r5   r  r  �  si   „ ñBòJ5ð ñ!ó ð!ò0MòOòò!ò'òCòCòAò=òFò
?ò!ó!r7   r  c                   ó<   — e Zd ZdZdd„Zdd„Zed„ «       Zd„ Zd„ Z	y)	rD   aR  
    Inverse Error Function. The erfinv function is defined as:

    .. math ::
        \mathrm{erf}(x) = y \quad \Rightarrow \quad \mathrm{erfinv}(y) = x

    Examples
    ========

    >>> from sympy import erfinv
    >>> from sympy.abc import x

    Several special values are known:

    >>> erfinv(0)
    0
    >>> erfinv(1)
    oo

    Differentiation with respect to $x$ is supported:

    >>> from sympy import diff
    >>> diff(erfinv(x), x)
    sqrt(pi)*exp(erfinv(x)**2)/2

    We can numerically evaluate the inverse error function to arbitrary
    precision on [-1, 1]:

    >>> erfinv(0.2).evalf(30)
    0.179143454621291692285822705344

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function#Inverse_functions
    .. [2] https://functions.wolfram.com/GammaBetaErf/InverseErf/

    c                 óº   — |dk(  rKt        t        «      t        | j                  | j                  d   «      dz  «      z  t
        j                  z  S t        | |«      ‚©Nr<   r   r(   ©r   r
   r   r.   r)   r   r{   r   r>   s     r5   r@   zerfinv.fdiffT  sI   € Ø�qŠ=Üœ“8œC §	¡	¨$¯)©)°A©,Ó 7¸Ñ :Ó;Ñ;¼A¿F¹FÑBÐBä$ T¨8Ó4Ð4r7   c                 ó   — t         S rB   r  r>   s     r5   rE   zerfinv.inverseZ  s	   € ô
 ˆ
r7   c                 óL  — |t         j                  u rt         j                  S |t         j                  u rt         j                  S |j                  rt         j
                  S |t         j                  u rt         j                  S t        |t        «      r(|j                  d   j                  r|j                  d   S |j                  rt         j
                  S |j                  d«      }|�;t        |t        «      r*|j                  d   j                  r|j                  d    S y y y ©Nr   rŒ   )r   rI   rM   rL   rN   r,   rK   rJ   rO   r9   r)   r*   rR   rö   s      r5   rX   zerfinv.evala  sÖ   € à”—‘‰:Ü—5‘5ˆLØ”!—-‘-ÑÜ×%Ñ%Ð%Ø�YŠYÜ—6‘6ˆMØ”!—%‘%‰ZÜ—:‘:Ðä�aœÔ !§&¡&¨¡)×"<Ò"<Ø—6‘6˜!‘9Ðà�9Š9Ü—6‘6ˆMð ×'Ñ'¨Ó+ˆØˆ>œz¨"¬cÔ2¸¿¹À¹
×7TÒ7TØ—G‘G˜A‘J�;Ðð 8UÐ2ˆ>r7   c                 ó   — t        d|z
  «      S ©Nr<   r×   rŽ   s      r5   Ú_eval_rewrite_as_erfcinvzerfinv._eval_rewrite_as_erfcinvw  s   € Ü�a˜‘c‹lÐr7   c                 ó4   — | j                   d   j                  S rc   rr   rf   s    r5   rs   zerfinv._eval_is_zeroz  rt   r7   NrÊ   )
rË   rÌ   rÍ   rÎ   r@   rE   rÐ   rX   r-  rs   rò   r7   r5   rD   rD   !  s0   „ ñ/ód5óð ñó ðò*ó$r7   rD   c                   óB   — e Zd ZdZd	d„Zd	d„Zed„ «       Zd„ Zd„ Z	d„ Z
y)
rP   a´  
    Inverse Complementary Error Function. The erfcinv function is defined as:

    .. math ::
        \mathrm{erfc}(x) = y \quad \Rightarrow \quad \mathrm{erfcinv}(y) = x

    Examples
    ========

    >>> from sympy import erfcinv
    >>> from sympy.abc import x

    Several special values are known:

    >>> erfcinv(1)
    0
    >>> erfcinv(0)
    oo

    Differentiation with respect to $x$ is supported:

    >>> from sympy import diff
    >>> diff(erfcinv(x), x)
    -sqrt(pi)*exp(erfcinv(x)**2)/2

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function#Inverse_functions
    .. [2] https://functions.wolfram.com/GammaBetaErf/InverseErfc/

    c                 ó¼   — |dk(  rLt        t        «       t        | j                  | j                  d   «      dz  «      z  t
        j                  z  S t        | |«      ‚r&  r'  r>   s     r5   r@   zerfcinv.fdiff«  sK   € Ø�qŠ=Üœ“H�9œS §¡¨4¯9©9°Q©<Ó!8¸!Ñ!;Ó<Ñ<¼Q¿V¹VÑCÐCä$ T¨8Ó4Ð4r7   c                 ó   — t         S rB   r  r>   s     r5   rE   zerfcinv.inverse±  s	   € ô
 ˆr7   c                 ó&  — |t         j                  u rt         j                  S |j                  rt         j                  S |t         j                  u rt         j
                  S |dk(  rt         j                  S |j                  rt         j                  S y r–   )r   rI   rN   rJ   rK   r,   rL   ©rU   r}   s     r5   rX   zerfcinv.eval¸  sd   € à”—‘‰:Ü—5‘5ˆLØ�YŠYÜ—:‘:ÐØ”!—%‘%‰ZÜ—6‘6ˆMØ�!ŠVÜ×%Ñ%Ð%à�9Š9Ü—:‘:Ðð r7   c                 ó   — t        d|z
  «      S r,  rC   rŽ   s      r5   Ú_eval_rewrite_as_erfinvzerfcinv._eval_rewrite_as_erfinvÆ  s   € Ü�a˜‘c‹{Ðr7   c                 ó:   — | j                   d   dz
  j                  S rG   rr   rf   s    r5   rs   zerfcinv._eval_is_zeroÉ  s   € Ø—	‘	˜!‘˜qÑ ×)Ñ)Ð)r7   c                 ó4   — | j                   d   j                  S rc   rr   rf   s    r5   Ú_eval_is_infinitezerfcinv._eval_is_infiniteÌ  rt   r7   NrÊ   )rË   rÌ   rÍ   rÎ   r@   rE   rÐ   rX   r5  rs   r8  rò   r7   r5   rP   rP   ~  s5   „ ñ)óX5óð ñó ðòò*ó$r7   rP   c                   ó,   — e Zd ZdZd„ Zed„ «       Zd„ Zy)rQ   a2  
    Two-argument Inverse error function. The erf2inv function is defined as:

    .. math ::
        \mathrm{erf2}(x, w) = y \quad \Rightarrow \quad \mathrm{erf2inv}(x, y) = w

    Examples
    ========

    >>> from sympy import erf2inv, oo
    >>> from sympy.abc import x, y

    Several special values are known:

    >>> erf2inv(0, 0)
    0
    >>> erf2inv(1, 0)
    1
    >>> erf2inv(0, 1)
    oo
    >>> erf2inv(0, y)
    erfinv(y)
    >>> erf2inv(oo, y)
    erfcinv(-y)

    Differentiation with respect to $x$ and $y$ is supported:

    >>> from sympy import diff
    >>> diff(erf2inv(x, y), x)
    exp(-x**2 + erf2inv(x, y)**2)
    >>> diff(erf2inv(x, y), y)
    sqrt(pi)*exp(erf2inv(x, y)**2)/2

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erfcinv: Inverse complementary error function.

    References
    ==========

    .. [1] https://functions.wolfram.com/GammaBetaErf/InverseErf2/

    c                 ó  — | j                   \  }}|dk(  r$t        | j                  ||«      dz  |dz  z
  «      S |dk(  r?t        t        «      t
        j                  z  t        | j                  ||«      dz  «      z  S t        | |«      ‚©Nr<   r(   )r)   r   r.   r   r
   r   r{   r   r  s       r5   r@   zerf2inv.fdiff  sx   € Ø�y‰y‰ˆˆ1Ø�qŠ=Ü�t—y‘y  1“~ qÑ(¨¨A©Ñ-Ó.Ð.Ø˜Š]Üœ“8œAŸF™F‘?¤3 t§y¡y°°1£~°qÑ'8Ó#9Ñ9Ð9ä$ T¨8Ó4Ð4r7   c                 ó¶  — |t         j                  u s|t         j                  u rt         j                  S |j                  r|j                  rt         j                  S |j                  r"|t         j                  u rt         j
                  S |t         j                  u r|j                  rt         j                  S |j                  rt        |«      S |t         j
                  u rt        | «      S |j                  r|S |t         j
                  u rt        |«      S |j                  r'|j                  rt         j                  S t        |«      S |j                  r|S y r�   )r   rI   rN   r,   rK   rJ   rD   rP   )rU   r2   r3   s      r5   rX   zerf2inv.eval  sæ   € à”—‘‰:˜œaŸe™e™Ü—5‘5ˆLØ�YŠY˜1Ÿ9š9Ü—6‘6ˆMØ�YŠY˜1¤§¡™:Ü—:‘:ÐØ”!—%‘%‰Z˜AŸIšIÜ—5‘5ˆLØ�YŠYÜ˜!“9ÐØ”!—*‘*‰_Ü˜A˜2“;ÐØ�YŠYØˆHØ”!—*‘*‰_Ü˜!“9Ðà�9Š9Ø�yŠyÜ—v‘v�ä˜a“yÐ Ø�9Š9ØˆHð r7   c                 óV   — | j                   \  }}|j                  r|j                  ryy y )NTrr   )r/   r2   r3   s      r5   rs   zerf2inv._eval_is_zero(  s&   € Ø�y‰y‰ˆˆ1Ø�9Š9˜ŸšØð #ˆ9r7   N)rË   rÌ   rÍ   rÎ   r@   rÐ   rX   rs   rò   r7   r5   rQ   rQ   Ð  s&   „ ñ0òf5ð ñó ðó4r7   rQ   c                   óŠ   ‡ — e Zd ZdZed„ «       Zdd„Zd„ Zd„ Zd„ Z	d„ Z
d„ ZeZeZeZdd	„Zd
„ Zdˆ fd„	Zdˆ fd„	Zˆ fd„Zˆ xZS )ÚEia	  
    The classical exponential integral.

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

    For use in SymPy, this function is defined as

    .. math:: \operatorname{Ei}(x) = \sum_{n=1}^\infty \frac{x^n}{n\, n!}
                                     + \log(x) + \gamma,

    where $\gamma$ is the Euler-Mascheroni constant.

    If $x$ is a polar number, this defines an analytic function on the
    Riemann surface of the logarithm. Otherwise this defines an analytic
    function in the cut plane $\mathbb{C} \setminus (-\infty, 0]$.

    **Background**

    The name exponential integral comes from the following statement:

    .. math:: \operatorname{Ei}(x) = \int_{-\infty}^x \frac{e^t}{t} \mathrm{d}t

    If the integral is interpreted as a Cauchy principal value, this statement
    holds for $x > 0$ and $\operatorname{Ei}(x)$ as defined above.

    Examples
    ========

    >>> from sympy import Ei, polar_lift, exp_polar, I, pi
    >>> from sympy.abc import x

    >>> Ei(-1)
    Ei(-1)

    This yields a real value:

    >>> Ei(-1).n(chop=True)
    -0.219383934395520

    On the other hand the analytic continuation is not real:

    >>> Ei(polar_lift(-1)).n(chop=True)
    -0.21938393439552 + 3.14159265358979*I

    The exponential integral has a logarithmic branch point at the origin:

    >>> Ei(x*exp_polar(2*I*pi))
    Ei(x) + 2*I*pi

    Differentiation is supported:

    >>> Ei(x).diff(x)
    exp(x)/x

    The exponential integral is related to many other special functions.
    For example:

    >>> from sympy import expint, Shi
    >>> Ei(x).rewrite(expint)
    -expint(1, x*exp_polar(I*pi)) - I*pi
    >>> Ei(x).rewrite(Shi)
    Chi(x) + Shi(x)

    See Also
    ========

    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.
    uppergamma: Upper incomplete gamma function.

    References
    ==========

    .. [1] https://dlmf.nist.gov/6.6
    .. [2] https://en.wikipedia.org/wiki/Exponential_integral
    .. [3] Abramowitz & Stegun, section 5: https://web.archive.org/web/20201128173312/http://people.math.sfu.ca/~cbm/aands/page_228.htm

    c                 ód  — |j                   rt        j                  S |t        j                  u rt        j                  S |t        j                  u rt        j                  S |j                   rt        j                  S |j                  «       \  }}|rt        |«      dt        z  t        z  |z  z   S y r–   )	rN   r   rL   rJ   r,   Úextract_branch_factorr?  r	   r
   ©rU   r}   r÷   r^   s       r5   rX   zEi.eval‰  s‰   € à�9Š9Ü×%Ñ%Ð%Ø”!—*‘*‰_Ü—:‘:ÐØ”!×$Ñ$Ñ$Ü—6‘6ˆMà�9Š9Ü×%Ñ%Ð%à×'Ñ'Ó)‰ˆˆAÙÜ�b“6˜Aœa™C¤™F 1™HÑ$Ð$ð r7   c                 óp   — t        | j                  d   «      }|dk(  rt        |«      |z  S t        | |«      ‚rG   )r   r)   r   r   ©r/   r?   rV   s      r5   r@   zEi.fdiff™  s6   € Ü˜Ÿ™ 1™Ó&ˆØ�qŠ=Ü�s“8˜C‘<Ðä$ T¨8Ó4Ð4r7   c                 óÞ   — | j                   d   t        d«      z  j                  r3t        j                  | |«      t
        t        z  j	                  |«      z   S t        j                  | |«      S r*  )r)   r   r¿   r   Ú_eval_evalfr	   r
   ©r/   Úprecs     r5   rF  zEi._eval_evalf   sV   € Ø�I‰I�a‰Lœ B›Ñ'×4Ò4Ü×'Ñ'¨¨dÓ3´q¼±t×6HÑ6HÈÓ6NÑNÐNÜ×#Ñ# D¨$Ó/Ð/r7   c                 óV   — ddl m}  |dt        d«      |z  «       t        t        z  z
  S )Nr   rw   rŒ   )rz   rx   r   r	   r
   r|   s       r5   r   zEi._eval_rewrite_as_uppergamma¥  s)   € ÝFñ ˜1œj¨›n¨QÑ.Ó/Ð/´!´B±$Ñ6Ð6r7   c                 óP   — t        dt        d«      |z  «       t        t        z  z
  S )Nr<   rŒ   )r˜   r   r	   r
   rŽ   s      r5   r™   zEi._eval_rewrite_as_expint«  s$   € Ü�qœ* R›.¨Ñ*Ó+Ð+¬a´©dÑ2Ð2r7   c                 óz   — t        |t        «      rt        |j                  d   «      S t        t	        |«      «      S rc   )rO   r   Úlir)   r   rŽ   s      r5   Ú_eval_rewrite_as_lizEi._eval_rewrite_as_li®  s.   € Ü�aœÔÜ�a—f‘f˜Q‘i“=Ð ô
 ”#�a“&‹zÐr7   c                 ó’   — |j                   r%t        |«      t        |«      z   t        t        z  z
  S t        |«      t        |«      z   S r�   )Úis_negativeÚShiÚChir	   r
   rŽ   s      r5   Ú_eval_rewrite_as_SizEi._eval_rewrite_as_Si·  s6   € Ø�=Š=Ü�q“6œC ›F‘?¤Q¤r¡TÑ)Ð)ä�q“6œC ›F‘?Ð"r7   c                 ó0   — t        |«      t        |«      z  S r�   )r   Ú_eisrá   s       r5   r    zEi._eval_rewrite_as_tractableÀ  s   € Ü�1‹vœ˜Q›ÑÐr7   c                 óª   — ddl m} t        t        d|g«      j                  «      } |t
        j                  |z  |z  |t
        j                  |f«      S ©Nr   ©ÚIntegralrW   )Úsympy.integrals.integralsrX  r   r   Únamer   ÚExp1rL   ©r/   r}   r~   rX  rW   s        r5   Ú_eval_rewrite_as_IntegralzEi._eval_rewrite_as_IntegralÃ  sE   € Ý6ÜÔ'¨¨a¨SÓ1×6Ñ6Ó7ˆÙœŸ™ ™	 !™ a¬×);Ñ);¸QÐ%?Ó@Ð@r7   c                 óÈ  •— ddl m} | j                  d   j                  |d«      }| j                  d   j	                  ||¬«      }|j                  ||«      }|j                  rm|j                  |«      \  }}|€t        |«      n|}t        |«      ||z  z   t        z    ||«      j                  rt        t        z  z
  S t        j                  z
  S t        ‰	| �A  |||¬«      S )Nr   )r   )r«   r©   )Úsympyr   r)   r›   r°   r¯   rN   Úas_coeff_exponentr   r   rO  r	   r
   r   r,   rÁ   r¶   )
r/   r2   rª   r«   r   Úx0rV   ÚcÚerÉ   s
            €r5   r¶   zEi._eval_as_leading_termÈ  sÐ   ø€ ÝØ�Y‰Y�q‰\×Ñ  1Ó%ˆØ�i‰i˜‰l×*Ñ*¨1°4Ð*Ó8ˆØ�w‰w�q˜$ÓˆØ�:Š:Ø×(Ñ(¨Ó+‰DˆAˆqØ!˜\”3�q”6¨tˆDÜ�q“6˜A˜d™F‘?¤ZÑ/Ù˜4›×,Ò,””"‘ñ:ð :Ü23·&±&ñ:ð :ä‰wÑ,¨Q°TÀÐ,ÓEÐEr7   c                 óÔ   •— | j                   d   j                  |d«      }|j                  r, | j                  | j                   Ž }|j	                  |||«      S t
        ‰| �  |||«      S rc   )r)   r›   rN   rR  Ú_eval_nseriesrÁ   ©r/   r2   r^   rª   r«   ra  ÚfrÉ   s          €r5   re  zEi._eval_nseriesÔ  sa   ø€ Ø�Y‰Y�q‰\×Ñ  1Ó%ˆØ�:Š:Ø(�×(Ñ(¨$¯)©)Ð4ˆAØ—?‘? 1 a¨Ó.Ð.Ü‰wÑ$ Q¨¨4Ó0Ð0r7   c                 ó2  •— ddl m} |d   }|t        j                  u r_| j                  d   }t        |«      D �cg c]  }t        |«      ||z  z  ‘Œ c} |d||z  z  |«      gz   }	t        |«      |z  t        |	Ž z  S t        t        | �/  ||||«      S c c}w ©Nr   r¹   r<   )r»   rº   r   rJ   r)   rÀ   r   r   r   rÁ   r?  rÂ   r	  s             €r5   rÂ   zEi._eval_aseriesÛ  s—   ø€ Ý,Ø�a‘ˆà”A—J‘JÑØ—	‘	˜!‘ˆAÜ05°a³Ö9¨1”˜1“  Q¡Ó&Ò9Ù˜1˜Q ™T™6 1Ó%Ð&ñ'ˆAä˜“F˜1‘H¤ Q Ñ'Ð'ä”R˜Ñ,¨Q°°q¸$Ó?Ð?ùò	 :s   »BrÊ   r�   rc   ©r   )rË   rÌ   rÍ   rÎ   rÐ   rX   r@   rF  r   r™   rM  rR  Ú_eval_rewrite_as_CiÚ_eval_rewrite_as_ChiÚ_eval_rewrite_as_Shir    r]  r¶   re  rÂ   rÒ   rÓ   s   @r5   r?  r?  1  sr   ø„ ñTðn ñ%ó ð%ó5ò0ò
7ò3òò#ð
 .ÐØ.ÐØ.Ðó òAõ

Fõ1÷
@ð 
@r7   r?  c                   ón   ‡ — e Zd ZdZed„ «       Zd„ Zd„ Zd„ Zd„ Z	d„ Z
e
Ze
Ze
Zdˆ fd„	Zˆ fd	„Zd
„ Zˆ xZS )r˜   a£  
    Generalized exponential integral.

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

    This function is defined as

    .. math:: \operatorname{E}_\nu(z) = z^{\nu - 1} \Gamma(1 - \nu, z),

    where $\Gamma(1 - \nu, z)$ is the upper incomplete gamma function
    (``uppergamma``).

    Hence for $z$ with positive real part we have

    .. math:: \operatorname{E}_\nu(z)
              =   \int_1^\infty \frac{e^{-zt}}{t^\nu} \mathrm{d}t,

    which explains the name.

    The representation as an incomplete gamma function provides an analytic
    continuation for $\operatorname{E}_\nu(z)$. If $\nu$ is a
    non-positive integer, the exponential integral is thus an unbranched
    function of $z$, otherwise there is a branch point at the origin.
    Refer to the incomplete gamma function documentation for details of the
    branching behavior.

    Examples
    ========

    >>> from sympy import expint, S
    >>> from sympy.abc import nu, z

    Differentiation is supported. Differentiation with respect to $z$ further
    explains the name: for integral orders, the exponential integral is an
    iterated integral of the exponential function.

    >>> expint(nu, z).diff(z)
    -expint(nu - 1, z)

    Differentiation with respect to $\nu$ has no classical expression:

    >>> expint(nu, z).diff(nu)
    -z**(nu - 1)*meijerg(((), (1, 1)), ((0, 0, 1 - nu), ()), z)

    At non-postive integer orders, the exponential integral reduces to the
    exponential function:

    >>> expint(0, z)
    exp(-z)/z
    >>> expint(-1, z)
    exp(-z)/z + exp(-z)/z**2

    At half-integers it reduces to error functions:

    >>> expint(S(1)/2, z)
    sqrt(pi)*erfc(sqrt(z))/sqrt(z)

    At positive integer orders it can be rewritten in terms of exponentials
    and ``expint(1, z)``. Use ``expand_func()`` to do this:

    >>> from sympy import expand_func
    >>> expand_func(expint(5, z))
    z**4*expint(1, z)/24 + (-z**3 + z**2 - 2*z + 6)*exp(-z)/24

    The generalised exponential integral is essentially equivalent to the
    incomplete gamma function:

    >>> from sympy import uppergamma
    >>> expint(nu, z).rewrite(uppergamma)
    z**(nu - 1)*uppergamma(1 - nu, z)

    As such it is branched at the origin:

    >>> from sympy import exp_polar, pi, I
    >>> expint(4, z*exp_polar(2*pi*I))
    I*pi*z**3/3 + expint(4, z)
    >>> expint(nu, z*exp_polar(2*pi*I))
    z**(nu - 1)*(exp(2*I*pi*nu) - 1)*gamma(1 - nu) + expint(nu, z)

    See Also
    ========

    Ei: Another related function called exponential integral.
    E1: The classical case, returns expint(1, z).
    li: Logarithmic integral.
    Li: Offset logarithmic integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.
    uppergamma

    References
    ==========

    .. [1] https://dlmf.nist.gov/8.19
    .. [2] https://functions.wolfram.com/GammaBetaErf/ExpIntegralE/
    .. [3] https://en.wikipedia.org/wiki/Exponential_integral

    c           	      ó˜  — ddl m}m} t        |«      }||k7  rt	        ||«      S |j
                  r|dk  s|j
                  s6d|z  j
                  r't        t        ||dz
  z   |d|z
  |«      z  «      «      S |j                  «       \  }}|t        j                  u ry |j                  r^|dkD  sy t	        ||«      dt        z  t        z  |z  t        j                  |dz
  z  z  t        |dz
  «      z  t        |«      |dz
  z  z  z
  S t        dt        z  t        z  |z  |z  «      dz
  ||dz
  z  z   |d|z
  «      z  t	        ||«      z   S )Nr   )Úgammarx   r(   r<   )rz   rp  rx   r   r˜   Ú
is_Integerr   rA  r   r,   Ú
is_integerr
   r	   rM   r   r   )rU   Únur}   rp  rx   Únu2r^   s          r5   rX   zexpint.evalP  s=  € çOÜ˜‹nˆØ�Š9Ü˜#˜q“>Ð!Ø�=Š=˜R 1šW¨R¯]ª]ÀÀ"Á×?PÒ?PÜœj¨¨R°!©V©±ZÀÀBÁÈÓ5JÑ)JÓKÓLÐLð ×&Ñ&Ó(‰ˆˆ1Ø”—‘‰;ØØ�=Š=Ø˜’6ØÜ˜"˜a“=Ø”B‘$”q‘&˜‘(œ1Ÿ=™=¨2°©6Ñ2Ñ2´9¸RÀ!¹VÓ3DÑDÄZÐPQÃ]ÐUWÐZ[ÑU[ÑE\Ñ\ñ]ð ]ô ˜œ!™œB™˜r™	 !™Ó$ qÑ(¨!¨b°1©f©+Ñ5±e¸AÀ¹F³mÑCÄfÈRÐQRÃmÑSÐSr7   c           	      ó®   — | j                   \  }}|dk(  r!||dz
  z   t        g ddgddd|z
  gg |«      z  S |dk(  rt        |dz
  |«       S t        | |«      ‚r&  )r)   r%   r˜   r   )r/   r?   rs  r}   s       r5   r@   zexpint.fdifff  sn   € Ø—	‘	‰ˆˆAØ�qŠ=Ø˜˜Q™‘K�<¤¨¨Q°¨F°Q¸¸1¸r¹6°NÀBÈÓ JÑJÐJØ˜Š]Ü˜2 ™6 1Ó%Ð%Ð%ä$ T¨8Ó4Ð4r7   c                 ó8   — ddl m} ||dz
  z   |d|z
  |«      z  S )Nr   rw   r<   )rz   rx   )r/   rs  r}   r~   rx   s        r5   r   z"expint._eval_rewrite_as_uppergammao  s#   € ÝFØ�2˜‘6‰{™: a¨"¡f¨aÓ0Ñ0Ð0r7   c                 óÊ  — |dk(  r2t        |t        t         t        z  «      z  «       t        t        z  z
  S |j                  rš|dkD  r•t        |«       }||dz
  z  t        |dz
  «      z  t        |«      j                  t         «      z  t        |«      t        |dz
  «      z  t        t        |dz
  «      D �cg c]  }t        ||z
  dz
  «      ||z  z  ‘Œ c}Ž z  z   S | S c c}w r;  )r?  r   r	   r
   rq  r   r   ÚE1rà   r   r   rÀ   )r/   rs  r}   r~   r2   r`   s         r5   Ú_eval_rewrite_as_Eizexpint._eval_rewrite_as_Eis  sØ   € Ø�Š7Ü�qœ¤A 2¤b¡5Ó)Ñ)Ó*Ð*¬Q¬r©TÑ1Ð1Ø�]Š]˜r Ašvä˜A“�ˆAØ�r˜A‘v‘;œy¨¨a©Ó0Ñ0´°A³·±¼rÓ1BÑBÜ�A“”y  a¡Ó(Ñ(Ü¼%ÀÀQÁ»-ÖH°Q”i  Q¡¨¡
Ó+¨A¨q©DÓ0ÒHÐIñJñJð Jð ˆKùò Is   Â8C c                 óV   —  | j                  t        «      j                   t        fi |¤ŽS r�   )rà   r?  r˜   rí   s     r5   rî   zexpint._eval_expand_func  s#   € Ø'ˆt�|‰|œBÓ×'Ñ'¬Ñ8°%Ñ8Ð8r7   c                 ó>   — |dk7  r| S t        |«      t        |«      z
  S r,  )rP  rQ  )r/   rs  r}   r~   s       r5   rR  zexpint._eval_rewrite_as_Si‚  s    € Ø�Š7ØˆKÜ�1‹vœ˜A›‰Ðr7   c                 ó\  •— | j                   d   j                  |«      s}| j                   d   }|dk(  r, | j                  | j                   Ž }|j                  |||«      S |j                  r1|dkD  r, | j
                  | j                   Ž }|j                  |||«      S t        ‰| �  |||«      S rG   )r)   ÚhasrR  re  rq  ry  rÁ   )r/   r2   r^   rª   r«   rs  rg  rÉ   s          €r5   re  zexpint._eval_nseriesŠ  s    ø€ Ø�y‰y˜‰|×Ñ Ô"Ø—‘˜1‘ˆBØ�QŠwØ,�D×,Ñ,¨d¯i©iÐ8�Ø—‘ q¨!¨TÓ2Ð2Ø—’ 2¨¢6Ø,�D×,Ñ,¨d¯i©iÐ8�Ø—‘ q¨!¨TÓ2Ð2Ü‰wÑ$ Q¨¨4Ó0Ð0r7   c                 ó|  •— ddl m} |d   }| j                  d   }|t        j                  u ru| j                  d   }t        |«      D �	cg c](  }	t        j                  |	z  t        ||	«      z  ||	z  z  ‘Œ* c}	 |d||z  z  |«      gz   }
t        | «      |z  t        |
Ž z  S t        t        | �3  ||||«      S c c}	w ri  )r»   rº   r)   r   rJ   rÀ   rM   r   r   r   rÁ   r˜   rÂ   )r/   r^   rÃ   r2   rª   rº   rÄ   rs  r}   r`   rÈ   rÉ   s              €r5   rÂ   zexpint._eval_aseries•  s½   ø€ Ý,Ø�a‘ˆØ�Y‰Y�q‰\ˆà”A—J‘JÑØ—	‘	˜!‘ˆAÜKPÐQRË8ÖTÀa”—‘ Ñ!¤O°B¸Ó$:Ñ:¸QÀ¹TÓAÒTÑX]Ð^_Ð`aÐcdÑ`dÑ^dÐfgÓXhÐWiÑiˆAÜ˜˜“G˜A‘I¤ a Ñ(Ð(ä”V˜TÑ0°°E¸1¸dÓCÐCùò Us   Á
-B9c                 óÆ   — ddl m} | j                  \  }}t        t	        d|«      j
                  «      } ||| z  t        | |z  «      z  |dt        j                  f«      S ©Nr   rW  rW   r<   )	rY  rX  r)   r   r   rZ  r   r   rJ   )r/   r)   r~   rX  r^   r2   rW   s          r5   r]  z expint._eval_rewrite_as_Integral¡  sW   € Ý6Ø�y‰y‰ˆˆ1ÜÔ'¨¨TÓ2×7Ñ7Ó8ˆÙ˜˜A˜2™¤ Q B q¡D£	Ñ)¨A¨q´!·*±*Ð+=Ó>Ð>r7   rj  )rË   rÌ   rÍ   rÎ   rÐ   rX   r@   r   ry  rî   rR  rk  rl  rm  re  rÂ   r]  rÒ   rÓ   s   @r5   r˜   r˜   è  s]   ø„ ñdðN ñTó ðTò*5ò1ò
ò9òð .ÐØ.ÐØ.Ðõ	1ô
Dö?r7   r˜   c                 ó   — t        d| «      S )a+  
    Classical case of the generalized exponential integral.

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

    This is equivalent to ``expint(1, z)``.

    Examples
    ========

    >>> from sympy import E1
    >>> E1(0)
    expint(1, 0)

    >>> E1(5)
    expint(1, 5)

    See Also
    ========

    Ei: Exponential integral.
    expint: Generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.

    r<   )r˜   )r}   s    r5   rx  rx  ¨  s   € ô@ �!�Q‹<Ðr7   c                   óv   — e Zd ZdZed„ «       Zdd„Zd„ Zd„ Zd„ Z	d„ Z
d„ ZeZd	„ ZeZd
„ Zd„ Zdd„Zdd„Zd„ Zy)rL  aà	  
    The classical logarithmic integral.

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

    For use in SymPy, this function is defined as

    .. math:: \operatorname{li}(x) = \int_0^x \frac{1}{\log(t)} \mathrm{d}t \,.

    Examples
    ========

    >>> from sympy import I, oo, li
    >>> from sympy.abc import z

    Several special values are known:

    >>> li(0)
    0
    >>> li(1)
    -oo
    >>> li(oo)
    oo

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(li(z), z)
    1/log(z)

    Defining the ``li`` function via an integral:
    >>> from sympy import integrate
    >>> integrate(li(z))
    z*li(z) - Ei(2*log(z))

    >>> integrate(li(z),z)
    z*li(z) - Ei(2*log(z))


    The logarithmic integral can also be defined in terms of ``Ei``:

    >>> from sympy import Ei
    >>> li(z).rewrite(Ei)
    Ei(log(z))
    >>> diff(li(z).rewrite(Ei), z)
    1/log(z)

    We can numerically evaluate the logarithmic integral to arbitrary precision
    on the whole complex plane (except the singular points):

    >>> li(2).evalf(30)
    1.04516378011749278484458888919

    >>> li(2*I).evalf(30)
    1.0652795784357498247001125598 + 3.08346052231061726610939702133*I

    We can even compute Soldner's constant by the help of mpmath:

    >>> from mpmath import findroot
    >>> findroot(li, 2)
    1.45136923488338

    Further transformations include rewriting ``li`` in terms of
    the trigonometric integrals ``Si``, ``Ci``, ``Shi`` and ``Chi``:

    >>> from sympy import Si, Ci, Shi, Chi
    >>> li(z).rewrite(Si)
    -log(I*log(z)) - log(1/log(z))/2 + log(log(z))/2 + Ci(I*log(z)) + Shi(log(z))
    >>> li(z).rewrite(Ci)
    -log(I*log(z)) - log(1/log(z))/2 + log(log(z))/2 + Ci(I*log(z)) + Shi(log(z))
    >>> li(z).rewrite(Shi)
    -log(1/log(z))/2 + log(log(z))/2 + Chi(log(z)) - Shi(log(z))
    >>> li(z).rewrite(Chi)
    -log(1/log(z))/2 + log(log(z))/2 + Chi(log(z)) - Shi(log(z))

    See Also
    ========

    Li: Offset logarithmic integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Logarithmic_integral
    .. [2] https://mathworld.wolfram.com/LogarithmicIntegral.html
    .. [3] https://dlmf.nist.gov/6
    .. [4] https://mathworld.wolfram.com/SoldnersConstant.html

    c                 óü   — |j                   rt        j                  S |t        j                  u rt        j                  S |t        j
                  u rt        j
                  S |j                   rt        j                  S y r�   )rN   r   r,   rK   rL   rJ   r3  s     r5   rX   zli.eval/  sS   € à�9Š9Ü—6‘6ˆMØ”!—%‘%‰ZÜ×%Ñ%Ð%Ø”!—*‘*‰_Ü—:‘:ÐØ�9Š9Ü—6‘6ˆMð r7   c                 óz   — | j                   d   }|dk(  rt        j                  t        |«      z  S t	        | |«      ‚rG   ©r)   r   rK   r   r   rD  s      r5   r@   zli.fdiff:  ó6   € Ø�i‰i˜‰lˆØ�qŠ=Ü—5‘5œ3˜s›8Ñ#Ð#ä$ T¨8Ó4Ð4r7   c                 óx   — | j                   d   }|j                  s| j                  |j                  «       «      S y rc   )r)   Úis_extended_negativer.   re   ©r/   r}   s     r5   rg   zli._eval_conjugateA  s2   € Ø�I‰I�a‰Lˆà×%Ò%Ø—9‘9˜QŸ[™[›]Ó+Ð+ð &r7   c                 ó0   — t        |«      t        d«      z   S r–   )ÚLirL  rŽ   s      r5   Ú_eval_rewrite_as_Lizli._eval_rewrite_as_LiG  ó   € Ü�!‹u”r˜!“u‰}Ðr7   c                 ó*   — t        t        |«      «      S r�   )r?  r   rŽ   s      r5   ry  zli._eval_rewrite_as_EiJ  s   € Ü”#�a“&‹zÐr7   c           	      óú   — ddl m}  |dt        |«       «       t        j                  t        t        |«      «      t        t        j
                  t        |«      z  «      z
  z  z   t        t        |«       «      z
  S ©Nr   rw   )rz   rx   r   r   r{   rK   r|   s       r5   r   zli._eval_rewrite_as_uppergammaM  s`   € ÝFÙ˜A¤ A£˜wÓ'Ð'Ü—‘œœC ›F›¤c¬!¯%©%´°A³©,Ó&7Ñ7Ñ8ñ9Ü;>ÄÀAÃ¸w»<ñHð 	Ir7   c                 óN  — t        t        t        |«      z  «      t        t        t        t        |«      z  «      z  z
  t        j
                  t        t        j                  t        |«      z  «      t        t        |«      «      z
  z  z
  t        t        t        |«      z  «      z
  S r�   )ÚCir	   r   ÚSir   r{   rK   rŽ   s      r5   rR  zli._eval_rewrite_as_SiR  sp   € Ü”1”S˜“V‘8“œq¤¤A¤c¨!£f¡H£™~Ñ-Ü—‘œœAŸE™E¤# a£&™LÓ)¬C´°A³«KÑ7Ñ8ñ9Ü;>¼qÄÀQÃ¹x»=ñIð 	Jr7   c                 óì   — t        t        |«      «      t        t        |«      «      z
  t        j                  t        t        j
                  t        |«      z  «      t        t        |«      «      z
  z  z
  S r�   )rQ  r   rP  r   r{   rK   rŽ   s      r5   rm  zli._eval_rewrite_as_ShiX  sJ   € Ü”C˜“F“œc¤# a£&›kÑ)¬A¯F©F´C¼¿¹¼cÀ!»f¹Ó4EÌÌCÐPQËFËÑ4SÑ,TÑTÐUr7   c           	      óì   — t        |«      t        ddt        |«      «      z  t        j                  t        t        |«      «      t        t        j                  t        |«      z  «      z
  z  z   t
        z   S )N)r<   r<   )r(   r(   )r   r$   r   r{   rK   r   rŽ   s      r5   r”   zli._eval_rewrite_as_hyper]  sY   € Ü�A“”u˜V V¬S°«VÓ4Ñ4Ü—‘œœC ›F›¤c¬!¯%©%´°A³©,Ó&7Ñ7Ñ8ñ9Ü;EñFð 	Gr7   c                 óö   — t        t        |«       «       t        j                  t        t        j                  t        |«      z  «      t        t        |«      «      z
  z  z
  t	        ddt        |«       «      z
  S )N)rò   rÊ   ))r   r   rò   )r   r   r{   rK   r%   rŽ   s      r5   r�   zli._eval_rewrite_as_meijerga  sY   € Ü”c˜!“f�W“�¤§¡¬¬A¯E©E´#°a³&©LÓ(9¼CÄÀAÃ»KÑ(GÑ HÑHÜ˜* l´S¸³V°GÓ<ñ=ð 	>r7   Nc                 ó0   — |t        t        |«      «      z  S r�   )rT  r   rá   s       r5   r    zli._eval_rewrite_as_tractablee  s   € Ø”4œ˜A›“<ÑÐr7   c                 óÚ   — | j                   d   }t        d|«      D �cg c]  }t        |«      |z  t        |«      |z  z  ‘Œ! }}t        t        t        |«      «      z   t        |Ž z   S c c}w rG   )r)   rÀ   r   r   r   r   )r/   r2   r^   rª   r«   r}   r`   rÈ   s           r5   re  zli._eval_nseriesh  s`   € Ø�I‰I�a‰LˆÜ7<¸QÀ³{ÖC°!Œc�!‹f�q‰[œI a›L¨1Ñ,Ó-ÐCˆÐCÜœC¤ A£›KÑ'¬#¨q¨'Ñ1Ð1ùò Ds   ž$A(c                 ó<   — | j                   d   }|j                  ryy rn   rr   r‰  s     r5   rs   zli._eval_is_zerom  ó   € Ø�I‰I�a‰LˆØ�9Š9Øð r7   rÊ   r�   rj  )rË   rÌ   rÍ   rÎ   rÐ   rX   r@   rg   rŒ  ry  r   rR  rk  rm  rl  r”   r�   r    re  rs   rò   r7   r5   rL  rL  Ë  sm   „ ñ`ðF ñó ðó5ò,òòòIò
Jð .ÐòVð 0ÐòGò>ó ó2ó
r7   rL  c                   óD   — e Zd ZdZed„ «       Zd	d„Zd„ Zd„ Zd
d„Z	dd„Z
y)r‹  ab  
    The offset logarithmic integral.

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

    For use in SymPy, this function is defined as

    .. math:: \operatorname{Li}(x) = \operatorname{li}(x) - \operatorname{li}(2)

    Examples
    ========

    >>> from sympy import Li
    >>> from sympy.abc import z

    The following special value is known:

    >>> Li(2)
    0

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(Li(z), z)
    1/log(z)

    The shifted logarithmic integral can be written in terms of $li(z)$:

    >>> from sympy import li
    >>> Li(z).rewrite(li)
    li(z) - li(2)

    We can numerically evaluate the logarithmic integral to arbitrary precision
    on the whole complex plane (except the singular points):

    >>> Li(2).evalf(30)
    0

    >>> Li(4).evalf(30)
    1.92242131492155809316615998938

    See Also
    ========

    li: Logarithmic integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Logarithmic_integral
    .. [2] https://mathworld.wolfram.com/LogarithmicIntegral.html
    .. [3] https://dlmf.nist.gov/6

    c                 ó„   — |t         j                  u rt         j                  S |t        d«      k(  rt         j                  S y r–   )r   rJ   r,   r3  s     r5   rX   zLi.eval³  s0   € à”—
‘
‰?Ü—:‘:ÐØ”!�A“$ŠYÜ—6‘6ˆMð r7   c                 óz   — | j                   d   }|dk(  rt        j                  t        |«      z  S t	        | |«      ‚rG   r…  rD  s      r5   r@   zLi.fdiffº  r†  r7   c                 óJ   — | j                  t        «      j                  |«      S r�   )rà   rL  ÚevalfrG  s     r5   rF  zLi._eval_evalfÁ  s   € Ø�|‰|œBÓ×%Ñ% dÓ+Ð+r7   c                 ó0   — t        |«      t        d«      z
  S r–   )rL  rŽ   s      r5   rM  zLi._eval_rewrite_as_liÄ  r�  r7   Nc                 óN   — | j                  t        «      j                  dd¬«      S )NrÞ   T)r0   )rà   rL  rá   s       r5   r    zLi._eval_rewrite_as_tractableÇ  s!   € Ø�|‰|œBÓ×'Ñ'¨¸$Ð'Ó?Ð?r7   c                 óZ   —  | j                   | j                  Ž }|j                  |||«      S r�   )rM  r)   re  )r/   r2   r^   rª   r«   rg  s         r5   re  zLi._eval_nseriesÊ  s+   € Ø$ˆD×$Ñ$ d§i¡iÐ0ˆØ�‰˜q ! TÓ*Ð*r7   rÊ   r�   rj  )rË   rÌ   rÍ   rÎ   rÐ   rX   r@   rF  rM  r    re  rò   r7   r5   r‹  r‹  r  s6   „ ñ=ð@ ñó ðó5ò,òó@ô+r7   r‹  c                   óH   ‡ — e Zd ZdZed„ «       Zdd„Zd„ Zd„ Zdˆ fd„	Z	ˆ xZ
S )	ÚTrigonometricIntegralz) Base class for trigonometric integrals. c                 óV  — |t         j                  u r| j                  S |t         j                  u r| j	                  «       S |t         j
                  u r| j                  «       S |j                  r| j                  S |j                  t        t        «      «      }|€)| j                  d«      dk(  r|j                  t        «      }|�| j                  |d«      S |j                  t        t         «      «      }|�| j                  |d«      S |j                  t        d«      «      }|€%| j                  d«      dk(  r|j                  d«      }|�| j                  |«      S |j                  «       \  }}|dk(  r||k(  ry dt        z  t        z  |z  | j                  d«      z   | |«      z   S )Nr   r<   rŒ   r(   )r   r,   Ú_atzerorJ   Ú_atinfrL   Ú	_atneginfrN   rR   r   r	   Ú	_trigfuncÚ_IfactorÚ_minusfactorrA  r
   rB  s       r5   rX   zTrigonometricIntegral.evalÖ  sn  € à”—‘‰;Ø—;‘;ÐØ”!—*‘*‰_Ø—:‘:“<ÐØ”!×$Ñ$Ñ$Ø—=‘=“?Ð"à�9Š9Ø—;‘;Ðà×'Ñ'¬
´1«Ó6ˆØˆ:˜#Ÿ-™-¨Ó*¨aÒ/Ø×+Ñ+¬AÓ.ˆBØˆ>Ø—<‘<  AÓ&Ð&Ø×'Ñ'¬
´A°2«Ó7ˆØˆ>Ø—<‘<  BÓ'Ð'à×'Ñ'¬
°2«Ó7ˆØˆ:˜#Ÿ-™-¨Ó*¨aÒ/Ø×+Ñ+¨BÓ/ˆBØˆ>Ø×#Ñ# BÓ'Ð'à×'Ñ'Ó)‰ˆˆAØ�Š6�b˜A’gØØ”‰t”A‰v�a‰x˜Ÿ™ aÓ(Ñ(©3¨r«7Ñ2Ð2r7   c                 ó|   — t        | j                  d   «      }|dk(  r| j                  |«      |z  S t        | |«      ‚rG   )r   r)   r©  r   rD  s      r5   r@   zTrigonometricIntegral.fdiffö  s<   € Ü˜Ÿ™ 1™Ó&ˆØ�qŠ=Ø—>‘> #Ó& sÑ*Ð*ä$ T¨8Ó4Ð4r7   c                 óJ   — | j                  |«      j                  t        «      S r�   )r™   rà   r?  rŽ   s      r5   ry  z)TrigonometricIntegral._eval_rewrite_as_Eiý  s   € Ø×+Ñ+¨AÓ.×6Ñ6´rÓ:Ð:r7   c                 óN   — ddl m} | j                  |«      j                  |«      S r�  )rz   rx   r™   rà   r|   s       r5   r   z1TrigonometricIntegral._eval_rewrite_as_uppergamma   s!   € ÝFØ×+Ñ+¨AÓ.×6Ñ6°zÓBÐBr7   c                 óÄ  •— | j                   d   j                  |d«      dk7  rt        ‰| �  |||«      S | j	                  |«      j                  |||«      }| j	                  d«      dk7  r|dz  }|j                  t        d„ d¬«      }| j	                  d«      dk7  r|t        t        |«      z   z  }|j                  || j                   d   «      j                  |||«      S )Nr   r<   c                 ó   — | |z  |z  S r�   rò   )rW   r^   s     r5   ú<lambda>z5TrigonometricIntegral._eval_nseries.<locals>.<lambda>  s   € ¸!¸Q¹$¸q¹&€ r7   F)Úsimultaneous)	r)   r±   rÁ   re  r©  Úreplacer   r   r   )r/   r2   r^   rª   r«   Ú
baseseriesrÉ   s         €r5   re  z#TrigonometricIntegral._eval_nseries  sÏ   ø€ à�9‰9�Q‰<×Ñ˜Q Ó" aÒ'Ü‘7Ñ(¨¨A¨tÓ4Ð4Ø—^‘^ AÓ&×4Ñ4°Q¸¸4Ó@ˆ
Ø�>‰>˜!Ó Ò!Ø˜!‰OˆJØ×'Ñ'¬Ñ-@ÈuÐ'ÓUˆ
Ø�>‰>˜!Ó Ò!Øœ*¤s¨1£vÑ-Ñ-ˆJØ�‰˜q $§)¡)¨A¡,Ó/×=Ñ=¸aÀÀDÓIÐIr7   rÊ   rj  )rË   rÌ   rÍ   rÎ   rÐ   rX   r@   ry  r   re  rÒ   rÓ   s   @r5   r¤  r¤  Ò  s6   ø„ Ù3ð ñ3ó ð3ó>5ò;òC÷
Jñ 
Jr7   r¤  c                   óœ   ‡ — e Zd ZdZeZej                  Ze	d„ «       Z
e	d„ «       Ze	d„ «       Ze	d„ «       Zd„ Zd„ ZeZdd„Zˆ fd	„Zd
„ Zˆ xZS )r“  aø  
    Sine integral.

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

    This function is defined by

    .. math:: \operatorname{Si}(z) = \int_0^z \frac{\sin{t}}{t} \mathrm{d}t.

    It is an entire function.

    Examples
    ========

    >>> from sympy import Si
    >>> from sympy.abc import z

    The sine integral is an antiderivative of $sin(z)/z$:

    >>> Si(z).diff(z)
    sin(z)/z

    It is unbranched:

    >>> from sympy import exp_polar, I, pi
    >>> Si(z*exp_polar(2*I*pi))
    Si(z)

    Sine integral behaves much like ordinary sine under multiplication by ``I``:

    >>> Si(I*z)
    I*Shi(z)
    >>> Si(-z)
    -Si(z)

    It can also be expressed in terms of exponential integrals, but beware
    that the latter is branched:

    >>> from sympy import expint
    >>> Si(z).rewrite(expint)
    -I*(-expint(1, z*exp_polar(-I*pi/2))/2 +
         expint(1, z*exp_polar(I*pi/2))/2) + pi/2

    It can be rewritten in the form of sinc function (by definition):

    >>> from sympy import sinc
    >>> Si(z).rewrite(sinc)
    Integral(sinc(_t), (_t, 0, z))

    See Also
    ========

    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    sinc: unnormalized sinc function
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Trigonometric_integral

    c                 ó0   — t         t        j                  z  S r�   ©r
   r   r{   ©rU   s    r5   r§  z	Si._atinf[  s   € ä”!—&‘&‰yÐr7   c                 ó2   — t          t        j                  z  S r�   r·  r¸  s    r5   r¨  zSi._atneginf_  s   € äˆs”1—6‘6‰zÐr7   c                 ó   — t        |«       S r�   )r“  r3  s     r5   r«  zSi._minusfactorc  s   € ä�1“ˆvˆr7   c                 ó,   — t         t        |«      z  |z  S r�   )r	   rP  ©rU   r}   Úsigns      r5   rª  zSi._Ifactorg  s   € ä”�Q“‰x˜‰}Ðr7   c                 óš   — t         dz  t        t        t        «      |z  «      t        t        t         «      |z  «      z
  dz  t        z  z   S r–   )r
   rx  r   r	   rŽ   s      r5   r™   zSi._eval_rewrite_as_expintk  s=   € ä�!‰t”rœ*¤Q›-¨™/Ó*¬R´
¼A¸2³¸qÑ0@Ó-AÑAÀ1ÑDÄQÑFÑFÐFr7   c                 óx   — ddl m} t        t        d|g«      j                  «      } |t        |«      |d|f«      S rV  )rY  rX  r   r   rZ  r#   r\  s        r5   r]  zSi._eval_rewrite_as_Integralo  s6   € Ý6ÜÔ'¨¨a¨SÓ1×6Ñ6Ó7ˆÙœ˜Q› ! Q¨ Ó+Ð+r7   c                 ó<  — | j                   d   j                  |||¬«      }|j                  |d«      }|t        j                  u r+|j                  |dt        |«      j                  rdnd¬«      }|j                  r|S |j                  s| j                  |«      S | S ©Nr   r©   r¬   r­   r®   ©r)   r°   r±   r   rI   r›   r   rO  rN   r  r.   r´   s         r5   r¶   zSi._eval_as_leading_termv  s…   € Ø�i‰i˜‰l×*Ñ*¨1°4¸dÐ*ÓCˆØ�x‰x˜˜1‹~ˆà”1—5‘5‰=Ø—9‘9˜Q ¬b°«h×.BÒ.B¡sÈ�9ÓLˆDØ�<Š<ØˆJØ×!Ò!Ø—9‘9˜T“?Ð"àˆKr7   c                 ór  •— ddl m} |d   }|t        j                  u rú| j                  d   }t        |dz  dz   «      D �cg c]0  }t        j                  |z  t        d|z  «      z  |d|z  dz   z  z  ‘Œ2 c} |d||z  z  |«      gz   }	t        |dz  «      D �cg c]3  }t        j                  |z  t        d|z  dz   «      z  |d|dz   z  z  z  ‘Œ5 c} |d||z  z  |«      gz   }
t        dz  t        |«      t        |	Ž z  z
  t        |«      t        |
Ž z  z
  S t        t        | �;  ||||«      S c c}w c c}w r¸   )r»   rº   r   rJ   r)   rÀ   rM   r   r
   r!   r   r"   rÁ   r“  rÂ   )r/   r^   rÃ   r2   rª   rº   rÄ   r}   r`   ÚpÚqrÉ   s              €r5   rÂ   zSi._eval_aseriesƒ  sH  ø€ Ý,Ø�a‘ˆð ”A—J‘JÑØ—	‘	˜!‘ˆAä" 1 a¡4¨!¡8›_ö.Øô —‘ Ñ!¤I¨a°©c£NÑ2°Q¸¸1¹¸q¹±\ÓAò .Ù16°q¸¸A¹±v¸qÓ1AÐ0BñCˆAô # 1 a¡4›[ö*Øô —‘ Ñ!¤I¨a°©c°A©gÓ$6Ñ6¸¸QÀÀAÁ¹Y¹ÓGò *Ù-2°1°Q¸±T±6¸1Ó-=Ð,>ñ?ˆAä�a‘4œ#˜a›&¤ a ™.Ñ(¬3¨q«6´#°q°'©>Ñ9Ð9ô ”R˜Ñ,¨Q°°q¸$Ó?Ð?ùò.ùò*s   Á5D/Â8D4c                 ó<   — | j                   d   }|j                  ryy rn   rr   r‰  s     r5   rs   zSi._eval_is_zero“  rš  r7   rc   )rË   rÌ   rÍ   rÎ   r"   r©  r   r,   r¦  rÐ   r§  r¨  r«  rª  r™   r]  Ú_eval_rewrite_as_sincr¶   rÂ   rs   rÒ   rÓ   s   @r5   r“  r“    s‹   ø„ ñDðL €IØ�f‰f€Gàñó ðð ñó ðð ñó ðð ñó ðòGò,ð
 7Ðóô@ö r7   r“  c                   ó’   ‡ — e Zd ZdZeZej                  Ze	d„ «       Z
e	d„ «       Ze	d„ «       Ze	d„ «       Zd„ Zd„ Zd
d„Zˆ fd	„Zˆ xZS )r’  aâ  
    Cosine integral.

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

    This function is defined for positive $x$ by

    .. math:: \operatorname{Ci}(x) = \gamma + \log{x}
                         + \int_0^x \frac{\cos{t} - 1}{t} \mathrm{d}t
           = -\int_x^\infty \frac{\cos{t}}{t} \mathrm{d}t,

    where $\gamma$ is the Euler-Mascheroni constant.

    We have

    .. math:: \operatorname{Ci}(z) =
        -\frac{\operatorname{E}_1\left(e^{i\pi/2} z\right)
               + \operatorname{E}_1\left(e^{-i \pi/2} z\right)}{2}

    which holds for all polar $z$ and thus provides an analytic
    continuation to the Riemann surface of the logarithm.

    The formula also holds as stated
    for $z \in \mathbb{C}$ with $\Re(z) > 0$.
    By lifting to the principal branch, we obtain an analytic function on the
    cut complex plane.

    Examples
    ========

    >>> from sympy import Ci
    >>> from sympy.abc import z

    The cosine integral is a primitive of $\cos(z)/z$:

    >>> Ci(z).diff(z)
    cos(z)/z

    It has a logarithmic branch point at the origin:

    >>> from sympy import exp_polar, I, pi
    >>> Ci(z*exp_polar(2*I*pi))
    Ci(z) + 2*I*pi

    The cosine integral behaves somewhat like ordinary $\cos$ under
    multiplication by $i$:

    >>> from sympy import polar_lift
    >>> Ci(polar_lift(I)*z)
    Chi(z) + I*pi/2
    >>> Ci(polar_lift(-1)*z)
    Ci(z) + I*pi

    It can also be expressed in terms of exponential integrals:

    >>> from sympy import expint
    >>> Ci(z).rewrite(expint)
    -expint(1, z*exp_polar(-I*pi/2))/2 - expint(1, z*exp_polar(I*pi/2))/2

    See Also
    ========

    Si: Sine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Trigonometric_integral

    c                 ó"   — t         j                  S r�   )r   r,   r¸  s    r5   r§  z	Ci._atinfì  s   € ä�v‰vˆr7   c                 ó   — t         t        z  S r�   )r	   r
   r¸  s    r5   r¨  zCi._atneginfð  s   € ä”‰tˆr7   c                 ó4   — t        |«      t        t        z  z   S r�   ©r’  r	   r
   r3  s     r5   r«  zCi._minusfactorô  s   € ä�!‹u”qœ‘t‰|Ðr7   c                 ó@   — t        |«      t        t        z  dz  |z  z   S r–   ©rQ  r	   r
   r¼  s      r5   rª  zCi._Ifactorø  s   € ä�1‹vœœ"™˜Q™˜t™Ñ#Ð#r7   c                 óz   — t        t        t        «      |z  «      t        t        t         «      |z  «      z    dz  S r–   )rx  r   r	   rŽ   s      r5   r™   zCi._eval_rewrite_as_expintü  s2   € Ü”Jœq“M !‘OÓ$¤r¬*´a°R«.¸Ñ*:Ó';Ñ;Ð<¸QÑ>Ð>r7   c                 ó¾   — ddl m} t        t        d|g«      j                  «      }t
        j                  t        |«      z    |dt        |«      z
  |z  |d|f«      z
  S r€  )	rY  rX  r   r   rZ  r   r   r   r!   r\  s        r5   r]  zCi._eval_rewrite_as_Integralÿ  sP   € Ý6ÜÔ'¨¨a¨SÓ1×6Ñ6Ó7ˆÜ�|‰|œc !›fÑ$¡x°´3°q³6±¸1±¸qÀ!ÀQ¸iÓ'HÑHÐHr7   c                 ó®  — | j                   d   j                  |||¬«      }|j                  |d«      }|t        j                  u r+|j                  |dt        |«      j                  rdnd¬«      }|j                  r;|j                  |«      \  }}|€t        |«      n|}t        |«      ||z  z   t        z   S |j                  r| j                  |«      S | S rÁ  ©r)   r°   r±   r   rI   r›   r   rO  rN   r`  r   r   ro   r.   ©r/   r2   rª   r«   rV   rµ   rb  rc  s           r5   r¶   zCi._eval_as_leading_term  ó¸   € Ø�i‰i˜‰l×*Ñ*¨1°4¸dÐ*ÓCˆØ�x‰x˜˜1‹~ˆà”1—5‘5‰=Ø—9‘9˜Q ¬b°«h×.BÒ.B¡sÈ�9ÓLˆDØ�<Š<Ø×(Ñ(¨Ó+‰DˆAˆqØ!˜\”3�q”6¨tˆDÜ�q“6˜A˜d™F‘?¤ZÑ/Ð/Ø�^Š^Ø—9‘9˜T“?Ð"àˆKr7   c                 óÈ  •— ddl m} |d   }|t        j                  t        j                  fv �r| j
                  d   }t        |dz  dz   «      D �cg c]0  }t        j                  |z  t        d|z  «      z  |d|z  dz   z  z  ‘Œ2 c} |d||z  z  |«      gz   }	t        |dz  «      D �cg c]3  }t        j                  |z  t        d|z  dz   «      z  |d|dz   z  z  z  ‘Œ5 c} |d||z  z  |«      gz   }
t        |«      t        |	Ž z  t        |«      t        |
Ž z  z
  }|t        j                  u r|t        t        z  z  }|S t        t        | �C  ||||«      S c c}w c c}w r¸   )r»   rº   r   rJ   rL   r)   rÀ   rM   r   r"   r   r!   r	   r
   rÁ   r’  rÂ   )r/   r^   rÃ   r2   rª   rº   rÄ   r}   r`   rÄ  rÅ  ÚresultrÉ   s               €r5   rÂ   zCi._eval_aseries  sg  ø€ Ý,Ø�a‘ˆà”Q—Z‘Z¤×!3Ñ!3Ð4Ò4Ø—	‘	˜!‘ˆAä" 1 a¡4¨!¡8›_ö.Øô —‘ Ñ!¤I¨a°©c£NÑ2°Q¸¸1¹¸q¹±\ÓAò .Ù16°q¸¸A¹±v¸qÓ1AÐ0BñCˆAô # 1 a¡4›[ö*Øô —‘ Ñ!¤I¨a°©c°A©gÓ$6Ñ6¸¸QÀÀAÁ¹Y¹ÓGò *Ù-2°1°Q¸±T±6¸1Ó-=Ð,>ñ?ˆAä˜“VœS !˜WÑ%¬¨A«´°Q°Ñ(8Ñ8ˆFàœ×*Ñ*Ñ*Øœ!œB™$‘�ØˆMä”R˜Ñ,¨Q°°q¸$Ó?Ð?ùò.ùò*s   Á5EÂ+8Erc   )rË   rÌ   rÍ   rÎ   r!   r©  r   r²   r¦  rÐ   r§  r¨  r«  rª  r™   r]  r¶   rÂ   rÒ   rÓ   s   @r5   r’  r’  ™  s†   ø„ ñMð^ €IØ×Ñ€Gàñó ðð ñó ðð ñó ðð ñ$ó ð$ò?òIó
÷@ð @r7   r’  c                   ó€   — e Zd ZdZeZej                  Ze	d„ «       Z
e	d„ «       Ze	d„ «       Ze	d„ «       Zd„ Zd„ Zd
d	„Zy)rP  a  
    Sinh integral.

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

    This function is defined by

    .. math:: \operatorname{Shi}(z) = \int_0^z \frac{\sinh{t}}{t} \mathrm{d}t.

    It is an entire function.

    Examples
    ========

    >>> from sympy import Shi
    >>> from sympy.abc import z

    The Sinh integral is a primitive of $\sinh(z)/z$:

    >>> Shi(z).diff(z)
    sinh(z)/z

    It is unbranched:

    >>> from sympy import exp_polar, I, pi
    >>> Shi(z*exp_polar(2*I*pi))
    Shi(z)

    The $\sinh$ integral behaves much like ordinary $\sinh$ under
    multiplication by $i$:

    >>> Shi(I*z)
    I*Si(z)
    >>> Shi(-z)
    -Shi(z)

    It can also be expressed in terms of exponential integrals, but beware
    that the latter is branched:

    >>> from sympy import expint
    >>> Shi(z).rewrite(expint)
    expint(1, z)/2 - expint(1, z*exp_polar(I*pi))/2 - I*pi/2

    See Also
    ========

    Si: Sine integral.
    Ci: Cosine integral.
    Chi: Hyperbolic cosine integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Trigonometric_integral

    c                 ó"   — t         j                  S r�   ©r   rJ   r¸  s    r5   r§  z
Shi._atinfh  ó   € ä�z‰zÐr7   c                 ó"   — t         j                  S r�   )r   rL   r¸  s    r5   r¨  zShi._atneginfl  s   € ä×!Ñ!Ð!r7   c                 ó   — t        |«       S r�   )rP  r3  s     r5   r«  zShi._minusfactorp  s   € ä�A“ˆwˆr7   c                 ó,   — t         t        |«      z  |z  S r�   )r	   r“  r¼  s      r5   rª  zShi._Ifactort  s   € ä”�A“‰w�t‰|Ðr7   c                 ó†   — t        |«      t        t        t        t        z  «      |z  «      z
  dz  t        t        z  dz  z
  S r–   )rx  r   r	   r
   rŽ   s      r5   r™   zShi._eval_rewrite_as_expintx  s5   € ä�1“œœ9¤Q¤r¡T›?¨1Ñ,Ó-Ñ-¨qÑ0´1´R±4¸±6Ñ9Ð9r7   c                 ó<   — | j                   d   }|j                  ryy rn   rr   r‰  s     r5   rs   zShi._eval_is_zero|  rš  r7   Nc                 ó6  — | j                   d   j                  |«      }|j                  |d«      }|t        j                  u r+|j                  |dt        |«      j                  rdnd¬«      }|j                  r|S |j                  s| j                  |«      S | S )Nr   r¬   r­   r®   rÂ  r´   s         r5   r¶   zShi._eval_as_leading_term�  s~   € Ø�i‰i˜‰l×*Ñ*¨1Ó-ˆØ�x‰x˜˜1‹~ˆà”1—5‘5‰=Ø—9‘9˜Q ¬b°«h×.BÒ.B¡sÈ�9ÓLˆDØ�<Š<ØˆJØ×!Ò!Ø—9‘9˜T“?Ð"àˆKr7   rc   )rË   rÌ   rÍ   rÎ   r    r©  r   r,   r¦  rÐ   r§  r¨  r«  rª  r™   rs   r¶   rò   r7   r5   rP  rP  %  su   „ ñ=ð~ €IØ�f‰f€Gàñó ðð ñ"ó ð"ð ñó ðð ñó ðò:òô
r7   rP  c                   óz   — e Zd ZdZeZej                  Ze	d„ «       Z
e	d„ «       Ze	d„ «       Ze	d„ «       Zd„ Zd	d„Zy)
rQ  a   
    Cosh integral.

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

    This function is defined for positive $x$ by

    .. math:: \operatorname{Chi}(x) = \gamma + \log{x}
                         + \int_0^x \frac{\cosh{t} - 1}{t} \mathrm{d}t,

    where $\gamma$ is the Euler-Mascheroni constant.

    We have

    .. math:: \operatorname{Chi}(z) = \operatorname{Ci}\left(e^{i \pi/2}z\right)
                         - i\frac{\pi}{2},

    which holds for all polar $z$ and thus provides an analytic
    continuation to the Riemann surface of the logarithm.
    By lifting to the principal branch we obtain an analytic function on the
    cut complex plane.

    Examples
    ========

    >>> from sympy import Chi
    >>> from sympy.abc import z

    The $\cosh$ integral is a primitive of $\cosh(z)/z$:

    >>> Chi(z).diff(z)
    cosh(z)/z

    It has a logarithmic branch point at the origin:

    >>> from sympy import exp_polar, I, pi
    >>> Chi(z*exp_polar(2*I*pi))
    Chi(z) + 2*I*pi

    The $\cosh$ integral behaves somewhat like ordinary $\cosh$ under
    multiplication by $i$:

    >>> from sympy import polar_lift
    >>> Chi(polar_lift(I)*z)
    Ci(z) + I*pi/2
    >>> Chi(polar_lift(-1)*z)
    Chi(z) + I*pi

    It can also be expressed in terms of exponential integrals:

    >>> from sympy import expint
    >>> Chi(z).rewrite(expint)
    -expint(1, z)/2 - expint(1, z*exp_polar(I*pi))/2 - I*pi/2

    See Also
    ========

    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Trigonometric_integral

    c                 ó"   — t         j                  S r�   rÙ  r¸  s    r5   r§  z
Chi._atinfÝ  rÚ  r7   c                 ó"   — t         j                  S r�   rÙ  r¸  s    r5   r¨  zChi._atneginfá  rÚ  r7   c                 ó4   — t        |«      t        t        z  z   S r�   rÎ  r3  s     r5   r«  zChi._minusfactorå  s   € ä�1‹vœœ"™‰}Ðr7   c                 ó@   — t        |«      t        t        z  dz  |z  z   S r–   rÌ  r¼  s      r5   rª  zChi._Ifactoré  s   € ä�!‹u”qœ‘t˜A‘v˜d‘{Ñ"Ð"r7   c                 óˆ   — t          t        z  dz  t        |«      t        t        t         t        z  «      |z  «      z   dz  z
  S r–   )r	   r
   rx  r   rŽ   s      r5   r™   zChi._eval_rewrite_as_expintí  s7   € Üˆr”"‰u�Q‰wœ"˜Q›%¤"¤Y¬q´©t£_°QÑ%6Ó"7Ñ7¸Ñ:Ñ:Ð:r7   Nc                 ó®  — | j                   d   j                  |||¬«      }|j                  |d«      }|t        j                  u r+|j                  |dt        |«      j                  rdnd¬«      }|j                  r;|j                  |«      \  }}|€t        |«      n|}t        |«      ||z  z   t        z   S |j                  r| j                  |«      S | S rÁ  rÒ  rÓ  s           r5   r¶   zChi._eval_as_leading_termð  rÔ  r7   rc   )rË   rÌ   rÍ   rÎ   r   r©  r   r²   r¦  rÐ   r§  r¨  r«  rª  r™   r¶   rò   r7   r5   rQ  rQ  �  ss   „ ñHðT €IØ×Ñ€Gàñó ðð ñó ðð ñó ðð ñ#ó ð#ò;ôr7   rQ  c                   óF   — e Zd ZdZdZed„ «       Zd	d„Zd„ ZeZ	d„ Z
d„ ZeZy)
ÚFresnelIntegralz& Base class for the Fresnel integrals.Tc                 óX  — |t         j                  u rt         j                  S |j                  rt         j                  S t         j
                  }|}d}|j                  d«      }|�| }|}d}|j                  t        «      }|�| j                  t        z  |z  }|}d}|r| | |«      z  S y )NFrŒ   T)	r   rJ   r{   rN   r,   rK   rR   r	   Ú_sign)rU   r}   ÚprefactÚnewargÚchangedr÷   s         r5   rX   zFresnelIntegral.eval		  s­   € ð ”—
‘
‰?Ü—6‘6ˆMð �9Š9Ü—6‘6ˆMô —%‘%ˆØˆØˆà×,Ñ,¨RÓ0ˆØˆ>Ø�hˆGØˆFØˆGà×,Ñ,¬QÓ/ˆØˆ>Ø—i‘i¤‘k 'Ñ)ˆGØˆFØˆGáØ™3˜v›;Ñ&Ð&ð r7   c                 ó–   — |dk(  r9| j                  t        j                  t        z  | j                  d   dz  z  «      S t        | |«      ‚r&  )r©  r   r{   r
   r)   r   r>   s     r5   r@   zFresnelIntegral.fdiff(	  s>   € Ø�qŠ=Ø—>‘>¤!§&¡&¬¡)¨D¯I©I°a©L¸!©OÑ";Ó<Ð<ä$ T¨8Ó4Ð4r7   c                 ó4   — | j                   d   j                  S rc   rj   rf   s    r5   rû   z&FresnelIntegral._eval_is_extended_real.	  rl   r7   c                 ó4   — | j                   d   j                  S rc   rr   rf   s    r5   rs   zFresnelIntegral._eval_is_zero3	  rt   r7   c                 óZ   — | j                  | j                  d   j                  «       «      S rc   rd   rf   s    r5   rg   zFresnelIntegral._eval_conjugate6	  rh   r7   NrÊ   )rË   rÌ   rÍ   rÎ   rÏ   rÐ   rX   r@   rû   rp   rs   rg   r6   r-   rò   r7   r5   ré  ré  	  s>   „ Ù0à€Jàñ'ó ð'ó<5ò-ð -€Oò$ò3ð -�Lr7   ré  c                   óz   ‡ — e Zd ZdZeZej                   Ze	e
d„ «       «       Zd„ Zd„ Zd„ Zd„ Zd	d„Zˆ fd„Zˆ xZS )
r„   ay  
    Fresnel integral S.

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

    This function is defined by

    .. math:: \operatorname{S}(z) = \int_0^z \sin{\frac{\pi}{2} t^2} \mathrm{d}t.

    It is an entire function.

    Examples
    ========

    >>> from sympy import I, oo, fresnels
    >>> from sympy.abc import z

    Several special values are known:

    >>> fresnels(0)
    0
    >>> fresnels(oo)
    1/2
    >>> fresnels(-oo)
    -1/2
    >>> fresnels(I*oo)
    -I/2
    >>> fresnels(-I*oo)
    I/2

    In general one can pull out factors of -1 and $i$ from the argument:

    >>> fresnels(-z)
    -fresnels(z)
    >>> fresnels(I*z)
    -I*fresnels(z)

    The Fresnel S integral obeys the mirror symmetry
    $\overline{S(z)} = S(\bar{z})$:

    >>> from sympy import conjugate
    >>> conjugate(fresnels(z))
    fresnels(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(fresnels(z), z)
    sin(pi*z**2/2)

    Defining the Fresnel functions via an integral:

    >>> from sympy import integrate, pi, sin, expand_func
    >>> integrate(sin(pi*z**2/2), z)
    3*fresnels(z)*gamma(3/4)/(4*gamma(7/4))
    >>> expand_func(integrate(sin(pi*z**2/2), z))
    fresnels(z)

    We can numerically evaluate the Fresnel integral to arbitrary precision
    on the whole complex plane:

    >>> fresnels(2).evalf(30)
    0.343415678363698242195300815958

    >>> fresnels(-2*I).evalf(30)
    0.343415678363698242195300815958*I

    See Also
    ========

    fresnelc: Fresnel cosine integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Fresnel_integral
    .. [2] https://dlmf.nist.gov/7
    .. [3] https://mathworld.wolfram.com/FresnelIntegrals.html
    .. [4] https://functions.wolfram.com/GammaBetaErf/FresnelS
    .. [5] The converging factors for the fresnel integrals
            by John W. Wrench Jr. and Vicki Alley

    c                 ón  — | dk  rt         j                  S t        |«      }t        |«      dkD  r9|d   }t        dz   |dz  z  d| z  dz
  z  d| z  d| z  dz   z  d| z  dz   z  z  |z  S |dz  |dz   | z  z  t        d«      d| z  dz
  z  t        d| z  dz   z  z  z  d| z  dz   t        d| z  dz   «      z  z  S )	Nr   r<   rŒ   r(   é   é   r’   r[   ©r   r,   r   r\   r
   r   ©r^   r2   r_   rÄ  s       r5   ra   zfresnels.taylor_term”	  sæ   € ð ˆqŠ5Ü—6‘6ˆMä˜“
ˆAÜ�>Ó" QÒ&Ø" 2Ñ&�Ü˜Q™˜˜q !™t™ Q q¡S¨1¡WÑ-¨q°©s°A°a±C¸!±G©}¸aÀ¹cÀA¹gÑ/FÑGÈ1ÑLÐLà˜!‘t  1¡˜u q™jÑ(¬A¨a«D°2°a±4¸!±8Ñ,<¼RÀ!ÀAÁ#ÈÁ'¹]Ñ,JÑKÐPQÐRSÑPSÐVWÑPWÔYbÐcdÐefÑcfÐijÑcjÓYkÑOkÑlÐlr7   c           	      ó   — t         j                  t        z   dz  t        t         j                  t        z   dz  t	        t
        «      z  |z  «      t        t        t         j                  t        z
  dz  t	        t
        «      z  |z  «      z  z
  z  S ©Nrõ  r(   ©r   rK   r	   r9   r   r
   rŽ   s      r5   rä   zfresnels._eval_rewrite_as_erf¡	  óf   € Ü—‘œ‘	˜1‰}¤¤Q§U¡U¬Q¡Y°¡M´$´r³(Ñ$:¸1Ñ$<Ó =ÄÄ#ÄqÇuÁuÌqÁyÐRSÁmÔTXÔY[ÓT\ÑF\Ð]^ÑF^ÓB_Ñ@_Ñ _Ñ`Ð`r7   c           	      ó    — t         |dz  z  dz  t        t        dd«      gt        dd«      t        dd«      gt         dz   |dz  z  dz  «      z  S )Nr’   é   rõ  r(   é   é   )r
   r$   r   rŽ   s      r5   r”   zfresnels._eval_rewrite_as_hyper¤	  sY   € Ü�!�Q‘$‰w�q‰yœ5¤(¨1¨a£.Ð!1´H¸QÀ³NÄHÈQÐPQÃNÐ3SÔVXÐZ[ÑV[ÐU[Ð\]Ð_`Ñ\`ÑU`ÐacÑUcÓdÑdÐdr7   c           
      ó   — t         |t        dd«      z  z  t        d«      |dz  t        dd«      z  z  | t        dd«      z  z  z  t        g dgt        dd«      gt        dd«      dgt         dz   |dz  z  dz  «      z  S )Né	   rõ  r(   r’   r<   r   r   )r
   r   r   r%   rŽ   s      r5   r�   z!fresnels._eval_rewrite_as_meijerg§	  sŽ   € Ü�1”h˜q !“nÑ$Ñ$¬¨Q«°°A±¼ÀÀA»Ñ0FÑ(FÈÈÌXÐVWÐYZË^ÑG[Ñ([Ñ\Ü˜"˜q˜c¤H¨Q°£NÐ#3´h¸qÀ!³nÀaÐ5HÌ2ÈqÉ5È&ÐQRÐTUÑQUÉ+ÐVXÉ.ÓYñZð 	[r7   c                 ó’   — ddl m} t        t        d|g«      j                  «      } |t        t        |dz  z  dz  «      |d|f«      S ©Nr   rW  rW   r(   )rY  rX  r   r   rZ  r"   r
   r\  s        r5   r]  z"fresnels._eval_rewrite_as_Integral«	  óB   € Ý6ÜÔ'¨¨a¨SÓ1×6Ñ6Ó7ˆÙœœB˜q !™t™G A™I›¨¨A¨q¨	Ó2Ð2r7   c                 óð  — ddl m} | j                  d   j                  |||¬«      }|j	                  |d«      }|t
        j                  u r+|j                  |dt        |«      j                  rdnd¬«      }|j                  rt        |dz  z  dz  S |t
        j                  t
        j                  fv r3|t
        j                  u rd	nd
}|t
        j                  z   |||«      z   S | j                  |«      S )Nr   r¹   r©   r¬   r­   r®   r’   rþ  r<   rŒ   )r»   rº   r)   r°   r±   r   r²   r›   r   rO  rN   r
   rJ   rL   r{   r.   ©r/   r2   rª   r«   rº   rV   rµ   rÈ   s           r5   r¶   zfresnels._eval_as_leading_term°	  sÌ   € Ý,Ø�i‰i˜‰l×*Ñ*¨1°4¸dÐ*ÓCˆØ�x‰x˜˜1‹~ˆà”1×$Ñ$Ñ$Ø—9‘9˜Q ¬b°«h×.BÒ.B¡sÈ�9ÓLˆDØ�<Š<Ü�c˜1‘f‘9˜Q‘;ÐØ”a—j‘j¤!×"4Ñ"4Ð5Ñ5ØœQŸZ™ZÑ'‘¨RˆAØ”Q—V‘V‘8™e A q›kÑ)Ð)à—9‘9˜T“?Ð"r7   c           
      ón  •— ddl m} |d   }|t        j                  t        j                   fv �rà| j                  d   }t        d|«      D �cg c]b  }d|z  dz   |k  rUt        j                  |z  t        d|z  dz   «      z  dd|z  dz   z  |d|z  dz   z  z  dd|z  z  z  t        d|z  «      z  z  ‘Œd }	}dd|z  z  gt        d|«      D �cg c]h  }d|z  dz   |k  r[t        j                  |z  t        d|z  dz
  «      z  dd|z  dz   z  |d|z  dz   z  z  dd|z  dz
  z  z  t        d|z  dz
  «      z  z  ‘Œj c}z   }
|	D �cg c]  }t        dt        z  «       |z  ‘Œ }	}|
D �cg c]  }t        dt        z  «       |z  ‘Œ }
}|t        j                  u rdnd}|t        j                  z  t        |dz  «      t        |	Ž z  t        |dz  «      t        |
Ž z  z   j                  |t        dt        z  «      |z  «      z    |d||z  z  |«      z   S t        ‰| �A  ||||«      S c c}w c c}w c c}w c c}w ©Nr   r¹   rõ  r’   r<   r(   rŒ   )r»   rº   r   rJ   r)   rÀ   rM   r   r   r
   r{   r"   r   r!   r±   rÁ   rÂ   ©r/   r^   rÃ   r2   rª   rº   rÄ   r}   r`   rÄ  rÅ  rW   rÈ   rÉ   s                €r5   rÂ   zfresnels._eval_aseries¿	  sV  ø€ Ý,Ø�a‘ˆð ”Q—Z‘Z¤!§*¡* Ð-Ò-Ø—	‘	˜!‘ˆAô    1›+ö6à¨¨1©¨q©°1ªô —‘ Ñ!¤I¨a°©c°A©gÓ$6Ñ6Ø�a˜‘c˜A‘g‘,  Q q¡S¨1¡W¡Ñ-°°A°a±C±Ñ8¼À1ÀQÁ3»ÑGóIð 6ˆAð 6ð �A�a‘C‘�	ä  1›+ö6à¨¨1©¨q©°1ªô Ÿ]™]¨AÑ-´	¸!¸A¹#À¹'Ó0BÑBØ�a˜‘c˜A‘g‘,  Q q¡S¨1¡W¡Ñ-°°A°a±C¸!±G±Ñ<¼YÀqÈÁsÈQÁwÓ=OÑOóQò 6ñ 6ˆAð )*Ö* 1”$�qœ‘t“*�˜Q“Ð*ˆAÐ*Ø()Ö* 1”$�qœ‘t“*�˜Q“Ð*ˆAÐ*ØœaŸj™jÑ(‘¨bˆAð ”Q—V‘V‘8œs 1 a¡4›y¬¨a¨Ñ0´3°q¸!±t³9¼SÀ!¸WÑ3DÑDß‘$�qœ$˜q¤™t›* Q™,Ó'ñ(Ù*/°°!°Q±$±¸Ó*:ñ;ð ;ô ‰wÑ$ Q¨¨q°$Ó7Ð7ùò#6ùò6ùò +ùÚ*s   ÁA'H#ÃA-H(ÅH-Å&H2rc   )rË   rÌ   rÍ   rÎ   r"   r©  r   rK   rë  rÑ   r   ra   rä   r”   r�   r]  r¶   rÂ   rÒ   rÓ   s   @r5   r„   r„   <	  s^   ø„ ñSðh €IØ�U‰UˆF€EàØñ	mó ó ð	mòaòeò[ò3ó
#÷8ð 8r7   r„   c                   óx   ‡ — e Zd ZdZeZej                  Ze	e
d„ «       «       Zd„ Zd„ Zd„ Zd„ Zd	d„Zˆ fd„Zˆ xZS )
rƒ   au  
    Fresnel integral C.

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

    This function is defined by

    .. math:: \operatorname{C}(z) = \int_0^z \cos{\frac{\pi}{2} t^2} \mathrm{d}t.

    It is an entire function.

    Examples
    ========

    >>> from sympy import I, oo, fresnelc
    >>> from sympy.abc import z

    Several special values are known:

    >>> fresnelc(0)
    0
    >>> fresnelc(oo)
    1/2
    >>> fresnelc(-oo)
    -1/2
    >>> fresnelc(I*oo)
    I/2
    >>> fresnelc(-I*oo)
    -I/2

    In general one can pull out factors of -1 and $i$ from the argument:

    >>> fresnelc(-z)
    -fresnelc(z)
    >>> fresnelc(I*z)
    I*fresnelc(z)

    The Fresnel C integral obeys the mirror symmetry
    $\overline{C(z)} = C(\bar{z})$:

    >>> from sympy import conjugate
    >>> conjugate(fresnelc(z))
    fresnelc(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(fresnelc(z), z)
    cos(pi*z**2/2)

    Defining the Fresnel functions via an integral:

    >>> from sympy import integrate, pi, cos, expand_func
    >>> integrate(cos(pi*z**2/2), z)
    fresnelc(z)*gamma(1/4)/(4*gamma(5/4))
    >>> expand_func(integrate(cos(pi*z**2/2), z))
    fresnelc(z)

    We can numerically evaluate the Fresnel integral to arbitrary precision
    on the whole complex plane:

    >>> fresnelc(2).evalf(30)
    0.488253406075340754500223503357

    >>> fresnelc(-2*I).evalf(30)
    -0.488253406075340754500223503357*I

    See Also
    ========

    fresnels: Fresnel sine integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Fresnel_integral
    .. [2] https://dlmf.nist.gov/7
    .. [3] https://mathworld.wolfram.com/FresnelIntegrals.html
    .. [4] https://functions.wolfram.com/GammaBetaErf/FresnelC
    .. [5] The converging factors for the fresnel integrals
            by John W. Wrench Jr. and Vicki Alley

    c                 óV  — | dk  rt         j                  S t        |«      }t        |«      dkD  r9|d   }t        dz   |dz  z  d| z  dz
  z  d| z  d| z  dz
  z  d| z  dz   z  z  |z  S ||dz   | z  z  t        d«      d| z  z  t        d| z  z  z  z  d| z  dz   t        d| z  «      z  z  S )	Nr   r<   rŒ   r(   rõ  r’   rö  r[   r÷  rø  s       r5   ra   zfresnelc.taylor_term5
  sË   € ð ˆqŠ5Ü—6‘6ˆMä˜“
ˆAÜ�>Ó" QÒ&Ø" 2Ñ&�Ü˜Q™˜˜q !™t™ Q q¡S¨1¡WÑ-¨q°©s°A°a±C¸!±G©}¸aÀ¹cÀA¹gÑ/FÑGÈ1ÑLÐLà˜Q ™T˜E A™:‘~¬¨1«°°1±©´b¸1¸Q¹3±iÑ)?Ñ@ÀQÀqÁSÈ1ÁWÌiÐXYÐZ[ÑX[ËnÑD\Ñ]Ð]r7   c           	      ó   — t         j                  t        z
  dz  t        t         j                  t        z   dz  t	        t
        «      z  |z  «      t        t        t         j                  t        z
  dz  t	        t
        «      z  |z  «      z  z   z  S rú  rû  rŽ   s      r5   rä   zfresnelc._eval_rewrite_as_erfB
  rü  r7   c           	      óŽ   — |t        t        dd«      gt        j                  t        dd«      gt        dz   |dz  z  dz  «      z  S )Nr<   rõ  é   r(   r   )r$   r   r   r{   r
   rŽ   s      r5   r”   zfresnelc._eval_rewrite_as_hyperE
  sA   € Ø”5œ( 1 a›.Ð)¬A¯F©F´H¸QÀ³NÐ+CÄbÈ!ÁeÀVÈAÈqÉDÁ[ÐQSÁ^ÓTÑTÐTr7   c           
      óô   — t         |t        dd«      z  z  t        d«      t        |dz  d«      z  t        | d«      z  z  t	        g dgt        dd«      gt        dd«      dgt         dz   |dz  z  dz  «      z  S )Nr’   rõ  r(   r<   r   r   )r
   r   r   r   r%   rŽ   s      r5   r�   z!fresnelc._eval_rewrite_as_meijergH
  s‚   € Ü�1”h˜q !“nÑ$Ñ$¬¨Q«´°Q¸±T¸1³Ñ(=¼dÀAÀ2Àq»kÑ(IÑJÜ˜"˜q˜c¤H¨Q°£NÐ#3´h¸qÀ!³nÀaÐ5HÌ2ÈqÉ5È&ÐQRÐTUÑQUÉ+ÐVXÉ.ÓYñZð 	[r7   c                 ó’   — ddl m} t        t        d|g«      j                  «      } |t        t        |dz  z  dz  «      |d|f«      S r  )rY  rX  r   r   rZ  r!   r
   r\  s        r5   r]  z"fresnelc._eval_rewrite_as_IntegralL
  r  r7   c                 óÖ  — ddl m} | j                  d   j                  |||¬«      }|j	                  |d«      }|t
        j                  u r+|j                  |dt        |«      j                  rdnd¬«      }|j                  r|S |t
        j                  t
        j                  fv r3|t
        j                  u rdnd}|t
        j                  z   |||«      z   S | j                  |«      S )	Nr   r¹   r©   r¬   r­   r®   r<   rŒ   )r»   rº   r)   r°   r±   r   r²   r›   r   rO  rN   rJ   rL   r{   r.   r  s           r5   r¶   zfresnelc._eval_as_leading_termQ
  s¿   € Ý,Ø�i‰i˜‰l×*Ñ*¨1°4¸dÐ*ÓCˆØ�x‰x˜˜1‹~ˆà”1×$Ñ$Ñ$Ø—9‘9˜Q ¬b°«h×.BÒ.B¡sÈ�9ÓLˆDØ�<Š<ØˆJØ”a—j‘j¤!×"4Ñ"4Ð5Ñ5ØœQŸZ™ZÑ'‘¨RˆAØ”Q—V‘V‘8™e A q›kÑ)Ð)à—9‘9˜T“?Ð"r7   c           
      ój  •— ddl m} |d   }|t        j                  t        j                   fv �rÞ| j                  d   }t        |«      D �cg c]b  }d|z  dz   |k  rUt        j                  |z  t        d|z  dz   «      z  dd|z  dz   z  |d|z  dz   z  z  dd|z  z  z  t        d|z  «      z  z  ‘Œd }	}dd|z  z  gt        d|«      D �cg c]h  }d|z  dz   |k  r[t        j                  |z  t        d|z  dz
  «      z  dd|z  dz   z  |d|z  dz   z  z  dd|z  dz
  z  z  t        d|z  dz
  «      z  z  ‘Œj c}z   }
|	D �cg c]  }t        dt        z  «       |z  ‘Œ }	}|
D �cg c]  }t        dt        z  «      |z  ‘Œ }
}|t        j                  u rdnd}|t        j                  z  t        |dz  «      t        |	Ž z  t        |dz  «      t        |
Ž z  z   j                  |t        dt        z  «      |z  «      z    |d||z  z  |«      z   S t        ‰| �A  ||||«      S c c}w c c}w c c}w c c}w r	  )r»   rº   r   rJ   r)   rÀ   rM   r   r   r
   r{   r!   r   r"   r±   rÁ   rÂ   r
  s                €r5   rÂ   zfresnelc._eval_aseries`
  sR  ø€ Ý,Ø�a‘ˆð ”Q—Z‘Z¤!§*¡* Ð-Ò-Ø—	‘	˜!‘ˆAô   ›(ö3à a¨¡c¨A¡g°¢kô —‘ Ñ!¤I¨a°©c°A©gÓ$6Ñ6Ø�a˜‘c˜A‘g‘,  Q q¡S¨1¡W¡Ñ-°°A°a±C±Ñ8¼À1ÀQÁ3»ÑGóIð 3ˆAð 3ð �A�a‘C‘�	ä  1›+ö6à¨¨1©¨q©°1ªô Ÿ]™]¨AÑ-´	¸!¸A¹#À¹'Ó0BÑBØ�a˜‘c˜A‘g‘,  Q q¡S¨1¡W¡Ñ-°°A°a±C¸!±G±Ñ<¼YÀqÈÁsÈQÁwÓ=OÑOóQò 6ñ 6ˆAð )*Ö* 1”$�qœ‘t“*�˜Q“Ð*ˆAÐ*Ø()Ö* 1”$�qœ‘t“*˜Q“,Ð*ˆAÐ*ØœaŸj™jÑ(‘¨bˆAð ”Q—V‘V‘8œs 1 a¡4›y¬¨a¨Ñ0´3°q¸!±t³9¼SÀ!¸WÑ3DÑDß‘$�qœ$˜q¤™t›* Q™,Ó'ñ(Ù*/°°!°Q±$±¸Ó*:ñ;ð ;ô ‰wÑ$ Q¨¨q°$Ó7Ð7ùò#3ùò6ùò +ùÚ*s   ÁA'H!ÃA-H&ÅH+Å%H0rc   )rË   rÌ   rÍ   rÎ   r!   r©  r   rK   rë  rÑ   r   ra   rä   r”   r�   r]  r¶   rÂ   rÒ   rÓ   s   @r5   rƒ   rƒ   Ý	  s\   ø„ ñSðh €IØ�E‰E€EàØñ	^ó ó ð	^òaòUò[ò3ó
#÷8ð 8r7   rƒ   c                   ó@   ‡ — e Zd ZdZed„ «       Zˆ fd„Zdd„Zd„ Zˆ xZ	S )r�   zi
    Helper function to make the $\mathrm{erf}(z)$ function
    tractable for the Gruntz algorithm.

    c                 ó<   — |j                   rt        j                  S y r�   )rN   r   rK   )rU   rV   s     r5   rX   z
_erfs.eval‰
  s   € à�;Š;Ü—5‘5ˆLð r7   c                 óP  •— ddl m} |d   }|t        j                  u r£| j                  d   }t        |«      D �cg c]O  }dt        t        «      z  t        d|z  «      z  t        d«       | z  z  t        |«      z  d|z  d|z  dz   z  z  ‘ŒQ }	} |d|d|z  dz   z  z  |«      }
t        |	Ž j                  |||«      |
z   S |j                  t        «      }|t        j                  u r£| j                  d   }t        |«      D �cg c]O  }dt        t        «      z  t        d|z  «      z  t        d«       | z  z  t        |«      z  d|z  d|z  dz   z  z  ‘ŒQ }	} |d|d|z  dz   z  z  |«      }
t        |	Ž j                  |||«      |
z   S t        ‰| �9  ||||«      S c c}w c c}w )Nr   r¹   r<   r(   rõ  )r»   rº   r   rJ   r)   rÀ   r   r
   r   r   re  rR   r	   rÁ   rÂ   )r/   r^   rÃ   r2   rª   rº   rÄ   r}   r`   ÚlÚorW   rÉ   s               €r5   rÂ   z_erfs._eval_aseriesŽ
  sè  ø€ Ý,Ø�a‘ˆð ”A—J‘JÑØ—	‘	˜!‘ˆAäDIÈ!ÃHöNØ?@ð ”4œ“8‘œi¨¨!©›nÑ,¬qØó0ð /Ø�rñ.ñ Ü$ Q›<ñ(Ø+,¨Q©3°!°A±#¸±'Ñ*:ó;ð NˆAð Ná�a˜˜A˜a™C !™G™‘n aÓ(ˆAä˜�G×*Ñ*¨1¨a°Ó6¸Ñ:Ð:ð ×*Ñ*¬1Ó-ˆØ”—
‘
‰?Ø—	‘	˜!‘ˆAô EJÈ!ÃHöNØ?@ð ”4œ“8‘œi¨¨!©›nÑ,¬qØó0ð /Ø�rñ.ñ Ü$ Q›<ñ(Ø+,¨Q©3°!°A±#¸±'Ñ*:ó;ð NˆAð Ná�a˜˜A˜a™C !™G™‘n aÓ(ˆAä˜�G×*Ñ*¨1¨a°Ó6¸Ñ:Ð:ô ‰wÑ$ Q¨¨q°$Ó7Ð7ùò%NùòNs   »AFÄAF#c                 óŠ   — |dk(  r3| j                   d   }dt        t        «      z  d|z  t        |«      z  z   S t	        | |«      ‚)Nr<   r   r[   r(   )r)   r   r
   r�   r   ©r/   r?   r}   s      r5   r@   z_erfs.fdiff©
  sB   € Ø�qŠ=Ø—	‘	˜!‘ˆAØ”dœ2“h‘;  1¡¤U¨1£X¡Ñ-Ð-ä$ T¨8Ó4Ð4r7   c                 óX   — t         j                  t        |«      z
  t        |dz  «      z  S r–   )r   rK   r9   r   rŽ   s      r5   Ú_eval_rewrite_as_intractablez"_erfs._eval_rewrite_as_intractable°
  s!   € Ü—‘œ˜A›‘¤ A q¡D£	Ñ)Ð)r7   rÊ   )
rË   rÌ   rÍ   rÎ   rÐ   rX   rÂ   r@   r  rÒ   rÓ   s   @r5   r�   r�   ƒ
  s+   ø„ ñð
 ñó ðô8ó65ö*r7   r�   c                   óH   ‡ — e Zd ZdZˆ fd„Zdd„Zd„ Zdˆ fd„	Zd	ˆ fd„	Zˆ xZ	S )
rT  z~
    Helper function to make the $\mathrm{Ei}(z)$ and $\mathrm{li}(z)$
    functions tractable for the Gruntz algorithm.

    c                 óF  •— ddl m} |d   t        j                  k7  rt        t
        | �  ||||«      S | j                  d   }t        |«      D �cg c]  }t        |«      d|z  |dz   z  z  ‘Œ }} |d||dz   z  z  |«      }	t        |Ž j                  |||«      |	z   S c c}w ri  )r»   rº   r   rJ   rÁ   r�   rÂ   r)   rÀ   r   r   re  )r/   r^   rÃ   r2   rª   rº   r}   r`   r  r  rÉ   s             €r5   rÂ   z_eis._eval_aseries¼
  s¢   ø€ Ý,Ø�‰8”q—z‘zÒ!Üœ Ñ3°A°u¸aÀÓFÐFà�I‰I�a‰LˆÜ49¸!³HÖ=¨qŒY�q‹\˜Q˜q™S A¨¡E™NÓ*Ð=ˆÐ=Ù�!�A˜˜A™‘J‘, Ó"ˆä�Q�×&Ñ& q¨!¨TÓ2°QÑ6Ð6ùò >s   ÁBc                 ó€   — |dk(  r.| j                   d   }t        j                  |z  t        |«      z
  S t	        | |«      ‚)Nr<   r   )r)   r   rK   rT  r   r  s      r5   r@   z
_eis.fdiffÈ
  s:   € Ø�qŠ=Ø—	‘	˜!‘ˆAÜ—5‘5˜1‘9œt A›wÑ&Ð&ä$ T¨8Ó4Ð4r7   c                 ó2   — t        | «      t        |«      z  S r�   )r   r?  rŽ   s      r5   r  z!_eis._eval_rewrite_as_intractableÏ
  s   € Ü�A�2‹w”r˜!“u‰}Ðr7   c                 óØ   •— | j                   d   j                  |d«      }|j                  r- | j                  | j                   Ž }|j	                  |||¬«      S t
        ‰| �  |||¬«      S )Nr   r©   )r)   r›   rN   r  r¶   rÁ   )r/   r2   rª   r«   ra  rg  rÉ   s         €r5   r¶   z_eis._eval_as_leading_termÒ
  si   ø€ Ø�Y‰Y�q‰\×Ñ  1Ó%ˆØ�:Š:Ø1�×1Ñ1°4·9±9Ð=ˆAØ×*Ñ*¨1°4¸dÐ*ÓCÐCÜ‰wÑ,¨Q°TÀÐ,ÓEÐEr7   c                 óÔ   •— | j                   d   j                  |d«      }|j                  r, | j                  | j                   Ž }|j	                  |||«      S t
        ‰| �  |||«      S rc   )r)   r›   rN   r  re  rÁ   rf  s          €r5   re  z_eis._eval_nseriesÙ
  sa   ø€ Ø�Y‰Y�q‰\×Ñ  1Ó%ˆØ�:Š:Ø1�×1Ñ1°4·9±9Ð=ˆAØ—?‘? 1 a¨Ó.Ð.Ü‰wÑ$ Q¨¨4Ó0Ð0r7   rÊ   rc   rj  )
rË   rÌ   rÍ   rÎ   rÂ   r@   r  r¶   re  rÒ   rÓ   s   @r5   rT  rT  ´
  s'   ø„ ñô	7ó5òõF÷1ñ 1r7   rT  N)T)MrÎ   Ú
sympy.corer   Úsympy.core.addr   Úsympy.core.cacher   Úsympy.core.functionr   r   r   Úsympy.core.numbersr	   r
   r   Úsympy.core.relationalr   Úsympy.core.powerr   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Úsympy.core.sympifyr   Ú(sympy.functions.combinatorial.factorialsr   r   r   Ú$sympy.functions.elementary.complexesr   r   r   Ú#sympy.functions.elementary.integersr   r   Ú(sympy.functions.elementary.miscellaneousr   r   Ú&sympy.functions.elementary.exponentialr   r   r   Ú%sympy.functions.elementary.hyperbolicr   r    Ú(sympy.functions.elementary.trigonometricr!   r"   r#   Úsympy.functions.special.hyperr$   r%   r6   r9   r¢   r¦   r  rD   rP   rQ   r?  r˜   rx  rL  r‹  r¤  r“  r’  rP  rQ  ré  r„   rƒ   r�   rT  rò   r7   r5   ú<module>r5     s   ðñFõ "Ý Ý $ß HÑ Hß .Ñ .Ý 'Ý  Ý "ß :Ý &ß [Ñ [ß LÑ Lß >ß ?ß FÑ Fß <ß CÑ Cß 8óô*^-ˆ(ô ^-ôB|Hˆ8ô |Hô~}Bˆ8ô }Bô@O!ˆ8ô O!ôbZ$ˆXô Z$ôzO$ˆxô O$ôd[ˆhô [ôBt@ˆô t@ôn}?ˆXô }?ò@ ôFeˆô eôNZ+ˆô Z+ô@<J˜Hô <Jô~EÐ	ô EôPJ@Ð	ô J@ôXgÐ
ô gôTnÐ
ô nôj5-�hô 5-ôp^8ˆô ^8ôB^8ˆô ^8ôL.*ˆHô .*ôb*1ˆ8õ *1r7   