As a workaround you probably can use analytic rank
E.analytic_rank(leading_coefficient=1)
(5, 3634.28250646374195)
The second number is the value of first non-vanishing derivative.
If you need more precision, you can set the precision in pari/gp
and do:  gp.ellanalyticrank(gp(E)) -- it returns the leading
coefficient working with pari's realprecision and if needed
specified epsilon.

Probably another issue:
            Sha = Integer(round ( (L1 * T * T) / (E.tamagawa_product() * 
regulator * omega) ))
            try:
                Sha = Integer(Sha)
           except ValueError:


I think you can't throw in try: since Sha is already integer.



On Wed, Oct 16, 2013 at 02:34:33PM +0100, John Cremona wrote:
> On 16 October 2013 13:54, Georgi Guninski <gunin...@guninski.com> wrote:
> > After debugging this I saw the problem.
> > In sha_tate.py:410
> > you consider the first derivative non-zero and use it
> > in computations, while in practice it is zero
> > (e-15 vs error_bound=e-25).
> 
> This looks like a bug to me.  Even with more work:
> 
> 
> sage: L1, error_bound = E.lseries().deriv_at1(100*sqrt(E.conductor()) + 10)
> sage: abs(L1) , error_bound
> (1.94655218772191e-15, 1.82478252135394e-270)
> 
> We seem to be very confident that L'(1) is nonzero, so the code which
> then runs uses this presumed nonzero value in a formula which expects
> to compute an integer, so it rounds it, but in this case it is
> computing 0 approximately and then rounds to 0.
> 
> The problem is that the function E.lseries().deriv_at_1() uses Python
> floats, which is insufficient.  It is better to use
> E.lseries().dokchitser(prec=...):  the prec parameter is by default 53
> bits but can be increased.
> 
> 
> sage: E.lseries().dokchitser().derivative(1,1)
> 1.80716657412868e-23
> sage: E.lseries().dokchitser(prec=100).derivative(1,1)
> 3.2664255659421097770000000000e-39
> sage: log(_,2)
> -127.84748293607692539561741115
> 
> which I think means that to 100 bits the result is less than 2^-127.
> 
> The Sha function should be rewritten to use this.  I will open a trac
> ticket for this.
> 
> John Cremona
> 
> 
> 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to