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

Lie algebras: more progress #4053

Merged
merged 18 commits into from
Sep 16, 2024
Merged

Conversation

lgoettgens
Copy link
Member

@lgoettgens lgoettgens commented Aug 28, 2024

Contains the following changes/additions:

  • new: isomorphism(FPGroup, ::WeylGroup) via Coxeter relations. Already known information like is_finite and order gets set in the result as well to allow for better handling in GAP.
  • new: conversions and arithmetic between RootSpaceElem and WeightLatticeElem
  • new: dot(::WeightLatticeElem, ::WeightLatticeElem)
  • change: dominant_character, character, and tensor_product_decomposition now use the root system, if available, and only fall back to GAP otherwise. (@benlorenz this should resolve the rest of cases of Make LieAlgebraModule tests better gc-able #3913 (comment))

This is still a draft since I would like to wait for #4036 to get merged first to avoid conflicts.

@lgoettgens lgoettgens added topic: LieAlgebras experimental Only changes experimental parts of the code labels Aug 28, 2024
@lgoettgens lgoettgens marked this pull request as draft August 28, 2024 16:48
@lgoettgens lgoettgens force-pushed the lg/coxeter branch 4 times, most recently from c9f266e to 3640a14 Compare August 30, 2024 14:12
Copy link

codecov bot commented Aug 30, 2024

Codecov Report

Attention: Patch coverage is 92.85714% with 21 lines in your changes missing coverage. Please review.

Project coverage is 84.76%. Comparing base (0a1d296) to head (a3d8640).
Report is 5 commits behind head on master.

Files with missing lines Patch % Lines
experimental/LieAlgebras/src/RootSystem.jl 90.95% 18 Missing ⚠️
experimental/LieAlgebras/src/CoxeterGroup.jl 81.25% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4053      +/-   ##
==========================================
+ Coverage   84.64%   84.76%   +0.11%     
==========================================
  Files         612      614       +2     
  Lines       83250    83966     +716     
==========================================
+ Hits        70469    71170     +701     
- Misses      12781    12796      +15     
Files with missing lines Coverage Δ
experimental/LieAlgebras/src/LieAlgebraModule.jl 91.07% <100.00%> (+0.27%) ⬆️
experimental/LieAlgebras/src/LieAlgebras.jl 100.00% <ø> (ø)
experimental/LieAlgebras/src/Types.jl 96.44% <100.00%> (ø)
experimental/LieAlgebras/src/WeylGroup.jl 92.28% <100.00%> (+3.46%) ⬆️
...rimental/LieAlgebras/test/LieAlgebraModule-test.jl 100.00% <100.00%> (ø)
experimental/LieAlgebras/test/RootSystem-test.jl 97.46% <100.00%> (+0.17%) ⬆️
experimental/LieAlgebras/test/WeylGroup-test.jl 97.77% <ø> (ø)
experimental/LieAlgebras/src/CoxeterGroup.jl 72.22% <81.25%> (+72.22%) ⬆️
experimental/LieAlgebras/src/RootSystem.jl 88.35% <90.95%> (+1.89%) ⬆️

... and 10 files with indirect coverage changes

@lgoettgens lgoettgens marked this pull request as ready for review September 10, 2024 12:11
Co-authored-by: Max Horn <max@quendi.de>
experimental/LieAlgebras/src/WeylGroup.jl Outdated Show resolved Hide resolved
experimental/LieAlgebras/src/RootSystem.jl Outdated Show resolved Hide resolved
experimental/LieAlgebras/src/LieAlgebraModule.jl Outdated Show resolved Hide resolved
@@ -1431,11 +1431,65 @@ function dim_of_simple_module(L::LieAlgebra, hw::Vector{<:IntegerUnion})
end

@doc raw"""
dominant_character(L::LieAlgebra{C}, hw::Vector{Int}) -> Dict{Vector{Int}, Int}
dominant_weights([T,] L::LieAlgebra{C}, hw::Vector{<:IntegerUnion}) -> Vector{T}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
dominant_weights([T,] L::LieAlgebra{C}, hw::Vector{<:IntegerUnion}) -> Vector{T}
dominant_weights([T = Vector{Int}], L::LieAlgebra{C}, hw::Vector{<:IntegerUnion}) -> Vector{T}

Copy link
Member Author

Choose a reason for hiding this comment

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

I did not want to specify this at this point, as I want to straight out all of the return types in the near future. That's also the reason for the many `The return type will change in the future" in docstrings.

lgoettgens and others added 3 commits September 16, 2024 11:15
Co-authored-by: Felix Röhrich <47457568+felix-roehrich@users.noreply.github.com>
Co-authored-by: Felix Röhrich <47457568+felix-roehrich@users.noreply.github.com>
Copy link
Member

@fingolfin fingolfin left a comment

Choose a reason for hiding this comment

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

Looks good to me

@fingolfin fingolfin enabled auto-merge (squash) September 16, 2024 12:46
@fingolfin fingolfin merged commit 0b52e65 into oscar-system:master Sep 16, 2024
22 of 25 checks passed
@lgoettgens lgoettgens deleted the lg/coxeter branch September 16, 2024 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experimental Only changes experimental parts of the code topic: LieAlgebras
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants