Opened 11 years ago
Closed 6 years ago
#9123 closed enhancement (fixed)
implement Schur algebras and use them to determine irreducible characters for GL_n
Reported by:  hthomas  Owned by:  AlexGhitza 

Priority:  major  Milestone:  sage6.7 
Component:  algebra  Keywords:  days30, schur 
Cc:  QuantumKing  Merged in:  
Authors:  Hugh Thomas  Reviewers:  Travis Scrimshaw, Frédéric Chapoton 
Report Upstream:  N/A  Work issues:  
Branch:  af7795e (Commits, GitHub, GitLab)  Commit:  af7795e4ceba74f0ede849ab4f73e64c789f6ad8 
Dependencies:  Stopgaps: 
Description (last modified by )
Schur algebras are used in the description of the representation theory of GL_n. I plan to implement them, and use them to calculate the characters of the irreducible modules of GL_n (in characteristic p).
A nice reference is Green's book "Polynomial representations of GL_n".
Attachments (1)
Change History (22)
comment:1 Changed 11 years ago by
 Owner changed from AlexGhitza to hthomas
comment:2 Changed 10 years ago by
 Cc sagecombinat removed
 Description modified (diff)
 Keywords days30 added
 Owner changed from hthomas to AlexGhitza
 Summary changed from implement Schur algebras using AlgebrasWithBasis to implement Schur algebras and use them to determine irreducible characters for GL_n
comment:3 Changed 10 years ago by
Changed 8 years ago by
comment:4 Changed 8 years ago by
Someone expressed interest in seeing the current state of the code, so I have attached it.
comment:5 Changed 8 years ago by
 Milestone changed from sage5.11 to sage5.12
comment:6 Changed 7 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:7 Changed 7 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:8 Changed 7 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:9 Changed 6 years ago by
 Branch set to u/chapoton/9123
 Commit set to a051cedd863487bb61b317b4b1a537607ff481e7
 Keywords schur added
 Milestone changed from sage6.4 to sage6.7
 Status changed from new to needs_review
comment:10 Changed 6 years ago by
 Commit changed from a051cedd863487bb61b317b4b1a537607ff481e7 to ce20f4a20cddde7f2287fd6c9b5c692ab0fa15ce
Branch pushed to git repo; I updated commit sha1. New commits:
ce20f4a  trac #9123 simplify the logic a bit

comment:11 Changed 6 years ago by
 Commit changed from ce20f4a20cddde7f2287fd6c9b5c692ab0fa15ce to ccc6e3dc31ca4299a679efe4881988afb1f4961d
Branch pushed to git repo; I updated commit sha1. New commits:
ccc6e3d  trac #9123 correct one

comment:12 Changed 6 years ago by
 Branch changed from u/chapoton/9123 to public/combinat/schur_algebras9123
 Commit changed from ccc6e3dc31ca4299a679efe4881988afb1f4961d to 08861457389919f62fae8a1f2eaf0679e939e8f5
 Reviewers set to Travis Scrimshaw
I made a bunch of major revisions:
 I changed the indexing set for
SchurAlgebra
be tuples rather than words since it was not using any properties of words and was incurring for it.  I changed
TensorSpace
toSchurTensorModule
(although I'm quite open to better names). SchurTensorModule
inherits fromCombinatorialFreeModule_Tensor
. This makes it behave like a tensor product with respect to things liketensor()
. I implemented the actions of the symmetric group (well...permutations), the symmetric group algebra, and the Schur algebra as actual actions using
_acted_upon_
. I also cached the Schur action morphism and implemented the permutation actions directly.  Renamed
GL_n_irred_character
toGL_irreducible_character
.  Added documentation and doctests for full coverage.
The net result of my changes is over a 30x speedup to GL_irreducible_character
, which allowed me to remove the # long time
from those tests. If someone (Hugh, Frederic, ?) could review my changes, then I think we can set a positive review.
New commits:
cd6a977  Merge branch 'u/chapoton/9123' of trac.sagemath.org:sage into public/combinat/schur_algebras9123

66b28b1  Changing indexing set of SchurAlgebra and implementation of TensorSpace.

0886145  Some futher cleanup and speedups.

comment:13 Changed 6 years ago by
 Commit changed from 08861457389919f62fae8a1f2eaf0679e939e8f5 to d0b30ccc97b1d3b8bca056d17b9f3730f4f0011e
Branch pushed to git repo; I updated commit sha1. New commits:
d0b30cc  trac #9123 review commit (pep8 and doc corrections)

comment:14 Changed 6 years ago by
Thanks a lot Travis.
I have made a review patch.
There is still something missing : the doc for SchurTensorModule? is almost void. Nowhere one can see anything about the commuting actions. I think one should at least illustrate both actions.
comment:15 Changed 6 years ago by
Thanks for those changes. I will add the examples later today.
comment:16 Changed 6 years ago by
 Commit changed from d0b30ccc97b1d3b8bca056d17b9f3730f4f0011e to af7795e4ceba74f0ede849ab4f73e64c789f6ad8
comment:17 Changed 6 years ago by
Done. I also tweaked the output of the elements of the Schur algebra.
comment:18 Changed 6 years ago by
Ok, looks good to me. If you see nothing else to do, set to positive review.
comment:19 Changed 6 years ago by
 Reviewers changed from Travis Scrimshaw to Travis Scrimshaw, Frédéric Chapoton
 Status changed from needs_review to needs_work
Thanks Frédéric.
comment:20 Changed 6 years ago by
 Status changed from needs_work to positive_review
Helps if I select the right thing...
comment:21 Changed 6 years ago by
 Branch changed from public/combinat/schur_algebras9123 to af7795e4ceba74f0ede849ab4f73e64c789f6ad8
 Resolution set to fixed
 Status changed from positive_review to closed
A patch which does more or less what I want is on the sagecombinat queue, but it needs more work on the documentation. I was told I shouldn't post it here until I had that done, but if anyone wants to look at it other than by installing the combinat queue, I would be happy to post it.