-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
scalar-multiplication endomorphisms of elliptic curves #32826
Comments
Commit: |
Last 10 new commits:
|
Author: Lorenz Panny |
This comment has been minimized.
This comment has been minimized.
comment:2
This is a great idea. Why not just call these endomorphisms, i.e. call the class something like EllipticCurveEndomorphism instead of EllipticCurveHom_scalar? I don' know if there is a plan to late include more general endomorphisms (CM in char. 0, and both the ordinary and supersingular possibilities in char.p), but even if we are not going to implement those now, we could set it up to that the class EllipticCurveEndomorphism exists and (say) EllipticCurveScalarEndomorphism is a subclass doing what this class EllipticCurveHom_scalar does. |
comment:3
Thank you, that's a very good remark! I can see that there are several ways to "slice up" the space of objects we're trying to model here. My reasoning was the following (very much up for discussion):
I imagine that this design will make it relatively straightforward to implement things like computing endomorphism rings (#31851), or embedding a bunch of explicitly given Let me know if this makes sense. :-) |
comment:4
It makes perfect sense -- I am very happy to see all this being implemented (or at least some of it), and not by me! |
comment:5
Stalled in |
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
comment:24
I've been constantly rebasing this branch for more than a year now — not trying to be annoying, but is there a chance we could finally get it merged? I'd like to build more functionality on top of this (and #33915), but dragging around a bunch of unmerged tickets as dependencies slows down any development effort considerably. |
comment:25
I see that I looked at this in some detail a year ago, so I will do so again. |
comment:26
Some minor (and quick) suggestions, as this looks very good. In the Having done this you can simplify Do this and you'll get a positive review! |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Reviewer: John Cremona |
comment:30
Thanks a lot for reviewing this (indeed rather long) patch! Replying to John Cremona:
Indeed, well spotted.
I agree for |
comment:31
You are right, of course. When we have |
Changed branch from public/scalar_elliptic_curve_endomorphisms to |
This ticket adds
EllipticCurveHom_scalar
, a new class encapsulating scalar multiplications on elliptic curves. This serves two main purposes:EllipticCurveIsogeny
objects faster to create via lazy evaluation #8014 (fastermultiplication_by_m_isogeny
).EllipticCurveHom
is an important step towards implementing endomorphism rings (see Meta-ticket: Further work on isogenies and endomorphisms of elliptic curves #7368).We also deprecate
.multiplication_by_m_isogeny()
: It should be replaceable by.scalar_multiplication()
in all cases.Depends on #32502
Depends on #32744
Depends on #33865
CC: @defeo @JohnCremona @tscrim @videlec @fchapoton @kwankyu
Component: elliptic curves
Author: Lorenz Panny
Branch/Commit:
884263e
Reviewer: John Cremona
Issue created by migration from https://trac.sagemath.org/ticket/32826
The text was updated successfully, but these errors were encountered: