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

Class polynomial for Drinfeld modules #39215

Open
wants to merge 12 commits into
base: develop
Choose a base branch
from

Conversation

xcaruso
Copy link
Contributor

@xcaruso xcaruso commented Dec 28, 2024

This PR implements an algorithm for computing the class polynomial (that is, the Fitting ideal of the class module) of a Drinfeld modules over $K = \text{Frac}(A)$.

We recall that the class module of a Drinfeld module $E : A \to A\{\tau\}$ is defined as the quotient
$$H(E) := \frac{E(K_\infty)}{E(A) + \exp_E(K_\infty)}$$
where:

  • for an $A$-algebra $R$, the notation $E(R)$ refers to $R$ equipped with the structure of $A$-module coming from $E$
  • $K_\infty$ is the completion of $\text{Frac}(A)$ at infinity
  • $\exp_E : K_\infty \to K_\infty$ is the exponential associated to $E$.

The implementation provided in this PR is based on the following remark: for $s$ large enough, $H(E)$ is also the quotient of $E(K_\infty/A)$ by the $A$-submodule generated by $T^{-n}$ with $n \geq s$.
This is due to the fact that, when $n$ is large, $T^{-n}$ is in the domain of convergence of the logarithm of $E$.

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation and checked the documentation preview.

Copy link

github-actions bot commented Dec 28, 2024

Documentation preview for this PR (built with commit 67496ed; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@xcaruso xcaruso requested a review from kryzar December 29, 2024 12:41
@xcaruso xcaruso marked this pull request as draft December 31, 2024 07:48
@xcaruso
Copy link
Contributor Author

xcaruso commented Dec 31, 2024

I'm not entirely sure that my algorithm for computing Taelman's unit is correct. I need to think more about this.

@xcaruso
Copy link
Contributor Author

xcaruso commented Jan 3, 2025

Finally, I prefer to remove things about Taelman's unit here and keep it for another PR.

@xcaruso xcaruso marked this pull request as ready for review January 3, 2025 08:03
@xcaruso xcaruso changed the title Methods for computing objects appearing in Taelman's class formula for Drinfeld modules Class polynomial for Drinfeld modules Jan 3, 2025
@kryzar
Copy link
Contributor

kryzar commented Jan 22, 2025

So again here, it seems the failing doctest is independent from this PR. Could you please merge from develop?

@xcaruso
Copy link
Contributor Author

xcaruso commented Feb 12, 2025

Here is a proof that the algorithm used in this PR is correct.

Let $\varpi = 1/T$; it is a uniformizer of the completion as infinity $K_\infty$.
For each positive integer $n$, let $I_n$ be the set of elements of $K_\infty$ of valuation at least $n$, i.e. $I_n$ is the $\mathbb F_q$-subvector space generated by $\varpi^m$ with $m \geq n$.
Let $s$ be a positive integer such that the $E$-logarithm converges on $I_s$ and induces a bijection on this space.
We notice that $\exp_E(\varpi^{s-1}) \equiv \varpi^{s-1} \pmod {\varpi^s}$.

Consider now $x \in K_\infty$ and decompose it as $x = y + a_{s-1} \varpi^{s-1} + \cdots + a_1 \varpi + z$ with $y \in I_s$ and $z \in A$.
We deduce that
$$\exp_E(x) \equiv a_{s-1} \varpi^{s-1} + a_{s-2} \phi_T(\varpi^{s-1}) + \cdots + a_1 \phi_T^{s-2}(\varpi) \pmod {I_s + A}.$$
Since the action of $E_T$ corresponds to the multiplication by $T$ in $E(K_\infty)$, we obtain the claim of the description of this PR.

In the implementation, we choose a specific value of $s$, which is
$$s = \max_i \Big\lfloor \frac{\deg g_i }{q^i-1} \Big\rfloor$$
where $g_i$ is the $i$-th coefficient of $E_T$. This comes from the fact that $\phi_T(\varpi^n) \equiv \varpi^n \pmod {I_{n-1}}$ for all $n \geq s$. Hence, taking $s$ as above does not change the final result of the computation.

Copy link
Contributor

@kryzar kryzar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for the comment and the explanation of your algorithm on this PR. I think it's very valuable work.

I only have very minor comments (mainly on the Taelman reference you added which appears unused, and on two lines which are reported untested by the testing-coverage tool).

@kryzar kryzar self-requested a review February 12, 2025 21:26
@kryzar kryzar added the sd128 tickets of Sage Days 128 Le Teich label Feb 12, 2025
Copy link
Contributor

@kryzar kryzar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The failing test is also unrelated to this ticket. So, again, I approve the PR anyway.

Thanks @xcaruso!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
s: positive review sd128 tickets of Sage Days 128 Le Teich
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants