
    sgN                     l   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 ZOd ZPd ZQd ZRd ZSd ZTd ZUd ZVd ZWd  ZXd! ZYd" ZZd# Z[eHd$        Z\d% Z]d& Z^d' Z_d( Z`d) Zad9d*Zbd+ Zcd, Zdd- Zed. Zfd/ Zgd0 Zhd1 Zid2 Zjd3 Zkd4 Zld5 Zmd6 Znd7 Zoy8):    )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            	         t         t        t        t        t        t
        fD ]'  } t         | t               t              t              r'J  t        t        t        t        fD ])  } t         | t        dd      t              t              r)J  y )Ni
   )r   r   r   r   r   r   tdrandcplxr5   r    r"   r   r   randintfs    \/var/www/html/venv/lib/python3.12/site-packages/sympy/functions/special/tests/test_bessel.pytest_bessel_randrA   !   so    w'7C '!HJ"A&&&' "c3 -!GC$a(!,,,-    c                       t         t        t        t        t        t
        t        t        fD ](   t        t         fd       t        t         fd       * y )Nc                        d      S )N    r>   s   r@   <lambda>z'test_bessel_twoinputs.<locals>.<lambda>+   s    !A$ rB   c                        ddd      S )NrE         rF   r>   s   r@   rG   z'test_bessel_twoinputs.<locals>.<lambda>,   s    !Aq!* rB   )
r   r   r   r   r   r   r    r"   r3   	TypeErrorr>   s   @r@   test_bessel_twoinputsrL   )   s8    w'7BK .y,'y,-.rB   c                     t        dt              j                  t              dk(  sJ t        dt        t                    j                  t              t        dz  k(  sJ t        ddt	        t              z        j                  t              t	        t              k(  sJ t        t
        t              t        t
        z  z  j                  t              ddt
        z  t        t
        dz         z  z  k(  sJ y Nr   rE   rI   )r   r8   as_leading_termr   r   r5   r#   rF   rB   r@   test_besselj_leading_termrP   /   s    1a=((+q0001c!f--a0AaC7771aQi 003tAw>>> AqM!Q$//2aAeAEl9J6KKKKrB   c                     t        dt              j                  t              dt        t              z  dt        d      z  z
  dt        j
                  z  z   t        z  k(  sJ t        dt        t                    j                  t              dt        t        z  z  k(  sJ t        ddt        t              z        j                  t              dt        t        t              z  z  k(  sJ y )Nr   rI   rE   )	r   r8   rO   r   r   
EulerGammar
   r   r   rF   rB   r@   test_bessely_leading_termrU   8   s    1a=((+#a&1SV80Can0TVX/XXXX1c!f--a0B1I===1aQi 003r2d1g:FFFrB   c                  F   t        dt              j                  t              dk(  sJ t        dt        t                    j                  t              t        dz  k(  sJ t        ddt	        t              z        j                  t              t	        t              k(  sJ y rN   )r   r8   rO   r   r   rF   rB   r@   test_besseli_leading_termrW   >   su    1a=((+q0001c!f--a0AaC7771aQi 003tAw>>>rB   c                     t        dt              j                  t              t        t               t        j
                  z
  t        d      z   k(  sJ t        dt        t                    j                  t              dt        z  k(  sJ t        ddt        t              z        j                  t              ddt        t              z  z  k(  sJ y )Nr   rI   rE   )r   r8   rO   r   r   rT   r   r   rF   rB   r@   test_besselk_leading_termrY   D   s    1a=((+Aw/EA/NNNN1c!f--a0AaC7771aQi 003q!DG)}DDDrB   c                     t        dt              j                  t              dt        dz  dz  z
  t        dz  dz  z   t        t        dz        z   k(  sJ t        dt        dz        j                  t              dt        dz  dz  z   t        d	z  dz  z
  t        t        dz        z   k(  sJ t        dt        dz  t        z         j                  t              dt        dz  dz  z
  t        d
z  dz  z
  dt        dz  z  dz  z
  t        dz  dz  z   t        t        dz        z   k(  sJ t        dt	        t              t        z         j                  t        d      dt        dz  z
  dt        dz  z  dz  z
  dt        d
z  z  dz  z   t        t        d
d      z  dz  z
  t        t        dd      z  dz  z   dt        t        dd      z  z  dz  z   t        t        dz        z   k(  sJ t        dt        dt        z
  z        j                  t              dt        dz  dz  z
  t        d
z  dz  z
  dt        dz  z  dz  z
  dt        dz  z  dz  z
  t        t        dz        z   k(  sJ t        dt        dt        z               j                  t              dt        dz  dz  z
  t        d
z  dz  z   dt        dz  z  dz  z
  dt        dz  z  dz  z   t        t        dz        z   k(  sJ t        dt        t                    j                  t              t        dz  dt        d
z  z  dz  z
  dt        dz  z  dz  z   t        t        dz        z   k(  sJ t        ddt	        t              z        j                  t              t	        t              t        t        d
d      z  dz  z
  t        t        dd      z  dz  z   t        t        dd      z  dz  z
  t        t        dd      z  dz  z   t        t        d d      z  d!z  z
  t        t        dz        z   k(  sJ t        d"t        t                    j                  t        d      t        dt        t                    j                  t        d      k(  sJ y )#Nr   rE   rI      @      皙?皙@皙@rJ            r6       	          /   )         `   0   I           	   @     Q rR   )r   r8   r(   r'   r   r   r   r   rF   rB   r@   test_besselj_seriesrx   J   s   1a="a!Q$q&j1a47&:Qq!tW&DDDD1a#h&&q)QC]QVAX-E!Q$-OOOO1adQh&&q)QAaZ!Q$q&-@
QT'"*.!tBw.!"1a4.) ) ) )1d1gk"))!q)1Q1Wr!Q$wrz5I
ad(4-6Xa^+A-6.018Aq>0A"0D6E
QA
s
"6#%&q!tW6- - - - 1aQi ''*a!Q$q&j1a46.ABq!tGBJ.N
QT'"*/Aw/   1c!a%j!((+q1a46zAqDF/B
QT'#+01a4
0#%&q!tW0- - - -1c!f$$Q'1Q31a4?R1WT\+IAaQRdG+SSSS1aQi ''*d1g8Aq>8I!8K.K
Xa^
B
/!"HQN!23!6/79:HQN9J49O/P
Xb!_
U
"/#%&q!tW/- - - - 2s1v%%a1%-CF1C1J1J1PQ1J1RRRRrB   c                  J   dt         j                  z  t        z  dt        d      z  t        z  z
  dt        t              z  t        z  z   } t        dt              j                  t        d      | t        dz  t        t               dt        z  z  ddt         j                  z  z
  dt        z  z  z   t        d      dt        z  z  z   z  z   t        t        dz  t        t              z        z   k(  sJ t        dt              j                  t        d      dt        t        z  z  t        t        t              t        z  t        d      t        z  z
  ddt         j                  z  z
  dt        z  z  z
  z  z   t        dz  t        t               dt        z  z  t        d	      dz  dt         j                  z  z
  d
t        z  z  z   t        d      dt        z  z  z   z  z   t        t        dz  t        t              z        z   k(  sJ t        dt              j                  t        d      dt        t        dz  z  z  dt        z  z
  t        dz  t        t              dt        z  z  t        d      dt        z  z  z
  t        d      dz  dt         j                  z  z
  dt        z  z  z
  z  z   t        t        dz  t        t              z        z   k(  sJ t        dt              j                  t        d      dt        t        dz  z  z  dt        t        z  z  z
  t        dt        z  z  z
  t        dz  t        t              dt        z  z  t        d      dt        z  z  z
  t        d      dz  dt         j                  z  z
  dt        z  z  z
  z  z   t        t        dz  t        t              z        z   k(  sJ t        dt        dz        j                  t        d      dt         j                  z  t        z  dt        d      z  t        z  z
  dt        t              z  t        z  z   t        dz  dt        t              z  t        z  ddt         j                  z  z
  dt        z  z  z   t        d      dt        z  z  z   z  z   t        t        dz  t        t              z        z   k(  sJ t        dt        dz  t        z         j                  t        d      | ddt         j                  z  z
  t        dz   dt        z  z  t        dz  dt        z  z  z
  z  z
  dt        z  t        z  z   t        dz  t        t               dt        z  z  dt        z  z
  t        d      dt        z  z  z   z  z   t        dz  t        t               t        z  ddt        z  z  z   t        d      t        z  z   z  z   t        t        dz  t        t              z        z   k(  sJ t        dt        dt        z
  z        j                  t        d      | dt        z  t        z  z   t        dz  t        t               dt        z  z  ddt         j                  z  z
  dt        z  z  z   t        d      dt        z  z  z   dt        z  z   z  z   t        t        dz  t        t              z        z   k(  sJ t        dt        dt        z               j                  t        d      | t        t        z  z
  t        dz  t        t               dt        z  z  ddt         j                  z  z
  dt        z  z  z   t        d      dt        z  z  z   d	dt        z  z  z   z  z   t        t        dz  t        t              z        z   k(  sJ t        dt        t                    j                  t        d      dt        t        dz   dz  t        dz  z   z  z  ddt         j                  z  z
  t        dz   dz  t        dz  z   z  t        z  z
  t        t        t              t        z  t        d      t        z  z
  z  z   t        dz  dt        t              z  dt        z  z  ddt        z  z  z
  t        d	      dz  dt         j                  z  z
  d
t        z  z  z   dt        d      z  dt        z  z  z   z  z   t        t        dz  t        t              z        z   k(  sJ t        ddt        t              z        j                  t        d      dt        t        t              z  z  t        t              t        t              t        z  ddt         j                  z  z
  t        z  z
  z  z   t        t        d      dz  z  t        t               dt        z  z  t        d	      dz  dt         j                  z  z
  dt        z  z  z   z  z   t        t        d	      dz  z  t        t              dt        z  z  t        d      dz  dt         j                  z  z
  dt        z  z  z
  z  z   t        t        dz  t        t              z        z   k(  sJ t        dt        t                    j                  t        d      t        dt        t                    j                  t        d      k(  sJ y )NrI   r   r[   rd   rE   rR   rJ      rb   rc   i   rv   r]   ro   r^   r`   grr   rS   rh   r:   )
r   rT   r
   r   r8   r   r(   r'   r   r   consts    r@   test_bessely_seriesr   ]   s	   allN2#a&+aAhrk9E1a=Q'51a4#a&!B$q~"
%:&(+A":6 47 ,79:1a4A;,H H H H1a=Q'2r!t9q#a&)c!fRi:O	
Qq||^	ad#;$ 8% ,%'(!tc!fWad^	
1a!ALL.	 2b5).*,/FAbDM.: (;,;=>q!tCF{^,L L L L 1a=Q'2r!Q$w<!B$+>As1vqQSt}A"H1a!ALL.01R48H9 B: ,:<=ad3q6kN,K K K K1a=Q'31a4=1bd8+C	1R4,a4QB#a&"R%.8	
2q1Q\\>	!BrE*+ ,,,./1SVn,= = = = 1a#h&&qA&.!ALL.2C
CF(2+3CF
23&()3c!fRq~"
%1&(+A"16 )7379:1a4A;3H H H H 1adQh&&qA&.Qq||^#q!teQrTlQT1R4[&@AAAaCFJ
Q$Q22%A"5
6	7
Q$Q
Q"X%Ar	1
2	356q!tCF{^	DD D D 1aQi ''Q'/5
A#b&4a4#a&!B$1q~+="*EE
a&!B$-B$  4 "#AqDQK.41 1 1 1 1c!a%j!((a(0E
B$5AAw"~Qq||^);ad(CC
a&!B$-RU)$ %5%'(Ac!f~56 6 6 6 1c!f$$Q!$,BAb1Q34G0H	
Qq||^	q!teBh1n-b01134c!fRi#a&)6K3L1M	1bQiB!QrT(*ad1fq~.E2-NN	#a&"R% 	1 ad3q6kN1+ + + + 1aQi ''Q'/2r$q'z?QQa!ALL.0"4454689AaDFc!fWaPRd^	
1a!ALL.	 1R4(F) 9*4*,-!QKQB	
2q1Q\\>	!BrE*:+ -,4, /01SVn4= = = = 2s1v%%a1%-CF1C1J1J1PQ1J1RRRRrB   c                  	   t        dt              j                  t              dt        dz  dz  z   t        dz  dz  z   t        t        dz        z   k(  sJ t        dt        dz        j                  t              dt        dz  dz  z   t        d	z  dz  z   t        t        dz        z   k(  sJ t        dt        dz  t        z         j                  t              dt        dz  dz  z   t        d
z  dz  z   dt        dz  z  dz  z   t        dz  dz  z   t        t        dz        z   k(  sJ t        dt	        t              t        z         j                  t        d      dt        dz  z   dt        dz  z  dz  z   dt        d
z  z  dz  z   t        t        d
      dz  z  dz  z   t        t        d      dz  z  dz  z   dt        t        d      dz  z  z  dz  z   t        t        dz        z   k(  sJ t        dt        dt        z
  z        j                  t              dt        dz  dz  z   t        d
z  dz  z   dt        dz  z  dz  z   dt        dz  z  dz  z   t        t        dz        z   k(  sJ t        dt        dt        z               j                  t              dt        dz  dz  z   t        d
z  dz  z
  dt        dz  z  dz  z   dt        dz  z  dz  z
  t        t        dz        z   k(  sJ t        dt        t                    j                  t              t        dz  t        d
z  dz  z
  dt        dz  z  dz  z
  t        t        dz        z   k(  sJ t        ddt	        t              z        j                  t              t	        t              t        t        d
      dz  z  dz  z   t        t        d      dz  z  dz  z   t        t        d      dz  z  dz  z   t        t        d      dz  z  dz  z   t        t        d      dz  z  d z  z   t        t        dz        z   k(  sJ t        d!t        t                    j                  t        d      t        dt        t                    j                  t        d      k(  sJ y )"Nr   rE   rI   r[   r\   r]   r^   r_   r`   rJ   rm   rb   rc   rd      rf      rh   ri   1   rj   rl   rg   rn   ro   rq   rr   rs   rt   ru   rv   rw   rR   )r   r8   r(   r'   r   r   r   r   rF   rB   r@   test_besseli_seriesr      s   1a="a!Q$q&j1a47&:Qq!tW&DDDD1a#h&&q)QC]QVAX-E!Q$-OOOO1adQh&&q)QAaZ!Q$q&-@2ad72:-M	1R.AqD'.   1d1gk"))!q)1Q1Wr!Q$wrz5IAqD6AaDFA6&()AaDFB679;A!QK9K6LNOPQSTPTg6V V V V1aQi ''*a!Q$q&j1a46.ABq!tGBJ.N
1a4
/q!tW/   1c!a%j!((+q1a46zAqDF/BR1WS[/P
1a4
0q!tW0   1c!f$$Q'1Q3Ab=2ad74<+G!AqD'+QQQQ1aQi ''*d1gAaDFA.EAaDQRFTV.V	AaDFC/ad1f+d*/+-.2q\%-?/@BCAqD'/J J J J2s1v%%a1%-CF1C1J1J1PQ1J1RRRRrB   c                     t        d      t        j                  z
  t        t              z
  } t	        dt              j                  t        d      | t        dz  t        t               dz  t        j                  dz  z
  t        d      dz  z   t        d      dz  z   z  z   t        t        dz  t        t              z        z   k(  sJ t	        dt              j                  t        d      dt        z  t        t        t              dz  t        d      dz  z
  t        d      dz  z
  t        j                  dz  z   z  z   t        dz  t        t              dz  t        d      d	z  z
  t        d      dz  z
  t        j                  dz  z   z  z   t        t        dz  t        t              z        z   k(  sJ t	        dt              j                  t        d      dt        dz  z  t        d      dz  z
  t        dz  t        t               d
z  t        j                  d
z  z
  t        d      d
z  z   t        d      dz  z   z  z   t        t        dz  t        t              z        z   k(  sJ t	        dt        dz        j                  t        d      t        d      t        j                  z
  dt        t              z  z
  t        dz  dt        t              z  t        j                  dz  z
  t        d      dz  z   t        d      dz  z   z  z   t        t        dz  t        t              z        z   k(  sJ t	        dt        dz  t        z         j                  t        d      | ddt        j                  z  z
  t        dz  dz  t        dz  d
z  z   z  z   t        z
  t        dz  t        t               dz  t        d      dz  z   t        d      dz  z   z  z   t        dz  t        t               dz  t        d      dz  z
  t        d      dz  z   z  z   t        t        dz  t        t              z        z   k(  sJ t	        dt        dt        z
  z        j                  t        d      | t        z
  t        dz  t        t               dz  t        d      dz  z
  t        j                  dz  z
  t        d      dz  z   z  z   t        t        dz  t        t              z        z   k(  sJ t	        dt        dt        z               j                  t        d      | t        dz  z   t        dz  t        t               dz  t        j                  dz  z
  t        d      dz  z   t        d      dz  z   z  z   t        t        dz  t        t              z        z   k(  sJ t	        ddt        t              z        j                  t        d      ddt        t              z  z  t        t              t        t              dz  t        d      dz  z
  t        j                  z   z  z   t        t        d      dz  z  t        t              dz  t        d      d
z  z
  t        j                  dz  z   z  z   t        t        d      dz  z  t        t              dz  t        d      dz  z
  t        j                  dz  z   z  z   t        t        dz  t        t              z        z   k(  sJ t	        dt        t                    j                  t        d      t	        dt        t                    j                  t        d      k(  sJ y )NrI   r   r[   rd   rE   rJ   rc   rb   r\   rz       r^   r`   gѿrh   rr   r|   $   rR   )	r   r   rT   r8   r   r(   r'   r   r   r~   s    r@   test_besselk_seriesr      sR   FQ\\!CF*E1a=Q'5	1s1vgai!,,q.(3q6!83ad1f<=,>@A!Q$s1v+,O O O O1a=Q'1Q3CF1Hs1vax4G	!Q5a5  2! ,!#$a4QQqT"W)<s1vby)H	R* $,QT#a&[>,* * * * 1a=Q'1QT6AaDF?QTCF719	QDQD"$%aDGD, >- ,-/0Ac!f~,> > > >1a#h&&qA&.#a&1<<2GCF
3VVCF]Q\\!^;AqQ46 3q!tCF{^3, , , , 1adQh&&qA&.%	
Qq||^	ad1fq!tAvo.3/123356TCF719Aq<Q46< 63TCF719qtBw#6Q#AB3CEFq!tCPQF{^3T T T T 1aQi ''Q'/519q!tc!fWQY	!QFaF "%a&(F+ @, 4,./1SVn4= = = =1c!a%j!((a(0EAaCK	1s1vgai!,,q.(1Q472SVAX=>5?AB1a4A;5P P P P1aQi ''Q'/1aQi=QQAaDF"Q\\1243561a[#a&(QqTRSVBS	QC 64ad1f+s1vby1Q47':Q\\"_'LM4NPQRSUVRVWZ[\W]R]P^4_ _ _ _ 2s1v%%a1%-CF1C1J1J1PQ1J1RRRRrB   c                  z   t        t        t              j                  t              t        t        dz
  t              dz  t        t        dz   t              dz  z
  k(  sJ t	        t        t              j                  t              t	        t        dz
  t              dz  t	        t        dz   t              dz  z
  k(  sJ t        t        t              j                  t              t        t        dz
  t              dz  t        t        dz   t              dz  z   k(  sJ t        t        t              j                  t              t        t        dz
  t               dz  t        t        dz   t              dz  z
  k(  sJ t        t        t              j                  t              t        t        dz
  t              dz  t        t        dz   t              dz  z
  k(  sJ t        t        t              j                  t              t        t        dz
  t              dz  t        t        dz   t              dz  z
  k(  sJ y )NrE   rI   )	r   r6   r5   r   r   r   r   r   r   rF   rB   r@   	test_diffr      s   1a=a GAE1$5a$7'!a%:KA:M$MMMM1a=a GAE1$5a$7'!a%:KA:M$MMMM1a=a GAE1$5a$7'!a%:KA:M$MMMM1a=a WQUA%6$6q$871q5!;LQ;N$NNNN1a=a GAE1$5a$7'!a%:KA:M$MMMM1a=a GAE1$5a$7'!a%:KA:M$MMMMrB   c                  f   t        t        t              j                  t              t        dt        z  t        z        t	        t        t        j                  z
  t              z  k(  sJ t        t        t              j                  t              t        dt        z  t        z        t        t        t        j                  z
  t              z  k(  sJ t        t        t              j                  t               t        t         t        z  t        z  dz        t        t        t        t              t        z        z  k(  sJ t        t        t              j                  t              t        t        t        z  t        z  dz        t        t        t        t               t        z        z  k(  sJ t               } t!        t        | t              t        | t              j                  t              t              sJ t!        t        | t              t        | t              j                  t              t              sJ t!        t        | t              t        | t              j                  t               t              sJ t!        t        | t              t        | t              j                  t              t              sJ t!        t        | t              t        | t              j                  t               t              sJ t!        t        | t              t        | t              j                  t              t              sJ t!        t#        | t              t#        | t              j                  t               t              sJ t!        t#        | t              t#        | t              j                  t              t              sJ t!        t#        | t              t#        | t              j                  t              t              sJ t        | t              t        | t              j                  t              k7  sJ t%        | t              t%        | t              j                  t              k7  sJ t'        | t              t'        | t              j                  t              k7  sJ t	        | t              t	        | t              j                  t              k7  sJ t%        | t              t%        | t              j                  t              k7  sJ t'        | t              t'        | t              j                  t              k7  sJ | }t         t        fD ]f  }t%        |t              t%        |t              j                  |      k(  sJ t'        |t              t'        |t              j                  |      k(  rfJ  t	        |t              j                  t               t        d      t        t              z  t        dt        z        z  t        |t        j                  z   t              z  dz  k(  sJ t	        |t              j                  t              d| z  t        d      z  t        t              z  t        dt        z        z  t        | t        j                  z
  t              z  dz  k(  sJ t)        dd      }t+        dd      }||fD ]  }t         t        fD ]  }t        |t              t        |t              j                  |      k7  sJ t	        |t              t	        |t              j                  |      k7  sJ t%        |t              t%        |t              j                  |      k7  sJ t'        |t              t'        |t              j                  |      k7  rJ   t-        t        t        t$        t&        ft        t        t         t        f      D ]=  \  }}t!         ||t               ||t              j                  |      t              r=J  y )	NrI   rE   rS   r6   Tintegerr:   )r   r6   r5   rewriter    r   r
   r   Halfr   r"   r   r   r   r   r<   tnr   r   r   r   r=   r   )nuorderr?   Nrifuncrefuncs          r@   test_rewriter      s   1a=  $QqSVRAFF
A5F(FFFF1a=  $QqSVRAFF
A5F(FFFF1a=  )QBqDGAIwq*Q-/223 3 31a=  )AaCF1HgaQB!1223 3 3 
Bgb!ngb!n44W=qAAAgb!ngb!n44W=qAAAgb!ngb!n44W=qAAAgb!ngb!n44W=qAAAgb!ngb!n44W=qAAAgb!ngb!n44W=qAAAgb!ngb!n44W=qAAAgb!ngb!n44W=qAAAgb!ngb!n44W=qAAA b!92q	))"----r1:R++B////r1:R++B////b!92q	))"----r1:R++B////r1:R++B//// Ew 95!}E1 5 5a 88885!}E1 5 5a 88889 eQ<(DGDH,<T!A#Y,FwuWXW]W]~_`Ga,abc,cccceQ<(R"HT!W,<T"X,Ed1Q3i,OPWY^X^abagagXgijPk,klm,mmmm 	sD!A	b	Ba =7# 	=AeQ<2eQ<#7#7#::::eQ<2eQ<#7#7#::::ua=CqM$9$9!$<<<<ua=CqM$9$9!$<<<<		==  Rc 2!#R' :< ?f$r1+tB{226:A>>>?rB   c            
      h   t        t        t        j                  t              j                  t                    t        d      t        t              z  t        t              t        t              z  z  k(  sJ t        t        t        j                  t              j                  t                    t        d       t        t              z  t        t              t        t              z  z  k(  sJ t        t        t        j                  t                    t        d      t        t              z  t        t              t        t              z  z  k(  sJ t        t        t        dd      t                    t        d      t        t              z  t        t              t        t              z  z  k(  sJ t        t        t        dd      t                    t        d       t        dz  t        t              z  dt        z  t        t              z  z   dt        t              z  z
  z  t        t              t        t        dd      z  z  z  k(  sJ t        t        t        dd      t                    t        d       t        dz  t        t              z  dt        z  t        t              z  z
  dt        t              z  z
  z  t        t              t        t        dd      z  z  z  k(  sJ t        t        t        j                  t                    t        d      t        t              z   t        t              t        t              z  z  k(  sJ t        t        t        dd      t                    t        d      t        t              z  t        t              t        t              z  z  k(  sJ t        t        t        dd      t                    t        d      t        dz  t        t              z  dt        z  t        t              z  z
  dt        t              z  z
  z  t        t              t        t        dd      z  z  z  k(  sJ t        t        t        dd      t                    t        d       t        dz  t        t              z  dt        z  t        t              z  z   dt        t              z  z
  z  t        t              t        t        dd      z  z  z  k(  sJ t        t        t        j                  t                    t        d      t!        t              z  t        t              t        t              z  z  k(  sJ t        t        t        dd      t                    t        d      t#        t              z  t        t              t        t              z  z  k(  sJ t        t        t        dd      t                    t        d      t        dz  t!        t              z  dt        z  t#        t              z  z
  dt!        t              z  z   z  t        t              t        t        dd      z  z  z  k(  sJ t        t        t        dd      t                    t        d      t        dz  t#        t              z  dt        z  t!        t              z  z
  dt#        t              z  z   z  t        t              t        t        dd      z  z  z  k(  sJ t        t%        t        j                  t                    t        t%        t        dd      t                    cxk(  r@t        t              t'        t               z  t        d      t        t              z  z  k(  sJ  J t        t%        t        dd      t                    t        t%        t        dd      t                    cxk(  r^t        d      t        t              z  t        dz  dt        z  z   dz   z  t'        t               z  dt        t        dd      z  z  z  k(  sJ  J t)        ddd      } t        t        | dz   t                    t        | t              d	| z  dz
  d	| z  t        | t              z  t        z  t        | d
z
  t              z   z  t        z  z   k(  sJ t        t        | dz   t                    t        | t               d| z  dz   d| z  t        | t              z  t        z  t        | d
z
  t              z
  z  t        z  z   k(  sJ t        t%        | dz   t                    t%        | t              d| z  dz   d| z  t%        | t              z  t        z  t%        | d
z
  t              z   z  t        z  z   k(  sJ t        t        | dz   t                    t        | t               d| z  dz   d| z  t        | t              z  t        z  t        | d
z
  t              z
  z  t        z  z   k(  sJ t        t        | t        j                  z   t              j                  t                    t        d      t        t              z  t'        t*         t        z  | t        j                  z   z  dz        z  t-        t*        t        z  dz        z  t        | t        t-        t*        t        z  dz        z        z  t        t              z  k(  sJ t        t        | t        j                  z   t              j                  t                    t        d      t        t              z  t        | t              z  t        t              z  k(  sJ t)        dd      }t)        dd      }t)        dd      }t        t        t        t$        fD ]O  } |||      j.                  du sJ  ||t0              j.                  J  |t0        t              j.                  OJ  t        t        fD ]  } |||      j.                  du rJ  t        t$        fD ]  } |||      j.                  J  t        t        t        t$        fD ]d  }t         |t2        t0                     |t2        t0        d      k(  sJ t         |t2         t0                     |t2         t0        d      k(  rdJ  y )NrI   rS   rb   rJ   r6   T)r   positiverR   rE   r[   rrealpr   ir   Fevaluate)r   r   r   r   r5   r   r    r   r   r
   r   r"   r   r2   r   r   r   r   r   r   r   r   r   is_extended_realr8   r	   )r6   r   r   r   besselxs        r@   test_expandr      s	   wqvvq)11"56QARa()* * *wqvvq)11"56	aQb$q')*+ + +
 gaffa()T!WSV^T"Xd1g=M-NNNNghr1oq12d1gc!fnd2htTUwFV6WWWWghq!na01	a!Q$s1v+!CF
*Qs1vX56RHQPQNAR8RST T Tghr1oq12	a!Q$s1v+!CF
*Qs1vX56RHQPQNAR8RST T T gaffa()
q'#a&.48DG+,- - -ghr1oq12d1gc!fnd2htTUwFV6WWWWghq!na01QAc!fqs3q6z)Ac!fH45tBx8Aq>@Q7QRS S Sghr1oq12	a!Q$s1v+!CF
*Qs1vX56RHQPQNAR8RST T T gaffa()T!WT!W_d2htAw>N-OOOOghr1oq12QQb$q')*+ + +ghq!na01QAd1g!DG+aQi78$r(1hqRSnCT:TUV V Vghr1oq12QAd1g!DG+aQi78$r(1hqRSnCT:TUV V V gaffa()78B?A./V378CG3CT!WTRSW_3UV V V V Vghq!na0178B?A./HQR!Q$1*q.)#qb'11QA5F3FGH H H H H 	sD40Awq1ua()1ABqDA$6q$871q5!;L$LMaOOP P Pwq1ua()	A!A#'AaC1$5a$7'!a%:K$KLQNNO O Owq1ua()11q1Q3wq!}#4Q#6Q9J#JKAMMN N Nwq1ua()	A!A#'AaC1$5a$7'!a%:K$KLQNNO O O wq166z1-55b9:	aaaRUAJ/12	2	1R46	
a9QrT!V#4!45
66:2h
?@ @ @ wq166z1-55b9:QQ1a b)* * * 	sAsT"AsD!AWgw7 6q!}--555q!}--555q!}--5556
 W% 6q!}--5556W% 6q!}--5556 Wgw7 O72q>*gb!e.LLLL7B3?+wsA/NNNNOrB   c            	         d } t        dddd      }t        t        t        t        fD ]M  }t        dt        dd      z  dz         dz  }t        t         ||t                     ||t                    rMJ   | t        t        |t                    t        |dz
  t              d|dz
  z  t        |dz
  t              z  t        z  z
        sJ  | t        t        | t                    t        | dz   t              d| dz   z  t        | dz   t              z  t        z  z         sJ  | t        t        |t                    t        |dz
  t               d|dz
  z  t        |dz
  t              z  t        z  z         sJ  | t        t        | t                    t        | dz   t               d| dz   z  t        | dz   t              z  t        z  z         sJ  | t        t	        |t                    t	        |dz
  t              d|dz
  z  t	        |dz
  t              z  t        z  z         sJ  | t        t	        | t                    t	        | dz   t              d| dz   z  t	        | dz   t              z  t        z  z
        sJ  | t        t        |t                    t        |dz
  t               d|dz
  z  t        |dz
  t              z  t        z  z         sJ  | t        t        | t                    t        | dz   t               d| dz   z  t        | dz   t              z  t        z  z         sJ y )Nc                 (    t        | |      xr | |k(  S N)r   )eqanss     r@   checkztest_slow_expand.<locals>.check;  s    "c{(rSy(rB   rE   r   rI   )abdcr   r:   )r<   r   r   r   r   r   r=   r   r2   r5   r   r8   )r   rnr   r   s       r@   test_slow_expandr   9  s6   ) 
Aa1	%BWgw7 >qb!!A%&**WR^,gb!n===> WR^,a#aaja1C&CA&EEG G GWbS!_-"q!$q2#'{7B37A3F'Fq'HHJ J J WR^,"q&!$$q"q&z'"q&!2D'DQ'FFH H HWbS!_-2#'1%%B37GRC!GQ4G(G(IIK K K WR^,a#aaja1C&CA&EEG G GWbS!_-"q!$q2#'{7B37A3F'Fq'HHJ J J WR^,"q&!$$q"q&z'"q&!2D'DQ'FFH H HWbS!_-2#'1%%B37GRC!GQ4G(G(IIK K KrB   c                 ,    t        t        | |            S r   )r   r    r6   r5   s     r@   mjnr   Y      r!Qx  rB   c                 ,    t        t        | |            S r   )r   r"   r   s     r@   mynr   ]  r   rB   c                     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      k(  sJ t        dt              dk(  sJ t        dt               dk(  sJ t        d|       t        |       | z  k(  sJ t        d|       t        |       | dz  z  t        |       | z  z
  k(  sJ t        d|       d| dz  z  d| z  z
  t        |       z  d| dz  z  t        |       z  z
  k(  sJ t        d|       d	| d
z  z  d| dz  z  z
  t        |       z  d| z  d	| dz  z  z
  t        |       z  z   k(  sJ t        d
|       d| z  d| dz  z  z   d| dz  z  z
  t        |       z  d| d
z  z  d| dz  z  z   t        |       z  z   k(  sJ t        d|       d| dz  z  d| d
z  z  z
  d	| dz  z  z   t        |       z  d| z  d| dz  z  z
  d| dz  z  z   t        |       z  z   k(  sJ t        d|       d| z  d| dz  z  z   d| dz  z  z
  d| dz  z  z   t        |       z  d| dz  z  d| d
z  z  z   d| dz  z  z
  t        |       z  z   k(  sJ t        t        t        |             t        t        |       k(  sJ t        dd      j                         t        dd      k(  sJ t        t        dd      j                  d      gddt        z  z
  g      sJ y )Nr5   r   rE   rS   Fr   rI   rJ   ra   r[   r]   i   rb   -   ir:   i  i  i(  rh   iu     iei            @      @@333333?gMs?gM?)r   r    r   ComplexInfinityr	   r   r   r   r   r6   evalfr   r   r5   s    r@   test_jnr   a  sA   Aa8q==a8q==b!9)))))a8r!Q////a9>>a":??q!9Aq   q!9Aq!tc!fQh....q!91a4!A#s1v-1a43q60AAAAAq!9AqD1QT6)3q61QqS2ad7]CF4JJJJJq!91s1a4x"QT'13q69	adR1W	c!f$% % % %q!9QTC1H,r!Q$w6A>	AAqD3q!t8	#SV+, , , ,q!9Aad
*T!Q$Y6QTA3q6I	1tAqDy	 2ad7	*CF23 3 3 3 r!Qx Bq!H,,, dH##%D();;;;r!X$$R()}Q./1 1 1rB   c                  D   t        d      } t        d|       t        |        | z  k(  sJ t        d|       t        |        | dz  z  t        |       | z  z
  k(  sJ t        d|       d| dz  z  d| z  z
  t        |       z  d| dz  z  t        |       z  z    k(  sJ t	        t        t        |             t        t        |       k(  sJ t        dd      j                         t        dd      k(  sJ t        t        dd      j                  d      gd	d
t        z  z   g      sJ y )Nr5   r   rE   rI   rJ   r   r   r:   g=;H?gLs?)
r   r   r   r   r   r"   r6   r   r   r   r   s    r@   test_ynr   ~  s   Aq!9Q	!!!q!9Q1s1vax////q!91QT6AaC<Q/1QT63q6/ABBBBr!Qx Bq!H,,, dH##%D();;;;r!X$$R()]1_,-/ / /rB   c                      t        d      t        dt              j                         v sJ t        dt              dt        dz  z  dt        dz  z  z
  k(  sJ y )Nra   rJ   r[   r]   rI   )r   r   r
   atomsrF   rB   r@   test_sympify_ynr     sL    R5C2J$$&&&&q":BEAb!eG++++rB   c                 R    t        | |      D ]  \  }}t        ||z
        |k  r y y)NFT)zipabs)r   r   toluvs        r@   r   r     s3    Aq	 1AE
S  rB   c                     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	      sJ t        t        dd      g d
      sJ y )Nr   r[   )gz !	@gަ?!@g/^|"@gަ?!)@rE   )gP5z5@@g2@g@%@gr!,@rI   )gX32@g@#H0"@g#EdX(@g^z/@rJ   )g:r@gW%}$@g,IEce+@gmr0@)gx] @geqh'@g7N.@g4M2@)r   r!   rF   rB   r@   test_jn_zerosr     su    hq!nGHHHhq!nHIIIhq!nHIIIhq!nIJJJhq!nIJJJrB   c                  
   t        dd      t        d      t        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 sJ  |dd      t        j                  u sJ  |ddt        z  z   d      t        j
                  u sJ  |d
t        z   d      t        j                  u sJ  |dt        z  d      t        j                  u sJ  || d      t        j                  k7  r || d      t        j
                  k7  sJ  ||d      t        j                  k7  r ||d      t        j
                  k7  sJ  ||d      t        j
                  u r`J  t        dd      t        j                  u sJ t        dd      t        j                  u sJ t        t        fD ]C  } |dt        z   d      t        j                  u sJ  |t        d      t        j                  u rCJ  t        t        fD ]T  } ||t        j                        t        j
                  u sJ  ||t        j                        t        j
                  u rTJ  t        t        fD ]b  } ||t        t        j                  z        t        j
                  u sJ  ||t        t        j                  z        t        j
                  u rbJ  t        t        fD ]x  } |dt               |dt              k(  sJ  |d
t               |dt              k(  sJ  ||  t               || t              k(  sJ  || t               ||t              k7  rxJ  t        t        fD ]  } |dt               |dt              k(  sJ  |d
t               |dt               k(  sJ  ||  t              d| z   || t              z  k(  sJ  || t              d|z   ||t              z  k7  rJ  t        t        fD ]6  } ||t               t         |z  t        | z  z   ||t              z  k(  r6J  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        dt               k(  sJ t        dt        t        z        t        dt              k(  sJ t        dt        t        z        t        t        dt              z  k(  sJ t        dt        t        z        t         t        dt              z  k(  sJ y )Nr6   Tr   mr7   F)r   zeror   g @gffffff$rE   rJ   rR   r{   r[   rS   rI   )r   r   r   r   OneZeror   r   NaNr   NegativeInfinityr   Infinityr5   )r6   r   r7   r?   s       r@   test_bessel_evalr     s   S$'fS$UZ6[!qAw 
!Aw!%%ayAFF"""Qx166!!!{a/////QqS!}&&&a|q00000AqzQUU"""Aw!%%AaGqvv$555Aw!%%AaGqvv$555Aw!&&   
! 1a=A.....1a=AJJ&&&w  Q{a/////Aw!%%  w 2AJJ166)))A&&'1661112 w 4AajjL!QVV+++Aa((()QVV3334 w #Qx1Q7"""Qx1Q7"""!Qx1Q7"""!Qx1Q7"""	# w +Qx1Q7"""QxAaG8###!QxB71Q7?***!QxB71Q7?***	+ w 3QBxQB71r7?1Q722223 1qb>WQ]***1qb>gam^+++1qb>WQ]***1qb>gam^+++1ac?gam+++1ac?a1o---1ac?qbA....rB   c                      t         t        t        t        t        t
        t        t        fD ]5  }  | dt        j                         | dt        j                  d      k(  r5J  y )NrE   Fr   )
r   r   r   r   r   r   r"   r    r   r   r>   s    r@   test_bessel_nanr     sG    w'7BK :AEE{a15559999:rB   c                  f   t        dt              j                  t        d      dk(  sJ t        dt              j                  t        d      dk(  sJ t        dt              j                  t        t              dk(  sJ t        t	        d      dz  t              j                  t        d      dk(  sJ t        t	        d      dz  t              j                  t        d      dk(  sJ t        t	        d      dz  t              j                  t        t              dk(  sJ t        t        dt        z        j                  t        d      dk(  sJ t        dt              j                  t        d      dk(  sJ t        dt              j                  t        d      dk(  sJ t        dt              j                  t        d      dk(  sJ t        dt              j                  t        d      dk(  sJ t        dt              j                  t        d      dk(  sJ t        dt              j                  t        d      dk(  sJ t        dt              j                  t        d      dk(  sJ t        dt        dz  dt        z  z         j                  t        d      dk(  sJ t        dt              j                  t        d      dk(  sJ t        dd      j                  t        d	      dk(  sJ t        d
dt        dz  z  dz         j                  t        d      dk(  sJ t        ddt        z        j                  t        d      dk(  sJ t        d	dt        z  dz         j                  t        d      dk(  sJ t        dt        dz  dz         j                  t        d
      dk(  sJ y )NrI   rE   Tr   FrJ   rv   r[   rb   r]   rh   rt   rz   )r   r8   is_meromorphicr	   r   r   r   r   r   r   r   r   r    r"   rF   rB   r@   test_meromorphicr     s   1a=''1-5551a=''1-5551a=''2.%7771Q461,,Q2d:::1Q461,,Q2e;;;1Q461,,Q3u<<<1ac?))!Q/58881a=''1-5551a=''1-5551a=''1-5551a=''1-5551a=''1-5551a=''1-6661a=''1-5551adQqSj!00A6$>>>1a=''1-6662q>((A.$666q!AqD&1*,,Q2d:::q!A#;%%a+t333a1q>((A.$666aA**1a0D888rB   c            
      	   t        d      } t        dd      }t        dd      }t        dd      }t        d	d
      }t        t        t        t        t
        t        fD ]  } || d      j                          |t        |       d      k7  sJ  || |      j                          |t        |       |      k7  sJ  || |      j                          |t        |       |      k7  rJ  t        d      }t        t        t        t        fD ]2  } || dt        z         j                          |t        |       dt        z
        k(  sJ  || d      j                          |t        |       d      k(  sJ  || d      j                          |t        |       d      k(  sJ  || |      j                          |t        |       t        |            k(  sJ  || |      j                          |t        |       |      k(  sJ t         || |      j                          |t        |       t        |                  r3J  t        | dt        z         j                         t        t        |       dt        z
        k(  sJ t        | d      j                         t        t        |       d      k(  sJ t        | d      j                         t        t        |       d      k(  sJ t        | |      j                         t        t        |       |      k(  sJ t        | |      j                         t        t        |       t        |            k(  sJ t        t        | |      j                         t        t        |       t        |                  sJ t        | dt        z         j                         t        t        |       dt        z
        k(  sJ t        | d      j                         t        t        |       d      k(  sJ t        | d      j                         t        t        |       d      k(  sJ t        | |      j                         t        t        |       |      k(  sJ t        | |      j                         t        t        |       t        |            k(  sJ t        t        | |      j                         t        t        |       t        |                  sJ y )Nr6   r5   F)extended_realr8   Tyr   tnegativerS   g      ?)r   rE   r   )r   r   r   r   r   r   r   r   r<   r   r   )r6   r5   r8   r   r   r?   rzs          r@   test_conjugater     s   sAs%(As$'AsT"AsT"Aw'7C 9Bx!!#q1r'::::Aw  "a	!a&8888Aw  "a	!a&88889
 
CBw1 HAE{$$&!IaL!a%*@@@@Aw  "a	!a&8888Aw  "a	!a&8888Aw  "a	!il&CCCCAw  "a	!a&8888!Ar($$&)A,	"(FGGGH 1a!e&&(GIaL!a%,HHHH1a=""$	!a(@@@@1a=""$	!a(@@@@1a=""$	!a(@@@@1a=""$	!il(KKKKgan&&(')A,	"*NOOO1a!e&&(GIaL!a%,HHHH1a=""$	!a(@@@@1a=""$	!a(@@@@1a=""$	!a(@@@@1a=""$	!il(KKKKgan&&(')A,	"*NOOOrB   c                     t        t        t              t              t        t        t              k(  sJ t	        t        t              t              t	        t        t              k(  sJ t        dd      } t        | t        dt        z  t        z        t        z        t        | t              k(  sJ t        | t        t                    t        | t              k(  sJ t	        | t        dt        z  t        z        t        z        t	        | t              k(  sJ t	        | t        t                    t	        | t              k(  sJ d }t        d      }t        |t        dt        z  t        z        t        z        t        dt        z  t        z  |z        t        |t              z  k(  sJ t	        |t        dt        z  t        z        t        z        t        dt        z  t        z  |z        t	        |t              z  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 y )Nr6   Tr   rI   c           	      |   ddl m}  |dd      } | ||t        t        t        z        z         | ||t        t         t        z        z        z
  }d} | ||z   | |t        z  z          | ||z   | |t        z  z
        z
  }t        |j                         |j                         z
        j                         dk  S )Nr   )uniformrE   rb   gV瞯<g|=)sympy.core.randomr   r   r   r
   r   r6   )r   sr   r   exprepsexpr2s          r@   r   ztest_branching.<locals>.tn$  s    -AqMAq1R4()DAi26F4F,GGQWqb3q5j)DS1"s1u*,EE4668eggi'(**,u44rB   r   )
r   r   r7   r8   r   r   r   r
   r   r   )r6   r   r   s      r@   test_branchingr     s   :a=!$1555:a=!$1555sD!A1i"Q')*gam;;;1jm$15551i"Q')*gam;;;1jm$15555 
B2y2a(*+s1R46"9~gb!n/LLLL2y2a(*+s1R46"9~gb!n/LLLLgq>>gr??gq>>gq>>gr??gq>>rB   c            	         t        d      } t        dd      }t        dd      }t        t        |             t        t        |             k(  sJ t        |      j                  sJ t        |t        |z  z         j                         t        |t        |z  z
        dz  t        |t        |z  z         dz  z   t        t        |t        |z  z
        t        |t        |z  z         z
  z  dz  fk(  sJ y )Nr5   r8   Tr   r   rI   )r   r   r)   r   r   as_real_imag)r5   r8   r   s      r@   test_airy_baser   7  s    sAsAsAVAY6)A,#7777!9%%%%!AaC%=%%'1qs7OAq1Q3w 11va!A#gAaC01!3,5 5 5 5rB   c                  	   t        dd      } t        dd      }t        dd      }t        t        |       t              sJ t        d	      d
t        dd
      z  d
t	        t        dd
            z  z  k(  sJ t        t
              d	k(  sJ t        t
               d	k(  sJ t        t        |       |       t        |       k(  sJ t        t        |       | d	d
      d
t        dd      z  t	        t        dd
            z  dt        z  z  d
t        dd      z  | z  t	        t        dd
            z  dt        z  z  z
  t        | d
z        z   k(  sJ t        |       j                  t              d
t        dd
      z   | z  t        dt        dd
      f| d
z  dz        z  d
t	        t        dd
            z  z  d
t        dd
      z  t        dt        dd
      f| d
z  dz        z  d
t	        t        dd
            z  z  z   k(  sJ t        t        |       j                  t              t              sJ t        |      j                  t              t        |       t        t        dd
      d| t        d
d      z  z  d
z        t        t        dd
      d| t        d
d      z  z  d
z        z   z  d
z  k(  sJ t        |       j                  t              |  t        t        dd
      d| t        d
d      z  z  d
z        z  d
| t        d
d      z  t        dd
      z  z  z  | t        d
d      z  t        dd
      z  t        t        dd
      d| t        d
d      z  z  d
z        z  d
z  z   k(  sJ t        |      j                  t              t        |      t        t        dd
      d|t        d
d      z  z  d
z        t        t        dd
      d|t        d
d      z  z  d
z        z
  z  d
z  k(  sJ t!        t        dd
| dz  z  t        dd
      z  z              t        d
       d| dz  t        dd
      z  | t        dd
      z  z  z   z  t#        dd
t        dd
      z  z  | t        dd
      z  z        z  dz  d| dz  t        dd
      z  | t        dd
      z  z  z   t        dd
t        dd
      z  z  | t        dd
      z  z        z  dz  z   k(  sJ y )Nr5   Fr   r   Tr   r   r   r   rJ   rE   rI   rb   r]   rF   r[   rt   rS   )r   
isinstancer)   r   r#   r	   r   r+   r(   r
   r'   r   r%   r   r   r   r   r*   r5   r   r   s      r@   test_airyair   D  s    sAsT"AsT"AfQi(((!98Aq>)1U8Aq>-B+BCCCC":??2#;!q	1Q///&)Q1%	8Aq>%A//26HQN9J19LUS[\]_`SaMb9bdefhdh9iilmnoqrnrlssu u u !9U#	
HQN	1U2A'8!Q$q&AA1U8TUWX>EZCZ[	
HQN	5hq!n%61Q?	?5RSUVCXAX	Y	Z[ [ [ fQi''0&999!9W%aR'(2q/1qb8Aq>-A+A!+CD(1a.!aR(1a.,@*@*BCD 	EEF	GH H H !9W%	
78Aq>1QA%6#6q#8991a!Q>ORZ[\^_R`=`;`a
Xa^
hq!n	,WXb!_a8TUWX>HYFYZ[F[-\	\]^	^	_` ` ` !9W%Q"a!Ax1~,=*=a*?@!Q1hq!n+<)<Q)>?@ 	AAB	CD D D va1a4(1a. 889:	a"1x1~-a!Q.???@!XVWYZ^J[H[\]_ghikl_m\mHmAnnopp
q!thq!n$QA%66
6qHQPQNAR?RSTV^_`bcVdSd?d8e	efg	g	hi i irB   c                  	   t        dd      } t        dd      }t        dd      }t        t        |       t              sJ t        d	      d
t        dd      z  d
t	        t        dd
            z  z  k(  sJ t        t
              t
        u sJ t        t
               d	k(  sJ t        t        |       |       t        |       k(  sJ t        t        |       | d	d
      d
t        dd
      z  t	        t        dd
            z  dt        z  z  d
t        dd
      z  | z  t	        t        dd
            z  dt        z  z  z   t        | d
z        z   k(  sJ t        |       j                  t              d
t        dd      z  | z  t        dt        dd
      f| d
z  dz        z  t	        t        dd
            z  d
t        dd      z  t        dt        dd
      f| d
z  dz        z  d
t	        t        dd
            z  z  z   k(  sJ t        t        |       j                  t              t              sJ t        |      j                  t              t        |       t        t        dd
      d| t        d
d      z  z  d
z        t        t        dd
      d| t        d
d      z  z  d
z        z   z  d
z  k(  sJ t        |       j                  t               t        d
      | t!        t        dd
      d| t        d
d      z  z  d
z        z  | t        d
d      z  t        dd
      z  z  | t        d
d      z  t        dd
      z  t!        t        dd
      d| t        d
d      z  z  d
z        z  z   z  d
z  k(  sJ t        |      j                  t               t        d
      t        |      z  t!        t        dd
      d|t        d
d      z  z  d
z        t!        t        dd
      d|t        d
d      z  z  d
z        z   z  d
z  k(  sJ t#        t        dd
| dz  z  t        dd
      z  z              t        d
      d| dz  t        dd
      z  | t        dd
      z  z  z
  z  t        dd
t        dd
      z  z  | t        dd
      z  z        z  dz  d| dz  t        dd
      z  | t        dd
      z  z  z   t        dd
t        dd
      z  z  | t        dd
      z  z        z  dz  z   k(  sJ y )Nr5   Fr   r   Tr   r   r   r   rJ   rb   r]   rI   rE   rF   r[   rt   rS   )r   r   r*   r   r#   r	   r   r,   r(   r
   r'   r   r%   r   r)   r   r   r   r   s      r@   test_airybir   h  s   sAsT"AsT"AfQi(((!98Aq>)1U8Aq>-B+BCCCC":2#;!q	1Q///&)Q1%	8Aq>%A//26HQN9J19LUS[\]_`SaMb9bdefhdh9iilmnoqrnrlssu u u !9U#	8Aq>!E"x1~&7Aa@@xPQST~AVV	8Aq>%Xa^$5q!tAv>>%QRTUBW@WX	YZ Z Z fQi''0&999!9W%aR'(2q/1qb8Aq>-A+A!+CD(1a.!aR(1a.,@*@*BCD 	EEF	GH H H !9W%Q78Aq>1QA->+>q+@AA1hqRSnCTW_`acdWeBeeXa^#hq!n4WXb!_aPQS[\]_`SaPaNabcNc5dde 	ffg	hi i i !9W%QQ"a!Ax1~4E2Ea2GH !Q1hq!n3D1DQ1FGH 	IIJ	KL L L va1a4(1a. 889:QadXa^+Ax1~,===>va8TUWX>HYFYZ[]efgij]kZkFk?llmnn	
adXa^#Ax1~$55	5va8Aq>@Q>QRSU]^_abUcRc>c7ddeff	gh h hrB   c                  n	   t        dd      } t        dd      }t        dd      }t        t        |       t              sJ t        d	      d
t        dd
      z   d
t	        t        dd
            z  z  k(  sJ t        t
              d	k(  sJ t        t        |       |       | t        |       z  k(  sJ t        t        |       | d	d
      d
t        dd
      z   d
t	        t        dd
            z  z  d
t        dd
      z  | dz  z  dt	        t        dd
            z  z  z   t        | d
z        z   k(  sJ t        |       j                  t              d
t        dd
      z  | dz  z  t        dt        dd
      f| d
z  dz        z  dt	        t        dd
            z  z  d
t        dd
      z  t        dt        dd
      f| d
z  dz        z  d
t	        t        dd
            z  z  z
  k(  sJ t        t        |       j                  t              t              sJ t        |      j                  t              t        |       t        t        dd
      d| t        d
d      z  z  d
z        t        t        dd
      d| t        d
d      z  z  d
z        z   z  d
z  k(  sJ t        |       j                  t              | dz  t        t        dd
      d| t        d
d      z  z  d
z        z  d
| t        d
d      z  t        dd
      z  z  z  | t        d
d      z  t        dd
      z  t        t        dd
      d| t        d
d      z  z  d
z        z  d
z  z
  k(  sJ t        |      j                  t              |t        t        dd
      d|t        d
d      z  z  d
z         t        t        dd
      d|t        d
d      z  z  d
z        z   z  d
z  k(  sJ t        t        dd
| dz  z  t        dd
      z  z              t        d
      | t        dd
      z  | dz  t        dd
      z  z  dz
  z  t!        dd
t        dd
      z  z  | t        dd
      z  z        z  dz  | t        dd
      z  | dz  t        dd
      z  z  dz   t        dd
t        dd
      z  z  | t        dd
      z  z        z  dz  z   k(  sJ y )Nr5   Fr   r   Tr   r   r   r   rJ   rI   rE   r]   rF   rb   rt   rS   rR   )r   r   r+   r   r#   r	   r   r)   r(   r'   r   r%   r   r   r   r   r,   r   s      r@   test_airyaiprimer     s   sAsT"AsT"Ak!nk222q>a!Q//5!Q3H1HIIIIr?aA"aq	k111+a.!Q*	
HQN	AeHQN334q(1a.7HA7MqQVW_`acdWeQfOf7ggjklmoplpjqqs s s q>!!%(	8Aq>!Q$uR(1a.):AqDFCCQuXVWYZ^G\E\]	8Aq>%Xa^$5q!tAv>>%QRTUBW@WX	YZ Z Z k!n,,W5{CCC!9W%aR'(2q/1qb8Aq>-A+A!+CD(1a.!aR(1a.,@*@*BCD 	EEF	GH H H q>!!'*	1WXa^Qq(1a.'8%8%:;;Q8Aq>@QT\]^`aTb?b=bc	
HQN	Xa^+GHROQq(STVW.GXEXYZEZ,[[\]]	^_ _ _ q>!!'*	GHROQq(1a.'8%8%:;;ghqRSnVWXY[cdegh[iXiVijkVk>llmnooq q q {1a1fx1~%=#=>?QHQN"AqD8Aq>#99A=>{1QPXYZ\]P^M^K^_`bjklnobp_pKp?qqrss	
HQN	AqD8Aq>1	1A	5{1QQRTUEVCVWXZbcdfgZhWhCh7iijkk	lm m mrB   c                  	   t        dd      } t        dd      }t        dd      }t        t        |       t              sJ t        d	      d
t        dd      z  t	        t        dd
            z  k(  sJ t        t
              t
        u sJ t        t
               d	k(  sJ t        t        |       |       | t        |       z  k(  sJ t        t        |       | d	d
      d
t        dd      z  t	        t        dd
            z  d
t        dd      z  | dz  z  dt	        t        dd
            z  z  z   t        | d
z        z   k(  sJ t        |       j                  t              d
t        dd      z  | dz  z  t        dt        dd
      f| d
z  dz        z  dt	        t        dd
            z  z  d
t        dd      z  t        dt        dd
      f| d
z  dz        z  t	        t        dd
            z  z   k(  sJ t        t        |       j                  t              t              sJ t        |      j                  t              t        |       t        t        dd
      d| t        d
d      z  z  d
z        t        t        dd
      d| t        d
d      z  z  d
z        z   z  d
z  k(  sJ t        |       j                  t              t        d
      | dz  t        t        dd
      d| t        d
d      z  z  d
z        z  | t        d
d      z  t        dd
      z  z  | t        d
d      z  t        dd
      z  t        t        dd
      d| t        d
d      z  z  d
z        z  z   z  d
z  k(  sJ t        |      j                  t              t        d
      |z  t        t        dd
      d|t        d
d      z  z  d
z        t        t        dd
      d|t        d
d      z  z  d
z        z   z  d
z  k(  sJ t!        t        dd
| dz  z  t        dd
      z  z              t        d
      | t        dd
      z  | dz  t        dd
      z  z  dz
  z  t#        dd
t        dd
      z  z  | t        dd
      z  z        z  dz  | t        dd
      z  | dz  t        dd
      z  z  dz   t        dd
t        dd
      z  z  | t        dd
      z  z        z  dz  z   k(  sJ y )Nr5   Fr   r   Tr   r   r   r   rJ   rE   r]   rb   rI   rF   rt   rS   rR   )r   r   r,   r   r#   r	   r   r*   r(   r'   r   r%   r   r)   r   r   r   r+   r   s      r@   test_airybiprimer     s   sAsT"AsT"Ak!nk222q>QA.uXa^/DDDDDr?b   sq   A"aq	k111+a.!Q*	8Aq>%A//!Xa^2CAqD2H!ERZ[\^_R`LaJa2bbefghjkgkelln n n q>!!%(	8Aq>!Q$uR(1a.):AqDFCCQuXVWYZ^G\E\]	8Aq>%Xa^$5q!tAv>>uXaQR^?TT	UV V V k!n,,W5{CCC!9W%aR'(2q/1qb8Aq>-A+A!+CD(1a.!aR(1a.,@*@*BCD 	EEF	GH H H q>!!'*QAghq!na8Aq>0A.A!.CDDaRSUVFWZbcdfgZhEhhXa^#hq!n4WXb!_aPQS[\]_`SaPaNabcNc5dde 	ffg	hi i i q>!!'*Q	78B?Aa!Q.?,?,ABWXVWYZ^]^_`bjklnobp_p]pqr]rEsstuvvx x x {1a1fx1~%=#=>?QHQN"AqD8Aq>#99A=>{1QPXYZ\]P^M^K^_`bjklnobp_pKp?qqrss	
HQN	AqD8Aq>1	1A	5{1QQRTUEVCVWXZbcdfgZhWhCh7iijkk	lm m mrB   c                     t        d      } t        d      }t        d      }t        ddd      dk(  sJ t        | d|      t        | |dz  dz        t        |       z  k(  sJ t        ddd      dt	        t        dd            z  dz  k(  sJ t        d|d      d	t	        |dz   dz        z
  k(  sJ t        dt        d      d	t	        t        dz   dz        z
  k(  sJ t        d	||      t        j                  t	        |dz         t        d|dz        z  dz  z   k(  sJ t        d||      t        j                  t	        |dz         t        d|dz        z  dz  z   t	        |dz         t        d	|dz        z  z   k(  sJ t        t        d	|d
      |      |t        d	|d
       t        d|d
      z   z  k(  sJ t        t        dd
|      |      |dz   t	        |dz   dz  t        dd      z
        z  t        d	d
|z        z  d
z  k(  sJ t        d      }t        dd
d      j                  t        |      t        |dz  t	        |dz   dz  t        dd      z
        z  t        d	d
|z        z  |dt        f      d
z  k(  sJ t        t        ddd
      j                  t              j                  d      gdg      sJ t        d      }t        ddd      j                  t         |      t	        d      t!        t        dd      |z  t        |d      z  |dt        f      z  k(  sJ t        t        d	d
d	      j                  t               j                  d      gdg      sJ t        d	||d      j                  t              t        j                  t	        |dz         t        d|dz        z  dz  z   k(  sJ t        d||d      j                  t              t        j                  t	        |dz         t        d|dz        z  dz  z   t	        |dz         t        d	|dz        z  z   k(  sJ t        d
||      j                  t              t        d	|dz        t        d|dz        z   t	        |dz         z  t        j                  z   t	        |dz         t        d|dz        z  dz  z   k(  sJ t        ddd      j                  t              t	        d      t        dd      z  dz  t        dd      t        d
d      z   t        dd      z   t        d	d      z   t	        d      z  z   t        j                  z   k(  sJ t        | ||      j                  t              t        | ||      k(  sJ t        dd !      }t        |||      j                  t              t        |||      k(  sJ y )"Nr   r   r   r   rI   rb      irE   rJ   rt   r8   r[   r8   rR   r:   gZphL?r7   r   r   r}   )r7   irh   #   gyhH?Fr   rz   ir\   Tr   )r   r-   r$   r#   r   r   r
   r   r   r   r   r   r&   r	   r   r   r   )r   r   r   r8   r7   s        r@   test_marcumqr    s   sAsAsA1aq   1az!QT!V4U1X====1ar#hsA&6"7799991aq31uQw<////1b!CQqM 11111aqvvQTE
71ad3C(CA(EEEEE1aqvvQTE
71ad3C(CA(EEQPQTE
SZ[\^_ab^bScHccccc1a !$GAq!,<+<wq!Q?O+O(PPPP1a !$Ac1a4%'HQN2J.K(KGTUWXYZWZO([\](]]]]sA1a##H#2AqDadU1Wx1~566wq!A#FAr
STUUV V Vwq"a ((288<=n   	sA2r2&&sa&0s8C!Q!+GArN:Q2JGGH H Hwq!Q'',22267n   1aU+33G<aQRdUT[\]_`bc_cTdIdefIf@ffff1aU+33G<aQRdUT[\]_`bc_cTdIdefIf@f1u:gaA&&A' ' ' '1a##G,AqD1AGAqRStDT1TVY[\^_[_Z_V`0`661AJwq!Q$//112 2 2 21a##G,CB0G0IArNWQ^+gan<wq"~MsSVxW1XZ[Z`Z`1a a a a1a##G,1a0@@@@sD!A1a##G,1a0@@@@rB   c                     t        d      } t        ddd      j                  t        |       j	                  t        | dz  t        | dz   dz  t        dd      z
        z  t        dd| z        z  | dt        f      dz        sJ y )Nr8   rI   rJ   r[   r  rt   rE   )	r   r-   r   r&   dummy_eqr   r   r   r	   r  s    r@   test_issue_26134r    s    sA1a##H#2;;Ac1a4%'HQN233GAqsOCaBZPQRRT T TrB   N)gư>)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   r0   r;   r1   sympy.simplifyr2   sympy.testing.pytestr3   r4   	sympy.abcr5   r6   r7   r8   r=   rA   rL   rP   rU   rW   rY   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  rF   rB   r@   <module>r     sD    ) 3 4 4 " / H H H > 9 ? } } } } G / .   &O O0 0 & -    
*-.LG?ES&!SHS"S2N8?vFOT K K>!!1:/,
K4/n:90"PJ:
5!iH!hHmD mF&ARTrB   