Opened 12 years ago
Closed 7 years ago
#9123 closed enhancement (fixed)
implement Schur algebras and use them to determine irreducible characters for GL_n
Reported by:  Hugh Thomas  Owned by:  Alex Ghitza 

Priority:  major  Milestone:  sage6.7 
Component:  algebra  Keywords:  days30, schur 
Cc:  Eric Webster  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 12 years ago by
Owner:  changed from Alex Ghitza to Hugh Thomas 

comment:2 Changed 11 years ago by
Cc:  Sage Combinat CC user removed 

Description:  modified (diff) 
Keywords:  days30 added 
Owner:  changed from Hugh Thomas to Alex Ghitza 
Summary:  implement Schur algebras using AlgebrasWithBasis → implement Schur algebras and use them to determine irreducible characters for GL_n 
comment:3 Changed 11 years ago by
Changed 10 years ago by
Attachment:  trac_9123schuralgebraandglncharactersht.patch added 

comment:4 Changed 10 years ago by
Someone expressed interest in seeing the current state of the code, so I have attached it.
comment:5 Changed 9 years ago by
Milestone:  sage5.11 → sage5.12 

comment:6 Changed 9 years ago by
Milestone:  sage6.1 → sage6.2 

comment:7 Changed 8 years ago by
Milestone:  sage6.2 → sage6.3 

comment:8 Changed 8 years ago by
Milestone:  sage6.3 → sage6.4 

comment:9 Changed 7 years ago by
Branch:  → u/chapoton/9123 

Commit:  → a051cedd863487bb61b317b4b1a537607ff481e7 
Keywords:  schur added 
Milestone:  sage6.4 → sage6.7 
Status:  new → needs_review 
comment:10 Changed 7 years ago by
Commit:  a051cedd863487bb61b317b4b1a537607ff481e7 → ce20f4a20cddde7f2287fd6c9b5c692ab0fa15ce 

Branch pushed to git repo; I updated commit sha1. New commits:
ce20f4a  trac #9123 simplify the logic a bit

comment:11 Changed 7 years ago by
Commit:  ce20f4a20cddde7f2287fd6c9b5c692ab0fa15ce → ccc6e3dc31ca4299a679efe4881988afb1f4961d 

Branch pushed to git repo; I updated commit sha1. New commits:
ccc6e3d  trac #9123 correct one

comment:12 Changed 7 years ago by
Branch:  u/chapoton/9123 → public/combinat/schur_algebras9123 

Commit:  ccc6e3dc31ca4299a679efe4881988afb1f4961d → 08861457389919f62fae8a1f2eaf0679e939e8f5 
Reviewers:  → 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 7 years ago by
Commit:  08861457389919f62fae8a1f2eaf0679e939e8f5 → d0b30ccc97b1d3b8bca056d17b9f3730f4f0011e 

Branch pushed to git repo; I updated commit sha1. New commits:
d0b30cc  trac #9123 review commit (pep8 and doc corrections)

comment:14 Changed 7 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:16 Changed 7 years ago by
Commit:  d0b30ccc97b1d3b8bca056d17b9f3730f4f0011e → af7795e4ceba74f0ede849ab4f73e64c789f6ad8 

comment:17 Changed 7 years ago by
Done. I also tweaked the output of the elements of the Schur algebra.
comment:18 Changed 7 years ago by
Ok, looks good to me. If you see nothing else to do, set to positive review.
comment:19 Changed 7 years ago by
Reviewers:  Travis Scrimshaw → Travis Scrimshaw, Frédéric Chapoton 

Status:  needs_review → needs_work 
Thanks Frédéric.
comment:20 Changed 7 years ago by
Status:  needs_work → positive_review 

Helps if I select the right thing...
comment:21 Changed 7 years ago by
Branch:  public/combinat/schur_algebras9123 → af7795e4ceba74f0ede849ab4f73e64c789f6ad8 

Resolution:  → fixed 
Status:  positive_review → 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.