sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.33k stars 453 forks source link

Symmetric group characters as bases of the symmetric functions #19327

Closed d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db closed 8 years ago

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago

This ticket implements two inhomogeneous bases of the symmetric functions, one called the irreducible_character and the other induced_trivial_character and shorthands st and ht. These bases play the roll for the symmetric group realized as permutation matrices that the Schur functions play to the character of the irreducible Gl_n representations.

In addition, two methods are added to the symmetric function element class. One eval_at_permutation_roots that evaluates a symmetric function at the roots of unity of a permutation matrix with a given cycle type and the other, character_to_frobenius_image, interprets a symmetric function as a symmetric group character and computes the Frobenius image.

Depends on #15536

CC: @tscrim @sagetrac-sage-combinat @alauve @saliola @darijgr

Component: combinatorics

Keywords: sf, sage-combinat

Author: Mike Zabrocki

Branch/Commit: 84f5917

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/19327

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago

New commits:

d152338add character.py, character basis to sf, element methods to sfa
612248achanges to powersum.py, sf/__init__.py and module_list.rst
c281a6cimplementation of irreducible character basis by power sum expansion
d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago

Branch: u/zabrocki/sf/characterbases/19327

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago

Commit: c281a6c

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

c5a38ddadd missing import statements
f33cddbadditional documentation
d9b0942additional documentation in the header of the file character.py
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from c281a6c to d9b0942

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from d9b0942 to 5ec1fff

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

5ec1fffupdate the arxiv reference
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

0d0ad36format incorrect on reference
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 5ec1fff to 0d0ad36

tscrim commented 8 years ago
comment:7

You might be interested in #15536 (symplectic and orthogonal bases for Sym based off Chari and Kleber's work) and #17096 (filtered algebras).

There is also a failing doctest according to the patchbot.

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago

Dependencies: #17096

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago
comment:8

This basis is similar to those found in #15536. In fact the orthogonal basis will have a positive expansion in the irreducible_symmetric_group_character basis (because permutation matrices are orthogonal). As a result I've added the filtered algebras ticket as a dependency. I checked and these bases also have an antipode problem and probably suffer from the same counit issue that the sp and o bases had at the start.

I merged #17096 into this branch on my computer and compilings starting failing. Given that I am on OSX 10.11 and Xcode 7 this means trouble for me because I have been in a precarious situation where compiling sage from scratch makes it unusable.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

b2d6919removed target_basis as a method (not used), doc changes, TestSuite doc tests
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 0d0ad36 to b2d6919

tscrim commented 8 years ago
comment:10

Do you want me to make the changes to work with #17096 (similar to what I did in #15536) while compiling Sage for you as part of my review?

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago
comment:11

If you are willing. If I understand the changes, it is to merge with #17096, make sure that the counit works + put graded=False in the SFA_generic.__init__. The two TestSuite docs will fail until the counit is correct on the basis.

tscrim commented 8 years ago

Changed branch from u/zabrocki/sf/characterbases/19327 to public/combinat/sf/character_bases-19327

tscrim commented 8 years ago
comment:12

Okay, I've made both the counit and antipode work by coercion (although it seems that I don't need to do the former as h[[]] <-> ht[[]] <-> st[[]]). However, I'm still not getting the antipode test to pass. I would think any change of basis (as a filtered module) would preserve the Hopf algebra structure. I've checked that it is an isomorphism, but I don't get why it's not working. Thoughts?


Last 10 new commits:

4b2046fMerge branch 'public/categories/super_categories-18044' into public/categories/filtered_algebras-17096
3f67b6bFixing trivial doctest due to changes in category heirarchy.
fa476ddFixing double-colon in INPUT block.
6cc8b84Reviewer changes with Darij.
9bfd9e4Merge branch 'public/categories/filtered_algebras-17096' into public/combinat/sf/sp_orth
57f92ddAdding some doctests and making things use the filtered basis.
bd49490Changes from Mike and some added tests.
a7ee857Adding the Shimozono-Zabrocki paper as a reference.
530a953Merge branch 'public/combinat/sf/sp_orth' of trac.sagemath.org:sage into public/combinat/sf/character_bases/19327
54a5af3Initial round of revisions and trying to get the Hopf structure to work.
tscrim commented 8 years ago

Changed dependencies from #17096 to #15536

tscrim commented 8 years ago

Changed commit from b2d6919 to 54a5af3

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago
comment:13

When you say it doesn't work, are you finding that it isn't an algebra homomorphism? I think that was what was failing before.

tscrim commented 8 years ago
comment:14

No, it appears to be an algebra homomorphism:

sage: all(ht[la]*ht[mu] == ht(h(ht[la])*h(ht[mu])) for i in range(5) for la in Partitions(i) for j in range(5) for mu in Partitions(j))
True
sage: all(h[la]*h[mu] == h(ht(h[la])*ht(h[mu])) for i in range(5) for la in Partitions(i) for j in range(5) for mu in Partitions(j))
True
sage: ht.an_element() * ht.an_element() == ht(h(ht.an_element()) * h(ht.an_element()))
True
d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago
comment:15

Here is the cause of the doc tests failing.

sage: 7*st[[]]*st[[]]
st[]

I have no idea where this error is coming from though.

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago
comment:16

OK, I found the error. It is in _other_to_self and you need to change the line

-            return self([])
+            return sexpr.coefficient([]) * self([])

I can't seem to push because I am ssh-ing to a remote non-OSX 10.11 Xcode 7 computer and git isn't set up properly. When I get that working I will be able to push a change.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 54a5af3 to 54c08a6

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

54c08a6Fixing transitions with the span of the unit element.
tscrim commented 8 years ago

Upstream: None of the above - read trac for reasoning.

tscrim commented 8 years ago
comment:18

Yep, that was the problem.

tscrim commented 8 years ago

Reviewer: Travis Scrimshaw

tscrim commented 8 years ago

Changed upstream from None of the above - read trac for reasoning. to none

tscrim commented 8 years ago
comment:20

So if you're happy with my changes, then I'm content to set a positive review.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

cac1d88Doing some surgery on the categories.
8263b10Merge branch 'develop' into public/combinat/sf/sp_orth
b151195Merge branch 'develop' into public/combinat/sf/sp_orth
8e690e2Some hacks and FIXMEs.
c4c1416Merge branch 'develop' into public/combinat/sf/sp_orth
d8d3edaadditions to NCSF/QSym/Sym/NCSym/NCSymD to ensure that MRO errors are not triggered
0513f6aMerge branch 'public/combinat/sf/sp_orth' of trac.sagemath.org:sage into public/combinat/sf/sp_orth
5b492f3Fixing non-ascii character.
b49a06eMerge branch 'public/combinat/sf/sp_orth' into public/combinat/sf/character_bases-19327
84f5917use the default implementation of antipode and counit, remove specifications of category in morphisms
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 8 years ago

Changed commit from 54c08a6 to 84f5917

tscrim commented 8 years ago
comment:22

LGTM. Thanks.

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago

Description changed:

--- 
+++ 
@@ -1,3 +1,3 @@
 This ticket implements two inhomogeneous bases of the symmetric functions, one called the `irreducible_character` and the other `induced_trivial_character` and shorthands `st` and `ht`.  These bases play the roll for the symmetric group realized as permutation matrices that the Schur functions play to the character of the irreducible Gl_n representations.

-In addition, two methods are added to the symmetric function element class.  One `eval_at_permutation_roots` that evaluates a symmetric function at the roots of unity of a permutation matrix with a given cycle type and the other, `eval_at_permutation_roots`, interprets a symmetric function as a symmetric group character and computes the Frobenius image.
+In addition, two methods are added to the symmetric function element class.  One `eval_at_permutation_roots` that evaluates a symmetric function at the roots of unity of a permutation matrix with a given cycle type and the other, `character_to_frobenius_image`, interprets a symmetric function as a symmetric group character and computes the Frobenius image.
d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago
comment:23

I've checked that all tests pass.

tscrim commented 8 years ago
comment:24

I thought I had set it to positive review. Whoops. :P

d4d9e38a-6e64-40d7-a7f7-bd828eb9e0db commented 8 years ago
comment:25

Thanks for the review and pushing forward on #15536 and this one. Without finding a solution there, this ticket was going nowhere.

vbraun commented 8 years ago

Changed branch from public/combinat/sf/character_bases-19327 to 84f5917