-
-
Notifications
You must be signed in to change notification settings - Fork 527
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
multiplication_by_m_isogeny is only correct up to automorphism #32490
Comments
This comment has been minimized.
This comment has been minimized.
New commits:
|
Commit: |
Stopgaps: mathematically_wrong |
Author: Lorenz Panny |
comment:4
Replying to @tscrim:
I was worried that #32388 might take a while to get in, which could cause this (in principle, totally unrelated) bug to remain unfixed for no good reason if there was a dependency. Hence why I figured the best way to proceed would be to first apply this minimal bugfix and pursue the longer-term solution based on |
Changed stopgaps from mathematically_wrong to none |
Reviewer: Travis Scrimshaw |
comment:5
Then let's get the bug-fix in. |
comment:6
Now that #32388 is also green, this will almost certainly cause test failures when both are merged (since this currently uses a method deprecated in #32388). What's the recommended way of dealing with this? Should I rebase this onto #32388 using the new syntax and add a dependency after all? |
comment:7
Sounds like you should make this depend on #32388. |
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. This was a forced push. Last 10 new commits:
|
comment:9
Rebased and adapted to the new syntax. (Only the last commit is relevant here; the rest are from #32388.) |
Dependencies: #32388 |
comment:10
LGTM. Thanks. |
comment:11
Bumping priority since this bug can lead to mathematical errors. |
Changed branch from public/pick_correct_isomorphism_in_multiplication_by_m_isogeny to |
This is wrong:
It isn't consistently wrong:
The trouble is that the method first constructs an isogeny with the correct kernel and codomain, then sets the precomputed rational maps. However, the isomorphism to the prescribed codomain is not unique, and picking the wrong one means the resulting isogeny is off by an automorphism — most commonly
[-1]
.The patch is not pretty, but it seems to fix the issue for now and shouldn't cause any significant slowdowns.
Once (if) #32388 gets in, we should probably instead use an
EllipticCurveHom
subclass specifically for scalar multiplications that imitates a normal isogeny but with different internals. I do have a draft of this ready and it's not only much cleaner, but also resolves part of #8014.Depends on #32388
CC: @JohnCremona @defeo
Component: elliptic curves
Author: Lorenz Panny
Branch/Commit:
ead071d
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/32490
The text was updated successfully, but these errors were encountered: