#29709 closed defect (fixed)

Frobenius on elliptic curves in Weierstrass form

Reported by: jen Owned by:
Priority: minor Milestone: sage-9.2
Component: number theory Keywords: padics, elliptic curves
Cc: roed, edgarcosta Merged in:
Authors: Alex J. Best Reviewers: Kiran Kedlaya
Report Upstream: N/A Work issues:
Branch: 3a39e96 (Commits, GitHub, GitLab) Commit: 3a39e9628694f8f74020cbe31257800a05028a46
Dependencies: Stopgaps:

Status badges

Description

The code for computing Frobenius on a point on an elliptic curve over a p-adic field would like the elliptic curve to be in the form y2 = f(x). So it should raise an error if one of a_1 or a_3 is not zero, but instead it checks if one of a_1 or a_2 is not zero:

sage: E = EllipticCurve([0,1,0,1,1])
sage: E
Elliptic Curve defined by y^2 = x^3 + x^2 + x + 1 over Rational Field
sage: EK = E.change_ring(Qp(7,10))
sage: EK.frobenius(EK(1,2))
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-4-77549f6ac826> in <module>()
----> 1 EK.frobenius(EK(Integer(1),Integer(2)))

/ext/sage/sage-8.9_1804/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_padic_field.pyc in frobenius(self, P)
     71             a1, a2, a3, a4, a6 = self.a_invariants()
     72             if a1 != 0 or a2 != 0:
---> 73                 raise NotImplementedError("Curve must be in weierstrass normal form.")
     74 
     75             f = x*x*x + a2*x*x + a4*x + a6

NotImplementedError: Curve must be in weierstrass normal form.

Note that one can work around this by pretending the elliptic curve is a hyperelliptic curve:

sage: R.<x> = QQ['x']
sage: H = HyperellipticCurve(x^3 + x^2 + x + 1)
sage: HK = H.change_ring(Qp(7,10))
sage: HK.frobenius(HK(1,2))
(1 + O(7^10) : 2 + O(7^10) : 1 + O(7^10))

so this isn't urgent, but it'd be nice to fix.

Change History (5)

comment:1 Changed 15 months ago by alexjbest

  • Branch set to u/alexjbest/29709

comment:2 Changed 15 months ago by alexjbest

  • Authors set to Alex J. Best
  • Commit set to 3a39e9628694f8f74020cbe31257800a05028a46
  • Keywords padics elliptic curves added
  • Status changed from new to needs_review

New commits:

3a39e96fix 29709 by checking correct a invariant

comment:3 Changed 15 months ago by kedlaya

  • Reviewers set to Kiran Kedlaya

Looks fine to me. Once patchbot comes up green, you can set this to positive review.

comment:4 Changed 15 months ago by alexjbest

  • Status changed from needs_review to positive_review

Thanks!

Last edited 15 months ago by alexjbest (previous) (diff)

comment:5 Changed 14 months ago by vbraun

  • Branch changed from u/alexjbest/29709 to 3a39e9628694f8f74020cbe31257800a05028a46
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.