-
-
Notifications
You must be signed in to change notification settings - Fork 487
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
add class groups of binary quadratic forms #36184
add class groups of binary quadratic forms #36184
Conversation
f2e14da
to
07ab043
Compare
b25b388
to
7c0a6c7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. One minor comment about order()
which currently uses BSGS and could use something subexpoentential.
Otherwise, clear code, easy to read and will be a useful addition to Sage
Documentation preview for this PR (built with commit 4797a51; changes) is ready! 🎉 |
Thanks for the review! |
This patch adds an implementation of the form class group for positive definite binary quadratic forms. (We restrict to definite forms for now since it is the easier case: Every class contains a unique reduced form.) Most of the required functionality was already available in PARI or Sage, but the types introduced in this patch make it easier to manipulate form classes and interface with existing algorithms for generic abelian groups. URL: sagemath#36184 Reported by: Lorenz Panny Reviewer(s): Giacomo Pope, Lorenz Panny
...for class groups of binary quadratic forms, which we have since sagemath#36184. This map is defined by finding a class representative $[a,b,c]$ for which $f^2 \mid a$ (and $f \mid b$) and then applying the substitution $x \mapsto x/f$. In the code, we do it in prime steps, since that makes finding a suitable representative a little easier. This can be used, among other things, for determining the kernel of the surjection $\mathrm{cl}(f^2D) \twoheadrightarrow \mathrm{cl}(D)$. URL: sagemath#37074 Reported by: Lorenz Panny Reviewer(s): Lorenz Panny, Travis Scrimshaw
This patch adds an implementation of the form class group for positive definite binary quadratic forms. (We restrict to definite forms for now since it is the easier case: Every class contains a unique reduced form.)
Most of the required functionality was already available in PARI or Sage, but the types introduced in this patch make it easier to manipulate form classes and interface with existing algorithms for generic abelian groups.