gh-38174: New algorithms to compute the characteristic polynomial of the Frobenius endomorphism of a Drinfeld module
<!-- ^ 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 #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 #12345". -->
This pull request implements two new algorithms to compute the
characteristic polynomial of the Frobenius endomorphism of a Drinfeld
$\mathbb F_q[T]$-module over a finite field $K$. Previously, only the
algorithms based on crystalline cohomology (see [Musleh-Schost
2023](https://dl.acm.org/doi/10.1145/3597066.3597080)) or on Anderson
motives (see [Caruso-Leudière 2023](https://arxiv.org/abs/2307.02879))
were implemented. We propose two new algorithms:
- The algorithm based on central simple algebras described in Chapter 4
of [Caruso-Leudière 2023](https://arxiv.org/abs/2307.02879).
- The algorithm described by Gekeler in [Gekeler 1991](https://www.scien
cedirect.com/science/article/pii/002186939190211P).
**Acknowledgement.** This implementation was originally due to @xcaruso
(see [here](https://github.com/xcaruso/sage/blob/d2e36bd18b51c93806b7a3b
5c8261da7dc98c494/src/sage/rings/function_field/drinfeld_modules/finite_
drinfeld_module.py)), and after a private discussion, I took the liberty
of creating this PR.
I also propose to change the formula computed by `frobenius_norm`.
Before, it computed
$$(-1)^n \mathrm{N}_{K/\mathbb F_q}(\Delta) p^{n / \mathrm{deg}(p)},$$
where $K$ is the ground field, $n$ is the degree of $K$ over $\mathbb
F_q$, and $p$ is the monic generator of the $\mathbb
F_q[T]$-characteristic of $K$. The docstring claimed this was $(-1)^r$
times the constant coefficient of the characteristic polynomial of the
Frobenius endomorphism, $r$ being the rank of the Drinfeld module. I
believe this was a mistake, and instead changed the formula, following
Theorem 4.2.7 of [Papikian's
book](https://link.springer.com/book/10.1007/978-3-031-19707-9), to
$$(-1)^{nr - n - r} \mathrm{N}_{K/\mathbb F_q}(\Delta) p^{n /
\mathrm{deg}(p)}.$$
P.S. @davidayotte, given that you now work in the industry, please tell
us if you still want to be tagged on these Drinfeld module stuff. Same
question for you @ymusleh given that you defended your thesis
(congratulations!).
### :memo: 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.
- [ ] I have linked a relevant issue or discussion.
- [X] I have created tests covering the changes.
- [X] I have updated the documentation and checked the documentation
preview.
<!-- List all open PRs that this PR logically depends on. For example,
-->
<!-- - #12345: short description why this is a dependency -->
<!-- - #34567: ... -->
(Dédicace à ABLCCN)
URL: https://github.com/sagemath/sage/pull/38174
Reported by: Antoine Leudière
Reviewer(s): Antoine Leudière, David Ayotte, Xavier Caruso