ó
Ëhº[c        d   @   sZ  d  d l  m Z m Z d d l m Z m Z m Z e d d „ ƒ Z e d d „ ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 d	 d
 d d d d d d d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl gd Z dm „  Z e dn do „ ƒ Z e dp „  ƒ Z e dq „  ƒ Z e dr „  ƒ Z e ds „  ƒ Z e dt „  ƒ Z e du „  ƒ Z e e dv „ ƒ Z dw „  Z dx „  Z dy „  Z dz „  Z e d{ „  ƒ Z e e d| „ ƒ Z e e d} „ ƒ Z e d~ „  ƒ Z e d „  ƒ Z e d d d d€ „ ƒ Z  e d d d „ ƒ Z! d‚ „  Z" dƒ „  Z# e d g e d„ „ ƒ Z$ e d g d d… „ ƒ Z% d† „  Z& d‡ „  Z' dˆ „  Z( d‰ „  Z) e dŠ d‹ „ ƒ Z* e dŒ „  ƒ Z+ d S(Ž   i   (   t   xranget   print_i   (   t   defunt   defun_wrappedt   defun_staticc   	         sà  ˆ j  ˆ ƒ ‰ ˆ j  ˆ  ƒ ‰  ˆ d k  r7 ˆ j d ƒ St ˆ d ƒ rR ˆ j } n i  } ˆ _ ˆ  d k rµ ˆ d k r ˆ j 
Sˆ | k rµ | ˆ \ } } | ˆ j k r² | 
Sqµ n  d ‰ ‡  ‡ ‡ ‡ f d †  } ˆ j } zÁ ˆ d k rd ˆ _ ˆ j | d ˆ j g d d	 ƒ‰ n  | d
 t ˆ d ƒ ˆ _ ˆ j | d ˆ j g d d ƒ} ˆ j	 ˆ  ƒ ˆ d ˆ  ˆ j	 ˆ  ƒ ˆ d ˆ d d | ˆ  ˆ } Wd  | ˆ _ Xˆ  d k rÛˆ j
 ˆ ƒ rÛˆ j | f | ˆ <n  | 
S(   Ni    s&   Stieltjes constants defined for n >= 0t   stieltjes_cachei   c            sl   |  ˆ  } | ˆ j  ˆ j ˆ  ˆ j  |  ƒ ˆ d | d ˆ j d ˆ j |  ƒ d } ˆ j | ƒ ˆ S(   Ni   i   (   t   jt   lnt   expt   pit   _re(   t   xt   xat   v(   t   at   ctxt   magt   n(    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   f   s    
Qi2   i   t	   maxdegreei   i
   g      à?i   (   t   convertt
   bad_domaint   hasattrR   t   eulert   prect   quadt   inft   intR   t   isint(	   R   R   R   R   R   t   sR   t   origR   (    (   R   R   R   R   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt	   stieltjes   s8    		$!L
i    c         C   s  t  | ƒ } | |  j k s* | |  j k ri | d k  r_ | |  j k rX | d k rX |  j S|  j S|  j Sn  | d k r#|  j | ƒ r× |  j d d | ƒ } |  j d d | ƒ } |  j |  j ƒ d | d | | S|  j | ƒ rê | S|  j |  j d d | ƒ ƒ |  j |  j ƒ d | Sn  | d k rd | d |  j	 | d d d | ƒ } d | d |  j	 | d d d | ƒ } |  j | ƒ rÍ| d k r¾d |  j
 |  j ƒ d | | Sd | | Sq| d k r|  j d |  j
 |  j ƒ d | | ƒ S|  j d | | ƒ Sn  d  S(   Ni   i    g      Ð?y              à?y              à¿i   g      à¿(   R   R   t   ninft   zerot   _imt   loggammaR   R	   t   isinft	   polygammat   logR
   (   R   t   tt
   derivativet   dR   t   b(    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   siegeltheta*   s2    
%9** )c            sV   d ˆ  j  ˆ  j d ˆ  j d ˆ d d ˆ  j ƒ ƒ } ˆ  j ‡  ‡ f d †  | ƒ S(   Ni   i   i   c            s   ˆ  j  |  ƒ ˆ  j ˆ S(   N(   R+   R	   (   R'   (   R   R   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   <lambda>Q   s    (   R	   R   t   lambertwt   et   findroot(   R   R   t   g(    (   R   R   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt	   grampointL   s    :c      
      sr  t  | j d d ƒ ƒ } ˆ j | ƒ } ˆ j | ƒ } ˆ j | ƒ } ˆ j } y\ t | ƒ d | k r© | d | k  r© ˆ j | | ƒ } ˆ j | ƒ r¥ ˆ j | ƒ S| SWn t	 k
 r½ n Xˆ j d 7_ ˆ j
 ˆ j | ƒ ƒ } ˆ j d ˆ j | ƒ ‰ | d k r?| ˆ } | ˆ _ ˆ j | ƒ r:ˆ j | ƒ S| 
Sˆ j d ˆ j | d d ƒ‰	 ˆ j | d d ƒ‰ | d k rÃˆ j | ˆ	 ˆ ˆ } | ˆ _ ˆ j | ƒ r¾ˆ j | ƒ S| 
Sˆ j d ˆ j | d d ƒ‰
 ˆ j | d d ƒ‰ ˆ d ˆ j ˆ ‰  | d k r{‡  ‡ ‡ ‡	 ‡
 f d †  }	 ˆ j |	 d ƒ } | | } | ˆ _ ˆ j | ƒ rvˆ j | ƒ S| 
Sˆ j d	 7_ ˆ j d ˆ j | d d
 ƒ‰ ˆ j | d d
 ƒ‰ ˆ d
 d
 ˆ j ˆ ˆ ˆ ‰ | d
 k r[‡  ‡ ‡ ‡ ‡	 ‡
 ‡ f d †  }	 ˆ j |	 d ƒ } ˆ j | | } | ˆ _ ˆ j | ƒ rVˆ j | ƒ S| 
Sˆ j d ˆ j | d d ƒ‰ ˆ j | d d ƒ‰ ‡ ‡ ‡ ‡ ‡ f d †  }	 ˆ j |	 d ƒ ‰ | d k r9‡ ‡ ‡ ‡ ‡ ‡ ‡	 ‡
 ‡ ‡ f
 d †  }	 ˆ j |	 d ƒ } | | } | ˆ _ ˆ j | ƒ r4ˆ j | ƒ S| 
S| d k rn‡ f d †  }
 ˆ j |
 | d | d ƒSd  S(   NR(   i    iô  i   i   g      à?i   c              s   d ˆ ˆ ˆ ˆ ˆ  g S(   Ni   (    (    (   t   comb1t   theta1t   zt   z1t   z2(    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   termsx   s    i
   i   c              s%   d ˆ ˆ d ˆ ˆ  ˆ ˆ ˆ g S(   Ni   (    (    (   R2   t   comb2R3   R4   R5   R6   t   z3(    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR7   …   s    i   c              sA   ˆ d d ˆ  j  ˆ d ˆ d ˆ d d ˆ ˆ ˆ  j  ˆ g S(   Ni   iúÿÿÿi   iýÿÿÿiüÿÿÿ(   R   (    (   R   R3   t   theta2t   theta3t   theta4(    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR7      s    (c              sE   d ˆ d ˆ d ˆ j  ˆ ˆ d ˆ ˆ d ˆ ˆ  ˆ	 ˆ ˆ g S(   Ni   i   iúÿÿÿi   (   R   (    (
   R8   t   comb3R   R3   R:   R4   R5   R6   R9   t   z4(    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR7   ”   s    ,c            s   ˆ  j  |  d d ƒS(   NR(   i   (   t   siegelz(   R   (   R   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR,   ž   s    R   (   R   t   getR   R
   R"   R   t   abst   rs_zt   _is_real_typet   NotImplementedErrort   expjR+   t   zetaR   t   sum_accuratelyt   diff(   R   R'   t   kwargsR)   t   t1t   t2R   R   t   e1R7   t   h(    (   R2   R8   R=   R   R3   R:   R;   R<   R4   R5   R6   R9   R>   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR?   T   sˆ    	&
	 	 	 !!	 *
	gŒ­±úD,@g|¸Èc¤5@g‚÷Ç9@glŠ®Äl>@gY°w@@gjDËâËB@gp`§•˜uD@g,¥Š‰Ý©E@ge¸¸È¨ H@gÜËPñãH@gæNƒ~3|J@gáC ¥9L@g7”ðk¬M@gï1ý·wjN@g?aóë3GP@gûžÅP@gMÎá>øbQ@gY`³OLR@g€§íR@gXàGEIS@gÊXe—ÕS@giµ®CºT@gHõ&Q/U@gÜ©³7ÛU@gùK`zÈ3V@gÂwG{W@g‡¢êž¯©W@gr x¸÷W@gË»;I2µX@gSñ¾«WTY@gts7oîY@g´~Úx•\Z@gEA†ÊÊZ@gKÐéãÁ[@g|jú÷[@gäZÝ~”\@gàU-î]@gBí¼/œ²]@ggÁÆ °W^@gü'åÙ˜¼^@gè›·o_@g¾CYá_@gÚ¡«¾„2`@g#œ-XÎb`@gg’ví¯`@g®ñS5Ø`@gñåÓ¶Ca@g™{wa@gÎ:iõ£a@gÀñ¨=”ãa@g±l@b@g'B/K‡mb@gŸ;up¶Áb@gHýÙµ›Ýb@gÕ¬JÊ c@gŸ¤óóœƒc@gZUàx³c@gÒd3Ûc@gu…þ&d@g¼ªá’û`d@gÇÄ¸«/±d@g¸2«îæåd@g–1E#e@g× Lé.=e@gOÐ¢N+­e@g“ÆBV"Øe@gÄ'Ò: f@g£åx¹Lf@g¦KÖS}f@g‡c Æf@gÿ£ûg@goLc<)3g@gstUSgg@gô.õ+Q­g@g6×p^Ú h@g£™Î"h@g%¢-!~hh@g@T¥#œh@go··j}Àh@g
¡Ùx(i@g®ã¸†ËOi@gxÛ™Ê†i@g5Í\¡¬i@gkµ£ ýi@gëŠÄr2j@gÀqß‹vj@gÈ'"«j@gÖdÑj@g¹hÜlk@g‰Ñ¿)bk@g”yà–k@gÇWÈ­k@g=I™X9 l@g `Lewl@göõ¶x|ml@g+PýÌªl@g…Š»‹èl@gü¢bn—ÿl@gßöõ]06m@gâJ}Æm@c         C   sg   d d  l  } | j |  ƒ } g  | j ƒ  D] } t | ƒ ^ q( } t | d ƒ d k s\ t ‚ | t (d  S(   Niÿÿÿÿi    i   (   t   urllibt   urlopent	   readlinest   floatt   roundt   AssertionErrort   _zeta_zeros(   t   urlRN   R)   R   t   L(    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   _load_zeta_zeros¹   s
    %s2   http://www.dtc.umn.edu/~odlyzko/zeta_tables/zeros1c         C   sº   t  | ƒ } | d k  r, |  j | ƒ j ƒ  S| d k rG t d ƒ ‚ n  | t t ƒ k rr | d k rr t | ƒ n  | t t ƒ k r“ t d ƒ ‚ n  |  j d |  j	 |  j
 t | d ƒ ƒ S(   Ni    s   n must be nonzeroi † s   n too large for zetazerosg      à?i   (   R   t   zetazerot	   conjugatet
   ValueErrort   lenRT   RW   RD   t   mpcR/   R?   (   R   R   RU   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   oldzetazeroÁ   s    c         C   s6  | d k r |  j  St | ƒ d k rv |  j | ƒ } d |  j |  j | ƒ ƒ } t | ƒ t | ƒ |  j k  rv | Sn  t | ƒ d k  r³ |  j t |  j t | ƒ d ƒ ƒ 7_ n  |  j } } |  j	 | ƒ } d } xZ t | ƒ t | ƒ |  j k r1| | | } | | | |  j
 | d ƒ 7} | d 7} qØ W| S(   Ni    iè  g      à?g{®Gáz„?i   i   (   R!   RA   t   lit   sqrtt   epsR   R   R&   t   oneR   t	   _zeta_int(   R   R   R   R*   R   R'   t   ut   k(    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   riemannrÎ   s"    +"c         C   s/   t  | ƒ } | d k  r d St |  j | ƒ ƒ S(   Ni   i    (   R   R[   t   list_primes(   R   R   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   primepiå   s    c         C   sø   t  | ƒ } | d k  r" |  j j S| d k  rG |  j j |  j | ƒ ƒ S|  j | ƒ } |  j | d d ƒ|  j | d d ƒd |  j d d ƒ } |  j	 |  j j | ƒ | j
 d d ƒ} |  j |  j j | ƒ | j d d ƒ} |  j j | | g ƒ S(   Ni   ia
  t   roundingRc   i   R)   (   R   t   _ivR!   t   mpfRg   R^   R_   R   R	   t   floorR   t   ceilR*   (   R   R   t   midt   errR   R*   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   primepi2í   s    
<((c            sÇ   ˆ  j  ˆ ƒ r ˆ Sˆ  j ˆ ƒ d k r7 t d ƒ ‚ n  ˆ d k rJ ˆ  j Sˆ d k rl ˆ  j ˆ  j ˆ  j ƒ Sˆ  j ˆ ƒ } | ˆ  j k r’ d ˆ Sˆ  j t | ƒ ‰ ‡  ‡ ‡ f d †  } ˆ  j	 | ƒ S(   Ni    s.   prime zeta function defined only for re(s) > 0i   g      à?c          3   s„   ˆ  j  }  d } xn | d 7} ˆ  j | ƒ } | s7 q n  ˆ ˆ  _  | ˆ  j ˆ  j | ˆ ƒ ƒ | } | sn d  S|  ˆ  _  | Vq Wd  S(   Ni    i   (   R   t   moebiusR   RF   (   R   Rd   Rc   R'   (   R   R   t   wp(    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR7   
  s    	
	$	(
   t   isnant   reRZ   R   R\   R    R	   R   R   RG   (   R   R   t   rR7   (    (   R   R   Rq   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt	   primezetaû   s    c            s  t  ˆ ƒ ‰ ˆ d k  r' t d ƒ ‚ n  ˆ d k sK ˆ d k rX ˆ d k rX ˆ  j ˆ ƒ Sˆ d k r‰ ˆ  j d d ˆ ƒ d ˆ  j ˆ ƒ Sˆ d k rˆ d k r© ˆ d Sˆ d k r½ ˆ d Sˆ d k rá d ˆ ˆ d d d Sˆ d k rˆ ˆ ˆ d d Sn  ˆ  j ˆ ƒ rˆ ˆ Sˆ  j ˆ ƒ r.ˆ St ˆ ƒ d k rj‡  ‡ ‡ f d	 †  } ˆ  j | ƒ ˆ ˆ S‡  ‡ ‡ f d
 †  } ˆ  j | ƒ Sd  S(   Ni    s-   Bernoulli polynomials only defined for n >= 0i   g      à?i   i   i   g      ø?c          3   s‡   ˆ  j  }  |  Vˆ  j  ˆ } d } x_ | ˆ k r‚ |  ˆ d | | | }  | d k o] | d @su |  ˆ  j | ƒ Vn  | d 7} q$ Wd  S(   Ni   i   (   Ra   t	   bernoulli(   R'   Rt   Rd   (   R   R   R4   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR7   4  s    	c          3   s   ˆ  j  ˆ ƒ Vˆ  j }  d } xi | ˆ k rˆ |  ˆ d | | ˆ }  ˆ | } | d k oc | d @s{ |  ˆ  j  | ƒ Vn  | d 7} q  Wd  S(   Ni   i   (   Rv   Ra   (   R'   Rd   t   m(   R   R   R4   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR7   @  s    	
(   R   RZ   Rv   t   ldexpR$   Rr   RA   RG   (   R   R   R4   R7   (    (   R   R   R4   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   bernpoly  s2    $%    

c            s´  t  ˆ ƒ ‰ ˆ d k  r' t d ƒ ‚ n  ˆ d k rv ˆ d k rG ˆ d Sˆ d k r[ ˆ d Sˆ d k rv ˆ ˆ d Sn  ˆ  j ˆ ƒ r ˆ ˆ Sˆ  j ˆ ƒ r  ˆ Sˆ d } ˆ d k rç d ˆ  j d | ƒ d ˆ  j | ƒ | ˆ d Sˆ d k r$d ˆ  j d | ƒ d ˆ  j | ƒ | ˆ d Sˆ d k rŽˆ d rAˆ  j Sˆ d k  sqˆ ˆ  j d ˆ ƒ ˆ  j d	 k  rŽˆ  j ˆ  j	 ˆ ƒ ˆ ƒ Sn  ‡  ‡ ‡ f d
 †  } ˆ  j
 | ƒ | S(   Ni    s)   Euler polynomials only defined for n >= 0i   i   g      à?iþÿÿÿid   g.eÏT>úÝ?g      Ð?c          3   s¯   ˆ  j  }  d } ˆ  j d ˆ d ƒ } xƒ ˆ | d } | d k oI | d @si d | ˆ  j | ƒ |  Vn  | d 7} | ˆ k rƒ Pn  |  ˆ ˆ | d | }  | d 9} q( Wd  S(   Ni    i   i   g      à?(   Ra   Rx   Rv   (   R'   Rd   t   wR   (   R   R   R4   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR7   e  s    	
(   R   RZ   R$   Rr   Rx   Rv   R!   R   R   t	   _eulernumRG   (   R   R   R4   Rw   R7   (    (   R   R   R4   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt	   eulerpolyL  s4       
11
0c         C   st   t  | ƒ } | r% t  |  j | ƒ ƒ S| d k  rG |  j |  j | ƒ ƒ S| d rX |  j S|  j |  j | d ƒ | ƒ S(   Nid   i   g      à?(   R   R{   Rj   R!   Rx   R|   (   R   R   t   exact(    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   eulernumt  s    
c         C   sl   |  j  
} |  j } d } | } xF | | | } | | 7} t | ƒ | k  rP Pn  | | 9} | d 7} q" W| S(   Ni   (   R`   R!   RA   (   R   R   R4   t   tolt   lRd   t   zkt   term(    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   polylog_series€  s    
	

c         C   sù   | d k  r | d Sd |  j  } | | |  j | ƒ |  j | |  j | ƒ | ƒ } |  j | ƒ rƒ | d k  rƒ |  j | ƒ } n  |  j | ƒ d k  sÂ |  j | ƒ d k rõ |  j | ƒ d k rõ | | |  j | ƒ | d |  j | d ƒ 8} n  | S(   Ni    y               @i   (   R	   t   facRy   R   RC   R
   R"   (   R   R   R4   t   twopijR   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   polylog_continuationŽ  s    5?3c         C   s  |  j  
} | d k r|  j } |  j | ƒ } |  j } d } xu | | d k r |  j | | ƒ | |  j | ƒ } | r t | ƒ | k  r Pn  | | 7} n  | | 9} | d 7} q@ W| |  j | ƒ | d |  j | d ƒ |  j | d ƒ |  j |  j | ƒ ƒ 7} n× | d k  rÝ|  j | ƒ |  j | ƒ | d } |  j | ƒ } |  j }	 d }
 x„ |  j |
 | d ƒ } | rÂ| |	 |  j |
 ƒ |
 | d } t | ƒ | k  rµPn  | | 8} n  |	 | 9}	 |
 d 7}
 q_Wn t	 ‚ |  j
 | ƒ r| d k  r|  j | ƒ } n  | S(   Ni   i    (   R`   R!   R   Ra   RF   R„   RA   t   harmonicRv   RZ   RC   R
   (   R   R   R4   R   R€   t   logzt   logmzRw   R‚   t   logkzRd   R*   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   polylog_unitcircle™  sB    
		$
W&	#
c   
      C   s>  |  j  } |  j | ƒ } t | ƒ d k  s± |  j } d | } |  j | ƒ d |  j | } |  j | ƒ | | |  j | d | ƒ | | |  j | d | ƒ d |  j | Sd } d } x\ |  j | | ƒ | }	 t |	 ƒ |  j k  rð Pn  | |	 7} | d 7} | | 9} | | :} qÀ W|  j d | ƒ | | d | S(   Ni   i   i   g      à?i    (   R!   R   RA   R   R	   t   gammaRF   R`   (
   R   R   R4   R   Rc   R   t   yR'   Rd   R‚   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   polylog_general½  s$    		
U


c         C   sm  |  j  | ƒ } |  j  | ƒ } | d k r7 |  j | ƒ S| d k rQ |  j | ƒ S| d k ri | d | S| d k r‡ |  j d | ƒ S| d k r£ | d | d St | ƒ d k s× |  j | ƒ rç t | ƒ d k  rç t |  | | ƒ St | ƒ d k r8|  j | ƒ r8d | d t |  | d | ƒ t |  | | ƒ S|  j | ƒ r]t |  t	 | ƒ | ƒ St
 |  | | ƒ S(   Ni   iÿÿÿÿi    i   g      è?gÍÌÌÌÌÌì?gffffffö?(   R   RF   t   altzetaR   RA   R   Rƒ   R†   R‹   R   RŽ   (   R   R   R4   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   polylogÑ  s&    4!0c         C   sÅ   |  j  | ƒ r9 | d k  r9 t | ƒ d d k r9 | d S| rQ |  j | ƒ } n |  j | ƒ } |  j | ƒ r— |  j | ƒ r— |  j |  j | | ƒ ƒ Sd | } d |  j | | ƒ |  j | | ƒ S(   Ni    i   i   y              à¿(   R   R   t   expjpiRE   RC   t   imR   (   R   R   R4   R	   R   R*   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   clsinç  s    1
c         C   sÅ   |  j  | ƒ r9 | d k  r9 t | ƒ d d k r9 | d S| rQ |  j | ƒ } n |  j | ƒ } |  j | ƒ r— |  j | ƒ r— |  j |  j | | ƒ ƒ Sd | } d |  j | | ƒ |  j | | ƒ S(   Ni    i   i   g      à?(   R   R   R‘   RE   RC   Rs   R   (   R   R   R4   R	   R   R*   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   clcosô  s    1
c         K   s6   y |  j  | |  SWn t k
 r1 |  j | ƒ SXd  S(   N(   t   _altzetaRD   t   _altzeta_generic(   R   R   RI   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR     s    c         C   s=   | d k r |  j  d | S|  j d d | ƒ |  j | ƒ S(   Ni   i    i   (   t   ln2t   powm1RF   (   R   R   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR–     s    c         K   sm  t  | ƒ } | d k rP | p! | rP y |  j | |  SWqP t k
 rL qP Xn  |  j | ƒ } |  j } | j d ƒ } | j d ƒ } | r² | r² |  j d ƒ |  j | ƒ d S| d k r| d k rt |  j	 | ƒ ƒ }	 t |  j
 | ƒ ƒ }
 t |	 ƒ d | k r&d |
 | k  r&| d	 k s2| d
 k rzK y% | rFd GHn  |  j | | |  SWn t k
 r{| r|d GHq|n XWd  | |  _ Xqn  | d k r£|  j St | ƒ } | |  j k rø|  j | ƒ |  j k rð| d k ré|  j S|  j S| d S|  j | ƒ rd | S|  j | ƒ d |  j k rV| d k rV| rV|  j |  j d | ƒ S|  j | | | |  
S(   Ni   t   methodt   verboseg      à?i    s   euler-maclauriniô  i
   i   s   riemann-siegels4   zeta: Attempting to use the Riemann-Siegel algorithms0   zeta: Could not use the Riemann-Siegel algorithmi   (   R   t   _zetaRD   R   R   R@   Rj   t   _convert_paramRA   R"   R
   t   rs_zetaR   Rs   Ra   R!   Rr   t   powert   _hurwitz(   R   R   R   R(   R™   RI   R)   R   Rš   R’   Rs   t   abss(    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyRF     sR    	
2/c         K   s¹  |  j  } | j d ƒ } zd } |  j  | 7_  |  j | ƒ \ } } |  j | ƒ d k  r§ | rh d GHn  y t |  | | | | ƒ SWn t k
 r• n X| r§ d GHq§ n  | rµ d GHn  xï | | |  _  t |  | | | | d | ƒ \ }	 }
 |  j |	 ƒ |  j |	 |
 ƒ } | r=t d |	 ƒ t d |
 ƒ t d	 | d
 ƒ n  | | k  rQ|	 |
 St	 d | t
 | d d | ƒ ƒ } | | j d d | ƒ k r¸ |  j d ƒ ‚ q¸ q¸ WWd  | |  _  Xd  S(   NRš   i
   i    s#   zeta: Attempting reflection formulas   zeta: Reflection formula faileds)   zeta: Using the Euler-Maclaurin algorithms   Term 1:s   Term 2:s   Cancellation:t   bitsi   i   id   t   maxprecs   zeta: too much cancellation(   R   R@   Rœ   Rs   t   _hurwitz_reflectionRD   t   _hurwitz_emR   R   t   maxt   mint   NoConvergence(   R   R   R   R)   RI   R   Rš   t	   extraprect   atypet   T1t   T2t   cancellation(    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyRŸ   D  s>    	% $c            s  | d k r t  ‚ n  ˆ j | ƒ } | } ˆ j | ƒ rq t | ƒ } | d k rq ˆ j d | | ƒ | d Sn  | d k p† | d k s’ t  ‚ n  d | ‰ d } d }	 | ‰  x; ˆ j ˆ  ƒ d k rë ˆ  d 8‰  | ˆ  | 8} |	 d 8}	 q± Wx; ˆ j ˆ  ƒ d k r)| ˆ  | 7} ˆ  d 7‰  |	 d 7}	 qï Wy | j \ }
 ‰ Wn1 | t | ƒ k s[t ‚ t | ƒ }
 d ‰ n X|
 |	 ˆ 7}
 d |
 k o–ˆ k n s¡t ‚ ˆ j ‡  ‡ ‡ ‡ f d †  t d ˆ d ƒ Dƒ ƒ } | d ˆ j	 ˆ ƒ d ˆ j
 ˆ ˆ 9} | | 7} | S(   Ni    i   t   Qt   Zc         3   sD   |  ]: } ˆ j  ˆ d  d  | ˆ  ƒ ˆ j ˆ | ˆ f ƒ Vq d S(   i   N(   t   cospiRŸ   (   t   .0Rd   (   R*   R   t   qR'   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pys	   <genexpr>Œ  s   i   (   RD   Rs   t   isnpintR   Ry   t   _mpq_RS   t   fsumt   rangeRŒ   R	   (   R   R   R   R)   R©   t   rest   negsR   R   t   shiftt   pR0   (    (   R*   R   R±   R'   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR£   i  sF    		



"*
c       
   C   s^  |  j  | ƒ } | } d } | d } | }	 d }
 |  j | ƒ rY t |  j | ƒ ƒ } n  | d } xô|  j | | | | | d | g ƒ d d } |
 | 7}
 | | } |  j | ƒ } | | } | g } d | } d | } | | } | r|  j | d | | ƒ | | d } n d | | | } | d | | 7} d g } | } d } xœt d |	 d ƒ D]‡} d | } | d k rŽd g } n | d | d g } xÙ | D]Ñ } t | | d ƒ } | | k ræ| j	 | d | ƒ n  d g | d } x. t
 | ƒ D]  } d | | | | | | <qWx? t
 d | d ƒ D]* } | | c | | d | | d 7<q<W| } | | 9} q©W|  j | | ƒ | |  j | ƒ | } | | 7} |  j | ƒ | k  r×|
 d | | f S| | d | d 9} qfW| rt d | | d |  j | ƒ d	 | ƒ n  | | d } } |  j | ƒ d k  rf |	 |	 d 7}	 qf qf Wd  S(
   Ni    i   i   g      à?i   iÿÿÿÿs
   Sum range:s   term magnitudet	   tolerance(   R   R   R   R
   t   _zetasumR   t   gammaincRµ   R¦   t   appendR    t   fdotRv   R   R   Rs   (    R   R   R   R)   R   Rš   R   t   M1t   M2t   Nt   lsumt   s1R€   t   M2at   logM2at   logM2adt   logst   logrt   rM2at   M2ast   tailsumt   URt   t   factR   t   j2t   updsRw   t   Dt   Unt   iR'   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR¤   ’  sh    

/


	

)	
  ((
(c            sÈ  t  ˆ j | ƒ ƒ d ˆ j k  rV y ˆ j | ˆ  | | | ƒ SWqV t k
 rR qV Xn  ˆ j | d t ƒ‰ | d g k } t | ƒ d k } | s%| sË ˆ j ‡  ‡ f d †  t	 | d ƒ Dƒ ƒ g g  f S| r%| d ‰ ˆ j ‡  ‡ ‡ ‡ f d †  t	 | d ƒ Dƒ ƒ } d ˆ | g g  f Sn  t
 | ƒ }	 | sJt |	 d ƒ } n  g  | D] ‰ ˆ j ^ qQ}
 | r‹g  | D] ‰ ˆ j ^ qs} n g  } x*t	 | d ƒ D]} ˆ  | } | ˆ } | rßˆ j ˆ j | | ƒ } n  | r‘ˆ j | ƒ } | r9| |	 } |
 d c | | 7<| rŽ| d c | | 7<qŽqºˆ j } xu | D]A ‰ |
 ˆ c | | 7<| r€| ˆ c | | 7<n  | | 9} qIWq¢|
 d c | 7<| r¢| d c | 7<q¢q¢W|
 | f S(   s§  
    Returns [xd0,xd1,...,xdr], [yd0,yd1,...ydr] where

    xdk = D^k     ( 1/a^s     +  1/(a+1)^s      +  ...  +  1/(a+n)^s     )
    ydk = D^k conj( 1/a^(1-s) +  1/(a+1)^(1-s)  +  ...  +  1/(a+n)^(1-s) )

    D^k = kth derivative with respect to s, k ranges over the given list of
    derivatives (which should consist of either a single element
    or a range 0,1,...r). If reflect=False, the ydks are not computed.
    g      à?R}   i    i   c         3   s   |  ] } ˆ  | ˆ Vq d  S(   N(    (   R°   Rd   (   R   R·   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pys	   <genexpr>ë  s    c         3   s2   |  ]( } ˆ j  ˆ  | ƒ ˆ ˆ  | ˆ Vq d  S(   N(   R   (   R°   Rd   (   R   R   R)   R·   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pys	   <genexpr>î  s    iÿÿÿÿ(   RA   Rs   R   t   _zetasum_fastRD   t   fnegt   TrueR[   R´   R    R¥   Rµ   R!   t   conjRa   R   (   R   R   R   R   t   derivativest   reflectt   have_derivativest   have_one_derivativeR   t   maxdt   xst   ysRd   Rz   t   xtermt   ytermt   logwR'   (    (   R   R   R)   R·   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR»   Ó  sX    "3
2


	c         C   sµ  |  j  | ƒ } t | ƒ } t | ƒ } | d k rB t d ƒ ‚ n  |  j } zX|  j d 7_ | d k r× t } xT | D]L } | rv | d k rv t } |  j 
}	 |  j d | d 9_ | |	 7} qv qv W| r× |  j 
Sn  |  j	 }
 x± t
 d | d ƒ D]œ } | | | rô | d k re|
 | | | |  j | | | f d ƒ |  j | | | f ƒ |  j | ƒ 7}
 q|
 | | | |  j | | | f ƒ 7}
 qô qô W|
 | | :}
 Wd  | |  _ X|
 
S(   Ni   s   arbitrary order derivativesi
   i   (   R   R[   R   RD   R   RÕ   t   FalseR`   R   R!   Rµ   RF   R&   (   R   R   t   chiR(   R±   R)   R   t	   have_poleR   RM   R4   R¹   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt	   dirichlet  s8    	
	&+/
c            sF  ˆ j  } ‡  ‡ ‡ ‡ f d †  } ˆ j } } ˆ j } d }	 xT | | k r“ | | 7} |	 d 7}	 ˆ j ˆ j |	 ƒ ƒ ‰ | |	 ƒ } t | ƒ } q@ Wd }
 | j d ƒ r8ˆ j ˆ ƒ } d ˆ j d t	 d | ƒ ˆ  | d ˆ j
 ˆ d ˆ j ƒ ˆ j d ˆ  ˆ d ƒ t ˆ j ˆ d ƒ ƒ }
 t |
 ƒ }
 n  | 
|
 |	 f S(	   Nc            s+   ˆ j  d ˆ ˆ  ˆ d d t ƒˆ ˆ S(   Ng      à?i   t   regularized(   R¼   RÕ   (   R   (   R   R   t   gammR   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR,   5  s    i    i   t   errorg      à?iÿÿÿÿi   g      à¿(   R`   R!   R   R’   t   zetazero_memoizedRA   R@   Rs   R	   R¥   R&   R¼   RŒ   (   R   R   R   RI   R   R   t   totsumR‚   t   mgR   Rn   t   sg(    (   R   R   Ræ   R   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   secondzeta_main_term3  s"    		

qc            sÃ   ˆ j  } ‡  ‡ ‡ f d †  } ˆ j } } ˆ j } d }	 x` | | k sU |	 d k  rœ | | 7} |	 d 7}	 | |	 ƒ } | d k r ˆ j } q= t | ƒ } q= W| j d ƒ rµ | }
 n  | 
|
 |	 f S(   Nc            s‰   ˆ j  d d ˆ d ˆ j |  ƒ d ˆ  d ƒ d ˆ j |  ƒ ˆ d ˆ j |  ƒ ˆ j |  ƒ d ˆ j d ˆ ƒ ˆ j ˆ j ƒ S(   Ng      à?i   g      Ð?i   iÿÿÿÿ(   R¼   R&   t   mangoldtR_   RŒ   R	   (   R   (   R   R   R   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR,   I  s    ci   i	   i    Rç   (   R`   R!   R   RA   R@   (   R   R   R   RI   R   R   Ré   R‚   Rê   R   Rn   (    (   R   R   R   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   secondzeta_prime_termG  s    		

	c            s
  ˆ j  ˆ ƒ rb ˆ j ˆ ƒ d k rb t t ˆ j ˆ ƒ ƒ ƒ } | d @sb ˆ j d ƒ | d Sn  ˆ j } ‡  ‡ ‡ f d †  } ˆ j } | d ƒ } ˆ j } d }	 x< | | k râ | | 7} |	 d 7}	 | |	 ƒ } t | ƒ } q§ Wˆ  d ˆ | ˆ j	 d ˆ ƒ }
 |
 S(   Ni    i   s   -0.25i   c            s%   d ˆ  |  |  d ˆ ˆ j  |  ƒ S(   Ng      Ð?g      à?(   R„   (   R   (   R   R   R   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR,   a  s    g      à?(
   R   Rs   R   RR   Rj   R`   R!   R   RA   RŒ   (   R   R   R   Rw   R   R   Ré   R‚   Rê   R   R   (    (   R   R   R   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   secondzeta_exp_term[  s"    $
			

#c            sƒ  ˆ  d ˆ d d ˆ j  ˆ j ƒ ˆ j d ˆ ƒ } ˆ j | ƒ } ˆ j | 7_ ˆ  d ˆ d d ˆ j  ˆ j ƒ ˆ j d ˆ ƒ } ˆ j } ‡  ‡ ‡ f d †  } ˆ j } ˆ j }	 d }
 | |
 ƒ } t | ƒ } xn | | k rJ| |	 k rJ| | 7} |
 d 7}
 | |
 ƒ } | | 7} |
 d 7}
 | |
 ƒ } | }	 t | ƒ } qÝ W| | 7} d ˆ d d ˆ j	 ˆ j
 d ˆ j d ˆ  ƒ ˆ d d } | | | } d	 } | j d
 ƒ ri| | k oÎ| |	 k sP| | k rˆ j d ƒ t ˆ j
 t | | ƒ d ƒ ƒ } n  | |	 k rPˆ j d ƒ t ˆ j
 t | |	 ƒ d ƒ ƒ } qPn  t | ˆ j d ƒ } n  ˆ j | 8_ | 
| f S(   Ng      à?i   i   c            sO   ˆ j  |  d ƒ d ˆ j ˆ  ƒ |  ˆ j d |  ƒ ˆ |  d ˆ j |  ƒ S(   Ng      è?i   g      à?i   (   Ry   R_   RŒ   R„   (   R   (   R   R   R   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR,   t  s    iþÿÿÿi   i   iÿÿÿÿi    Rç   i
   g      ð?(   R_   R	   RŒ   R   R   R`   R!   R   RA   R   R&   R@   Rj   R   R¥   (   R   R   R   RI   t   factorR¨   R   R   Ré   t   mg1R   R‚   t   mg2t   polet   stRn   (    (   R   R   R   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   secondzeta_singular_termn  sB    77			




A25g¸…ëQ¸Ž?c         K   s“  |  j  | ƒ } |  j  | ƒ } |  j } |  j | ƒ rÕ |  j | ƒ d k rÕ t | d ƒ | d k  rl |  j St t |  j | ƒ ƒ ƒ } | d @r˜ |  j Sd | d |  j d |  j	 | d t
 ƒd | d ƒ Sn  |  j } zEt |  | | ƒ } t |  j | ƒ d ƒ } |  j | d 7_ t |  | | d	 d
 d d
 ƒ\ }	 }
 } t |  | | d	 d
 d d
 ƒ\ } } } t |  | | d	 d
 ƒ\ } } t |  | | ƒ } |
 | | } |	 | | | } | j d ƒ r"t d |	 ƒ t d | d ƒ t d | ƒ t d | d ƒ t d | ƒ t d | ƒ n  Wd | |  _ X| j d	 ƒ rŽt |  j t | ƒ ƒ d ƒ } t | d | |  j d d | ƒ } | 
| f S| 
S(   sª  
    Evaluates the secondary zeta function `Z(s)`, defined for
    `\mathrm{Re}(s)>1` by

    .. math ::

        Z(s) = \sum_{n=1}^{\infty} \frac{1}{\tau_n^s}

    where `\frac12+i\tau_n` runs through the zeros of `\zeta(s)` with
    imaginary part positive.

    `Z(s)` extends to a meromorphic function on `\mathbb{C}`  with a
    double pole at `s=1` and  simple poles at the points `-2n` for
    `n=0`,  1, 2, ...

    **Examples**

        >>> from mpmath import *
        >>> mp.pretty = True; mp.dps = 15
        >>> secondzeta(2)
        0.023104993115419
        >>> xi = lambda s: 0.5*s*(s-1)*pi**(-0.5*s)*gamma(0.5*s)*zeta(s)
        >>> Xi = lambda t: xi(0.5+t*j)
        >>> -0.5*diff(Xi,0,n=2)/Xi(0)
        (0.023104993115419 + 0.0j)

    We may ask for an approximate error value::

        >>> secondzeta(0.5+100j, error=True)
        ((-0.216272011276718 - 0.844952708937228j), 2.22044604925031e-16)

    The function has poles at the negative odd integers,
    and dyadic rational values at the negative even integers::

        >>> mp.dps = 30
        >>> secondzeta(-8)
        -0.67236328125
        >>> secondzeta(-7)
        +inf

    **Implementation notes**

    The function is computed as sum of four terms `Z(s)=A(s)-P(s)+E(s)-S(s)`
    respectively main, prime, exponential and singular terms.
    The main term `A(s)` is computed from the zeros of zeta.
    The prime term depends on the von Mangoldt function.
    The singular term is responsible for the poles of the function.

    The four terms depends on a small parameter `a`. We may change the
    value of `a`. Theoretically this has no effect on the sum of the four
    terms, but in practice may be important.

    A smaller value of the parameter `a` makes `A(s)` depend on
    a smaller number of zeros of zeta, but `P(s)`  uses more values of
    von Mangoldt function.

    We may also add a verbose option to obtain data about the
    values of the four terms.

        >>> mp.dps = 10
        >>> secondzeta(0.5 + 40j, error=True, verbose=True)
        main term = (-30190318549.138656312556 - 13964804384.624622876523j)
            computed using 19 zeros of zeta
        prime term = (132717176.89212754625045 + 188980555.17563978290601j)
            computed using 9 values of the von Mangoldt function
        exponential term = (542447428666.07179812536 + 362434922978.80192435203j)
        singular term = (512124392939.98154322355 + 348281138038.65531023921j)
        ((0.059471043 + 0.3463514534j), 1.455191523e-11)

        >>> secondzeta(0.5 + 40j, a=0.04, error=True, verbose=True)
        main term = (-151962888.19606243907725 - 217930683.90210294051982j)
            computed using 9 zeros of zeta
        prime term = (2476659342.3038722372461 + 28711581821.921627163136j)
            computed using 37 values of the von Mangoldt function
        exponential term = (178506047114.7838188264 + 819674143244.45677330576j)
        singular term = (175877424884.22441310708 + 790744630738.28669174871j)
        ((0.059471043 + 0.3463514534j), 1.455191523e-11)

    Notice the great cancellation between the four terms. Changing `a`, the
    four terms are very different numbers but the cancellation gives
    the good value of Z(s).

    **References**

    A. Voros, Zeta functions for the Riemann zeros, Ann. Institute Fourier,
    53, (2003) 665--699.

    A. Voros, Zeta functions over Zeros of Zeta Functions, Lecture Notes
    of the Unione Matematica Italiana, Springer, 2009.
    i   iè  iÿÿÿÿi   i   R}   i   i    Rç   RÕ   Rš   s   main term =s       computed usings   zeros of zetas   prime term =s#   values of the von Mangoldt functions   exponential term =s   singular term =Ng      ð?(   R   R`   R   Rs   RA   R   R   RR   t   fractionR~   RÕ   R   Rï   R¥   R   Rì   Rî   Rõ   R@   R   (   R   R   R   RI   R   Rw   R   t   t3R¨   RJ   t   r1t   gtRK   t   r2t   ptt   t4t   r4Rn   R'   Rz   (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt
   secondzeta’  sF    \	$
1	''
&c   	         s  | d k r ˆ  ˆ S| d k r1 ˆ j  ˆ ˆ  ƒ Sˆ  d k rQ ˆ j ˆ | ƒ | Sˆ j ˆ  ƒ d k  rˆ j ˆ  ƒ r„ t d ƒ ‚ n  t ˆ j d ˆ j ˆ  ƒ ƒ ƒ } ˆ j } ˆ j } x4 t	 | ƒ D]& } | | ˆ  | ˆ 7} | | 9} qÅ W| ˆ j
 | ˆ ˆ  | ƒ | Sˆ j | ƒ ‰ d d ˆ  ˆ ˆ j d ˆ ˆ  ˆ ƒ ˆ ˆ d | ˆ  } ˆ d ‰ d ˆ j ‰ ‡  ‡ ‡ ‡ ‡ ‡ f d †  } | d ˆ j | d ˆ j g ƒ 7} ˆ j | ƒ rˆ j ˆ ƒ rˆ j ˆ  ƒ rˆ j | ƒ d k  rˆ j | ƒ } n  | S(   sž
  
    Gives the Lerch transcendent, defined for `|z| < 1` and
    `\Re{a} > 0` by

    .. math ::

        \Phi(z,s,a) = \sum_{k=0}^{\infty} \frac{z^k}{(a+k)^s}

    and generally by the recurrence `\Phi(z,s,a) = z \Phi(z,s,a+1) + a^{-s}`
    along with the integral representation valid for `\Re{a} > 0`

    .. math ::

        \Phi(z,s,a) = \frac{1}{2 a^s} +
                \int_0^{\infty} \frac{z^t}{(a+t)^s} dt -
                2 \int_0^{\infty} \frac{\sin(t \log z - s
                    \operatorname{arctan}(t/a)}{(a^2 + t^2)^{s/2}
                    (e^{2 \pi t}-1)} dt.

    The Lerch transcendent generalizes the Hurwitz zeta function :func:`zeta`
    (`z = 1`) and the polylogarithm :func:`polylog` (`a = 1`).

    **Examples**

    Several evaluations in terms of simpler functions::

        >>> from mpmath import *
        >>> mp.dps = 25; mp.pretty = True
        >>> lerchphi(-1,2,0.5); 4*catalan
        3.663862376708876060218414
        3.663862376708876060218414
        >>> diff(lerchphi, (-1,-2,1), (0,1,0)); 7*zeta(3)/(4*pi**2)
        0.2131391994087528954617607
        0.2131391994087528954617607
        >>> lerchphi(-4,1,1); log(5)/4
        0.4023594781085250936501898
        0.4023594781085250936501898
        >>> lerchphi(-3+2j,1,0.5); 2*atanh(sqrt(-3+2j))/sqrt(-3+2j)
        (1.142423447120257137774002 + 0.2118232380980201350495795j)
        (1.142423447120257137774002 + 0.2118232380980201350495795j)

    Evaluation works for complex arguments and `|z| \ge 1`::

        >>> lerchphi(1+2j, 3-j, 4+2j)
        (0.002025009957009908600539469 + 0.003327897536813558807438089j)
        >>> lerchphi(-2,2,-2.5)
        -12.28676272353094275265944
        >>> lerchphi(10,10,10)
        (-4.462130727102185701817349e-11 - 1.575172198981096218823481e-12j)
        >>> lerchphi(10,10,-10.5)
        (112658784011940.5605789002 - 498113185.5756221777743631j)

    Some degenerate cases::

        >>> lerchphi(0,1,2)
        0.5
        >>> lerchphi(0,1,-2)
        -0.5

    Reduction to simpler functions::

        >>> lerchphi(1, 4.25+1j, 1)
        (1.044674457556746668033975 - 0.04674508654012658932271226j)
        >>> zeta(4.25+1j)
        (1.044674457556746668033975 - 0.04674508654012658932271226j)
        >>> lerchphi(1 - 0.5**10, 4.25+1j, 1)
        (1.044629338021507546737197 - 0.04667768813963388181708101j)
        >>> lerchphi(3, 4, 1)
        (1.249503297023366545192592 - 0.2314252413375664776474462j)
        >>> polylog(4, 3) / 3
        (1.249503297023366545192592 - 0.2314252413375664776474462j)
        >>> lerchphi(3, 4, 1 - 0.5**10)
        (1.253978063946663945672674 - 0.2316736622836535468765376j)

    **References**

    1. [DLMF]_ section 25.14

    i    i   s#   Lerch transcendent complex infinityi   c            sK   ˆ j  ˆ ˆ j |  ˆ  ƒ |  ˆ ƒ ˆ  d |  d ˆ ˆ j ˆ |  ƒ S(   Ni   (   t   sint   atant   expm1(   R'   (   R   R   R0   RM   Rt   R   (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR,   {  s   %(   RF   R   Rs   R²   RZ   R   Rl   R!   Ra   R    t   lerchphiR   R¼   R	   R   R   R’   t   chop(	   R   R4   R   R   Rw   R   t   zpowR   R   (    (   R   R   R0   RM   Rt   R   s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyR    s2    Q	"		@
#EN(,   t   libmp.backendR    R   t	   functionsR   R   R   R   R+   R1   R?   RT   RW   R]   Re   Rg   Ro   Ru   Ry   R|   Rá   R~   Rƒ   R†   R‹   RŽ   R   R“   R”   R   R–   t   NoneRF   RŸ   R£   R¤   R»   Rä   Rì   Rî   Rï   Rõ   Rþ   R  (    (    (    s4   lib/python2.7/site-packages/mpmath/functions/zeta.pyt   <module>   s„   %!O	$-(			$	5$	)	A=!				$‚