+
    i2                        ^RI HtHt ]R 4       t]R 4       t]R3R l4       t]R3R l4       t]R3R l4       t]R 4       t]R 4       t	]R	 4       t
]R
 4       t]R 4       t]R 4       t]R 4       t]R 4       tR t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       tR t]R 4       t]R 4       t]R 4       t]R 4       tR tR t]R3R l4       t ]R3R  l4       t!R4R! lt"]R3R" l4       t#]R5R# l4       t$R$ t%]R% 4       t&]R& 4       t']/ 3R' l4       t(]R6R( l4       t)]/ 3R) l4       t*]R6R* l4       t+R+ t,R, t-R- t.R./ 3R/ lt/]R3R0 l4       t0]R3R1 l4       t1R2# )7   )defundefun_wrappedc                &    V P                  ^ V4      # )zCComputes the Bessel function `J_0(x)`. See :func:`~mpmath.besselj`.besseljctxxs   &&w/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/mpmath/functions/bessel.pyj0r           ;;q!    c                &    V P                  ^V4      # )zDComputes the Bessel function `J_1(x)`.  See :func:`~mpmath.besselj`.r   r   s   &&r   j1r      r   r   c                   a aaa	a
a \        S4      \        J d   R pMDS P                  S4      oS P                  S4      pV'       d   \        S P	                  S4      4      oV'       d,   S^ 8  d%   RS,          S P
                  ! S) SV3/ VB ,          # S P                  S4      oS P                  S4      o	V'       d   S P                  V4      o
S P                  S
4      '       d   S
^ 8  d   \        S
4      o
S P                  p S ;P                  ^,          un        S P                  V V
VV3R l\        S
^,           4       4       4      pVS n        VS P                  ^4      S
) ,          ,          pV# V	V V3R lpS P                  ! VSS
.3/ VB p V# V'       g<   V'       d4   \        S	4      ^
8  d$   \        S4      ^8  d    S P                  SS4      # S'       g_   S'       g   S P                  S,           S,           pMS P!                  S4      ^ 8  d   SS,          pMS P"                  S,           S,           pMS P                  p S ;P                  \%        ^\        S	4      ,          S P                  4      ,          un        S P'                  SRR R7      oV	V V3R lpS P                  ! VS.3/ VB pVS n        V5pV#   TS n        i ; i  \         d     ELi ; i  TS n        i ; i)Tc              3      <"   T FQ  pRV,          SP                  SV4      ,          SP                  ^V,          S,           S,
          S4      ,          x  KS  	  R# 5i)r   N)binomialr   ).0kr	   dnzs   & r   	<genexpr>besselj.<locals>.<genexpr>%   sK      )' !1Ws||Aa'883;;qs1uQwq;QQQ's   AAc                   < SP                  SP                  SSSP                  S,           R 7      RRR7      pRW,
          ^,           ,          RW,
          ^,           ,          .p^SP                  S.V^V ,          ,
          RW,
          .. W0^,           R,          V ^,           R,          .W0^,           .,           V3.pV# )precTexact      ?      пfmulr   pir   r   rBTMr	   r   s   &&   r   hbesselj.<locals>.h+   s    HHSXXa!X<e4HP!#a%[#qs1u+.lAacE#ac?2aA#sAaC98MaSTQTPUgVWXYr   r!   r   c                    < SP                  SP                  SS\        ^ SP                  S,           4      R7      RR7      pS.V .. V ^,           .. V ^,           .V3.# )    r   Tr   )fnegr$   maxr   )r   r'   r*   r	   ws   & r   r+   r,   G   s[    !QS388A:5F!GtTAS1#rAaC5"qseQ?@@r   r   )typeintconvertisint_rer   magr   fsumrangempf	hypercombabs_besseljNotImplementedErroronereinfminr$   )r	   r   r   
derivativekwargsn_isintorigvr+   r*   r   r1   s   fff&,    @@@r   r   r      s[   Aw#~KKN))A,CGGAJA1q5QwaRJA&AAAAA
AKK
#
 99Q<<AFAA88D BHH )"1Q3Z) )  qb!!AJ HG
 a!A1&1A< H7 CFRKCFRK||Aq)) GGaKMQaCGGaK!O 88D
  C#a&#((33HHQ4H0A MM!aS3F3BHM   ' ,  s,   AK K A.K$ 	KK! K!$	K-c                   a aa	 S P                  V4      pS P                  S4      oS'       g   V'       d   \        hV'       g   ^V,           S,           # S P                  V4      '       d   ^ VS,           ,          # S P                  V4      pV^ 8X  d   S P                  VS,           ,          # V^ 8  d   ^ VS,           ,          # S P
                  VS,           ,           # S P                  S4      o	V'       d1   S P                  V4      pV	V V3R lpS P                  ! WqV.3/ VB pV# V	V V3R lpS P                  ! Wq.3/ VB pV# )r   c                   < SP                  SP                  SSSP                  S,           R 7      RRR7      pRW,
          ^,           ,          RW,
          ^,           ,          V ^,           .p^SP                  S.V^V ,          ,
          RW,
          .V ^,           .W0^,           R,          V ^,           R,          .W23.pV# )r         ?Tr   r!   r#   r&   s   &&   r   r+   besseli.<locals>.hf   s    !QSXXaZ8$dKAac!ec13q5k1Q3/ASVVA,!A#c!#!uQ1c	1Q3)7LQQRAHr   c           	         < SP                  SR RR7      pSP                  W\        ^ SP                  S,           4      R7      pV.V .. V ^,           .. V ^,           .V3.# )r!   Tr   r   )r$   r0   r   )r   r1   r'   r*   r	   r   s   &  r   r+   rK   m   s`    Ct,AC#((1*$56AS1#rAaC5"qseQ788r   )r4   
ValueErrorr5   r@   nanrA   r7   r;   )
r	   r   r   rC   rD   r'   r   r+   rG   r*   s
   f&f&,    @r   besselirO   P   s   AAAAQ3q5L99Q<<ac7NFF1I677AaC= Uac7N77AaC= 
AKK
#	
 MM!U-f- H	9 MM!S+F+Hr   c                    V'       Eg"   V'       d   \         hV'       g   V P                  ) W,           ,           # V P                  V4      '       d   V P                  W,           ,          # V P	                  V4      pVR ,           pV P                  V4      '       d1   V^ 8  d   V P                  ) W,           ,           # ^ W,           ,          # V^ 8  dA   \        V P                  V4      4      ^,          '       d   V P                  W,           ,           # V P                  W,           ,           # V ;P                  ^
,          un	        V P                  V4      w  rxWP                  ) 8  d0   V P                  5p	V ;P                  ^,          un	        W,          pM V^ 8  d   V ;P                  V,          un	        V P                  V4      w  rV P                  ! WV3/ VB V
,          V P                  ! V) W#3/ VB ,
          V,          # )r!   )rM   rA   imrN   r@   r5   r3   floorninfr   nint_distanceepscospi_sinpir   )r	   r   r   rC   rD   r'   qmr   r+   cossins   &&&&,       r   besselyr[   t   sw   1GG8qs##66!9977ac?"FF1IcE99Q<<1ux13''ACy q5S1&**77ac?"88qs##HHNHQDAHH9}WWHA		
QAq!HCKKJ004QBq-f-./23 3r   c                    a a S'       g   S P                   # S P                  S4      pV^8  d   V3R lpM S ;P                  V,          un        V V3R lpS P                  ! WQ.3/ VB # )r   c                    < S^,          ^,          pS^.V ) V ^,
          .V .. . ^V ,
          .V3pS^.W ) ^,
          .V ) .. . ^V ,           .V3pW#3# )    )r   r'   T1T2r   s   &   r   r+   besselk.<locals>.h   sk    1qAQ1"acQCR!A#9BQ!RTaRD"b1Q3%:B6Mr   c           	         < SP                   ^,          SSP                  S) 4      .. RO. . V R,           RV ,
          .. R^S,          ,          3.# )r^   r!   )r!         r   r   )r%   expr   r	   r   s   &r   r+   rb      sO    ffQh377A2;/r23AB!H. / /r   )rA   r7   r   r;   )r	   r   r   rD   r*   r+   s   f&f,  r   besselkrg      sT    ww
A1u	 	A	/ ==C*6**r   c                 z    V P                   ! W3/ VB V P                  V P                  ! W3/ VB ,          ,           # Nr   jr[   r	   r   r
   rD   s   &&&,r   hankel1rm      2    ;;q$V$suuS[[-Fv-F'FFFr   c                 z    V P                   ! W3/ VB V P                  V P                  ! W3/ VB ,          ,
          # ri   rj   rl   s   &&&,r   hankel2rp      rn   r   c                    V^ 8X  dU   V P                  V4      R8  d   V# V P                  V4      R8  d   V P                  V,           # V P                  V,          # V P                  RVRR7      pRV,           pV P	                  V4      W6,          ,          V P
                  ! Wa,
          ^^V,          ,           V3/ VB ,          # r.   r!   Tr   rd   )r@   rA   rN   r$   re   hyp1f1)r	   r   rX   r   rD   r
   ys   &&&&,  r   whitmru      s    Av66!9tHVVAY77Q;77Q;q%AAA771:szz!#q1uaB6BBBr   c                    V^ 8X  dQ   \        V P                  V4      4      pVR8  d   V# VR8  d   V P                  V,           # V P                  V,          # V P	                  RVRR7      pRV,           pV P                  V4      W7,          ,          V P                  ! Wq,
          ^^V,          ,           V3/ VB ,          # rr   )r<   r@   rA   rN   r$   re   hyperu)r	   r   rX   r   rD   gr
   rt   s   &&&&,   r   whitwry      s    Avq	Ns7HW77Q;77Q;q%AAA771:szz!#q1uaB6BBBr   c           	        a a S P                  V4      w  rS P                  V4      w  r&S P                  S4      oS'       gR   S P                  V4      ^8:  d)   S P                  ^V,
          .W,
          ^,           .4      # S P                  S,           # ^V,           V,
          pS P                  V4      w  rx S P
                  p	 S ;P
                  ^
,          un        S P                  ^^ WX3W.RS,          S P
                  R7      p
V
SV,          ,          V	S n        #   T	S n        i ; i  S P                   d     Mi ; iT T3R lpS P                  ! YT.3/ TB # )r   )maxtermsc                    < SP                  V4      pSP                  V.^R.. W,
          ^,           V.V .V.S3pSP                  ) VS.^R^V,
          .. V ^V,
          .W,
          ^,           .^V,
          .S3pW43# r   r   )sinpir%   )abr1   r`   ra   r	   r   s   &&   r   r+   hyperu.<locals>.h   s    IIaLvvaj!BACE!9aS!Q7wqmQr!A#Jr1QqS'13q5'1Q3%Bvr   r   )	_convert_paramr4   r@   	gammaprodrA   r   hypsumNoConvergencer;   )r	   r   r   r   rD   atypebtypebbbbtyperF   rG   r+   s   f&&f,       r   rw   rw      s(   !!!$HA!!!$HAAA66!9>==!A#Aw//77Q;	
1QB##B'JB	xx	HHNH

1a%1'2a4#((
SAq!t8CHtCH 
 ==qE,V,,s+   7D* AD D* 	D''D* *D>=D>c                    a a S P                  V4      pS P                  S4      oV V3R  lpS P                  ! WA.3/ VB # )c                    < S^,          RSP                  SP                  4      ,          .V ^,           R.. V R,           .^.RV R,           .S^,          ^,          ) 3.# r^   r!         ?r   sqrtr%   rf   s   &r   r+   struveh.<locals>.h   sa    A#s388CFF++,qsBiaeWqcCQRSVQV<[\]^[^abZbYbcddr   r4   r;   r	   r   r   rD   r+   s   f&f, r   struvehr      s9    AAAAe==C*6**r   c                    a a S P                  V4      pS P                  S4      oV V3R  lpS P                  ! WA.3/ VB # )c                    < S^,          RSP                  SP                  4      ,          .V ^,           R.. V R,           .^.RV R,           .S^,          ^,          3.# r   r   rf   s   &r   r+   struvel.<locals>.h   s^    A#s388CFF++,qsBiaeWqcCQRSVQV<Z[\]Z]`aYabccr   r   r   s   f&f, r   struvelr      s9    AAAAd==C*6**r   c                    a aa S P                  V4      ^ ,          pS P                  S4      oV VV3R lpS P                  ! WR.3/ VB # )r.   c                 ^  < SP                   pW,          pV^,          pW2,
          W2,           ^V,
          ^V,           3w  rErgSP                  V4      w  rS^ 8X  d   VS,          V	.V.rS^8X  d   VS,          V) .V	.rSP                  SRR7      pX
^^.. WE.^.WE.V3pX^.. Wg.^.Wg.V3pW3# )   multr"   )mpq_1_2rV   square_exp_arg)rG   r   urX   a1a2b1b2csAr(   r1   r`   ra   r	   whichr   s   &              r   r+   _anger.<locals>.h  s    KKCaCc13!QqS(bq!A:aC8aSqA:aC!9qcqqu-ARGaS2'14R"1#w1vr   r   r4   r;   )r	   r   rG   r   rD   r+   s   ff&f, r   _angerr     sB    1a AAA ==C*6**r   c                     \        V ^ W3/ VB # r.   r   r	   rG   r   rD   s   &&&,r   angerjr         #q!)&))r   c                     \        V ^W3/ VB # r   r   r   s   &&&,r   weberer     r   r   c                    a a S P                  V4      ^ ,          pS P                  V4      ^ ,          pS P                  S4      oV V3R lpS P                  ! WQV.3/ VB # )r.   c           	         < SP                   pSP                  SRR7      pW,
          ^,           W,           ^,           S.RRV ^,           .. . ^.W V,
          ^,           ,          W V,           ^,           ,          .V33# rJ   r   r"   r   r   r   )r   rG   r   r1   r	   r   s   &&  r   r+   lommels1.<locals>.h"  sx    KKqu-QAq!BAaC="b1#!AYqA#a%y!1& ' 	'r   r   r	   r   rG   r   rD   r+   s   f&&f, r   lommels1r     sY    1a A1a AAA'
 ==qE,V,,r   c                    a a S P                  V4      ^ ,          pS P                  V4      ^ ,          pS P                  S4      oV V3R lpS P                  ! WQV.3/ VB # )r.   c           	      8  < SP                   pSP                  SRR7      pW,
          ^,           W,           ^,           S.RRV ^,           .. . ^.W V,
          ^,           ,          W V,           ^,           ,          .V3p^S.W,           ^,
          V) .WW,           ^,           ,          .W!V ,
          ^,           ,          .. ^V,
          .V3p^S.W,
          ^,
          V.V) W V,
          ^,           ,          .V^V ,
          V,
          ,          .. ^V,           .V3pWEV3# r   r   )	r   rG   r   r1   r`   ra   T3r	   r   s	   &&     r   r+   lommels2.<locals>.h4  s   KKqu-c!eQSUAR1r2sQ!AYqA#a%y<QSTTVac!eaR[1Qi.1c!e9+rAaC5!KVac!eQZ1"a1Qi1ac!e9+rAaC5!K rzr   r   r   s   f&&f, r   lommels2r   )  sY    1a A1a AAA  ==qE,V,,r   c                    a a S P                  V4      pS P                  S4      oV V3R  lpS P                  ! WA.3/ VB # )c           	      Z  < S^,          ^,          ) pSP                  RV ,          4      w  r#VS^,          .^V .. V ^,           .. RRV ^,           ,          RV ,          ^,           .V3pVS^,          .^V ^,           .. V ^,           .. RRV ^,           ,          RV ,          ^,           .V3pWE3# )   r!   r         迩rV   r   r'   rY   rZ   r`   ra   r	   r   s   &     r   r+   ber.<locals>.hK  s    cAXI??57+1Q3Z!QacUBc1Q3iQq0I1L1Q3Z!QqS2!ub3QqS	3q572KQNvr   r   r   s   f&f, r   berr   F  :    AAAA ==C*6**r   c                    a a S P                  V4      pS P                  S4      oV V3R  lpS P                  ! WA.3/ VB # )c           	      Z  < S^,          ^,          ) pSP                  RV ,          4      w  r#VS^,          .^V ^,           .. V ^,           .. RRV ^,           ,          RV ,          ^,           .V3pVS^,          .^V .. V ^,           .. RRV ^,           ,          RV ,          ^,           .V3pWE3# )r         ?r   r!   r   r   s   &     r   r+   bei.<locals>.hX  s    cAXI??46*1Q3Z!QqS2!ub3QqS	3q572KQN1Q3Z!QacUBc1Q3iQq0I1Lvr   r   r   s   f&f, r   beir   S  r   r   c                    a a S P                  V4      pS P                  S4      oV V3R  lpS P                  ! WA.3/ VB # )c           
        < S^,          ^,          ) pS
P                  RV ,          4      w  r#S
P                  RV ,          4      w  rE^S^V,          .V ) ^,
          V ^.V ) .. . RR^V ,           ,          RV ^,           ,          .V3p^SV) .V ) ^,
          ^V ,           ^.V ) ^,
          .. . RR^V ,           ,          RV ^,           ,          .V3p^S^V,          .V ^,
          V ) ^.V .. . RR^V ,
          ,          ^RV ,          ,
          .V3p^SV) .V ^,
          ^V ,
          ^.V ^,
          .. . RR^V ,
          ,          ^RV ,          ,
          .V3p	WgW3# )r   rJ   r   r!   r   r   r   r'   cos1sin1cos2sin2r`   ra   r   T4r	   r   s   &         r   r+   ker.<locals>.he  sg   cAXI__T!V,
__T!V,
AdF^qbdAq\QB4R#sAaCy#qQRs)9TVWWTE]aRT1Q3NaRTFBS#qs)SRSTURUY<WYZZAdF^acA2q\A3Bc1Q3i3q58QSTTTE]QqS!A#qMAaC5"b3QqS	1SQRU7:SUVVr~r   r   r   s   f&f, r   kerr   `  :    AAAA ==C*6**r   c                    a a S P                  V4      pS P                  S4      oV V3R  lpS P                  ! WA.3/ VB # )c           
        < S^,          ^,          ) pS
P                  RV ,          4      w  r#S
P                  RV ,          4      w  rEV) ^S.^V ^,
          ^V ,
          .V ^,
          .. . RR^V ,
          ,          ^RV ,          ,
          .V3pV) ^S.^V ^,
          V ) .V .. . RR^V ,
          ,          ^RV ,          ,
          .V3pV) ^S.^V ) ^,
          V .V ) .. . RRV ^,           ,          RV ^,           ,          .V3pV) ^S.^V ) ^,
          V ^,           .V ) ^,
          .. . RRV ^,           ,          RV ^,           ,          .V3p	WgW3# )r   r   rJ   r   r!   r   r   s   &         r   r+   kei.<locals>.hu  sc   cAXI__T!V,
__T!V,
eQ]Q!QqSMAaC5"b3QqS	1SQRU7:SUVVeQ]Q!aRL1#r2S!A#Y#a%7PRSSeQ]Q1aLA2$Bc1Q3iaPQc8SUVVeQ]Q1acNaRTFBS#qs)SRSTURUY<WYZZr~r   r   r   s   f&f, r   keir   p  r   r   c                 0   a a S P                   oV V3R  lpV# )c                    < V P                   pV P                  pVP                  SR4      w  r4W28  d   V5# VS! V 4      3VS&   VS,          ^,          # )r   )r   r.   )_misc_const_cacher   get)r	   cacher   prG   fnames   &    r   	f_wrappedc_memo.<locals>.f_wrapped  sT    %%xxiif%92I3.E$K;q>!r   )__name__)r   r   r   s   f @r   c_memor     s    ::D" r   c                     ^V P                  ^	4      V P                  V P                  ^4      ^,          4      ,          ,          # r   cbrtgammar:   r	   s   &r   
_airyai_C1r     s/    cii
15566r   c                     RV P                  ^4      V P                  V P                  ^4      ^,          4      ,          ,          # r}   r   r   s   &r   
_airyai_C2r     s/    !syyA6677r   c                     ^V P                  ^^4      V P                  V P                  ^4      ^,          4      ,          ,          # r   nthrootr   r:   r   s   &r   
_airybi_C1r     s2    Aa 399SWWQZ\#::;;r   c                 ~    V P                  ^^4      V P                  V P                  ^4      ^,          4      ,          # r   r   r   s   &r   
_airybi_C2r     s-    ;;qcii
1555r   c                     V P                   p V P                  ^R4      V P                  R4      ,          ^V P                  ,          ,          pWn         V5#   Yn         i ; i)r   2/3)r   powerr   r%   )r	   r   rG   s   &  r   _airybi_n2_infr     sP    88DIIasyy//366:2I s   A A Ac                    VR 8X  Ed3   V^ 8  d   V# V P                   pV P                  p V ;P                  ^
,          un        V P                  V^,           V,          4      V P                  ^W%,          4      ,          V P                  ,          pV^ 8X  dF   WpP                  ^V^,           ,          V,          4      ,          pWpP                  ^R4      ,          pMNV\        V P                  ^V^,           ,          V,          4      4      ,          pWpP                  ^R4      ,          pW`n        V5V,           # \        h  Y`n        i ; i)Zr   z1/6)mpq_1_3r   r   r   r%   r~   r<   r>   )r	   r   r   ntyper   r'   r   rG   s   &&&&&   r   _airyderiv_0r     s    |q5HKKxx
	HHNH		1Q3'"SYYq%55>AzYYq!A#wqy))YYq''S1ac719-..YYq''HrAv "!	 Hs   D E E	c           	        a aa S P                  S4      oV'       d   S P                  V4      w  rEM^ pS P                  S4      '       Eg   S'       d   V'       d   XR8X  d   VR8X  do   SS P                  8X  d'   S P	                  ^4      ^,          ^S,          ,           # SS P
                  8X  d'   S P	                  R4      ^,          ^S,          ,           # VR8  d6   SS P                  8X  d   S# SS P
                  8X  d   RV,          S) ,          # V'       g   SS P                  8X  g   SS P
                  8X  d
   ^S,          # \        R4      hS'       d-   \        ^ \        RS P                  S4      ,          4      4      oM^ oV'       d   V^8X  d   V VV3R lpS P                  ! V. 3/ VB # S^ 8X  d   \        S SVX^ 4      # V VV3R lpS P                  ! Wd.3/ VB pS P                  S4      '       d)   S P                  V4      '       d   S P                  V4      pV# V VV3R lpS P                  ! V. 3/ VB # )	r.   r   zessential singularity of Ai(z)r   c                    < SP                  S
4      ^8  d   S;P                  S	,          un        S
R,          p RV ,          pRV ,          ^,          pS;P                  S	,          un        SP                  V4      ) ^SP                  SP                  4      ,          ,          SP                  S
^4      ,          pV.^.. . RR.. V33# S;P                  S	,          un        S
^,          ^	,          p S;P                  S	,          un        \        S4      R,          p\        S4      pVS
.^^.. . . SP                  .V 3pV.^.. . . SP                  .V 3pWg3# )r   r   r!   r   )r      )   r  )
r6   r   re   r   r%   r   r   r   mpq_5_3r   r1   r'   r   CC1C2r`   ra   r	   	extraprecr   s           r   r+   airyai.<locals>.h  s*   771:>HH	)H3AE!GAaQHH	)HQsxx'7%78Qq9IIACBr6%.A>?? HH	)H1qAHH	)H#C3.B#CBQ1bB}Q>Bqc"RCKK=:B6Mr   c                 
  < S;P                   S,          un         S^,          ^	,          pS;P                   S,          un         SP                  SP                  SP                  rCpTp^p^V ,
          V,          p^V ,
          V,          p^W,          ,
          p	^S.W,
          V ) .V.WxV	.WV.WxV	.V3p
Tp^V ,
          V,          p^W,          ,
          p^V ,
          V,          p	^SS) .W,
          V ) ^.V.WxV	.WV.WxV	.V3pW3# r   )r   r   mpq_2_3mpq_4_3)r   r1   q13q23q43r   r   r   r   b3r`   ra   r	   r  r   s   &           r   r+   r    s    I%qDFI%!kk3;;1!A#sb!SyBQquW"VaeaR[2$r
GbBZ+AaC915bac3Y"QBZ!%!Q"bzGbBZ+vr   c                    < SP                  S
4      ^8  d   S;P                  S	,          un        S
R,          p RV ,          pRV ,          ^,          pS;P                  S	,          un        SP                  V4      ^SP                  SP                  4      ,          SP                  S
^4      ,          ,          pV.^.. . RR.. V33# S;P                  S	,          un        S
^,          ^	,          p S;P                  S	,          un        \        S4      p\        S4      pV.^.. . . SP                  .V 3pS
V,          .^.. . . SP                  .V 3pWg3# )r   r   r   r  )r   r  )   r  )
r6   r   re   r   r%   r   r   r   r  r  r  s           r   r+   r    s#   wwqzA~ I%sFaART!VI%GGAJ#((366"2 23;;q3C CDQC2uUmBq9::I%qD1HI%__T1#bB}Q6dVQC2b#++q8vr   r   r  )r4   r   isnormalrA   r:   rS   rM   r0   r3   r7   r;   r   _is_real_typer5   r6   	r	   r   rC   rD   r   r   r+   rG   r  s	   ff&,    @r   airyair    s   AA%%j15<<??q#Bw<771:a<!A#--=772;q=1Q3..2v<H=7qb>)qCGG|qCHH}Q3J9::3s3771:~./		6"$ ==B1&11Av#CAua88 a//A  ##		!GGAJH	& }}Q-f--r   c           	        a aa S P                  S4      oV'       d   S P                  V4      w  rEM^ pS P                  S4      '       g   S'       d   V'       df   XR8X  d_   SS P                  8X  d   S# SS P                  8X  d;   VR8X  d
   ^S,          # VR8X  d   \        S 4      # VR8  d   RV,          S) ,          # V'       g.   SS P                  8X  d   S# SS P                  8X  d
   ^S,          # \        R4      hS'       d-   \        ^ \        RS P                  S4      ,          4      4      oM^ oV'       d   V^8X  d   V VV3R lpS P                  ! V. 3/ VB # S^ 8X  d   \        S SVX^4      # V VV3R lpS P                  ! Wd.3/ VB pS P                  S4      '       d)   S P                  V4      '       d   S P                  V4      pV# V VV3R lpS P                  ! V. 3/ VB # )	r.   r   zessential singularity of Bi(z)r   c                  $  < S;P                   S,          un         S^,          ^	,          p S;P                   S,          un         \        S4      R,          p\        S4      pVS.^^.. . . SP                  .V 3pV.^.. . . SP                  .V 3pW43# )r   r!   )r   r   r   r  r   r1   r	  r
  r`   ra   r	   r  r   s        r   r+   airybi.<locals>.h;  s    I%qD1HI%_S(_VQqE"RCKK=:T1#bB}Q6vr   c                 @  < S;P                   S,          un         S^,          ^	,          pS;P                   S,          un         SP                  SP                  SP                  rCpSP                  pSP
                  pTp^p^V ,
          V,          p	^V ,
          V,          p
^W,          ,
          p^S.W,
          V ) .V.WV.Wx.WV.V3pTp^V ,
          V,          p	^W,          ,
          p
^V ,
          V,          p^S.W,
          ^V ,
          .V.WV.Wx.WV.V3pW3# r   )r   r   r  r  mpq_1_6mpq_5_6)r   r1   r  r  r  q16q56r   r   r   r   r  r`   ra   r	   r  r   s   &             r   r+   r  H  s   I%qDFI%!kk3;;kkkk1!A#sb!SyBQquW"VaeaR[2$r
GbBZ+AaC915bac3Y"VaeQqS\B4"GbBZ+vr   c                     < S;P                   S,          un         S^,          ^	,          p S;P                   S,          un         \        S4      p\        S4      pV.^.. . . SP                  .V 3pSV,          .^.. . . SP                  .V 3pW43# r   )r   r   r   r  r  r  s        r   r+   r  [  s    HH	!H1qAHH	!HCBCBqc"RCKK=2BB$Br"ckk]14B6Mr   r   r  )r4   r   r  rA   rS   r   rM   r0   r3   r7   r;   r   r  r5   r6   r  s	   ff&,    @r   airybir$    s   AA%%j15<<??q#CGG|CHH}7Q3J7)#..r67qb>)CGG|CHH}s
9::3s3771:~./		6 ==B1&11Av#CAua88 a//A  ##		!GGAJH	 }}Q-f--r   c                   a  R  pR p\        V4      pV^8  d   \        R4      hVR9   g   \        R4      hV^ 8X  d   V'       dK   S P                  V 3R lV! ^S P                  ,          ^V,          ^,
          ,          ^,          4      ) 4      # S P                  S P                  V! ^S P                  ,          ^V,          ^,
          ,          ^,          4      ) 4      # V^8X  d   VR8X  d   V'       dK   S P                  V 3R lV! ^S P                  ,          ^V,          ^,
          ,          ^,          4      ) 4      # S P                  S P
                  V! ^S P                  ,          ^V,          ^,
          ,          ^,          4      ) 4      # V^8X  Ed;   VR8X  Ed1   V'       d   ^S P                  ,          ^V,          ^,
          ,          ^,          RS P                  ,          ,           pS P                  S P                  ^4      ^,          4      V! V4      ,          pS P                  V 3R	 lV4      # ^S P                  ,          ^V,          ^,
          ,          ^,          RS P                  ,          ,           pS P                  S P                  ^4      ^,          4      V! V4      ,          pS P                  S P
                  V4      # R
# R
# )c                 Z    V R,          ^^V ^,          ^0,          ,          ,
          ,          # r^   gUUUUUU?r_   ts   &r   U_airy_zero.<locals>.Uh       QY!QT"W+..r   c                 Z    V R,          ^^V ^,          ^0,          ,          ,           ,          # r'  r_   r(  s   &r   r)   _airy_zero.<locals>.Ti  r,  r   zk cannot be less than 1z%Derivative should lie between 0 and 1c                 (   < SP                  V ^4      # r   )r  r   r	   s   &r   <lambda>_airy_zero.<locals>.<lambda>q      #**Qq/r   Fc                 (   < SP                  V ^4      # r   r$  r0  s   &r   r1  r2  v  r3  r   Ty              ?c                 (   < SP                  V ^4      # r   r5  r0  s   &r   r1  r2  }  r3  r   Nr.   r   )	r3   rM   findrootr%   r  r$  ln2expjpir:   )	r	   r   r   rC   complexr*  r)   r)  r   s	   f&&&&    r   
_airy_zeror<  f  s   ..AA1u233@AAz<< 91SVV8QqSU#A%&&( (||CJJ1SVV8QqSU+;A+=)>(>??zg&<< 91SVV8QqSU#A%&&( (||CJJ1SVV8QqSU+;A+=)>(>??zgo#&&!A#a% "U377]2A

3771:a<(1Q4/A<< 91==cffHac!eQsww.JJswwqz!|$qt+||CJJ** &zr   c                     \        V ^ WR4      # r.   Fr<  )r	   r   rC   s   &&&r   
airyaizeror@    s    c1aU33r   c                     \        V ^WV4      # r   r?  )r	   r   rC   r;  s   &&&&r   
airybizerorB    s    c1aW55r   c           	        a aaaa S P                  S4      oS P                  S4      '       dP   SS P                  8X  d   S^ 8X  d
   ^S,          # S^8X  d   S# SS P                  8X  d
   ^S,          # \	        R4      hS'       d-   \        ^ \        RS P                  S4      ,          4      4      oM^ oSP                  R4      '       d   \        h S P                  S4      ^8  d   S^ 8X  d^   \        S P                  S4      4      S P                  ^,          R,          8  d'   V V3R lpS P                  V. S P                  RR7      # S^8X  df   \        S P                  S) 4      4      ^S P                  ,          ^,          R,          8  d'   V V3R lpS P                  V. S P                  RR7      # T TTTT3R	 lpS P                  ! T. 3/ SB #   S P                   d     L1i ; i)
r.   zessential singularityr   rC   g+?c            	      T   < S P                   S.RR.. . . RO. ^	S^,          ,          33# r   r   ))r   r   )r^   r   r   r%   r	   r   s   r   r+   _scorer.<locals>.h  s/    !ffQZB2ob1a4PRRr   T)r{   force_seriesc            	      V   < S P                   ) S.RR.. . . RO. ^	S^,          ,          33# rE  rF  rG  s   r   r+   rH    s1    "vvga["RBr!AqD&QSSr   c                  x  < SP                   ! S	3/ SB ^,          p RSP                  ,          pS^8X  d   V ^,          p VR,          pS;P                  S,          un        S	^,          ^	,          pS;P                  S,          un        V .^.. . . . ^ 3pVS	.R^.. . ^.SP                  SP                  .V3pW43# )r   r  r   )r$  r%   r   r  r  )
r   r(   r1   r`   ra   r	   r  rD   r   r   s
        r   r+   rH    s    JJq#F#A%svvIA:FAGAIqDFIS1#r2r2q(URFBQC#++ckk)BAEvr   )r4   isinfrA   rS   rM   r0   r3   r7   r   r>   r<   argr%   r;   r   r   )r	   r   r   rD   r+   r  s   ffff @r   _scorerrN    s   AA
yy||<z!A#:z!8=Q3J0113s3771:~./		zz,!!771:>zc#''!*oq50@@S}}QSXXD}QQzc#''1"+.366!e1CCT}}QSXXD}QQ  ==B)&))  s   A9G A+G G)(G)c                     \        W^ V4      # r   rN  r	   r   rD   s   &&,r   scorergirR        31f%%r   c                     \        W^V4      # r   rP  rQ  s   &&,r   scorerhirU    rS  r   c                    W3V9   d3   W1V3,          ^ ,          V P                   8  d   W1V3,          ^,          5# V P                  ^V,          ^,           4      pV P                  ^V,           V P                  V,          ,           4      pV P                  ^V,           V P                  V,          ,
          4      p^V,          V P                  V P                  ) V,          V,           V,           ^,          V,
          4      ,          pV P                  V4      '       g)   V P                  V4      '       g   V P                  V4      pV P                   V3W1V3&   V# r   )r   loggammark   re   r%   rQ   r@   )r	   leta_cacheG3G1G2rG   s   &&&&    r   coulombcr^    s    	x6fsUmA.#((:ua   	ac!e	B	ac#%%)m	$B	ac#%%)m	$B	1swwBr)1,r122AFF1IIFF1IXXqMFS5MHr   c                 .  a aa V VV3R  lpS P                   ! WqV.3/ VB pV'       dm   S P                  V4      '       gV   S P                  V4      '       g?   S P                  S4      '       g(   S P                  S4      ^ 8  d   S P                  V4      pV# )c                 r  <  SP                   S,          pSP                  VS	R R7      pSP                  VRR R7      pSP                  W4      pVS	SP                  V4      .^V ^,           ^.. . ^V ,           W!,          ,           .^V ,          ^,           .V3pV3#   \         d    ^ .R.. . . . ^ 3p T3# i ; i)Tr   r  r   )rk   r$   r^  re   rM   )
rX  rY  jwjwzjwz2r  r`   r	   r1   r   s
   &&     r   r+   coulombf.<locals>.h  s    	.qB((2q(-C88C480DQ$AQ%1Q3{BQqSZL1QB u  	.rdBBA-Bu	.s   BB B65B6)r;   rQ   r@   	r	   rX  rY  r   r1   choprD   r+   rG   s	   f&&ff&,  r   coulombfrg    si    
 	aC+F+ASVVAYYsvvayy	aFF1IHr   c                    a aa SS3V9   d4   VSS3,          ^ ,          S P                   8  d   VSS3,          ^,          # V VV3R lpS P                  V^4      pS P                   V3VSS3&   V# )r.   c                    < S) ^,
          p SP                   S,          pSP                  ^S,           V,           4      R,          SP                  ^S,           V,
          4      R,          SP                  ^V ,           V,           4      R,          SP                  ^V ,           V,
          4      R,          SR,           ) SP                  ,          .# )r   y              ?r!   y             )rk   rW  r%   )l2jetar	   rY  rX  s     r   terms_coulomb_chi.<locals>.terms  s    RTuuSyQqSX&%0LL1T"d+LL2d#t,LL2d#u-eHSVVO	 	r   )r   sum_accurately)r	   rX  rY  rZ  rl  rG   s   fff&  r   _coulomb_chiro    sm    	3x6fQsUmA.#((:ae}Q 	5!$AXXqMF1S5MHr   c                 ~  a aa S P                  V4      '       g   S P                  V4      pV VV3R  lpS P                  ! WqV.3/ VB pV'       dm   S P                  V4      '       gV   S P                  V4      '       g?   S P                  S4      '       g(   S P                  S4      ^ 8  d   S P                  V4      pV# )c                   < SP                  V ^,          4      '       d   ^ .R.. . . . ^ 3pV3# V ) ^,
          p SP                  W4      pSP                  S,          pSP                  V4      pSP	                  V4      pSP                  W4      pSP                  W14      p	SP                  VS,          4      p
RV,          S,          pWhSW.R^V ^,           ^^.. . ^V ,           WQ,          ,           .^V ,          ^,           .V3pV) V	SV
.R^V^,           ^.. . ^V,           WQ,          ,           .^V,          ^,           .V3pW,3#   \         d    ^ .R.. . . . ^ 3pT3u # i ; i)r^   r   r  )r5   ro  rk   rZ   rY   r^  re   rM   )rX  rY  r`   rj  chira  r   r   r	  r
  r   r
   ra   r	   r1   r   s   &&           r   r+   coulombg.<locals>.h  so   99QqS>>rdBBA-B5LRT	""1*CqBA#''#,aa$Bb%B1A2aAA!B1Q31#5r21RVqs1ugq)B"b!QB2a4#3B2bf"Qx+B6M 	rdBBA-B5L	s   DE E! E!)_imr6   r;   re  s	   f&&ff&,  r   coulombgru    s    
 771::GGAJ, 	aC+F+ASWWQZZ#''#,,	qGGAJHr   c                J   ^V^,          ,          pV^8X  d?   V'       g7   ^V,          ^V,          ,           ^,
          V P                   ,          ^,          pV^8X  d?   V'       g7   ^V,          ^V,          ,           ^,
          V P                   ,          ^,          pV^8X  d?   V'       d7   ^V,          ^V,          ,           ^,
          V P                   ,          ^,          pV^8X  d?   V'       d7   ^V,          ^V,          ,           ^,
          V P                   ,          ^,          pV'       Eg   XpV^,
          ) ^V,          ,          pRV^,
          ,          ^V,          ^,
          ,          ^^V,          ^,          ,          ,          p	RV^,
          ,          ^SV^,          ,          RV,          ,
          R,           ,          ^^V,          ^,          ,          ,          p
RV^,
          ,          RV^,          ,          RV^,          ,          ,
          RV,          ,           R,
          ,          ^i^V,          ^,          ,          ,          pV'       Ed2   XpV^,           ) ^V,          ,          pR^V^,          ,          ^RV,          ,           ^	,
          ,          ^^V,          ^,          ,          ,          p	R^SV^,          ,          RV^,          ,          ,           RV,          ,
          R	,           ,          ^^V,          ^,          ,          ,          p
RRV^,          ,          R
V^,          ,          ,           RV^,          ,          ,
          RV,          ,           R,
          ,          ^i^V,          ^,          ,          ,          pXXX	X
X.pTpRp\        ^\        V4      4       FQ  p\        W,          4      \        W^,
          ,          4      8  d   WV,          ,          pK@  \        W,          4      pKS  	  X\        V4      ^,
          8X  d   \        VR,          4      pW3# )aN  
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%  iX iO2 iu_ i  i  i  i, i il"q iQY g        iir   )r%   r9   lenr<   )r	   kindprimerG   rX   r   r   s1s2s3s4s5rl  r   erris   &&&&&           r   mcmahonr    s    	
!Q$AqyQqS1WQY$6q$8qyQqS1WQY$6q$8qyU1QqSCFF 21 4AqyU1QqSCFF 21 4A5sVQqS\1Xqs2v1Q3(
+!A#Y1a4Ad*+R1q[9!A#YQT	&A+-gai7?@#qsQh,OusVQqS\1a41QAaC!8,"QT'$q!t)#DF*4/0"acAX+>$q!t)F1a4K'14WQY>wFGaPQcTUXV2bE
A
C1SZ ux=3uqSz?*qMAeh-C	 !
 	CJqL%)n6Mr   c                   V^8  d   \        R4      hV^,           p. p. p V P                  W#V4      pV Uu. uF  qP                  V! V4      4      NK  	  pp\        V^,
          4       U	u. uF=  p	Wy,          Wy^,           ,          ,          R8X  g   K&  Wi,          Wi^,           ,          3NK?  	  p
p	\	        V
4      V8X  d   V
# V^,          pK  u upi u up	i )z
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.
zn cannot be less than 1r   )rM   linspacesignr9   rx  )r	   r   r   r   r   Npointssignsr
   r  ok_intervalss   &&&&&      r   generalized_bisectionr  ;  s     	1u233	!AFE
a!$)/0A!A$09>qs *Axc
"b( 06A#;/ *|!aC 1*s   C,#CCc                 *    V P                  WR RR7      # )illinoisF)solververify)r8  )r	   r   abs   &&&r   find_in_intervalr  Q  s    <<j<??r   g{Gz?c           	        a a S P                   p\        VS P                  S4      S P                  V4      4      ^
,           p VS n         S P                  S4      o\	        V4      p\	        V4      pS^ 8  d   \        R4      hV^8  d   \        R4      hVR9   g   \        R4      hV^8X  d   V'       d	   V V3R lp	MV V3R lp	V^8X  d   V'       d	   V V3R lp	MV V3R lp	V^8X  d   V'       d   V^8X  dz   S^ 8X  d   S P                  VS n         # S^8:  dY   ^S P                  S^S,           ,          S^,           ,          4      ,          p
\        S X	V
^
,          ^V
,          34      VS n         # WSV3V9   d   \        S X	WaVSV3,          4      VS n         # \        S WSV4      w  rW8  d#   \        S X	W,
          W,           34      VS n         # V^8X  d   V'       g   RpV^8X  d   V'       d   R	pV^8X  d   V'       g   R
pV^8X  d   V'       d   RpV^,           p \        S WSV4      w  rW8  d{   \        S WSV^,           4      w  pp\        S X	XRW,           ,          V4      p\        V4       F  w  ppVWaVSV^,           3&   K  	  \        S V	VV^,
          ,          4      VS n         # V^,          pK    TS n         i ; i)
   zv cannot be negativezm cannot be less than 1z prime should lie between 0 and 1c                 ,   < SP                  SV ^R7      # r   )rC   r   r
   r	   rG   s   &r   r1  bessel_zero.<locals>.<lambda>c      CKK!qK$Ar   c                 (   < SP                  SV 4      # ri   r   r  s   &r   r1  r  d      CKK!$4r   c                 ,   < SP                  SV ^R7      # r  r[   r  s   &r   r1  r  f  r  r   c                 (   < SP                  SV 4      # ri   r  r  s   &r   r1  r  g  r  r   g333333@g?g?g       @r!   r7  )r   r0   r7   r:   r3   rM   zeror   r  r  r  	enumerate)r	   ry  rz  rG   rX   isoltol_interval_cacher   workprecr   r'   r  lowr   r1r2err2	intervalsr   r  s   f&&f&&&             r   bessel_zeror  T  sz   88D4SWWQZ03H0GGAJFE
q5344q5677~?@@19Aa4a19Aa4a 1916Avxx6 5 Avchhq!A#w!}--'Q2qs<. - q.#COqN,KL* ) d1a0=#CQY	,BC$ ! 19U#C19c19U#C19caCc415GB}"3Q!<D1#q#sBE{AN	&y1EAr8:Oq1$45 2'Q	!A#?  aCsW   A2J: 5J: J: 1J: AJ: 1 J: 0J: J:  J: 1J: J: BJ: /J: :	Kc                     \        V ^W1V4      5# )a  
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

r  r	   rG   rX   rC   s   &&&&r   besseljzeror    s    ` Q
q111r   c                     \        V ^W1V4      5# )a
  
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

r  r  s   &&&&r   besselyzeror    s    r Q
q111r   Nr   )Fr>  )r   T)2	functionsr   r   r   r   r   rO   r[   rg   rm   rp   ru   ry   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r$  r<  r@  rB  rN  rR  rU  r^  rg  ro  ru  r  r  r  r  r  r  r_   r   r   <module>r     sF   +    @ @D ! !F !3 !3F + +, G G G G C C C C - -8 + + + ++& * * * * 	- 	- - -8 
+ 
+ 
+ 
+ + + + +  7 7 8 8 < < 6 6", Y. Y.v I. I.V+8 4 4 6 6)*V & & & & !# 
 
  , %'      D%N,@ 15b 3j o2 o2b X2 X2r   