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

Allow construction of classical Lie algebras over finite fields #37773

Merged
merged 2 commits into from
Apr 27, 2024

Conversation

tscrim
Copy link
Collaborator

@tscrim tscrim commented Apr 9, 2024

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)

📝 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 accordingly.

⌛ Dependencies

@tscrim tscrim force-pushed the lie_algebras/cartan_type_pos_char branch from c87157e to e2fc4af Compare April 9, 2024 13:16
@fchapoton fchapoton self-assigned this Apr 9, 2024
Copy link

Documentation preview for this PR (built with commit 18487f3; changes) is ready! 🎉

@tscrim
Copy link
Collaborator Author

tscrim commented Apr 12, 2024

This now works over GF(2) in my test cases and added some checks against some known results.

Copy link
Contributor

@fchapoton fchapoton left a comment

Choose a reason for hiding this comment

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

ok, good.

@tscrim
Copy link
Collaborator Author

tscrim commented Apr 12, 2024

Merci!

vbraun pushed a commit to vbraun/sage that referenced this pull request Apr 20, 2024
…inite 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 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". -->

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)
```

### 📝 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#37773
Reported by: Travis Scrimshaw
Reviewer(s): Frédéric Chapoton, Travis Scrimshaw
@vbraun vbraun merged commit c63a57a into sagemath:develop Apr 27, 2024
13 of 15 checks passed
@mkoeppe mkoeppe added this to the sage-10.4 milestone Apr 27, 2024
@tscrim tscrim deleted the lie_algebras/cartan_type_pos_char branch April 28, 2024 08:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants