§
    ]²Åjè÷  ã                   ó€  — 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 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.m/Z/m0Z0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z<m=Z=  G d„ de¦  «        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>¦  «        ZDd$„ ZE G d%„ d&e>¦  «        ZFd'„ ZGd(„ ZH G d)„ d*eF¦  «        ZI G d+„ d,eF¦  «        ZJ G d-„ d.eF¦  «        ZK G d/„ d0eK¦  «        ZL G d1„ d2eK¦  «        ZMdCd5„ZN G d6„ d7e¦  «        ZO G d8„ d9eO¦  «        ZP G d:„ d;eO¦  «        ZQ G d<„ d=eO¦  «        ZR G d>„ d?eO¦  «        ZS G d@„ dAe¦  «        ZTdBS )Dé    ©Úwraps)ÚS)ÚAdd)Úcacheit)ÚExpr)ÚFunctionÚArgumentIndexErrorÚ_mexpand)Úfuzzy_orÚ	fuzzy_not)ÚRationalÚpiÚI)ÚPow)ÚDummyÚuniquely_named_symbolÚWild)Úsympify)Ú	factorial)Ú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    úOC:\Projects\Historical\venv\Lib\site-packages\sympy/functions/special/bessel.pyÚorderzBesselBase.order4   ó   € ð Œy˜Œ|Ðó    c                 ó   — | j         d         S )z+ The argument of the Bessel-type function. é   r0   r2   s    r4   ÚargumentzBesselBase.argument9   r6   r7   c                 ó   — d S ©N© ©ÚclsÚnuÚzs      r4   ÚevalzBesselBase.eval>   s   € àˆr7   é   c                 óè   — |dk    rt          | |¦  «        ‚| j        dz  |                      | j        dz
  | j        ¦  «        z  | j        dz  |                      | j        dz   | j        ¦  «        z  z
  S ©NrC   r9   )r
   Ú_bÚ	__class__r5   r:   Ú_a©r3   Úargindexs     r4   Ú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r7   c                 ó¤   — | j         }|j        du r?|                      | j                             ¦   «         |                     ¦   «         ¦  «        S d S ©NF)r:   Úis_extended_negativerG   r5   Ú	conjugate©r3   rA   s     r4   Ú_eval_conjugatezBesselBase._eval_conjugateH   sI   € ØŒMˆØÔ! UÐ*Ð*Ø—>’> $¤*×"6Ò"6Ñ"8Ô"8¸!¿+º+¹-¼-ÑHÔHÐHð +Ð*r7   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 rM   )r5   r:   ÚhasÚ_eval_is_meromorphicÚsubsÚ
is_integerÚ
isinstanceÚbesseljÚbesseliÚhn1Úhn2ÚjnÚynÚis_zeror   Úis_infiniter   )r3   ÚxÚar@   rA   Úz0s         r4   rT   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¬~Ð">Ñ?Ô?Ñ@Ô@Ð@r7   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 ©Nr9   rC   )	r5   r:   rG   Úis_realÚis_positiverH   rF   Ú_eval_expand_funcÚis_negative)r3   Úhintsr@   rA   Úfs        r4   rg   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àˆr7   c                 ó$   — ddl m}  || ¦  «        S )Nr   )Ú
besselsimp)Úsympy.simplify.simplifyrl   )r3   Úkwargsrl   s      r4   Ú_eval_simplifyzBesselBase._eval_simplifye   s$   € Ø6Ð6Ð6Ð6Ð6Ð6Øˆz˜$ÑÔÐr7   N©rC   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr5   r:   ÚclassmethodrB   rK   rQ   rT   rg   ro   r=   r7   r4   r.   r.   $   sÉ   € € € € € ðð ð ðð ñ „Xðð ðð ñ „Xðð ðð ñ „[ððKð Kð Kð KðIð Ið Ið
Að Að Að	ð 	ð 	ð ð  ð  ð  ð  r7   r.   c                   óz   ‡ — e Zd ZdZej        Zej        Zed„ ¦   «         Z	d„ Z
d„ Zd„ Zdˆ fd„	Zd	„ Zdˆ fd
„	Zˆ xZS )rX   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   rC   )r^   r   ÚOnerV   r"   rf   ÚZerorh   ÚComplexInfinityÚis_imaginaryÚNaNÚInfinityÚNegativeInfinityÚcould_extract_minus_signrX   ÚNegativeOneÚextract_multiplicativelyr   rY   r%   Úextract_branch_factorr   r   ©r?   r@   rA   ÚnewzÚnÚnnus         r4   rB   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 ‘?”?Ð"ð ˆ9r7   c                 ó”   — t          t          t          z  |z  dz  ¦  «        t          |t	          t           ¦  «        |z  ¦  «        z  S ©NrC   )r   r   r   rY   r$   ©r3   r@   rA   rn   s       r4   Ú_eval_rewrite_as_besseliz besselj._eval_rewrite_as_besseliÖ   s6   € Ý•1•R‘4˜‘7˜1‘9‰~Œ~�g b­*µa°R©.¬.¸Ñ*:Ñ;Ô;Ñ;Ð;r7   c                 ó¼   — |j         du rRt          t          |z  ¦  «        t          | |¦  «        z  t	          t          |z  ¦  «        t          ||¦  «        z  z
  S d S rM   )rV   r   r   Úbesselyr   rŠ   s       r4   Ú_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ð "Ð!r7   c                 ó|   — t          d|z  t          z  ¦  «        t          |t          j        z
  | j        ¦  «        z  S r‰   )r   r   r\   r   ÚHalfr:   rŠ   s       r4   Ú_eval_rewrite_as_jnzbesselj._eval_rewrite_as_jnÝ   s-   € Ý�A�a‘C�‘F‰|Œ|�B˜r¥A¤F™{¨D¬MÑ:Ô:Ñ:Ð:r7   Nr   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 )NrC   r9   r   é   )r1   Úas_leading_termÚNotImplementedErrorÚas_coeff_exponentrf   r&   rh   r   r   r   ÚsuperrX   Ú_eval_as_leading_term©r3   r`   ÚlogxÚcdirr@   rA   ÚargÚcÚeÚsignrG   s             €r4   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À4ÑHÔHÐHó   �# £2±2c                 ó>   — | j         \  }}|j        r	|j        rdS d S d S ©NT©r1   rV   Úis_extended_real©r3   r@   rA   s      r4   Ú_eval_is_extended_realzbesselj._eval_is_extended_realõ   ó:   € Ø”	‰ˆˆAØŒ=ð 	˜QÔ/ð 	Ø�4ð	ð 	ð 	ð 	r7   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   ©ÚOrderrC   r9   )Úsympy.series.orderr«   r1   ÚleadtermÚ
ValueErrorr•   rf   r   Ú_eval_nseriesÚremoveOr   rz   r   r&   ÚrangeÚappendr   r—   rX   ©r3   r`   r†   rš   r›   r«   r@   rA   Ú_r   ÚnewnÚoÚrÚtÚtermÚsÚkrG   s                    €r4   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©Nr   ©r   )rq   rr   rs   rt   r   ry   rH   rF   rv   rB   r‹   rŽ   r‘   r˜   r¦   r¯   Ú__classcell__©rG   s   @r4   rX   rX   j   sá   ø€ € € € € ðBð BðH 
Œ€BØ	
Œ€Bàð!#ð !#ñ „[ð!#ðF<ð <ð <ðJð Jð Jð;ð ;ð ;ðIð Ið Ið Ið Ið Ið*ð ð ð
Dð Dð Dð Dð Dð Dð Dð Dð Dð Dr7   rX   c                   óz   ‡ — e Zd ZdZej        Zej        Zed„ ¦   «         Z	d„ Z
d„ Zd„ Zdˆ 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 )NFr9   rC   )r^   r   r   r"   r{   r}   r~   rz   r   r   r   rV   r€   r�   r�   r>   s      r4   rB   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Ñ;Ð;ð	<ð 	<ð<ð <r7   c                 ó¼   — |j         du rRt          t          |z  ¦  «        t          t          |z  ¦  «        t	          ||¦  «        z  t	          | |¦  «        z
  z  S d S rM   )rV   r   r   r   rX   rŠ   s       r4   Ú_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ð "Ð!r7   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r<   )rÄ   r1   ÚrewriterY   ©r3   r@   rA   rn   Úajs        r4   r‹   z bessely._eval_rewrite_as_besseli^  ó7   € Ø*ˆTÔ*¨D¬IÐ6ˆØð 	'Ø—:’:�gÑ&Ô&Ð&ð	'ð 	'r7   c                 ó|   — t          d|z  t          z  ¦  «        t          |t          j        z
  | j        ¦  «        z  S r‰   )r   r   r]   r   r�   r:   rŠ   s       r4   Ú_eval_rewrite_as_ynzbessely._eval_rewrite_as_ync  s-   € Ý�A�a‘C�‘F‰|Œ|�b ¥a¤f¡¨d¬mÑ<Ô<Ñ<Ð<r7   Nr   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 )NrC   r9   ©rš   r   r“   é   é   )r1   r”   r•   r–   rf   r   r   rX   r   r   rz   r'   Ú
EulerGammar   rh   r   r   r   r—   r�   r˜   )r3   r`   rš   r›   r@   rA   rœ   r�   rž   Úterm_oneÚterm_twoÚ
term_threerŸ   rG   s                €r4   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À4ÑHÔHÐHr    c                 ó>   — | j         \  }}|j        r	|j        rdS d S d S r¢   ©r1   rV   rf   r¥   s      r4   r¦   zbessely._eval_is_extended_real  ó9   € Ø”	‰ˆˆAØŒ=ð 	˜Qœ]ð 	Ø�4ð	ð 	ð 	ð 	r7   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«   r1   r­   r®   r•   rf   rV   r   rX   r   r   r¯   r°   r   rz   r   r   r²   r±   r'   rÐ   r   r—   r�   ©r3   r`   r†   rš   r›   r«   r@   rA   r´   r   rµ   Úbnra   Úbr�   r¶   r·   r¸   r¹   r»   ÚdenomÚprG   s                         €r4   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½   r¾   )rq   rr   rs   rt   r   ry   rH   rF   rv   rB   rÄ   r‹   rË   r˜   r¦   r¯   r¿   rÀ   s   @r4   r�   r�     sÞ   ø€ € € € € ð&ð &ðP 
Œ€BØ	
Œ€Bàð<ð <ñ „[ð<ð&Lð Lð Lð'ð 'ð 'ð
=ð =ð =ðIð Ið Ið Ið Ið Ið2ð ð ð
/Dð /Dð /Dð /Dð /Dð /Dð /Dð /Dð /Dð /Dr7   r�   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ˆ fd	„	Zdˆ fd
„	Zˆ xZS )rY   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   rC   )r^   r   ry   rV   r"   rf   rz   rh   r{   r|   r}   r#   r~   r   r€   rY   r‚   r   rX   r%   rƒ   r   r   r„   s         r4   rB   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 ‘?”?Ð"ð ˆ9r7   c                 ó”   — t          t           t          z  |z  dz  ¦  «        t          |t	          t          ¦  «        |z  ¦  «        z  S r‰   )r   r   r   rX   r$   rŠ   s       r4   rÄ   z besseli._eval_rewrite_as_besselj	  s5   € Ý•A�2•b‘5˜‘8˜A‘:‰Œ�w r­:µa©=¬=¸©?Ñ;Ô;Ñ;Ð;r7   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r<   ©rÄ   r1   rÆ   r�   rÇ   s        r4   rŽ   z besseli._eval_rewrite_as_bessely  rÉ   r7   c                 óP   —  | j         | j        Ž                      t          ¦  «        S r<   )rÄ   r1   rÆ   r\   rŠ   s       r4   r‘   zbesseli._eval_rewrite_as_jn  s"   € Ø,ˆtÔ,¨d¬iÐ8×@Ò@ÅÑDÔDÐDr7   c                 ó>   — | j         \  }}|j        r	|j        rdS d S d S r¢   r£   r¥   s      r4   r¦   zbesseli._eval_is_extended_real  r§   r7   Nr   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 ©NrC   r9   r   )r1   r”   r•   r–   rf   r&   rh   r   r   r   r—   rY   r˜   r™   s             €r4   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À4ÑHÔHÐHr    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«   r1   r­   r®   r•   rf   r   r¯   r°   r   rz   r   r&   r±   r²   r   r—   rY   r³   s                    €r4   r¯   zbesseli._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Ñ,Ô,ð ð �Ø˜˜1˜b 1™f™:™Ñ&�Ý  ™œ¨Ñ*×3Ò3Ñ5Ô5�Ø—’˜‘”��Ý˜�7˜Q‘;Ðå•W˜dÑ#Ô#×1Ò1°!°Q¸¸dÑCÔCÐCr¼   r½   r¾   )rq   rr   rs   rt   r   ry   rH   rF   rv   rB   rÄ   rŽ   r‘   r¦   r˜   r¯   r¿   rÀ   s   @r4   rY   rY   ¶  sá   ø€ € € € € ð%ð %ðN Œ%ˆ€BØ	
Œ€Bàð%#ð %#ñ „[ð%#ðN<ð <ð <ð'ð 'ð 'ð
Eð Eð Eðð ð ð
Ið Ið Ið Ið Ið Ið*Dð Dð Dð Dð Dð Dð Dð Dð Dð Dr7   rY   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ˆ fd
„	Zdˆ 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 rM   )r^   r   r~   r"   r{   r}   r   r   rz   rV   r€   ré   r>   s      r4   rB   zbesselk.evalw  s¼   € àŒ9ð 	ØŒzð Ý”zÐ!Ý�B‘”” 5Ð(Ð(ÝÔ(Ð(Ý�B‘””ð Ý”u�Ø•”�Q�qœz™\­1­QÔ-?Ñ+?Ð@Ð@Ð@Ý”6ˆMàŒ=ð 	'Ø×*Ò*Ñ,Ô,ð 'Ý ˜s A‘”Ð&ð	'ð 	'ð'ð 'r7   c                 ó¢   — |j         du rEt          t          t          |z  ¦  «        z  t          | |¦  «        t          ||¦  «        z
  z  dz  S d S )NFrC   )rV   r   r   rY   rŠ   s       r4   r‹   z besselk._eval_rewrite_as_besseli‡  sL   € ØŒ=˜EÐ!Ð!Ý•c�"˜R™%‘j”j‘=¥'¨2¨#¨q¡/¤/µG¸BÀ±N´NÑ"BÑCÀAÑEÐEð "Ð!r7   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r<   )r‹   r1   rÆ   rX   )r3   r@   rA   rn   Úais        r4   rÄ   z besselk._eval_rewrite_as_besselj‹  rÉ   r7   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r<   râ   rÇ   s        r4   rŽ   z besselk._eval_rewrite_as_bessely�  rÉ   r7   c                 ó\   —  | j         | j        Ž }|r|                     t          ¦  «        S d S r<   )rŽ   r1   rÆ   r]   )r3   r@   rA   rn   Úays        r4   rË   zbesselk._eval_rewrite_as_yn•  s5   € Ø*ˆTÔ*¨D¬IÐ6ˆØð 	"Ø—:’:�b‘>”>Ð!ð	"ð 	"r7   c                 ó>   — | j         \  }}|j        r	|j        rdS d S d S r¢   rÕ   r¥   s      r4   r¦   zbesselk._eval_is_extended_realš  rÖ   r7   Nr   c                 óþ  •— | j         \  }}	 |                     |¦  «        }n# t          $ r | cY S w xY w|                     |¦  «        \  }}|j        rÂd|dz
  z  t          |dz  ¦  «        z  t          ||¦  «        z  }	|j        r|dz  | z  t          |dz
  ¦  «        z  dz  nt          j	        }
d|z  |dz  |z  z  dt          |¦  «        z  z  t          |dz   ¦  «        t          j        z
  z  }t          |	|
|gŽ                      ||¬¦  «        }|S |j        r8t          t          ¦  «        t!          | ¦  «        z  t          d|z  ¦  «        z  S t#          t$          | ¦  «                             |||¦  «        S )Nrß   r9   rC   rÍ   )r1   r”   r•   r–   rf   r   rY   r   r   rz   r'   rÐ   r   rh   r   r   r   r—   ré   r˜   )r3   r`   rš   r›   r@   rA   rœ   r´   rž   rÑ   rÒ   rÓ   rG   s               €r4   r˜   zbesselk._eval_as_leading_termŸ  s‰  ø€ Ø”	‰ˆˆAð	Ø×#Ò# AÑ&Ô&ˆCˆCøÝ"ð 	ð 	ð 	ØˆKˆKˆKð	øøøà×$Ò$ QÑ'Ô'‰ˆˆ1àŒ=ð 		.Ø˜r 1™u™¥c¨!¨A©#¡h¤hÑ.­w°r¸1©~¬~Ñ=ˆHØ<>Ô;KÐW˜˜!™ ˜s‘|¥I¨b°1©fÑ$5Ô$5Ñ5°aÑ7Ð7ÕQRÔQWˆHØ˜r™ 1 Q¡3¨¡)Ñ+¨Q­y¸©}¬}©_Ñ=½wÀrÈAÁv¹¼ÕQRÔQ]Ñ?]Ñ^ˆJÝ˜ (¨JÐ7Ð8×HÒHÈÐQUÐHÑVÔVˆCØˆJØŒ]ð 	.õ �‘8”8�C  ™GœGÑ#¥D¨¨1©¡I¤IÑ-Ð-å•W˜dÑ#Ô#×9Ò9¸!¸TÀ4ÑHÔHÐHr    c                 óò  •— ddl m} | j        \  }}	 |                     |¦  «        \  }}	n# t          t
          f$ r | cY S w xY w|	j        �r�|j        �ryt          ||	z  ¦  «        }
t          ||¦  «        }d|dz
  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  dz  }|                     |¦  «         t%          d|¦  «        D ]d}||z
  |z  }|t          j        k    r	|||z  z  }n|||z  z  }t          |¦  «        |z                        ¦   «         }|                     |¦  «         Œe||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   S t-          t.          | ¦  «                             ||||¦  «        S )Nr   rª   rß   r9   rC   )r¬   r«   r1   r­   r®   r•   rf   rV   r   rY   r   r¯   r°   r   rz   r   r   r²   r±   r'   rÐ   r   r—   ré   rØ   s                         €r4   r¯   zbesselk._eval_nseries´  s  ø€ ð 	-Ð,Ð,Ð,Ð,Ð,Ø”	‰ˆˆAð	Ø—Z’Z ‘]”]‰FˆAˆsˆsøÝÕ/Ð0ð 	ð 	ð 	ØˆKˆKˆKð	øøøð Œ?ñ  	)˜rœ}ñ  	)Ý˜1˜S™5‘>”>ˆDÝ˜˜Q‘”ˆBØ˜˜Q™‘¥ A a¡C¡¤Ñ(¨Ñ+×:Ò:¸1¸aÀÀtÑLÔLˆ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°!Ñ3�Ø—’˜‘”�Ý˜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‘h‘ ¥)¨B¡-¤-¡Ñ0ˆAØ•g˜b 1™f‘o”o­¬Ñ4Ñ5ˆDØ�HŠH�T‰NŒNˆNÝ˜1˜t a™x¨!™mÑ,Ô,ð ð �Ø�Q˜˜1˜r™6™
‘^Ñ#�Ý˜a‘[”[ 1‘_×-Ò-Ñ/Ô/�Ø�' ! b¡&¨1¡*Ñ-Ô-µ¸¸A¹±´Ñ>Ñ?�Ø—’˜‘”��Ø•s˜A�w‘;¥ a Ñ(Ð(å•W˜dÑ#Ô#×1Ò1°!°Q¸¸dÑCÔCÐCr¼   r½   r¾   )rq   rr   rs   rt   r   ry   rH   rF   rv   rB   r‹   rÄ   rŽ   rË   r¦   r˜   r¯   r¿   rÀ   s   @r4   ré   ré   N  sï   ø€ € € € € ð#ð #ðJ 
Œ€BØ
Œ%ˆ€Bàð'ð 'ñ „[ð'ðFð Fð Fð'ð 'ð 'ð
'ð 'ð 'ð
"ð "ð "ð
ð ð ð
Ið Ið Ið Ið Ið Ið*/Dð /Dð /Dð /Dð /Dð /Dð /Dð /Dð /Dð /Dr7   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 rM   )r:   rN   Úhankel2r5   rO   rP   s     r4   rQ   zhankel1._eval_conjugate  óE   € ØŒMˆØÔ! UÐ*Ð*Ý˜4œ:×/Ò/Ñ1Ô1°1·;²;±=´=ÑAÔAÐAð +Ð*r7   N©	rq   rr   rs   rt   r   ry   rH   rF   rQ   r=   r7   r4   rõ   rõ   æ  sC   € € € € € ð"ð "ðH 
Œ€BØ	
Œ€BðBð Bð Bð Bð Br7   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 rM   )r:   rN   rõ   r5   rO   rP   s     r4   rQ   zhankel2._eval_conjugate=  rø   r7   Nrù   r=   r7   r4   r÷   r÷     sC   € € € € € ð#ð #ðJ 
Œ€BØ	
Œ€BðBð Bð Bð Bð Br7   r÷   c                 ó<   ‡ — t          ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                 ó0   •— |j         r ‰| ||¦  «        S d S r<   )rV   )r3   r@   rA   Úfns      €r4   Úgzassume_integer_order.<locals>.gD  s)   ø€ àŒ=ð 	#Ø�2�d˜B ‘?”?Ð"ð	#ð 	#r7   r   )rþ   rÿ   s   ` r4   Úassume_integer_orderr   C  s3   ø€ Ý
ˆ2�Y„Yð#ð #ð #ð #ñ „Yð#ð €Hr7   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•   ©r3   ri   s     r4   Ú_expandzSphericalBesselBase._expandW  s   € å! +Ñ.Ô.Ð.r7   c                 ó8   — | j         j        r | j        di |¤ŽS | S ©Nr=   )r5   Ú
is_Integerr  r  s     r4   rg   z%SphericalBesselBase._eval_expand_func[  s,   € ØŒ:Ô ð 	)Ø�4”<Ð(Ð( %Ð(Ð(Ð(Øˆr7   rC   c                 ó    — |dk    rt          | |¦  «        ‚|                      | j        dz
  | j        ¦  «        | | j        dz   z  | j        z  z
  S rE   )r
   rG   r5   r:   rI   s     r4   rK   zSphericalBesselBase.fdiff`  sS   € Ø�qŠ=ˆ=Ý$ T¨8Ñ4Ô4Ð4Ø�~Š~˜dœj¨1™n¨d¬mÑ<Ô<Ø�D”J ‘NÑ# D¤MÑ1ñ2ð 	2r7   Nrp   )rq   rr   rs   rt   r  rg   rK   r=   r7   r4   r  r  K  sP   € € € € € ð	ð 	ð/ð /ð /ðð ð ð
2ð 2ð 2ð 2ð 2ð 2r7   r  c                 ó²   — t          | |¦  «        t          |¦  «        z  t          j        | dz   z  t          |  dz
  |¦  «        z  t	          |¦  «        z  z   S ©Nr9   )r*   r   r   r�   r   ©r†   rA   s     r4   Ú_jnr  g  sU   € Ý  1Ñ%Ô%¥c¨!¡f¤fÑ,ÝŒM˜A ™EÑ"Õ#6¸°r¸A±v¸qÑ#AÔ#AÑAÅ#ÀaÁ&Ä&ÑHñIð Jr7   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     r4   Ú_ynr  l  sS   € åŒM˜A ™EÑ"Õ%8¸!¸¸a¹ÀÑ%CÔ%CÑCÅCÈÁFÄFÑJÝ  1Ñ%Ô%¥c¨!¡f¤fÑ,ñ-ð .r7   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   ry   rV   rf   rz   r{   r   r~   r>   s      r4   rB   zjn.eval¬  se   € àŒ9ð 	-ØŒzð -Ý”u�Ø”ð -Ø”>ð -Ýœ6�MåÔ,Ð,Ø•Ô#¥Q¤ZÐ0Ð0Ð0Ý”6ˆMð 1Ð0r7   c                 ór   — t          t          d|z  z  ¦  «        t          |t          j        z   |¦  «        z  S r‰   )r   r   rX   r   r�   rŠ   s       r4   rÄ   zjn._eval_rewrite_as_besselj¹  s+   € Ý•B˜˜!™‘H‰~Œ~¥¨­Q¬V©°QÑ 7Ô 7Ñ7Ð7r7   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       r4   rŽ   zjn._eval_rewrite_as_bessely¼  s9   € ÝŒ}˜bÑ ¥4­¨A¨a©C©¡>¤>Ñ1µG¸R¸CÅ!Ä&¹LÈ!Ñ4LÔ4LÑLÐLr7   c                 óJ   — t           j        |z  t          | dz
  |¦  «        z  S r  )r   r�   r]   rŠ   s       r4   rË   zjn._eval_rewrite_as_yn¿  s"   € ÝŒ}˜rÑ"¥R¨¨¨a©°¡^¤^Ñ3Ð3r7   c                 ó6   — t          | j        | j        ¦  «        S r<   )r  r5   r:   r  s     r4   r  z
jn._expandÂ  ó   € Ý�4”:˜tœ}Ñ-Ô-Ð-r7   c                 óx   — | j         j        r-|                      t          ¦  «                             |¦  «        S d S r<   ©r5   r
  rÆ   rX   Ú_eval_evalf©r3   Úprecs     r4   r  zjn._eval_evalfÅ  ó9   € ØŒ:Ô ð 	;Ø—<’<¥Ñ(Ô(×4Ò4°TÑ:Ô:Ð:ð	;ð 	;r7   N)rq   rr   rs   rt   rv   rB   rÄ   rŽ   rË   r  r  r=   r7   r4   r\   r\   r  sˆ   € € € € € ð8ð 8ðr ð
ð 
ñ „[ð
ð8ð 8ð 8ðMð Mð Mð4ð 4ð 4ð.ð .ð .ð;ð ;ð ;ð ;ð ;r7   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 rd   )r   r�   r   r   rX   r�   rŠ   s       r4   rÄ   zyn._eval_rewrite_as_besseljù  s=   € åŒ}˜r !™tÑ$¥t­B°°!±©H¡~¤~Ñ5½ÀÀÅaÄfÁÈaÑ8PÔ8PÑPÐPr7   c                 ór   — t          t          d|z  z  ¦  «        t          |t          j        z   |¦  «        z  S r‰   )r   r   r�   r   r�   rŠ   s       r4   rŽ   zyn._eval_rewrite_as_besselyý  s+   € å•B˜˜!™‘H‰~Œ~¥¨­Q¬V©°QÑ 7Ô 7Ñ7Ð7r7   c                 óP   — t           j        |dz   z  t          | dz
  |¦  «        z  S r  )r   r�   r\   rŠ   s       r4   r‘   zyn._eval_rewrite_as_jn  s&   € ÝŒ}˜r A™vÑ&­¨R¨C°!©G°Q©¬Ñ7Ð7r7   c                 ó6   — t          | j        | j        ¦  «        S r<   )r  r5   r:   r  s     r4   r  z
yn._expand  r  r7   c                 óx   — | j         j        r-|                      t          ¦  «                             |¦  «        S d S r<   )r5   r
  rÆ   r�   r  r  s     r4   r  zyn._eval_evalf  r  r7   N)
rq   rr   rs   rt   r   rÄ   rŽ   r‘   r  r  r=   r7   r4   r]   r]   Ê  s‡   € € € € € ð-ð -ð\ ðQð Qñ ÔðQð ð8ð 8ñ Ôð8ð8ð 8ð 8ð.ð .ð .ð;ð ;ð ;ð ;ð ;r7   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 rE   )Ú_hankel_kind_signr   r   rX   r   r�   r   r�   ©r3   r@   rA   rn   Úhkss        r4   rÄ   z,SphericalHankelBase._eval_rewrite_as_besselj  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r7   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‰   )r(  r   r   r   r�   r�   r�   r   r)  s        r4   rŽ   z,SphericalHankelBase._eval_rewrite_as_bessely  sh   € ð
 Ô$ˆÝ•B˜˜!™‘H‰~Œ~�qœ}¨bÑ0µ¸"¸½q¼v¹ÀqÑ1IÔ1IÑIØ"¥1™u¥W¨Rµ!´&©[¸!Ñ%<Ô%<Ñ<ñ =ñ >ð 	>r7   c                 ó˜   — | j         }t          ||¦  «                             t          ¦  «        |t          z  t          ||¦  «        z  z   S r<   )r(  r\   rÆ   r]   r   r)  s        r4   rË   z'SphericalHankelBase._eval_rewrite_as_yn   s;   € ØÔ$ˆÝ�"�a‰yŒy× Ò ¥Ñ$Ô$ s­1¡u­R°°A©Y¬Y¡Ñ6Ð6r7   c                 ó˜   — | j         }t          ||¦  «        |t          z  t          ||¦  «                             t          ¦  «        z  z   S r<   )r(  r\   r   r]   rÆ   r)  s        r4   r‘   z'SphericalHankelBase._eval_rewrite_as_jn$  s<   € ØÔ$ˆÝ�"�a‰yŒy˜3�q™5¥ B¨¡¤×!2Ò!2µ2Ñ!6Ô!6Ñ6Ñ6Ð6r7   c                 ó¶   — | j         j        r | j        di |¤ŽS | j         }| j        }| j        }t          ||¦  «        |t          z  t          ||¦  «        z  z   S r	  )r5   r
  r  r:   r(  r\   r   r]   )r3   ri   r@   rA   r*  s        r4   rg   z%SphericalHankelBase._eval_expand_func(  s`   € ØŒ:Ô ð 	/Ø�4”<Ð(Ð( %Ð(Ð(Ð(à”ˆBØ”ˆAØÔ(ˆCÝ�b˜!‘9”9˜s¥1™u¥R¨¨A¡Y¤Y™Ñ.Ð.r7   c                 ó¨   — | j         }| j        }| j        }t          ||¦  «        |t          z  t          ||¦  «        z  z                        ¦   «         S r<   )r5   r:   r(  r  r   r  Úexpand)r3   ri   r†   rA   r*  s        r4   r  zSphericalHankelBase._expand1  sI   € ØŒJˆØŒMˆØÔ$ˆõ �A�q‘	”	˜C¥™E¥# a¨¡)¤)™OÑ+×3Ò3Ñ5Ô5Ð5r7   c                 óx   — | j         j        r-|                      t          ¦  «                             |¦  «        S d S r<   r  r  s     r4   r  zSphericalHankelBase._eval_evalf@  r  r7   N)rq   rr   rs   r   rÄ   rŽ   rË   r‘   rg   r  r  r=   r7   r4   r&  r&    s˜   € € € € € àðUð Uñ ÔðUð ð>ð >ñ Ôð>ð7ð 7ð 7ð7ð 7ð 7ð/ð /ð /ð6ð 6ð 6ð;ð ;ð ;ð ;ð ;r7   r&  c                   ó6   — e Zd ZdZej        Zed„ ¦   «         ZdS )rZ   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       r4   Ú_eval_rewrite_as_hankel1zhn1._eval_rewrite_as_hankel1x  ó#   € å•B˜˜!™‘H‰~Œ~�g b¨!™nœnÑ,Ð,r7   N)	rq   rr   rs   rt   r   ry   r(  r   r4  r=   r7   r4   rZ   rZ   E  sC   € € € € € ð.ð .ð` œÐàð-ð -ñ Ôð-ð -ð -r7   rZ   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       r4   Ú_eval_rewrite_as_hankel2zhn2._eval_rewrite_as_hankel2°  r5  r7   N)	rq   rr   rs   rt   r   ry   r(  r   r8  r=   r7   r4   r[   r[   }  sE   € € € € € ð.ð .ð` œ˜Ðàð-ð -ñ Ôð-ð -ð -r7   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   r9  )Úbesseljzero)Údps_to_precc           
      ó®   •— g | ]Q}t          j         ‰t          ‰d z   ¦  «                             ‰¦  «        t	          |¦  «        ¦  «        ‰¦  «        ‘ŒRS )g      à?)r   Ú_from_mpmathr   Ú
_to_mpmathÚint)Ú.0Úlr<  r†   r  s     €€€r4   ú
<listcomp>zjn_zeros.<locals>.<listcomp>è  sj   ø€ ð *ð *ð *àõ Ô! + +­a°°C±©j¬j×.CÒ.CÀDÑ.IÔ.IÝ.1°!©f¬fñ#6ô #6Ø7;ñ=ô =ð *ð *ð *r7   r9   Úscipy)Únewton)Úspherical_jnc                 ó   •—  ‰‰| ¦  «        S r<   r=   )r`   r†   rG  s    €€r4   ú<lambda>zjn_zeros.<locals>.<lambda>ï  s   ø€ ˜,˜, q¨!Ñ,Ô,€ r7   )Úsph_jnc                 ó4   •—  ‰‰| ¦  «        d         d         S )Nr   rß   r=   )r`   r†   rJ  s    €€r4   rI  zjn_zeros.<locals>.<lambda>ò  s   ø€ ˜&˜&  A™,œ, qœ/¨"Ô-€ r7   úUnknown method.c                 óL   •— ‰dk    r ‰| |¦  «        }nt          d¦  «        ‚|S )NrE  rL  r  )rj   r`   r    ÚmethodrF  s      €€r4   Úsolverzjn_zeros.<locals>.solverö  s3   ø€ Ø�WÒÐØ�6˜!˜Q‘<”<ˆDˆDå%Ð&7Ñ8Ô8Ð8Øˆr7   )Úmathr   Úmpmathr<  Úmpmath.libmp.libmpfr=  r±   Úscipy.optimizerF  Úscipy.specialrG  ÚImportErrorrJ  r•   r²   )r†   r»   rN  ÚdpsÚmath_pir=  rj   rO  r    ÚrootsÚir<  rF  r  rJ  rG  s   ` `        @@@@@r4   Újn_zerosrZ  µ  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 r½   )Úfuncr1   rO   r2   s    r4   rQ   zAiryBase._eval_conjugate  s&   € Ø�yŠy˜œ 1œ×/Ò/Ñ1Ô1Ñ2Ô2Ð2r7   c                 ó&   — | j         d         j        S r½   )r1   r¤   r2   s    r4   r¦   zAiryBase._eval_is_extended_real  s   € ØŒy˜Œ|Ô,Ð,r7   Tc                 óÒ   — | j         d         }|                     ¦   «         }| j        } ||¦  «         ||¦  «        z   dz  }t           ||¦  «         ||¦  «        z
  z  dz  }||fS )Nr   rC   )r1   rO   r^  r   )r3   Údeepri   rA   Úzcrj   ÚuÚvs           r4   Úas_real_imagzAiryBase.as_real_imag  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ˆr7   c                 ó@   —  | j         dd|i|¤Ž\  }}||t          z  z   S )Nra  r=   )re  r   )r3   ra  ri   Úre_partÚim_parts        r4   Ú_eval_expand_complexzAiryBase._eval_expand_complex  s3   € Ø,˜4Ô,Ð@Ð@°$Ð@¸%Ð@Ð@Ñˆ�Ø˜¥™Ñ"Ð"r7   N)T)rq   rr   rs   rt   rQ   r¦   re  ri  r=   r7   r4   r\  r\  	  sd   € € € € € ðð ð3ð 3ð 3ð-ð -ð -ðð ð ð ð#ð #ð #ð #ð #ð #r7   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 )Ú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

    r9   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Î   rC   )
Ú	is_Numberr   r}   r~   rz   r   r^   ry   r   r&   ©r?   rœ   s     r4   rB   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r7   c                 ób   — |dk    rt          | j        d         ¦  «        S t          | |¦  «        ‚©Nr9   r   )Úairyaiprimer1   r
   rI   s     r4   rK   zairyai.fdiffŽ  ó/   € Ø�qŠ=ˆ=Ý˜tœy¨œ|Ñ,Ô,Ð,å$ T¨8Ñ4Ô4Ð4r7   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   r9   rß   rÎ   rC   r“   )r   rz   r   Úlenr   r   r   r   r   r&   ry   ©r†   r`   Úprevious_termsrÜ   s       r4   Ú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ð 7r7   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 ©Nr9   rÎ   rC   ©r   r   r"   rh   r   rX   ©r3   rA   rn   ÚotÚttra   s         r4   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r7   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 ry  ©r   r   r"   rf   r   rY   r{  s         r4   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ÐWr7   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Î   rC   r9   é	   r“   )r   ry   r   r&   r    r)   ©r3   rA   rn   Úpf1Úpf2s        r4   Ú_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Ðdr7   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   r9   r�   )ÚexcludeÚdÚmr†   rÎ   )r1   Úfree_symbolsrt  Úpopr   ÚmatchrV   r   r�   ry   rk  r   Úairybi©r3   ri   rœ   ÚsymbsrA   r�   r‰  rŠ  r†   ÚMÚpfÚnewargs               r4   rg   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r7   N©r9   ©rq   rr   rs   rt   ÚnargsÚ
unbranchedrv   rB   rK   Ústaticmethodr   rw  rÄ   r‹   r…  rg   r=   r7   r4   rk  rk  $  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r7   rk  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

    r9   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Î   r9   é   rC   )
rm  r   r}   r~   r   rz   r^   ry   r   r&   rn  s     r4   rB   zairybi.eval.  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r7   c                 ób   — |dk    rt          | j        d         ¦  «        S t          | |¦  «        ‚rp  )Úairybiprimer1   r
   rI   s     r4   rK   zairybi.fdiff=  rr  r7   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   r9   rß   rÎ   rC   r›  )r   rz   r   rt  r   r!   r   r   r   ry   r   r   r�   r    r&   ru  s       r4   rw  zairybi.taylor_termC  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ð 7r7   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 ry  rz  r{  s         r4   rÄ   zairybi._eval_rewrite_as_besseljR  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r7   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 ry  r  ©r3   rA   rn   r|  r}  ra   rÚ   r�   s           r4   r‹   zairybi._eval_rewrite_as_besseliY  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ÐJr7   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›  rC   r9   r�  r“   )r   ry   r    r&   r   r)   r‚  s        r4   r…  zairybi._eval_rewrite_as_hyperd  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Ðdr7   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‡  )r1   r‹  rt  rŒ  r   r�  rV   r   r�   r   ry   rk  rŽ  r�  s               r4   rg   zairybi._eval_expand_funci  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r7   Nr”  r•  r=   r7   r4   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r7   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 )rq  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

    r9   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Î   r9   )	rm  r   r}   r~   rz   r^   r�   r   r&   rn  s     r4   rB   zairyaiprime.evalÖ  sx   € àŒ=ð 	Ø•a”eˆ|ˆ|Ý”u�Ø�œ
Ð"Ð"Ý”v�àŒ;ð 	OÝ”= A¥x°°1¡~¤~Ñ$5½½hÀqÈ!¹n¼nÑ8MÔ8MÑ$MÑNÐNð	Oð 	Or7   c                 ó~   — |dk    r(| j         d         t          | j         d         ¦  «        z  S t          | |¦  «        ‚rp  )r1   rk  r
   rI   s     r4   rK   zairyaiprime.fdiffá  ó:   € Ø�qŠ=ˆ=Ø”9˜Q”<¥ t¤y°¤|Ñ 4Ô 4Ñ4Ð4å$ T¨8Ñ4Ô4Ð4r7   c                 óæ   — | j         d                              |¦  «        }t          |¦  «        5  t          j        |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «        S ©Nr   r9   )Ú
derivative)r1   r@  r,   r+   rk  r   r?  ©r3   r  rA   Úress       r4   r  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 ©NrC   rÎ   )r   r   r"   rh   rX   ©r3   rA   rn   r}  ra   s        r4   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r7   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 ry  )r   r   r"   rf   rY   r¡  s           r4   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ÐIr7   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 )NrC   rÎ   r9   é   r�  )r   r&   r    r)   r‚  s        r4   r…  z"airyaiprime._eval_rewrite_as_hyperÿ  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Ðdr7   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‡  )r1   r‹  rt  rŒ  r   r�  rV   r   r�   ry   rq  r   r�  r�  s               r4   rg   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r7   Nr”  ©rq   rr   rs   rt   r–  r—  rv   rB   rK   r  rÄ   r‹   r…  rg   r=   r7   r4   rq  rq  �  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r7   rq  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

    r9   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Î   r9   r›  )	rm  r   r}   r~   r   rz   r^   r   r&   rn  s     r4   rB   zairybiprime.evalu  s¸   € àŒ=ð 	AØ•a”eˆ|ˆ|Ý”u�Ø�œ
Ð"Ð"Ý”zÐ!Ø�Ô*Ð*Ð*Ý”v�Ø”ð AØ�( 1 a™.œ.Ñ(­5µ¸!¸Q±´Ñ+@Ô+@Ñ@Ð@àŒ;ð 	=Ø•h˜q !‘n”nÑ$¥u­X°a¸©^¬^Ñ'<Ô'<Ñ<Ð<ð	=ð 	=r7   c                 ó~   — |dk    r(| j         d         t          | j         d         ¦  «        z  S t          | |¦  «        ‚rp  )r1   rŽ  r
   rI   s     r4   rK   zairybiprime.fdiff…  r§  r7   c                 óæ   — | j         d                              |¦  «        }t          |¦  «        5  t          j        |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «        S r©  )r1   r@  r,   r+   rŽ  r   r?  r«  s       r4   r  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°  rz  r±  s        r4   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r7   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 ry  r  r¡  s           r4   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ÐOr7   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 )NrC   rÎ   r›  r9   r´  r�  )r    r&   r   r)   r‚  s        r4   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Ðdr7   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‡  )r1   r‹  rt  rŒ  r   r�  rV   r   r�   r   ry   rq  r�  r�  s               r4   rg   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r7   Nr”  r¶  r=   r7   r4   r�  r�    s³   € € € € € ðQð Qðf €EØ€Jàð=ð =ñ „[ð=ð5ð 5ð 5ð 5ð,ð ,ð ,ðCð Cð Cð
Pð 
Pð 
Pðeð eð eð
rð rð rð rð rr7   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 ræ   )	r   rz   r(   r�   r&   r   ry   rY   r^   )r?   rŠ  ra   rÚ   s       r4   rB   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™{Ñ+Ô+Ñ+Ñ+Ð+ð	,ð 	,ð 	,ð 	,r7   rC   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	          | |¦  «        ‚)NrC   r9   rÎ   )r1   rÀ  r   rY   r
   )r3   rJ   rŠ  ra   rÚ   s        r4   rK   zmarcumq.fdiff  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Ð4r7   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   )ÚIntegralr`   r9   rC   )
Úsympy.integrals.integralsrÄ  Úgetr   r   Únamer   rY   r   r~   )r3   rŠ  ra   rÚ   rn   rÄ  r`   s          r4   Ú_eval_rewrite_as_Integralz!marcumq._eval_rewrite_as_Integral  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\Ñ]Ô]ñ^ð 	^r7   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»   rC   r9   )Úsympy.concrete.summationsrÊ  rÆ  r   r   rY   r   r~   )r3   rŠ  ra   rÚ   rn   rÊ  r»   s          r4   Ú_eval_rewrite_as_Sumzmarcumq._eval_rewrite_as_Sum  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]Ñ)^Ô)^Ñ^Ð^r7   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 )Nr9   rC   r   c              3   ó>   •K  — | ]}t          |‰d z  ¦  «        V — ŒdS )rC   N)rY   )rB  rY  ra   s     €r4   ú	<genexpr>z3marcumq._eval_rewrite_as_besseli.<locals>.<genexpr>$  s1   øè è € Ð>Ð>¨Q�  1 a¡4Ñ(Ô(Ð>Ð>Ð>Ð>Ð>Ð>r7   )r   rY   r
  Úsumr±   r   r�   )r3   rŠ  ra   rÚ   rn   rº   s     `   r4   r‹   z marcumq._eval_rewrite_as_besseli  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  r7   c                 óF   — t          d„ | j        D ¦   «         ¦  «        rdS d S )Nc              3   ó$   K  — | ]}|j         V — Œd S r<   )r^   )rB  rœ   s     r4   rÏ  z(marcumq._eval_is_zero.<locals>.<genexpr>(  s$   è è € Ð0Ð0˜sˆsŒ{Ð0Ð0Ð0Ð0Ð0Ð0r7   T)Úallr1   r2   s    r4   Ú_eval_is_zerozmarcumq._eval_is_zero'  s2   € ÝÐ0Ð0 d¤iÐ0Ñ0Ô0Ñ0Ô0ð 	Ø�4ð	ð 	r7   Nrp   )rq   rr   rs   rt   rv   rB   rK   rÈ  rÌ  r‹   rÔ  r=   r7   r4   rÀ  rÀ  Â  s“   € € € € € ð.ð .ð` ð,ð ,ñ „[ð,ð.5ð 5ð 5ð 5ð^ð ^ð ^ð_ð _ð _ð
Sð Sð Sðð ð ð ð r7   rÀ  N)r9  r:  )UÚ	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   Ú(sympy.functions.combinatorial.factorialsr   Ú(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*   rQ  r+   r,   r.   rX   r�   rY   ré   rõ   r÷   r   r  r  r  r\   r]   r&  rZ   r[   rZ  r\  rk  rŽ  rq  r�  rÀ  r=   r7   r4   ú<module>ré     s'  ðØ Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø  Ð  Ð  Ð  Ð  Ð  Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø  Ð  Ð  Ð  Ð  Ð  Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø &Ð &Ð &Ð &Ð &Ð &Ø >Ð >Ð >Ð >Ð >Ð >Ø 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UDð UDð UDð UDð UDˆjñ UDô UDð UDðpUDð UDð UDð UDð UDˆjñ UDô UDð UDðp+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#ð #ð #ð #ð #ˆxñ #ô #ð #ð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ˆhñ gô gð gð gð gr7   