Skip to content

Commit

Permalink
sagemathgh-37630: Enhance documentation of Drinfeld module Potemine j…
Browse files Browse the repository at this point in the history
…-invariants

<!-- ^ Please provide a concise and informative title. -->
<!-- ^ Don't put issue numbers in the title, do this in the PR
description below. -->
<!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method
to calculate 1 + 2". -->
<!-- v Describe your changes below in detail. -->
<!-- v Why is this change required? What problem does it solve? -->
<!-- v If this PR resolves an open issue, please link to it here. For
example, "Fixes sagemath#12345". -->

The definition of $j$-invariants, *basic* $j$-invariants and
$j_k$-invariants defer in [Potemine's
article](https://link.springer.com/article/10.1023/A:1009724323513) and
[Papikian's
book](https://link.springer.com/book/10.1007/978-3-031-19707-9). Thanks
to @DavidAyotte, we follow Potemine's convention. Seeing however the
growing popularity of Papikian's book, I reckon it is a good idea to add
a note in the documentation addressing those differences.

Also, I fixed a typo.

### Potemine:

![image](https://github.com/sagemath/sage/assets/31312212/5e09f13c-782d-
4665-b5a6-c0c8947cb74f)
![image](https://github.com/sagemath/sage/assets/31312212/65c6e812-3f93-
4a4c-9bb7-ce84ca1dcf10)

### Papikian:

![image](https://github.com/sagemath/sage/assets/31312212/eb811d6f-5a3c-
4764-b9f8-d12d562309b3)
![image](https://github.com/sagemath/sage/assets/31312212/d100c393-dd6d-
47b0-b39b-edfd02cda7a6)

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [x] I have created tests covering the changes.
- [x] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->

URL: sagemath#37630
Reported by: Antoine Leudière
Reviewer(s): David Ayotte
  • Loading branch information
Release Manager committed Mar 30, 2024
2 parents d3ce9d0 + 77314e0 commit cf58964
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 10 deletions.
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=16786ab29c5625c411bee47d25d62d628477e9dc
md5=f37ca4623241cad2846b45122d180cc3
cksum=536361291
sha1=25a360e4892317526249e50eaa51297891511d61
md5=0fd34b91fc06199e6c3672ad969472ee
cksum=1226224895
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b0343d194ea320a6ea030d6b1274fbacdac0d7ac
d13f6164a314f330071fe2a99112e78de03347f0
4 changes: 4 additions & 0 deletions src/doc/en/reference/references/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5133,6 +5133,10 @@ REFERENCES:
B46f,
https://eudml.org/doc/121696
.. [Pap2023] Mihran Papikian, *Drinfeld modules*.
Graduate Texts in Mathematics, 206,
Springer International Publishing, Cham, 2023.
.. [PALP] Maximilian Kreuzer, Harald Skarke: "PALP: A Package for
Analyzing Lattice Polytopes with Applications to Toric
Geometry" omput.Phys.Commun. 157 (2004) 87-106
Expand Down
27 changes: 21 additions & 6 deletions src/sage/rings/function_field/drinfeld_modules/drinfeld_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -1489,7 +1489,7 @@ def j_invariant(self, parameter=None, check=True):
.. MATH::
j_{k_1, \ldots, k_n}^{d_1, \ldots, d_n, d_r}(\phi)
:= \frac{1}{g_r^{d_q}}\prod_{i = 1}^n g_{k_i}^{d_i}
:= \frac{1}{g_r^{d_r}}\prod_{i = 1}^n g_{k_i}^{d_i}
where `1\leqslant k_1 < k_2 < \ldots < k_n \leqslant r - 1` and
the integers `d_i` satisfy the *weight-0 condition*:
Expand All @@ -1510,6 +1510,26 @@ def j_invariant(self, parameter=None, check=True):
:meth:`basic_j_invariant_parameters` for computing the list of
all basic `j`-invariant parameters.
.. NOTE::
In [Pap2023]_, Papikian follows a slightly different
convention:
- His `j`-invariants (see Definition 3.8.7) correspond to
our basic `j`-invariants, as defined above.
- His *basic* `j`-invariant (see Example 3.8.10) correspond
to our `j_k`-invariants, as implemented in
:meth:`jk_invariants`.
We chose to follow Potemine's convention, as he introduced
those objects in [Pot1998]_. Theorem 2.2 of [Pot1998]_ or
Theorem 3.8.11 of [Pap2023]_ assert that two Drinfeld
`\mathbb F_q[T]`-modules over `K` are isomorphic over the
separable closure of `K` if and only if their basic
`j`-invariants (as implemented here) coincide for any
well-defined couple of tuples `((k_1, k_2, \ldots, k_n),
(d_1, d_2, \ldots, d_n, d_r))`, .
INPUT:
- ``parameter`` (tuple or list, integer or NoneType; default:
Expand All @@ -1536,11 +1556,6 @@ def j_invariant(self, parameter=None, check=True):
OUTPUT: the `j`-invariant of ``self`` for the given parameter.
REFERENCE:
The notion of basic `j`-invariant was introduced by Potemine in
[Pot1998]_.
EXAMPLES::
sage: Fq = GF(25)
Expand Down

0 comments on commit cf58964

Please sign in to comment.