ó
<Zc           @   sØ  d  d l  m Z m Z e d „  ƒ Z e d „  ƒ Z e d d „ ƒ Z e d d „ ƒ Z e d d „ ƒ Z e d „  ƒ Z e d	 „  ƒ Z	 e d
 „  ƒ Z
 e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z d „  Z e d d  „ ƒ Z  e d d! „ ƒ Z! e" d" „ Z# e d d# „ ƒ Z$ e d e" d$ „ ƒ Z% d% „  Z& e d& „  ƒ Z' e d' „  ƒ Z( e i  d( „ ƒ Z) e d  e* d) „ ƒ Z+ e i  d* „ ƒ Z, e d  e* d+ „ ƒ Z- d, „  Z. d- „  Z/ d. „  Z0 d/ i  d0 „ Z1 e d d1 „ ƒ Z2 e d d2 „ ƒ Z3 d3 S(4   i   (   t   defunt   defun_wrappedc         C   s   |  j  d | ƒ S(   sC   Computes the Bessel function `J_0(x)`. See :func:`~mpmath.besselj`.i    (   t   besselj(   t   ctxt   x(    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   j0   s    c         C   s   |  j  d | ƒ S(   sD   Computes the Bessel function `J_1(x)`.  See :func:`~mpmath.besselj`.i   (   R   (   R   R   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   j1   s    i    c   	         sÌ  t  ˆ ƒ t k r t } n< ˆ j ˆ ƒ ‰ ˆ j ˆ ƒ } | rW t ˆ j ˆ ƒ ƒ ‰ n  | rˆ ˆ d k  rˆ d ˆ ˆ j ˆ ˆ | |  Sˆ j ˆ ƒ ‰ ˆ j ˆ ƒ ‰  | r‹ˆ j | ƒ ‰ ˆ j ˆ ƒ rXˆ d k rXt ˆ ƒ ‰ ˆ j } zE ˆ j d 7_ ˆ j	 ‡ ‡ ‡ ‡ f d †  t
 ˆ d ƒ Dƒ ƒ } Wd  | ˆ _ X| ˆ j d ƒ ˆ 9} qÈ‡  ‡ ‡ f d †  } ˆ j | ˆ ˆ g |  } n=| rç| rçt ˆ  ƒ d k  rçt ˆ ƒ d	 k  rçy ˆ j ˆ ˆ ƒ SWqçt k
 rãqçXn  ˆ s=ˆ sˆ j ˆ ˆ } qÁˆ j ˆ ƒ d k r)ˆ ˆ } qÁˆ j ˆ ˆ } n„ ˆ j } zn ˆ j t d
 t ˆ  ƒ ˆ j ƒ 7_ ˆ j ˆ d d t ƒ‰ ‡  ‡ ‡ f d †  } ˆ j | ˆ g |  } Wd  | ˆ _ X| 
} | S(   Ni    iÿÿÿÿi   c         3   sE   |  ]; } d  | ˆ  j  ˆ | ƒ ˆ  j d | ˆ ˆ ˆ ƒ Vq d S(   iÿÿÿÿi   N(   t   binomialR   (   t   .0t   k(   R   t   dt   nt   z(    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pys	   <genexpr>%   s   i   i   c            s¹   ˆ j  ˆ j  ˆ ˆ d ˆ j ˆ  ƒd d t ƒ} d |  | d d |  | d g } d ˆ j ˆ g | d |  d |  | g g  | |  d d |  d d g | |  d g | f g } | S(   Nt   precg      Ð¿t   exactg      à?i   i   (   t   fmulR   t   Truet   pi(   R   R
   t   rt   Bt   T(   t   MR   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   h+   s    1$`i
   i   i   g      à?R   c      	      sg   ˆ j  ˆ j ˆ ˆ d t d ˆ j ˆ  ƒ ƒd t ƒ} ˆ g |  g g  |  d g g  |  d g | f g S(   NR   i    R   i   (   t   fnegR   t   maxR   R   (   R   R   (   R   R   t   w(    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   G   s    7(   t   typet   intR   t   convertt   isintt   _reR   t   magR   t   fsumt   ranget   mpft	   hypercombt   abst   _besseljt   NotImplementedErrort   onet   ret   inft   minR   (	   R   R   R   t
   derivativet   kwargst   n_isintt   origt   vR   (    (   R   R   R
   R   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR      sV    		
1	%
c   	         s<  ˆ j  | ƒ } ˆ j  ˆ ƒ ‰ ˆ s´ | r3 t ‚ n  | sE d | ˆ Sˆ j | ƒ r` d | ˆ Sˆ j | ƒ } | d k rŠ ˆ j | ˆ S| d k r¢ d | ˆ Sˆ j | ˆ Sn  ˆ j ˆ ƒ ‰  | rˆ j  | ƒ } ‡  ‡ ‡ f d †  } ˆ j | | | g |  } n- ‡  ‡ ‡ f d †  } ˆ j | | g |  } | S(   Ni   i    c            s¼   ˆ j  ˆ j  ˆ ˆ d ˆ j ˆ  ƒd d t ƒ} d |  | d d |  | d |  d g } d ˆ j ˆ g | d |  d |  | g |  d g | |  d d |  d d g | | f g } | S(   NR   g      Ð?R   g      à?i   i   (   R   R   R   R   (   R   R
   R   R   R   (   R   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   f   s    1+\c            sp   ˆ j  ˆ d d t ƒ} ˆ j  | | d t d ˆ j ˆ  ƒ ƒ} | g |  g g  |  d g g  |  d g | f g S(   Ng      à?R   R   i    i   (   R   R   R   R   (   R   R   R   (   R   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   m   s    ((   R   t
   ValueErrorR   R(   t   nanR)   R   R#   (	   R   R   R   R+   R,   R   R
   R   R/   (    (   R   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   besseliP   s.    	c         K   s¤  | sâ | r t  ‚ n  | s+ |  j | | S|  j | ƒ rI |  j | | S|  j | ƒ } | d } |  j | ƒ rœ | d k r |  j | | Sd | | Sn  | d k  rÐ t |  j | ƒ ƒ d rÐ |  j | | S|  j | | Sn  |  j	 d 7_	 |  j
 | ƒ \ } } | |  j	 k  r<|  j 
}	 |  j	 d 9_	 | |	 7} n | d k  rZ|  j	 | 8_	 n  |  j | ƒ \ }
 } |  j | | | |  |
 |  j | | | |  | S(   Ng      à?i    i   i
   (   R0   R)   t   imR1   R(   R   R   t   floort   ninfR   t   nint_distancet   epst   cospi_sinpiR   (   R   R   R   R+   R,   R   t   qt   mR
   R   t   cost   sin(    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   besselyt   s6    	
%
c            sq   ˆ s ˆ  j  Sˆ  j ˆ ƒ } | d k  r: ‡ f d †  } n! ˆ  j | 7_ ‡  ‡ f d †  } ˆ  j | | g |  S(   Ni   c            s…   ˆ  d d } ˆ  d g |  |  d g |  g g  g  d |  g | f } ˆ  d g |  |  d g |  g g  g  d |  g | f } | | f S(   Ni   i   (    (   R   R   t   T1t   T2(   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   Ÿ   s    67c      	      sU   ˆ  j  d ˆ ˆ  j ˆ ƒ g d d d g g  g  |  d d |  g g  d d ˆ f g S(   Ni   g      à?g      à¿i   iÿÿÿÿ(   R   t   exp(   R   (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   ª   s    /(   R)   R   R   R#   (   R   R   R   R,   R   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   besselk˜   s    
c         K   s-   |  j  | | |  |  j |  j | | |  S(   N(   R   t   jR=   (   R   R   R   R,   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   hankel1¯   s    c         K   s-   |  j  | | |  |  j |  j | | |  S(   N(   R   RB   R=   (   R   R   R   R,   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   hankel2³   s    c         K   s¬   | d k rS |  j  | ƒ d k r% | S|  j  | ƒ d k  rE |  j | S|  j | Sn  |  j d | d t ƒ} d | } |  j | ƒ | | |  j | | d d | | |  S(   Ni    g      à¿R   g      à?i   i   (   R(   R)   R1   R   R   R@   t   hyp1f1(   R   R	   R:   R   R,   R   t   y(    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   whitm·   s    
c         K   s¯   | d k rV t  |  j | ƒ ƒ } | d k  r1 | S| d k rH |  j | S|  j | Sn  |  j d | d t ƒ} d | } |  j | ƒ | | |  j | | d d | | |  S(   Ni    g      à?g      à¿R   i   i   (   R$   R(   R)   R1   R   R   R@   t   hyperu(   R   R	   R:   R   R,   t   gR   RF   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   whitwÅ   s    
c            sV  ˆ  j  | ƒ \ } } ˆ  j  | ƒ \ } } ˆ  j ˆ ƒ ‰ ˆ s„ ˆ  j | ƒ d k rv ˆ  j d | g | | d g ƒ Sˆ  j ˆ Sn  d | | } ˆ  j  | ƒ \ } } ym ˆ  j }	 zS ˆ  j d 7_ ˆ  j d d | | f | | g d ˆ d ˆ  j ƒ}
 |
 ˆ | SWd  |	 ˆ  _ XWn ˆ  j k
 r*n X‡  ‡ f d †  } ˆ  j | | | g |  S(   Ni   i
   i   i    iÿÿÿÿt   maxtermsc            s¨   ˆ  j  | ƒ } ˆ  j | g d d g g  |  | d | g |  g | g ˆ f } ˆ  j | ˆ g d d d | g g  |  d | g |  | d g d | g ˆ f } | | f S(   Ni   iÿÿÿÿi   (   t   sinpiR   (   t   at   bR   R>   R?   (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   é   s    >Q(	   t   _convert_paramR   R(   t	   gammaprodR)   R   t   hypsumt   NoConvergenceR#   (   R   RM   RN   R   R,   t   atypet   btypet   bbt   bbtypeR.   R/   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyRH   Ó   s(    "	4c            sF   ˆ  j  | ƒ } ˆ  j  ˆ ƒ ‰ ‡  ‡ f d †  } ˆ  j | | g |  S(   Nc            s]   ˆ d d ˆ  j  ˆ  j ƒ g |  d d g g  |  d g d g d |  d g ˆ d d f g S(   Ni   g      à?i   iÿÿÿÿg      ø?(   t   sqrtR   (   R   (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   õ   s    (   R   R#   (   R   R   R   R,   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   struvehð   s    c            sF   ˆ  j  | ƒ } ˆ  j  ˆ ƒ ‰ ‡  ‡ f d †  } ˆ  j | | g |  S(   Nc            s\   ˆ d d ˆ  j  ˆ  j ƒ g |  d d g g  |  d g d g d |  d g ˆ d d f g S(   Ni   g      à?i   iÿÿÿÿg      ø?(   RW   R   (   R   (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   þ   s    (   R   R#   (   R   R   R   R,   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   struvelù   s    c            sM   ˆ  j  | ƒ d } ˆ  j ˆ ƒ ‰ ‡  ‡ ‡ f d †  } ˆ  j | | g |  S(   Ni    c            s/  ˆ  j  } |  | } | d } | | | | d | d | f \ } } } } ˆ  j | ƒ \ } }	 ˆ d k r‰ | ˆ |	 g | g }
 } n  ˆ d k r³ | ˆ | g |	 g }
 } n  ˆ  j ˆ d d ƒ} |
 d d g g  | | g d g | | g | f } | d g g  | | g d g | | g | f } | | f S(   Ni   i   i    t   multg      Ð¿(   t   mpq_1_2R8   t   square_exp_arg(   R/   RN   t   uR:   t   a1t   a2t   b1t   b2t   ct   st   AR   R   R>   R?   (   R   t   whichR   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR     s    	

.0-(   RO   R   R#   (   R   Re   R/   R   R,   R   (    (   R   Re   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   _anger  s    c         K   s   t  |  d | | |  S(   Ni    (   Rf   (   R   R/   R   R,   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   angerj  s    c         K   s   t  |  d | | |  S(   Ni   (   Rf   (   R   R/   R   R,   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   webere  s    c            s`   ˆ  j  | ƒ d } ˆ  j  | ƒ d } ˆ  j ˆ ƒ ‰ ‡  ‡ f d †  } ˆ  j | | | g |  S(   Ni    c      	      s   ˆ  j  } ˆ  j ˆ d d ƒ} |  | d |  | d ˆ g d d |  d g g  g  d g | |  | d | |  | d g | f f S(   NRZ   g      Ð¿i   iÿÿÿÿi   (   R[   R\   (   R]   R/   RN   R   (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   "  s    	8(   RO   R   R#   (   R   R]   R/   R   R,   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   lommels1  s
    c            s`   ˆ  j  | ƒ d } ˆ  j  | ƒ d } ˆ  j ˆ ƒ ‰ ‡  ‡ f d †  } ˆ  j | | | g |  S(   Ni    c      	      s=  ˆ  j  } ˆ  j ˆ d d ƒ} |  | d |  | d ˆ g d d |  d g g  g  d g | |  | d | |  | d g | f } d ˆ g |  | d | g | | |  | d g | | |  d g g  d | g | f } d ˆ g |  | d | g | | |  | d g | d |  | g g  d | g | f } | | | f S(   NRZ   g      Ð¿i   iÿÿÿÿi   i   (   R[   R\   (   R]   R/   RN   R   R>   R?   t   T3(   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   4  s    	bXX
(   RO   R   R#   (   R   R]   R/   R   R,   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   lommels2)  s
    c            sF   ˆ  j  | ƒ } ˆ  j  ˆ ƒ ‰ ‡  ‡ f d †  } ˆ  j | | g |  S(   Nc      	      sÌ   ˆ d d } ˆ  j  d |  ƒ \ } } | ˆ d g d |  g g  |  d g g  d d |  d d |  d g | f } | ˆ d g d |  d g g  |  d g g  d d |  d d |  d g | f } | | f S(   Ni   g      è¿i   i   g      à?g      ø?i   (   R8   (   R   R   R;   R<   R>   R?   (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   K  s
    KO(   R   R#   (   R   R   R   R,   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   berF  s    c            sF   ˆ  j  | ƒ } ˆ  j  ˆ ƒ ‰ ‡  ‡ f d †  } ˆ  j | | g |  S(   Nc      	      sÌ   ˆ d d } ˆ  j  d |  ƒ \ } } | ˆ d g d |  d g g  |  d g g  d d |  d d |  d g | f } | ˆ d g d |  g g  |  d g g  d d |  d d |  d g | f } | | f S(   Ni   g      è?i   i   g      ø?g      à?i   (   R8   (   R   R   R;   R<   R>   R?   (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   X  s
    OK(   R   R#   (   R   R   R   R,   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   beiS  s    c            sF   ˆ  j  | ƒ } ˆ  j  ˆ ƒ ‰ ‡  ‡ f d †  } ˆ  j | | g |  S(   Nc   
   
      s¤  ˆ d d } ˆ  j  d |  ƒ \ } } ˆ  j  d |  ƒ \ } } d ˆ d | g |  d |  d g |  g g  g  d d d |  d |  d g | f } d ˆ | g |  d d |  d g |  d g g  g  d d d |  d |  d g | f } d ˆ d | g |  d |  d g |  g g  g  d d d |  d d |  g | f } d ˆ | g |  d d |  d g |  d g g  g  d d d |  d d |  g | f }	 | | | |	 f S(	   Ni   g      Ð?g      è?i   i   i   g      à?g      ø?(   R8   (
   R   R   t   cos1t   sin1t   cos2t   sin2R>   R?   Rj   t   T4(   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   e  s    SXRV(   R   R#   (   R   R   R   R,   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   ker`  s    	c            sF   ˆ  j  | ƒ } ˆ  j  ˆ ƒ ‰ ‡  ‡ f d †  } ˆ  j | | g |  S(   Nc   
   
      sž  ˆ d d } ˆ  j  d |  ƒ \ } } ˆ  j  d |  ƒ \ } } | d ˆ g d |  d d |  g |  d g g  g  d d d |  d d |  g | f } | d ˆ g d |  d |  g |  g g  g  d d d |  d d |  g | f } | d ˆ g d |  d |  g |  g g  g  d d |  d d |  d g | f } | d ˆ g d |  d |  d g |  d g g  g  d d |  d d |  d g | f }	 | | | |	 f S(	   Ni   g      è?g      Ð?i   i   i   g      ø?g      à?(   R8   (
   R   R   Rn   Ro   Rp   Rq   R>   R?   Rj   Rr   (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   u  s    VOPX(   R   R#   (   R   R   R   R,   R   (    (   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   keip  s    	c            s   ˆ  j  ‰ ‡  ‡ f d †  } | S(   Nc            sa   |  j  } |  j } | j ˆ d ƒ \ } } | | k r; | 
S| ˆ  |  ƒ f | ˆ <| ˆ d Sd  S(   Niÿÿÿÿi    i   (   iÿÿÿÿi    (   t   _misc_const_cacheR   t   get(   R   t   cacheR   t   pR/   (   t   ft   name(    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt	   f_wrappedƒ  s    		(   t   __name__(   Ry   R{   (    (   Ry   Rz   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   c_memo  s    		c         C   s+   d |  j  d ƒ |  j |  j d ƒ d ƒ S(   Ni   i	   i   i   (   t   cbrtt   gammaR"   (   R   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt
   _airyai_C1Ž  s    c         C   s+   d |  j  d ƒ |  j |  j d ƒ d ƒ S(   Niÿÿÿÿi   i   (   R~   R   R"   (   R   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt
   _airyai_C2’  s    c         C   s.   d |  j  d d ƒ |  j |  j d ƒ d ƒ S(   Ni   i   i   i   (   t   nthrootR   R"   (   R   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt
   _airybi_C1–  s    c         C   s*   |  j  d d ƒ |  j |  j d ƒ d ƒ S(   Ni   i   i   (   R‚   R   R"   (   R   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt
   _airybi_C2š  s    c         C   sI   |  j  } z. |  j d d ƒ |  j d ƒ d |  j } Wd  | |  _  X| 
S(   Ni   s   2/3i   (   R   t   powerR   R   (   R   R   R/   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   _airybi_n2_infž  s
    	.
c         C   s  | d k r| d k  r | S|  j  } |  j } zÄ |  j d 7_ |  j | d | ƒ |  j d | | ƒ |  j } | d k r¶ | |  j d | d | ƒ 9} | |  j d d ƒ :} n; | t |  j d | d | ƒ ƒ 9} | |  j d d ƒ :} Wd  | |  _ X| 
| St ‚ d  S(	   Nt   Zi    i
   i   i   i   s   2/3s   1/6(   t   mpq_1_3R   R   R…   R   RL   R$   R&   (   R   R   R   t   ntypeRe   R   R   R/   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   _airyderiv_0¨  s     		2%
	c            sT  ˆ  j  ˆ ƒ ‰ | r- ˆ  j | ƒ \ } } n d } ˆ  j ˆ ƒ r7ˆ r7| rû | d k rû | d k rº ˆ ˆ  j k r ˆ  j d ƒ d d ˆ Sˆ ˆ  j k rº ˆ  j d ƒ d d ˆ Sn  | d k  rû ˆ ˆ  j k rÙ ˆ Sˆ ˆ  j k rø d | ˆ Sqû n  | rˆ ˆ  j k s ˆ ˆ  j k r(d ˆ St d ƒ ‚ n  ˆ rbt d t d ˆ  j	 ˆ ƒ ƒ ƒ ‰ n d ‰ | r(| d k r¢‡  ‡ ‡ f d	 †  } ˆ  j
 | g  |  Sˆ d k rÄt ˆ  ˆ | | d ƒ S‡  ‡ ‡ f d
 †  } ˆ  j
 | | g |  } ˆ  j ˆ ƒ r!ˆ  j | ƒ r!ˆ  j | ƒ } n  | Sn( ‡  ‡ ‡ f d †  } ˆ  j
 | g  |  Sd  S(   Ni    R‡   iÿÿÿÿi   i   iþÿÿÿs   essential singularity of Ai(z)g      ø?c             s[  ˆ  j  ˆ ƒ d k r± ˆ  j ˆ 7_ ˆ d }  d |  } d |  d } ˆ  j ˆ 8_ ˆ  j | ƒ d ˆ  j ˆ  j ƒ ˆ  j ˆ d ƒ } | g d g g  g  d d g g  | f f Sˆ  j ˆ 7_ ˆ d d }  ˆ  j ˆ 8_ t ˆ  ƒ d } t ˆ  ƒ } | ˆ g d d g g  g  g  ˆ  j g |  f } | g d g g  g  g  ˆ  j	 g |  f } | | f Sd  S(   Ni   g      ø?g      è¿iþÿÿÿi   i   i   iÿÿÿÿi   i   i	   g      à?(   iÿÿÿÿi   (   i   i   (
   R   R   R@   RW   R   R‚   R€   R   t   mpq_5_3Rˆ   (   R   R   R]   t   Ct   C1t   C2R>   R?   (   R   t	   extraprecR   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   Ý  s     
 
 4(-'c            sN  ˆ  j  ˆ 7_  ˆ d d } ˆ  j  ˆ 8_  ˆ  j ˆ  j ˆ  j } } } | } d } d |  | } d |  | } d |  | }	 d ˆ g |  | |  g | g | | |	 g | | g | | |	 g | f }
 | } d |  | } d |  | } d |  | }	 d ˆ ˆ g |  | |  d g | g | | |	 g | | g | | |	 g | f } |
 | f S(   Ni   i	   i   i   i   (   R   Rˆ   t   mpq_2_3t   mpq_4_3(   R   R   t   q13t   q23t   q43R^   R_   R`   Ra   t   b3R>   R?   (   R   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   ô  s$        )   0c             sT  ˆ  j  ˆ ƒ d k r° ˆ  j ˆ 7_ ˆ d }  d |  } d |  d } ˆ  j ˆ 8_ ˆ  j | ƒ d ˆ  j ˆ  j ƒ ˆ  j ˆ d ƒ } | g d g g  g  d d g g  | f f Sˆ  j ˆ 7_ ˆ d d
 }  ˆ  j ˆ 8_ t ˆ  ƒ } t ˆ  ƒ } | g d g g  g  g  ˆ  j g |  f } ˆ | g d g g  g  g  ˆ  j	 g |  f } | | f Sd  S(   Ni   g      ø?g      è¿iþÿÿÿi   i   i   i   i   i	   (   i   i   (   i   i   (
   R   R   R@   RW   R   R‚   R€   R   R   R‘   (   R   R   R]   RŒ   R   RŽ   R>   R?   (   R   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR     s     
 
 3('+(   R   RO   t   isnormalR)   R"   R5   R0   R   R   R   R#   RŠ   t   _is_real_typeR   R   (   R   R   R+   R,   R   R‰   R   R/   (    (   R   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   airyai¾  sF    %%c            s%  ˆ  j  ˆ ƒ ‰ | r- ˆ  j | ƒ \ } } n d } ˆ  j ˆ ƒ rˆ r| rÆ | d k rÆ ˆ ˆ  j k rn ˆ Sˆ ˆ  j k rÆ | d k r‘ d ˆ S| d k r§ t ˆ  ƒ S| d k  rÃ d | ˆ SqÆ n  | sù ˆ ˆ  j k rß ˆ Sˆ ˆ  j k rù d ˆ Sn  t d ƒ ‚ n  ˆ r3t d t d ˆ  j	 ˆ ƒ ƒ ƒ ‰ n d ‰ | rù| d k rs‡  ‡ ‡ f d †  } ˆ  j
 | g  |  Sˆ d k r•t ˆ  ˆ | | d ƒ S‡  ‡ ‡ f d	 †  } ˆ  j
 | | g |  } ˆ  j ˆ ƒ ròˆ  j | ƒ ròˆ  j | ƒ } n  | Sn( ‡  ‡ ‡ f d
 †  } ˆ  j
 | g  |  Sd  S(   Ni    R‡   iÿÿÿÿi   iþÿÿÿs   essential singularity of Bi(z)g      ø?c             s¦   ˆ  j  ˆ 7_  ˆ d d }  ˆ  j  ˆ 8_  t ˆ  ƒ d } t ˆ  ƒ } | ˆ g d d g g  g  g  ˆ  j g |  f } | g d g g  g  g  ˆ  j g |  f } | | f S(   Ni   i	   g      à?i   i   (   R   Rƒ   R„   R‹   Rˆ   (   R   R   RŽ   R>   R?   (   R   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   ;  s    -'c            s\  ˆ  j  ˆ 7_  ˆ d d } ˆ  j  ˆ 8_  ˆ  j ˆ  j ˆ  j } } } ˆ  j } ˆ  j } | } d } d |  | }	 d |  | }
 d |  | } d ˆ g |  | |  g | g |	 |
 | g | | g |	 |
 | g | f } | } d |  | }	 d |  | }
 d |  | } d ˆ g |  | d |  g | g |	 |
 | g | | g |	 |
 | g | f } | | f S(   Ni   i	   i   i   i   (   R   Rˆ   R   R‘   t   mpq_1_6t   mpq_5_6(   R   R   R’   R“   R”   t   q16t   q56R^   R_   R`   Ra   R•   R>   R?   (   R   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   H  s(    		    )   ,c             s    ˆ  j  ˆ 7_  ˆ d d }  ˆ  j  ˆ 8_  t ˆ  ƒ } t ˆ  ƒ } | g d g g  g  g  ˆ  j g |  f } ˆ | g d g g  g  g  ˆ  j g |  f } | | f S(   Ni   i	   i   (   R   Rƒ   R„   R   R‘   (   R   R   RŽ   R>   R?   (   R   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   [  s    '+(   R   RO   R–   R)   R5   R†   R0   R   R   R   R#   RŠ   R—   R   R   (   R   R   R+   R,   R   R‰   R   R/   (    (   R   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   airybi  sJ    
%		c   	         s>  d „  } d „  } t  | ƒ } | d k  r9 t d ƒ ‚ n  | d k rT t d ƒ ‚ n  | d k rÎ | r ˆ  j ‡  f d †  | d ˆ  j d	 | d d
 ƒ ƒ Sˆ  j ˆ  j | d ˆ  j d	 | d d
 ƒ ƒ S| d k rT| t k rT| r#ˆ  j ‡  f d †  | d ˆ  j d	 | d d
 ƒ ƒ Sˆ  j ˆ  j | d ˆ  j d	 | d d
 ƒ ƒ S| d k r:| t k r:| rÙd ˆ  j d	 | d d
 d ˆ  j } ˆ  j	 ˆ  j
 d ƒ d ƒ | | ƒ } ˆ  j ‡  f d †  | ƒ Sd ˆ  j d	 | d d
 d ˆ  j } ˆ  j	 ˆ  j
 d ƒ d ƒ | | ƒ } ˆ  j ˆ  j | ƒ Sd  S(   Nc         S   s    |  d d d d |  d d S(   Ni   g      @i   i   i0   (    (   t   t(    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   Uh  s    c         S   s    |  d d d d |  d d S(   Ni   g      @i   i   i0   (    (   Rž   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   i  s    i   s   k cannot be less than 1i    s%   Derivative should lie between 0 and 1c            s   ˆ  j  |  d ƒ S(   Ni   (   R˜   (   R   (   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   <lambda>q  s    i   i   i   c            s   ˆ  j  |  d ƒ S(   Ni   (   R   (   R   (   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR    v  s    y              è?c            s   ˆ  j  |  d ƒ S(   Ni   (   R   (   R   (   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR    }  s    (   i    i   (   R   R0   t   findrootR   R˜   t   FalseR   R   t   ln2t   expjpiR"   (	   R   Re   R	   R+   t   complexRŸ   R   Rž   Rc   (    (   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt
   _airy_zerof  s2    		%1%1(&(&c         C   s   t  |  d | | t ƒ S(   Ni    (   R¦   R¢   (   R   R	   R+   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt
   airyaizero‚  s    c         C   s   t  |  d | | | ƒ S(   Ni   (   R¦   (   R   R	   R+   R¥   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt
   airybizero†  s    c            sï  ˆ  j  ˆ ƒ ‰ ˆ  j ˆ ƒ rz ˆ ˆ  j k rT ˆ d k rA d ˆ Sˆ d k rT ˆ Sn  ˆ ˆ  j k rk d ˆ St d ƒ ‚ n  ˆ r¥ t d t d ˆ  j ˆ ƒ ƒ ƒ ‰ n d ‰ ˆ j d ƒ rÃ t	 ‚ n  yç ˆ  j ˆ ƒ d k r©ˆ d k r>t
 ˆ  j ˆ ƒ ƒ ˆ  j d d k  r>‡  ‡ f d †  } ˆ  j | g  d	 ˆ  j d
 t ƒSˆ d k r©t
 ˆ  j ˆ ƒ ƒ d ˆ  j d d k  r©‡  ‡ f d †  } ˆ  j | g  d	 ˆ  j d
 t ƒSn  Wn ˆ  j k
 rÀn X‡  ‡ ‡ ‡ ‡ f d †  } ˆ  j | g  ˆ  S(   Ni    i   s   essential singularityg      ø?R+   i   g+‡ÙÎ÷ï?c        	      s<   ˆ  j  ˆ g d d g g  g  d d d g g  d ˆ d f f S(   Niÿÿÿÿi   i   i   i	   (   i   i   (   i   i   (   R   (    (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   ž  s    RK   t   force_seriesi   c        	      s=   ˆ  j  ˆ g d d g g  g  d d d g g  d ˆ d f f S(   Niÿÿÿÿi   i   i   i	   (   i   i   (   i   i   (   R   (    (   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   ¢  s    c             sÓ   ˆ  j  ˆ ˆ  d }  d ˆ  j } ˆ d k rF |  d 9}  | d 9} n  ˆ  j ˆ 7_ ˆ d d } ˆ  j ˆ 8_ |  g d g g  g  g  g  d f } | ˆ g d d g g  g  d g ˆ  j ˆ  j g | f } | | f S(   Ni   iþÿÿÿi   i   iÿÿÿÿi	   i    (   R   R   R   R‘   R‹   (   Rd   R   R   R>   R?   (   R   R   R,   Re   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   §  s    
!6(   R   t   isinfR)   R5   R0   R   R   R   Rv   R&   R$   t   argR   R#   R   R   RR   (   R   R   Re   R,   R   (    (   R   R   R,   Re   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   _scorerŠ  s6      %	27&c         K   s   t  |  | d | ƒ S(   Ni    (   R¬   (   R   R   R,   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   scorergiµ  s    c         K   s   t  |  | d | ƒ S(   Ni   (   R¬   (   R   R   R,   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   scorerhi¹  s    c         C   s  | | f | k rB | | | f d |  j  k rB | | | f d 
S|  j d | d ƒ } |  j d | |  j | ƒ } |  j d | |  j | ƒ } d | |  j |  j | | | d | ƒ } |  j | ƒ pß |  j | ƒ sô |  j | ƒ } n  |  j  | f | | | f <| S(   Ni    i   i   (   R   t   loggammaRB   R@   R   R3   R(   (   R   t   lt   etat   _cachet   G3t   G1t   G2R/   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   coulombc½  s    //c   	         s‘   ‡  ‡ ‡ f d †  } ˆ  j  | | | g |  } | r ˆ  j | ƒ r ˆ  j | ƒ r ˆ  j ˆ ƒ r ˆ  j ˆ ƒ d k r ˆ  j | ƒ } n  | S(   Nc            sã   y§ ˆ  j  ˆ } ˆ  j | ˆ d t ƒ} ˆ  j | d d t ƒ} ˆ  j |  | ƒ } | ˆ ˆ  j | ƒ g d |  d d g g  g  d |  | | g d |  d g | f } Wn2 t k
 rÛ d g d g g  g  g  g  d f } n X| f S(   NR   iþÿÿÿi   i   i    iÿÿÿÿ(   RB   R   R   R¶   R@   R0   (   R°   R±   t   jwt   jwzt   jwz2RŒ   R>   (   R   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   Ð  s    =%i    (   R#   R3   R(   (	   R   R°   R±   R   R   t   chopR,   R   R/   (    (   R   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   coulombfÊ  s    6c            s…   ˆ ˆ f | k rA | ˆ ˆ f d ˆ  j  k rA | ˆ ˆ f d S‡  ‡ ‡ f d †  } ˆ  j | d ƒ } ˆ  j  | f | ˆ ˆ f <| S(   Ni    i   c             s‹   ˆ d }  ˆ  j  ˆ } ˆ  j d ˆ | ƒ d ˆ  j d ˆ | ƒ d ˆ  j d |  | ƒ d ˆ  j d |  | ƒ d ˆ d ˆ  j g S(   Ni   y              à¿y              à?g      à?(   RB   R¯   R   (   t   l2t   jeta(   R   R±   R°   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   termså  s    (   R   t   sum_accurately(   R   R°   R±   R²   R¾   R/   (    (   R   R±   R°   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   _coulomb_chiá  s    /c   	         s²   ˆ  j  | ƒ s! ˆ  j | ƒ } n  ‡  ‡ ‡ f d †  } ˆ  j | | | g |  } | r® ˆ  j  | ƒ r® ˆ  j  | ƒ r® ˆ  j  ˆ ƒ r® ˆ  j ˆ ƒ d k r® ˆ  j | ƒ } n  | S(   Nc            s¼  ˆ  j  |  d ƒ r; d g d g g  g  g  g  d f } | f S|  d } y9ˆ  j |  | ƒ } ˆ  j ˆ } ˆ  j | ƒ } ˆ  j | ƒ } ˆ  j |  | ƒ } ˆ  j | | ƒ }	 ˆ  j | ˆ ƒ }
 d | ˆ } | | ˆ |
 | g d d |  d d d g g  g  d |  | | g d |  d g | f } | |	 ˆ |
 g d d | d d g g  g  d | | | g d | d g | f } | | f SWn6 t k
 r·d g d g g  g  g  g  d f } | f SXd  S(   Ni   i    iÿÿÿÿi   iþÿÿÿ(   R   RÀ   RB   R<   R;   R¶   R@   R0   (   R°   R±   R>   R¼   t   chiR·   Rc   Rb   R   RŽ   R]   R   R?   (   R   R   R   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR   ø  s*    ! .)))!i    (   t   _imR   R#   (	   R   R°   R±   R   R   Rº   R,   R   R/   (    (   R   R   R   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   coulombgñ  s    6c         C   s5  d | d } | d k rE | rE d | d | d |  j  d } n  | d k r| | r| d | d | d |  j  d } n  | d k r² | r² d | d | d |  j  d } n  | d k rè | rè d | d | d |  j  d } n  | s¬| } | d d | } d | d d | d d d | d }	 d	 | d d
 | d d | d d d | d }
 d | d d | d d | d d | d d d | d } n  | r|| } | d d | } d d | d d | d d d | d }	 d	 d
 | d d | d d | d d d | d }
 d d | d d | d d | d d | d d d | d } n  | | |	 |
 | g } | } d } xb t d t | ƒ ƒ D]K } t | | ƒ t | | d ƒ k  rî| | | 7} q³t | | ƒ } q³W| t | ƒ d k r+t | d ƒ } n  | | f S(    sj  
    Computes an estimate for the location of the Bessel function zero
    j_{v,m}, y_{v,m}, j'_{v,m} or y'_{v,m} using McMahon's asymptotic
    expansion (Abramowitz & Stegun 9.5.12-13, DLMF 20.21(vi)).

    Returns (r,err) where r is the estimated location of the root
    and err is a positive number estimating the error of the
    asymptotic expansion.
    i   i   i   i   i   iüÿÿÿi   i   iàÿÿÿiS   iÖ  iÃ  i   i   iÀÿÿÿi%  iÿX iO2 iuÈ_ ii   iR   i	   i  iß  iÑ  i,† i il"q i»QY g        iÿÿÿÿ(   R   R!   t   lenR$   (   R   t   kindt   primeR/   R:   R]   RN   t   s1t   s2t   s3t   s4t   s5R¾   Rc   t   errt   i(    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   mcmahon  s>    
 $ $ $ $*6E.:I$c         C   sê   | d k  r t  d ƒ ‚ n  | d } g  } g  } x² |  j | | | ƒ } g  | D] } |  j | | ƒ ƒ ^ qP } g  t | d ƒ D]: }	 | |	 | |	 d d k r‚ | |	 | |	 d f ^ q‚ }
 t |
 ƒ | k rØ |
 S| d } q4 Wd S(   sî   
    Given f known to have exactly n simple roots within [a,b],
    return a list of n intervals isolating the roots
    and having opposite signs at the endpoints.

    TODO: this can be optimized, e.g. by reusing evaluation points.
    i   s   n cannot be less than 1iÿÿÿÿi   N(   R0   t   linspacet   signR!   RÄ   (   R   Ry   RM   RN   R   t   Nt   pointst   signsR   RÍ   t   ok_intervals(    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   generalized_bisection;  s    
(:c         C   s   |  j  | | d d d t ƒS(   Nt   solvert   illinoist   verify(   R¡   R¢   (   R   Ry   t   ab(    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   find_in_intervalQ  s    g{®Gáz„?c            s„  ˆ  j  } t | ˆ  j ˆ ƒ ˆ  j | ƒ ƒ d } zB| ˆ  _  ˆ  j ˆ ƒ ‰ t | ƒ } t | ƒ } ˆ d k  r t d ƒ ‚ n  | d k  rš t d ƒ ‚ n  | d k rµ t d ƒ ‚ n  | d k rñ | rÜ ‡  ‡ f d †  }	 qñ ‡  ‡ f d †  }	 n  | d	 k r-| r‡  ‡ f d
 †  }	 q-‡  ‡ f d †  }	 n  | d k r®| r®| d k r®ˆ d k r^ˆ  j Sˆ d k r®d	 ˆ  j ˆ d ˆ ˆ d	 ƒ }
 t ˆ  |	 |
 d d	 |
 f ƒ Sn  | | ˆ | f | k ræt ˆ  |	 | | | ˆ | f ƒ St	 ˆ  | | ˆ | ƒ \ }
 } | | k  r.t ˆ  |	 |
 | |
 | f ƒ S| d k rJ| rJd } n  | d k re| red } n  | d	 k r| rd } n  | d	 k rœ| rœd } n  | d } xÉ t	 ˆ  | | ˆ | ƒ \ } } | | k  rdt	 ˆ  | | ˆ | d ƒ \ } } t
 ˆ  |	 | d | | | ƒ } x4 t | ƒ D]& \ } } | | | | ˆ | d f <q"Wt ˆ  |	 | | d ƒ S| d	 } q©WWd  | ˆ  _  Xd  S(   Ni
   i    s   v cannot be negativei   s   m cannot be less than 1s    prime should lie between 0 and 1c            s   ˆ  j  ˆ |  d d ƒS(   NR+   i   (   R   (   R   (   R   R/   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR    c  s    c            s   ˆ  j  ˆ |  ƒ S(   N(   R   (   R   (   R   R/   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR    d  s    i   c            s   ˆ  j  ˆ |  d d ƒS(   NR+   i   (   R=   (   R   (   R   R/   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR    f  s    c            s   ˆ  j  ˆ |  ƒ S(   N(   R=   (   R   (   R   R/   (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyR    g  s    g333333@gÍÌÌÌÌÌü?gš™™™™™é?g       @g      à?(   i    i   (   R   R   R   R"   R   R0   t   zeroRW   RÚ   RÎ   RÕ   t	   enumerate(   R   RÅ   RÆ   R/   R:   t   isoltolt   _interval_cacheR   t   workprecRy   R   RÌ   t   lowR   t   r1t   r2t   err2t	   intervalsR	   RÙ   (    (   R   R/   s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   bessel_zeroT  sf    	(	  #!  	 	 	 	
" c         C   s   t  |  d | | | ƒ 
S(   sÿ  
    For a real order `\nu \ge 0` and a positive integer `m`, returns
    `j_{\nu,m}`, the `m`-th positive zero of the Bessel function of the
    first kind `J_{\nu}(z)` (see :func:`~mpmath.besselj`). Alternatively,
    with *derivative=1*, gives the first nonnegative simple zero
    `j'_{\nu,m}` of `J'_{\nu}(z)`.

    The indexing convention is that used by Abramowitz & Stegun
    and the DLMF. Note the special case `j'_{0,1} = 0`, while all other
    zeros are positive. In effect, only simple zeros are counted
    (all zeros of Bessel functions are simple except possibly `z = 0`)
    and `j_{\nu,m}` becomes a monotonic function of both `\nu`
    and `m`.

    The zeros are interlaced according to the inequalities

    .. math ::

        j'_{\nu,k} < j_{\nu,k} < j'_{\nu,k+1}

        j_{\nu,1} < j_{\nu+1,2} < j_{\nu,2} < j_{\nu+1,2} < j_{\nu,3} < \cdots

    **Examples**

    Initial zeros of the Bessel functions `J_0(z), J_1(z), J_2(z)`::

        >>> from mpmath import *
        >>> mp.dps = 25; mp.pretty = True
        >>> besseljzero(0,1); besseljzero(0,2); besseljzero(0,3)
        2.404825557695772768621632
        5.520078110286310649596604
        8.653727912911012216954199
        >>> besseljzero(1,1); besseljzero(1,2); besseljzero(1,3)
        3.831705970207512315614436
        7.01558666981561875353705
        10.17346813506272207718571
        >>> besseljzero(2,1); besseljzero(2,2); besseljzero(2,3)
        5.135622301840682556301402
        8.417244140399864857783614
        11.61984117214905942709415

    Initial zeros of `J'_0(z), J'_1(z), J'_2(z)`::

        0.0
        3.831705970207512315614436
        7.01558666981561875353705
        >>> besseljzero(1,1,1); besseljzero(1,2,1); besseljzero(1,3,1)
        1.84118378134065930264363
        5.331442773525032636884016
        8.536316366346285834358961
        >>> besseljzero(2,1,1); besseljzero(2,2,1); besseljzero(2,3,1)
        3.054236928227140322755932
        6.706133194158459146634394
        9.969467823087595793179143

    Zeros with large index::

        >>> besseljzero(0,100); besseljzero(0,1000); besseljzero(0,10000)
        313.3742660775278447196902
        3140.807295225078628895545
        31415.14114171350798533666
        >>> besseljzero(5,100); besseljzero(5,1000); besseljzero(5,10000)
        321.1893195676003157339222
        3148.657306813047523500494
        31422.9947255486291798943
        >>> besseljzero(0,100,1); besseljzero(0,1000,1); besseljzero(0,10000,1)
        311.8018681873704508125112
        3139.236339643802482833973
        31413.57032947022399485808

    Zeros of functions with large order::

        >>> besseljzero(50,1)
        57.11689916011917411936228
        >>> besseljzero(50,2)
        62.80769876483536093435393
        >>> besseljzero(50,100)
        388.6936600656058834640981
        >>> besseljzero(50,1,1)
        52.99764038731665010944037
        >>> besseljzero(50,2,1)
        60.02631933279942589882363
        >>> besseljzero(50,100,1)
        387.1083151608726181086283

    Zeros of functions with fractional order::

        >>> besseljzero(0.5,1); besseljzero(1.5,1); besseljzero(2.25,4)
        3.141592653589793238462643
        4.493409457909064175307881
        15.15657692957458622921634

    Both `J_{\nu}(z)` and `J'_{\nu}(z)` can be expressed as infinite
    products over their zeros::

        >>> v,z = 2, mpf(1)
        >>> (z/2)**v/gamma(v+1) * \
        ...     nprod(lambda k: 1-(z/besseljzero(v,k))**2, [1,inf])
        ...
        0.1149034849319004804696469
        >>> besselj(v,z)
        0.1149034849319004804696469
        >>> (z/2)**(v-1)/2/gamma(v) * \
        ...     nprod(lambda k: 1-(z/besseljzero(v,k,1))**2, [1,inf])
        ...
        0.2102436158811325550203884
        >>> besselj(v,z,1)
        0.2102436158811325550203884

    i   (   Rå   (   R   R/   R:   R+   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   besseljzero‰  s    pc         C   s   t  |  d | | | ƒ 
S(   sÆ  
    For a real order `\nu \ge 0` and a positive integer `m`, returns
    `y_{\nu,m}`, the `m`-th positive zero of the Bessel function of the
    second kind `Y_{\nu}(z)` (see :func:`~mpmath.bessely`). Alternatively,
    with *derivative=1*, gives the first positive zero `y'_{\nu,m}` of
    `Y'_{\nu}(z)`.

    The zeros are interlaced according to the inequalities

    .. math ::

        y_{\nu,k} < y'_{\nu,k} < y_{\nu,k+1}

        y_{\nu,1} < y_{\nu+1,2} < y_{\nu,2} < y_{\nu+1,2} < y_{\nu,3} < \cdots

    **Examples**

    Initial zeros of the Bessel functions `Y_0(z), Y_1(z), Y_2(z)`::

        >>> from mpmath import *
        >>> mp.dps = 25; mp.pretty = True
        >>> besselyzero(0,1); besselyzero(0,2); besselyzero(0,3)
        0.8935769662791675215848871
        3.957678419314857868375677
        7.086051060301772697623625
        >>> besselyzero(1,1); besselyzero(1,2); besselyzero(1,3)
        2.197141326031017035149034
        5.429681040794135132772005
        8.596005868331168926429606
        >>> besselyzero(2,1); besselyzero(2,2); besselyzero(2,3)
        3.384241767149593472701426
        6.793807513268267538291167
        10.02347797936003797850539

    Initial zeros of `Y'_0(z), Y'_1(z), Y'_2(z)`::

        >>> besselyzero(0,1,1); besselyzero(0,2,1); besselyzero(0,3,1)
        2.197141326031017035149034
        5.429681040794135132772005
        8.596005868331168926429606
        >>> besselyzero(1,1,1); besselyzero(1,2,1); besselyzero(1,3,1)
        3.683022856585177699898967
        6.941499953654175655751944
        10.12340465543661307978775
        >>> besselyzero(2,1,1); besselyzero(2,2,1); besselyzero(2,3,1)
        5.002582931446063945200176
        8.350724701413079526349714
        11.57419546521764654624265

    Zeros with large index::

        >>> besselyzero(0,100); besselyzero(0,1000); besselyzero(0,10000)
        311.8034717601871549333419
        3139.236498918198006794026
        31413.57034538691205229188
        >>> besselyzero(5,100); besselyzero(5,1000); besselyzero(5,10000)
        319.6183338562782156235062
        3147.086508524556404473186
        31421.42392920214673402828
        >>> besselyzero(0,100,1); besselyzero(0,1000,1); besselyzero(0,10000,1)
        313.3726705426359345050449
        3140.807136030340213610065
        31415.14112579761578220175

    Zeros of functions with large order::

        >>> besselyzero(50,1)
        53.50285882040036394680237
        >>> besselyzero(50,2)
        60.11244442774058114686022
        >>> besselyzero(50,100)
        387.1096509824943957706835
        >>> besselyzero(50,1,1)
        56.96290427516751320063605
        >>> besselyzero(50,2,1)
        62.74888166945933944036623
        >>> besselyzero(50,100,1)
        388.6923300548309258355475

    Zeros of functions with fractional order::

        >>> besselyzero(0.5,1); besselyzero(1.5,1); besselyzero(2.25,4)
        1.570796326794896619231322
        2.798386045783887136720249
        13.56721208770735123376018

    i   (   Rå   (   R   R/   R:   R+   (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   besselyzeroû  s    YN(4   t	   functionsR    R   R   R   R   R2   R=   RA   RC   RD   RG   RJ   RH   RX   RY   Rf   Rg   Rh   Ri   Rk   Rl   Rm   Rs   Rt   R}   R€   R   Rƒ   R„   R†   RŠ   R˜   R   R¢   R¦   R§   R¨   R¬   R­   R®   R¶   R   R»   RÀ   RÃ   RÎ   RÕ   RÚ   Rå   Ræ   Rç   (    (    (    s6   lib/python2.7/site-packages/mpmath/functions/bessel.pyt   <module>   sx   B##					
	[K	+"	'		5q