o
    lh2                     @   sF  d dl mZmZ edd Zedd ZededdZeded	d
ZededdZedd Zedd Z	edd Z
edd Zedd Zedd Zedd Zedd Zdd Zedd  Zed!d" Zed#d$ Zed%d& Zed'd( Zed)d* Zed+d, Zed-d. Zd/d0 Zed1d2 Zed3d4 Zed5d6 Zed7d8 Zd9d: Zd;d< Zeded=d>Z eded?d@Z!dfdBdCZ"ededDdEZ#edgdFdGZ$dHdI Z%edJdK Z&edLdM Z'ei fdNdOZ(edhdQdRZ)ei fdSdTZ*edhdUdVZ+dWdX Z,dYdZ Z-d[d\ Z.d]i fd^d_Z/eded`daZ0ededbdcZ1ddS )i   )defundefun_wrappedc                 C      |  d|S )zCComputes the Bessel function `J_0(x)`. See :func:`~mpmath.besselj`.    besseljctxx r   k/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/mpmath/functions/bessel.pyj0      r   c                 C   r   )zDComputes the Bessel function `J_1(x)`.  See :func:`~mpmath.besselj`.r   r   r   r   r   r   j1   r   r   r   c           	         s,  t tu r	d}n}|rt|r2dk r2d j |fi | S  |r|rdkrtj}z jd7  _fddt	d D }W |_n|_w |
d  9 }|S  fd	d
}j|gfi |}|S |s|rt dk rtdk rzW S  ty   Y nw sڈsƈj  }nKdkr҈ }n?j  }n7j}z/ jtdt  j7  _jddd fdd
}j|gfi |}W |_n|_w |
 }|S )NTr      c                 3   s<    | ]}d |   |  d|    V  qdS )r      N)binomialr   ).0k)r	   dnzr   r   	<genexpr>%   s    4zbesselj.<locals>.<genexpr>r   r   c                    s   j j j  dddd}d| | d  d| | d  g}djg|d|   d| | gg || d d | d d g|| d g |fg}|S )Nprec      пTexact      ?r   r   fmulr   pir   r   rBTMr	   r   r   r   h+   s   " Lzbesselj.<locals>.h
         r   r   c                    sJ   j jtdj  ddd}g| gg | d gg | d g|fgS )Nr   r   Tr   r   )fnegr!   maxr   )r   r$   )r(   r	   wr   r   r)   G   s   &$)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(   r	   r   r   r/   r   r   r      s^   

 




% 
r   c           	         s    |} sD|rt|sd|  S |r#d|  S |}|dkr3j|  S |dkr=d|  S j|  S  |rf |} fdd}j|||gfi |}|S  fdd}j||gfi |}|S )Nr   r   c                    s   j j j  dddd}d| | d  d| | d  | d g}djg|d|   d| | g| d g|| d d | d d g||fg}|S )Nr         ?Tr   r   r   r   r    r#   r'   r   r   r)   f   s   "&Hzbesseli.<locals>.hc                    sP   j ddd}j ||tdj  d}|g| gg | d gg | d g|fgS )Nr   Tr   r   r   r   )r!   r.   r   )r   r/   r$   r'   r   r   r)   m   s   $)r2   
ValueErrorr3   r>   nanr?   r5   r9   )	r	   r   r   rA   rB   r$   r   r)   rE   r   r'   r   besseliP   s0   





rI   c                 K   sP  |sW|rt |s| j ||  S | |r| j||  S | |}|d }| |r<|dkr6| j ||  S d||  S |dk rPt| |d rP| j||  S | j||  S |  j	d7  _	| 
|\}}|| j	 k r{| j
 }	|  j	d9  _	||	7 }n|dk r|  j	|8  _	| |\}
}| j|||fi ||
 | j| ||fi | | S )Nr   r   r   r*   )rG   r?   imrH   r>   r3   r1   floorninfr   nint_distanceepscospi_sinpir   )r	   r   r   rA   rB   r$   qmr   r)   cossinr   r   r   besselyt   s<   



rT   c                    s\   s j S  }|dk rfdd}n  j|7  _ fdd} j||gfi |S )Nr   c                    sf    d d } dg|  | d g| gg g d|  g|f} dg| |  d g|  gg g d|  g|f}||fS )Nr   r   r   )r   r$   T1T2r   r   r   r)      s   (*zbesselk.<locals>.hc              	      s@    j d   gg dg g | d d|  gg dd  fgS )Nr   )r         r   r   r   )r"   expr   r	   r   r   r   r)      s    )r?   r5   r   r9   )r	   r   r   rB   r(   r)   r   r[   r   besselk   s   

r\   c                 K   s.   | j ||fi || j| j||fi |  S Nr   jrT   r	   r   r
   rB   r   r   r   hankel1      .ra   c                 K   s.   | j ||fi || j| j||fi |  S r]   r^   r`   r   r   r   hankel2   rb   rc   c                 K   s   |dkr|  |dkr|S |  |dk r| j| S | j| S | jd|dd}d| }| |||  | j|| dd|  |fi | S )Nr   rX   Tr   r   r   r   )r>   r?   rH   r!   rY   hyp1f1)r	   r   rQ   r   rB   r
   yr   r   r   whitm   s   

4rf   c                 K   s   |dkrt | |}|dk r|S |dkr| j| S | j| S | jd|dd}d| }| |||  | j|| dd|  |fi | S )Nr   r   rX   Tr   r   r   )r:   r>   r?   rH   r!   rY   hyperu)r	   r   rQ   r   rB   gr
   re   r   r   r   whitw   s   

4ri   c                    s    |\}}  |\}} s/ |dkr* d| g|| d gS  j S d| | }  |\}}z, j}	z$  jd7  _ jdd||f||gd  jd}
|
|  W |	 _W S |	 _w   jyr   Y nw  fdd} j|||gfi |S )	Nr   r*   r   r   r   )maxtermsc                    s|     |} j|gddgg | | d |g| g|gf} j |gddd| gg | d| g| | d gd| gf}||fS )Nr   r   r   )sinpir"   )abr/   rU   rV   r[   r   r   r)      s   
,>zhyperu.<locals>.h)	_convert_paramr2   r>   	gammaprodr?   r   hypsumNoConvergencer9   )r	   rl   rm   r   rB   atypebtypebbbbtyperD   rE   r)   r   r[   r   rg      s*   

$rg   c                    8     |}   fdd} j||gfi |S )Nc                    sJ   d d   j g| d dgg | d gdgd| d gd d  fgS Nr   r   r   r         ?sqrtr"   rZ   r[   r   r   r)      s   Jzstruveh.<locals>.hr2   r9   r	   r   r   rB   r)   r   r[   r   struveh      

r}   c                    rv   )Nc                    sH   d d   j g| d dgg | d gdgd| d gd d fgS rw   ry   rZ   r[   r   r   r)      s   Hzstruvel.<locals>.hr{   r|   r   r[   r   struvel   r~   r   c                    s>     |d }  fdd} j||gfi |S )Nr   c                    s    j }| | }|d }|| || d| d| f\}}}} |\}}	dkr2| |	g|g}
}dkrA| | g|	g}
} jdd}|
ddgg ||gdg||g|f}|dgg ||gdg||g|f}||fS )Nr,   r   r   r   mult)mpq_1_2rO   square_exp_arg)rE   rm   urQ   a1a2b1b2csAr%   r/   rU   rV   r	   whichr   r   r   r)     s   $ z_anger.<locals>.hrn   r2   r9   )r	   r   rE   r   rB   r)   r   r   r   _anger  s   
r   c                 K      t | d||fi |S Nr   r   r	   rE   r   rB   r   r   r   angerj     r   c                 K   r   Nr   r   r   r   r   r   webere  r   r   c                    L     |d }  |d }  fdd} j|||gfi |S )Nr   c              	      sf    j } jdd}| | d | | d gdd| d gg g dg|| | d  || | d  g|ffS )Nr   r   r   r   r,   r   r   )r   rE   rm   r/   r[   r   r   r)   "  s
   , zlommels1.<locals>.hr   r	   r   rE   r   rB   r)   r   r[   r   lommels1  s
   
r   c                    r   )Nr   c              	      s    j } jdd}| | d | | d gdd| d gg g dg|| | d  || | d  g|f}dg| | d | g||| | d  g|||  d  gg d| g|f}dg| | d |g| || | d  g|d|  |  gg d| g|f}|||fS )Nr   r   r   r   r,   r   r   )r   rE   rm   r/   rU   rV   T3r[   r   r   r)   4  s   PHH

zlommels2.<locals>.hr   r   r   r[   r   lommels2)  s
   
r   c                    rv   )Nc              	      s   d d  }  d|  \}}|d gd| gg | d gg dd| d  d|  d g|f}|d gd| d gg | d gg dd| d  d|  d g|f}||fS )N         r   r   r   rx   r,   rO   r   r$   rR   rS   rU   rV   r[   r   r   r)   K  s
   :>zber.<locals>.hr{   r|   r   r[   r   berF     

r   c                    rv   )Nc              	      s   d d  }  d|  \}}|d gd| d gg | d gg dd| d  d|  d g|f}|d gd| gg | d gg dd| d  d|  d g|f}||fS )Nr         ?r   r   rx   r   r,   r   r   r[   r   r   r)   X  s
   >:zbei.<locals>.hr{   r|   r   r[   r   beiS  r   r   c                    rv   )Nc           
   
      sL  d d  }  d|  \}}  d|  \}}dd| g|  d | dg|  gg g ddd|   d| d  g|f}d| g|  d d|  dg|  d gg g ddd|   d| d  g|f}dd| g| d |  dg| gg g ddd|   dd|   g|f}d| g| d d|  dg| d gg g ddd|   dd|   g|f}	||||	fS )	Nr   rF   r   r   r,   r   r   rx   r   
r   r$   cos1sin1cos2sin2rU   rV   r   T4r[   r   r   r)   e  s   BH@Dzker.<locals>.hr{   r|   r   r[   r   ker`     

	r   c                    rv   )Nc           
   
      sH  d d  }  d|  \}}  d|  \}}| dgd| d d|  g| d gg g ddd|   dd|   g|f}| dgd| d |  g| gg g ddd|   dd|   g|f}| dgd|  d | g|  gg g dd| d  d| d  g|f}| dgd|  d | d g|  d gg g dd| d  d| d  g|f}	||||	fS )	Nr   r   rF   r   r   r,   rx   r   r   r   r[   r   r   r)   u  s   D>@Hzkei.<locals>.hr{   r|   r   r[   r   keip  r   r   c                    s    j  fdd}|S )Nc                    sF   | j }| j}|d\}}||kr|
 S | | f|< | d S )N)r   r   r   )_misc_const_cacher   get)r	   cacher   prE   fnamer   r   	f_wrapped  s   zc_memo.<locals>.f_wrapped)__name__)r   r   r   r   r   c_memo  s   	r   c                 C   s"   d|  d| | dd   S )Nr   	   r   r,   cbrtgammar8   r	   r   r   r   
_airyai_C1     "r   c                 C   s"   d|  d| | dd   S )Nr   r,   r   r   r   r   r   r   
_airyai_C2  r   r   c                 C   s$   d|  dd| | dd   S )Nr   r,      r   nthrootr   r8   r   r   r   r   
_airybi_C1  s   $r   c                 C   s    |  dd| | dd  S )Nr,   r   r   r   r   r   r   r   
_airybi_C2  s    r   c                 C   s>   | j }z| dd| d d| j  }W || _ |
 S || _ w )Nr,   2/3r   )r   powerr   r"   )r	   r   rE   r   r   r   _airybi_n2_inf  s   "r   c                 C   s   |dkrk|dk r
|S | j }| j}zQ|  jd7  _| |d | | d||  | j }|dkrF|| d|d  | 9 }|| dd }n|t| d|d  | 9 }|| dd }W || _n|| _w |
 | S t)	NZr   r*   r   r,   r   r   z1/6)mpq_1_3r   r   r   r"   rk   r:   r<   )r	   r   r   ntyper   r$   r   rE   r   r   r   _airyderiv_0  s"   (
r   c                    s    |r |\}}nd} smrm|rY|dkrY|dkrB jkr2 dd d  S  jkrB dd d  S |dk rY jkrMS  jkrYd|   S |s` jkse jkrid S tdr|tdtd 	 nd|r|dkr fd	d
} j
|g fi |S dkrt ||dS  fdd
} j
||gfi |} rĈ |rĈ |}|S  fdd
} j
|g fi |S )Nr   r   r   r   r,   zessential singularity of Ai(z)rx   c                     s    dkrE  j7  _d } d|  }d|  d }  j8  _ | d  j   d }|gdgg g dd	gg |ffS   j7  _d d
 }   j8  _t d }t }|gddgg g g  jg| f}|gdgg g g  j	g| f}||fS )Nr   rx   r   r   r,   r   r   )r   r   )   r   r   r   )
r4   r   rY   rz   r"   r   r   r   mpq_5_3r   r/   r$   r   CC1C2rU   rV   r	   	extraprecr   r   r   r)     s   (zairyai.<locals>.hc                    s    j 7  _ d d }  j 8  _  j j j}}}|}d}d|  | }d|  | }d| |  }	dg| | |  g|g|||	g||g|||	g|f}
|}d|  | }d| |  }d|  | }	d g| | |  dg|g|||	g||g|||	g|f}|
|fS Nr,   r   r   r   r   )r   r   mpq_2_3mpq_4_3)r   r/   q13q23q43r   r   r   r   b3rU   rV   r   r   r   r)     s   ,($c                     s     dkrD  j7  _d } d|  }d|  d }  j8  _ |d  j  d  }|gdgg g dd	gg |ffS   j7  _d d
 }   j8  _t }t }|gdgg g g  jg| f}| gdgg g g  j	g| f}||fS )Nr   rx   r   r   r,   r   r   )r   r   )   r   r   )
r4   r   rY   rz   r"   r   r   r   r   r   r   r   r   r   r)     s   &)r2   rn   isnormalr?   r8   rL   rG   r.   r1   r5   r9   r   _is_real_typer3   r4   r	   r   rA   rB   r   r   r)   rE   r   r   r   airyai  sF   





r   c                    s    |r |\}}nd} s[r[|rE|dkrE jkr%S  jkrE|dkr2d S |dkr:t S |dk rEd|   S |sW jkrNS  jkrWd S tdrjtdtd 	 nd|r|dkr fdd	} j
|g fi |S dkrt ||dS  fd
d	} j
||gfi |} r |r |}|S  fdd	} j
|g fi |S )Nr   r   r   r   r   zessential singularity of Bi(z)rx   c                     s|     j 7  _ d d }   j 8  _ t d }t }|gddgg g g  jg| f}|gdgg g g  jg| f}||fS )Nr,   r   r   r   r   )r   r   r   r   r   r/   r   r   rU   rV   r   r   r   r)   ;  s   zairybi.<locals>.hc                    s    j 7  _ d d }  j 8  _  j j j}}} j} j}|}d}d|  | }	d|  | }
d| |  }dg| | |  g|g|	|
|g||g|	|
|g|f}|}d|  | }	d| |  }
d|  | }dg| | d|  g|g|	|
|g||g|	|
|g|f}||fS r   )r   r   r   r   mpq_1_6mpq_5_6)r   r/   r   r   r   q16q56r   r   r   r   r   rU   rV   r   r   r   r)   H  s   ,( c                     sx     j 7  _ d d }   j 8  _ t }t }|gdgg g g  jg| f}| gdgg g g  jg| f}||fS )Nr,   r   r   )r   r   r   r   r   r   r   r   r   r)   [  s   )r2   rn   r   r?   rL   r   rG   r.   r1   r5   r9   r   r   r3   r4   r   r   r   r   airybi  sJ   




	
	r   Fc           	         s  dd }dd }t |}|dk rtd|dvrtd|d	krO|r:  fd
d|d j d| d  d  S   j|d j d| d  d  S |dkr|dkr|rq  fdd|d j d| d  d  S   j|d j d| d  d  S |dkr|dkr|rd j d| d  d d j  }  dd || }  fdd|S d j d| d  d d j  }  dd || }  j|S d S d S )Nc                 S   s   | d dd| d d    S )NUUUUUU?r   r   r   0   r   tr   r   r   Uh      z_airy_zero.<locals>.Uc                 S   s   | d dd| d d    S )Nr   r   r   r   r   r   r   r   r   r   r&   i  r   z_airy_zero.<locals>.Tr   zk cannot be less than 1r   r   z%Derivative should lie between 0 and 1r   c                         | dS r   )r   rW   r   r   r   <lambda>q      z_airy_zero.<locals>.<lambda>r,   r      Fc                    r   r   r   rW   r   r   r   r   v  r   Ty              ?c                    r   r   r   rW   r   r   r   r   }  r   )	r1   rG   findrootr"   r   r   ln2expjpir8   )	r	   r   r   rA   complexr   r&   r   r   r   r   r   
_airy_zerof  s8   **$$r   c                 C   s   t | d||dS )Nr   Fr   )r	   r   rA   r   r   r   
airyaizero     r   c                 C   s   t | d|||S r   r   )r	   r   rA   r   r   r   r   
airybizero  r   r   c                    sj     r* jkrdkrd S dkrS  jkr&d S tdr9tdtd  nddrBt	zT dkrdkrnt
  jd d k rn fdd	} j|g  jd
dW S dkrt
  d j d d k r fdd	} j|g  jd
dW S W n
  jy   Y nw  fdd	} j|g fi S )Nr   r   zessential singularityrx   rA   r,   g+?c                	      s*    j gddgg g g dg dd  ffS Nr   ))r   r,   )r   r,   r   r   r,   r"   r   r[   r   r   r)     s   *z_scorer.<locals>.hT)rj   force_seriesr   c                	      s,    j  gddgg g g dg dd  ffS r   r   r   r[   r   r   r)     s   ,c                     s    j fi d } d j }dkr| d9 } |d9 }  j7  _d d }  j8  _| gdgg g g g df}|gddgg g dg j jg|f}||fS )Nr,   r   r   r   r   r   r   )r   r"   r   r   r   )r   r%   r/   rU   rV   r	   r   rB   r   r   r   r   r)     s   
$)r2   isinfr?   rL   rG   r.   r1   r5   r   r<   r:   argr"   r9   r   rq   )r	   r   r   rB   r)   r   r   r   _scorer  s6   




$*r  c                 K      t | |d|S r   r  r	   r   rB   r   r   r   scorergi     r  c                 K   r  r   r  r  r   r   r   scorerhi  r  r	  c                 C   s   ||f|v r|||f d | j kr|||f d 
 S | d| d }| d| | j|  }| d| | j|  }d| | | j | | | d |  }| |s_| |s_| |}| j |f|||f< |S )Nr   r   r   )r   loggammar_   rY   r"   rJ   r>   )r	   leta_cacheG3G1G2rE   r   r   r   coulombc  s   "*
r  Tc           	         sf    fdd} j |||gfi |}|r1 |s1 |s1 s1 dkr1 |}|S )Nc              
      s   z? j  } j|dd} j|ddd} | |}| |gd| d dgg g d|  ||  gd|  d g|f}W |fS  tyU   dgdgg g g g df}Y |fS w )NTr   r   r   r   r   r   )r_   r!   r  rY   rG   )r  r  jwjwzjwz2r   rU   r	   r/   r   r   r   r)     s   
.zcoulombf.<locals>.hr   )r9   rJ   r>   	r	   r  r  r   r/   choprB   r)   rE   r   r  r   coulombf  s   "
r  c                    sd   f|v r|f d  j kr|f d S  fdd} |d} j |f|f< |S )Nr   r   c                     sv    d }  j  } d | d  d | d  d|  | d  d|  | d d   j gS )Nr   y             y              ?r   )r_   r
  r"   )l2jetar	   r  r  r   r   terms  s   

z_coulomb_chi.<locals>.terms)r   sum_accurately)r	   r  r  r  r  rE   r   r  r   _coulomb_chi  s   "r  c           	         sz     |s
 |} fdd} j|||gfi |}|r;  |s;  |s;  s; dkr; |}|S )Nc              
      sL    | d rdgdgg g g g df}|fS |  d }zt | |} j } |} |} | |} ||}	 | }
d|  }|||
|gdd| d ddgg g d|  ||  gd|  d g|f}| |	|
gdd|d dgg g d| ||  gd| d g|f}||fW S  ty   dgdgg g g g df}|f Y S w )Nr   r   r   r   r   )r3   r  r_   rS   rR   r  rY   rG   )r  r  rU   r  chir  r   r   r   r   r   r
   rV   r  r   r   r)     s.   

 

zcoulombg.<locals>.hr   )_imr4   r9   r  r   r  r   coulombg  s   

"
r!  c                 C   s  d|d  }|dkr|sd| d|  d | j  d }|dkr0|s0d| d|  d | j  d }|dkrE|rEd| d|  d | j  d }|dkrZ|rZd| d|  d | j  d }|s|}|d  d|  }d|d  d| d  dd| d   }	d	|d  d
|d  d|  d  dd| d   }
d|d  d|d  d|d   d|  d  dd| d   }|r|}|d  d|  }dd|d  d|  d  dd| d   }	d	d
|d  d|d   d|  d  dd| d   }
dd|d  d|d   d|d   d|  d  dd| d   }|||	|
|g}|}d}tdt|D ] }t|| t||d  k rB||| 7 }q)t|| }q)|t|d krYt|d }||fS ) aj  
    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   r,   r   r      iS   i  i  r   r   ii%  iX iO2 iu_ i   R   r   i  i  i  i, i il"q iQY g        r   )r"   r7   lenr:   )r	   kindprimerE   rQ   r   rm   s1s2s3s4s5r  r   errir   r   r   mcmahon  s6   
****(4@,8Dr1  c                    sz   |dk rt d|d }g g 	  ||| fddD fddt|d D }t||kr8|S |d }q)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 1c                    s   g | ]	}  |qS r   )sign)r   r
   )r	   r   r   r   
<listcomp>J  s    z)generalized_bisection.<locals>.<listcomp>c                    s8   g | ]}| |d    dkr |  |d   fqS )r   r   r   )r   r0  )pointssignsr   r   r3  K  s    r   )rG   linspacer7   r'  )r	   r   rl   rm   r   Nok_intervalsr   )r	   r   r4  r5  r   generalized_bisection;  s   r9  c                 C   s   | j ||dddS )NillinoisF)solververify)r   )r	   r   abr   r   r   find_in_intervalQ  s   r>  g{Gz?c                    s   j }t|  |d }z3| _  t|}t|}dk r+td|dk r3td|dvr;td|dkrP|rI fdd	}	n fd
d	}	|dkre|r^ fdd	}	n fdd	}	|dkr|r|dkrdkrz jW | _ S dkrd d  d   }
t |	|
d d|
 fW | _ S |||f|v rt |	||||f W | _ S t	 |||\}
}||k rt |	|
| |
| fW | _ S |dkr|sd}|dkr|rd}|dkr|sd}|dkr|rd}|d }	 t	 |||\}}||k rAt	 |||d \}}t
 |	|d||  |}t|D ]\}}|||||d f< q#t |	||d  W | _ S |d }q| _ w )Nr*   r   zv cannot be negativer   zm cannot be less than 1r   z prime should lie between 0 and 1c                        j | ddS Nr   )rA   r   r
   r	   rE   r   r   r   c      zbessel_zero.<locals>.<lambda>c                         | S r]   r   rA  rB  r   r   r   d  r   r   c                    r?  r@  rT   rA  rB  r   r   r   f  rC  c                    rD  r]   rE  rA  rB  r   r   r   g  r   g333333@g?g?g       @r   )r   r.   r5   r8   r1   rG   zerorz   r>  r1  r9  	enumerate)r	   r(  r)  rE   rQ   isoltol_interval_cacher   workprecr   r$   r/  lowr   r1r2err2	intervalsr   r=  r   rB  r   bessel_zeroT  sf   

rP  c                 C      t | d|||
 S )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   rP  r	   rE   rQ   rA   r   r   r   besseljzero  s   prT  c                 C   rQ  )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   rR  rS  r   r   r   besselyzero  s   YrU  N)r   )F)r   F)r   T)2	functionsr   r   r   r   r   rI   rT   r\   ra   rc   rf   ri   rg   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r!  r1  r9  r>  rP  rT  rU  r   r   r   r   <module>   s    

B##




















[
K+

"'5q