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

implement Bröker's algorithm for constructing supersingular curves #36665

Merged
merged 3 commits into from
Dec 10, 2023

Conversation

yyyyx4
Copy link
Member

@yyyyx4 yyyyx4 commented Nov 6, 2023

In this patch, we add a function special_supersingular_curve() to construct a supersingular elliptic curve defined over a given $\mathbb F_p$ having a small-degree endomorphism which anticommutes with Frobenius. The function optionally constructs and returns the endomorphism as an explicit isogeny; this should prove useful later when we have better tools for endomorphism rings.

Bröker's algorithm is both the standard approach for finding a supersingular elliptic curve in given characteristic, as well as part of the setup for several algorithms dealing with endomorphism rings: The special endomorphism together with Frobenius forms a generating set of the endomorphism algebra.

Cc: @JohnCremona @defeo @GiacomoPope @remyoudompheng

@JohnCremona
Copy link
Member

I amde a couple of comments, not in a formal review (yet).

@yyyyx4
Copy link
Member Author

yyyyx4 commented Nov 22, 2023

Thank you!

@vbraun
Copy link
Member

vbraun commented Dec 5, 2023

pdf docs fail

[sagemath_doc_pdf-none] Overfull \hbox
[sagemath_doc_pdf-none] ! Undefined control sequence.
[sagemath_doc_pdf-none] l.12331 has coefficients in \(\FF
[sagemath_doc_pdf-none]                                  _p\);

Copy link

github-actions bot commented Dec 6, 2023

Documentation preview for this PR (built with commit 1e06b22; changes) is ready! 🎉

@vbraun vbraun merged commit 2051800 into sagemath:develop Dec 10, 2023
13 of 17 checks passed
@mkoeppe mkoeppe added this to the sage-10.3 milestone Dec 10, 2023
@yyyyx4 yyyyx4 deleted the public/bröker branch December 20, 2023 15:22
vbraun pushed a commit to vbraun/sage that referenced this pull request Oct 9, 2024
…lar_curve()

    
This is a follow-up to sagemath#36665: There, a CM endomorphism is chosen
automatically to construct a "special" supersingular elliptic curve. In
some applications, it can be useful to explicitly supply the desired
degree of such an endomorphism to Bröker's algorithm, which is made
possible by this patch.

Note that some of the subroutines used in the new code paths are
relatively fragile, which can cause the functionality added here to fail
for some inputs, but this has been documented in the appropriate places.
    
URL: sagemath#38483
Reported by: Lorenz Panny
Reviewer(s): Giacomo Pope, Lorenz Panny
vbraun pushed a commit to vbraun/sage that referenced this pull request Oct 11, 2024
…lar_curve()

    
This is a follow-up to sagemath#36665: There, a CM endomorphism is chosen
automatically to construct a "special" supersingular elliptic curve. In
some applications, it can be useful to explicitly supply the desired
degree of such an endomorphism to Bröker's algorithm, which is made
possible by this patch.

Note that some of the subroutines used in the new code paths are
relatively fragile, which can cause the functionality added here to fail
for some inputs, but this has been documented in the appropriate places.
    
URL: sagemath#38483
Reported by: Lorenz Panny
Reviewer(s): Giacomo Pope, Lorenz Panny
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants