Opened 7 years ago
Closed 7 years ago
#15094 closed enhancement (fixed)
QSym: internal coproduct, Frobenius, lambda-of-monomials, documentation fixes
Reported by: | darij | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-5.13 |
Component: | combinatorics | Keywords: | sage-combinat, qsym, quasi-symmetric functions |
Cc: | sage-combinat, zabrocki, saliola, chrisjamesberg, jbandlow | Merged in: | sage-5.13.beta0 |
Authors: | Darij Grinberg | Reviewers: | Mike Zabrocki, Travis Scrimshaw |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | #14775, #13505 | Stopgaps: |
Description (last modified by )
The patch does the following:
- Implement the internal coproduct on QSym, the ring of quasi-symmetric functions. (There is no reasonable internal product on QSym.)
- Implement the Frobenius=Adams endomorphisms on QSym. (There seems to be no Verschiebung.)
- Add a method that computes the lambda-ring operations at the monomial basis elements. This will be very useful later when we implement Hazewinkel's polynomial basis.
- Fix errors in the docstrings in
sage/combinat/ncsf_qsym/qsym.py
. The fundamental basis was defined incorrectly. The coproduct was claimed to be inherited from the polynomial ring (which was wrong). The finitely-many-variables case was moved from the beginning to the end of the introduction because it is not implemented in Sage. Shuffles were replaced by stuffles in the definition of the product on the monomial basis.
There are some obvious ways to go from here (corresponding changes on NSym, the Hazewinkel basis, possibly optimizing the dual immaculates etc.) but I am done for now.
The #14775 dependency is only because of a reference in the docstrings.
Apply:
Attachments (6)
Change History (26)
Changed 7 years ago by
comment:1 Changed 7 years ago by
- Cc saliola chrisjamesberg jbandlow added
- Dependencies set to #14775
- Description modified (diff)
- Status changed from new to needs_review
- Summary changed from QSym: bad documentation to QSym: internal coproduct, Frobenius, lambda-of-monomials, documentation fixes
comment:2 Changed 7 years ago by
comment:3 Changed 7 years ago by
Thanks for looking into this! I copypasted the accents from the Windows host (no idea how to generate them in Ubuntu), so I'm not surprised they were causing issues; sorry for that. As for [Mal-These]
, I prefer long identifiers to avoid collision, but if [Mal]
is unique (and stays so until the merge) that's fine with me.
Yes, there are Verschiebungen on NSym, to be implemented in a later patch.
comment:4 Changed 7 years ago by
I don't think that identifiers need to be long to be unique. Maybe it is the hyphen, but the [Mal-These]
was causing very awkward formatting in the documentation. Probably [MalThese]
or [Mal93]
are fine.
I will continue to look at the code. Please see if you can figure out why the documentation for ElementMethods
including frobenius
and internal_coproduct
do not appear.
comment:5 Changed 7 years ago by
I've no idea; I'm not able to reasonably view the docs on my Ubuntu at all (neither html nor pdf which doesn't even compile) so I'm working more or less blindly as far as the markup goes.
comment:6 Changed 7 years ago by
- Dependencies changed from #14775 to #14775, #13505
- Status changed from needs_review to needs_work
Hi Darij, I've finished reviewing this patch. I have an additional handful of minor doc changes (which are harder to track down because they don't appear in the html file).
I added the dependency of #13505 because it modifies qsym.py and this patch will come after and so needs to be rebased. Can you fold the patches and rebase against it (and #14101)? I will upload a new version in a minute.
The reason why the documentation does not appear is that class QuasiSymmetricFunctions -> class Bases -> class ElementMethods
is nested too far and there is a bug that prevents the documentation from being compiled. Nicolas and others are working on a patch in #9107 to make the documentation in nested classes appear.
The strangest thing I found in the documentation is that the word itself
was replaced by itQuasiSymmetricFunctions
. I cannot explain that.
Changed 7 years ago by
comment:7 Changed 7 years ago by
Thanks for the update. Commenting as I'm reading through it:
Sorry for the trac syntax in the docstrings; that was stupid of me.
I've changed
This example demonstrates the non-commutativity of the internal coproduct::
into
This is confirmed by the following Sage computation (incidentally demonstrating the non-cocommutativity of the internal coproduct)::
In contexts like
Element methods of the ``Monomial`` basis of ``QuasiSymmetricFunctions.``
the period should be outside of the verbatim mode.
I added a link to Gessel's paper in the reference list.
Replaced "degree of the power series" by "total degree of the power series".
"the product by the realization within the polynomial ring" replaced by "the product on the realization within the ring of power series".
The next paragraph now reads
There is a coproduct on `\mathrm{QSym}` as well, which in the Monomial basis acts by cutting the composition into a left half and a right half. The coproduct is not co-commutative::
comment:8 Changed 7 years ago by
Rebased. Positive review then?
comment:9 Changed 7 years ago by
patchbot:
apply trac_15094-rebased-QSym-dg.patch
comment:10 Changed 7 years ago by
- Description modified (diff)
- Status changed from needs_work to needs_review
comment:11 Changed 7 years ago by
I am getting 9 doctests failing
Please check, but I think that you need to add the line
from sage.combinat.ncsf_qsym.combinatorics import compositions_order
comment:12 Changed 7 years ago by
Oops! Thanks for catching this creepy issue (I see where it came from; it shows rebasing is not as simple as merging diffs). The tests (well, those in the ncsf_qsym subfolder) pass now.
comment:13 Changed 7 years ago by
- Status changed from needs_review to positive_review
I also checked and adding that line everything passes.
comment:14 Changed 7 years ago by
Thank you again!
comment:15 Changed 7 years ago by
- Reviewers set to Mike Zabrocki
- Type changed from defect to enhancement
Changed 7 years ago by
comment:16 Changed 7 years ago by
- Reviewers changed from Mike Zabrocki to Mike Zabrocki, Travis Scrimshaw
- Status changed from positive_review to needs_work
I got some docbuilder warnings and there some doc formatting issues. Here's a review patch which fixes these as well as makes one notational change from \mathbf{k}
to R
since the former commonly denotes a field but we often consider (almost) arbitrary rings such as \ZZ
.
comment:17 Changed 7 years ago by
- Description modified (diff)
- Status changed from needs_work to needs_review
For patchbot:
Apply: trac_15094-rebased-QSym-dg.patch, trac_15094-review-ts.patch
Changed 7 years ago by
comment:18 Changed 7 years ago by
- Description modified (diff)
- Status changed from needs_review to positive_review
Nice changes; here's just a couple of typos fixed. I'm setting it to positive review, OK?
For patchbot:
Apply: trac_15094-rebased-QSym-dg.patch, trac_15094-review-ts.patch trac_15094-last-changes-dg.patch
comment:19 Changed 7 years ago by
- Milestone changed from sage-5.12 to sage-5.13
comment:20 Changed 7 years ago by
- Merged in set to sage-5.13.beta0
- Resolution set to fixed
- Status changed from positive_review to closed
I have an initial review patch (not done yet) and without removing a few accented characters I was unable to compile the documentation. I cannot figure out why some of the doc strings do not appear in the documentation files (e.g. anything in
Bases.ElementMethods
). This problem seems to be a pre-existing condition, but I can't read the docstrings easily without fixing it.I haven't played with the functionality, but just a comment about the math: If Adams / Frobenius is defined on QSym should Verschiebung be defined on NSym? Just a thought.