
<Zc          @   s  d  Z  d d l m Z m Z d   Z d   Z d"d"d  Z d   Z d   Z	 d   Z
 d	 Z d
   Z d   Z d   Z e e e d   Z d   Z d   Z d   Z e d    Z e d    Z d d g d d d g d d d g d d d g d d d g d d d  g d d! d" g d d# d$ g d d% d& g d d' d( g d d) d* g d d+ d, g d d- d. g d d/ d0 g d1 d2 d3 g d d4 d5 g d d6 d7 g d d8 d9 g d d: d; g d d< d= g d d> d? g d d@ dA g d dB dC g d dD dE g d dF dG g d dH dI g d dJ dK g d dL dM g d dN dO g d dP dQ g d dR dS g d dT dU g d dV dW g d dX dY g d dZ d[ g d d\ d] g d d^ d_ g d d` da g d db dc g d dd de g d df dg g d dh di g d dj dk g d dl dm g d dn do g d dp dq g d dr ds g d dt du g d dv dw g d dx dy g d dz d{ g d d| d} g d d~ d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d1 d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d d d g d ddg d ddg d ddg d ddg d d	d
g d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d dd g d d!d"g d d#d$g d d%d&g d d'd(g d d)d*g d d+d,g d d-d.g d d/d0g d d1d2g d d3d4g d d5d6g d d7d8g d d9d:g d d;d<g d d=d>g d d?d@g d dAdBg d dCdDg d dEdFg d dGdHg d dIdJg d dKdLg dMdNdOg d dPdQg d dRdSg dTdUdVg d dWdXg d dYdZg d d[d\g d d]d^g d d_d`g d dadbg d dcddg d dedfg d dgdhg d didjg d dkdlg d dmdng d dodpg d dqdrg d dsdtg d dudvg d dwdxg d dydzg d d{d|g d d}d~g d ddg d ddg d ddg dTddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d dd g d ddg d ddg d ddg d ddg d d	d
g d ddg d ddg d ddg d ddg d ddg d1 ddg d ddg d ddg d ddg d ddg d dd g d d!d"g dTd#d$g d d%d&g d d'd(g d d)d*g d d+d,g d d-d.g d d/d0g d d1d2g d d3d4g d d5d6g d d7d8g d d9d:g d d;d<g d d=d>g d d?d@g d dAdBg d dCdDg d dEdFg d dGdHg d dIdJg d dKdLg d dMdNg d dOdPg d dQdRg d dSdTg d dUdVg d dWdXg d dYdZg d d[d\g d d]d^g d d_d`g d dadbg d dcddg d dedfg d dgdhg d didjg d dkdlg d dmdng d dodpg d dqdrg d dsdtg d dudvg d dwdxg d dydzg d d{d|g d d}d~g d ddg d ddg d ddg d1 ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg dTddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg dddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg dTddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d ddg d d dg d ddg d ddg d ddg d ddg ddd	g dd
dg dddg dddg dddg dddg dddg dddg dddg dddg dd d!g dgZ d"S(#  s  
The function zetazero(n) computes the n-th nontrivial zero of zeta(s).

The general strategy is to locate a block of Gram intervals B where we
know exactly the number of zeros contained and which of those zeros
is that which we search.

If n <= 400 000 000  we know exactly the Rosser exceptions, contained
in a list in this file. Hence for n<=400 000 000 we simply
look at these list of exceptions. If our zero is implicated in one of
these exceptions we have our block B.  In other case we simply locate
the good Rosser block containing our zero.

For n > 400 000 000 we apply the method of Turing, as complemented by
Lehman, Brent and Trudgian  to find a suitable B.
i   (   t   defunt   defun_wrappedc         C   s+  x t  t t  d  D] } t d | d } t d | d } | | d k r | d | k r |  j |  } |  j |  } |  j j |  } |  j j |  } | | d }	 | | }
 t d | d } |	 | | g | | g | | g f Sq W| d } t |  |  \ } } } | g } | g } xR | d k  r{| d 8} t |  |  \ } } } | j d |  | j d |  q*W| | d }	 | d } t |  |  \ } } } | j |  | j |  xL | d k  r| d 7} t |  |  \ } } } | j |  | j |  qW|	 | | g | | f S(   s;   for n<400 000 000 determines a block were one find our zeroi   i    i   (	   t   ranget   lent   _ROSSER_EXCEPTIONSt	   grampointt   _fpt   siegelzt   compute_triple_tvbt   insertt   append(   t   ctxt   nt   kt   at   bt   t0t   t1t   v0t   v1t   my_zero_numbert   zero_number_blockt   patternt   tt   vt   Tt   Vt   m(    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   find_rosser_block_zero   s@     
&
		


c         C   sM   d } |  d d
 k r d } n  |  d k r4 d } n  |  d k rI d	 } n  | S(   s(   Precision needed to compute higher zerosi5   i   i
   i   i?   i   iF   i   iS   i I vH   I @zZ  (    (   R   t   wp(    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   wpzeros7   s    			c      	      s  | d k r   j } n  d } t |  } x7| | k  rc| | k  rc| d } | d }	 | g }
 |	 g } d } xSt d t |   D]<} | | } | | } | |	 d k r   j | |	  } | | | | d } n | | d } | d k  r0  j j |  } t |  | k  r?  j |  } q?n   j |  } |	 | d k  r\| d 7} n  |
 j	 |  | j	 |  | | } | | d k  r| d 7} n  |
 j	 |  | j	 |  | } | }	 q W|
 } | } | d 7} | t
 k rT| d k rT| d | k rTd } d } d } xu t d t |   D]^ } | | | | d } | | k rj| } | } | } q-| | k  r-| | k r-| } q-q-W| d | k rT  f d   } | | d } | | }   j | | | f d d d	 t d
 t }   j |  }	 | | k  rQ| | k  rQ|	 | | d k  rQ| j | |  | j | |	  qQqTn  t |  } q- W| | k ryt } n t } | | | f S(   s^   Separate the zeros contained in the block T, limitloop
    determines how long one must searchi    i   i   i
   i   c            s     j  |  d d S(   Nt
   derivativei   (   t   rs_z(   t   x(   R   (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   <lambda>y   s    t   solvert   illinoist   verifyt   verboseN(   t   Nonet   inft   count_variationsR   R   t   sqrtR   R   t   absR
   t   ITERATION_LIMITt   findroott   FalseR	   t   True(   R   R   R   R   t	   limitloopt   fp_tolerancet
   loopnumbert
   variationsR   R   t   newTt   newVR   t   b2t   ut   alphaR   t   wt   dtMaxt   dtSect   kMaxt   k1t   dtt   fR   R   R   t	   separated(    (   R   s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   separate_zeros_in_blockB   s|    

		




(	
*,	c            s  d } | d } xk t  d t |   D]T } | | }	 | |	 d k  rt | d 7} | | k rt | }
 | } |	 } qt n  |	 } q& W| |
 } | |
 d } |   _ t |   j |   } d   j |  }   j d g } d } xC | d d | k r&| d 7} | d d d d | g | } q W| d |   _   j   f d   | | f d d d	 t }   j d
 |  } x` | d D]T } | |   _ |   j	 |    j	 | d d }   j d
   j
 |   } qW  j
 |  S(   sP   If we know which zero of this block is mine,
    the function separates the zeroi    i   i   i   i   c            s     j  |   S(   N(   R   (   R!   (   R   (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyR"      s    R#   R$   R&   g      ?R   (   R   R   t   precR   t   logt   magR-   R.   t   mpct   zetat   im(   R   R   R   R   R   RB   R3   R   R   R   t   k0t   leftvt   rightvR   R   t   wpzt   guardt   precst   indext   rt   zt   znew(    (   R   s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   separate_my_zero   s:    




	
%-&c         C   s   | d d
 k  r d S|  j  | d  } |  j j |  } d | d d | } d | d d	 | } |  j t | |   } t |  } | S(   s  The number of good Rosser blocks needed to apply
    Turing method
    References:
    R. P. Brent, On the Zeros of the Riemann Zeta Function
    in the Critical Strip, Math. Comp. 33 (1979) 1361--1372
    T. Trudgian, Improvements to Turing Method, Math. Comp.i	   i
   i   i   id   gHPx?g{Gz?ga+ei?g)\(?i (   R   R   t   lnt   ceilt   mint   int(   R   R   t   gt   lgt   brentt   trudgiant   N(    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   sure_number_block   s    c         C   sv   |  j  |  } |  j j |  } |  j t |   |  j |  d k  r[ |  j |  } n  | d | } | | | f S(   Ni-   i(   R   R   R   RD   R+   (   R   R   R   R   R   (    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyR      s    (i   c   &   	   C   s  t  |  |  } d } | d } t |  |  \ } } } | g }	 | g }
 xL | d k  r | d 7} t |  |  \ } } } |	 j |  |
 j |  qL W| g } | g } | g } x?| d | k  r| d 7} t |  |  \ } } } | j |  | j |  xL | d k  rP| d 7} t |  |  \ } } } | j |  | j |  qW| j |  t |  d } t |  | | | d t d | \ } } } |	 j   |	 j |  |
 j   |
 j |  | r| d 7} n d } | g } | g } q Wd } | d } t |  |  \ } } } |	 j d |  |
 j d |  xR | d k  r| d 8} t |  |  \ } } } |	 j d |  |
 j d |  q@W| j d |  | g } | g } xH| d | k  r| d 8} t |  |  \ } } } | j d |  | j d |  xR | d k  r]| d 8} t |  |  \ } } } | j d |  | j d |  qW| j d |  t |  d } t |  | | | d t d | \ } } } | j   | |	 }	 | j   | |
 }
 | r| d 7} n d } | g } | g } qW| d | } t |  } | | d | d } t |  |  \ } } } |	 j	 |  } t |  |  \ } } } |	 j	 |  } |	 | | d !} |
 | | d !} | | } t |  | | | d t d | \ } } } | r| | d | | g | | f S| | } t |  } | | | d } t |  |  \ } } }  |	 j	 |  }! t |  |  \ }" }# }$ |	 j	 |"  }% |	 |! |% d !} |
 |! |% d !} | | d | | g | | f S(   s   To use for n>400 000 000i    i   i   R0   R1   (
   R\   R   R
   R   RA   R,   t   popt   extendR	   RN   (&   R   R   R1   t   sbt   number_goodblockst   m2R   R   R   t   Tft   Vft
   goodpointsR   R   t   znt   At   BR@   RO   RX   t   st   trt   vrt   brt   art   tst   vst   bst   as1t   qt   tqt   vqt   bqt   aqt   ttt   vtt   btt   at(    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   search_supergood_block   s    
		
			



	

		

*



	
*
c         C   sa   d } |  d } xJ t  d t |    D]3 } |  | } | | d k  rS | d 7} n  | } q& W| S(   Ni    i   (   R   R   (   R   t   countt   voldR   t   vnew(    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyR)   2  s    


c         C   s6  d } | d } | d } t  |  |  \ } } }	 d }
 d } x t | d | d  D] } t  |  |  \ } } } t |  } x* |
 | k  r | |
 | k r |
 d 7}
 q W| | |
 !} | j |  | j d |  t |  } | d | } | d k r
| d } n  |
 } | | | } } }	 qV W| d  } | S(   Nt   (i    i   s   %ss   )(i(   R   R   R   R
   R	   R)   (   R   t   blockR   R   R   R   R   R   R   t   b0R   RH   R   R   R   t   b1t   lgTt   LR{   (    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   pattern_construct<  s,    


c      	   C   s  t  |  } | d k  r, |  j |  j   S| d k rG t d   n  |  j } zt |  |  \ } } | |  _ | d k  r t |  |  \ } } }	 }
 n t |  | |  \ } } }	 }
 | d | d } t |  | |	 |
 d |  j	 d | \ }	 }
 } | rt
 |  | |	 |
  } n  t | |  } t |  | | |	 |
 |  } |  j d |  } Wd | |  _ X| rp| 
} n  | r| | | | f S| Sd S(	   s  
    Computes the `n`-th nontrivial zero of `\zeta(s)` on the critical line,
    i.e. returns an approximation of the `n`-th largest complex number
    `s = \frac{1}{2} + ti` for which `\zeta(s) = 0`. Equivalently, the
    imaginary part `t` is a zero of the Z-function (:func:`~mpmath.siegelz`).

    **Examples**

    The first few zeros::

        >>> from mpmath import *
        >>> mp.dps = 25; mp.pretty = True
        >>> zetazero(1)
        (0.5 + 14.13472514173469379045725j)
        >>> zetazero(2)
        (0.5 + 21.02203963877155499262848j)
        >>> zetazero(20)
        (0.5 + 77.14484006887480537268266j)

    Verifying that the values are zeros::

        >>> for n in range(1,5):
        ...     s = zetazero(n)
        ...     chop(zeta(s)), chop(siegelz(s.imag))
        ...
        (0.0, 0.0)
        (0.0, 0.0)
        (0.0, 0.0)
        (0.0, 0.0)

    Negative indices give the conjugate zeros (`n = 0` is undefined)::

        >>> zetazero(-1)
        (0.5 - 14.13472514173469379045725j)

    :func:`~mpmath.zetazero` supports arbitrarily large `n` and arbitrary precision::

        >>> mp.dps = 15
        >>> zetazero(1234567)
        (0.5 + 727690.906948208j)
        >>> mp.dps = 50
        >>> zetazero(1234567)
        (0.5 + 727690.9069482075392389420041147142092708393819935j)
        >>> chop(zeta(_)/_)
        0.0

    with *info=True*, :func:`~mpmath.zetazero` gives additional information::

        >>> mp.dps = 15
        >>> zetazero(542964976,info=True)
        ((0.5 + 209039046.578535j), [542964969, 542964978], 6, '(013111110)')

    This means that the zero is between Gram points 542964969 and 542964978;
    it is the 6-th zero between them. Finally (01311110) is the pattern
    of zeros in this interval. The numbers indicate the number of zeros
    in each Gram interval (Rosser blocks between parenthesis). In this case
    there is only one Rosser block of length nine.
    i    s   n must be nonzeroi i   R0   R1   g      ?N(   RV   t   zetazerot	   conjugatet
   ValueErrorRB   t   comp_fp_toleranceR   Rz   RA   R(   R   t   maxRR   RE   (   R   R   t   infot   roundt	   wpinitialRK   R1   R   R   R   R   R   R@   R   RB   R   R   (    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyR   T  s4    <		

c            s    d k r% d   j   d  } n d }   j } zf   j | 7_  d   j   j   d   j  }   j    f d   |  } t |  } Wd  |   _ X| S(   Ni
   i   i   i    i   c            s     j      j |  S(   N(   t   siegelthetat   pi(   R!   (   R   R   (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyR"     s    I rN	  (   RC   RB   R   R-   RV   (   R   R   R   RB   t   x0t   h(    (   R   R   s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt
   gram_index  s    	)
c         C   s   d } | d } | d } | d } d } xQ | | k  r} | | }	 | |	 d k  r` | d 7} n  |	 } | d 7} | | } q- W|  j  |  }
 |
 | d k  r | d 7} n  | S(   Ni    i   (   R   (   R   R   R   R   R{   R|   t   toldt   tnewR   R}   R   (    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   count_to  s     




c         C   sW   t  | |  j |   } | d d k  r2 d } n | d	 k rG d } n d } | | f S(
   Ni   i
   i   gMb@?i   g?id   i I @zZ  (   R   RC   (   R   R   RK   R1   (    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyR     s    		c      	   C   s  | d k  r d St  |  |  } t |  j |   } |  j } t |  |  \ } } | |  _ |  j |  } | d k r | d k  r d S| d k r | d k r d S| d d k  r t |  | d  } n t |  | d |  } | d \ }	 }
 |
 |	 d k rA| d d } | | d k r-| |  _ | d S| |  _ | d Sn  | \ } } } } |
 |	 } t |  | | | d |  j	 d	 | \ } } } t
 |  | | |  } | |  _ | |	 d S(
   s  
    Computes the number of zeros of the Riemann zeta function in
    `(0,1) \times (0,t]`, usually denoted by `N(t)`.

    **Examples**

    The first zero has imaginary part between 14 and 15::

        >>> from mpmath import *
        >>> mp.dps = 15; mp.pretty = True
        >>> nzeros(14)
        0
        >>> nzeros(15)
        1
        >>> zetazero(1)
        (0.5 + 14.1347251417347j)

    Some closely spaced zeros::

        >>> nzeros(10**7)
        21136125
        >>> zetazero(21136125)
        (0.5 + 9999999.32718175j)
        >>> zetazero(21136126)
        (0.5 + 10000000.2400236j)
        >>> nzeros(545439823.215)
        1500000001
        >>> zetazero(1500000001)
        (0.5 + 545439823.201985j)
        >>> zetazero(1500000002)
        (0.5 + 545439823.325697j)

    This confirms the data given by J. van de Lune,
    H. J. J. te Riele and D. T. Winter in 1986.
    g%fD,@i    ii   i   i i   R0   R1   (   R   RV   t   floorRB   R   R   R   Rz   RA   R(   R   (   R   R   R!   R   R   RK   R1   R   t   Rblockt   n1t   n2R   R   R   R   R   R   R@   R   (    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   nzeros  s@    %				
		c         C   s%   |  j  |  d |  j |  |  j S(   sw  
    Computes the function
    `S(t) = \operatorname{arg} \zeta(\frac{1}{2} + it) / \pi`.

    See Titchmarsh Section 9.3 for details of the definition.

    **Examples**

        >>> from mpmath import *
        >>> mp.dps = 15; mp.pretty = True
        >>> backlunds(217.3)
        0.16302205431184

    Generally, the value is a small number. At Gram points it is an integer,
    frequently equal to 0::

        >>> chop(backlunds(grampoint(200)))
        0.0
        >>> backlunds(extraprec(10)(grampoint)(211))
        1.0
        >>> backlunds(extraprec(10)(grampoint)(232))
        -1.0

    The number of zeros of the Riemann zeta function up to height `t`
    satisfies `N(t) = \theta(t)/\pi + 1 + S(t)` (see :func:nzeros` and
    :func:`siegeltheta`)::

        >>> t = 1234.55
        >>> nzeros(t)
        842
        >>> siegeltheta(t)/pi+1+backlunds(t)
        842.0

    i   (   R   R   R   (   R   R   (    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt	   backlunds#  s    $i i s   (00)3iaidiis   3(00)i=i=ioioiKiNi'i'iDiDi5i5i"i"i͜JiМJi+di.diOeiRei6٧i:٧s   (00)40i(i(iR4yiU4yiýiýieieiii2 i5 i^RiaRi(i(iL=iO=iGi"Givi"viiiii	Ui	Ui_i_ieieihihi$.i'.i;i;iii~)i~)i<i
<i@i@iZDi]DipNisNibibi(i(iiivxiyxiiikini7/i:/i(7i(7ioEirEiOeIiReIipipi5i5iiiEŵiHŵi:i=i#i&i	i	i.	i1	i	iÁ	i&&	i)&	iĺ?	iǺ?	iϴB	iҴB	i_	i_	i_	i_	i&g	i&g	itqo	iwqo	i		i		ic	if	i=	i=	iv	iv	i	i	id	ig	iL
	iO
	i;
i;
i0
i0
iS'
iV'
i,
i,
i@
i@
i1T
i1T
i[
i[
i`
i`
i`c
i`c
if
if
i!y
i!y
iՊ
iՊ
i
i
i
i
iWC
iZC
i>h
iAh
i[b
i^b
i
i
s   22(00)iǂ
iʂ
it4diw4dididififs   (00)22iyiyiiiךiךi׬i׬isisiii
i
iZi]ititiii!i!i{i{i"i%iyiyi{i~iiiii=&i=&i|Ei|EiwLizLiYiYioYirYi]i]s   3(010)i$`i'`ififiˁgi΁gib|ie|i`i`i3i6iii߀ii(>i+>iOiRiiiiÀiii
i
ie
ih
ijimi.Wi1Wi0`i3`i)T/i,T/i	SiSiXiXi]Yi`Yi<Ngi@Ngimimiii*i-iwiwi_ibi٤i٤iii=gi@gi#i#iii`~ic~ib
ie
i?iBi<i?i7(i7(s   04(00)i//Ni2/Niz|Qi}|QiNciNcs   (010)3i˾eiξeihihiDhiGhihʇikʇiiiiiiiiiliЦiЦiS;iV;i ii%i(iii-i0i'i*i55i55iZ7iZ7i"Mi"Mi`i`iSgiWgiti ti?iBiviviii"Ai%Aikiki#i&iiiii0i0i[i^iXi[iR%iR%iO'iR'iz7i}7iaI?idI?i!Wi$WiKYiNYihihi}li}lioqirqihrikriyiyiiiii(i(i$
i'
im(ip(i[i^iѓiԓiqxitxi@QiCQiSiSiCiFie,ih,iw)iz)iߥii8i;iiiiiiic!if!i'i'i(i(i:6i:6iJiJiOiOi]^i`^iqsitsiexihxi&|i)|i"i"ibibiiiiiAiDiiiaiaiiiii i i1!i1!iʺ*iκ*iP2iS2i.Ii.Ii;Mi;MiSiSididijnimniiiɭi̭iIiLiii !i!iڜiڜikiki*i*iiiiiiili'Di*Diii~ii)i,iFiIiK\iN\izB-i}B-i*Vi*VimimixixiPyiSyi׸iڸi$Îi'Îiĩiǩiϐiϐiiiiimipi5i5i%i%i>KiAKi{~i~~iViYiHiHiii*i*iiiii3i6iiiiiY#iY#i#i#i$i$iNgiQgidligliůiůipipi\i\i׊iڊiNiQiiiiiAiAi	.i.i2i2ipipiii i iii'*i**iZ35i^35i<7i<7i'=i*=iAiAiEiEiEiEiPUiPUi{Xi{Xi fifiiiniri1i1i @i@iii?i?iiiii*i-i$i$s   04(010)i9i<i i iImiLmisisiІ4iԆ4iZ6i]6i;i;iBiBicici
vi
vidzidzi}i}i8i8i5i5ixi{iʯiʯiGSiJSiiiQNiTNipipiiizi~iii6i6i} i} iViVi/i/iMo%iPo%i*i*i-i-iA@iA@iNAiRAiGCiJCizXizXi'\i*\i\i\i'li'li1li4lifrifriTKxiWKxi|i|i꣗iiљiљiiiiiii2ji5jiۣii	]i]s   032(00)i΄c,iӄc,s   (010)40iӹ,iӹ,i9i9i%:i%:s   (00)410iw;iw;it?it?s   (00)230iqHivHi}Ji}JiQiQN(   t   __doc__t	   functionsR    R   R   R   R'   RA   RR   R\   R   R,   Rz   R)   R   R.   R/   R   R   R   R   R   R   R   (    (    (    s9   lib/python2.7/site-packages/mpmath/functions/zetazeros.pyt   <module>   s*  	#	E	%		
	h	
	[			
HV