o
    …º¥gN†  ã                   @   s   d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	m
Z
mZ d dlmZ d dlmZmZ d dlmZmZ d dlmZmZmZ d d	lmZmZ d d
lmZ d dlmZmZ d dl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ d dl,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl m7Z7m8Z8m9Z9m:Z:m;Z; d dl<m=Z>m?Z@mAZBmCZC d dlDmEZE d dlFmGZGmHZH d dlImJZJmKZKmLZLmMZM eCƒ ZNdd„ ZOdd„ ZPdd„ ZQdd„ ZRdd „ ZSd!d"„ ZTd#d$„ ZUd%d&„ ZVd'd(„ ZWd)d*„ ZXd+d,„ ZYd-d.„ ZZd/d0„ Z[eHd1d2„ ƒZ\d3d4„ Z]d5d6„ Z^d7d8„ Z_d9d:„ Z`d;d<„ Zad[d>d?„Zbd@dA„ ZcdBdC„ ZddDdE„ ZedFdG„ ZfdHdI„ ZgdJdK„ ZhdLdM„ ZidNdO„ ZjdPdQ„ ZkdRdS„ ZldTdU„ ZmdVdW„ ZndXdY„ ZodZS )\é    )Úproduct)ÚSum)ÚdiffÚexpand_func)ÚIÚRationalÚooÚpi)ÚS)ÚSymbolÚsymbols)Ú	conjugateÚ
polar_lift)ÚexpÚ	exp_polarÚlog)ÚcoshÚsinh)Úsqrt)ÚcosÚsin)ÚbesseliÚbesseljÚbesselkÚbesselyÚhankel1Úhankel2Úhn1Úhn2ÚjnÚjn_zerosÚyn)ÚgammaÚ
uppergamma)Úhyper)ÚIntegral)ÚO)Úseries)ÚairyaiÚairybiÚairyaiprimeÚairybiprimeÚmarcumq)Úrandom_complex_numberÚverify_numericallyÚtest_derivative_numericallyÚ_randint)Ú
besselsimp)ÚraisesÚslow)ÚzÚnÚkÚxc                  C   s\   t tttttfD ]} t| tƒ tƒtƒsJ ‚qt	t
ttfD ]} t| tddƒtƒtƒs+J ‚qd S )Niöÿÿÿé
   )r   r   r   r   r   r   ÚtdÚrandcplxr4   r   r!   r   r   Úrandint©Úf© r>   ú`/var/www/visachat/venv/lib/python3.10/site-packages/sympy/functions/special/tests/test_bessel.pyÚtest_bessel_rand!   s
   ÿr@   c                      sB   t tttttttfD ]‰ tt	‡ fdd„ƒ tt	‡ fdd„ƒ q
d S )Nc                      s   ˆ dƒS )Né   r>   r>   r<   r>   r?   Ú<lambda>+   s    z'test_bessel_twoinputs.<locals>.<lambda>c                      s   ˆ dddƒS )NrA   é   é   r>   r>   r<   r>   r?   rB   ,   s    )
r   r   r   r   r   r   r   r!   r2   Ú	TypeErrorr>   r>   r<   r?   Útest_bessel_twoinputs)   s   þrF   c                   C   s”   t dtƒ t¡dksJ ‚t dttƒƒ t¡td ksJ ‚t ddttƒ ƒ t¡ttƒks.J ‚t ttƒtt   t¡ddt ttd ƒ  ksHJ ‚d S ©Nr   rA   rC   )r   r7   Úas_leading_termr   r   r4   r"   r>   r>   r>   r?   Útest_besselj_leading_term/   s    $8rI   c                   C   sŽ   t dtƒ t¡dttƒ dtdƒ  dtj  t ksJ ‚t dttƒƒ t¡dtt  ks/J ‚t ddttƒ ƒ t¡dtttƒ  ksEJ ‚d S )Nr   rC   rA   éþÿÿÿéÿÿÿÿ)	r   r7   rH   r   r
   Ú
EulerGammar	   r   r   r>   r>   r>   r?   Útest_bessely_leading_term8   s   :$0rM   c                   C   s`   t dtƒ t¡dksJ ‚t dttƒƒ t¡td ksJ ‚t ddttƒ ƒ t¡ttƒks.J ‚d S rG   )r   r7   rH   r   r   r>   r>   r>   r?   Útest_besseli_leading_term>   s    (rN   c                   C   s|   t dtƒ t¡ttƒ tj tdƒ ksJ ‚t dttƒƒ t¡dt ks&J ‚t ddttƒ ƒ t¡ddttƒ  ks<J ‚d S )Nr   rC   rA   )r   r7   rH   r   r
   rL   r   r   r>   r>   r>   r?   Útest_besselk_leading_termD   s   , 0rO   c                   C   sL  t dtƒ t¡dtd d  td d  ttd ƒ ksJ ‚t dtd ƒ t¡dtd d  td	 d  ttd ƒ ks>J ‚t dtd t ƒ t¡dtd d  td
 d  dtd  d  td d  ttd ƒ ksnJ ‚t dttƒt ƒjtdddtd  dtd  d  dtd
  d  ttd
dƒ d  ttddƒ d  dttddƒ  d  ttd ƒ ks·J ‚t dtdt  ƒ t¡dtd d  td
 d  dtd  d  dtd  d  ttd ƒ kséJ ‚t dtdt ƒƒ t¡dtd d  td
 d  dtd  d  dtd  d  ttd ƒ ksJ ‚t dttƒƒ t¡td dtd
  d  dtd  d  ttd ƒ ksCJ ‚t ddttƒ ƒ t¡ttƒttd
dƒ d  ttddƒ d  ttddƒ d  ttddƒ d  ttd dƒ d!  ttd ƒ ks‰J ‚t d"ttƒƒjtddt dttƒƒjtddks¤J ‚d S )#Nr   rA   rC   é   é@   é   çš™™™™™ñ?çš™™™™™@çš™™™™™@rD   é   é   é   ©r5   é×   é 	  é   é   é€  é/   é)   éÀ   é   é`   é0   éI   é€  é   é   é	   é@  é   é€Q rJ   )r   r7   r'   r&   r   r   r   r   r>   r>   r>   r?   Útest_besselj_seriesJ   sZ   <@0ÿ
ÿ

ÿ4ÿÿÿþ

þ@ÿ

ÿ0ÿÿ
ÿN.ÿÿÿþ
þ:rm   c                  C   s  dt j t dtdƒ t  dttƒ t  } tdtƒjtdd| td ttƒ dt  ddt j  dt   tdƒdt     ttd ttƒ ƒ ksOJ ‚tdtƒjtdddtt  tttƒt tdƒt  ddt j  dt     td ttƒ dt  t d	ƒd dt j  d
t   tdƒdt     ttd ttƒ ƒ ks¨J ‚tdtƒjtdddttd   dt  td ttƒdt  tdƒdt   t dƒd dt j  dt     ttd ttƒ ƒ ksíJ ‚tdtƒjtdddttd   dtt   tdt   td ttƒdt  tdƒdt   t dƒd dt j  dt     ttd ttƒ ƒ ks;J ‚tdtd ƒjtdddt j t dtdƒ t  dttƒ t  td dttƒ t ddt j  dt   tdƒdt     ttd ttƒ ƒ ksŠJ ‚tdtd t ƒjtdd| ddt j  td  dt  td dt     dt t  td ttƒ dt  dt  tdƒdt     td ttƒ t ddt   tdƒt    ttd ttƒ ƒ ksõJ ‚tdtdt  ƒjtdd| dt t  td ttƒ dt  ddt j  dt   tdƒdt   dt    ttd ttƒ ƒ ks<J ‚tdtdt ƒƒjtdd| tt  td ttƒ dt  ddt j  dt   tdƒdt   d	dt     ttd ttƒ ƒ ksƒJ ‚tdttƒƒjtdddttd  d td    ddt j  td  d td   t  tttƒt tdƒt    td dttƒ dt  ddt   t d	ƒd dt j  d
t   dtdƒ dt     ttd ttƒ ƒ ksúJ ‚tddt	tƒ ƒjtdddtt	tƒ  t	tƒttƒt ddt j  t    tt dƒd  ttƒ dt  t d	ƒd dt j  dt     tt d	ƒd  ttƒdt  t dƒd dt j  dt     ttd ttƒ ƒ ksoJ ‚tdttƒƒjtddtdttƒƒjtddksŠJ ‚d S )NrC   r   rP   rY   rA   rJ   rD   é   rW   rX   éüÿÿÿiðÿÿÿé   rk   rR   rd   rS   rU   gš™™™™™á¿rg   rK   éùÿÿÿr]   r8   )
r
   rL   r	   r   r7   r   r'   r&   r   r   ©Úconstr>   r>   r?   Útest_bessely_series]   sÐ   .*ÿÿ
ÿ4ÿÿÿÿ
þ<ÿÿ
ÿ,
ÿ$ÿÿþ"ÿÿÿÿÿþ>0ÿ,þþ
ÿ
ÿ,ÿÿÿþÿ,ÿ
ÿÿþ2&ÿÿBÿþý($ÿÿÿÿþý:rt   c                   C   sX  t dtƒ t¡dtd d  td d  ttd ƒ ksJ ‚t dtd ƒ t¡dtd d  td	 d  ttd ƒ ks>J ‚t dtd t ƒ t¡dtd d  td
 d  dtd  d  td d  ttd ƒ ksnJ ‚t dttƒt ƒjtdddtd  dtd  d  dtd
  d  ttd
ƒd  d  ttdƒd  d  dttdƒd   d  ttd ƒ ksºJ ‚t dtdt  ƒ t¡dtd d  td
 d  dtd  d  dtd  d  ttd ƒ ksìJ ‚t dtdt ƒƒ t¡dtd d  td
 d  dtd  d  dtd  d  ttd ƒ ksJ ‚t dttƒƒ t¡td td
 d  dtd  d  ttd ƒ ksDJ ‚t ddttƒ ƒ t¡ttƒttd
ƒd  d  ttdƒd  d  ttdƒd  d  ttdƒd  d  ttdƒd  d   ttd ƒ ksJ ‚t d!ttƒƒjtddt dttƒƒjtddksªJ ‚d S )"Nr   rA   rC   rP   rQ   rR   rS   rT   rU   rD   rb   rW   rX   rY   éÙ   r[   é   r]   r^   é1   r_   ra   r\   rc   rd   rf   rg   rh   ri   rj   rk   rl   rJ   )r   r7   r'   r&   r   r
   r   r   r>   r>   r>   r?   Útest_besseli_series   sN   <@@
ÿ

ÿ4ÿÿÿÿ

ÿ@ÿ

ÿ@ÿ
ÿJDÿÿÿ
ÿ:rx   c                  C   sÒ  t dƒtj t tƒ } tdtƒjtdd| td t tƒ d tjd  t dƒd  tdƒd    ttd t tƒ ƒ ks?J ‚tdtƒjtdddt tt tƒd t dƒd  tdƒd  tjd    td t tƒd tdƒd	  t dƒd  tjd    ttd t tƒ ƒ ksJ ‚tdtƒjtdddtd  tdƒd  td t tƒ d
 tjd
  t dƒd
  tdƒd    ttd t tƒ ƒ ksËJ ‚tdtd ƒjtddt dƒtj dt tƒ  td dt tƒ tjd  t dƒd  tdƒd    ttd t tƒ ƒ ksJ ‚tdtd t ƒjtdd| ddtj  td d td d
    t td t tƒ d t dƒd  tdƒd    td t tƒ d tdƒd  t dƒd    ttd t tƒ ƒ kslJ ‚tdtdt  ƒjtdd| t td t tƒ d tdƒd  tjd  t dƒd    ttd t tƒ ƒ ks§J ‚tdt dt ƒƒjtdd| td  td t tƒ d tjd  tdƒd  t dƒd    ttd t tƒ ƒ ksäJ ‚tddttƒ ƒjtddddttƒ  ttƒt tƒd tdƒd  tj   ttdƒd  t tƒd tdƒd
  tjd    ttdƒd  t tƒd tdƒd  tjd    ttd t tƒ ƒ ksLJ ‚tdttƒƒjtddtdttƒƒjtddksgJ ‚d S )NrC   r   rP   rY   rA   rD   rX   rW   rQ   rn   é    rS   rU   gš™™™™™Ñ¿r]   rg   rp   é$   rJ   )	r   r
   rL   r7   r   r'   r&   r   r   rr   r>   r>   r?   Útest_besselk_series’   sœ   6ÿ
ÿ0
ÿÿ(ÿÿ
þ:ÿ
ÿ
ÿ
ÿ"
ÿ
ÿ
ÿÿþ$ÿÿ
ÿ
ÿÿ,þþ2
ÿÿ
ÿÿ$6ÿÿ($ÿ$ÿÿ0þþ:r{   c                   C   sV  t ttƒ t¡t td tƒd t td tƒd  ksJ ‚tttƒ t¡ttd tƒd ttd tƒd  ks8J ‚tttƒ t¡ttd tƒd ttd tƒd  ksTJ ‚tttƒ t¡ttd tƒ d ttd tƒd  ksqJ ‚tttƒ t¡ttd tƒd ttd tƒd  ksJ ‚tttƒ t¡ttd tƒd ttd tƒd  ks©J ‚d S )NrA   rC   )	r   r5   r4   r   r   r   r   r   r   r>   r>   r>   r?   Ú	test_diff«   s   888:8<r|   c                  C   sÈ  t ttƒ t¡tdt t ƒtttj tƒ ksJ ‚t	ttƒ t
¡tdt t ƒt
ttj tƒ ks4J ‚tttƒ t ¡tt t t d ƒt tttƒt ƒ ksRJ ‚t ttƒ t¡ttt t d ƒtttt ƒt ƒ kspJ ‚tƒ } tt | tƒt | tƒ t¡tƒs„J ‚tt | tƒt | tƒ t	¡tƒs•J ‚tt| tƒt| tƒ t ¡tƒs¦J ‚tt| tƒt| tƒ t	¡tƒs·J ‚tt	| tƒt	| tƒ t ¡tƒsÈJ ‚tt	| tƒt	| tƒ t¡tƒsÙJ ‚tt| tƒt| tƒ t ¡tƒsêJ ‚tt| tƒt| tƒ t¡tƒsûJ ‚tt| tƒt| tƒ t	¡tƒsJ ‚t
| tƒt
| tƒ t¡ksJ ‚t| tƒt| tƒ t¡ks-J ‚t| tƒt| tƒ t¡ks=J ‚t| tƒt| tƒ t
¡ksMJ ‚t| tƒt| tƒ t
¡ks]J ‚t| tƒt| tƒ t
¡ksmJ ‚| }t t	fD ]#}t|tƒt|tƒ |¡ks…J ‚t|tƒt|tƒ |¡ks•J ‚qst|tƒ t ¡tdƒttƒ tdt ƒ t |tj tƒ d ksºJ ‚t|tƒ t	¡d|  tdƒ ttƒ tdt ƒ t	| tj tƒ d ksâJ ‚tddd}tddƒ}||fD ]K}t t	fD ]C}t
|tƒt
|tƒ |¡ks	J ‚t|tƒt|tƒ |¡ksJ ‚t|tƒt|tƒ |¡ks)J ‚t|tƒt|tƒ |¡ks9J ‚q÷qñtt
tttftt
t t	fƒD ]\}}t||tƒ||tƒ |¡tƒs`J ‚qJd S )	NrC   rA   rK   r5   T©Úintegeréõÿÿÿr8   )r   r5   r4   Úrewriter   r   r	   r
   ÚHalfr   r!   r   r   r   r   r:   Útnr   r   r   r   r;   r   )ÚnuÚorderr=   ÚNÚriÚfuncÚrefuncr>   r>   r?   Útest_rewrite´   sX   44&ÿ&ÿ""""""""$       $FP
   $ü
ÿ(þr‰   c                  C   sB  t ttjtƒ t¡ƒtdƒttƒ tt	ƒttƒ  ksJ ‚t t
tjtƒ t¡ƒtdƒ ttƒ tt	ƒttƒ  ks;J ‚tttjtƒƒtdƒttƒ tt	ƒttƒ  ksUJ ‚tttddƒtƒƒtdƒttƒ tt	ƒttƒ  ksqJ ‚tttddƒtƒƒtdƒ td ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ks£J ‚tttddƒtƒƒtdƒ td ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ksÕJ ‚tt
tjtƒƒtdƒttƒ  tt	ƒttƒ  ksðJ ‚tt
tddƒtƒƒtdƒttƒ tt	ƒttƒ  ksJ ‚tt
tddƒtƒƒtdƒtd ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ks?J ‚tt
tddƒtƒƒtdƒ td ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ksrJ ‚tttjtƒƒtdƒttƒ tt	ƒttƒ  ksJ ‚tttddƒtƒƒtdƒttƒ tt	ƒttƒ  ksªJ ‚tttddƒtƒƒtdƒtd ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ksÜJ ‚tttddƒtƒƒtdƒtd ttƒ dt ttƒ  dttƒ   tt	ƒttddƒ   ksJ ‚tttjtƒƒtttddƒtƒƒ  kr8tt	ƒtt ƒ tdƒttƒ  ks;J ‚ J ‚tttddƒtƒƒtttddƒtƒƒ  krvtdƒtt	ƒ td dt  d  tt ƒ dttddƒ   ksyJ ‚ J ‚tdddd} t t| d tƒƒt| tƒd	|  d d	|  t| tƒ t t| d
 tƒ  t  ks«J ‚t t| d tƒƒt| tƒ d|  d d|  t| tƒ t t| d
 tƒ  t  ks×J ‚t t| d tƒƒt| tƒd|  d d|  t| tƒ t t| d
 tƒ  t  ksJ ‚t t
| d tƒƒt
| tƒ d|  d d|  t
| tƒ t t
| d
 tƒ  t  ks.J ‚t t| tj tƒ t¡ƒtdƒttƒ tt t	 | tj  d ƒ ttt	 d ƒ t| tttt	 d ƒ ƒ tt	ƒ ksmJ ‚t t| tj tƒ t¡ƒtdƒttƒ t| tƒ tt	ƒ ksŽJ ‚tddd}tddd}tddd}tt
ttfD ]$}|||ƒjdu s³J ‚||tƒjd u s¾J ‚|ttƒjd u sÉJ ‚q¦ttfD ]}|||ƒjdu sÜJ ‚qÏt
tfD ]}|||ƒjd u sïJ ‚qâtt
ttfD ]'}t |ttƒƒ|ttddks
J ‚t |t tƒƒ|t tddksJ ‚q÷d S )NrC   rK   rW   rD   éûÿÿÿr5   T)r~   ÚpositiverJ   rA   rP   Úr©ÚrealÚp©r‹   Úir}   F©Úevaluate)r   r   r
   r   r4   r€   r   r   r   r	   r   r!   r   r1   r   r   r   r   r   r   r   r   r   Úis_extended_realr7   r   )r5   rŒ   r   r‘   Úbesselxr>   r>   r?   Útest_expandï   s¨   ÿ ÿ48JÿJÿ ÿ:H
ÿJ
ÿ6
ÿH
ÿH
ÿ
ÿ ÿ
ÿ>þ<
ÿ>
ÿ<
ÿ>
ÿ*ÿÿÿ
ÿ 
ÿ"*þr–   c                  C   s’  dd„ } t ddddd}ttttfD ]}tdtddƒ d ƒd }tt||t	ƒƒ||t	ƒƒs0J ‚q| t
t|tƒƒt|d tƒd|d  t|d tƒ t  ƒsQJ ‚| t
t| tƒƒt| d tƒd| d  t| d tƒ t  ƒsuJ ‚| t
t|tƒƒt|d tƒ d|d  t|d tƒ t  ƒs–J ‚| t
t| tƒƒt| d tƒ d| d  t| d tƒ t  ƒs»J ‚| t
t|tƒƒt|d tƒd|d  t|d tƒ t  ƒsÛJ ‚| t
t| tƒƒt| d tƒd| d  t| d tƒ t  ƒsÿJ ‚| t
t|tƒƒt|d tƒ d|d  t|d tƒ t  ƒs!J ‚| t
t| tƒƒt| d tƒ d| d  t| d tƒ t  ƒsGJ ‚d S )	Nc                 S   s   t | |ƒo| |kS ©N)r‚   )ÚeqÚansr>   r>   r?   Úcheck;  s   ztest_slow_expand.<locals>.checkrA   r   rC   )ÚaÚbÚdÚcr   r8   )r:   r   r   r   r   r
   r;   r‚   r1   r4   r   r7   )rš   Úrnr•   r†   r>   r>   r?   Útest_slow_expand9  s:    *ÿ0ÿ,ÿ2ÿ*ÿ0ÿ,
ÿ2ÿr    c                 C   ó   t t| |ƒƒS r—   )r   r   ©r5   r4   r>   r>   r?   ÚmjnY  ó   r£   c                 C   r¡   r—   )r   r!   r¢   r>   r>   r?   Úmyn]  r¤   r¥   c                  C   sà  t dƒ} tddƒdksJ ‚tddƒdksJ ‚tddƒtjks J ‚t| dƒt| dddks.J ‚tdtƒdks7J ‚tdt ƒdksAJ ‚td| ƒt| ƒ|  ksNJ ‚td| ƒt| ƒ| d  t| ƒ|   kscJ ‚td| ƒd| d  d|   t| ƒ d| d  t| ƒ  ks‚J ‚td| ƒd	| d
  d| d   t| ƒ d|  d	| d   t| ƒ  ks§J ‚td
| ƒd|  d| d   d| d   t| ƒ d| d
  d| d   t| ƒ  ksÒJ ‚td| ƒd| d  d| d
   d	| d   t| ƒ d|  d| d   d| d   t| ƒ  ksJ ‚td| ƒd|  d| d   d| d   d| d   t| ƒ d| d  d| d
   d| d   t| ƒ  ks<J ‚ttt	| ƒƒtt	| ƒksKJ ‚tddƒ 
¡ tddƒksZJ ‚ttddƒ 
d¡gddt  gƒsnJ ‚d S )Nr4   r   rA   rK   Fr’   rC   rD   rV   rP   rR   éi   rW   é-   i—ÿÿÿr8   i±  i¤  i›(  r]   iu  éÒ   ie×ÿÿiì  é   ù       @      @ùÍÌÌÌÌÌ@333333Ó?gM°»’s¹?gM™â¶ê«?)r   r   r
   ÚComplexInfinityr   r£   r   r   r   r5   Úevalfr˜   r   ©r4   r>   r>   r?   Útest_jna  s2   *>J.
ÿ2&ÿ:*ÿÿr¯   c                  C   sò   t dƒ} td| ƒt| ƒ |  ksJ ‚td| ƒt| ƒ | d  t| ƒ|   ks(J ‚td| ƒd| d  d|   t| ƒ d| d  t| ƒ   ksHJ ‚ttt| ƒƒtt| ƒksVJ ‚tddƒ ¡ tddƒksdJ ‚ttddƒ d¡gd	d
t	  gƒswJ ‚d S )Nr4   r   rA   rC   rD   rª   r«   r8   gˆ=;€H¶Ç?gÔLs’Ž?)
r   r¥   r   r   r   r!   r5   r­   r˜   r   r®   r>   r>   r?   Útest_yn~  s   ,@ÿr°   c                   C   sD   t dƒtdtƒ ¡ v sJ ‚tdtƒdtd  dtd   ks J ‚d S )NrV   rD   rP   rR   rC   )r
   r¥   r	   Úatomsr>   r>   r>   r?   Útest_sympify_ynŒ  s   *r²   çíµ ÷Æ°>c                 C   s.   t | |ƒD ]\}}t|| ƒ|k s dS qdS )NFT)ÚzipÚabs)r›   rœ   ÚtolÚuÚvr>   r>   r?   r˜   ‘  s
   ÿr˜   c                   C   s|   t tddƒg d¢ƒsJ ‚t tddƒg d¢ƒsJ ‚t tddƒg d¢ƒs$J ‚t tddƒg d	¢ƒs0J ‚t tddƒg d
¢ƒs<J ‚d S )Nr   rP   )gz ‹üú!	@güÞ¦?û!@g/ö^|Ù"@güÞ¦?û!)@rA   )gP5z5@ù@g°¹2¨æ@gî@òèÎ%@gÁr„ä!,@rC   )góX32È@g@…#H¥0"@gö#EdX¥(@gÓØ^z/@rD   )gÿ¯:r¤ó@gW%‘}Õ$@g,¶IEce+@gæmrì0@)gÔ©¢x] @geqÿ‘éh'@g7¨ýÖN.@g©Á4M2@)r˜   r    r>   r>   r>   r?   Útest_jn_zeros˜  s
   r¹   c                  C   s2  t dddt dƒt dddd} }}ttfD ]~}|ddƒtju s#J ‚|d	dƒtju s-J ‚|d
dƒtju s7J ‚|ddƒtju sAJ ‚|ddt  dƒtju sOJ ‚|d
t dƒtju s[J ‚|dt dƒtju sgJ ‚|| dƒtjkrw|| dƒtjksyJ ‚||dƒtjkr‰||dƒtjks‹J ‚||dƒtju s•J ‚qt	ddƒtj
u s J ‚tddƒtju sªJ ‚t	tfD ]}|dt dƒtju s¼J ‚|tdƒtju sÆJ ‚q®tt	fD ]}||tjƒtju sØJ ‚||tj
ƒtju sãJ ‚qËttfD ]}||ttj ƒtju s÷J ‚||ttj
 ƒtju sJ ‚qèttfD ]9}|dtƒ|dtƒksJ ‚|d
tƒ|dtƒks&J ‚||  tƒ|| tƒks4J ‚|| tƒ||tƒksBJ ‚q
tt	fD ]B}|dtƒ|dtƒksWJ ‚|d
tƒ|dtƒ kseJ ‚||  tƒd|  || tƒ kswJ ‚|| tƒd| ||tƒ ks‰J ‚qHttfD ]}||t ƒt | t|   ||tƒ ks©J ‚qtdt ƒtdtƒks¹J ‚tdt ƒtdtƒ ksÈJ ‚tdt ƒtdtƒksÖJ ‚tdt ƒtdtƒ ksåJ ‚tdtt ƒtdtƒksôJ ‚tdtt ƒttdtƒ ksJ ‚tdtt ƒt tdtƒ ksJ ‚d S )Nr5   Tr}   Úmr6   F)r~   Úzeror   gÍÌÌÌÌÌ @éýÿÿÿgffffff$ÀrA   rD   rJ   ro   rP   rK   rC   )r   r   r   r
   ÚOneÚZeror¬   r   ÚNaNr   ÚNegativeInfinityr   ÚInfinityr4   )r5   rº   r6   r=   r>   r>   r?   Útest_bessel_eval   sT   &$$ $(4"(rÂ   c                  C   s>   t tttttttfD ]} | dtj	ƒ| dtj	ddksJ ‚q
d S )NrA   Fr’   )
r   r   r   r   r   r   r!   r   r
   r¿   r<   r>   r>   r?   Útest_bessel_nan×  s   "ÿrÃ   c                   C   sv  t dtƒ td¡dksJ ‚t dtƒ td¡dksJ ‚t dtƒ tt¡dks'J ‚t tdƒd tƒ td¡dks8J ‚t tdƒd tƒ td¡dksIJ ‚t tdƒd tƒ tt¡dksZJ ‚t tdt ƒ td¡dksiJ ‚tdtƒ td¡dksvJ ‚tdtƒ td¡dksƒJ ‚tdtƒ td¡dksJ ‚tdtƒ td¡dksJ ‚tdtƒ td¡dksªJ ‚tdtƒ td¡dks·J ‚tdtƒ td¡dksÄJ ‚tdtd dt  ƒ td¡dks×J ‚tdtƒ td¡dksäJ ‚t	ddƒ td	¡dksñJ ‚t
d
dtd  d ƒ td¡dksJ ‚tddt ƒ td¡dksJ ‚td	dt d ƒ td¡dks'J ‚tdtd d ƒ td
¡dks9J ‚d S )NrC   rA   Tr   FrD   rk   rP   rW   rR   r]   ri   rn   )r   r7   Úis_meromorphicr   r
   r   r   r   r   r   r   r   r   r!   r>   r>   r>   r?   Útest_meromorphicÝ  s*   """&( $(rÅ   c                  C   sX  t dƒ} t ddd}t ddd}t ddd}t d	dd
}ttttttfD ]2}|| dƒ ¡ |t| ƒdƒks6J ‚|| |ƒ ¡ |t| ƒ|ƒksFJ ‚|| |ƒ ¡ |t| ƒ|ƒksVJ ‚q$tdd}ttttfD ]k}|| dt	 ƒ ¡ |t| ƒdt	 ƒksxJ ‚|| dƒ ¡ |t| ƒdƒksˆJ ‚|| dƒ ¡ |t| ƒdƒks˜J ‚|| |ƒ ¡ |t| ƒt|ƒƒksªJ ‚|| |ƒ ¡ |t| ƒ|ƒksºJ ‚t
|| |ƒ ¡ |t| ƒt|ƒƒƒsÍJ ‚qbt| dt	 ƒ ¡ tt| ƒdt	 ƒksâJ ‚t| dƒ ¡ tt| ƒdƒksòJ ‚t| dƒ ¡ tt| ƒdƒksJ ‚t| |ƒ ¡ tt| ƒ|ƒksJ ‚t| |ƒ ¡ tt| ƒt|ƒƒks'J ‚t
t| |ƒ ¡ tt| ƒt|ƒƒƒs;J ‚t| dt	 ƒ ¡ tt| ƒdt	 ƒksPJ ‚t| dƒ ¡ tt| ƒdƒksaJ ‚t| dƒ ¡ tt| ƒdƒksrJ ‚t| |ƒ ¡ tt| ƒ|ƒksƒJ ‚t| |ƒ ¡ tt| ƒt|ƒƒks–J ‚t
t| |ƒ ¡ tt| ƒt|ƒƒƒsªJ ‚d S )Nr5   r4   F)Úextended_realr7   TÚyr   Út©ÚnegativerK   g      à?)rœ   rA   r   )r   r   r   r   r   r   r   r   r:   r   r‚   )r5   r4   r7   rÇ   rÈ   r=   Úrzr>   r>   r?   Útest_conjugateõ  s:     "
(  $ (( ""&(*"""&,rÌ   c                  C   s¬  t ttƒtƒt ttƒksJ ‚tttƒtƒtttƒksJ ‚tddd} t | tdt t ƒt ƒt | tƒks6J ‚t | ttƒƒt | tƒksDJ ‚t| tdt t ƒt ƒt| tƒksXJ ‚t| ttƒƒt| tƒksfJ ‚dd„ }tdƒ}t |tdt t ƒt ƒt	dt t | ƒt |tƒ ksŒJ ‚t|tdt t ƒt ƒt	dt t | ƒt|tƒ ksªJ ‚|t dƒs±J ‚|t tƒs¸J ‚|t tƒs¿J ‚|tdƒsÆJ ‚|ttƒsÍJ ‚|ttƒsÔJ ‚d S )Nr5   Tr}   rC   c                 S   s”   ddl m} |ddƒ}| ||ttt ƒ ƒ| ||tt t ƒ ƒ }d}| || | |t  ƒ| || | |t  ƒ }t| ¡ | ¡  ƒ ¡ dk S )Nr   )ÚuniformrA   rW   gVçž¯Ò<g»½×Ùß|Û=)Úsympy.core.randomrÍ   r   r   r	   rµ   r5   )r‡   ÚsrÍ   rž   ÚexprÚepsÚexpr2r>   r>   r?   r‚   $  s   
.0ztest_branching.<locals>.tnrƒ   )
r   r   r6   r7   r   r   r   r	   r   r   )r5   r‚   rƒ   r>   r>   r?   Útest_branching  s"   ((<<rÓ   c                  C   s¶   t dƒ} t ddd}t ddd}tt| ƒƒtt| ƒƒksJ ‚t|ƒjs%J ‚t|t|  ƒ ¡ t|t|  ƒd t|t|  ƒd  tt|t|  ƒt|t|  ƒ  d fksYJ ‚d S )Nr4   r7   Tr   rÇ   rC   )r   r   r(   r”   r   Úas_real_imag)r4   r7   rÇ   r>   r>   r?   Útest_airy_base7  s   &&þrÕ   c               
   C   sæ  t ddd} t ddd}t ddd}tt| ƒtƒsJ ‚td	ƒd
tdd
ƒ d
ttdd
ƒƒ  ks1J ‚ttƒd	ks9J ‚tt ƒd	ksBJ ‚tt| ƒ| ƒt| ƒksOJ ‚tt| ƒ| d	d
ƒd
tddƒ ttdd
ƒƒ dt	  d
tddƒ |  ttdd
ƒƒ dt	   t
| d
 ƒ ks†J ‚t| ƒ t¡d
tdd
ƒ  |  tdtdd
ƒf| d
 d ƒ d
ttdd
ƒƒ  d
tdd
ƒ tdtdd
ƒf| d
 d ƒ d
ttdd
ƒƒ   ksÎJ ‚tt| ƒ t¡tƒsÚJ ‚t|ƒ t¡t| ƒttdd
ƒd| td
dƒ  d
 ƒttdd
ƒd| td
dƒ  d
 ƒ  d
 ksJ ‚t| ƒ t¡|  ttdd
ƒd| td
dƒ  d
 ƒ d
| td
dƒ tdd
ƒ   | td
dƒ tdd
ƒ ttdd
ƒd| td
dƒ  d
 ƒ d
  ksZJ ‚t|ƒ t¡t|ƒttdd
ƒd|td
dƒ  d
 ƒttdd
ƒd|td
dƒ  d
 ƒ  d
 ksŒJ ‚ttdd
| d  tdd
ƒ  ƒƒtd
ƒ d| d tdd
ƒ | tdd
ƒ    tdd
tdd
ƒ  | tdd
ƒ  ƒ d d| d tdd
ƒ | tdd
ƒ   tdd
tdd
ƒ  | tdd
ƒ  ƒ d  ksñJ ‚d S )Nr4   Fr   rÈ   TrÉ   r   r   r   rD   rA   rC   rW   rR   r>   rP   ri   rK   )r   Ú
isinstancer(   r   r"   r   r   r*   r'   r	   r&   r€   r$   r   r   r   r   r)   ©r4   rÈ   r   r>   r>   r?   Útest_airyaiD  sR   ,Vÿ@:ÿÿ*"ÿÿ
ÿB<ÿ
ÿ& ÿÿ
ÿ TJÿÿrØ   c                  C   sè  t ddd} t ddd}t ddd}tt| ƒtƒsJ ‚td	ƒd
tddƒ d
ttdd
ƒƒ  ks1J ‚ttƒtu s9J ‚tt ƒd	ksBJ ‚tt| ƒ| ƒt| ƒksOJ ‚tt| ƒ| d	d
ƒd
tdd
ƒ ttdd
ƒƒ dt	  d
tdd
ƒ |  ttdd
ƒƒ dt	   t
| d
 ƒ ks†J ‚t| ƒ t¡d
tddƒ |  tdtdd
ƒf| d
 d ƒ ttdd
ƒƒ d
tddƒ tdtdd
ƒf| d
 d ƒ d
ttdd
ƒƒ   ksËJ ‚tt| ƒ t¡tƒs×J ‚t|ƒ t¡t| ƒttdd
ƒd| td
dƒ  d
 ƒttdd
ƒd| td
dƒ  d
 ƒ  d
 ksJ ‚t| ƒ t¡td
ƒ| ttdd
ƒd| td
dƒ  d
 ƒ | td
dƒ tdd
ƒ  | td
dƒ tdd
ƒ ttdd
ƒd| td
dƒ  d
 ƒ   d
 ksXJ ‚t|ƒ t¡td
ƒt|ƒ ttdd
ƒd|td
dƒ  d
 ƒttdd
ƒd|td
dƒ  d
 ƒ  d
 ksŽJ ‚ttdd
| d  tdd
ƒ  ƒƒtd
ƒd| d tdd
ƒ | tdd
ƒ    tdd
tdd
ƒ  | tdd
ƒ  ƒ d d| d tdd
ƒ | tdd
ƒ   tdd
tdd
ƒ  | tdd
ƒ  ƒ d  ksòJ ‚d S )Nr4   Fr   rÈ   TrÉ   r   r   r   rD   rW   rR   rC   rA   r>   rP   ri   rK   )r   rÖ   r)   r   r"   r   r   r+   r'   r	   r&   r€   r$   r   r(   r   r   r   r×   r>   r>   r?   Útest_airybih  sV   ,Vÿ::ÿÿ*"ÿÿ
ÿB8ÿÿ
ÿ. ÿÿ
ÿ RJÿÿrÙ   c               
   C   sØ  t ddd} t ddd}t ddd}tt| ƒtƒsJ ‚td	ƒd
tdd
ƒ  d
ttdd
ƒƒ  ks2J ‚ttƒd	ks:J ‚tt| ƒ| ƒ| t| ƒ ksIJ ‚tt| ƒ| d	d
ƒd
tdd
ƒ  d
ttdd
ƒƒ  d
tdd
ƒ | d  dttdd
ƒƒ   t	| d
 ƒ ksJ ‚t| ƒ 
t¡d
tdd
ƒ | d  tdtdd
ƒf| d
 d ƒ dttdd
ƒƒ  d
tdd
ƒ tdtdd
ƒf| d
 d ƒ d
ttdd
ƒƒ   ksÈJ ‚tt| ƒ 
t¡tƒsÔJ ‚t|ƒ 
t¡t| ƒttdd
ƒd| td
dƒ  d
 ƒttdd
ƒd| td
dƒ  d
 ƒ  d
 ks	J ‚t| ƒ 
t¡| d ttdd
ƒd| td
dƒ  d
 ƒ d
| td
dƒ tdd
ƒ   | td
dƒ tdd
ƒ ttdd
ƒd| td
dƒ  d
 ƒ d
  ksUJ ‚t|ƒ 
t¡|ttdd
ƒd|td
dƒ  d
 ƒ ttdd
ƒd|td
dƒ  d
 ƒ  d
 ks†J ‚ttdd
| d  tdd
ƒ  ƒƒtd
ƒ| tdd
ƒ | d tdd
ƒ  d  tdd
tdd
ƒ  | tdd
ƒ  ƒ d | tdd
ƒ | d tdd
ƒ  d tdd
tdd
ƒ  | tdd
ƒ  ƒ d  ksêJ ‚d S )Nr4   Fr   rÈ   TrÉ   r   r   r   rD   rC   rA   rR   r>   rW   ri   rK   rJ   )r   rÖ   r*   r   r"   r   r   r(   r'   r&   r€   r$   r   r   r   r   r+   r×   r>   r>   r?   Útest_airyaiprimeŒ  sH   .TÿB:ÿÿ*"ÿÿ
ÿD<ÿ
ÿL
ÿ RJÿÿrÚ   c                  C   sä  t ddd} t ddd}t ddd}tt| ƒtƒsJ ‚td	ƒd
tddƒ ttdd
ƒƒ ks/J ‚ttƒtu s7J ‚tt ƒd	ks@J ‚tt| ƒ| ƒ| t| ƒ ksOJ ‚tt| ƒ| d	d
ƒd
tddƒ ttdd
ƒƒ d
tddƒ | d  dttdd
ƒƒ   t	| d
 ƒ ks‚J ‚t| ƒ 
t¡d
tddƒ | d  tdtdd
ƒf| d
 d ƒ dttdd
ƒƒ  d
tddƒ tdtdd
ƒf| d
 d ƒ ttdd
ƒƒ  ksÉJ ‚tt| ƒ 
t¡tƒsÕJ ‚t|ƒ 
t¡t| ƒttdd
ƒd| td
dƒ  d
 ƒttdd
ƒd| td
dƒ  d
 ƒ  d
 ks
J ‚t| ƒ 
t¡td
ƒ| d ttdd
ƒd| td
dƒ  d
 ƒ | td
dƒ tdd
ƒ  | td
dƒ tdd
ƒ ttdd
ƒd| td
dƒ  d
 ƒ   d
 ksXJ ‚t|ƒ 
t¡td
ƒ| ttdd
ƒd|td
dƒ  d
 ƒttdd
ƒd|td
dƒ  d
 ƒ  d
 ksŒJ ‚ttdd
| d  tdd
ƒ  ƒƒtd
ƒ| tdd
ƒ | d tdd
ƒ  d  tdd
tdd
ƒ  | tdd
ƒ  ƒ d | tdd
ƒ | d tdd
ƒ  d tdd
tdd
ƒ  | tdd
ƒ  ƒ d  ksðJ ‚d S )Nr4   Fr   rÈ   TrÉ   r   r   r   rD   rA   rR   rW   rC   r>   ri   rK   rJ   )r   rÖ   r+   r   r"   r   r   r)   r'   r&   r€   r$   r   r(   r   r   r   r*   r×   r>   r>   r?   Útest_airybiprime®  sN   (NÿB6ÿÿ*"ÿÿ
ÿF8ÿÿ
ÿR
ÿ RJÿÿrÛ   c                  C   sœ  t dƒ} t dƒ}t dƒ}tdddƒdksJ ‚t| d|ƒt| |d d ƒt| ƒ ks+J ‚tdddƒdttddƒƒ d ks>J ‚td|dƒd	t|d  d ƒ ksQJ ‚tdtdƒd	ttd  d ƒ ksdJ ‚td	||ƒtjt|d  ƒt	d|d ƒ d  ksJ ‚td||ƒtjt|d  ƒt	d|d ƒ d  t|d  ƒt	d	|d ƒ  ks¨J ‚t
td	|d
ƒ|ƒ|td	|d
ƒ td|d
ƒ  ksÂJ ‚t
tdd
|ƒ|ƒ|d  t|d  d tddƒ ƒ t	d	d
| ƒ d
 kséJ ‚t dƒ}tdd
dƒjt|dt|d t|d  d tddƒ ƒ t	d	d
| ƒ |dtfƒd
 ksJ ‚ttddd
ƒ t¡ d¡gdgƒs0J ‚t dƒ}tdddƒjt|dtdƒttddƒ| t	|dƒ |dtfƒ ksXJ ‚ttd	d
d	ƒ t¡ d¡gdgƒslJ ‚td	||dd t	¡tjt|d  ƒt	d|d ƒ d  ksJ ‚td||dd t	¡tjt|d  ƒt	d|d ƒ d  t|d  ƒt	d	|d ƒ  ks¼J ‚td
||ƒ t	¡t	d	|d ƒt	d|d ƒ t|d  ƒ tj t|d  ƒt	d|d ƒ d  ksðJ ‚tdddƒ t	¡tdƒt	ddƒ d t	ddƒt	d
dƒ t	ddƒ t	d	dƒ tdƒ  tj ks"J ‚t| ||ƒ t	¡t| ||ƒks4J ‚t dd d!}t|||ƒ t	¡t|||ƒksLJ ‚d S )"Nrº   r›   rœ   r   rC   rW   é   içÿÿÿrA   rD   ri   r7   rP   ©r7   rJ   r8   gZp¤hLé?r6   r¼   rŠ   rq   )r6   iÛÿÿÿr]   é#   gyÏhÿH§ï?Fr’   rn   iÀÿÿÿrQ   Tr}   )r   r,   r#   r"   r   r   r	   r
   r   r   r   r€   r%   r   r˜   r­   r   )rº   r›   rœ   r7   r6   r>   r>   r?   Útest_marcumqÑ  sV   *&&&6R4N@
ÿ
ÿ*
ÿ
ÿB8ÿ8ÿÿ$.ÿÿ$(rß   c               	   C   sj   t dƒ} tdddƒjt| d t| d t| d  d tddƒ ƒ tdd|  ƒ | dtfƒd ¡s3J ‚d S )Nr7   rC   rD   rP   rÝ   ri   rA   )	r   r,   r€   r%   Údummy_eqr   r   r   r   rÝ   r>   r>   r?   Útest_issue_26134ú  s   @ÿrá   N)r³   )pÚ	itertoolsr   Úsympy.concrete.summationsr   Úsympy.core.functionr   r   Úsympy.core.numbersr   r   r   r	   Úsympy.core.singletonr
   Úsympy.core.symbolr   r   Ú$sympy.functions.elementary.complexesr   r   Ú&sympy.functions.elementary.exponentialr   r   r   Ú%sympy.functions.elementary.hyperbolicr   r   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   r   Úsympy.functions.special.besselr   r   r   r   r   r   r   r   r   r    r!   Ú'sympy.functions.special.gamma_functionsr"   r#   Úsympy.functions.special.hyperr$   Úsympy.integrals.integralsr%   Úsympy.series.orderr&   Úsympy.series.seriesr'   r(   r)   r*   r+   r,   rÎ   r-   r:   r.   r‚   r/   r9   r0   Úsympy.simplifyr1   Úsympy.testing.pytestr2   r3   Ú	sympy.abcr4   r5   r6   r7   r;   r@   rF   rI   rM   rN   rO   rm   rt   rx   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?   Ú<module>   sr    4	$	;J

7%$$"#)