
    [h2                        S SK JrJr  \S 5       r\S 5       r\S3S j5       r\S3S j5       r\S3S j5       r\S 5       r\S 5       r	\S	 5       r
\S
 5       r\S 5       r\S 5       r\S 5       r\S 5       rS r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       rS r\S 5       r\S 5       r\S 5       r\S 5       rS rS r\S3S j5       r \S3S  j5       r!S4S! jr"\S3S" j5       r#\S5S# j5       r$S$ r%\S% 5       r&\S& 5       r'\0 4S' j5       r(\S6S( j5       r)\0 4S) j5       r*\S6S* j5       r+S+ r,S, r-S- r.S.0 4S/ jr/\S3S0 j5       r0\S3S1 j5       r1g2)7   )defundefun_wrappedc                 &    U R                  SU5      $ )zCComputes the Bessel function `J_0(x)`. See :func:`~mpmath.besselj`.    besseljctxxs     O/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/functions/bessel.pyj0r           ;;q!    c                 &    U R                  SU5      $ )zDComputes the Bessel function `J_1(x)`.  See :func:`~mpmath.besselj`.r   r   r	   s     r   j1r      r   r   c                 R  ^ ^^^	^
^ [        T5      [        L a  SnOCT R                  T5      mT R                  T5      nU(       a  [        T R	                  T5      5      mU(       a"  TS:  a  ST-  T R
                  " T* TU40 UD6-  $ T R                  T5      mT R                  T5      m	U(       a  T R                  U5      m
T R                  T
5      (       a~  T
S:  ax  [        T
5      m
T R                  n T =R                  S-  sl        T R                  U U
UU4S j[        T
S-   5       5       5      nUT l        UT R                  S5      T
* -  -  nU$ U	U U4S jnT R                  " UTT
/40 UD6n U$ U(       d8  U(       a1  [        T	5      S	:  a"  [        T5      S
:  a   T R                  TT5      $ T(       dH  T(       d  T R                  T-   T-   nOT R!                  T5      S:  a  TT-  nOT R"                  T-   T-   nOwT R                  n T =R                  [%        S[        T	5      -  T R                  5      -  sl        T R'                  TSSS9mU	U U4S jnT R                  " UT/40 UD6nUT l        U7nU$ ! UT l        f = f! [         a     Nf = f! UT l        f = f)NTr      c              3      >#    U  H9  nS U-  TR                  TU5      -  TR                  SU-  T-   T-
  T5      -  v   M;     g7f)r      N)binomialr   ).0kr
   dnzs     r   	<genexpr>besselj.<locals>.<genexpr>%   sH      )' !1Ws||Aa'883;;qs1uQwq;QQ's   AAr   r   c                    > TR                  TR                  TTTR                  T-   S9SSS9nSX-
  S-   -  SX-
  S-   -  /nSTR                  T/USU -  -
  SX-
  // X0S-   S-  U S-   S-  /X0S-   /-   U4/nU$ )Nprec      пTexact      ?r   r   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                    > TR                  TR                  TT[        STR                  T-   5      S9SS9nT/U // U S-   // U S-   /U4/$ )Nr   r    Tr#   r   )fnegr'   maxr!   )r   r*   r-   r
   ws     r   r.   r/   G   s[    !QS388A:5F!GtTAS1#rAaC5"qseQ?@@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   r6   s   ```      @@@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+   6?J $J A#J 	J

JJ	J&c                 ,  ^ ^^	 T R                  U5      nT R                  T5      mT(       d  U(       a  [        eU(       d  SU-   T-   $ T R                  U5      (       a  SUT-   -  $ T R                  U5      nUS:X  a  T R                  UT-   -  $ US:  a  SUT-   -  $ T R
                  UT-   -   $ T R                  T5      m	U(       a0  T R                  U5      nU	U U4S jnT R                  " XqU/40 UD6nU$ U	U U4S jnT R                  " Xq/40 UD6nU$ )Nr   r   c                    > TR                  TR                  TTTR                  T-   S9SSS9nSX-
  S-   -  SX-
  S-   -  U S-   /nSTR                  T/USU -  -
  SX-
  /U S-   /X0S-   S-  U S-   S-  /X24/nU$ )Nr          ?Tr#   r%   r   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           	         > TR                  TSSS9nTR                  X[        STR                  T-   5      S9nU/U // U S-   // U S-   /U4/$ )Nr%   Tr#   r   r    r   )r'   r5   r!   )r   r6   r*   r-   r
   r   s      r   r.   rP   m   s`    Ct,AC#((1*$56AS1#rAaC5"qseQ788r   )r9   
ValueErrorr:   rE   nanrF   r<   r@   )
r
   r   r   rH   rI   r*   r   r.   rL   r-   s
   ` `      @r   besselirT   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                 N   U(       d  U(       a  [         eU(       d  U R                  * X-   -   $ U R                  U5      (       a  U R                  X-   -  $ U R	                  U5      nUS-   nU R                  U5      (       a  US:  a  U R                  * X-   -   $ SX-   -  $ US:  a3  [        U R                  U5      5      S-  (       a  U R                  X-   -   $ U R                  X-   -   $ U =R                  S-  sl	        U R                  U5      u  pxXR                  * :  a'  U R                  7n	U =R                  S-  sl	        X-  nOUS:  a  U =R                  U-  sl	        U R                  U5      u  pU R                  " XU40 UD6U
-  U R                  " U* X#40 UD6-
  U-  $ )Nr%   r   r   r0   )rR   rF   imrS   rE   r:   r8   floorninfr!   nint_distanceepscospi_sinpir   )r
   r   r   rH   rI   r*   qmr   r.   cossins               r   besselyr`   t   sr   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                    ^ ^ T(       d  T R                   $ T R                  T5      nUS:  a  U4S jnOT =R                  U-  sl        U U4S jnT R                  " XQ/40 UD6$ )Nr   c                 r   > TS-  S-  nTS/U * U S-
  /U // / SU -
  /U4nTS/X * S-
  /U * // / SU -   /U4nX#4$ )Nr   r    )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           	      x   > TR                   S-  TTR                  T* 5      // SQ/ / U S-   SU -
  // SST-  -  4/$ )Nr   )r%         r   r%   r   )r(   expr   r
   r   s    r   r.   rf      sO    ffQh377A2;/r23AB!H. / /r   )rF   r<   r!   r@   )r
   r   r   rI   r-   r.   s   ` `   r   besselkrk      sT    ww
A1u	 	A	/ ==C*6**r   c                 j    U R                   " X40 UD6U R                  U R                  " X40 UD6-  -   $ Nr   jr`   r
   r   r   rI   s       r   hankel1rq      2    ;;q$V$suuS[[-Fv-F'FFFr   c                 j    U R                   " X40 UD6U R                  U R                  " X40 UD6-  -
  $ rm   rn   rp   s       r   hankel2rt      rr   r   c                 6   US:X  aJ  U R                  U5      S:  a  U$ U R                  U5      S:  a  U R                  U-   $ U R                  U-  $ U R                  SUSS9nSU-   nU R	                  U5      X6-  -  U R
                  " Xa-
  SSU-  -   U40 UD6-  $ )Nr   rh   Tr#   r%   r   r   )rE   rF   rS   r'   ri   hyp1f1)r
   r   r]   r   rI   r   ys          r   whitmrx      s    Av66!9tHVVAY77Q;77Q;q%AAA771:szz!#q1uaB6BBBr   c                 .   US:X  aF  [        U R                  U5      5      nUS:  a  U$ US:  a  U R                  U-   $ U R                  U-  $ U R	                  SUSS9nSU-   nU R                  U5      X7-  -  U R                  " Xq-
  SSU-  -   U40 UD6-  $ )Nr   r%   rh   Tr#   r   r   )rA   rE   rF   rS   r'   ri   hyperu)r
   r   r]   r   rI   gr   rw   s           r   whitwr|      s    Avq	Ns7HW77Q;77Q;q%AAA771:szz!#q1uaB6BBBr   c           	      ^  ^ ^ T R                  U5      u  pT R                  U5      u  p&T R                  T5      mT(       d@  T R                  U5      S::  a  T R                  SU-
  /X-
  S-   /5      $ T R                  T-   $ SU-   U-
  nT R                  U5      u  px T R
                  n	 T =R
                  S-  sl        T R                  SSXX4X/ST-  T R
                  S9n
U
TU-  -  U	T l        $ ! U	T l        f = f! T R                   a     Of = fU U4S jnT R                  " XU/40 UD6$ )Nr   r0   r   r   r   )maxtermsc                    > TR                  U5      nTR                  U/SS// X-
  S-   U/U /U/T4nTR                  * UT/SSSU-
  // U SU-
  /X-
  S-   /SU-
  /T4nX44$ )Nr   r   r   )sinpir(   )abr6   rd   re   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   )	_convert_paramr9   rE   	gammaprodrF   r!   hypsumNoConvergencer@   )r
   r   r   r   rI   atypebtypebbbbtyperK   rL   r.   s   `  `        r   rz   rz      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*   C= *?C1 )C= 1	C::C= =DDc                    ^ ^ T R                  U5      nT R                  T5      mU U4S jnT R                  " XA/40 UD6$ )Nc                    > TS-  STR                  TR                  5      -  /U S-   S// U S-   /S/SU S-   /TS-  S-  * 4/$ Nr   r%   r   r         ?sqrtr(   rj   s    r   r.   struveh.<locals>.h   sa    A#s388CFF++,qsBiaeWqcCQRSVQV<[\]^[^abZbYbcddr   r9   r@   r
   r   r   rI   r.   s   ` `  r   struvehr      s9    AAAAe==C*6**r   c                    ^ ^ T R                  U5      nT R                  T5      mU U4S jnT R                  " XA/40 UD6$ )Nc                    > TS-  STR                  TR                  5      -  /U S-   S// U S-   /S/SU S-   /TS-  S-  4/$ r   r   rj   s    r   r.   struvel.<locals>.h   s^    A#s388CFF++,qsBiaeWqcCQRSVQV<Z[\]Z]`aYabccr   r   r   s   ` `  r   struvelr      s9    AAAAd==C*6**r   c                    ^ ^^ T R                  U5      S   nT R                  T5      mU UU4S jnT R                  " XR/40 UD6$ )Nr   c                   > TR                   nX-  nUS-  nX2-
  X2-   SU-
  SU-   4u  pEpgTR                  U5      u  pTS:X  a	  UT-  U	/U/pTS:X  a
  UT-  U* /U	/pTR                  TSS9nW
SS// XE/S/XE/U4nWS// Xg/S/Xg/U4nX4$ )Nr2   r   r   r"   mult)mpq_1_2r[   square_exp_arg)rL   r   ur]   a1a2b1b2csAr+   r6   rd   re   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   r9   r@   )r
   r   rL   r   rI   r.   s   `` `  r   _angerr     sB    1a AAA ==C*6**r   c                     [        U SX40 UD6$ Nr   r   r
   rL   r   rI   s       r   angerjr         #q!)&))r   c                     [        U SX40 UD6$ Nr   r   r   s       r   weberer     r   r   c                    ^ ^ T R                  U5      S   nT R                  U5      S   nT R                  T5      mU U4S jnT R                  " XQU/40 UD6$ )Nr   c           	         > TR                   nTR                  TSS9nX-
  S-   X-   S-   T/SSU S-   // / S/X U-
  S-   -  X U-   S-   -  /U44$ )Nr"   r   r   r   r2   r   r   )r   rL   r   r6   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   rL   r   rI   r.   s   `  `  r   lommels1r     sY    1a A1a AAA'
 ==qE,V,,r   c                    ^ ^ T R                  U5      S   nT R                  U5      S   nT R                  T5      mU U4S jnT R                  " XQU/40 UD6$ )Nr   c           	      J  > TR                   nTR                  TSS9nX-
  S-   X-   S-   T/SSU S-   // / S/X U-
  S-   -  X U-   S-   -  /U4nST/X-   S-
  U* /XX-   S-   -  /X!U -
  S-   -  // SU-
  /U4nST/X-
  S-
  U/U* X U-
  S-   -  /USU -
  U-
  -  // SU-   /U4nXEU4$ )Nr"   r   r   r   r2   r   r   )	r   rL   r   r6   rd   re   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   `  `  r   lommels2r   )  sY    1a A1a AAA  ==qE,V,,r   c                    ^ ^ T R                  U5      nT R                  T5      mU U4S jnT R                  " XA/40 UD6$ )Nc           	         > TS-  S-  * nTR                  SU -  5      u  p#UTS-  /SU // U S-   // SSU S-   -  SU -  S-   /U4nUTS-  /SU S-   // U S-   // SSU S-   -  SU -  S-   /U4nXE4$ )N         r   r   r%   r   r2   r[   r   r*   r^   r_   rd   re   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   ` `  r   berr   F  :    AAAA ==C*6**r   c                    ^ ^ T R                  U5      nT R                  T5      mU U4S jnT R                  " XA/40 UD6$ )Nc           	         > TS-  S-  * nTR                  SU -  5      u  p#UTS-  /SU S-   // U S-   // SSU S-   -  SU -  S-   /U4nUTS-  /SU // U S-   // SSU S-   -  SU -  S-   /U4nXE4$ )Nr         ?r   r   r   r%   r2   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   ` `  r   beir   S  r   r   c                    ^ ^ T R                  U5      nT R                  T5      mU U4S jnT R                  " XA/40 UD6$ )Nc           
        > TS-  S-  * nT
R                  SU -  5      u  p#T
R                  SU -  5      u  pESTSU-  /U * S-
  U S/U * // / SSSU -   -  SU S-   -  /U4nSTU* /U * S-
  SU -   S/U * S-
  // / SSSU -   -  SU S-   -  /U4nSTSU-  /U S-
  U * S/U // / SSSU -
  -  SSU -  -
  /U4nSTU* /U S-
  SU -
  S/U S-
  // / SSSU -
  -  SSU -  -
  /U4n	XgX4$ )	Nr   rO   r   r   r2   r   r%   r   r   r   r*   cos1sin1cos2sin2rd   re   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   ` `  r   kerr   `  :    AAAA ==C*6**r   c                    ^ ^ T R                  U5      nT R                  T5      mU U4S jnT R                  " XA/40 UD6$ )Nc           
        > TS-  S-  * nT
R                  SU -  5      u  p#T
R                  SU -  5      u  pEU* ST/SU S-
  SU -
  /U S-
  // / SSSU -
  -  SSU -  -
  /U4nU* ST/SU S-
  U * /U // / SSSU -
  -  SSU -  -
  /U4nU* ST/SU * S-
  U /U * // / SSU S-   -  SU S-   -  /U4nU* ST/SU * S-
  U S-   /U * S-
  // / SSU S-   -  SU S-   -  /U4n	XgX4$ )	Nr   r   rO   r   r   r2   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   ` `  r   keir   p  r   r   c                 0   ^ ^ T R                   mU U4S jnU$ )Nc                    > U R                   nU R                  nUR                  TS5      u  p4X2:  a  U7$ UT" U 5      4UT'   UT   S   $ )N)r   r   r   )_misc_const_cacher!   get)r
   cacher!   prL   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   ` @r   c_memor     s    ::D" r   c                 r    SU R                  S5      U R                  U R                  S5      S-  5      -  -  $ )Nr   	   r   r2   cbrtgammar?   r
   s    r   
_airyai_C1r     s/    cii
15566r   c                 r    SU R                  S5      U R                  U R                  S5      S-  5      -  -  $ )Nr   r2   r   r   r   s    r   
_airyai_C2r     s/    !syyA6677r   c                 t    SU R                  SS5      U R                  U R                  S5      S-  5      -  -  $ )Nr   r2      r   nthrootr   r?   r   s    r   
_airybi_C1r     s2    Aa 399SWWQZ\#::;;r   c                 n    U R                  SS5      U R                  U R                  S5      S-  5      -  $ )Nr2   r   r   r   r   s    r   
_airybi_C2r     s-    ;;qcii
1555r   c                     U R                   n U R                  SS5      U R                  S5      -  SU R                  -  -  nXl         U7$ ! Xl         f = f)Nr2   2/3r   )r!   powerr   r(   )r
   r!   rL   s      r   _airybi_n2_infr     sP    88DIIasyy//366:2I s   4A Ac                    US:X  a  US:  a  U$ U R                   nU R                  n U =R                  S-  sl        U R                  US-   U-  5      U R                  SX%-  5      -  U R                  -  nUS:X  a1  XpR                  SUS-   -  U-  5      -  nXpR                  SS5      -  nO:U[        U R                  SUS-   -  U-  5      5      -  nXpR                  SS5      -  nX`l        U7U-   $ [        e! X`l        f = f)	NZr   r0   r   r2   r   r   z1/6)mpq_1_3r!   r   r   r(   r   rA   rC   )r
   r   r   ntyper   r*   r!   rL   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   B?C9 9Dc           	        ^ ^^ T R                  T5      mU(       a  T R                  U5      u  pEOSnT R                  T5      (       d  T(       a  U(       a  WS:X  a  US:X  aT  TT R                  :X  a  T R	                  S5      S-  ST-  -   $ TT R
                  :X  a  T R	                  S5      S-  ST-  -   $ US:  a+  TT R                  :X  a  T$ TT R
                  :X  a	  SU-  T* -  $ U(       d  TT R                  :X  d  TT R
                  :X  a  ST-  $ [        S5      eT(       a(  [        S[        ST R                  T5      -  5      5      mOSmU(       a  US:X  a  U UU4S	 jnT R                  " U/ 40 UD6$ TS:X  a  [        T TUWS5      $ U UU4S
 jnT R                  " Xd/40 UD6nT R                  T5      (       a'  T R                  U5      (       a  T R                  U5      nU$ U UU4S jnT R                  " U/ 40 UD6$ )Nr   r   r   r   r2   zessential singularity of Ai(z)r   c                  B  > TR                  T
5      S:  a  T=R                  T	-  sl        T
S-  n SU -  nSU -  S-  nT=R                  T	-  sl        TR                  U5      * STR                  TR                  5      -  -  TR                  T
S5      -  nU/S// / SS	// U44$ T=R                  T	-  sl        T
S-  S
-  n T=R                  T	-  sl        [        T5      S-  n[        T5      nUT
/SS// / / TR                  /U 4nU/S// / / TR                  /U 4nXg4$ )Nr   r   r   r  r2   r   r   )r   r   )   r   r   r%   )
r;   r!   ri   r   r(   r   r   r   mpq_5_3r   r6   r*   r   CC1C2rd   re   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                 z  > T=R                   T-  sl         TS-  S-  nT=R                   T-  sl         TR                  TR                  TR                  pCnUnSnSU -
  U-  nSU -
  U-  nSX-  -
  n	ST/X-
  U * /U/XxU	/XV/XxU	/U4n
UnSU -
  U-  nSX-  -
  nSU -
  U-  n	STT* /X-
  U * S/U/XxU	/XV/XxU	/U4nX4$ Nr2   r   r   r   r   )r!   r   mpq_2_3mpq_4_3)r   r6   q13q23q43r   r   r   r   b3rd   re   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                  <  > TR                  T
5      S:  a  T=R                  T	-  sl        T
S-  n SU -  nSU -  S-  nT=R                  T	-  sl        TR                  U5      STR                  TR                  5      -  TR                  T
S5      -  -  nU/S// / SS	// U44$ T=R                  T	-  sl        T
S-  S
-  n T=R                  T	-  sl        [        T5      n[        T5      nU/S// / / TR                  /U 4nT
U-  /S// / / TR                  /U 4nXg4$ )Nr   r   r   r  r2   r   r   )r   r   )   r   r   )
r;   r!   ri   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   )r9   r   isnormalrF   r?   rX   rR   r5   r8   r<   r@   r  _is_real_typer:   r;   	r
   r   rH   rI   r   r   r.   rL   r  s	   ``      @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           	        ^ ^^ T R                  T5      mU(       a  T R                  U5      u  pEOSnT R                  T5      (       d  T(       a  U(       aS  WS:X  aM  TT R                  :X  a  T$ TT R                  :X  a+  US:X  a  ST-  $ US:X  a  [        T 5      $ US:  a	  SU-  T* -  $ U(       d'  TT R                  :X  a  T$ TT R                  :X  a  ST-  $ [        S5      eT(       a(  [        S[        ST R                  T5      -  5      5      mOSmU(       a  US:X  a  U UU4S jnT R                  " U/ 40 UD6$ TS:X  a  [        T TUWS5      $ U UU4S	 jnT R                  " Xd/40 UD6nT R                  T5      (       a'  T R                  U5      (       a  T R                  U5      nU$ U UU4S
 jnT R                  " U/ 40 UD6$ )Nr   r   r   r   r  zessential singularity of Bi(z)r   c                     > T=R                   T-  sl         TS-  S-  n T=R                   T-  sl         [        T5      S-  n[        T5      nUT/SS// / / TR                  /U 4nU/S// / / TR                  /U 4nX44$ )Nr2   r   r%   r   r   )r!   r   r   r  r   r6   r	  r
  rd   re   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                   > T=R                   T-  sl         TS-  S-  nT=R                   T-  sl         TR                  TR                  TR                  pCnTR                  nTR
                  nUnSnSU -
  U-  n	SU -
  U-  n
SX-  -
  nST/X-
  U * /U/XU/Xx/XU/U4nUnSU -
  U-  n	SX-  -
  n
SU -
  U-  nST/X-
  SU -
  /U/XU/Xx/XU/U4nX4$ r  )r!   r   r  r  mpq_1_6mpq_5_6)r   r6   r  r  r  q16q56r   r   r   r   r  rd   re   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                     > T=R                   T-  sl         TS-  S-  n T=R                   T-  sl         [        T5      n[        T5      nU/S// / / TR                  /U 4nTU-  /S// / / TR                  /U 4nX44$ )Nr2   r   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   )r9   r   r  rF   rX   r   rR   r5   r8   r<   r@   r  r  r:   r;   r  s	   ``      @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                 \  ^  S nS n[        U5      nUS:  a  [        S5      eUS;  a  [        S5      eUS:X  ay  U(       a6  T R                  U 4S jU" S	T R                  -  S
U-  S	-
  -  S-  5      * 5      $ T R                  T R                  U" S	T R                  -  S
U-  S-
  -  S-  5      * 5      $ US:X  a  US:X  ay  U(       a6  T R                  U 4S jU" S	T R                  -  S
U-  S-
  -  S-  5      * 5      $ T R                  T R
                  U" S	T R                  -  S
U-  S	-
  -  S-  5      * 5      $ US:X  a  US:X  a  U(       am  S	T R                  -  S
U-  S	-
  -  S-  ST R                  -  -   nT R                  T R                  S5      S	-  5      U" U5      -  nT R                  U 4S jU5      $ S	T R                  -  S
U-  S-
  -  S-  ST R                  -  -   nT R                  T R                  S5      S	-  5      U" U5      -  nT R                  T R
                  U5      $ g g )Nc                 *    U S-  SSU S-  S-  -  -
  -  $ )NUUUUUU?r   r  r   0   rc   ts    r   U_airy_zero.<locals>.Uh       QY!QT"W+..r   c                 *    U S-  SSU S-  S-  -  -   -  $ )Nr(  r   r  r   r)  rc   r*  s    r   r,   _airy_zero.<locals>.Ti  r.  r   r   zk cannot be less than 1r   r   z%Derivative should lie between 0 and 1r   c                 (   > TR                  U S5      $ r   )r  r   r
   s    r   <lambda>_airy_zero.<locals>.<lambda>q      #**Qq/r   r2   r      Fc                 (   > TR                  U S5      $ r   r%  r3  s    r   r4  r5  v  r6  r   Ty              ?c                 (   > TR                  U S5      $ r   r9  r3  s    r   r4  r5  }  r6  r   )	r8   rR   findrootr(   r  r%  ln2expjpir?   )	r
   r   r   rH   complexr,  r,   r+  r   s	   `        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                     [        U SXS5      $ )Nr   Fr?  )r
   r   rH   s      r   
airyaizerorB    s    c1aU33r   c                     [        U SXU5      $ r   rA  )r
   r   rH   r>  s       r   
airybizerorD    s    c1aW55r   c           	      r  ^ ^^^^ T R                  T5      mT R                  T5      (       aC  TT R                  :X  a  TS:X  a  ST-  $ TS:X  a  T$ TT R                  :X  a  ST-  $ [	        S5      eT(       a(  [        S[        ST R                  T5      -  5      5      mOSmTR                  S5      (       a  [        e T R                  T5      S:  a  TS:X  aQ  [        T R                  T5      5      T R                  S-  S-  :  a#  U U4S jnT R                  U/ T R                  S	S
9$ TS:X  aU  [        T R                  T* 5      5      ST R                  -  S-  S-  :  a#  U U4S jnT R                  U/ T R                  S	S
9$ U UUUU4S jnT R                  " U/ 40 TD6$ ! T R                   a     N0f = f)Nr   r   zessential singularityr   rH   r2   g+?c            	      D   > T R                   T/SS// / / SQ/ STS-  -  44$ Nr   ))r   r2   )r   r2   r   r   r2   r(   r
   r   s   r   r.   _scorer.<locals>.h  s/    !ffQZB2ob1a4PRRr   T)r~   force_seriesr   c            	      F   > T R                   * T/SS// / / SQ/ STS-  -  44$ rG  rH  rI  s   r   r.   rJ    s1    "vvga["RBr!AqD&QSSr   c                  6  > TR                   " T	40 TD6S-  n STR                  -  nTS:X  a
  U S-  n US-  nT=R                  T-  sl        T	S-  S-  nT=R                  T-  sl        U /S// / / / S4nUT	/SS// / S/TR                  TR                  /U4nX44$ )Nr2   r  r   r   r   r   r   )r%  r(   r!   r  r  )
r   r+   r6   rd   re   r
   r  rI   r   r   s
        r   r.   rJ    s    JJq#F#A%svvIA:FAGAIqDFIS1#r2r2q(URFBQC#++ckk)BAEvr   )r9   isinfrF   rX   rR   r5   r8   r<   r   rC   rA   argr(   r@   r!   r   )r
   r   r   rI   r.   r  s   ```` @r   _scorerrP    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   >A+F# *AF# #F65F6c                     [        XSU5      $ r   rP  r
   r   rI   s      r   scorergirT        31f%%r   c                     [        XSU5      $ r   rR  rS  s      r   scorerhirW    rU  r   c                    X4U;   a!  X1U4   S   U R                   :  a
  X1U4   S   7$ U R                  SU-  S-   5      nU R                  SU-   U R                  U-  -   5      nU R                  SU-   U R                  U-  -
  5      nSU-  U R                  U R                  * U-  U-   U-   S-  U-
  5      -  nU R                  U5      (       d'  U R                  U5      (       d  U R                  U5      nU R                   U4X1U4'   U$ )Nr   r   r   )r!   loggammaro   ri   r(   rV   rE   )r
   leta_cacheG3G1G2rL   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                 $  ^ ^^ U UU4S jnT R                   " XqU/40 UD6nU(       ah  T R                  U5      (       dR  T R                  U5      (       d<  T R                  T5      (       d&  T R                  T5      S:  a  T R                  U5      nU$ )Nc                 ,  >  TR                   T-  nTR                  UT	SS9nTR                  USSS9nTR                  X5      nUT	TR                  U5      /SU S-   S// / SU -   X!-  -   /SU -  S-   /U4nU4$ ! [         a    S/S// / / / S4n U4$ f = f)NTr#   r  r   r   r   r   )ro   r'   r`  ri   rR   )
rZ  r[  jwjwzjwz2r  rd   r
   r6   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   A3A9 9BBr   )r@   rV   rE   	r
   rZ  r[  r   r6   choprI   r.   rL   s	   `  ``    r   coulombfri    si    
 	aC+F+ASVVAYYsvvayy	aFF1IHr   c                    ^ ^^ TT4U;   a"  UTT4   S   T R                   :  a
  UTT4   S   $ U UU4S jnT R                  US5      nT R                   U4UTT4'   U$ )Nr   r   c                    > T* S-
  n TR                   T-  nTR                  ST-   U-   5      S-  TR                  ST-   U-
  5      S-  TR                  SU -   U-   5      S-  TR                  SU -   U-
  5      S-  TS-   * TR                  -  /$ )Nr   y             y              ?r%   )ro   rY  r(   )l2jetar
   r[  rZ  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
   rZ  r[  r\  rn  rL   s   ```   r   _coulomb_chirq    sm    	3x6fQsUmA.#((:ae}Q 	5!$AXXqMF1S5MHr   c                 r  ^ ^^ T R                  U5      (       d  T R                  U5      nU UU4S jnT R                  " XqU/40 UD6nU(       ah  T R                  U5      (       dR  T R                  U5      (       d<  T R                  T5      (       d&  T R                  T5      S:  a  T R                  U5      nU$ )Nc                 4  > TR                  U S-  5      (       a  S/S// / / / S4nU4$ U * S-
  n TR                  X5      nTR                  T-  nTR                  U5      nTR	                  U5      nTR                  X5      nTR                  X15      n	TR                  UT-  5      n
SU-  T-  nXhTX/SSU S-   SS// / SU -   XQ-  -   /SU -  S-   /U4nU* U	TU
/SSUS-   S// / SU-   XQ-  -   /SU-  S-   /U4nX,4$ ! [         a    S/S// / / / S4nU4s $ f = f)Nr   r   r   r   r  )r:   rq  ro   r_   r^   r`  ri   rR   )rZ  r[  rd   rl  chirc  r   r   r	  r
  r   r   re   r
   r6   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   CC< <DDr   )_imr;   r@   rg  s	   `  ``    r   coulombgrw    s    
 771::GGAJ, 	aC+F+ASWWQZZ#''#,,	qGGAJHr   c                    SUS-  -  nUS:X  a%  U(       d  SU-  SU-  -   S-
  U R                   -  S-  nUS:X  a%  U(       d  SU-  SU-  -   S-
  U R                   -  S-  nUS:X  a%  U(       a  SU-  SU-  -   S-
  U R                   -  S-  nUS:X  a%  U(       a  SU-  SU-  -   S-
  U R                   -  S-  nU(       d  WnUS-
  * SU-  -  nSUS-
  -  SU-  S-
  -  SSU-  S-  -  -  n	S	US-
  -  S
US-  -  SU-  -
  S-   -  SSU-  S-  -  -  n
SUS-
  -  SUS-  -  SUS-  -  -
  SU-  -   S-
  -  SSU-  S-  -  -  nU(       a  WnUS-   * SU-  -  nSSUS-  -  SU-  -   S-
  -  SSU-  S-  -  -  n	S	S
US-  -  SUS-  -  -   SU-  -
  S-   -  SSU-  S-  -  -  n
SSUS-  -  SUS-  -  -   SUS-  -  -
  SU-  -   S-
  -  SSU-  S-  -  -  nWWW	W
W/nUnSn[        S[        U5      5       H8  n[        X   5      [        XS-
     5      :  a	  XU   -  nM+  [        X   5      nM:     W[        U5      S-
  :X  a  [        US   5      nX4$ ) 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.
r   r   r   r2   r7  r     iS   i  i  r   r  ii%  iX iO2 iu_ i   R   r   i  i  i  i, i il"q iQY g        r   )r(   r>   lenrA   )r
   kindprimerL   r]   r   r   s1s2s3s4s5rn  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sVQqS\1Xqs2v1Q3(
+!A#Y1a4Ad*+R1q[9!A#YQT	&A+-gai7?@#qsQh,O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                 ^   US:  a  [        S5      eUS-   n/ n/ n U R                  X#U5      nU Vs/ s H  oR                  U" U5      5      PM     nn[        US-
  5       V	s/ s H   n	Xy   XyS-      -  S:X  d  M  Xi   XiS-      4PM"     n
n	[	        U
5      U:X  a  U
$ US-  nM  s  snf s  sn	f )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.
r   zn cannot be less than 1r   r   )rR   linspacesignr>   r~  )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 0*s    B%$B*<B*c                 $    U R                  XSSS9$ )NillinoisF)solververify)r;  )r
   r   abs      r   find_in_intervalr  Q  s    <<j<??r   g{Gz?c           	        ^ ^ T R                   n[        UT R                  T5      T R                  U5      5      S-   n UT l         T R                  T5      m[	        U5      n[	        U5      nTS:  a  [        S5      eUS:  a  [        S5      eUS;  a  [        S5      eUS:X  a  U(       a  U U4S jn	OU U4S	 jn	US
:X  a  U(       a  U U4S jn	OU U4S jn	US:X  ah  U(       aa  US:X  a[  TS:X  a  T R                  UT l         $ TS::  a<  S
T R                  TST-   -  TS
-   -  5      -  n
[        T W	U
S-  S
U
-  45      UT l         $ XTU4U;   a  [        T W	XaUTU4   5      UT l         $ [        T XTU5      u  pX:  a  [        T W	X-
  X-   45      UT l         $ US:X  a	  U(       d  SnUS:X  a	  U(       a  SnUS
:X  a	  U(       d  SnUS
:X  a	  U(       a  SnUS-   n [        T XTU5      u  pX:  ab  [        T XTUS-   5      u  nn[        T W	WSX-   -  U5      n[        U5       H  u  nnUXaUTUS-   4'   M     [        T U	UUS-
     5      UT l         $ US
-  nM~  ! UT l         f = f)Nr0   r   zv cannot be negativer   zm cannot be less than 1r1  z prime should lie between 0 and 1c                 &   > TR                  TU SS9$ Nr   )rH   r   r   r
   rL   s    r   r4  bessel_zero.<locals>.<lambda>c      CKK!qK$Ar   c                 (   > TR                  TU 5      $ rm   r   r  s    r   r4  r  d      CKK!$4r   r   c                 &   > TR                  TU SS9$ r  r`   r  s    r   r4  r  f  r  r   c                 (   > TR                  TU 5      $ rm   r  r  s    r   r4  r  g  r  r   g333333@g?g?g       @r%   )r!   r5   r<   r?   r8   rR   zeror   r  r  r  	enumerate)r
   r  r  rL   r]   isoltol_interval_cacher!   workprecr   r*   r  lowr   r1r2err2	intervalsr   r  s   `  `                r   bessel_zeror  T  s   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  s+   B=I :I I ('I B1I I 	I c                      [        U SX1U5      7$ )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  r
   rL   r]   rH   s       r   besseljzeror    s    ` Q
q111r   c                      [        U SX1U5      7$ )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  r  s       r   besselyzeror    s    r Q
q111r   N)r   )F)r   F)r   T)2	functionsr   r   r   r   r   rT   r`   rk   rq   rt   rx   r|   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r%  r?  rB  rD  rP  rT  rW  r`  ri  rq  rw  r  r  r  r  r  r  rc   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   