
    sg(                        d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
mZ 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 d dlmZ d d	lmZmZmZmZmZmZ d d
l m!Z! d dl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.m/Z/  ed      Z0 ed      Z1 edd      Z2 ed      Z3 ed      Z4d Z5d Z6d Z7d Z8d Z9d Z:d Z;d Z<d Z=d Z>d  Z?d! Z@d" ZAd# ZBd$ ZCd% ZDy&)'    )Sum)expand_func)FloatIRationalnanoopizoo)S)Symbol)Abs
polar_lift)exp	exp_polarlog)sqrt)dirichlet_etalerchphipolylog
riemann_xi	stieltjeszeta)O)ArgumentIndexError)	bernoulli	factorialgenocchiharmonic)raises)test_derivative_numericallyrandom_complex_numberverify_numericallyxabT)negativezsc                  	   t        t              t        u sJ t        t        t              t        u sJ t        d      t        dd      k(  sJ t        dt              t        j
                  t        z
  k(  sJ t        dt              t        j
                  t        z
  k(  sJ t        d      t        u sJ t        dd      t        u sJ t        dd      t        u sJ t        dt              t        u sJ t        dd      t        dz  dz  k(  sJ t        dd      t        d      k(  sJ t        d      t        dz  dz  k(  sJ t        d      t        dz  d	z  k(  sJ t        d      t        dz  d
z  k(  sJ t        dd      t        dz  d	z  t        dd      z
  k(  sJ t        dd      t        d      t        dd      z
  k(  sJ t        t        j
                  d      j                  t         k(  sJ t        t        t        j
                  d            t        t        j
                        dz
  k(  sJ t        t        d      j                  t         k(  sJ t        t        t        d            t        t              dz
  ddt        z  z  z
  k(  sJ t        dd      t        u sJ t        dd      t        u sJ t        dd      t        u sJ t        t              dk(  sJ t        d      t        dd      k(  sJ t        d      dk(  sJ t        d      t        dd      k(  sJ t        d      dk(  sJ t        d      t        dd      k(  sJ t        dd      t        dd      k(  sJ t        dd      t        dd      k(  sJ t        dd      t        dd      k(  sJ t        dd      t        dd      k(  sJ t        dd      dk(  sJ t        dd      dk(  sJ t        dd      t        dd      k(  sJ t        dd      t        dd      k(  sJ t        dd      t        dd      k(  sJ t        dd      t        dd      k(  sJ t        d      j                  d       j                  t        d!d       d"      sJ y )#Nr         i         Z   i           iN iE    x      iiiiiiiiD"        z1.2020569031595942854gҶOɃ;)r   r   r$   r   r   Halfr&   r   r
   funcr   r	   evalf
epsilon_eqr        d/var/www/html/venv/lib/python3.12/site-packages/sympy/functions/special/tests/test_zeta_functions.pytest_zeta_evalrE      s   93<37hr1o%%%1:!###1:!###7c>>1:2;#1:1:Qq   1:a   7b!eAg7b!eBh7b!eCi1:QrHR$444441:a8FF#;;;;;?4'''tAFFA'4<!+;;;;1:??d"""tAqz"d1gkAadF&::::1:2;#2;#8q==8xB''''8q==8x3''''8q==8xC((((A;(3++++A;(4,,,,B<8D"----B<8D"----A;#B<41:"a(((2;(1a.(((1:"a(((2;(1a.(((	59ZZ&=r BEJK K KrC   c                  0   t        t        t              j                  t        t        d      t        t        t              t        t        t        z
  z  t        t        dz   t              z  z
  t        t        t        z
  dz  t        t        f      z   k(  sJ y )Nr,   r-   )r   r$   r%   seriesr(   r   rB   rC   rD   test_zeta_seriesrH   R   si    1:Q1%Q
Q!WT!A#q\))AqsQhA,??@ @ @rC   c                     t        d      t        j                  k(  sJ t        d      t        dd      k(  sJ t        d      t	        d      k(  sJ t        dt        j                        j                         t        dz  k(  sJ t        dd      dt	        d      z
  k(  sJ t        d      t        dz  dz  k(  sJ t        d      t        dz  t        dd      z  k(  sJ t        t        t              j                  d	
            dk(  sJ t        t        t        t              j                  d	
            dk(  sJ y )Nr   r+   r-   r0   r,   r6   r4   i  
   nz0.5325931818 + 0.2293848577*Iz3.462349253 + 0.220285771*I)
r   r   r>   r   r   simplifyr
   strr   r@   rB   rC   rD   test_dirichlet_eta_evalrO   W   s   qvv%%%A...s1v%%%AFF#,,."Q$666A!c!f*,,,r1uRx'''r1uXa%55555}Q%%%+,0OOOO}Q"((2(./3PPPPrC   c                  @   t        d      t        dz  k(  sJ t        d      t        dd      k(  sJ t        d      t        dd      k(  sJ t        d      j                  t              dt	        d      z  dt        z  z  k(  sJ t        d      t        dz  dz  k(  sJ y )Nr,   r.   r   r-   r/   r0      )r   r
   r   rewriter   rB   rC   rD   test_riemann_xi_evalrS   c   s    a=BqD   a=HQN***a=HQN***a=  &!DG)QrT*::::a=BE"H$$$rC   c                  P   ddl m}  t        t        t              j                  t              |       sJ t        t        t              j                  t              |       sJ t        t              j                  t              t        t              dddt        z
  z  z
  z  k(  sJ t        t              j                  t        d      t        t              k(  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              j                  t              t        dt        t              k(  sJ t        t        t              j                  t              t        t        t        d      t        z  k(  sJ t        dt        t              j                  t              t        t        t              k(  sJ t        t        t        t        d      j                  t              z  t        t        t              k(  sJ y )Nr   	Piecewiser-   r,   )r%   )$sympy.functions.elementary.piecewiserV   
isinstancer   r$   rR   r   r   r#   r%   r   r   r)   r(   rU   s    rD   test_rewritingrY   k   s   >mA&..t4i@@@mA&..x8)DDD7??=)]1-=q1q1u:~-NNNN7??=A?.$q'999mA.a0@0H0H0NPQRRRmA.a0@0H0H0RTUVVVd1gtAw}'EqIII1:h'8Aq!+<<<<1a=  *hq!Q.?.AAAAAq!$$T*d1aj888XaA&&w//71a=@@@rC   c                     ddl m}  t        t        t              j                  t               | t        t        t              t              k(  sJ t        t        t              j                  t              t         t        t        dz   t              z  k(  sJ t        t        t        t              j                  t              t        t        t        dz
  t              t        t        t        t        t              z  z
  t        z  k(  sJ t        t        t        t              j                  t              t         t        t        t        dz   t              z  k(  sJ t        t        t              j                  t              t        t        dz
  t              t        z  k(  sJ t               t               t        t        t              t              sJ t        t        t              t              sJ t        t        t              t              sJ t        t        t              t              sJ t        t        fd       t        t        fd       t        t        fd       t        t        fd       y )Nr   )
Derivativer-   c                  D    t         t              j                  d      S )Nr,   r   r$   fdiffr&   cs   rD   <lambda>z"test_derivatives.<locals>.<lambda>       x1a'8'>'>q'A rC   c                  D    t         t              j                  d      S )Nr0   r]   r_   s   rD   ra   z"test_derivatives.<locals>.<lambda>   rb   rC   c                  B    t         t              j                  d      S )Nr-   r   r(   r^   r&   s   rD   ra   z"test_derivatives.<locals>.<lambda>       wq!}':':1'= rC   c                  B    t         t              j                  d      S )Nr/   re   rf   s   rD   ra   z"test_derivatives.<locals>.<lambda>   rg   rC   )sympy.core.functionr[   r   r$   r%   diffr   r(   r)   r   randcplxtdr    r   )r[   r&   r`   s    @@rD   test_derivativesrm   |   s   .1:??1DAJ!::::1:??1!DQN!2222	1aaXaQ2Qx1a7H5HH!KL L LAq!!!!$8Aq1ua+@(@@@@1a=a GAE1$5a$7777
A
Ad1aj!gamQhq!Q###hq!Q###
AB
AB
=>
=>rC   c                 8   t        |       }|||k(  S || k(  ryi }| j                  D ]  }t               ||<    t        | j	                  |      j                         |j                  t        t              j	                  |      j                         z
        dk  S )NFg|=)	r   free_symbolsrk   abssubsrL   replacer   r   )r?   targetexpandedrq   r%   s        rD   myexpandru      s    4 H6!!4 D *Qtyy  "!!)S166t<>>@A BDIJ JrC   c                     t        t        d      dk(  sJ t        t        d      t        t              k(  sJ t        t        d      t        t               k(  sJ t        t        t	        t
        t        z  t        dd      z              t        t        t        t
        t        z  t        dd      z              k(  sJ t        t        t	        t
        t        z        dz        t        t        t        t
        t        z        dz        k(  sJ t        t        dt              t        dt        z
               sJ t        t        dt              t        dt        z
  z        sJ t        t        dt              t        dt        z
  dz  z        sJ dt        z
  dz  t        t        dt                    z  j                         t        dt        z   z  k(  sJ t        t        dt              d       sJ y )	Nr   r-   r+   r0   r/   r,   r5   r:   )r   r)   r   r   r   r   r
   r   r   ru   r(   r   r   rM   rB   rC   rD   test_polylog_expansionrw      sr   1a=A1a=DG###1b>mA.....1i"Xa^ 345C"XVWYZ^H[D\9]]]]1i"oa'(GAs1R4y{,CCCCGAqMCAJ;///GAqM1a!e9---GBNAq1uqjL111qS1H{72q>22<<>!QU)KKKGBND)))rC   c                  (   t        dt              j                  t        d      t        t        dz  dz  z   t        dz  dz  z   t        dz  dz  z   t        t        dz        z   k(  sJ t        dt	        t                    j                  t        d      t        dz  t        dz  dz  z   t	        t              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        t        d      dz  t               j                  t        dd      t         t	        d      t        dz  z  dz  z   t	        d      t        dz  z  dz  z
  t        dz  d	z  z   t        t        dz        z   k(  sJ y )
Nr-   r<   rK   r,   r/   r0   r   	      )r   r(   rG   r   r   r   rB   rC   rD   test_polylog_seriesr{      sf   1a=Q'1q!tAv:1Q+>Aa+G!AqD'+QQQQ1d1g%%a1%-1q!tAvQ1G
ad1f+a-2ad1f+a-2(*+AqD'22 2 2 2 1Q46A2%%aA.1"tAwq!t|A~2E
q'!Q$,q.3a463"$%adG3, , , ,rC   c                      t        dd      } t        t        dd| z  dz   dz  z  | dt        j                  f      j                         j                  d      d	z
        d
k  sJ y )NiT)integerr-   r/   r,   r   r0   gʡE?gMbP?)r   r   r   r   InfinitydoitrL   )r}   s    rD   test_issue_8404r      sh    sD!As1acAg\>Aq!**#56;;=??B
   rC   c                     t        dd      t        dz  dz  t        t        z  t        d      z  z
  k(  sJ t        dt        j
                        t        dz  dz  t        d      dz  dz  z
  k(  sJ t        j
                  dt        d      dz
  dz  t        d      dz
   dz  t        d      dz    dz  dt        d      z
  dz  fD ]G  } t        t        d|       j                         t        d| d      j                         z
        d	k  rGJ  t        d
      } dD ]t  }t        d      D ]d  }t        t        ||       t        || d      | ddt        j
                  d      sJ t        t        ||       t        || d      | dddd      rdJ  v ddlm} t        d |dt        ddf            t        j
                   k(  sJ y )Nr,   r0   r6   r<   r-   r/   F)evaluategV瞯<r(   )r+   r   rJ   r7   r5   )r%   r&   r`   dr   )Integral)r   r
   r   r   r   r>   r   r   r@   r   ranger#   sympy.integrals.integralsr   r$   )r(   r)   _r   s       rD   test_polylog_valuesr      s   1a=BE!Gad3q6k11111affQrCFAIaK!7777ffa$q'!)Q$q'!)Q$q'!)Q4PQ7TUV Z71a=&&(71a%+H+N+N+PPQTYYYYZsA >r 	>A%gamWQE5R&'2qvvD D D%gamWQE5R&'1a1> > >	>> 31hq1a),-!&&888rC   c                     t        t        dt        t              t	        t        t                    sJ t        t        t
        t        d      t        t        t
              t
        z        sJ t        t        t
        dt              t        dt
        z
  z  t
        dt
        z
  dz  z  z         sJ t        t        t
        dt              d       sJ t        t        t
        t        t        j                        dt        dz
  z  t        t        t        t
                    t        t
              z  t        t        t        d      t        t
              z        t        t
              z  z
  z        sJ t        t        t
        t        d      dt
        z  t        t        t
              t
        dz  z  z         sJ t        t        t
        t        t        dd            d       sJ t        t        t
        t        t        dd            d       sJ t        t        t
        t        t        dd            d       sJ t        t        t
        t        t        dd            d       sJ t        t        dt        t              dt         z  t	        t        t        dz        z  dt         z  t	        t        t        dz   dz        z  z
        sJ t        t        t        t        t              d       sJ t        t        t         t        t              d       sJ t        t        t        t        t        z  t        dd      z        t        t              d       sJ y )	Nr-   r+   r,   r7   r/   r4   r:   r<   )ru   r   r)   r%   r   r(   r   r   r>   r   r   r   r   r   r
   rB   rC   rD   test_lerchphi_expansionr      sk   HQ1%tAqz222HQ1%wq!}Q777 HQA&1q5	Aq1uqjL(@AAAHQA&---HQ166*AJ47 3DG ; ':b>$q'+A B47 J!K LM M M HQ1%r!tgamAqD.@'@AAAHQ8Aq>2D999HQ8Aq>2D999HQ8B?3T:::HQ8B?3T::: HRA&GDAaCL(1r74AE193E+EEG G GHQ1%t,,,HaRA&---HS2hq!n!45q!<dCCCrC   c                  ^   t        t        t              t              sJ t        t        t        t              t              sJ t        d      t        j
                  k(  sJ t        dd      t        j
                  k(  sJ t        t              t        u sJ t        dt              t        u sJ t        d      t        j                  u sJ t        d      t        j                  u sJ t        t        d      t        j                  u sJ t        t        d      t        j                  u sJ y )Nr   r-   r+   g      ?)	rX   r   r$   r%   r   
EulerGammar   ComplexInfinityr(   rB   rC   rD   test_stieltjesr      s    ilI...i1oy111 Q<1<<'''Q?all*** S>S   Q###R=A-----S>Q.....Q?a/////Qq00000rC   c                     t        t        d      j                         dz
        dk  sJ t        t        dd      j                         dz
        dk  sJ t        t        dd      j                         dz         dk  sJ y )	Nr   g;x?g&.>g      ?g0}j?r-   r,   g(?)rp   r   r@   rB   rC   rD   test_stieltjes_evalfr      sv    y|!!#k12T999yC &&(;67$>>>yA$$&45<<<rC   c                     t        dd      } t        dd      }t        dd      }t        d	t        z         j                  sJ t        d
      j                  du sJ t        t              j                  J t        t        t        z         j                  J t        |       j                  J t        |      j                  J t        |       j                  du sJ t        |d	z  d	|z  z
  d
z         j                  J t        | t        z         j                  du sJ t        |d
z         j                  du sJ t        |d
z         j                  du sJ y )Nr%   T)extended_realr&   )extended_positiver)   F)zeror,   r-   )r   r   r   	is_finiter$   )r%   r&   r)   s      rD   test_issue_10475r      sF   s$'Asd+AsAA;    7%%%7$$$A;  (((7$$$7$$$8%%%1qs
Q))111A;  D(((A;  D(((A;  D(((rC   c                  @   t        ddd      } t        |        j                  t              t        | dz         |  dz
  z  k(  sJ t        |  t              j                  t              t        | dz   t              |  dz
  z  k(  sJ dt
        z  t        z  d| z  z   t        d| z        z  dt        d| z        z  z  }t        d| z        j                  t              |k(  sJ t        t        t        | dz               t        t              t        | t              z
  k(  sJ t        t        t         |              t        u sJ t        t        t         |             t        t         |       k(  sJ t        d      } t        d| z        t        d| z        k(  sJ y )NrL   T)nonnegativer~   r-   r,   )r   r   rR   r   r%   r   r
   r   r   r)   r   r&   r   )rL   z2ns     rD   test_issue_14177r     sd   sd3A8I&)AaC.QBqD*AAAAA;y)YqsA->1"Q$-GGGGaCFac?
9QqS>
)Qy1~-=
>C!9Y'3...tAqs|$Q(1a.(@@@@tQB|$+++tQB{#tQB{222sA!9QqS	!!!rC   N)Esympy.concrete.summationsr   ri   r   sympy.core.numbersr   r   r   r   r	   r
   r   sympy.core.singletonr   sympy.core.symbolr   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   r   (sympy.functions.elementary.miscellaneousr   &sympy.functions.special.zeta_functionsr   r   r   r   r   r   sympy.series.orderr   r   %sympy.functions.combinatorial.numbersr   r   r   r   sympy.testing.pytestr    sympy.core.randomr!   rl   r"   rk   r#   r$   r%   r&   r(   r)   rE   rH   rO   rS   rY   rm   ru   rw   r{   r   r   r   r   r   r   r   rB   rC   rD   <module>r      s    ) + E E E " $ B H H 9 r r   2 Z Z 'M M 3K
3K
3
3K
3K7Kt@
	Q%A"?*J*,9"D21"=)$"rC   