Opened 5 years ago

Closed 5 years ago

#21093 closed defect (wontfix)

Unhandled case in EllipticCurve_from_cubic()

Reported by: cremona Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: elliptic curves Keywords:
Cc: Merged in:
Authors: Reviewers: Leif Leonhardy
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

I ran into an unexpected error in EllipticCurve_from_cubic, with the following cubic and rational point:

R.<x,y,z> = QQ[]
cubic = -3*x^2*y + 3*x*y^2 + 4*x^2*z + 4*y^2*z - 3*x*z^2 + 3*y*z^2 - 8*z^3
EllipticCurve_from_cubic(cubic, (-4/5, 4/5, 3/5))

Note that it works as expected using instead the different rational point (1, 1, 0).

On investigation, I found there is a case that isn’t handled correctly. The code computes

P2 = chord_and_tangent(F, P)

and if P2 is projectively equivalent to P then it uses a different algorithm. If they’re different, it then computes

P3 = chord_and_tangent(F, P2)

and uses an algorithm that fails if P3 is equivalent to P2.

I think the attached patch fixes this problem. At least, with this patch it now works for my examples.


(From sage-devel.)

Attachments (1)

constructor.py.patch (2.4 KB) - added by leif 5 years ago.
Patch by Robin Houston as posted on sage-devel.

Download all attachments as: .zip

Change History (4)

Changed 5 years ago by leif

Patch by Robin Houston as posted on sage-devel.

comment:1 Changed 5 years ago by leif

  • Milestone changed from sage-7.3 to sage-duplicate/invalid/wontfix
  • Status changed from new to needs_review

Duplicate of #21092 (although there the patch isn't attached).

comment:2 Changed 5 years ago by leif

  • Authors Robin Houston deleted
  • Reviewers set to Leif Leonhardy
  • Status changed from needs_review to positive_review

comment:3 Changed 5 years ago by embray

  • Resolution set to wontfix
  • Status changed from positive_review to closed

Determined to be invalid/duplicate/wontfix (closing as "wontfix" as a catch-all resolution).

Note: See TracTickets for help on using tickets.