Commit
1 year ago
gh-37773: Allow construction of classical Lie algebras over finite fields <!-- ^ 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". --> Many classical Lie algebras are unable to be constructed because they multiply a rational number times an element in the base ring. If the base ring is, say, `GF(3)`, then there is no coercion (since not every element is defined), so we need to force all elements to be in the base ring during the computation (which might perform a division that goes to the fraction field, but it will eventually brings us back to a $\mathbb{Z}$-basis). Before, this would fail with a `QQ` to `GF(3)` coercion error: ``` sage: sl4 = lie_algebras.sl(GF(3), 4) ``` ### :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. - [x] I have linked a relevant issue or discussion. - [x] I have created tests covering the changes. - [x] I have updated the documentation accordingly. ### :hourglass: Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - #12345: short description why this is a dependency --> <!-- - #34567: ... --> URL: https://github.com/sagemath/sage/pull/37773 Reported by: Travis Scrimshaw Reviewer(s): Frédéric Chapoton, Travis Scrimshaw
Author
Release Manager
Loading