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

compute ℓ-division fields for elliptic curves over finite fields #33939

Closed
yyyyx4 opened this issue May 31, 2022 · 13 comments
Closed

compute ℓ-division fields for elliptic curves over finite fields #33939

yyyyx4 opened this issue May 31, 2022 · 13 comments

Comments

@yyyyx4
Copy link
Member

yyyyx4 commented May 31, 2022

EllipticCurve_number_field has a .division_field() method to compute the smallest field of definition of E[ℓ] for primes .

This patch generalizes the .division_field() method to finite fields, where the same algorithm works with minor adaptions.

The only nontrivial changes are in this commit: sagemath/sagetrac-mirror@731011c

Depends on #33937

CC: @defeo @JohnCremona @categorie

Component: elliptic curves

Author: Lorenz Panny

Branch/Commit: 3be7fe8

Reviewer: Travis Scrimshaw, John Cremona

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

@yyyyx4 yyyyx4 added this to the sage-9.7 milestone May 31, 2022
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2022

Changed commit from 308d5e1 to 6b7dbcd

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2022

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

3b6be5fuse tuple syntax for finite-field constructor
4789d59move .division_field() up to EllipticCurve_field
731011csupport finite fields in .division_field()
6b7dbcdrename p->l to avoid confusion with characteristic

@yyyyx4

This comment has been minimized.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

e740b22remove unused import

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 31, 2022

Changed commit from 6b7dbcd to e740b22

@tscrim
Copy link
Collaborator

tscrim commented Jun 16, 2022

comment:4

LGTM modulo documentation changes:

-        - ``\ell`` -- a prime number (an element of `\ZZ`).
-
-        - ``names`` -- (default: ``t``) a variable name for the division field.
-
+        - ``\ell`` -- a prime number (an element of `\ZZ`)
+        - ``names`` -- (default: ``t``) a variable name for the division field
         - ``map`` -- (default: ``False``) also return an embedding of
-          the :meth:`base_field` into the resulting field.
-
         - ``kwds`` -- additional keywords passed to
-          :func:`~sage.rings.polynomial.polynomial_element.Polynomial.splitting_field`.
+          :func:`~sage.rings.polynomial.polynomial_element.Polynomial.splitting_field`

@tscrim
Copy link
Collaborator

tscrim commented Jun 16, 2022

Reviewer: Travis Scrimshaw

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2022

Changed commit from e740b22 to 3be7fe8

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 16, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

f13b6efMerge tag '9.7.beta2' into public/generalize_elliptic_curve_division_field_to_finite_fields
247381bdoc tweaks
3be7fe8move default value to argument list, where it belongs

@yyyyx4
Copy link
Member Author

yyyyx4 commented Jun 16, 2022

comment:7

Thanks. Done, plus a few other small tweaks.

@JohnCremona
Copy link
Member

Changed reviewer from Travis Scrimshaw to Travis Scrimshaw, John Cremona

@JohnCremona
Copy link
Member

comment:8

Looks good to me.

I was wondering whether (over any base field) it would be worthwhile first going up to the ell'th cyclotomic extension of the base field since the ell-splitting field will contain that. But that would take some experimentation, and should not be on this ticket.

@vbraun
Copy link
Member

vbraun commented Jun 19, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants