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

Add support for parabolic subgroups and irreducible factors of WeylGroups #4483

Open
TWiedemann opened this issue Jan 17, 2025 · 4 comments
Open
Labels
enhancement New feature or request topic: LieTheory

Comments

@TWiedemann
Copy link
Contributor

(I use the terminology of https://en.wikipedia.org/wiki/Parabolic_subgroup_of_a_reflection_group#In_Coxeter_groups and [Humphreys, "Reflection groups and Coxeter groups"] for parabolic subgroups of a Weyl group.)

I'm thinking of something like that:

@doc raw"""
    parabolic_subgroup(W::WeylGroup, vec::Vector{<:Integer}) -> WeylGroup, Map{WeylGroup, WeylGroup}

Returns two objects: The subgroup `H` of `W` generated by `gens(W)[vec]`, which is itself a `WeylGroup`, and the embedding of `H` into `W`.
"""

@doc raw"""
    parabolic_subgroup(W::WeylGroup, vec::Vector{<:Integer}, w::WeylGroupElem) -> WeylGroup, Map{WeylGroup, WeylGroup}

Returns two objects: The subgroup `H` of `W` generated by `[inv(w)*u*w for u in gens(W)[vec]]`, which is itself a `WeylGroup`, and the embedding of `H` into `W`.
"""

@doc raw"""
    irreducible_factors(W::WeylGroup) -> Vector{WeylGroup}, Vector{Map{WeylGroup, WeylGroup}}, Vector{Map{WeylGroup, WeylGroup}}

Returns a triple (`H`, `emb`, `proj`) where `H` is a vector of the irreducible subgroups of `W` and `emb` (resp. `proj`) is the vector of the embeddings (resp. projections) of the irreducible subgroups into `W` (resp. of `W` onto the irreducible subgroups).

See also [`inner_direct_product`](@ref).
"""

In the same run, one could also extend inner_direct_product to Weyl groups.

Is there anything wrong with that (naming conventions, mathematics, input and return types, ...)? If not, I will prepare a PR.

Is your feature request related to a problem? Please describe.
Together with inner_direct_product for PermGroups, this should allow for a smooth extension of #4478 to reducible types.

@TWiedemann TWiedemann added the enhancement New feature or request label Jan 17, 2025
@fingolfin
Copy link
Member

Sounds good to me

@lgoettgens
Copy link
Member

For the parabolic subgroups, we need to (at some point in the future) decide, if we introduce a type of subgroups of Weyl groups or we don't. In the former case, these functions should return something of the subgroup type. But that should not hold you back with implementing, just put them into experimental for the moment, please.

The group function naming etc. I would leave to @fingolfin as he knows more about that.

Just a note about implementation: You probably need to construct everything based on Cartan matrices, as root systems and Weyl groups are intrinsically intertwined in the implementation.

@fingolfin
Copy link
Member

parabolic_subgroup is done, so I guess only irreducible_factors is left to be done?

@TWiedemann
Copy link
Contributor Author

Correct. I already have some code for irreducible_factors lying around somewhere, so I should be able to make a PR soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request topic: LieTheory
Projects
None yet
Development

No branches or pull requests

3 participants