§
    OŠtj0 ã                   ó¼  — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZmZ d dlmZmZmZ d d	lmZ d d
lmZmZmZ d dlmZ d dlmZmZ d dl m!Z!m"Z"m#Z#m$Z$ d dl%m&Z& d dl'm(Z(m)Z) d dl*m+Z+m,Z,m-Z- d dl.m/Z/m0Z0m1Z1m2Z2m3Z3 d dl4m5Z5m6Z6m7Z7 d dl8m9Z9 d dl:m;Z; d dl<m=Z=m>Z>  G d„ de¦  «        Z? G d„ de?¦  «        Z@ G d„ de?¦  «        ZA G d„ de?¦  «        ZB G d„ de?¦  «        ZC G d „ d!e?¦  «        ZD G d"„ d#e?¦  «        ZEd$„ ZF G d%„ d&e?¦  «        ZGd'„ ZHd(„ ZI G d)„ d*eG¦  «        ZJ G d+„ d,eG¦  «        ZK G d-„ d.eG¦  «        ZL G d/„ d0eL¦  «        ZM G d1„ d2eL¦  «        ZNdGd5„ZO G d6„ d7e¦  «        ZP G d8„ d9eP¦  «        ZQ G d:„ d;eP¦  «        ZR G d<„ d=eP¦  «        ZS G d>„ d?eP¦  «        ZT G d@„ dAe¦  «        ZU G dB„ dCe¦  «        ZV G dD„ dEe¦  «        ZWdFS )Hé    ©Úwraps)ÚS)ÚAdd)Úcacheit)ÚExpr)ÚDefinedFunctionÚArgumentIndexErrorÚ_mexpand)Úfuzzy_orÚ	fuzzy_not)ÚRationalÚpiÚI)ÚPow)ÚDummyÚuniquely_named_symbolÚWild)Úsympify)Ú	factorialÚRisingFactorial)ÚsinÚcosÚcscÚcot)Úceiling)ÚexpÚlog)ÚcbrtÚsqrtÚroot)ÚAbsÚreÚimÚ
polar_liftÚ
unpolarify)ÚgammaÚdigammaÚ
uppergamma)Úhyper)Úspherical_bessel_fn)ÚmpÚworkprecc                   ót   — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zdd„Z	d„ Z
d„ Zd	„ Zd
„ ZdS )Ú
BesselBaseað  
    Abstract base class for Bessel-type functions.

    This class is meant to reduce code duplication.
    All Bessel-type functions can 1) be differentiated, with the derivatives
    expressed in terms of similar functions, and 2) be rewritten in terms
    of other Bessel-type functions.

    Here, Bessel-type functions are assumed to have one complex parameter.

    To use this base class, define class attributes ``_a`` and ``_b`` such that
    ``2*F_n' = -_a*F_{n+1} + b*F_{n-1}``.

    c                 ó   — | j         d         S )z( The order of the Bessel-type function. r   ©Úargs©Úselfs    ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/functions/special/bessel.pyÚorderzBesselBase.order4   ó   € ð Œy˜Œ|Ðó    c                 ó   — | j         d         S )z+ The argument of the Bessel-type function. é   r1   r3   s    r5   ÚargumentzBesselBase.argument9   r7   r8   c                 ó   — d S ©N© ©ÚclsÚnuÚzs      r5   ÚevalzBesselBase.eval>   s   € àˆr8   é   c                 óè   — |dk    rt          | |¦  «        ‚| j        dz  |                      | j        dz
  | j        ¦  «        z  | j        dz  |                      | j        dz   | j        ¦  «        z  z
  S ©NrD   r:   )r
   Ú_bÚ	__class__r6   r;   Ú_a©r4   Úargindexs     r5   ÚfdiffzBesselBase.fdiffB   so   € Ø�qŠ=ˆ=Ý$ T¨8Ñ4Ô4Ð4Ø”˜‘	˜DŸNšN¨4¬:¸©>¸4¼=ÑIÔIÑIØ”˜‘	˜DŸNšN¨4¬:¸©>¸4¼=ÑIÔIÑIñJð 	Kr8   c                 ó¤   — | j         }|j        du r?|                      | j                             ¦   «         |                     ¦   «         ¦  «        S d S ©NF)r;   Úis_extended_negativerH   r6   Ú	conjugate©r4   rB   s     r5   Ú_eval_conjugatezBesselBase._eval_conjugateH   sI   € ØŒMˆØÔ! UÐ*Ð*Ø—>’> $¤*×"6Ò"6Ñ"8Ô"8¸!¿+º+¹-¼-ÑHÔHÐHð +Ð*r8   c           	      ó¤  — | j         | j        }}|                     |¦  «        rdS |                     ||¦  «        sd S |                     ||¦  «        }|j        rOt          | t          t          t          t          t          t          f¦  «        s|j        st          |j        ¦  «        S t          t!          |j        |j        g¦  «        ¦  «        S rN   )r6   r;   ÚhasÚ_eval_is_meromorphicÚsubsÚ
is_integerÚ
isinstanceÚbesseljÚbesseliÚhn1Úhn2ÚjnÚynÚis_zeror   Úis_infiniter   )r4   ÚxÚarA   rB   Úz0s         r5   rU   zBesselBase._eval_is_meromorphicM   sµ   € Ø”
˜DœMˆAˆà�6Š6�!‰9Œ9ð 	Ø�5Ø×%Ò% a¨Ñ+Ô+ð 	Ø�4Ø�VŠV�A�q‰\Œ\ˆØŒ=ð 	1Ý˜$¥­'µ3½½RÅÐ DÑEÔEð 1ÈRÌZð 1Ý  ¤Ñ0Ô0Ð0Ý� 2¤:¨r¬~Ð">Ñ?Ô?Ñ@Ô@Ð@r8   c                 ó  — | j         | j        | j        }}}|j        rã|dz
  j        rh| j         | j        z   ||dz
  |¦  «                             ¦   «         z  d| j        z  |dz
  z   ||dz
  |¦  «                             ¦   «         z  |z  z   S |dz   j        rgd| j        z  |dz   z   ||dz   |¦  «                             ¦   «         z  |z  | j        | j        z   ||dz   |¦  «                             ¦   «         z  z
  S | S ©Nr:   rD   )	r6   r;   rH   Úis_realÚis_positiverI   rG   Ú_eval_expand_funcÚis_negative)r4   ÚhintsrA   rB   Úfs        r5   rh   zBesselBase._eval_expand_funcZ   s   € Ø”:˜tœ}¨d¬nˆqˆAˆØŒ:ð 	JØ�Q‘Ô#ð JØœ˜ ¤Ñ(¨¨¨2°©6°1©¬×)GÒ)GÑ)IÔ)IÑIØ˜$œ'™	 2¨¡6Ñ*¨1¨1¨R°!©V°Q©<¬<×+IÒ+IÑ+KÔ+KÑKÈAÑMñNð Oà�q‘&Ô%ð JØ˜$œ'™	 2¨¡6Ñ*¨1¨1¨R°!©V°Q©<¬<×+IÒ+IÑ+KÔ+KÑKÈAÑMØœ ¤™¨¨¨"¨q©&°!©¬×(FÒ(FÑ(HÔ(HÑHñIð Jàˆr8   c                 ó$   — ddl m}  || ¦  «        S )Nr   )Ú
besselsimp)Úsympy.simplify.simplifyrm   )r4   Úkwargsrm   s      r5   Ú_eval_simplifyzBesselBase._eval_simplifye   s$   € Ø6Ð6Ð6Ð6Ð6Ð6Øˆz˜$ÑÔÐr8   N©rD   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr6   r;   ÚclassmethodrC   rL   rR   rU   rh   rp   r>   r8   r5   r/   r/   $   sÉ   € € € € € ðð ð ðð ñ „Xðð ðð ñ „Xðð ðð ñ „[ððKð Kð Kð KðIð Ið Ið
Að Að Að	ð 	ð 	ð ð  ð  ð  ð  r8   r/   c                   óx   ‡ — e Zd ZdZej        Zej        Zed„ ¦   «         Z	d„ Z
d„ Zd„ Zˆ fd„Zd„ Zd
ˆ fd	„	Zˆ xZS )rY   a4  
    Bessel function of the first kind.

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

    The Bessel $J$ function of order $\nu$ is defined to be the function
    satisfying Bessel's differential equation

    .. math ::
        z^2 \frac{\mathrm{d}^2 w}{\mathrm{d}z^2}
        + z \frac{\mathrm{d}w}{\mathrm{d}z} + (z^2 - \nu^2) w = 0,

    with Laurent expansion

    .. math ::
        J_\nu(z) = z^\nu \left(\frac{1}{\Gamma(\nu + 1) 2^\nu} + O(z^2) \right),

    if $\nu$ is not a negative integer. If $\nu=-n \in \mathbb{Z}_{<0}$
    *is* a negative integer, then the definition is

    .. math ::
        J_{-n}(z) = (-1)^n J_n(z).

    Examples
    ========

    Create a Bessel function object:

    >>> from sympy import besselj, jn
    >>> from sympy.abc import z, n
    >>> b = besselj(n, z)

    Differentiate it:

    >>> b.diff(z)
    besselj(n - 1, z)/2 - besselj(n + 1, z)/2

    Rewrite in terms of spherical Bessel functions:

    >>> b.rewrite(jn)
    sqrt(2)*sqrt(z)*jn(n - 1/2, z)/sqrt(pi)

    Access the parameter and argument:

    >>> b.order
    n
    >>> b.argument
    z

    See Also
    ========

    bessely, besseli, besselk

    References
    ==========

    .. [1] Abramowitz, Milton; Stegun, Irene A., eds. (1965), "Chapter 9",
           Handbook of Mathematical Functions with Formulas, Graphs, and
           Mathematical Tables
    .. [2] Luke, Y. L. (1969), The Special Functions and Their
           Approximations, Volume 1
    .. [3] https://en.wikipedia.org/wiki/Bessel_function
    .. [4] https://functions.wolfram.com/Bessel-TypeFunctions/BesselJ/

    c                 óö  — |j         r|j         rt          j        S |j        r	|j         du st	          |¦  «        j        rt          j        S t	          |¦  «        j        r|j        durt          j        S |j	        rt          j
        S |t          j        t          j        fv rt          j        S |                     ¦   «         r||z  | | z  z  t          || ¦  «        z  S |j        rm|                     ¦   «         r"t          j        | z  t          | |¦  «        z  S |                     t"          ¦  «        }|rt"          |z  t%          ||¦  «        z  S |j        r&t'          |¦  «        }||k    rt          ||¦  «        S nS|                     ¦   «         \  }}|dk    r6t+          d|z  t,          z  |z  t"          z  ¦  «        t          ||¦  «        z  S t'          |¦  «        }||k    rt          ||¦  «        S d S )NFTr   rD   )r_   r   ÚOnerW   r#   rg   ÚZerori   ÚComplexInfinityÚis_imaginaryÚNaNÚInfinityÚNegativeInfinityÚcould_extract_minus_signrY   ÚNegativeOneÚextract_multiplicativelyr   rZ   r&   Úextract_branch_factorr   r   ©r@   rA   rB   ÚnewzÚnÚnnus         r5   rC   zbesselj.eval²   sð  € àŒ9ð 	ØŒzð Ý”u�Ø”-ð  B¤J°%Ð$7Ð$7½B¸r¹F¼FÔ<NÐ$7Ý”v�Ý�B‘”Ô#ð ¨R¬]¸dÐ-BÐ-BÝÔ(Ð(Ø”ð Ý”u�Ø•”�QÔ/Ð0Ð0Ð0Ý”6ˆMà×%Ò%Ñ'Ô'ð 	7Ø˜‘7˜Q˜B 2 #™;Ñ&¥w¨r°A°2¡¤Ñ6Ð6ØŒ=ð 	1Ø×*Ò*Ñ,Ô,ð <Ý”}¨ sÑ+­G°R°C¸©O¬OÑ;Ð;Ø×-Ò-­aÑ0Ô0ˆDØð 1Ý˜2‘w�w r¨4Ñ0Ô0Ñ0Ð0ð Œ=ð 	:Ý˜a‘=”=ˆDØ�qŠyˆyÝ˜r 4Ñ(Ô(Ð(ð ð ×-Ò-Ñ/Ô/‰GˆD�!Ø�AŠvˆvÝ˜1˜Q™3�r™6 "™9¥Q™;Ñ'Ô'­°°DÑ(9Ô(9Ñ9Ð9Ý˜‰nŒnˆØ�Š9ˆ9Ý˜3 ‘?”?Ð"ð ˆ9r8   c                 ó”   — t          t          t          z  |z  dz  ¦  «        t          |t	          t           ¦  «        |z  ¦  «        z  S ©NrD   )r   r   r   rZ   r%   ©r4   rA   rB   ro   s       r5   Ú_eval_rewrite_as_besseliz besselj._eval_rewrite_as_besseliÖ   s6   € Ý•1•R‘4˜‘7˜1‘9‰~Œ~�g b­*µa°R©.¬.¸Ñ*:Ñ;Ô;Ñ;Ð;r8   c                 ó¼   — |j         du rRt          t          |z  ¦  «        t          | |¦  «        z  t	          t          |z  ¦  «        t          ||¦  «        z  z
  S d S rN   )rW   r   r   Úbesselyr   r‹   s       r5   Ú_eval_rewrite_as_besselyz besselj._eval_rewrite_as_besselyÙ   sR   € ØŒ=˜EÐ!Ð!Ý•r˜"‘u‘:”:�g r c¨1™oœoÑ-µµB°r±E±
´
½7À2Àq¹>¼>Ñ0IÑIÐIð "Ð!r8   c                 ó|   — t          d|z  t          z  ¦  «        t          |t          j        z
  | j        ¦  «        z  S rŠ   )r    r   r]   r   ÚHalfr;   r‹   s       r5   Ú_eval_rewrite_as_jnzbesselj._eval_rewrite_as_jnÝ   s-   € Ý�A�a‘C�‘F‰|Œ|�B˜r¥A¤F™{¨D¬MÑ:Ô:Ñ:Ð:r8   c                 ó  •— | j         \  }}	 |                     |¦  «        }n# t          $ r | cY S w xY w|                     |¦  «        \  }}|j        r||z  d|z  t          |dz   ¦  «        z  z  S |j        rf|dk    rdn|}|||z  z  }	|	j        sKt          d¦  «        t          |t          d|z  dz   z  dz  z
  ¦  «        z  t          t          |z  ¦  «        z  S | S t          t          | ¦  «                             |||¬¦  «        S )NrD   r:   r   é   ©ÚlogxÚcdir)r2   Úas_leading_termÚNotImplementedErrorÚas_coeff_exponentrg   r'   ri   r    r   r   ÚsuperrY   Ú_eval_as_leading_term©r4   ra   r–   r—   rA   rB   ÚargÚcÚeÚsignrH   s             €r5   rœ   zbesselj._eval_as_leading_termà   s,  ø€ Ø”	‰ˆˆAð	Ø×#Ò# AÑ&Ô&ˆCˆCøÝ"ð 	ð 	ð 	ØˆKˆKˆKð	øøøà×$Ò$ QÑ'Ô'‰ˆˆ1àŒ=ð 		Ø˜‘7˜A˜r™E¥%¨¨Q©¡-¤-Ñ/Ñ0Ð0ØŒ]ð 	Ø š	˜	�1�1 tˆDØ�T˜1‘W‘9ˆDØÔ#ð Cõ ˜A‘w”w�s 1¥r¨1¨R©4°!©8¡}°Q¡Ñ#6Ñ7Ô7Ñ7½½RÀ¹T¹
¼
ÑBÐBØˆKå•W˜dÑ#Ô#×9Ò9¸!À$ÈTÐ9ÑRÔRÐRó   �# £2±2c                 ó>   — | j         \  }}|j        r	|j        rdS d S d S ©NT©r2   rW   Úis_extended_real©r4   rA   rB   s      r5   Ú_eval_is_extended_realzbesselj._eval_is_extended_realõ   ó:   € Ø”	‰ˆˆAØŒ=ð 	˜QÔ/ð 	Ø�4ð	ð 	ð 	ð 	r8   r   c                 ó
  •— ddl m} | j        \  }}	 |                     |¦  «        \  }}	n# t          t
          f$ r | cY S w xY w|	j        �rt          ||	z  ¦  «        }
 |||z  |¦  «        }|dz                       ||||¦  «         	                    ¦   «         }|t          j        u r|S t          |dz  ¦  «        |z    	                    ¦   «         }||z  t          |dz   ¦  «        z  }|g}t          d|
dz   dz  ¦  «        D ]J}|| |||z   z  z  z  }t          |¦  «        |z    	                    ¦   «         }|                     |¦  «         ŒKt!          |Ž |z   S t#          t$          | ¦  «                             ||||¦  «        S ©Nr   ©ÚOrderrD   r:   )Úsympy.series.orderr­   r2   ÚleadtermÚ
ValueErrorr™   rg   r   Ú_eval_nseriesÚremoveOr   r{   r   r'   ÚrangeÚappendr   r›   rY   ©r4   ra   r‡   r–   r—   r­   rA   rB   Ú_r   ÚnewnÚoÚrÚtÚtermÚsÚkrH   s                    €r5   r±   zbesselj._eval_nseriesú   s¤  ø€ ð 	-Ð,Ð,Ð,Ð,Ð,Ø”	‰ˆˆAð	Ø—Z’Z ‘]”]‰FˆAˆsˆsøÝÕ/Ð0ð 	ð 	ð 	ØˆKˆKˆKð	øøøð Œ?ñ 	Ý˜1˜S™5‘>”>ˆDØ��a˜‘d˜A‘”ˆAØ�1‘×#Ò# A q¨$°Ñ5Ô5×=Ò=Ñ?Ô?ˆAØ•A”Fˆ{ˆ{Ø�Ý˜!˜Q™$‘” !Ñ#×,Ò,Ñ.Ô.ˆAà�b‘5�˜r A™v™œÑ&ˆDØ�ˆAÝ˜1˜t a™x¨!™mÑ,Ô,ð ð �Ø˜˜˜A˜r A™v™J™Ñ'�Ý  ™œ¨Ñ*×3Ò3Ñ5Ô5�Ø—’˜‘”��Ý˜�7˜Q‘;Ðå•W˜dÑ#Ô#×1Ò1°!°Q¸¸dÑCÔCÐCó   “, ¬AÁA©r   )rr   rs   rt   ru   r   rz   rI   rG   rw   rC   rŒ   r�   r’   rœ   r¨   r±   Ú__classcell__©rH   s   @r5   rY   rY   j   sÛ   ø€ € € € € ðBð BðH 
Œ€BØ	
Œ€Bàð!#ð !#ñ „[ð!#ðF<ð <ð <ðJð Jð Jð;ð ;ð ;ðSð Sð Sð Sð Sð*ð ð ð
Dð Dð Dð Dð Dð Dð Dð Dð Dð Dr8   rY   c                   óx   ‡ — e Zd ZdZej        Zej        Zed„ ¦   «         Z	d„ Z
d„ Zd„ Zˆ fd„Zd„ Zd
ˆ fd	„	Zˆ xZS )rŽ   a`  
    Bessel function of the second kind.

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

    The Bessel $Y$ function of order $\nu$ is defined as

    .. math ::
        Y_\nu(z) = \lim_{\mu \to \nu} \frac{J_\mu(z) \cos(\pi \mu)
                                            - J_{-\mu}(z)}{\sin(\pi \mu)},

    where $J_\mu(z)$ is the Bessel function of the first kind.

    It is a solution to Bessel's equation, and linearly independent from
    $J_\nu$.

    Examples
    ========

    >>> from sympy import bessely, yn
    >>> from sympy.abc import z, n
    >>> b = bessely(n, z)
    >>> b.diff(z)
    bessely(n - 1, z)/2 - bessely(n + 1, z)/2
    >>> b.rewrite(yn)
    sqrt(2)*sqrt(z)*yn(n - 1/2, z)/sqrt(pi)

    See Also
    ========

    besselj, besseli, besselk

    References
    ==========

    .. [1] https://functions.wolfram.com/Bessel-TypeFunctions/BesselY/

    c                 ó²  — |j         rU|j         rt          j        S t          |¦  «        j         du rt          j        S t          |¦  «        j         rt          j        S |t          j        t          j        fv rt          j        S |t          t          j        z  k    r2t          t          t          z  |dz   z  dz  ¦  «        t          j        z  S |t          t          j        z  k    r3t          t           t          z  |dz   z  dz  ¦  «        t          j        z  S |j        r6|                     ¦   «         r$t          j        | z  t          | |¦  «        z  S d S d S )NFr:   rD   )r_   r   r€   r#   r|   r~   r   r{   r   r   r   rW   r�   r‚   rŽ   r?   s      r5   rC   zbessely.evalF  s/  € àŒ9ð 	ØŒzð ÝÔ)Ð)Ý�B‘”” 5Ð(Ð(ÝÔ(Ð(Ý�B‘””ð Ý”u�Ø•”�QÔ/Ð0Ð0Ð0Ý”6ˆMØ••!”*‘ÒÐÝ•q�‘t˜R !™V‘} Q‘Ñ'Ô'­!¬*Ñ4Ð4Ø••!Ô$Ñ$Ò$Ð$Ý��r�"‘u˜b 1™f‘~ aÑ'Ñ(Ô(­1¬:Ñ5Ð5àŒ=ð 	<Ø×*Ò*Ñ,Ô,ð <Ý”}¨ sÑ+­G°R°C¸©O¬OÑ;Ð;ð	<ð 	<ð<ð <r8   c                 ó¼   — |j         du rRt          t          |z  ¦  «        t          t          |z  ¦  «        t	          ||¦  «        z  t	          | |¦  «        z
  z  S d S rN   )rW   r   r   r   rY   r‹   s       r5   Ú_eval_rewrite_as_besseljz bessely._eval_rewrite_as_besseljZ  sR   € ØŒ=˜EÐ!Ð!Ý•r˜"‘u‘:”:�s¥2 b¡5™zœz­'°"°a©.¬.Ñ8½7ÀBÀ3È¹?¼?ÑJÑKÐKð "Ð!r8   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r=   )rÅ   r2   ÚrewriterZ   ©r4   rA   rB   ro   Úajs        r5   rŒ   z bessely._eval_rewrite_as_besseli^  ó7   € Ø*ˆTÔ*¨D¬IÐ6ˆØð 	'Ø—:’:�gÑ&Ô&Ð&ð	'ð 	'r8   c                 ó|   — t          d|z  t          z  ¦  «        t          |t          j        z
  | j        ¦  «        z  S rŠ   )r    r   r^   r   r‘   r;   r‹   s       r5   Ú_eval_rewrite_as_ynzbessely._eval_rewrite_as_ync  s-   € Ý�A�a‘C�‘F‰|Œ|�b ¥a¤f¡¨d¬mÑ<Ô<Ñ<Ð<r8   c                 óü  •— | j         \  }}	 |                     |¦  «        }n# t          $ r | cY S w xY w|                     |¦  «        \  }}|j        rÊdt
          z  t          |dz  ¦  «        z  t          ||¦  «        z  }	|j        r%|dz  | z   t          |dz
  ¦  «        z  t
          z  nt          j
        }
|dz  |z   t
          t          |¦  «        z  z  t          |dz   ¦  «        t          j        z
  z  }t          |	|
|gŽ                      ||¬¦  «        }|S |j        r®|dk    rdn|}|||z  z  }|j        s“t          d¦  «        t!          t
          |z  dz  |z
  t
          dz  z   ¦  «         dt#          t
          |z  dz  |z
  t
          dz  z   ¦  «        z  d|z  z  z   z  t          d|z  ¦  «        z  t          t
          ¦  «        z  S | S t%          t&          | ¦  «                             |||¬¦  «        S )	NrD   r:   ©r–   r   r”   é   é   r•   )r2   r˜   r™   rš   rg   r   r   rY   r   r   r{   r(   Ú
EulerGammar   ri   r    r   r   r›   rŽ   rœ   )r4   ra   r–   r—   rA   rB   rž   rŸ   r    Úterm_oneÚterm_twoÚ
term_threer¡   rH   s                €r5   rœ   zbessely._eval_as_leading_termf  s  ø€ Ø”	‰ˆˆAð	Ø×#Ò# AÑ&Ô&ˆCˆCøÝ"ð 	ð 	ð 	ØˆKˆKˆKð	øøøà×$Ò$ QÑ'Ô'‰ˆˆ1àŒ=ð 	Ø�2™�s 1 Q¡3™xœx™­°°A©¬Ñ6ˆHØ>@Ô=MÐY˜˜1™  ™�}¥Y¨r°A©vÑ%6Ô%6Ñ6µrÑ9Ð9ÕSTÔSYˆHØ˜Q™3 ™)˜¥R­	°"©¬Ñ%5Ñ6½ÀÀQÁ¹¼Í!Ì,Ñ8VÑWˆJÝ˜ (¨JÐ7Ð8×HÒHÈÐQUÐHÑVÔVˆCØˆJØŒ]ð 	Ø š	˜	�1�1 tˆDØ�T˜1‘W‘9ˆDØÔ#ð oõ ˜A‘w”w¥¥R¨¡U¨1¡W¨q¡[µ2°a±4Ñ%7Ñ!8Ô!8Ð 8¸1½SÅÀBÁÀqÁÈ1ÁÍrÐRSÉtÑASÑ=TÔ=TÑ;TÐVWÐXYÑVYÑ;ZÑ ZÑ[Õ\`ÐabÐcdÑadÑ\eÔ\eÑeÕfjÕkmÑfnÔfnÑnÐnØˆKå•W˜dÑ#Ô#×9Ò9¸!À$ÈTÐ9ÑRÔRÐRr¢   c                 ó>   — | j         \  }}|j        r	|j        rdS d S d S r¤   ©r2   rW   rg   r§   s      r5   r¨   zbessely._eval_is_extended_real  ó9   € Ø”	‰ˆˆAØŒ=ð 	˜Qœ]ð 	Ø�4ð	ð 	ð 	ð 	r8   r   c                 ó   •— ddl m} | j        \  }}	 |                     |¦  «        \  }}	n# t          t
          f$ r | cY S w xY w|	j        �rˆ|j        �r€t          ||	z  ¦  «        }
t          ||¦  «        }dt          z  t          |dz  ¦  «        z  |z                       ||||¦  «        }g g }} |||z  |¦  «        }|dz                       ||||¦  «                             ¦   «         }|t          j        u r|S t!          |dz  ¦  «        |z                        ¦   «         }|t          j        k    r«|| z  t#          |dz
  ¦  «        z  t          z  }|                     |¦  «         t'          d|¦  «        D ]d}||z
  |z  }|t          j        k    r	|||z  z  }n|||z  z  }t!          |¦  «        |z                        ¦   «         }|                     |¦  «         Œe||z  t          t#          |¦  «        z  z  }|t)          |dz   ¦  «        t          j        z
  z  }|                     |¦  «         t'          d|
dz   dz  ¦  «        D ]u}|| |||z   z  z  z  }t!          |¦  «        |z                        ¦   «         }|t)          ||z   dz   ¦  «        t)          |dz   ¦  «        z   z  }|                     |¦  «         Œv|t-          |Ž z
  t-          |Ž z
  S t/          t0          | ¦  «                             ||||¦  «        S r«   )r®   r­   r2   r¯   r°   r™   rg   rW   r   rY   r   r   r±   r²   r   r{   r   r   r´   r³   r(   rÑ   r   r›   rŽ   )r4   ra   r‡   r–   r—   r­   rA   rB   r¶   r   r·   Úbnrb   ÚbrŸ   r¸   r¹   rº   r»   r½   ÚdenomÚprH   s                         €r5   r±   zbessely._eval_nseries„  sû  ø€ ð 	-Ð,Ð,Ð,Ð,Ð,Ø”	‰ˆˆAð	Ø—Z’Z ‘]”]‰FˆAˆsˆsøÝÕ/Ð0ð 	ð 	ð 	ØˆKˆKˆKð	øøøð Œ?ñ  	)˜rœ}ñ  	)Ý˜1˜S™5‘>”>ˆDÝ˜˜Q‘”ˆBØ•B‘$�˜A˜a™C™œ‘ Ñ#×2Ò2°1°a¸¸tÑDÔDˆAà�rˆqˆAØ��a˜‘d˜A‘”ˆAØ�1‘×#Ò# A q¨$°Ñ5Ô5×=Ò=Ñ?Ô?ˆAØ•A”Fˆ{ˆ{Ø�Ý˜!˜Q™$‘” !Ñ#×,Ò,Ñ.Ô.ˆAà•A”FŠ{ˆ{Ø˜B˜3‘x¥	¨"¨q©&Ñ 1Ô 1Ñ1µ"Ñ4�Ø—’˜‘”�Ý˜q "™œð #ð #�AØ !™V Q™J�EØ¥¤’�Ø  !¡™˜˜à  %¡™˜Ý$ T™NœN¨QÑ.×7Ò7Ñ9Ô9�DØ—H’H˜T‘N”N�N�Nà�2‘•r�) B™-œ-Ñ'Ñ(ˆAØ•g˜b 1™f‘o”o­¬Ñ4Ñ5ˆDØ�HŠH�T‰NŒNˆNÝ˜1˜t a™x¨!™mÑ,Ô,ð ð �Ø�a�R˜˜A ™F™‘_Ñ$�Ý˜a‘[”[ 1‘_×-Ò-Ñ/Ô/�Ø�' ! b¡&¨1¡*Ñ-Ô-µ¸¸A¹±´Ñ>Ñ?�Ø—’˜‘”��Ø•s˜A�w‘;¥ a Ñ(Ð(å•W˜dÑ#Ô#×1Ò1°!°Q¸¸dÑCÔCÐCr¾   r¿   )rr   rs   rt   ru   r   rz   rI   rG   rw   rC   rÅ   rŒ   rÌ   rœ   r¨   r±   rÀ   rÁ   s   @r5   rŽ   rŽ     sØ   ø€ € € € € ð&ð &ðP 
Œ€BØ	
Œ€Bàð<ð <ñ „[ð<ð&Lð Lð Lð'ð 'ð 'ð
=ð =ð =ðSð Sð Sð Sð Sð2ð ð ð
/Dð /Dð /Dð /Dð /Dð /Dð /Dð /Dð /Dð /Dr8   rŽ   c                   óŒ   ‡ — e Zd ZdZej         Zej        Zed„ ¦   «         Z	dd„Z
d„ Zd„ Zd„ Zd„ Zˆ fd	„Zdˆ fd„	Zˆ fd„Zˆ xZS )rZ   a  
    Modified Bessel function of the first kind.

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

    The Bessel $I$ function is a solution to the modified Bessel equation

    .. math ::
        z^2 \frac{\mathrm{d}^2 w}{\mathrm{d}z^2}
        + z \frac{\mathrm{d}w}{\mathrm{d}z} + (z^2 + \nu^2)^2 w = 0.

    It can be defined as

    .. math ::
        I_\nu(z) = i^{-\nu} J_\nu(iz),

    where $J_\nu(z)$ is the Bessel function of the first kind.

    Examples
    ========

    >>> from sympy import besseli
    >>> from sympy.abc import z, n
    >>> besseli(n, z).diff(z)
    besseli(n - 1, z)/2 + besseli(n + 1, z)/2

    See Also
    ========

    besselj, bessely, besselk

    References
    ==========

    .. [1] https://functions.wolfram.com/Bessel-TypeFunctions/BesselI/

    c                 óf  — |j         r|j         rt          j        S |j        r	|j         du st	          |¦  «        j        rt          j        S t	          |¦  «        j        r|j        durt          j        S |j	        rt          j
        S t          |¦  «        t          j        t          j        fv rt          j        S |t          j        u rt          j        S |t          j        u rd|z  t          j        z  S |                     ¦   «         r||z  | | z  z  t          || ¦  «        z  S |j        r^|                     ¦   «         rt          | |¦  «        S |                     t"          ¦  «        }|rt"          | z  t%          || ¦  «        z  S |j        r&t'          |¦  «        }||k    rt          ||¦  «        S nS|                     ¦   «         \  }}|dk    r6t+          d|z  t,          z  |z  t"          z  ¦  «        t          ||¦  «        z  S t'          |¦  «        }||k    rt          ||¦  «        S d S )NFTéÿÿÿÿr   rD   )r_   r   rz   rW   r#   rg   r{   ri   r|   r}   r~   r$   r   r€   r�   rZ   rƒ   r   rY   r&   r„   r   r   r…   s         r5   rC   zbesseli.evalá  s  € àŒ9ð 	ØŒzð Ý”u�Ø”-ð  B¤J°%Ð$7Ð$7½B¸r¹F¼FÔ<NÐ$7Ý”v�Ý�B‘”Ô#ð ¨R¬]¸dÐ-BÐ-BÝÔ(Ð(Ø”ð Ý”u�Ýˆa‰5Œ5•Q”Z¥Ô!3Ð4Ð4Ð4Ý”6ˆMØ•”
ˆ?ˆ?Ý”:ÐØ•Ô"Ð"Ð"Ø˜‘8�AœJÑ&Ð&à×%Ò%Ñ'Ô'ð 	7Ø˜‘7˜Q˜B 2 #™;Ñ&¥w¨r°A°2¡¤Ñ6Ð6ØŒ=ð 	3Ø×*Ò*Ñ,Ô,ð 'Ý ˜s A‘”Ð&Ø×-Ò-­aÑ0Ô0ˆDØð 3Ý˜B˜3‘x¥¨¨T¨EÑ 2Ô 2Ñ2Ð2ð Œ=ð 	:Ý˜a‘=”=ˆDØ�qŠyˆyÝ˜r 4Ñ(Ô(Ð(ð ð ×-Ò-Ñ/Ô/‰GˆD�!Ø�AŠvˆvÝ˜1˜Q™3�r™6 "™9¥Q™;Ñ'Ô'­°°DÑ(9Ô(9Ñ9Ð9Ý˜‰nŒnˆØ�Š9ˆ9Ý˜3 ‘?”?Ð"ð ˆ9r8   Nc                 óT   — |j         r t          |¦  «        t          ||¦  «        z  S d S r=   )r¦   r   Ú_besseli©r4   rA   rB   Úlimitvarro   s        r5   Ú_eval_rewrite_as_tractablez"besseli._eval_rewrite_as_tractable	  s0   € ØÔð 	*Ý�q‘6”6�( 2 q™/œ/Ñ)Ð)ð	*ð 	*r8   c                 ó”   — t          t           t          z  |z  dz  ¦  «        t          |t	          t          ¦  «        |z  ¦  «        z  S rŠ   )r   r   r   rY   r%   r‹   s       r5   rÅ   z besseli._eval_rewrite_as_besselj  s5   € Ý•A�2•b‘5˜‘8˜A‘:‰Œ�w r­:µa©=¬=¸©?Ñ;Ô;Ñ;Ð;r8   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r=   ©rÅ   r2   rÇ   rŽ   rÈ   s        r5   r�   z besseli._eval_rewrite_as_bessely  rÊ   r8   c                 óP   —  | j         | j        Ž                      t          ¦  «        S r=   )rÅ   r2   rÇ   r]   r‹   s       r5   r’   zbesseli._eval_rewrite_as_jn  s"   € Ø,ˆtÔ,¨d¬iÐ8×@Ò@ÅÑDÔDÐDr8   c                 ó>   — | j         \  }}|j        r	|j        rdS d S d S r¤   r¥   r§   s      r5   r¨   zbesseli._eval_is_extended_real  r©   r8   c                 óÒ  •— | j         \  }}	 |                     |¦  «        }n# t          $ r | cY S w xY w|                     |¦  «        \  }}|j        r||z  d|z  t          |dz   ¦  «        z  z  S |j        rE|dk    rdn|}|||z  z  }	|	j        s*t          |¦  «        t          dt          z  |z  ¦  «        z  S | S t          t          | ¦  «                             |||¬¦  «        S )NrD   r:   r   r•   )r2   r˜   r™   rš   rg   r'   ri   r   r    r   r›   rZ   rœ   r�   s             €r5   rœ   zbesseli._eval_as_leading_term  s  ø€ Ø”	‰ˆˆAð	Ø×#Ò# AÑ&Ô&ˆCˆCøÝ"ð 	ð 	ð 	ØˆKˆKˆKð	øøøà×$Ò$ QÑ'Ô'‰ˆˆ1àŒ=ð 		Ø˜‘7˜A˜r™E¥%¨¨Q©¡-¤-Ñ/Ñ0Ð0ØŒ]ð 	Ø š	˜	�1�1 tˆDØ�T˜1‘W‘9ˆDØÔ#ð +õ ˜1‘v”v�d 1¥R¡4¨¡6™lœlÑ*Ð*ØˆKå•W˜dÑ#Ô#×9Ò9¸!À$ÈTÐ9ÑRÔRÐRr¢   r   c                 ó  •— ddl m} | j        \  }}	 |                     |¦  «        \  }}	n# t          t
          f$ r | cY S w xY w|	j        �rt          ||	z  ¦  «        }
 |||z  |¦  «        }|dz                       ||||¦  «         	                    ¦   «         }|t          j        u r|S t          |dz  ¦  «        |z    	                    ¦   «         }||z  t          |dz   ¦  «        z  }|g}t          d|
dz   dz  ¦  «        D ]I}|||||z   z  z  z  }t          |¦  «        |z    	                    ¦   «         }|                     |¦  «         ŒJt!          |Ž |z   S t#          t$          | ¦  «                             ||||¦  «        S r«   )r®   r­   r2   r¯   r°   r™   rg   r   r±   r²   r   r{   r   r'   r³   r´   r   r›   rZ   rµ   s                    €r5   r±   zbesseli._eval_nseries2  s¢  ø€ ð 	-Ð,Ð,Ð,Ð,Ð,Ø”	‰ˆˆAð	Ø—Z’Z ‘]”]‰FˆAˆsˆsøÝÕ/Ð0ð 	ð 	ð 	ØˆKˆKˆKð	øøøð Œ?ñ 	Ý˜1˜S™5‘>”>ˆDØ��a˜‘d˜A‘”ˆAØ�1‘×#Ò# A q¨$°Ñ5Ô5×=Ò=Ñ?Ô?ˆAØ•A”Fˆ{ˆ{Ø�Ý˜!˜Q™$‘” !Ñ#×,Ò,Ñ.Ô.ˆAà�b‘5�˜r A™v™œÑ&ˆDØ�ˆAÝ˜1˜t a™x¨!™mÑ,Ô,ð ð �Ø˜˜1˜b 1™f™:™Ñ&�Ý  ™œ¨Ñ*×3Ò3Ñ5Ô5�Ø—’˜‘”��Ý˜�7˜Q‘;Ðå•W˜dÑ#Ô#×1Ò1°!°Q¸¸dÑCÔCÐCr¾   c           	      ó®  •‡‡	‡
— ddl mŠ ddlm} |d         }|t          j        t          j        fv r€| j        \  Š	Š
ˆˆ	ˆ
fd„t          |¦  «        D ¦   «          |d‰
t          d|z  dz   d¦  «        z  z  |¦  «        gz   }t          ‰
¦  «        t          dt          z  ¦  «        z  t          |Ž z  S t          ¦   «                              ||||¦  «        S )Nr   ©r   r¬   r:   c           	      óò   •— g | ]s} ‰t          d ‰z  dz
  d ¦  «        |¦  «         ‰t          d ‰z  dz   d ¦  «        |¦  «        z  d |z  ‰t          d |z  dz   d ¦  «        z  z  t          |¦  «        z  z  ‘ŒtS ©rD   r:   ©r   r   ©Ú.0r½   r   rA   rB   s     €€€r5   ú
<listcomp>z)besseli._eval_aseries.<locals>.<listcomp>X  sª   ø€ ð Qð Qð QØBCð "�/¥(¨1¨R©4°!©8°QÑ"7Ô"7¸Ñ;Ô;¸O¸OÍHÐUVÐWYÑUYÐ\]ÑU]Ð_`ÑLaÔLaÐcdÑ<eÔ<eÑeØ�1‰X�a�( 1 Q¡3¨¡7¨AÑ.Ô.Ñ/Ñ/µ	¸!±´Ñ<ñ>ð Qð Qð Qr8   rD   ©Ú(sympy.functions.combinatorial.factorialsr   r®   r­   r   r   r€   r2   r³   r   r   r    r   r   r›   Ú_eval_aseries©r4   r‡   Úargs0ra   r–   r­   Úpointr¼   r   rA   rB   rH   s           @@@€r5   rö   zbesseli._eval_aseriesQ  s  øøøø€ ØLÐLÐLÐLÐLÐLØ,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆà•Q”Z¥Ô!3Ð4Ð4Ð4Ø”I‰EˆB�ðQð Qð Qð Qð Qð QÝGLÈQÁxÄxðQñ Qô QØTYÐTYÐZ[Ð\]Õ`hÐijÐklÑilÐopÑipÐrsÑ`tÔ`tÑ\uÑZuÐwxÑTyÔTyÐSzñ{ˆAå�q‘6”6�$˜q¥™t™*œ*Ñ$­¨Q¨Ñ0Ð0å‰wŒw×$Ò$ Q¨¨q°$Ñ7Ô7Ð7r8   r=   r¿   )rr   rs   rt   ru   r   rz   rI   rG   rw   rC   rä   rÅ   r�   r’   r¨   rœ   r±   rö   rÀ   rÁ   s   @r5   rZ   rZ   ¶  s  ø€ € € € € ð%ð %ðN Œ%ˆ€BØ	
Œ€Bàð%#ð %#ñ „[ð%#ðN*ð *ð *ð *ð<ð <ð <ð'ð 'ð 'ð
Eð Eð Eðð ð ð
Sð Sð Sð Sð Sð*Dð Dð Dð Dð Dð Dð>8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8r8   rZ   c                   óŽ   ‡ — e Zd ZdZej        Zej         Zed„ ¦   «         Z	d„ Z
d„ Zd„ Zd„ Zd„ Zdd	„Zd
„ Zdˆ fd„	Zˆ fd„Zˆ xZS )Úbesselka  
    Modified Bessel function of the second kind.

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

    The Bessel $K$ function of order $\nu$ is defined as

    .. math ::
        K_\nu(z) = \lim_{\mu \to \nu} \frac{\pi}{2}
                   \frac{I_{-\mu}(z) -I_\mu(z)}{\sin(\pi \mu)},

    where $I_\mu(z)$ is the modified Bessel function of the first kind.

    It is a solution of the modified Bessel equation, and linearly independent
    from $Y_\nu$.

    Examples
    ========

    >>> from sympy import besselk
    >>> from sympy.abc import z, n
    >>> besselk(n, z).diff(z)
    -besselk(n - 1, z)/2 - besselk(n + 1, z)/2

    See Also
    ========

    besselj, besseli, bessely

    References
    ==========

    .. [1] https://functions.wolfram.com/Bessel-TypeFunctions/BesselK/

    c                 óœ  — |j         rU|j         rt          j        S t          |¦  «        j         du rt          j        S t          |¦  «        j         rt          j        S |t          j        t          t          j        z  t          t          j        z  fv rt          j        S |j	        r%| 
                    ¦   «         rt          | |¦  «        S d S d S rN   )r_   r   r   r#   r|   r~   r   r€   r{   rW   r�   rû   r?   s      r5   rC   zbesselk.evalˆ  s¼   € àŒ9ð 	ØŒzð Ý”zÐ!Ý�B‘”” 5Ð(Ð(ÝÔ(Ð(Ý�B‘””ð Ý”u�Ø•”�Q�qœz™\­1­QÔ-?Ñ+?Ð@Ð@Ð@Ý”6ˆMàŒ=ð 	'Ø×*Ò*Ñ,Ô,ð 'Ý ˜s A‘”Ð&ð	'ð 	'ð'ð 'r8   c                 ó¢   — |j         du rEt          t          t          |z  ¦  «        z  t          | |¦  «        t          ||¦  «        z
  z  dz  S d S )NFrD   )rW   r   r   rZ   r‹   s       r5   rŒ   z besselk._eval_rewrite_as_besseli˜  sL   € ØŒ=˜EÐ!Ð!Ý•c�"˜R™%‘j”j‘=¥'¨2¨#¨q¡/¤/µG¸BÀ±N´NÑ"BÑCÀAÑEÐEð "Ð!r8   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r=   )rŒ   r2   rÇ   rY   )r4   rA   rB   ro   Úais        r5   rÅ   z besselk._eval_rewrite_as_besseljœ  rÊ   r8   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r=   rç   rÈ   s        r5   r�   z besselk._eval_rewrite_as_bessely¡  rÊ   r8   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r=   )r�   r2   rÇ   r^   )r4   rA   rB   ro   Úays        r5   rÌ   zbesselk._eval_rewrite_as_yn¦  s5   € Ø*ˆTÔ*¨D¬IÐ6ˆØð 	"Ø—:’:�b‘>”>Ð!ð	"ð 	"r8   c                 ó>   — | j         \  }}|j        r	|j        rdS d S d S r¤   rÖ   r§   s      r5   r¨   zbesselk._eval_is_extended_real«  r×   r8   Nc                 óV   — |j         r!t          | ¦  «        t          ||¦  «        z  S d S r=   )r¦   r   Ú_besselkrâ   s        r5   rä   z"besselk._eval_rewrite_as_tractable°  s2   € ØÔð 	+Ý˜�r‘7”7�8 B¨™?œ?Ñ*Ð*ð	+ð 	+r8   c                 óŠ  — | j         \  }}	 |                     |¦  «        }n# t          $ r | cY S w xY w|                     |¦  «        \  }}|j        r�|j        r.t          |¦  «         t          j        z
  t          d¦  «        z   }	nQ|j	        r7t          t          |¦  «        ¦  «        |dz  t          |¦  «         z  z  dz  }	nt          d|› d�¦  «        ‚|	                     ||¬¦  «        S |j        r8t          t          ¦  «        t          | ¦  «        z  t          d|z  ¦  «        z  S |                      ||¦  «        S )NrD   z"Cannot proceed without knowing if z is zero or not.rÎ   )r2   r˜   r™   rš   rg   r_   r   r   rÑ   Ú
is_nonzeror'   r"   ri   r    r   r   Úfunc)
r4   ra   r–   r—   rA   rB   rž   r¶   r    r»   s
             r5   rœ   zbesselk._eval_as_leading_term´  sJ  € Ø”	‰ˆˆAð	Ø×#Ò# AÑ&Ô&ˆCˆCøÝ"ð 	ð 	ð 	ØˆKˆKˆKð	øøøà×$Ò$ QÑ'Ô'‰ˆˆ1àŒ=ð 	&ØŒzð eå˜A™œ�w¥¤Ñ-µ°A±´Ñ6��Ø”ð eå�S ™WœW‘~”~ q¨¡s­s°2©w¬w¨hÑ&7Ñ7¸Ñ9��å)Ð*cÈrÐ*cÐ*cÐ*cÑdÔdÐdà×'Ò'¨°Ð'Ñ5Ô5Ð5ØŒ]ð 	&å�‘8”8�C  ™IœIÑ%¥d¨1¨S©5¡k¤kÑ1Ð1à—9’9˜R Ñ%Ô%Ð%s   Œ" ¢1°1r   c                 óh  •— ddl m} | j        \  }}	 |                     |¦  «        \  }}	n# t          t
          f$ r | cY S w xY w|	j        �r¼|dz                       ||||¦  «                             ¦   «         }
|
t          j
        u r ||| z  ||z  z   |¦  «        S  |||z  |¦  «        }|j        �r t          ||	z  ¦  «        }t          ||¦  «        }d|dz
  z  t          |dz  ¦  «        z  |z                       ||||¦  «        }g g }}t          |
dz  ¦  «        }|t          j
        k    r‹|
| z  t!          |dz
  ¦  «        z  dz  }|                     |¦  «         t%          d|¦  «        D ]I}||||z
  |z  z  z  }t          |¦  «        |z                        ¦   «         }|                     |¦  «         ŒJ|
|z  d|z  z  dt!          |¦  «        z  z  }|t'          |dz   ¦  «        t          j        z
  z  }|                     |¦  «         t%          d|dz   dz  ¦  «        D ]t}|||||z   z  z  z  }t          |¦  «        |z                        ¦   «         }|t'          ||z   dz   ¦  «        t'          |dz   ¦  «        z   z  }|                     |¦  «         Œu|t+          |Ž z   t+          |Ž z   |z   S |j        �r=t          ||z   |	z  ¦  «        }t          ||z
  |	z  ¦  «        }g g }}t%          |dz   dz  ¦  «        D ]f}t/          |¦  «        |
d|z  |z
  z  z  dt1          d|z
  |¦  «        z  t!          |¦  «        z  z  }|                     t          |¦  «        ¦  «         Œgt%          |dz   dz  ¦  «        D ]g}t/          | ¦  «        |
d|z  |z   z  z  dt1          |dz   |¦  «        z  t!          |¦  «        z  z  }|                     t          |¦  «        ¦  «         Œht+          |Ž t+          |Ž z   |z   S t          d¦  «        ‚t3          t4          | ¦  «                             ||||¦  «        S )Nr   r¬   rD   rß   r:   z4besselk expansion is only implemented for real order)r®   r­   r2   r¯   r°   r™   rg   r±   r²   r   r{   rW   r   rZ   r   r   r   r´   r³   r(   rÑ   r   Úis_nonintegerr'   r   r›   rû   )r4   ra   r‡   r–   r—   r­   rA   rB   r¶   r   r¹   r¸   r·   rÙ   rb   rÚ   rŸ   rº   r»   r½   rÜ   Únewn_aÚnewn_brH   s                          €r5   r±   zbesselk._eval_nseriesÍ  sV  ø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø”	‰ˆˆAð	Ø—Z’Z ‘]”]‰FˆAˆsˆsøÝÕ/Ð0ð 	ð 	ð 	ØˆKˆKˆKð	øøøð
 Œ?ñ 6	bØ�1‘×#Ò# A q¨$°Ñ5Ô5×=Ò=Ñ?Ô?ˆAØ•A”Fˆ{ˆ{Ø�u˜Q " ™X¨¨2©Ñ-¨qÑ1Ô1Ð1à��a˜‘d˜A‘”ˆAØŒ}ñ 0bå˜q ™u‘~”~�Ý˜R ‘^”^�Ø˜B ™F‘^¥C¨¨!©¡H¤HÑ,¨RÑ/×>Ò>¸qÀ!ÀTÈ4ÑPÔP�à˜2�1�Ý˜Q ™T‘N”N�à�œ’;�;Ø ˜s™8¥I¨b°1©fÑ$5Ô$5Ñ5°aÑ7�DØ—H’H˜T‘N”N�NÝ" 1 b™\œ\ð 'ð '˜Ø  A¨¡F¨A¡:¡Ñ.˜Ý (¨¡¤°Ñ 2×;Ò;Ñ=Ô=˜ØŸš ™œ˜˜à�r‘E˜2 ™(‘N A¥i°¡m¤m¡OÑ4�Ø�' " q¡&™/œ/­A¬LÑ8Ñ9�Ø—’˜‘”�Ý˜q 4¨!¡8¨a¡-Ñ0Ô0ð #ð #�AØ˜˜A˜q 2™v™J™Ñ'�AÝ! !™œ q™×1Ò1Ñ3Ô3�AØ�g a¨"¡f¨q¡jÑ1Ô1µG¸AÀ¹E±N´NÑBÑC�DØ—H’H˜T‘N”N�N�NØ�3 ˜7‘{¥S¨! WÑ,¨qÑ0Ð0ØÔ!ñ bõ ! ! B¡$¨¡Ñ,Ô,�Ý  ! B¡$¨¡Ñ,Ô,�à˜2�1�Ý  q¡¨1™}Ñ-Ô-ð -ð -�AÝ  ™9œ9 Q¨¨1©¨R©¡[Ñ0°!µOÀAÀbÁDÈ!Ñ4LÔ4LÑ2LÍYÐWXÉ\Ì\Ñ2YÑZ�DØ—H’H�X d™^œ^Ñ,Ô,Ð,Ð,Ý  q¡¨1™}Ñ-Ô-ð -ð -�AÝ  " ™:œ: a¨!¨A©#¨b©&¡kÑ1°1µ_ÀRÈÁTÈ1Ñ5MÔ5MÑ3MÍiÐXYÉlÌlÑ3ZÑ[�DØ—H’H�X d™^œ^Ñ,Ô,Ð,Ð,Ý˜A�w¥ a Ñ(¨1Ñ,Ð,å)Ð*`ÑaÔaÐaå•W˜dÑ#Ô#×1Ò1°!°Q¸¸dÑCÔCÐCr¾   c           	      ó°  •‡‡	‡
— ddl mŠ ddlm} |d         }|t          j        t          j        fv r�| j        \  Š	Š
ˆˆ	ˆ
fd„t          |¦  «        D ¦   «          |d‰
t          d|z  dz   d¦  «        z  z  |¦  «        gz   }t          ‰
 ¦  «        t          t          dz  ¦  «        z  t          |Ž z  S t          ¦   «                              ||||¦  «        S )Nr   rí   r¬   r:   c           	      óò   •— g | ]s} ‰t          d ‰z  dz
  d ¦  «        |¦  «         ‰t          d ‰z  dz   d ¦  «        |¦  «        z  d|z  ‰t          d |z  dz   d ¦  «        z  z  t          |¦  «        z  z  ‘ŒtS ©rD   r:   éþÿÿÿrð   rñ   s     €€€r5   ró   z)besselk._eval_aseries.<locals>.<listcomp>  sª   ø€ ð Rð Rð RØCDð "�/¥(¨1¨R©4°!©8°QÑ"7Ô"7¸Ñ;Ô;¸O¸OÍHÐUVÐWYÑUYÐ\]ÑU]Ð_`ÑLaÔLaÐcdÑ<eÔ<eÑeØ�A‰Y�q�8 A a¡C¨!¡G¨QÑ/Ô/Ñ0Ñ0µ¸1±´Ñ=ñ?ð Rð Rð Rr8   rD   rô   r÷   s           @@@€r5   rö   zbesselk._eval_aseries  s  øøøø€ ØLÐLÐLÐLÐLÐLØ,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆà•Q”Z¥Ô!3Ð4Ð4Ð4Ø”I‰EˆB�ðRð Rð Rð Rð Rð RÝHMÈaÉÌðRñ Rô RØTYÐTYÐZ[Ð\]Õ`hÐijÐklÑilÐopÑipÐrsÑ`tÔ`tÑ\uÑZuÐwxÑTyÔTyÐSzñ{ˆAå˜˜‘G”G�D¥ A¡™JœJÑ&­¨Q¨Ñ/Ð/å‰wŒw×$Ò$ Q¨¨q°$Ñ7Ô7Ð7r8   r=   r¿   )rr   rs   rt   ru   r   rz   rI   rG   rw   rC   rŒ   rÅ   r�   rÌ   r¨   rä   rœ   r±   rö   rÀ   rÁ   s   @r5   rû   rû   _  s
  ø€ € € € € ð#ð #ðJ 
Œ€BØ
Œ%ˆ€Bàð'ð 'ñ „[ð'ðFð Fð Fð'ð 'ð 'ð
'ð 'ð 'ð
"ð "ð "ð
ð ð ð
+ð +ð +ð +ð&ð &ð &ð2CDð CDð CDð CDð CDð CDðJ8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8r8   rû   c                   ó4   — e Zd ZdZej        Zej        Zd„ ZdS )Úhankel1a¤  
    Hankel function of the first kind.

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

    This function is defined as

    .. math ::
        H_\nu^{(1)} = J_\nu(z) + iY_\nu(z),

    where $J_\nu(z)$ is the Bessel function of the first kind, and
    $Y_\nu(z)$ is the Bessel function of the second kind.

    It is a solution to Bessel's equation.

    Examples
    ========

    >>> from sympy import hankel1
    >>> from sympy.abc import z, n
    >>> hankel1(n, z).diff(z)
    hankel1(n - 1, z)/2 - hankel1(n + 1, z)/2

    See Also
    ========

    hankel2, besselj, bessely

    References
    ==========

    .. [1] https://functions.wolfram.com/Bessel-TypeFunctions/HankelH1/

    c                 ó˜   — | j         }|j        du r9t          | j                             ¦   «         |                     ¦   «         ¦  «        S d S rN   )r;   rO   Úhankel2r6   rP   rQ   s     r5   rR   zhankel1._eval_conjugateH  óE   € ØŒMˆØÔ! UÐ*Ð*Ý˜4œ:×/Ò/Ñ1Ô1°1·;²;±=´=ÑAÔAÐAð +Ð*r8   N©	rr   rs   rt   ru   r   rz   rI   rG   rR   r>   r8   r5   r  r     sC   € € € € € ð"ð "ðH 
Œ€BØ	
Œ€BðBð Bð Bð Bð Br8   r  c                   ó4   — e Zd ZdZej        Zej        Zd„ ZdS )r  aÖ  
    Hankel function of the second kind.

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

    This function is defined as

    .. math ::
        H_\nu^{(2)} = J_\nu(z) - iY_\nu(z),

    where $J_\nu(z)$ is the Bessel function of the first kind, and
    $Y_\nu(z)$ is the Bessel function of the second kind.

    It is a solution to Bessel's equation, and linearly independent from
    $H_\nu^{(1)}$.

    Examples
    ========

    >>> from sympy import hankel2
    >>> from sympy.abc import z, n
    >>> hankel2(n, z).diff(z)
    hankel2(n - 1, z)/2 - hankel2(n + 1, z)/2

    See Also
    ========

    hankel1, besselj, bessely

    References
    ==========

    .. [1] https://functions.wolfram.com/Bessel-TypeFunctions/HankelH2/

    c                 ó˜   — | j         }|j        du r9t          | j                             ¦   «         |                     ¦   «         ¦  «        S d S rN   )r;   rO   r  r6   rP   rQ   s     r5   rR   zhankel2._eval_conjugatew  r  r8   Nr  r>   r8   r5   r  r  N  sC   € € € € € ð#ð #ðJ 
Œ€BØ	
Œ€BðBð Bð Bð Bð Br8   r  c                 ó<   ‡ — t          ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                 ó0   •— |j         r ‰| ||¦  «        S d S r=   )rW   )r4   rA   rB   Úfns      €r5   Úgzassume_integer_order.<locals>.g~  s)   ø€ àŒ=ð 	#Ø�2�d˜B ‘?”?Ð"ð	#ð 	#r8   r   )r  r  s   ` r5   Úassume_integer_orderr  }  s3   ø€ Ý
ˆ2�Y„Yð#ð #ð #ð #ñ „Yð#ð €Hr8   c                   ó&   — e Zd ZdZd„ Zd„ Zdd„ZdS )ÚSphericalBesselBasea-  
    Base class for spherical Bessel functions.

    These are thin wrappers around ordinary Bessel functions,
    since spherical Bessel functions differ from the ordinary
    ones just by a slight change in order.

    To use this class, define the ``_eval_evalf()`` and ``_expand()`` methods.

    c                 ó    — t          d¦  «        ‚)z@ Expand self into a polynomial. Nu is guaranteed to be Integer. Ú	expansion©r™   ©r4   rj   s     r5   Ú_expandzSphericalBesselBase._expand‘  s   € å! +Ñ.Ô.Ð.r8   c                 ó8   — | j         j        r | j        di |¤ŽS | S ©Nr>   )r6   Ú
is_Integerr$  r#  s     r5   rh   z%SphericalBesselBase._eval_expand_func•  s,   € ØŒ:Ô ð 	)Ø�4”<Ð(Ð( %Ð(Ð(Ð(Øˆr8   rD   c                 ó    — |dk    rt          | |¦  «        ‚|                      | j        dz
  | j        ¦  «        | | j        dz   z  | j        z  z
  S rF   )r
   rH   r6   r;   rJ   s     r5   rL   zSphericalBesselBase.fdiffš  sS   € Ø�qŠ=ˆ=Ý$ T¨8Ñ4Ô4Ð4Ø�~Š~˜dœj¨1™n¨d¬mÑ<Ô<Ø�D”J ‘NÑ# D¤MÑ1ñ2ð 	2r8   Nrq   )rr   rs   rt   ru   r$  rh   rL   r>   r8   r5   r  r  …  sP   € € € € € ð	ð 	ð/ð /ð /ðð ð ð
2ð 2ð 2ð 2ð 2ð 2r8   r  c                 ó²   — t          | |¦  «        t          |¦  «        z  t          j        | dz   z  t          |  dz
  |¦  «        z  t	          |¦  «        z  z   S ©Nr:   )r+   r   r   r‚   r   ©r‡   rB   s     r5   Ú_jnr,  ¡  sU   € Ý  1Ñ%Ô%¥c¨!¡f¤fÑ,ÝŒM˜A ™EÑ"Õ#6¸°r¸A±v¸qÑ#AÔ#AÑAÅ#ÀaÁ&Ä&ÑHñIð Jr8   c                 ó²   — t           j        | dz   z  t          |  dz
  |¦  «        z  t          |¦  «        z  t          | |¦  «        t	          |¦  «        z  z
  S r*  )r   r‚   r+   r   r   r+  s     r5   Ú_ynr.  ¦  sS   € åŒM˜A ™EÑ"Õ%8¸!¸¸a¹ÀÑ%CÔ%CÑCÅCÈÁFÄFÑJÝ  1Ñ%Ô%¥c¨!¡f¤fÑ,ñ-ð .r8   c                   óF   — e Zd ZdZed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Z	d„ Z
dS )	r]   aö  
    Spherical Bessel function of the first kind.

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

    This function is a solution to the spherical Bessel equation

    .. math ::
        z^2 \frac{\mathrm{d}^2 w}{\mathrm{d}z^2}
          + 2z \frac{\mathrm{d}w}{\mathrm{d}z} + (z^2 - \nu(\nu + 1)) w = 0.

    It can be defined as

    .. math ::
        j_\nu(z) = \sqrt{\frac{\pi}{2z}} J_{\nu + \frac{1}{2}}(z),

    where $J_\nu(z)$ is the Bessel function of the first kind.

    The spherical Bessel functions of integral order are
    calculated using the formula:

    .. math:: j_n(z) = f_n(z) \sin{z} + (-1)^{n+1} f_{-n-1}(z) \cos{z},

    where the coefficients $f_n(z)$ are available as
    :func:`sympy.polys.orthopolys.spherical_bessel_fn`.

    Examples
    ========

    >>> from sympy import Symbol, jn, sin, cos, expand_func, besselj, bessely
    >>> z = Symbol("z")
    >>> nu = Symbol("nu", integer=True)
    >>> print(expand_func(jn(0, z)))
    sin(z)/z
    >>> expand_func(jn(1, z)) == sin(z)/z**2 - cos(z)/z
    True
    >>> expand_func(jn(3, z))
    (-6/z**2 + 15/z**4)*sin(z) + (1/z - 15/z**3)*cos(z)
    >>> jn(nu, z).rewrite(besselj)
    sqrt(2)*sqrt(pi)*sqrt(1/z)*besselj(nu + 1/2, z)/2
    >>> jn(nu, z).rewrite(bessely)
    (-1)**nu*sqrt(2)*sqrt(pi)*sqrt(1/z)*bessely(-nu - 1/2, z)/2
    >>> jn(2, 5.2+0.3j).evalf(20)
    0.099419756723640344491 - 0.054525080242173562897*I

    See Also
    ========

    besselj, bessely, besselk, yn

    References
    ==========

    .. [1] https://dlmf.nist.gov/10.47

    c                 óÒ   — |j         r9|j         rt          j        S |j        r|j        rt          j        S t          j        S |t          j        t          j        fv rt          j        S d S r=   )	r_   r   rz   rW   rg   r{   r|   r€   r   r?   s      r5   rC   zjn.evalæ  se   € àŒ9ð 	-ØŒzð -Ý”u�Ø”ð -Ø”>ð -Ýœ6�MåÔ,Ð,Ø•Ô#¥Q¤ZÐ0Ð0Ð0Ý”6ˆMð 1Ð0r8   c                 ór   — t          t          d|z  z  ¦  «        t          |t          j        z   |¦  «        z  S rŠ   )r    r   rY   r   r‘   r‹   s       r5   rÅ   zjn._eval_rewrite_as_besseljó  s+   € Ý•B˜˜!™‘H‰~Œ~¥¨­Q¬V©°QÑ 7Ô 7Ñ7Ð7r8   c                 ó”   — t           j        |z  t          t          d|z  z  ¦  «        z  t	          | t           j        z
  |¦  «        z  S rŠ   )r   r‚   r    r   rŽ   r‘   r‹   s       r5   r�   zjn._eval_rewrite_as_besselyö  s9   € ÝŒ}˜bÑ ¥4­¨A¨a©C©¡>¤>Ñ1µG¸R¸CÅ!Ä&¹LÈ!Ñ4LÔ4LÑLÐLr8   c                 óJ   — t           j        |z  t          | dz
  |¦  «        z  S r*  )r   r‚   r^   r‹   s       r5   rÌ   zjn._eval_rewrite_as_ynù  s"   € ÝŒ}˜rÑ"¥R¨¨¨a©°¡^¤^Ñ3Ð3r8   c                 ó6   — t          | j        | j        ¦  «        S r=   )r,  r6   r;   r#  s     r5   r$  z
jn._expandü  ó   € Ý�4”:˜tœ}Ñ-Ô-Ð-r8   c                 óx   — | j         j        r-|                      t          ¦  «                             |¦  «        S d S r=   ©r6   r'  rÇ   rY   Ú_eval_evalf©r4   Úprecs     r5   r8  zjn._eval_evalfÿ  ó9   € ØŒ:Ô ð 	;Ø—<’<¥Ñ(Ô(×4Ò4°TÑ:Ô:Ð:ð	;ð 	;r8   N)rr   rs   rt   ru   rw   rC   rÅ   r�   rÌ   r$  r8  r>   r8   r5   r]   r]   ¬  sˆ   € € € € € ð8ð 8ðr ð
ð 
ñ „[ð
ð8ð 8ð 8ðMð Mð Mð4ð 4ð 4ð.ð .ð .ð;ð ;ð ;ð ;ð ;r8   r]   c                   óP   — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Zd„ Z	dS )r^   a¥  
    Spherical Bessel function of the second kind.

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

    This function is another solution to the spherical Bessel equation, and
    linearly independent from $j_n$. It can be defined as

    .. math ::
        y_\nu(z) = \sqrt{\frac{\pi}{2z}} Y_{\nu + \frac{1}{2}}(z),

    where $Y_\nu(z)$ is the Bessel function of the second kind.

    For integral orders $n$, $y_n$ is calculated using the formula:

    .. math:: y_n(z) = (-1)^{n+1} j_{-n-1}(z)

    Examples
    ========

    >>> from sympy import Symbol, yn, sin, cos, expand_func, besselj, bessely
    >>> z = Symbol("z")
    >>> nu = Symbol("nu", integer=True)
    >>> print(expand_func(yn(0, z)))
    -cos(z)/z
    >>> expand_func(yn(1, z)) == -cos(z)/z**2-sin(z)/z
    True
    >>> yn(nu, z).rewrite(besselj)
    (-1)**(nu + 1)*sqrt(2)*sqrt(pi)*sqrt(1/z)*besselj(-nu - 1/2, z)/2
    >>> yn(nu, z).rewrite(bessely)
    sqrt(2)*sqrt(pi)*sqrt(1/z)*bessely(nu + 1/2, z)/2
    >>> yn(2, 5.2+0.3j).evalf(20)
    0.18525034196069722536 + 0.014895573969924817587*I

    See Also
    ========

    besselj, bessely, besselk, jn

    References
    ==========

    .. [1] https://dlmf.nist.gov/10.47

    c                 óš   — t           j        |dz   z  t          t          d|z  z  ¦  «        z  t	          | t           j        z
  |¦  «        z  S re   )r   r‚   r    r   rY   r‘   r‹   s       r5   rÅ   zyn._eval_rewrite_as_besselj3  s=   € åŒ}˜r !™tÑ$¥t­B°°!±©H¡~¤~Ñ5½ÀÀÅaÄfÁÈaÑ8PÔ8PÑPÐPr8   c                 ór   — t          t          d|z  z  ¦  «        t          |t          j        z   |¦  «        z  S rŠ   )r    r   rŽ   r   r‘   r‹   s       r5   r�   zyn._eval_rewrite_as_bessely7  s+   € å•B˜˜!™‘H‰~Œ~¥¨­Q¬V©°QÑ 7Ô 7Ñ7Ð7r8   c                 óP   — t           j        |dz   z  t          | dz
  |¦  «        z  S r*  )r   r‚   r]   r‹   s       r5   r’   zyn._eval_rewrite_as_jn;  s&   € ÝŒ}˜r A™vÑ&­¨R¨C°!©G°Q©¬Ñ7Ð7r8   c                 ó6   — t          | j        | j        ¦  «        S r=   )r.  r6   r;   r#  s     r5   r$  z
yn._expand>  r5  r8   c                 óx   — | j         j        r-|                      t          ¦  «                             |¦  «        S d S r=   )r6   r'  rÇ   rŽ   r8  r9  s     r5   r8  zyn._eval_evalfA  r;  r8   N)
rr   rs   rt   ru   r  rÅ   r�   r’   r$  r8  r>   r8   r5   r^   r^     s‡   € € € € € ð-ð -ð\ ðQð Qñ ÔðQð ð8ð 8ñ Ôð8ð8ð 8ð 8ð.ð .ð .ð;ð ;ð ;ð ;ð ;r8   r^   c                   óX   — e Zd Zed„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Z	d„ Z
dS )	ÚSphericalHankelBasec                 óú   — | j         }t          t          d|z  z  ¦  «        t          |t          j        z   |¦  «        |t          z  t          j        |dz   z  z  t          | t          j        z
  |¦  «        z  z   z  S rF   )Ú_hankel_kind_signr    r   rY   r   r‘   r   r‚   ©r4   rA   rB   ro   Úhkss        r5   rÅ   z,SphericalHankelBase._eval_rewrite_as_besseljH  sp   € ð
 Ô$ˆÝ•B˜˜!™‘H‰~Œ~�w r­A¬F¡{°AÑ6Ô6Ø"¥1™u¥Q¤]°R¸±TÑ%:Ñ:½7ÀBÀ3ÍÌÁ<ÐQRÑ;SÔ;SÑSñ Tñ Uð 	Ur8   c                 óô   — | j         }t          t          d|z  z  ¦  «        t          j        |z  t          | t          j        z
  |¦  «        z  |t          z  t          |t          j        z   |¦  «        z  z   z  S rŠ   )rE  r    r   r   r‚   rŽ   r‘   r   rF  s        r5   r�   z,SphericalHankelBase._eval_rewrite_as_besselyQ  sh   € ð
 Ô$ˆÝ•B˜˜!™‘H‰~Œ~�qœ}¨bÑ0µ¸"¸½q¼v¹ÀqÑ1IÔ1IÑIØ"¥1™u¥W¨Rµ!´&©[¸!Ñ%<Ô%<Ñ<ñ =ñ >ð 	>r8   c                 ó˜   — | j         }t          ||¦  «                             t          ¦  «        |t          z  t          ||¦  «        z  z   S r=   )rE  r]   rÇ   r^   r   rF  s        r5   rÌ   z'SphericalHankelBase._eval_rewrite_as_ynZ  s;   € ØÔ$ˆÝ�"�a‰yŒy× Ò ¥Ñ$Ô$ s­1¡u­R°°A©Y¬Y¡Ñ6Ð6r8   c                 ó˜   — | j         }t          ||¦  «        |t          z  t          ||¦  «                             t          ¦  «        z  z   S r=   )rE  r]   r   r^   rÇ   rF  s        r5   r’   z'SphericalHankelBase._eval_rewrite_as_jn^  s<   € ØÔ$ˆÝ�"�a‰yŒy˜3�q™5¥ B¨¡¤×!2Ò!2µ2Ñ!6Ô!6Ñ6Ñ6Ð6r8   c                 ó¶   — | j         j        r | j        di |¤ŽS | j         }| j        }| j        }t          ||¦  «        |t          z  t          ||¦  «        z  z   S r&  )r6   r'  r$  r;   rE  r]   r   r^   )r4   rj   rA   rB   rG  s        r5   rh   z%SphericalHankelBase._eval_expand_funcb  s`   € ØŒ:Ô ð 	/Ø�4”<Ð(Ð( %Ð(Ð(Ð(à”ˆBØ”ˆAØÔ(ˆCÝ�b˜!‘9”9˜s¥1™u¥R¨¨A¡Y¤Y™Ñ.Ð.r8   c                 ó¨   — | j         }| j        }| j        }t          ||¦  «        |t          z  t          ||¦  «        z  z                        ¦   «         S r=   )r6   r;   rE  r,  r   r.  Úexpand)r4   rj   r‡   rB   rG  s        r5   r$  zSphericalHankelBase._expandk  sI   € ØŒJˆØŒMˆØÔ$ˆõ �A�q‘	”	˜C¥™E¥# a¨¡)¤)™OÑ+×3Ò3Ñ5Ô5Ð5r8   c                 óx   — | j         j        r-|                      t          ¦  «                             |¦  «        S d S r=   r7  r9  s     r5   r8  zSphericalHankelBase._eval_evalfz  r;  r8   N)rr   rs   rt   r  rÅ   r�   rÌ   r’   rh   r$  r8  r>   r8   r5   rC  rC  F  s˜   € € € € € àðUð Uñ ÔðUð ð>ð >ñ Ôð>ð7ð 7ð 7ð7ð 7ð 7ð/ð /ð /ð6ð 6ð 6ð;ð ;ð ;ð ;ð ;r8   rC  c                   ó6   — e Zd ZdZej        Zed„ ¦   «         ZdS )r[   a”  
    Spherical Hankel function of the first kind.

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

    This function is defined as

    .. math:: h_\nu^(1)(z) = j_\nu(z) + i y_\nu(z),

    where $j_\nu(z)$ and $y_\nu(z)$ are the spherical
    Bessel function of the first and second kinds.

    For integral orders $n$, $h_n^(1)$ is calculated using the formula:

    .. math:: h_n^(1)(z) = j_{n}(z) + i (-1)^{n+1} j_{-n-1}(z)

    Examples
    ========

    >>> from sympy import Symbol, hn1, hankel1, expand_func, yn, jn
    >>> z = Symbol("z")
    >>> nu = Symbol("nu", integer=True)
    >>> print(expand_func(hn1(nu, z)))
    jn(nu, z) + I*yn(nu, z)
    >>> print(expand_func(hn1(0, z)))
    sin(z)/z - I*cos(z)/z
    >>> print(expand_func(hn1(1, z)))
    -I*sin(z)/z - cos(z)/z + sin(z)/z**2 - I*cos(z)/z**2
    >>> hn1(nu, z).rewrite(jn)
    (-1)**(nu + 1)*I*jn(-nu - 1, z) + jn(nu, z)
    >>> hn1(nu, z).rewrite(yn)
    (-1)**nu*yn(-nu - 1, z) + I*yn(nu, z)
    >>> hn1(nu, z).rewrite(hankel1)
    sqrt(2)*sqrt(pi)*sqrt(1/z)*hankel1(nu, z)/2

    See Also
    ========

    hn2, jn, yn, hankel1, hankel2

    References
    ==========

    .. [1] https://dlmf.nist.gov/10.47

    c                 óX   — t          t          d|z  z  ¦  «        t          ||¦  «        z  S rŠ   )r    r   r  r‹   s       r5   Ú_eval_rewrite_as_hankel1zhn1._eval_rewrite_as_hankel1²  ó#   € å•B˜˜!™‘H‰~Œ~�g b¨!™nœnÑ,Ð,r8   N)	rr   rs   rt   ru   r   rz   rE  r  rQ  r>   r8   r5   r[   r[     sC   € € € € € ð.ð .ð` œÐàð-ð -ñ Ôð-ð -ð -r8   r[   c                   ó8   — e Zd ZdZej         Zed„ ¦   «         ZdS )r\   a’  
    Spherical Hankel function of the second kind.

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

    This function is defined as

    .. math:: h_\nu^(2)(z) = j_\nu(z) - i y_\nu(z),

    where $j_\nu(z)$ and $y_\nu(z)$ are the spherical
    Bessel function of the first and second kinds.

    For integral orders $n$, $h_n^(2)$ is calculated using the formula:

    .. math:: h_n^(2)(z) = j_{n} - i (-1)^{n+1} j_{-n-1}(z)

    Examples
    ========

    >>> from sympy import Symbol, hn2, hankel2, expand_func, jn, yn
    >>> z = Symbol("z")
    >>> nu = Symbol("nu", integer=True)
    >>> print(expand_func(hn2(nu, z)))
    jn(nu, z) - I*yn(nu, z)
    >>> print(expand_func(hn2(0, z)))
    sin(z)/z + I*cos(z)/z
    >>> print(expand_func(hn2(1, z)))
    I*sin(z)/z - cos(z)/z + sin(z)/z**2 + I*cos(z)/z**2
    >>> hn2(nu, z).rewrite(hankel2)
    sqrt(2)*sqrt(pi)*sqrt(1/z)*hankel2(nu, z)/2
    >>> hn2(nu, z).rewrite(jn)
    -(-1)**(nu + 1)*I*jn(-nu - 1, z) + jn(nu, z)
    >>> hn2(nu, z).rewrite(yn)
    (-1)**nu*yn(-nu - 1, z) - I*yn(nu, z)

    See Also
    ========

    hn1, jn, yn, hankel1, hankel2

    References
    ==========

    .. [1] https://dlmf.nist.gov/10.47

    c                 óX   — t          t          d|z  z  ¦  «        t          ||¦  «        z  S rŠ   )r    r   r  r‹   s       r5   Ú_eval_rewrite_as_hankel2zhn2._eval_rewrite_as_hankel2ê  rR  r8   N)	rr   rs   rt   ru   r   rz   rE  r  rU  r>   r8   r5   r\   r\   ·  sE   € € € € € ð.ð .ð` œ˜Ðàð-ð -ñ Ôð-ð -ð -r8   r\   Úsympyé   c                 óÌ  ‡ ‡‡‡‡‡‡— ddl m} ‰dk    r8ddlmŠ ddlm}  ||¦  «        Šˆˆ ˆfd„t          d|dz   ¦  «        D ¦   «         S ‰dk    r0dd	lmŠ 	 dd
l	m
Š ˆ ˆfd„}n+# t          $ r ddl	mŠ ˆ ˆfd„}Y nw xY wt          d¦  «        ‚ˆˆfd„}‰ |z   } |||¦  «        }|g}	t          |dz
  ¦  «        D ]&}
 ||||z   ¦  «        }|	                     |¦  «         Œ'|	S )a­  
    Zeros of the spherical Bessel function of the first kind.

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

    This returns an array of zeros of $jn$ up to the $k$-th zero.

    * method = "sympy": uses `mpmath.besseljzero
      <https://mpmath.org/doc/current/functions/bessel.html#mpmath.besseljzero>`_
    * method = "scipy": uses the
      `SciPy's sph_jn <https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.jn_zeros.html>`_
      and
      `newton <https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.newton.html>`_
      to find all
      roots, which is faster than computing the zeros using a general
      numerical solver, but it requires SciPy and only works with low
      precision floating point numbers. (The function used with
      method="sympy" is a recent addition to mpmath; before that a general
      solver was used.)

    Examples
    ========

    >>> from sympy import jn_zeros
    >>> jn_zeros(2, 4, dps=5)
    [5.7635, 9.095, 12.323, 15.515]

    See Also
    ========

    jn, yn, besselj, besselk, bessely

    Parameters
    ==========

    n : integer
        order of Bessel function

    k : integer
        number of zeros to return


    r   )r   rV  )Úbesseljzero)Údps_to_precc           
      ó®   •— g | ]Q}t          j         ‰t          ‰d z   ¦  «                             ‰¦  «        t	          |¦  «        ¦  «        ‰¦  «        ‘ŒRS )g      à?)r   Ú_from_mpmathr   Ú
_to_mpmathÚint)rò   ÚlrY  r‡   r:  s     €€€r5   ró   zjn_zeros.<locals>.<listcomp>"  sj   ø€ ð *ð *ð *àõ Ô! + +­a°°C±©j¬j×.CÒ.CÀDÑ.IÔ.IÝ.1°!©f¬fñ#6ô #6Ø7;ñ=ô =ð *ð *ð *r8   r:   Úscipy)Únewton)Úspherical_jnc                 ó   •—  ‰‰| ¦  «        S r=   r>   )ra   r‡   rb  s    €€r5   ú<lambda>zjn_zeros.<locals>.<lambda>)  s   ø€ ˜,˜, q¨!Ñ,Ô,€ r8   )Úsph_jnc                 ó4   •—  ‰‰| ¦  «        d         d         S )Nr   rß   r>   )ra   r‡   re  s    €€r5   rd  zjn_zeros.<locals>.<lambda>,  s   ø€ ˜&˜&  A™,œ, qœ/¨"Ô-€ r8   úUnknown method.c                 óL   •— ‰dk    r ‰| |¦  «        }nt          d¦  «        ‚|S )Nr`  rg  r"  )rk   ra   r!   Úmethodra  s      €€r5   Úsolverzjn_zeros.<locals>.solver0  s3   ø€ Ø�WÒÐØ�6˜!˜Q‘<”<ˆDˆDå%Ð&7Ñ8Ô8Ð8Øˆr8   )Úmathr   ÚmpmathrY  Úmpmath.libmp.libmpfrZ  r³   Úscipy.optimizera  Úscipy.specialrb  ÚImportErrorre  r™   r´   )r‡   r½   ri  ÚdpsÚmath_pirZ  rk   rj  r!   ÚrootsÚirY  ra  r:  re  rb  s   ` `        @@@@@r5   Újn_zerosru  ï  sÀ  øøøøøøø€ ðZ #Ð"Ð"Ð"Ð"Ð"à�ÒÐØ&Ð&Ð&Ð&Ð&Ð&Ø3Ð3Ð3Ð3Ð3Ð3Øˆ{˜3ÑÔˆð*ð *ð *ð *ð *ð *å˜q ! a¡%™œð*ñ *ô *ð 	*ð 
�7Ò	Ð	Ø)Ð)Ð)Ð)Ð)Ð)ð	.Ø2Ð2Ð2Ð2Ð2Ð2Ø,Ð,Ð,Ð,Ð,ˆAˆAøÝð 	.ð 	.ð 	.Ø,Ð,Ð,Ð,Ð,Ð,Ø-Ð-Ð-Ð-Ð-ˆAˆAˆAð	.øøøõ "Ð"3Ñ4Ô4Ð4ðð ð ð ð ð ð ˆw‰;€Dàˆ6�!�T‰?Œ?€DØˆF€EÝ�1�q‘5‰\Œ\ð ð ˆàˆv�a˜ ™Ñ(Ô(ˆØ�Š�TÑÔÐÐØ€Ls   ÁA& Á&A?Á>A?c                   ó.   — e Zd ZdZd„ Zd„ Zdd„Zdd„ZdS )	ÚAiryBasezg
    Abstract base class for Airy functions.

    This class is meant to reduce code duplication.

    c                 óf   — |                       | j        d                              ¦   «         ¦  «        S ©Nr   )r  r2   rP   r3   s    r5   rR   zAiryBase._eval_conjugateK  s&   € Ø�yŠy˜œ 1œ×/Ò/Ñ1Ô1Ñ2Ô2Ð2r8   c                 ó&   — | j         d         j        S ry  )r2   r¦   r3   s    r5   r¨   zAiryBase._eval_is_extended_realN  s   € ØŒy˜Œ|Ô,Ð,r8   Tc                 óÒ   — | j         d         }|                     ¦   «         }| j        } ||¦  «         ||¦  «        z   dz  }t           ||¦  «         ||¦  «        z
  z  dz  }||fS )Nr   rD   )r2   rP   r  r   )r4   Údeeprj   rB   Úzcrk   ÚuÚvs           r5   Úas_real_imagzAiryBase.as_real_imagQ  si   € ØŒI�aŒLˆØ�[Š[‰]Œ]ˆØŒIˆØˆQˆq‰TŒT�!�!�B‘%”%‰Z˜‰NˆÝˆqˆq�‰uŒu�Q�Q�q‘T”T‰z‰N˜1ÑˆØ�!ˆtˆr8   c                 ó@   —  | j         dd|i|¤Ž\  }}||t          z  z   S )Nr|  r>   )r€  r   )r4   r|  rj   Úre_partÚim_parts        r5   Ú_eval_expand_complexzAiryBase._eval_expand_complexY  s3   € Ø,˜4Ô,Ð@Ð@°$Ð@¸%Ð@Ð@Ñˆ�Ø˜¥™Ñ"Ð"r8   N)T)rr   rs   rt   ru   rR   r¨   r€  r„  r>   r8   r5   rw  rw  C  sd   € € € € € ðð ð3ð 3ð 3ð-ð -ð -ðð ð ð ð#ð #ð #ð #ð #ð #r8   rw  c                   óv   — e Zd ZdZdZdZed„ ¦   «         Zdd„Ze	e
d„ ¦   «         ¦   «         Zd„ Zd„ Zd	„ Zd
„ ZdS )ÚairyaiaŽ  
    The Airy function $\operatorname{Ai}$ of the first kind.

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

    The Airy function $\operatorname{Ai}(z)$ is defined to be the function
    satisfying Airy's differential equation

    .. math::
        \frac{\mathrm{d}^2 w(z)}{\mathrm{d}z^2} - z w(z) = 0.

    Equivalently, for real $z$

    .. math::
        \operatorname{Ai}(z) := \frac{1}{\pi}
        \int_0^\infty \cos\left(\frac{t^3}{3} + z t\right) \mathrm{d}t.

    Examples
    ========

    Create an Airy function object:

    >>> from sympy import airyai
    >>> from sympy.abc import z

    >>> airyai(z)
    airyai(z)

    Several special values are known:

    >>> airyai(0)
    3**(1/3)/(3*gamma(2/3))
    >>> from sympy import oo
    >>> airyai(oo)
    0
    >>> airyai(-oo)
    0

    The Airy function obeys the mirror symmetry:

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

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(airyai(z), z)
    airyaiprime(z)
    >>> diff(airyai(z), z, 2)
    z*airyai(z)

    Series expansion is also supported:

    >>> from sympy import series
    >>> series(airyai(z), z, 0, 3)
    3**(5/6)*gamma(1/3)/(6*pi) - 3**(1/6)*z*gamma(2/3)/(2*pi) + O(z**3)

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

    >>> airyai(-2).evalf(50)
    0.22740742820168557599192443603787379946077222541710

    Rewrite $\operatorname{Ai}(z)$ in terms of hypergeometric functions:

    >>> from sympy import hyper
    >>> airyai(z).rewrite(hyper)
    -3**(2/3)*z*hyper((), (4/3,), z**3/9)/(3*gamma(1/3)) + 3**(1/3)*hyper((), (2/3,), z**3/9)/(3*gamma(2/3))

    See Also
    ========

    airybi: Airy function of the second kind.
    airyaiprime: Derivative of the Airy function of the first kind.
    airybiprime: Derivative of the Airy function of the second kind.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Airy_function
    .. [2] https://dlmf.nist.gov/9
    .. [3] https://encyclopediaofmath.org/wiki/Airy_functions
    .. [4] https://mathworld.wolfram.com/AiryFunctions.html

    r:   Tc                 óÄ  — |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        dt          dd¦  «        z  t          t          dd¦  «        ¦  «        z  z  S |j        r>t          j        dt          dd¦  «        z  t          t          dd¦  «        ¦  «        z  z  S d S )NrÏ   rD   )
Ú	is_Numberr   r~   r   r{   r€   r_   rz   r   r'   ©r@   rž   s     r5   rC   zairyai.evalº  sÈ   € àŒ=ð 	KØ•a”eˆ|ˆ|Ý”u�Ø�œ
Ð"Ð"Ý”v�Ø�Ô*Ð*Ð*Ý”v�Ø”ð KÝ”u ¥8¨A¨q¡>¤>Ñ 1µE½(À1Àa¹.¼.Ñ4IÔ4IÑ IÑJÐJØŒ;ð 	GÝ”5˜A�x¨¨1™~œ~Ñ-µµh¸qÀ!±n´nÑ0EÔ0EÑEÑFÐFð	Gð 	Gr8   c                 ób   — |dk    rt          | j        d         ¦  «        S t          | |¦  «        ‚©Nr:   r   )Úairyaiprimer2   r
   rJ   s     r5   rL   zairyai.fdiffÈ  ó/   € Ø�qŠ=ˆ=Ý˜tœy¨œ|Ñ,Ô,Ð,å$ T¨8Ñ4Ô4Ð4r8   c           	      ó   — | dk     rt           j        S t          |¦  «        }t          |¦  «        dk    �r|d         }t	          d¦  «        |z  |  z  t	          d¦  «        |z  | dz   z  z  t          t          | t          dd¦  «        z  t          dd¦  «        z   z  ¦  «        z  t          | ¦  «        z  t          | dz  t          dd¦  «        z   ¦  «        z  t          t          | t          dd¦  «        z  t          dd¦  «        z   z  ¦  «        t          | dz   ¦  «        z  t          | dz  t          dd¦  «        z   ¦  «        z  z  |z  S t           j
        dt          dd¦  «        z  t          z  z  t          | t           j
        z   t          d¦  «        z  ¦  «        z  t          t          dd¦  «        t          z  | t           j
        z   z  ¦  «        z  t          | ¦  «        z  t	          d¦  «        |z  | z  z  S )Nr   r:   rß   rÏ   rD   r”   )r   r{   r   Úlenr   r   r   r   r   r'   rz   ©r‡   ra   Úprevious_termsrÜ   s       r5   Útaylor_termzairyai.taylor_termÎ  s  € ð ˆqŠ5ˆ5Ý”6ˆMå˜‘
”
ˆAÝ�>Ñ"Ô" QÒ&Ñ&Ø" 2Ô&�Ý˜a™œ ™ q bÑ)­4°©7¬7°1©9¸¸A¹Ñ*>Ñ>½sÅ2ÀqÍÐRSÐUVÉÌÑGWÕZbÐcdÐfgÑZhÔZhÑGhÑCiÑ?jÔ?jÑjÕktÐuvÑkwÔkwÑwÝ˜a ™c¥H¨Q°¡N¤NÑ2Ñ3Ô3ñ4Ý58½¸Q½xÈÈ1¹~¼~Ñ=MÕPXÐYZÐ\]ÑP^ÔP^Ñ=^Ñ9_Ñ5`Ô5`ÕajÐklÐopÑkpÑaqÔaqÑ5qÕrwÐxyÐz{Ñx{õ  Gð  HIð  KLñ  Mô  Mñ  yMñ  sNô  sNñ  6NñOð RSñSð Tõ œ˜q¥(¨1¨a¡.¤.Ñ0µÑ3Ñ4µu¸aÅÄ¹gÅqÈÁtÄt¹^Ñ7LÔ7LÑLÍsÕS[Ð\]Ð_`ÑSaÔSaÕbdÑSdÐfgÕhiÔhmÑfmÑSnÑOoÔOoÑoÝ! !™œñ%Ý(,¨Q©¬°©	°A¡~ñ6ð 7r8   c                 ó$  — t          dd¦  «        }t          dd¦  «        }t          | t          dd¦  «        ¦  «        }t          |¦  «        j        r<|t	          | ¦  «        z  t          | ||z  ¦  «        t          |||z  ¦  «        z   z  S d S ©Nr:   rÏ   rD   ©r   r   r#   ri   r    rY   ©r4   rB   ro   ÚotÚttrb   s         r5   rÅ   zairyai._eval_rewrite_as_besseljÝ  s�   € Ý�a˜‰^Œ^ˆÝ�a˜‰^Œ^ˆÝ��•H˜Q ‘N”NÑ#Ô#ˆÝˆa‰5Œ5Ôð 	JØ•d˜A˜2‘h”h‘;¥'¨2¨#¨r°!©tÑ"4Ô"4µw¸rÀ2ÀaÁ4Ñ7HÔ7HÑ"HÑIÐIð	Jð 	Jr8   c                 ó¾  — t          dd¦  «        }t          dd¦  «        }t          |t          dd¦  «        ¦  «        }t          |¦  «        j        r;|t	          |¦  «        z  t          | ||z  ¦  «        t          |||z  ¦  «        z
  z  S |t          ||¦  «        t          | ||z  ¦  «        z  |t          || ¦  «        z  t          |||z  ¦  «        z  z
  z  S r”  ©r   r   r#   rg   r    rZ   r–  s         r5   rŒ   zairyai._eval_rewrite_as_besseliä  sÎ   € Ý�a˜‰^Œ^ˆÝ�a˜‰^Œ^ˆÝ�•8˜A˜q‘>”>Ñ"Ô"ˆÝˆa‰5Œ5Ôð 	XØ•d˜1‘g”g‘:¥¨"¨¨b°©dÑ!3Ô!3µg¸bÀ"ÀQÁ$Ñ6GÔ6GÑ!GÑHÐHà•s˜1˜b‘z”z¥'¨2¨#¨r°!©tÑ"4Ô"4Ñ4°q½¸QÀÀ¹¼±}ÅWÈRÐQSÐTUÑQUÑEVÔEVÑ7VÑVÑWÐWr8   c           	      ó†  — t           j        dt          dd¦  «        z  t          t          dd¦  «        ¦  «        z  z  }|t	          dd¦  «        t          t          dd¦  «        ¦  «        z  z  }|t          g t          dd¦  «        g|dz  dz  ¦  «        z  |t          g t          dd¦  «        g|dz  dz  ¦  «        z  z
  S )NrÏ   rD   r:   é	   r”   )r   rz   r   r'   r!   r*   ©r4   rB   ro   Úpf1Úpf2s        r5   Ú_eval_rewrite_as_hyperzairyai._eval_rewrite_as_hyperí  s±   € ÝŒe�q�( 1 a™.œ.Ñ(­­x¸¸1©~¬~Ñ)>Ô)>Ñ>Ñ?ˆØ•4˜˜1‘:”:�e¥H¨Q°¡N¤NÑ3Ô3Ñ3Ñ4ˆØ•U˜2¥¨¨A¡¤Ð/°°A±°a±Ñ8Ô8Ñ8¸3ÅÀrÍHÐUVÐXYÉNÌNÐK[Ð]^Ð`aÑ]aÐbcÑ]cÑAdÔAdÑ;dÑdÐdr8   c                 ó¾  — | j         d         }|j        }t          |¦  «        dk    �r0|                     ¦   «         }t	          d|g¬¦  «        }t	          d|g¬¦  «        }t	          d|g¬¦  «        }t	          d|g¬¦  «        }|                     ||||z  z  |z  z  ¦  «        }	|	�³|	|         }d|z  j        r£|	|         }|	|         }|	|         }|||z  z  |z  ||z  |||z  z  z  z  }
|||z  z  |||z  z  z  }t          j        |
t          j	        z   t          |¦  «        z  |
t          j	        z
  t          d¦  «        z  t          |¦  «        z  z
  z  S d S d S d S ©	Nr   r:   rŸ   )ÚexcludeÚdÚmr‡   rÏ   )r2   Úfree_symbolsr�  Úpopr   ÚmatchrW   r   r‘   rz   r†  r    Úairybi©r4   rj   rž   ÚsymbsrB   rŸ   r¤  r¥  r‡   ÚMÚpfÚnewargs               r5   rh   zairyai._eval_expand_funcò  s~  € ØŒi˜ŒlˆØÔ ˆåˆu‰:Œ:˜Š?‰?Ø—	’	‘”ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAØ—	’	˜!˜Q˜q !™t™V a™K™-Ñ(Ô(ˆAØˆ}Ø�a”D�ð �a‘CÔ#ð hØ˜!œ�AØ˜!œ�AØ˜!œ�AØ˜a ™d™( Q™¨!¨Q©$°°Q°q±S±©/Ñ:�BØ  A¡™X¨¨A¨a©C©Ñ0�FÝœ6 b­1¬5¡jµ&¸±.´.Ñ%@ÀBÍÌÁJÕPTÐUVÑPWÔPWÑCWÕX^Ð_eÑXfÔXfÑCfÑ%fÑgÐgð# ˆ?ð ˆ}ðhð hr8   N©r:   ©rr   rs   rt   ru   ÚnargsÚ
unbranchedrw   rC   rL   Ústaticmethodr   r’  rÅ   rŒ   r   rh   r>   r8   r5   r†  r†  ^  sÌ   € € € € € ðVð Vðp €EØ€JàðGð Gñ „[ðGð5ð 5ð 5ð 5ð Øð7ð 7ñ „Wñ „\ð7ðJð Jð JðXð Xð Xðeð eð eð
hð hð hð hð hr8   r†  c                   óv   — e Zd ZdZdZdZed„ ¦   «         Zdd„Ze	e
d„ ¦   «         ¦   «         Zd„ Zd„ Zd	„ Zd
„ ZdS )r©  aâ  
    The Airy function $\operatorname{Bi}$ of the second kind.

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

    The Airy function $\operatorname{Bi}(z)$ is defined to be the function
    satisfying Airy's differential equation

    .. math::
        \frac{\mathrm{d}^2 w(z)}{\mathrm{d}z^2} - z w(z) = 0.

    Equivalently, for real $z$

    .. math::
        \operatorname{Bi}(z) := \frac{1}{\pi}
                 \int_0^\infty
                   \exp\left(-\frac{t^3}{3} + z t\right)
                   + \sin\left(\frac{t^3}{3} + z t\right) \mathrm{d}t.

    Examples
    ========

    Create an Airy function object:

    >>> from sympy import airybi
    >>> from sympy.abc import z

    >>> airybi(z)
    airybi(z)

    Several special values are known:

    >>> airybi(0)
    3**(5/6)/(3*gamma(2/3))
    >>> from sympy import oo
    >>> airybi(oo)
    oo
    >>> airybi(-oo)
    0

    The Airy function obeys the mirror symmetry:

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

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(airybi(z), z)
    airybiprime(z)
    >>> diff(airybi(z), z, 2)
    z*airybi(z)

    Series expansion is also supported:

    >>> from sympy import series
    >>> series(airybi(z), z, 0, 3)
    3**(1/3)*gamma(1/3)/(2*pi) + 3**(2/3)*z*gamma(2/3)/(2*pi) + O(z**3)

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

    >>> airybi(-2).evalf(50)
    -0.41230258795639848808323405461146104203453483447240

    Rewrite $\operatorname{Bi}(z)$ in terms of hypergeometric functions:

    >>> from sympy import hyper
    >>> airybi(z).rewrite(hyper)
    3**(1/6)*z*hyper((), (4/3,), z**3/9)/gamma(1/3) + 3**(5/6)*hyper((), (2/3,), z**3/9)/(3*gamma(2/3))

    See Also
    ========

    airyai: Airy function of the first kind.
    airyaiprime: Derivative of the Airy function of the first kind.
    airybiprime: Derivative of the Airy function of the second kind.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Airy_function
    .. [2] https://dlmf.nist.gov/9
    .. [3] https://encyclopediaofmath.org/wiki/Airy_functions
    .. [4] https://mathworld.wolfram.com/AiryFunctions.html

    r:   Tc                 óÄ  — |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        dt          dd¦  «        z  t          t          dd¦  «        ¦  «        z  z  S |j        r>t          j        dt          dd¦  «        z  t          t          dd¦  «        ¦  «        z  z  S d S )NrÏ   r:   é   rD   )
rˆ  r   r~   r   r€   r{   r_   rz   r   r'   r‰  s     r5   rC   zairybi.evalh  sÉ   € àŒ=ð 	KØ•a”eˆ|ˆ|Ý”u�Ø�œ
Ð"Ð"Ý”zÐ!Ø�Ô*Ð*Ð*Ý”v�Ø”ð KÝ”u ¥8¨A¨q¡>¤>Ñ 1µE½(À1Àa¹.¼.Ñ4IÔ4IÑ IÑJÐJàŒ;ð 	GÝ”5˜A�x¨¨1™~œ~Ñ-µµh¸qÀ!±n´nÑ0EÔ0EÑEÑFÐFð	Gð 	Gr8   c                 ób   — |dk    rt          | j        d         ¦  «        S t          | |¦  «        ‚r‹  )Úairybiprimer2   r
   rJ   s     r5   rL   zairybi.fdiffw  r�  r8   c           
      óè  — | dk     rt           j        S t          |¦  «        }t          |¦  «        dk    �r|d         }t	          d¦  «        |z  t          t          t          dd¦  «        t          z  | t           j	        z   z  ¦  «        ¦  «        z  t          | t           j	        z
  t          d¦  «        z  ¦  «        z  | t           j	        z   t          t          t          dd¦  «        t          z  | t           j        z   z  ¦  «        ¦  «        z  t          | dz
  t          d¦  «        z  ¦  «        z  z  |z  S t           j	        t          dd¦  «        t          z  z  t          | t           j	        z   t          d¦  «        z  ¦  «        z  t          t          t          dd¦  «        t          z  | t           j	        z   z  ¦  «        ¦  «        z  t          | ¦  «        z  t	          d¦  «        |z  | z  z  S )Nr   r:   rß   rÏ   rD   r¶  )r   r{   r   r�  r   r"   r   r   r   rz   r   r   r‘   r!   r'   r�  s       r5   r’  zairybi.taylor_term}  s¡  € ð ˆqŠ5ˆ5Ý”6ˆMå˜‘
”
ˆAÝ�>Ñ"Ô" QÒ&Ñ&Ø" 2Ô&�Ý˜Q™œ ™	¥C­­H°Q¸©N¬N½2Ñ,=¸qÅ1Ä5¹yÑ,IÑ(JÔ(JÑ$KÔ$KÑKÍiÐYZÕ]^Ô]bÑYbÕdeÐfgÑdhÔdhÑXhÑNiÔNiÑiØ�aœe™)¥s­3­x¸¸1©~¬~½bÑ/@À!ÅaÄfÁ*Ñ/MÑ+NÔ+NÑ'OÔ'OÑOÕR[Ð]^ÐabÑ]bÕdeÐfgÑdhÔdhÑ\hÑRiÔRiÑiñkØmnñoð põ œ�t A q™zœz­"™}Ñ-µ°q½1¼5±yÅ!ÀAÁ$Ä$Ñ6FÑ0GÔ0GÑGÍ#ÍcÕRZÐ[\Ð^_ÑR`ÔR`ÕacÑRcÐefÕijÔinÑenÑRoÑNpÔNpÑJqÔJqÑqÝ! !™œñ%Ý(,¨Q©¬°©	°A¡~ñ6ð 7r8   c                 ó$  — t          dd¦  «        }t          dd¦  «        }t          | t          dd¦  «        ¦  «        }t          |¦  «        j        r<t	          | dz  ¦  «        t          | ||z  ¦  «        t          |||z  ¦  «        z
  z  S d S r”  r•  r–  s         r5   rÅ   zairybi._eval_rewrite_as_besseljŒ  s�   € Ý�a˜‰^Œ^ˆÝ�a˜‰^Œ^ˆÝ��•H˜Q ‘N”NÑ#Ô#ˆÝˆa‰5Œ5Ôð 	IÝ˜˜˜1™‘:”:¥¨"¨¨b°©dÑ!3Ô!3µg¸bÀ"ÀQÁ$Ñ6GÔ6GÑ!GÑHÐHð	Ið 	Ir8   c                 óú  — t          dd¦  «        }t          dd¦  «        }t          |t          dd¦  «        ¦  «        }t          |¦  «        j        rHt	          |¦  «        t	          d¦  «        z  t          | ||z  ¦  «        t          |||z  ¦  «        z   z  S t          ||¦  «        }t          || ¦  «        }t	          |¦  «        |t          | ||z  ¦  «        z  ||z  t          |||z  ¦  «        z  z   z  S r”  rš  ©r4   rB   ro   r—  r˜  rb   rÚ   rŸ   s           r5   rŒ   zairybi._eval_rewrite_as_besseli“  sá   € Ý�a˜‰^Œ^ˆÝ�a˜‰^Œ^ˆÝ�•8˜A˜q‘>”>Ñ"Ô"ˆÝˆa‰5Œ5Ôð 	KÝ˜‘7”7�4 ™7œ7‘?¥g¨r¨c°2°a±4Ñ&8Ô&8½7À2ÀrÈ!ÁtÑ;LÔ;LÑ&LÑMÐMå�A�r‘
”
ˆAÝ�A˜�s‘”ˆAÝ˜‘8”8˜Q�w¨ s¨B¨q©DÑ1Ô1Ñ1°A°a±C½ÀÀBÀqÁDÑ8IÔ8IÑ4IÑIÑJÐJr8   c           	      ó€  — t           j        t          dd¦  «        t          t	          dd¦  «        ¦  «        z  z  }|t          dd¦  «        z  t          t	          dd¦  «        ¦  «        z  }|t          g t	          dd¦  «        g|dz  dz  ¦  «        z  |t          g t	          dd¦  «        g|dz  dz  ¦  «        z  z   S )NrÏ   r¶  rD   r:   rœ  r”   )r   rz   r!   r'   r   r*   r�  s        r5   r   zairybi._eval_rewrite_as_hyperž  s«   € ÝŒe•t˜A˜q‘z”z¥%­°°A©¬Ñ"7Ô"7Ñ7Ñ8ˆØ•�Q˜‘
”
‰l�U¥8¨A¨q¡>¤>Ñ2Ô2Ñ2ˆØ•U˜2¥¨¨A¡¤Ð/°°A±°a±Ñ8Ô8Ñ8¸3ÅÀrÍHÐUVÐXYÉNÌNÐK[Ð]^Ð`aÑ]aÐbcÑ]cÑAdÔAdÑ;dÑdÐdr8   c                 ó¾  — | j         d         }|j        }t          |¦  «        dk    �r0|                     ¦   «         }t	          d|g¬¦  «        }t	          d|g¬¦  «        }t	          d|g¬¦  «        }t	          d|g¬¦  «        }|                     ||||z  z  |z  z  ¦  «        }	|	�³|	|         }d|z  j        r£|	|         }|	|         }|	|         }|||z  z  |z  ||z  |||z  z  z  z  }
|||z  z  |||z  z  z  }t          j        t          d¦  «        t          j
        |
z
  z  t          |¦  «        z  t          j
        |
z   t          |¦  «        z  z   z  S d S d S d S r¢  )r2   r¦  r�  r§  r   r¨  rW   r   r‘   r    rz   r†  r©  rª  s               r5   rh   zairybi._eval_expand_func£  s{  € ØŒi˜ŒlˆØÔ ˆåˆu‰:Œ:˜Š?‰?Ø—	’	‘”ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAØ—	’	˜!˜Q˜q !™t™V a™K™-Ñ(Ô(ˆAØˆ}Ø�a”D�ð �a‘CÔ#ð hØ˜!œ�AØ˜!œ�AØ˜!œ�AØ˜a ™d™( Q™¨!¨Q©$°°Q°q±S±©/Ñ:�BØ  A¡™X¨¨A¨a©C©Ñ0�FÝœ6¥T¨!¡W¤W­a¬e°b©jÑ%9½&À¹.¼.Ñ%HÍAÌEÐTVÉJÕX^Ð_eÑXfÔXfÑKfÑ%fÑgÐgð# ˆ?ð ˆ}ðhð hr8   Nr¯  r°  r>   r8   r5   r©  r©  
  sÌ   € € € € € ðXð Xðt €EØ€JàðGð Gñ „[ðGð5ð 5ð 5ð 5ð Øð7ð 7ñ „Wñ „\ð7ðIð Ið Ið	Kð 	Kð 	Kðeð eð eð
hð hð hð hð hr8   r©  c                   óV   — e Zd ZdZdZdZed„ ¦   «         Zdd„Zd„ Z	d„ Z
d„ Zd	„ Zd
„ ZdS )rŒ  a%  
    The derivative $\operatorname{Ai}^\prime$ of the Airy function of the first
    kind.

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

    The Airy function $\operatorname{Ai}^\prime(z)$ is defined to be the
    function

    .. math::
        \operatorname{Ai}^\prime(z) := \frac{\mathrm{d} \operatorname{Ai}(z)}{\mathrm{d} z}.

    Examples
    ========

    Create an Airy function object:

    >>> from sympy import airyaiprime
    >>> from sympy.abc import z

    >>> airyaiprime(z)
    airyaiprime(z)

    Several special values are known:

    >>> airyaiprime(0)
    -3**(2/3)/(3*gamma(1/3))
    >>> from sympy import oo
    >>> airyaiprime(oo)
    0

    The Airy function obeys the mirror symmetry:

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

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(airyaiprime(z), z)
    z*airyai(z)
    >>> diff(airyaiprime(z), z, 2)
    z*airyaiprime(z) + airyai(z)

    Series expansion is also supported:

    >>> from sympy import series
    >>> series(airyaiprime(z), z, 0, 3)
    -3**(2/3)/(3*gamma(1/3)) + 3**(1/3)*z**2/(6*gamma(2/3)) + O(z**3)

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

    >>> airyaiprime(-2).evalf(50)
    0.61825902074169104140626429133247528291577794512415

    Rewrite $\operatorname{Ai}^\prime(z)$ in terms of hypergeometric functions:

    >>> from sympy import hyper
    >>> airyaiprime(z).rewrite(hyper)
    3**(1/3)*z**2*hyper((), (5/3,), z**3/9)/(6*gamma(2/3)) - 3**(2/3)*hyper((), (1/3,), z**3/9)/(3*gamma(1/3))

    See Also
    ========

    airyai: Airy function of the first kind.
    airybi: Airy function of the second kind.
    airybiprime: Derivative of the Airy function of the second kind.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Airy_function
    .. [2] https://dlmf.nist.gov/9
    .. [3] https://encyclopediaofmath.org/wiki/Airy_functions
    .. [4] https://mathworld.wolfram.com/AiryFunctions.html

    r:   Tc                 ó  — |j         r4|t          j        u rt          j        S |t          j        u rt          j        S |j        r>t          j        dt          dd¦  «        z  t          t          dd¦  «        ¦  «        z  z  S d S )NrÏ   r:   )	rˆ  r   r~   r   r{   r_   r‚   r   r'   r‰  s     r5   rC   zairyaiprime.eval  sx   € àŒ=ð 	Ø•a”eˆ|ˆ|Ý”u�Ø�œ
Ð"Ð"Ý”v�àŒ;ð 	OÝ”= A¥x°°1¡~¤~Ñ$5½½hÀqÈ!¹n¼nÑ8MÔ8MÑ$MÑNÐNð	Oð 	Or8   c                 ó~   — |dk    r(| j         d         t          | j         d         ¦  «        z  S t          | |¦  «        ‚r‹  )r2   r†  r
   rJ   s     r5   rL   zairyaiprime.fdiff  ó:   € Ø�qŠ=ˆ=Ø”9˜Q”<¥ t¤y°¤|Ñ 4Ô 4Ñ4Ð4å$ T¨8Ñ4Ô4Ð4r8   c                 óæ   — | j         d                              |¦  «        }t          |¦  «        5  t          j        |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «        S ©Nr   r:   )Ú
derivative)r2   r]  r-   r,   r†  r   r\  ©r4   r:  rB   Úress       r5   r8  zairyaiprime._eval_evalf!  ó£   € ØŒI�aŒL×#Ò# DÑ)Ô)ˆÝ�d‰^Œ^ð 	-ð 	-Ý”)˜A¨!Ð,Ñ,Ô,ˆCð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-åÔ   dÑ+Ô+Ð+ó   °AÁAÁAc                 óè   — t          dd¦  «        }t          | t          dd¦  «        ¦  «        }t          |¦  «        j        r.|dz  t	          | ||z  ¦  «        t	          |||z  ¦  «        z
  z  S d S ©NrD   rÏ   )r   r   r#   ri   rY   ©r4   rB   ro   r˜  rb   s        r5   rÅ   z$airyaiprime._eval_rewrite_as_besselj'  sx   € Ý�a˜‰^Œ^ˆÝ��•H˜Q ‘N”NÑ#Ô#ˆÝˆa‰5Œ5Ôð 	BØ�Q‘3�' 2 # r¨!¡tÑ,Ô,­w°r¸2¸a¹4Ñ/@Ô/@Ñ@ÑAÐAð	Bð 	Br8   c                 óè  — t          dd¦  «        }t          dd¦  «        }|t          |t          dd¦  «        ¦  «        z  }t          |¦  «        j        r(|dz  t	          ||¦  «        t	          | |¦  «        z
  z  S t          |t          dd¦  «        ¦  «        }t          ||¦  «        }t          || ¦  «        }||dz  |z  t	          |||z  ¦  «        z  |t	          | ||z  ¦  «        z  z
  z  S r”  )r   r   r#   rg   rZ   r¼  s           r5   rŒ   z$airyaiprime._eval_rewrite_as_besseli-  sã   € Ý�a˜‰^Œ^ˆÝ�a˜‰^Œ^ˆØ•�Q�  A™œÑ'Ô'Ñ'ˆÝˆa‰5Œ5Ôð 	JØ�Q‘3�' " a™.œ.­7°B°3¸©?¬?Ñ:Ñ;Ð;å�A•x  1‘~”~Ñ&Ô&ˆAÝ�A�r‘
”
ˆAÝ�A˜�s‘”ˆAØ˜˜A™˜a™¥¨¨B¨q©DÑ 1Ô 1Ñ1°Aµg¸r¸cÀ2ÀaÁ4Ñ6HÔ6HÑ4HÑHÑIÐIr8   c           	      ó~  — |dz  ddt          dd¦  «        z  z  t          t          dd¦  «        ¦  «        z  z  }dt          dd¦  «        t          t          dd¦  «        ¦  «        z  z  }|t          g t          dd¦  «        g|dz  dz  ¦  «        z  |t          g t          dd¦  «        g|dz  dz  ¦  «        z  z
  S )NrD   rÏ   r:   é   rœ  )r   r'   r!   r*   r�  s        r5   r   z"airyaiprime._eval_rewrite_as_hyper9  s¸   € Ø�‰d�a˜�8 A q™>œ>Ñ)Ñ)­%µ¸¸A±´Ñ*?Ô*?Ñ?Ñ@ˆØ•4˜˜1‘:”:�e¥H¨Q°¡N¤NÑ3Ô3Ñ3Ñ4ˆØ•U˜2¥¨¨A¡¤Ð/°°A±°a±Ñ8Ô8Ñ8¸3ÅÀrÍHÐUVÐXYÉNÌNÐK[Ð]^Ð`aÑ]aÐbcÑ]cÑAdÔAdÑ;dÑdÐdr8   c                 ó¾  — | j         d         }|j        }t          |¦  «        dk    �r0|                     ¦   «         }t	          d|g¬¦  «        }t	          d|g¬¦  «        }t	          d|g¬¦  «        }t	          d|g¬¦  «        }|                     ||||z  z  |z  z  ¦  «        }	|	�³|	|         }d|z  j        r£|	|         }|	|         }|	|         }||z  |||z  z  z  |||z  z  |z  z  }
|||z  z  |||z  z  z  }t          j        |
t          j	        z   t          |¦  «        z  |
t          j	        z
  t          d¦  «        z  t          |¦  «        z  z   z  S d S d S d S r¢  )r2   r¦  r�  r§  r   r¨  rW   r   r‘   rz   rŒ  r    r¸  rª  s               r5   rh   zairyaiprime._eval_expand_func>  s€  € ØŒi˜ŒlˆØÔ ˆåˆu‰:Œ:˜Š?‰?Ø—	’	‘”ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAØ—	’	˜!˜Q˜q !™t™V a™K™-Ñ(Ô(ˆAØˆ}Ø�a”D�ð
 �a‘CÔ#ð rØ˜!œ�AØ˜!œ�AØ˜!œ�AØ˜Q™$  Q q¡S¡™/¨a°!°Q±$©h¸©]Ñ:�BØ  A¡™X¨¨A¨a©C©Ñ0�FÝœ6 b­1¬5¡jµ+¸fÑ2EÔ2EÑ%EÈÍaÌeÉÕUYÐZ[ÑU\ÔU\ÑH\Õ]hÐioÑ]pÔ]pÑHpÑ%pÑqÐqð' ˆ?ð ˆ}ðrð rr8   Nr¯  ©rr   rs   rt   ru   r±  r²  rw   rC   rL   r8  rÅ   rŒ   r   rh   r>   r8   r5   rŒ  rŒ  »  s¶   € € € € € ðOð Oðb €EØ€JàðOð Oñ „[ðOð5ð 5ð 5ð 5ð,ð ,ð ,ðBð Bð Bð
Jð 
Jð 
Jðeð eð eð
rð rð rð rð rr8   rŒ  c                   óV   — e Zd ZdZdZdZed„ ¦   «         Zdd„Zd„ Z	d„ Z
d„ Zd	„ Zd
„ ZdS )r¸  a6  
    The derivative $\operatorname{Bi}^\prime$ of the Airy function of the first
    kind.

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

    The Airy function $\operatorname{Bi}^\prime(z)$ is defined to be the
    function

    .. math::
        \operatorname{Bi}^\prime(z) := \frac{\mathrm{d} \operatorname{Bi}(z)}{\mathrm{d} z}.

    Examples
    ========

    Create an Airy function object:

    >>> from sympy import airybiprime
    >>> from sympy.abc import z

    >>> airybiprime(z)
    airybiprime(z)

    Several special values are known:

    >>> airybiprime(0)
    3**(1/6)/gamma(1/3)
    >>> from sympy import oo
    >>> airybiprime(oo)
    oo
    >>> airybiprime(-oo)
    0

    The Airy function obeys the mirror symmetry:

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

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(airybiprime(z), z)
    z*airybi(z)
    >>> diff(airybiprime(z), z, 2)
    z*airybiprime(z) + airybi(z)

    Series expansion is also supported:

    >>> from sympy import series
    >>> series(airybiprime(z), z, 0, 3)
    3**(1/6)/gamma(1/3) + 3**(5/6)*z**2/(6*gamma(2/3)) + O(z**3)

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

    >>> airybiprime(-2).evalf(50)
    0.27879516692116952268509756941098324140300059345163

    Rewrite $\operatorname{Bi}^\prime(z)$ in terms of hypergeometric functions:

    >>> from sympy import hyper
    >>> airybiprime(z).rewrite(hyper)
    3**(5/6)*z**2*hyper((), (5/3,), z**3/9)/(6*gamma(2/3)) + 3**(1/6)*hyper((), (1/3,), z**3/9)/gamma(1/3)

    See Also
    ========

    airyai: Airy function of the first kind.
    airybi: Airy function of the second kind.
    airyaiprime: Derivative of the Airy function of the first kind.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Airy_function
    .. [2] https://dlmf.nist.gov/9
    .. [3] https://encyclopediaofmath.org/wiki/Airy_functions
    .. [4] https://mathworld.wolfram.com/AiryFunctions.html

    r:   Tc                 ó�  — |j         r†|t          j        u rt          j        S |t          j        u rt          j        S |t          j        u rt          j        S |j        r1dt          dd¦  «        z  t          t          dd¦  «        ¦  «        z  S |j        r1dt          dd¦  «        z  t          t          dd¦  «        ¦  «        z  S d S )NrÏ   r:   r¶  )	rˆ  r   r~   r   r€   r{   r_   r   r'   r‰  s     r5   rC   zairybiprime.eval¯  s¸   € àŒ=ð 	AØ•a”eˆ|ˆ|Ý”u�Ø�œ
Ð"Ð"Ý”zÐ!Ø�Ô*Ð*Ð*Ý”v�Ø”ð AØ�( 1 a™.œ.Ñ(­5µ¸!¸Q±´Ñ+@Ô+@Ñ@Ð@àŒ;ð 	=Ø•h˜q !‘n”nÑ$¥u­X°a¸©^¬^Ñ'<Ô'<Ñ<Ð<ð	=ð 	=r8   c                 ó~   — |dk    r(| j         d         t          | j         d         ¦  «        z  S t          | |¦  «        ‚r‹  )r2   r©  r
   rJ   s     r5   rL   zairybiprime.fdiff¿  rÂ  r8   c                 óæ   — | j         d                              |¦  «        }t          |¦  «        5  t          j        |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «        S rÄ  )r2   r]  r-   r,   r©  r   r\  rÆ  s       r5   r8  zairybiprime._eval_evalfÅ  rÈ  rÉ  c                 óþ   — t          dd¦  «        }|t          | t          dd¦  «        ¦  «        z  }t          |¦  «        j        r6| t	          d¦  «        z  t          | |¦  «        t          ||¦  «        z   z  S d S rË  r•  rÌ  s        r5   rÅ   z$airybiprime._eval_rewrite_as_besseljË  sy   € Ý�a˜‰^Œ^ˆØ•�a�R� ! Q™œÑ(Ô(Ñ(ˆÝˆa‰5Œ5Ôð 	CØ�2•d˜1‘g”g‘:¥¨"¨¨a¡¤µ7¸2¸q±>´>Ñ!AÑBÐBð	Cð 	Cr8   c                 ó  — t          dd¦  «        }t          dd¦  «        }|t          |t          dd¦  «        ¦  «        z  }t          |¦  «        j        r5|t	          d¦  «        z  t          | |¦  «        t          ||¦  «        z   z  S t          |t          dd¦  «        ¦  «        }t          ||¦  «        }t          || ¦  «        }t	          |¦  «        |t          | ||z  ¦  «        z  |dz  |z  t          |||z  ¦  «        z  z   z  S r”  rš  r¼  s           r5   rŒ   z$airybiprime._eval_rewrite_as_besseliÑ  sï   € Ý�a˜‰^Œ^ˆÝ�a˜‰^Œ^ˆØ•�Q�  A™œÑ'Ô'Ñ'ˆÝˆa‰5Œ5Ôð 	PØ•T˜!‘W”W‘9¥¨¨¨Q¡¤µ'¸"¸a±.´.Ñ @ÑAÐAå�A•x  1‘~”~Ñ&Ô&ˆAÝ�A�r‘
”
ˆAÝ�A˜�s‘”ˆAÝ˜‘8”8˜q¥¨"¨¨b°©dÑ!3Ô!3Ñ3°a¸±d¸1±f½WÀRÈÈAÉÑ=NÔ=NÑ6NÑNÑOÐOr8   c           	      ór  — |dz  dt          dd¦  «        z  t          t          dd¦  «        ¦  «        z  z  }t          dd¦  «        t          t          dd¦  «        ¦  «        z  }|t          g t          dd¦  «        g|dz  dz  ¦  «        z  |t          g t          dd¦  «        g|dz  dz  ¦  «        z  z   S )NrD   rÏ   r¶  r:   rÏ  rœ  )r!   r'   r   r*   r�  s        r5   r   z"airybiprime._eval_rewrite_as_hyperÝ  s­   € Ø�‰d�a�˜Q ™
œ
‘l¥5­°!°Q©¬Ñ#8Ô#8Ñ8Ñ9ˆÝ�1�a‰jŒj�5¥¨!¨Q¡¤Ñ0Ô0Ñ0ˆØ•U˜2¥¨¨A¡¤Ð/°°A±°a±Ñ8Ô8Ñ8¸3ÅÀrÍHÐUVÐXYÉNÌNÐK[Ð]^Ð`aÑ]aÐbcÑ]cÑAdÔAdÑ;dÑdÐdr8   c                 ó¾  — | j         d         }|j        }t          |¦  «        dk    �r0|                     ¦   «         }t	          d|g¬¦  «        }t	          d|g¬¦  «        }t	          d|g¬¦  «        }t	          d|g¬¦  «        }|                     ||||z  z  |z  z  ¦  «        }	|	�³|	|         }d|z  j        r£|	|         }|	|         }|	|         }||z  |||z  z  z  |||z  z  |z  z  }
|||z  z  |||z  z  z  }t          j        t          d¦  «        |
t          j
        z
  z  t          |¦  «        z  |
t          j
        z   t          |¦  «        z  z   z  S d S d S d S r¢  )r2   r¦  r�  r§  r   r¨  rW   r   r‘   r    rz   rŒ  r¸  rª  s               r5   rh   zairybiprime._eval_expand_funcâ  s€  € ØŒi˜ŒlˆØÔ ˆåˆu‰:Œ:˜Š?‰?Ø—	’	‘”ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAÝ�S 1 #Ð&Ñ&Ô&ˆAØ—	’	˜!˜Q˜q !™t™V a™K™-Ñ(Ô(ˆAØˆ}Ø�a”D�ð
 �a‘CÔ#ð rØ˜!œ�AØ˜!œ�AØ˜!œ�AØ˜Q™$  Q q¡S¡™/¨a°!°Q±$©h¸©]Ñ:�BØ  A¡™X¨¨A¨a©C©Ñ0�FÝœ6¥T¨!¡W¤W¨bµ1´5©jÑ%9½+ÀfÑ:MÔ:MÑ%MÐQSÕVWÔV[ÑQ[Õ]hÐioÑ]pÔ]pÑPpÑ%pÑqÐqð' ˆ?ð ˆ}ðrð rr8   Nr¯  rÑ  r>   r8   r5   r¸  r¸  X  s³   € € € € € ðQð Qðf €EØ€Jàð=ð =ñ „[ð=ð5ð 5ð 5ð 5ð,ð ,ð ,ðCð Cð Cð
Pð 
Pð 
Pðeð eð eð
rð rð rð rð rr8   r¸  c                   óH   — e Zd ZdZed„ ¦   «         Zd
d„Zd„ Zd„ Zd„ Z	d„ Z
d	S )Úmarcumqa—  
    The Marcum Q-function.

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

    The Marcum Q-function is defined by the meromorphic continuation of

    .. math::
        Q_m(a, b) = a^{- m + 1} \int_{b}^{\infty} x^{m} e^{- \frac{a^{2}}{2} - \frac{x^{2}}{2}} I_{m - 1}\left(a x\right)\, dx

    Examples
    ========

    >>> from sympy import marcumq
    >>> from sympy.abc import m, a, b
    >>> marcumq(m, a, b)
    marcumq(m, a, b)

    Special values:

    >>> marcumq(m, 0, b)
    uppergamma(m, b**2/2)/gamma(m)
    >>> marcumq(0, 0, 0)
    0
    >>> marcumq(0, a, 0)
    1 - exp(-a**2/2)
    >>> marcumq(1, a, a)
    1/2 + exp(-a**2)*besseli(0, a**2)/2
    >>> marcumq(2, a, a)
    1/2 + exp(-a**2)*besseli(0, a**2)/2 + exp(-a**2)*besseli(1, a**2)

    Differentiation with respect to $a$ and $b$ is supported:

    >>> from sympy import diff
    >>> diff(marcumq(m, a, b), a)
    a*(-marcumq(m, a, b) + marcumq(m + 1, a, b))
    >>> diff(marcumq(m, a, b), b)
    -a**(1 - m)*b**m*exp(-a**2/2 - b**2/2)*besseli(m - 1, a*b)

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Marcum_Q-function
    .. [2] https://mathworld.wolfram.com/MarcumQ-Function.html

    c                 óÔ  — |t           j        u rX|t           j        u r|t           j        u rt           j        S t          ||dz  t           j        z  ¦  «        t	          |¦  «        z  S |t           j        u r3|t           j        u r%ddt          |dz  t           j        z  ¦  «        z  z
  S ||k    r´|t           j        u r7dt          |dz   ¦  «        t          d|dz  ¦  «        z  z   t           j        z  S |dk    rit           j        t           j        t          |dz   ¦  «        z  t          d|dz  ¦  «        z  z   t          |dz   ¦  «        t          d|dz  ¦  «        z  z   S |j        rJ|j        r|j        rt           j        S t          ||dz  t           j        z  ¦  «        t	          |¦  «        z  S |j        r,|j        r'ddt          |dz  t           j        z  ¦  «        z  z
  S d S d S )NrD   r:   r   )	r   r{   r)   r‘   r'   r   rz   rZ   r_   )r@   r¥  rb   rÚ   s       r5   rC   zmarcumq.eval-  sÂ  € à•”ˆ;ˆ;Ø•A”Fˆ{ˆ{˜q¥A¤F˜{˜{Ý”v�Ý˜a  A¡­¬¡Ñ/Ô/µ%¸±(´(Ñ:Ð:à•”ˆ;ˆ;˜1¥¤˜;˜;Ø�q�3˜q !™t¥a¤f™}Ñ-Ô-Ñ-Ñ-Ð-à�Š6ˆ6Ø•A”EˆzˆzØ�C  A¡ ™JœJ­°°A°q±DÑ)9Ô)9Ñ9Ñ9½1¼6ÑAÐAØ�AŠvˆvÝ”v¥¤­¨a°©d¨U©¬Ñ 3µg¸aÀÀAÁÑ6FÔ6FÑ FÑFÍÈaÐQRÉdÈUÉÌÕV]Ð^_ÐabÐdeÑaeÑVfÔVfÑIfÑfÐfàŒ9ð 	9ØŒyð ˜QœYð Ý”v�Ý˜a  A¡¥a¤f¡Ñ-Ô-µ°a±´Ñ8Ð8àŒ9ð 	,˜œð 	,Ø�q�3˜q !™t¥A¤F™{Ñ+Ô+Ñ+Ñ+Ð+ð	,ð 	,ð 	,ð 	,r8   rD   c                 ó*  — | j         \  }}}|dk    r*|t          |||¦  «         t          d|z   ||¦  «        z   z  S |dk    rC||z   ||dz
  z  z  t          |dz  |dz  z    dz  ¦  «        z  t          |dz
  ||z  ¦  «        z  S t	          | |¦  «        ‚)NrD   r:   rÏ   )r2   rÛ  r   rZ   r
   )r4   rK   r¥  rb   rÚ   s        r5   rL   zmarcumq.fdiffE  s°   € Ø”)‰ˆˆ1ˆaØ�qŠ=ˆ=Ø�  A qÑ)Ô)Ð)­G°A°a±C¸¸AÑ,>Ô,>Ñ>Ñ?Ð?Ø˜Š]ˆ]Ø˜‘T�E˜A  !¡™HÑ$­¨a°©d°Q¸±T©k¨N¸1Ñ,<Ñ(=Ô(=Ñ=ÅÈÈ!ÉÈQÈqÉSÑ@QÔ@QÑQÐQå$ T¨8Ñ4Ô4Ð4r8   c           	      ó*  — ddl m} |                     dt          t	          d¦  «        j        ¦  «        ¦  «        }|d|z
  z   |||z  t          |dz  |dz  z    dz  ¦  «        z  t          |dz
  ||z  ¦  «        z  ||t          j	        g¦  «        z  S )Nr   )ÚIntegralra   r:   rD   )
Úsympy.integrals.integralsrß  Úgetr   r   Únamer   rZ   r   r   )r4   r¥  rb   rÚ   ro   rß  ra   s          r5   Ú_eval_rewrite_as_Integralz!marcumq._eval_rewrite_as_IntegralN  s§   € Ø6Ð6Ð6Ð6Ð6Ð6Ø�JŠJ�s�EÕ"7¸Ñ"<Ô"<Ô"AÑBÔBÑCÔCˆØ�Q˜‘U‰|Øˆx˜˜1™�s Q¨¡T¨A¨q©D¡[ >°!Ñ#3Ñ4Ô4Ñ4µw¸qÀ¹sÀAÀaÁCÑ7HÔ7HÑHÈ1ÈaÕQRÔQ[ÐJ\Ñ]Ô]ñ^ð 	^r8   c           	      óú   — ddl m} |                     dt          d¦  «        ¦  «        }t	          |dz  |dz  z    dz  ¦  «         |||z  |z  t          |||z  ¦  «        z  |d|z
  t          j        g¦  «        z  S )Nr   )ÚSumr½   rD   r:   )Úsympy.concrete.summationsrå  rá  r   r   rZ   r   r   )r4   r¥  rb   rÚ   ro   rå  r½   s          r5   Ú_eval_rewrite_as_Sumzmarcumq._eval_rewrite_as_SumT  s‡   € Ø1Ð1Ð1Ð1Ð1Ð1Ø�JŠJ�s�E #™JœJÑ'Ô'ˆÝ�Q˜‘T˜A˜q™D‘[�> AÑ%Ñ&Ô&¨¨¨a°©c°A©X½ÀÀ1ÀQÁ3¹¼Ñ-GÈ!ÈQÈqÉSÕRSÔR\ÐI]Ñ)^Ô)^Ñ^Ð^r8   c                 óŠ  ‡— ‰|k    r·|dk    r-dt          ‰dz   ¦  «        t          d‰dz  ¦  «        z  z   dz  S |j        r|dk    r{t          ˆfd„t	          d|¦  «        D ¦   «         ¦  «        }t
          j        t          ‰dz   ¦  «        t          d‰dz  ¦  «        z  dz  z   t          ‰dz   ¦  «        |z  z   S d S d S d S )Nr:   rD   r   c              3   ó>   •K  — | ]}t          |‰d z  ¦  «        V — ŒdS )rD   N)rZ   )rò   rt  rb   s     €r5   ú	<genexpr>z3marcumq._eval_rewrite_as_besseli.<locals>.<genexpr>^  s1   øè è € Ð>Ð>¨Q�  1 a¡4Ñ(Ô(Ð>Ð>Ð>Ð>Ð>Ð>r8   )r   rZ   r'  Úsumr³   r   r‘   )r4   r¥  rb   rÚ   ro   r¼   s     `   r5   rŒ   z marcumq._eval_rewrite_as_besseliY  sß   ø€ Ø�Š6ˆ6Ø�AŠvˆvØ�C  A¡ ™JœJ­°°A°q±DÑ)9Ô)9Ñ9Ñ9¸QÑ>Ð>ØŒ|ð S  Q¢ ÝÐ>Ð>Ð>Ð>µ%¸¸1±+´+Ð>Ñ>Ô>Ñ>Ô>�Ý”v¥ Q¨¡T E¡
¤
­W°Q¸¸1¹Ñ-=Ô-=Ñ =ÀÑ AÑAÅCÈÈAÉÈÁJÄJÐQRÁNÑRÐRð ˆ6ðSð S  r8   c                 óF   — t          d„ | j        D ¦   «         ¦  «        rdS d S )Nc              3   ó$   K  — | ]}|j         V — Œd S r=   )r_   )rò   rž   s     r5   rê  z(marcumq._eval_is_zero.<locals>.<genexpr>b  s$   è è € Ð0Ð0˜sˆsŒ{Ð0Ð0Ð0Ð0Ð0Ð0r8   T)Úallr2   r3   s    r5   Ú_eval_is_zerozmarcumq._eval_is_zeroa  s2   € ÝÐ0Ð0 d¤iÐ0Ñ0Ô0Ñ0Ô0ð 	Ø�4ð	ð 	r8   Nrq   )rr   rs   rt   ru   rw   rC   rL   rã  rç  rŒ   rï  r>   r8   r5   rÛ  rÛ  ü  s“   € € € € € ð.ð .ð` ð,ð ,ñ „[ð,ð.5ð 5ð 5ð 5ð^ð ^ð ^ð_ð _ð _ð
Sð Sð Sðð ð ð ð r8   rÛ  c                   ó4   ‡ — e Zd ZdZˆ fd„Zd„ Zdˆ fd„	Zˆ xZS )rá   zq
    Helper function to make the $\mathrm{besseli}(nu, z)$
    function tractable for the Gruntz algorithm.

    c           	      óŒ  •‡‡	‡
— ddl mŠ ddlm} |d         }|t          j        t          j        fv ro| j        \  Š	Š
ˆˆ	ˆ
fd„t          |¦  «        D ¦   «         }t          t          dz  ¦  «        t          |Ž z   |d‰
t          d|z  dz   d¦  «        z  z  |¦  «        z   S t          ¦   «                              ||||¦  «        S )Nr   rí   r¬   r:   c           	      óò   •— g | ]s} ‰t          d ‰z  dz
  d ¦  «        |¦  «         ‰t          d ‰z  dz   d ¦  «        |¦  «        z  d |z  ‰t          d |z  dz   d ¦  «        z  z  t          |¦  «        z  z  ‘ŒtS rï   rð   rñ   s     €€€r5   ró   z*_besseli._eval_aseries.<locals>.<listcomp>s  s¯   ø€ ð uð uð uØfgð #�?¥8¨A¨b©D°1©H°aÑ#8Ô#8¸!Ñ<Ô<¸_¸_Ý˜Q˜r™T A™X qÑ)Ô)¨1ñ>.ô >.ñ .Ø12°a±¸½XÀaÈÁcÈAÁgÈqÑ=QÔ=QÑ9RÑ0RÕS\Ð]^ÑS_ÔS_Ñ0_ñað uð uð ur8   rD   ©rõ   r   r®   r­   r   r   r€   r2   r³   r    r   r   r   r›   rö   ©r4   r‡   rø   ra   r–   r­   rù   r_  r   rA   rB   rH   s           @@@€r5   rö   z_besseli._eval_aseriesl  sû   øøøø€ ØLÐLÐLÐLÐLÐLØ,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆà•Q”Z¥Ô!3Ð4Ð4Ð4Ø”I‰EˆB�ðuð uð uð uð uð uÝkpÐqrÑksÔksðuñ uô uˆAå�˜A™‘<”<¥ a Ñ)¨E¨E°!°A½ÀÀ1ÁÀqÁÈ!Ñ8LÔ8LÑ4MÑ2MÈqÑ,QÔ,QÑQÐQå‰wŒw×$Ò$ Q¨¨q°$Ñ7Ô7Ð7r8   c                 óD   — t          | ¦  «        t          ||¦  «        z  S r=   )r   rZ   r‹   s       r5   Ú_eval_rewrite_as_intractablez%_besseli._eval_rewrite_as_intractabley  s   € Ý�A�2‰wŒw•w˜r 1‘~”~Ñ%Ð%r8   r   c                 óæ   •— | j         d                              |d¦  «        }|j        r& | j        | j         Ž }|                     |||¦  «        S t          ¦   «                              |||¦  «        S ry  ©r2   Úlimitr_   rö  r±   r›   ©r4   ra   r‡   r–   r—   Úx0rk   rH   s          €r5   r±   z_besseli._eval_nseries|  ók   ø€ ØŒY�qŒ\×Ò  1Ñ%Ô%ˆØŒ:ð 	/Ø1�Ô1°4´9Ð=ˆAØ—?’? 1 a¨Ñ.Ô.Ð.Ý‰wŒw×$Ò$ Q¨¨4Ñ0Ô0Ð0r8   r¿   ©rr   rs   rt   ru   rö   rö  r±   rÀ   rÁ   s   @r5   rá   rá   e  so   ø€ € € € € ðð ð8ð 8ð 8ð 8ð 8ð&ð &ð &ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1r8   rá   c                   ó4   ‡ — e Zd ZdZˆ fd„Zd„ Zdˆ fd„	Zˆ xZS )r  zq
    Helper function to make the $\mathrm{besselk}(nu, z)$
    function tractable for the Gruntz algorithm.

    c           	      óŒ  •‡‡	‡
— ddl mŠ ddlm} |d         }|t          j        t          j        fv ro| j        \  Š	Š
ˆˆ	ˆ
fd„t          |¦  «        D ¦   «         }t          t          dz  ¦  «        t          |Ž z   |d‰
t          d|z  dz   d¦  «        z  z  |¦  «        z   S t          ¦   «                              ||||¦  «        S )Nr   rí   r¬   r:   c           	      óò   •— g | ]s} ‰t          d ‰z  dz
  d ¦  «        |¦  «         ‰t          d ‰z  dz   d ¦  «        |¦  «        z  d|z  ‰t          d |z  dz   d ¦  «        z  z  t          |¦  «        z  z  ‘ŒtS r  rð   rñ   s     €€€r5   ró   z*_besselk._eval_aseries.<locals>.<listcomp>’  s°   ø€ ð vð vð vØghð #�?¥8¨A¨b©D°1©H°aÑ#8Ô#8¸!Ñ<Ô<¸_¸_Ý˜Q˜r™T A™X qÑ)Ô)¨1ñ>.ô >.ñ .Ø13°q±	¸!½hÀqÈÁsÈQÁwÐPQÑ>RÔ>RÑ:SÑ0SÕT]Ð^_ÑT`ÔT`Ñ0`ñbð vð vð vr8   rD   ró  rô  s           @@@€r5   rö   z_besselk._eval_aseries‹  sû   øøøø€ ØLÐLÐLÐLÐLÐLØ,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆà•Q”Z¥Ô!3Ð4Ð4Ð4Ø”I‰EˆB�ðvð vð vð vð vð vÝlqÐrsÑltÔltðvñ vô vˆAå�˜A™‘<”<¥ a Ñ)¨E¨E°!°A½ÀÀ1ÁÀqÁÈ!Ñ8LÔ8LÑ4MÑ2MÈqÑ,QÔ,QÑQÐQå‰wŒw×$Ò$ Q¨¨q°$Ñ7Ô7Ð7r8   c                 óB   — t          |¦  «        t          ||¦  «        z  S r=   )r   rû   r‹   s       r5   rö  z%_besselk._eval_rewrite_as_intractable˜  s   € Ý�1‰vŒv•g˜b !‘n”nÑ$Ð$r8   r   c                 óæ   •— | j         d                              |d¦  «        }|j        r& | j        | j         Ž }|                     |||¦  «        S t          ¦   «                              |||¦  «        S ry  rø  rú  s          €r5   r±   z_besselk._eval_nseries›  rü  r8   r¿   rý  rÁ   s   @r5   r  r  „  so   ø€ € € € € ðð ð8ð 8ð 8ð 8ð 8ð%ð %ð %ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1r8   r  N)rV  rW  )XÚ	functoolsr   Ú
sympy.corer   Úsympy.core.addr   Úsympy.core.cacher   Úsympy.core.exprr   Úsympy.core.functionr	   r
   r   Úsympy.core.logicr   r   Úsympy.core.numbersr   r   r   Úsympy.core.powerr   Úsympy.core.symbolr   r   r   Úsympy.core.sympifyr   rõ   r   r   Ú(sympy.functions.elementary.trigonometricr   r   r   r   Ú#sympy.functions.elementary.integersr   Ú&sympy.functions.elementary.exponentialr   r   Ú(sympy.functions.elementary.miscellaneousr   r    r!   Ú$sympy.functions.elementary.complexesr"   r#   r$   r%   r&   Ú'sympy.functions.special.gamma_functionsr'   r(   r)   Úsympy.functions.special.hyperr*   Úsympy.polys.orthopolysr+   rl  r,   r-   r/   rY   rŽ   rZ   rû   r  r  r  r  r,  r.  r]   r^   rC  r[   r\   ru  rw  r†  r©  rŒ  r¸  rÛ  rá   r  r>   r8   r5   ú<module>r     sp  ðØ Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø  Ð  Ð  Ð  Ð  Ð  Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø  Ð  Ð  Ð  Ð  Ð  Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø &Ð &Ð &Ð &Ð &Ð &Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VÐ VØ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ /Ð /Ð /Ð /Ð /Ð /Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6à Ð Ð Ð Ð Ð Ð Ð ðC ð C ð C ð C ð C �ñ C ô C ð C ðLmDð mDð mDð mDð mDˆjñ mDô mDð mDð`YDð YDð YDð YDð YDˆjñ YDô YDð YDðxf8ð f8ð f8ð f8ð f8ˆjñ f8ô f8ð f8ðR~8ð ~8ð ~8ð ~8ð ~8ˆjñ ~8ô ~8ð ~8ðB+Bð +Bð +Bð +Bð +Bˆjñ +Bô +Bð +Bð\,Bð ,Bð ,Bð ,Bð ,Bˆjñ ,Bô ,Bð ,Bð^ð ð ð2ð 2ð 2ð 2ð 2˜*ñ 2ô 2ð 2ð8Jð Jð Jð
.ð .ð .ðU;ð U;ð U;ð U;ð U;Ð	ñ U;ô U;ð U;ðp?;ð ?;ð ?;ð ?;ð ?;Ð	ñ ?;ô ?;ð ?;ðD6;ð 6;ð 6;ð 6;ð 6;Ð-ñ 6;ô 6;ð 6;ðr5-ð 5-ð 5-ð 5-ð 5-Ð
ñ 5-ô 5-ð 5-ðp5-ð 5-ð 5-ð 5-ð 5-Ð
ñ 5-ô 5-ð 5-ðpQð Qð Qð Qðh#ð #ð #ð #ð #ˆñ #ô #ð #ð6ihð ihð ihð ihð ihˆXñ ihô ihð ihðXnhð nhð nhð nhð nhˆXñ nhô nhð nhðbZrð Zrð Zrð Zrð Zr�(ñ Zrô Zrð Zrðzarð arð arð arð ar�(ñ arô arð arðHgð gð gð gð gˆoñ gô gð gðR1ð 1ð 1ð 1ð 1ˆñ 1ô 1ð 1ð>1ð 1ð 1ð 1ð 1ˆñ 1ô 1ð 1ð 1ð 1r8   