def zeros_in_interval(self, x, y, stepsize): r""" Return the imaginary parts of (most of) the nontrivial zeros on the critical line `\Re(s)=1` with positive imaginary part between ``x`` and ``y``, along with a technical quantity for each. INPUT: - ``x``-- positive floating point number - ``y``-- positive floating point number - ``stepsize`` -- positive floating point number OUTPUT: - list of pairs ``(zero, S(T))``. Rubinstein writes: The first column outputs the imaginary part of the zero, the second column a quantity related to ``S(T)`` (it increases roughly by 2 whenever a sign change, i.e. pair of zeros, is missed). Higher up the critical strip you should use a smaller stepsize so as not to miss zeros. EXAMPLES:: sage: E = EllipticCurve('37a') sage: E.lseries().zeros_in_interval(6, 10, 0.1) # long time [(6.87039122, 0.248922780), (8.01433081, -0.140168533), (9.93309835, -0.129943029)] """ from sage.lfunctions.lcalc import lcalc return lcalc.zeros_in_interval(x, y, stepsize, L=self.__E)
def zeros_in_interval(self, x, y, stepsize): r""" Return the imaginary parts of (most of) the nontrivial zeros on the critical line $\Re(s)=1$ with positive imaginary part between $x$ and $y$, along with a technical quantity for each. INPUT: x, y, stepsize -- positive floating point numbers OUTPUT: list of pairs (zero, S(T)). Rubinstein writes: The first column outputs the imaginary part of the zero, the second column a quantity related to S(T) (it increases roughly by 2 whenever a sign change, i.e. pair of zeros, is missed). Higher up the critical strip you should use a smaller stepsize so as not to miss zeros. EXAMPLES:: sage: E = EllipticCurve('37a') sage: E.lseries().zeros_in_interval(6, 10, 0.1) # long time [(6.87039122, 0.248922780), (8.01433081, -0.140168533), (9.93309835, -0.129943029)] """ from sage.lfunctions.lcalc import lcalc return lcalc.zeros_in_interval(x, y, stepsize, L=self.__E)