Opened 2 years ago

Closed 9 months ago

#13163 closed defect (fixed)

E.minimal_model() crashes with large coefficients.

Reported by: weigandt Owned by: cremona
Priority: major Milestone: sage-6.1
Component: elliptic curves Keywords: minimal model
Cc: Merged in:
Authors: Jeroen Demeyer Reviewers: John Cremona
Report Upstream: N/A Work issues:
Branch: u/jdemeyer/ticket/13163 (Commits) Commit: 6092e94a35148a4d1b82d32c0ed945fea634d009
Dependencies: Stopgaps:

Description

This code

E=EllipticCurve([4382696457564794691603442338788106497, 28, 3992, 16777216, 298])
E.minimal_model()

Spits out this error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_23.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("RT1FbGxpcHRpY0N1cnZlKFs0MzgyNjk2NDU3NTY0Nzk0NjkxNjAzNDQyMzM4Nzg4MTA2NDk3LCAyOCwgMzk5MiwgMTY3NzcyMTYsIDI5OF0pCkUubWluaW1hbF9tb2RlbCgp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpQWTtgb/___code___.py", line 4, in <module>
    exec compile(u'E.minimal_model()
  File "", line 1, in <module>
    
  File "/sagenb/sage_install/sage-5.0-boxen-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py", line 2552, in minimal_model
    F = self.pari_mincurve()
  File "/sagenb/sage_install/sage-5.0-boxen-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py", line 713, in pari_mincurve
    e = self.pari_curve(prec)
  File "/sagenb/sage_install/sage-5.0-boxen-x86_64-Linux/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py", line 664, in pari_curve
    self._pari_curve[prec] = pari(list(self.a_invariants())).ellinit(precision=prec)
  File "gen.pyx", line 10416, in sage.libs.pari.gen._pari_trap (sage/libs/pari/gen.c:49843)
sage.libs.pari.gen.PariError: precision too low (10)

It looks like the precision needs to be increased when such a large curve is fed to PARI's minimal model algorithm.

Change History (5)

comment:1 Changed 14 months ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:2 Changed 9 months ago by jdemeyer

  • Branch set to u/jdemeyer/ticket/13163
  • Created changed from 06/25/12 11:04:12 to 06/25/12 11:04:12
  • Modified changed from 08/13/13 08:35:53 to 08/13/13 08:35:53

comment:3 Changed 9 months ago by jdemeyer

  • Authors set to Jeroen Demeyer
  • Commit set to 6092e94a35148a4d1b82d32c0ed945fea634d009
  • Status changed from new to needs_review

New commits:

6092e94Increase precision if needed in E.pari_curve()

comment:4 Changed 9 months ago by cremona

  • Reviewers set to John Cremona
  • Status changed from needs_review to positive_review

I think I might have been the person who first implemented the variable precision for pari curve construction, and did not do a perfect job. This looks pretty good to me.

comment:5 Changed 9 months ago by vbraun

  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.