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

Implement the solvable and nil radicals of a finite dimensional Lie algebra #37697

Merged
merged 9 commits into from
Jun 9, 2024

Conversation

tscrim
Copy link
Collaborator

@tscrim tscrim commented Mar 30, 2024

We implement the algorithms in de Graaf to compute the solvable and nilradicals of a finite dimensional Lie algebra. To do so, we also make further improvements to how subalgebras and ideals of Lie algebras are constructed and handled.

📝 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

@mkoeppe
Copy link
Contributor

mkoeppe commented Apr 3, 2024

Test failures in clifford_algebra

Copy link

github-actions bot commented Apr 9, 2024

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

"""
if sparse:
return self.value.sparse_vector()
return self.value

cpdef to_vector(self, bint sparse=False, order=None):
Copy link
Contributor

Choose a reason for hiding this comment

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

why can it just ignore the order parameter?
(Of course I see that the original code did the same.)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Because the implementation is based on a fixed order and it is added for (signature) compatibility with the generic implementation.

(b, c, d)

sage: SL = L.subalgebra([a,b,c,d]); SL
Subalgebra generated by (a, b, c, d) of Lie algebra on 5 generators (a, b, c, d, e) over Rational Field
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Subalgebra generated by (a, b, c, d) of Lie algebra on 5 generators (a, b, c, d, e) over Rational Field
Subalgebra generated by (a, b, c, d) of
Lie algebra on 5 generators (a, b, c, d, e) over Rational Field

Copy link
Contributor

Choose a reason for hiding this comment

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

throughout I recommend to break long output at column 88 so that it fits in the formatted HTML doc

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I did this everywhere I felt it was at most a net-zero improvement in readability.

Copy link
Contributor

@mkoeppe mkoeppe left a comment

Choose a reason for hiding this comment

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

Otherwise LGTM

Copy link
Contributor

@mkoeppe mkoeppe left a comment

Choose a reason for hiding this comment

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

LGTM. Let's ship it.

@tscrim
Copy link
Collaborator Author

tscrim commented Jun 4, 2024

Thank you!

vbraun pushed a commit to vbraun/sage that referenced this pull request Jun 5, 2024
… dimensional Lie algebra

    
<!-- ^ 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". -->

We implement the algorithms in de Graaf to compute the solvable and
nilradicals of a finite dimensional Lie algebra. To do so, we also make
further improvements to how subalgebras and ideals of Lie algebras are
constructed and handled.

### 📝 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: ... -->

- sagemath#37693 Uses this in the computation
- sagemath#37682 Needs the improvements here
    
URL: sagemath#37697
Reported by: Travis Scrimshaw
Reviewer(s): Matthias Köppe, Travis Scrimshaw
@vbraun vbraun merged commit 8daa182 into sagemath:develop Jun 9, 2024
18 checks passed
@mkoeppe mkoeppe added this to the sage-10.4 milestone Jun 9, 2024
@tscrim tscrim deleted the lie_algebras/solvable_nil_radical branch June 9, 2024 23:18
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.

3 participants