
    Qi(                        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% ZDd&S )'    )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                              d                               t          d!d           d"          sJ d S )#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        /var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/sympy/functions/special/tests/test_zeta_functions.pytest_zeta_evalrE      s   993<<377hr1oo%%%%1::!####1::!####77c>>>>1::2;;#1::1::Qq    1::a    77b!eAg77b!eBh77b!eCi1::QrHR$4$4444441::a8FF#;#;;;;;;??4''''tAFA''4<<!+;;;;;1::?d""""tAqzz""d1ggkAadF&:::::1::2;;#2;;#88q====88xB''''''88q====88x3''''''88q====88xC((((((A;;(3++++++A;;(4,,,,,,B<<8D"------B<<8D"------A;;#B<<41::"a((((2;;(1a..((((1::"a((((2;;(1a..((((	 599ZZ&=r B BEJJK K K K KrC   c                  z   t          t          t                                        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 d S )Nr,   r-   )r   r$   r%   seriesr(   r   rB   rC   rD   test_zeta_seriesrH   R   s    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                                                  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                    	                    d	
                    dk    sJ t          t          t          t                    	                    d	
                    dk    sJ d S )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   sj   qv%%%%A....s1vv%%%%AF##,,.."Q$6666A!c!ff*,,,,r1uRx''''r1uXa%5%555555}Q%%%++,,0OOOOO}Q""((2(..//3PPPP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                              t                    dt	          d          z  dt          z  z  k    sJ t          d          t          dz  dz  k    sJ d S )Nr,   r.   r   r-   r/   r0      )r   r
   r   rewriter   rB   rC   rD   test_riemann_xi_evalrS   c   s    a==BqD    a==HQNN****a==HQNN****a==  &&!DGG)QrT*:::::a==BE"H$$$$$$rC   c                     ddl m}  t          t          t                                        t                    |           sJ t          t          t                                        t                    |           sJ t          t                                        t                    t          t                    dddt          z
  z  z
  z  k    sJ t          t                                        t          d          t          t                    k    sJ t          t          t                    t          t                                        t                    t                    sJ t          t          t                    t          t                                        t                    t                    sJ t          t          t                    t          t                                        t                    t                    sJ t          t          t                                        t                    t          dt          t                    k    sJ t          t          t                                        t                    t          t          t          d          t          z  k    sJ t          dt          t                                        t                    t          t          t                    k    sJ t          t          t          t          d                              t                    z  t          t          t                    k    sJ d S )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   sO   >>>>>>mA&&..t44i@@@@@mA&&..x88)DDDDD77??=))]1-=-=q1q1u:~-NNNNN77??=A?..$q''9999mA..a0@0@0H0H0N0NPQRRRRRmA..a0@0@0H0H0R0RTUVVVVVd1ggtAww}'E'EqIIIII1::h''8Aq!+<+<<<<<1a==  **hq!Q.?.?.AAAAAAq!$$T**d1ajj8888XaA&&w///71a==@@@@@@rC   c                     ddl m}  t          t          t                                        t                     | t          t          t                    t                    k    sJ t          t          t                                        t                    t           t          t          dz   t                    z  k    sJ t          t          t          t                                        t                    t          t          t          dz
  t                    t          t          t          t          t                    z  z
  t          z  k    sJ t          t          t          t                                        t                    t           t          t          t          dz   t                    z  k    sJ t          t          t                                        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           d S )Nr   )
Derivativer-   c                  V    t           t                                        d          S )Nr,   r   r$   fdiffr&   cs   rD   <lambda>z"test_derivatives.<locals>.<lambda>   !    x1a'8'8'>'>q'A'A rC   c                  V    t           t                                        d          S )Nr0   r]   r_   s   rD   ra   z"test_derivatives.<locals>.<lambda>   rb   rC   c                  T    t           t                                        d          S )Nr-   r   r(   r^   r&   s   rD   ra   z"test_derivatives.<locals>.<lambda>       wq!}}':':1'='= rC   c                  T    t           t                                        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   |   sq   ......1::??1DAJJ!:!:::::1::??1!DQNN!22222	1a aXaQ22Qx1a7H7H5HH!KL L L LAq!!!!$$8Aq1ua+@+@(@@@@@1a==a  GAE1$5$5a$77777

A

Ad1ajj!gammQhq!Q#####hq!Q#####
AAAAABBB
AAAAABBB
====>>>
====>>>>>rC   c                 v   t          |           }|||k    S || k    rdS i }| j        D ]}t                      ||<   t          |                     |                                          |                    t          t                                        |                                          z
            dk     S )NFg|=)	r   free_symbolsrk   abssubsrL   replacer   r   )r?   targetexpandedrq   r%   s        rD   myexpandru      s    4  H6!!4u D  **Qtyy  ""!!)S1166t<<>>@@A B 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                                  t          dt          z   z  k    sJ t          t          dt                    d           sJ d S )	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      s   1a==A1a==DGG####1b>>mA.......1i"Xa^^ 34455C"XVWYZ^^H[D\D\9]9]]]]]1i"ooa'((GAs1R4yy{,C,CCCCCGAqMMCAJJ;/////GAqMM1a!e9-----GBNNAq1uqjL11111qS1H{72q>>222<<>>!QU)KKKKGBNND)))))))rC   c                     t          dt                                        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                                                  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                                         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 d S )
Nr-   r<   rK   r,   r/   r0   r   	      )r   r(   rG   r   r   r   rB   rC   rD   test_polylog_seriesr{      s   1a==Q''1q!tAv:1Q+>Aa+G!AqD''+QQQQQ1d1gg%%a1%--1q!tAvQ1G
add1f+a-2add1f+a-2(*+AqD''22 2 2 2 2 1Q446A2%%aA..1"tAwwq!t|A~2E
q''!Q$,q.3a463"$%adGG3, , , , , , ,rC   c                      t          dd          } t          t          dd| z  dz   dz  z  | dt          j        f                                                              d          d	z
            d
k     sJ d S )NiT)integerr-   r/   r,   r   r0   gʡE?gMbP?)r   r   r   r   InfinitydoitrL   )r}   s    rD   test_issue_8404r      s    sD!!!As1acAg\>Aq!*#566;;==??B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 ]\} t          t          d|                                           t          d| d                                          z
            d	k     sJ ]t          d
          } dD ]}t          d          D ]x}t          t          ||           t          || d          | ddt          j        d          sJ t          t          ||           t          || d          | dddd          sJ yddlm} t          d |dt          ddf                    t          j         k    sJ d S )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      s7   1a==BE!Gad3q66k111111afQrCFFAIaK!77777fa$q''!)Q$q''!)Q$q''!)Q4PQ77TUV Z Z71a==&&((71a%+H+H+H+N+N+P+PPQQTYYYYYYsA > >r 	> 	>A%gammWQE5R5R5R&'2qvD D D D D D%gammWQE5R5R5R&'1a1> > > > > > >	> 3222221hhq1a),,--!&888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 d S )	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      s!   HQ1%%tAqzz22222HQ1%%wq!}}Q77777 HQA&&1q5	Aq1uqjL(@AAAAAHQA&&-----HQ16**AJ477 3 3DGG ; ':b>>$q''+A B B477 J!K LM M M M M HQ1%%r!tgammAqD.@'@AAAAAHQ8Aq>>22D99999HQ8Aq>>22D99999HQ8B??33T:::::HQ8B??33T::::: HRA&&GDAaCLL(1r74AE193E3E+EEG G G G GHQ1%%t,,,,,HaRA&&-----HS2hq!nn!455q!<<dCCCC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 d S )Nr   r-   r+   g      ?)	rX   r   r$   r%   r   
EulerGammar   ComplexInfinityr(   rB   rC   rD   test_stieltjesr      s   illI.....i1ooy11111 Q<<1<''''Q??al**** S>>S    Q####R==A-----S>>Q.....Q??a/////Qq0000000rC   c                  T   t          t          d                                          dz
            dk     sJ t          t          dd                                          dz
            dk     sJ t          t          dd                                          dz             dk     sJ d S )	Nr   g;x?g&.>g      ?g0}j?r-   r,   g(?)rp   r   r@   rB   rC   rD   test_stieltjes_evalfr      s    y||!!##k122T9999yC  &&((;677$>>>>yA$$&&45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 d S )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;;    77%%%%77$$$A;; (((77$$$77$$$88%%%%1qs
Q)111A;; D((((A;; D((((A;; D((((((rC   c                  "   t          ddd          } t          |                                t                    t          | dz             |  dz
  z  k    sJ t          |  t                                        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                                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 d S )NrL   T)nonnegativer~   r-   r,   )r   r   rR   r   r%   r   r
   r   r   r)   r   r&   r   )rL   z2ns     rD   test_issue_14177r     s   sd333A88I&&)AaC..QBqD*AAAAAA;;y))YqsA->->1"Q$-GGGGGaCFac?
9QqS>>
)Qy1~~-=
>C!99Y''3....tAqs||$$Q(1a..(@@@@@tQB||$$++++tQB{{##tQB{{2222sA!99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 E E E E E E E E E E E E E E E " " " " " " $ $ $ $ $ $ B B B B B B B B H H H H H H H H H H 9 9 9 9 9 9 r r r r r r r r r r r r r r r r             2 2 2 2 2 2 Z Z Z Z Z Z Z Z Z Z Z Z ' ' ' ' ' 'M M M M M M M M M M F3KK
F3KK
F3
F3KK
F3KK7K 7K 7Kt@ @ @
	Q 	Q 	Q% % %A A A"? ? ?*J J J* * *, , ,  9 9 9"D D D21 1 1"= = =) ) )$" " " " "rC   