Opened 10 years ago

Closed 10 years ago

#9127 closed defect (fixed)

BSD.py doctest failure due to timeout of Heegner index computation.

Reported by: drkirkby Owned by: cremona
Priority: blocker Milestone: sage-4.4.4
Component: elliptic curves Keywords:
Cc: robertwb, rlm, was, jhpalmieri Merged in: sage-4.4.4.alpha1
Authors: Robert Miller Reviewers: John Cremona, David Kirkby
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

This failure seems remarkably close to #8749, which is closed as fixed, but this is the same sort of problem on the same doctest. Note, changing SAGE_TIMOUT will not change this, as it appears (to me at least), Sage is switching from one algorithm to another in a time which is independent of the processor speed or settings of any timeout variables.

Hardware & associated software

  • Sun Blade 1000
  • 2 x 900 MHz UltraSPARC III+ CPUs
  • 2 GB RAM
  • Solaris 10 03/2005 (first release of Solaris 10)
  • gcc 4.4.3 (uses Sun linker and assembler)

Sage version

  • 4.4.3.alpha0 and 4.4.3.alpha1

The test failure

A full log of all tests can be found at

http://boxen.math.washington.edu/home/kirkby/sage-4.4.3.alpha0-Sun-Blade-1000-900MHz-Solaris-10-ptestlong.log.gz

(There are 3 failures, but I believe the other two are common to more than one platform and work is progressing on them)

I would expect to see this fail the same way on 't2' as 't2' is slower on single threaded tasks than the Blade 1000.

sage -t  -long devel/sage/sage/schemes/elliptic_curves/BSD.py
**********************************************************************
File "/export/home/drkirkby/sage-4.4.3.alpha1/devel/sage-main/sage/schemes/elliptic_curves/BSD.py", line 377:
    sage: E.prove_BSD(verbosity=2)               # long time
Expected:
    p = 2: True by 2-descent...
    True for p not in {2, 3} by Kolyvagin.
    ALERT: p = 3 left in Kolyvagin bound
        0 <= ord_p(#Sha) <= 2
        ord_p(#Sha_an) = 2
    Remaining primes:
    p = 3: irreducible, surjective, non-split multiplicative
        (0 <= ord_p <= 2)
    [3]
Got:
    p = 2: True by 2-descent
    Timeout stopped Heegner index computation...
    Proceeding to use heegner_index_bound instead.
    True for p not in {2, 3} by Kolyvagin.
    p = 3 may divide the Heegner index, for which only a bound was computed.
    ALERT: p = 3 left in Kolyvagin bound
        0 <= ord_p(#Sha) <= 2
        ord_p(#Sha_an) = 2
    Remaining primes:
    p = 3: irreducible, surjective, non-split multiplicative
        (0 <= ord_p <= 2)
    [3]
**********************************************************************
1 items had failures:
   1 of  35 in __main__.example_6
***Test Failed*** 1 failures.
For whitespace errors, see the file /export/home/drkirkby/.sage//tmp/.doctest_BSD.py
         [132.1 s]

Attachments (1)

trac_9127.patch (862 bytes) - added by rlm 10 years ago.

Download all attachments as: .zip

Change History (13)

comment:1 Changed 10 years ago by was

  • Milestone changed from sage-4.4.4 to sage-4.4.3

comment:2 Changed 10 years ago by was

  • Milestone changed from sage-4.4.3 to sage-4.4.4

comment:3 Changed 10 years ago by rlm

  • Status changed from new to needs_review

comment:4 Changed 10 years ago by cremona

  • Authors set to Robert Miller
  • Reviewers set to John Cremona
  • Status changed from needs_review to needs_work

This one confuses me. Before I apply the patch, the file passes long tests for me (ubuntu 64-bit, on 4.4.3). But after the patch it does not:

sage -t -long "sage/schemes/elliptic_curves/BSD.py"         
**********************************************************************
File "/storage/jec/sage-4.4.3/devel/sage-tests/sage/schemes/elliptic_curves/BSD.py", line 377:
    sage: E.prove_BSD(verbosity=2)               # long time
Expected:
    p = 2: True by 2-descent
    ...
    True for p not in {2, 3} by Kolyvagin.
    ...
    ALERT: p = 3 left in Kolyvagin bound
        0 <= ord_p(#Sha) <= 2
        ord_p(#Sha_an) = 2
    Remaining primes:
    p = 3: irreducible, surjective, non-split multiplicative
        (0 <= ord_p <= 2)
    [3]
Got:
    p = 2: True by 2-descent
    True for p not in {2, 3} by Kolyvagin.
    ALERT: p = 3 left in Kolyvagin bound
        0 <= ord_p(#Sha) <= 2
        ord_p(#Sha_an) = 2
    Remaining primes:
    p = 3: irreducible, surjective, non-split multiplicative
        (0 <= ord_p <= 2)
    [3]
**********************************************************************

So whether or not the patch fixes things on some systems, it breaks others, so cannot be included.

Changed 10 years ago by rlm

comment:5 Changed 10 years ago by rlm

  • Status changed from needs_work to needs_review

comment:6 follow-up: Changed 10 years ago by drkirkby

  • Owner changed from cremona to drkirkby
  • Reviewers changed from John Cremona to John Cremona, David Kirkby

The patch results in the test passing on the Sun Blade 1000 where the test originally failed.

drkirkby@redstart:~/sage-4.4.3.alpha3$ ./sage -t  -long devel/sage/sage/schemes/elliptic_curves/BSD.py
sage -t -long "devel/sage/sage/schemes/elliptic_curves/BSD.py"
         [135.0 s]
 
----------------------------------------------------------------------
All tests passed!
Total time for all tests: 135.0 seconds

I would be tempted to give it a positive review, though the fact John had a problem, it would be wise to wait and see if he has any further comments. But the changes look OK to me and it solves the problem.

Dave

comment:7 Changed 10 years ago by drkirkby

  • Owner changed from drkirkby to cremona

comment:8 Changed 10 years ago by drkirkby

Once this issue is resolved (and it looks like it will be very soon), #8409 can be closed.

Dave

comment:9 in reply to: ↑ 6 Changed 10 years ago by rlm

Replying to drkirkby:

I would be tempted to give it a positive review, though the fact John had a problem, it would be wise to wait and see if he has any further comments. But the changes look OK to me and it solves the problem.

Dave

I think all of the issues with this ticket have been resolved.

comment:10 Changed 10 years ago by drkirkby

  • Status changed from needs_review to positive_review

In which case, positive review. I'm happy with it.

comment:11 Changed 10 years ago by cremona

I am happy. (I thought I had reviewed the new patch, but maybe I was dreaming!)

comment:12 Changed 10 years ago by mhansen

  • Merged in set to sage-4.4.4.alpha1
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.