-
-
Notifications
You must be signed in to change notification settings - Fork 660
Description
This patch does the following:
-
Implement the Verschiebung map on NSym (the map adjoint to the Frobenius on QSym implemented in QSym: internal coproduct, Frobenius, lambda-of-monomials, documentation fixes #15094). The current implementation handles all bases by coercion to the homogeneous one. I planned to implement the Psi, Phi, R and L bases separately, but I am unable to (see below).
-
Add a
to_descent_algebra
map to the newly implemented (Descent algebra #14981) descent algebra. The difference between the signature of my map,to_descent_algebra(self, n)
, and that of the old map to the symmetric group algebra,to_symmetric_group_algebra(self)
, is intentional: My map takes a noncommutative symmetric functionself
and an integern
and projects then
-th homogeneous component ofself
on then
-th descent algebra; the mapto_symmetric_group_algebra
takes just a noncommutative symmetric functionself
and projects it on thedeg(self)
-th symmetric group algebra ifself
is homogeneous, otherwise throws an exception. Ifself
is 0, then it outputs the int 0 (because 0 doesn't have a degree). In my opinion, my signature is the better one, not least because it handles 0 correctly. -
Clean up some of the doc and add definitions for the most important bases. The inaptly named "MultiplicativeBasesOnGroupLikeElements" class now has a more explanatory docstring. The incorrect claim about m_to_s_stat always outputting an integer has been removed. Dependency on the base ring being a QQ-algebra has been made clearer.
-
The meet and the join of two compositions wrt the refinement order have been implemented.
Here are things I wanted to change/add but got too confused:
-
I don't understand why the internal product is implemented in
generic_basis_code.py
rather thanncsf.py
. Isn'tgeneric_basis_code.py
for methods shared between QSym and NSym? There is no internal product on QSym. -
This here is a doctest which has been around before me:
sage: N = NonCommutativeSymmetricFunctions(QQ)
sage: S = N.complete()
sage: S.internal_product
Generic endomorphism of Non-Commutative Symmetric Functions over the Rational Field in the Complete basis
The output makes no sense: The internal product is not an endomorphism of anything.
-
I am trying to overshadow the
verschiebung
function I implemented on a generic NSym basis by a specific implementation on the ribbon basis. So I've added it underclass ElementMethods:
in theclass Ribbon
. But it doesn't get precedence over the generic implementation at runtime! What am I doing wrong? -
[Fixed by Travis, Implement to_symmetric_group_algebra for all bases of DescentAlgebra #15170.] This is probably for Travis: is it intentional that the
to_symmetric_group_algebra
method indescent_algebra.py
is defined only on the D-basis, rather than on every basis or globally on the whole descent algebra?
Apply:
Depends on #14775
Depends on #14981
Depends on #15094
Depends on #15122
CC: @tscrim @sagetrac-sage-combinat @zabrocki @nthiery
Component: combinatorics
Keywords: sage-combinat, NSym, NCSF, symmetric functions
Author: Darij Grinberg
Reviewer: Travis Scrimshaw
Merged: sage-5.13.beta1
Issue created by migration from https://trac.sagemath.org/ticket/15164