
    h(                        S SK Jr  S SKJr  S SKJrJrJrJrJ	r	J
r
Jr  S SKJr  S SKJr  S SKJrJr  S SKJrJrJr  S SKJr  S S	KJrJrJrJrJrJr  S S
K J!r!  S SKJ"r"  S SK#J$r$J%r%J&r&J'r'  S SK(J)r)  S SK*J+r,J-r.J/r/  \" S5      r0\" S5      r1\" SSS9r2\" S5      r3\" S5      r4S r5S r6S r7S r8S r9S r:S r;S r<S r=S r>S  r?S! r@S" rAS# rBS$ rCS% rDg&)'    )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                  ^	   [        [        5      [        L d   e[        [        [        5      [        L d   e[        S5      [        SS5      :X  d   e[        S[        5      [        R
                  [        -
  :X  d   e[        S[        5      [        R
                  [        -
  :X  d   e[        S5      [        L d   e[        SS5      [        L d   e[        SS5      [        L d   e[        S[        5      [        L d   e[        SS5      [        S-  S-  :X  d   e[        SS5      [        S5      :X  d   e[        S5      [        S-  S-  :X  d   e[        S5      [        S-  S	-  :X  d   e[        S5      [        S-  S
-  :X  d   e[        SS5      [        S-  S	-  [        SS5      -
  :X  d   e[        SS5      [        S5      [        SS5      -
  :X  d   e[        [        R
                  S5      R                  [         :X  d   e[        [        [        R
                  S5      5      [        [        R
                  5      S-
  :X  d   e[        [        S5      R                  [         :X  d   e[        [        [        S5      5      [        [        5      S-
  SS[        -  -  -
  :X  d   e[        SS5      [        L d   e[        SS5      [        L d   e[        SS5      [        L d   e[        [        5      S:X  d   e[        S5      [        SS5      :X  d   e[        S5      S:X  d   e[        S5      [        SS5      :X  d   e[        S5      S:X  d   e[        S5      [        SS5      :X  d   e[        SS5      [        SS5      :X  d   e[        SS5      [        SS5      :X  d   e[        SS5      [        SS5      :X  d   e[        SS5      [        SS5      :X  d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      [        SS5      :X  d   e[        SS5      [        SS5      :X  d   e[        SS5      [        SS5      :X  d   e[        SS5      [        SS5      :X  d   e[        S5      R                  S 5      R                  [        S!S 5      S"5      (       d   eg )#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        k/var/www/fran/franai/venv/lib/python3.13/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                  2   [        [        [        5      R                  [        [        S5      [        [        [        5      [        [        [        -
  -  [        [        S-   [        5      -  -
  [        [        [        -
  S-  [        [        45      -   :X  d   eg )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                     [        S5      [        R                  :X  d   e[        S5      [        SS5      :X  d   e[        S5      [	        S5      :X  d   e[        S[        R                  5      R                  5       [        S-  :X  d   e[        SS5      S[	        S5      -
  :X  d   e[        S5      [        S-  S-  :X  d   e[        S5      [        S-  [        SS5      -  :X  d   e[        [        [        5      R                  S	S
95      S:X  d   e[        [        [        [        5      R                  S	S
95      S:X  d   eg )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                  J   [        S5      [        S-  :X  d   e[        S5      [        SS5      :X  d   e[        S5      [        SS5      :X  d   e[        S5      R                  [        5      S[	        S5      -  S[        -  -  :X  d   e[        S5      [        S-  S-  :X  d   eg )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                     SSK Jn   [        [        [        5      R                  [        5      U 5      (       d   e[        [        [        5      R                  [        5      U 5      (       d   e[        [        5      R                  [        5      [        [        5      SSS[        -
  -  -
  -  :X  d   e[        [        5      R                  [        SS9[        [        5      :X  d   e[        [        [        5      [        [        5      R                  [        5      [        5      (       d   e[        [        [        5      [        [        5      R                  [        5      [        5      (       d   e[        [        [        5      [        [        5      R                  [        5      [        5      (       d   e[        [        [        5      R                  [        5      [        S[        [        5      :X  d   e[        [        [        5      R                  [        5      [        [        [        S5      [        -  :X  d   e[        S[        [        5      R                  [        5      [        [        [        5      :X  d   e[        [        [        [        S5      R                  [        5      -  [        [        [        5      :X  d   eg )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D7??=)]1-=q1q1u:~-NNNN7??=A?.$q'999mA.a0@0H0H0NPQRRRRmA.a0@0H0H0RTUVVVVd1gtAw}'EqI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                  V  ^^ SSK Jn   [        [        [        5      R                  [        5      U " [        [        [        5      [        5      :X  d   e[        [        [        5      R                  [        5      [        * [        [        S-   [        5      -  :X  d   e[        [        [        [        5      R                  [        5      [        [        [        S-
  [        5      [        [        [        [        [        5      -  -
  [        -  :X  d   e[        [        [        [        5      R                  [        5      [        * [        [        [        S-   [        5      -  :X  d   e[        [        [        5      R                  [        5      [        [        S-
  [        5      [        -  :X  d   e[        5       m[        5       m[        [        T[        5      [        5      (       d   e[        [        T[        5      [        5      (       d   e[        [        TT[        5      [        5      (       d   e[        [        [        TT5      [        5      (       d   e[        [        UU4S j5        [        [        UU4S j5        [        [        U4S j5        [        [        U4S j5        g )Nr   )
Derivativer-   c                  D   > [        TT [        5      R                  S5      $ )Nr,   r   r$   fdiffr&   cs   rD   <lambda>"test_derivatives.<locals>.<lambda>       x1a'8'>'>q'ArC   c                  D   > [        TT [        5      R                  S5      $ )Nr0   r]   r_   s   rD   ra   rb      rc   rC   c                  B   > [        T [        5      R                  S5      $ )Nr-   r   r(   r^   r&   s   rD   ra   rb          wq!}':':1'=rC   c                  B   > [        T [        5      R                  S5      $ )Nr/   rf   rg   s   rD   ra   rb      rh   rC   )sympy.core.functionr[   r   r$   r%   diffr   r(   r)   r   randcplxtdr    r   )r[   r&   r`   s    @@rD   test_derivativesrn   |   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                 :   [        U 5      nUb  X!:H  $ X :X  a  g0 nU R                   H  n[        5       X4'   M     [        U R	                  U5      R                  5       UR                  [        [        5      R	                  U5      R                  5       -
  5      S:  $ )NFg|=)	r   free_symbolsrl   abssubsrL   replacer   r   )r?   targetexpandedrr   r%   s        rD   myexpandrv      s    4 H!! D* tyy  "!!)S166t<>>@A BDIJ JrC   c                  &   [        [        S5      S:X  d   e[        [        S5      [        [        5      :X  d   e[        [        S5      [        [        5      * :X  d   e[        [        [	        [
        [        -  [        SS5      -  5      5      [        [        [        [
        [        -  [        SS5      -  5      5      :X  d   e[        [        [	        [
        [        -  5      S-  5      [        [        [        [
        [        -  5      S-  5      :X  d   e[        [        S[        5      [        S[        -
  5      * 5      (       d   e[        [        S[        5      [        S[        -
  -  5      (       d   e[        [        S[        5      [        S[        -
  S-  -  5      (       d   eS[        -
  S-  [        [        S[        5      5      -  R                  5       [        S[        -   -  :X  d   e[        [        S[        5      S 5      (       d   eg )	Nr   r-   r+   r0   r/   r,   r5   r:   )r   r)   r   r   r   r   r
   r   r   rv   r(   r   r   rM   rB   rC   rD   test_polylog_expansionrx      s~   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1qS1H{72q>22<<>!QU)KKKGBND))))rC   c                  "   [        S[        5      R                  [        SS9[        [        S-  S-  -   [        S-  S-  -   [        S-  S-  -   [        [        S-  5      -   :X  d   e[        S[	        [        5      5      R                  [        SS9[        S-  [        S-  S-  -   [	        [        5      -   [        [        S5      S-  -  S-  -   [        [        S5      S-  -  S-  -   [        [        S-  5      -   :X  d   e[        [        S5      S-  [        * 5      R                  [        SS5      [        * [	        S5      [        S-  -  S-  -   [	        S5      [        S-  -  S-  -
  [        S-  S	-  -   [        [        S-  5      -   :X  d   eg )
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                      [        SSS9n [        [        SSU -  S-   S-  -  U S[        R                  45      R                  5       R                  S5      S	-
  5      S
:  d   eg )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                     [        SS5      [        S-  S-  [        [        -  [        S5      -  -
  :X  d   e[        S[        R
                  5      [        S-  S-  [        S5      S-  S-  -
  :X  d   e[        R
                  S[        S5      S-
  S-  [        S5      S-
  * S-  [        S5      S-   * S-  S[        S5      -
  S-  4 HF  n [        [        SU 5      R                  5       [        SU SS9R                  5       -
  5      S	:  a  MF   e   [        S
5      n S Hq  n[        S5       H_  n[        [        X5      [        XSS9U SS[        R
                  SS9(       d   e[        [        X5      [        XSS9U SSSSS9(       a  M_   e   Ms     SSKJn  [        SU" S[        SS45      5      [        R
                  * :X  d   eg )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71a=&&(71a%+H+N+N+PPQTYYYY WsArA%gamWQE5R&'2qvvD D D%gamWQE5R&'1a1> > > >   31hq1a),-!&&888rC   c                  B   [        [        S[        [        5      [	        [        [        5      5      (       d   e[        [        [
        [        S5      [        [        [
        5      [
        -  5      (       d   e[        [        [
        S[        5      [        S[
        -
  -  [
        S[
        -
  S-  -  -   5      (       d   e[        [        [
        S[        5      S 5      (       d   e[        [        [
        [        [        R                  5      S[        S-
  -  [        [        [        [
        5      5      [        [
        5      -  [        [        [        S5      [        [
        5      -  5      [        [
        5      -  -
  -  5      (       d   e[        [        [
        [        S5      S[
        -  [        [        [
        5      [
        S-  -  -   5      (       d   e[        [        [
        [        [        SS5      5      S 5      (       d   e[        [        [
        [        [        SS5      5      S 5      (       d   e[        [        [
        [        [        SS5      5      S 5      (       d   e[        [        [
        [        [        SS5      5      S 5      (       d   e[        [        S[        [        5      S[        * -  [	        [        [        S-  5      -  S[        * -  [	        [        [        S-   S-  5      -  -
  5      (       d   e[        [        [        [        [        5      S 5      (       d   e[        [        [        * [        [        5      S 5      (       d   e[        [        [        [        [        -  [        SS5      -  5      [        [        5      S 5      (       d   eg )	Nr-   r+   r,   r7   r/   r4   r:   r<   )rv   r   r)   r%   r   r(   r   r   r>   r   r   r   r   r   r
   rB   rC   rD   test_lerchphi_expansionr      s   HQ1%tAqz2222HQ1%wq!}Q7777 HQA&1q5	Aq1uqjL(@AAAAHQA&----HQ166*AJ47 3DG ; ':b>$q'+A B47 J!K LM M M M HQ1%r!tgamAqD.@'@AAAAHQ8Aq>2D9999HQ8Aq>2D9999HQ8B?3T::::HQ8B?3T:::: HRA&GDAaCL(1r74AE193E+EEG G G GHQ1%t,,,,HaRA&----HS2hq!n!45q!<dCCCCrC   c                     [        [        [        5      [        5      (       d   e[        [        [        [        5      [        5      (       d   e[        S5      [        R
                  :X  d   e[        SS5      [        R
                  :X  d   e[        [        5      [        L d   e[        S[        5      [        L d   e[        S5      [        R                  L d   e[        S5      [        R                  L d   e[        [        S5      [        R                  L d   e[        [        S5      [        R                  L d   eg )Nr   r-   r+   g      ?)	rX   r   r$   r%   r   
EulerGammar   ComplexInfinityr(   rB   rC   rD   test_stieltjesr      s    ilI....i1oy1111 Q<1<<'''Q?all*** S>S   Q###R=A-----S>Q.....Q?a/////Qq00000rC   c                  
   [        [        S5      R                  5       S-
  5      S:  d   e[        [        SS5      R                  5       S-
  5      S:  d   e[        [        SS5      R                  5       S-   5      S:  d   eg )	Nr   g;x?g&.>g      ?g0}j?r-   r,   g(?)rq   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                     [        SSS9n [        SSS9n[        SSS9n[        S	[        -   5      R                  (       d   e[        S
5      R                  SL d   e[        [        5      R                  b   e[        [        [        -   5      R                  b   e[        U 5      R                  b   e[        U5      R                  b   e[        U* 5      R                  SL d   e[        US	-  S	U-  -
  S
-   5      R                  b   e[        U [        -   5      R                  SL d   e[        US
-   5      R                  SL d   e[        US
-   5      R                  SL d   eg )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                  H   [        SSSS9n [        U * 5      R                  [        5      [        U S-   5      U * S-
  -  :X  d   e[        U * [        5      R                  [        5      [        U S-   [        5      U * S-
  -  :X  d   eS[
        -  [        -  SU -  -  * [        SU -  5      -  S[        SU -  5      -  -  n[        SU -  5      R                  [        5      U:X  d   e[        [        [        U S-   5      5      [        [        5      [        U [        5      -
  :X  d   e[        [        [        * U * 5      5      [        L d   e[        [        [        * U 5      5      [        [        * U 5      :X  d   e[        S5      n [        SU -  5      [        SU -  5      :X  d   eg )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   rj   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!   rm   r"   rl   r#   r$   r%   r&   r(   r)   rE   rH   rO   rS   rY   rn   rv   rx   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   