Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retrieving the multiplication-by-p isogeny on elliptic curves over fields of characteristic p fails. #6413

Closed
unzvfu opened this issue Jun 25, 2009 · 1 comment · Fixed by #37096

Comments

@unzvfu
Copy link

unzvfu commented Jun 25, 2009

sage: p = 11
sage: E = EllipticCurve(GF(p), [1,1])
sage: E.multiplication_by_m(p)
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)

/Users/hlaw/.sage/temp/resid_tg082.upc.es/80890/_Users_hlaw__sage_init_sage_0.py in <module>()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/ell_generic.pyc in multiplication_by_m(self, m, x_only)
   2133         #  and hence 2*my+a1*mx+a3 = (1/m)*(2*y+a1*x+a3)*d(mx)/dx
   2134 
-> 2135         my = ((2*y+a1*x+a3)*mx.derivative(x)/m - a1*mx-a3)/2
   2136 
   2137         return mx, my

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__div__ (sage/structure/element.c:10361)()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/structure/coerce.so in sage.structure.coerce.CoercionModel_cache_maps.bin_op (sage/structure/coerce.c:6105)()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/structure/element.so in sage.structure.element.RingElement.__div__ (sage/structure/element.c:10342)()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/rings/fraction_field_element.so in sage.rings.fraction_field_element.FractionFieldElement._div_ (sage/rings/fraction_field_element.c:5805)()

/Users/hlaw/src/sage-4.0.1/local/lib/python2.5/site-packages/sage/rings/fraction_field_element.so in sage.rings.fraction_field_element.FractionFieldElement.__init__ (sage/rings/fraction_field_element.c:1954)()

ZeroDivisionError: fraction field element division by zero

One can see from the line that causes the error that the calculation of the y-component of the isogeny involves a division by m, which in this case is the characteristic of the ground field.

CC: @defeo @jpflori @yyyyx4

Component: elliptic curves

Issue created by migration from https://trac.sagemath.org/ticket/6413

@unzvfu unzvfu added this to the sage-5.11 milestone Jun 25, 2009
@JohnCremona
Copy link
Member

comment:1

I wrote the offending line of code, knowing full well that it would not work in the inseparable case. I may or may not have made a ticket at the time, but likely not.

When someone writes code to deal with the inseparable case, just make sure that it continues to be efficient in the separable case!

@jdemeyer jdemeyer modified the milestones: sage-5.11, sage-5.12 Aug 13, 2013
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.1, sage-6.2 Jan 30, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.2, sage-6.3 May 6, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@mkoeppe mkoeppe removed this from the sage-6.4 milestone Dec 29, 2022
vbraun pushed a commit to vbraun/sage that referenced this issue Feb 11, 2024
… characteristic (sagemath#6413)

    
*Almost* fixes sagemath#6413 - doesn't work for function fields

Compute pth multiplication coordinate maps by using isogenies.

The multivariate substitution step is VERY slow, and I don't know how to
fix it. I think the reason might also be the elements live in the
fraction field.

Thanks @yyyyx4 for the idea! #sd123 🚀
    
URL: sagemath#37096
Reported by: grhkm21
Reviewer(s): grhkm21, Lorenz Panny
@vbraun vbraun closed this as completed in 2fe08b6 Feb 13, 2024
yyyyx4 added a commit to yyyyx4/sage that referenced this issue Feb 14, 2024
yyyyx4 added a commit to yyyyx4/sage that referenced this issue Feb 14, 2024
vbraun pushed a commit to vbraun/sage that referenced this issue Feb 18, 2024
…ctest

    
The long-standing issue sagemath#6413 was resolved in sagemath#37096, but there is still
one `# known bug` marker for it in
`src/sage/schemes/elliptic_curves/hom_scalar.py`. Let's remove it.

(Incidentally, the claimed output for the invocation that used to not
work was slightly wrong, too.)
    
URL: sagemath#37328
Reported by: Lorenz Panny
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this issue Feb 19, 2024
…ctest

    
The long-standing issue sagemath#6413 was resolved in sagemath#37096, but there is still
one `# known bug` marker for it in
`src/sage/schemes/elliptic_curves/hom_scalar.py`. Let's remove it.

(Incidentally, the claimed output for the invocation that used to not
work was slightly wrong, too.)
    
URL: sagemath#37328
Reported by: Lorenz Panny
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this issue Feb 22, 2024
…ctest

    
The long-standing issue sagemath#6413 was resolved in sagemath#37096, but there is still
one `# known bug` marker for it in
`src/sage/schemes/elliptic_curves/hom_scalar.py`. Let's remove it.

(Incidentally, the claimed output for the invocation that used to not
work was slightly wrong, too.)
    
URL: sagemath#37328
Reported by: Lorenz Panny
Reviewer(s):
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants