Opened 10 years ago
Closed 10 years ago
#13399 closed defect (fixed)
Fixes to symmetric functions
Reported by: | Anne Schilling | Owned by: | Sage Combinat CC user |
---|---|---|---|
Priority: | major | Milestone: | sage-5.4 |
Component: | combinatorics | Keywords: | symmetric functions |
Cc: | Sage Combinat CC user, Mike Zabrocki | Merged in: | sage-5.4.beta2 |
Authors: | Anne Schilling, Mike Zabrocki | Reviewers: | Mike Zabrocki, Anne Schilling |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | #13404 | Stopgaps: |
Description (last modified by )
This patch implements the following fixes to symmetric functions:
- HL creation operator for k-Schur functions
- it fixes omega for k-Schur functions for generic t
- it changes the multiplication for k-Schur functions for generic t, so that the result stays in the k-bounded subspace if possible and lifts to symmetric functions otherwise
- it moves coproduct_by_coercion to SymmetricFunctionAlgebra_generic and inserts a coproduct function in KBoundedSubspaceBases, ElementMethods?
- it fixes the coersion between the Jack P and Pq basis; this was previously extremely slow,
for example for
sage: Sym = SymmetricFunctions(FractionField(QQ['t'])) sage: Qp = Sym.jack().Qp() sage: P = Sym.jack().P() sage: P(Qp[2,1]) ((-192*t^3+192*t^2-192*t+192)/(-64*t^3-224*t^2-224*t-64))*JackP[1, 1, 1] + ((128*t^2-64*t+80)/(64*t^2+64*t+16))*JackP[2, 1] + ((8*t-8)/(8*t+4))*JackP[3]
- it fixes the coproduct for Jack symmetric functions
Apply:
Attachments (1)
Change History (20)
comment:1 Changed 10 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 10 years ago by
comment:3 follow-up: 4 Changed 10 years ago by
Description: | modified (diff) |
---|---|
Status: | new → needs_review |
comment:4 Changed 10 years ago by
Hi Mike,
I made all changes we discussed by e-mail. Could you have a look?
Anne
comment:5 follow-up: 6 Changed 10 years ago by
Status: | needs_review → positive_review |
---|
All tests pass and the documentation looks good. Nicolas, we can address the __repr__ changes in another patch. -Mike
comment:8 Changed 10 years ago by
Dependencies: | → #5457 |
---|
comment:9 Changed 10 years ago by
Status: | positive_review → needs_work |
---|
After discussion, another addition to make will be coproduct
method on k-Schur bases.
comment:10 Changed 10 years ago by
Description: | modified (diff) |
---|---|
Status: | needs_work → needs_review |
I implemented coproduct on k-Schur functions. This required moving coproduct_by_coercion
to the class SymmetricFunctionAlgebra_generic
. Please test and review.
comment:11 follow-up: 12 Changed 10 years ago by
Authors: | Anne Schilling → Anne Schilling, Mike Zabrocki |
---|---|
Description: | modified (diff) |
Reviewers: | Mike Zabrocki → Mike Zabrocki, Anne Schilling |
comment:12 Changed 10 years ago by
Hi Mike,
Thanks for the addition! I made some more changes to the doc explanations (there was still a reference to monomial symmetric functions even though coproduct_by_coercion was moved to sfa.py). I also added some further tests for k-Schurs and LLTs. Both patches are now folded, so please only
Apply: trac_13399-sf-as.patch
All tests pass on sage_5.3.rc0 + two additional 5457 patches. No idea what the current version of sage is that we are supposed to test against!
Best,
Anne
comment:13 follow-up: 14 Changed 10 years ago by
Dependencies: | #5457 → #13404 |
---|
comment:14 Changed 10 years ago by
Rebased with respect to #13404. More additions regarding Jack polynomials are pending!
comment:15 follow-up: 16 Changed 10 years ago by
Description: | modified (diff) |
---|
comment:16 Changed 10 years ago by
Hi Mike,
I folded the previous 13399 patch with the changes to jack.py. For me all tests pass and the documentation looks good. Please set a positive review if you are satisfied!
Anne
comment:17 follow-up: 18 Changed 10 years ago by
Description: | modified (diff) |
---|---|
Status: | needs_review → positive_review |
I changed two minor things in the doc strings indicating that coercion was done through the homogeneous basis. All doc tests pass on sage-5.3.rc1 + dependency patches. It looks good and I give it a positive review.
Changed 10 years ago by
Attachment: | trac_13399-sf-as.3.patch added |
---|
same patch with minor doc changes
comment:19 Changed 10 years ago by
Merged in: | → sage-5.4.beta2 |
---|---|
Resolution: | → fixed |
Status: | positive_review → closed |
Speaking of fixes/improvements for symmetric functions: the current code is not perfectly consistent for the naming of the bases:
And indeed in the code, S.s()._repr_ comes from SymmetricFunctionAlgebra_classical, where as S.macdonald().P()._repr_ comes from generic with_realization code.
What about moving (in this ticket, or later), the _repr_ from SymmetricFunctionAlgebra_classical to SymmetricFunctionsBases??
A bit of fiddling with ._basis might be needed to get the string 'Macdonald P symmetric functions' right, but this should not be too bad.
Cheers,
PS: as a side effect, this would help me a bit with my functorial construction patch, as it currently breaks the naming of the macdo/llt/hl basis, and would not anymore with the changes above.