#15150: Implement NCSym
------------------------------------+-----------------------------
Reporter: tscrim | Owner: sage-combinat
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-5.12
Component: combinatorics | Resolution:
Keywords: | Merged in:
Authors: Travis Scrimshaw | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: #15143 | Stopgaps:
------------------------------------+-----------------------------
Comment (by tscrim):
Replying to [comment:23 zabrocki]:
> So about your question if `DNCSym` can be realized in the polynomial
algebra. The answer is 'probably' but no one has ever done this. Maybe
you can make a guess at the realization by what I will write. I will
guess that the dual to the complete basis is some sort of monomial basis
(the `w` basis is the dual to the `m` basis).
>
> The morphism from `DNCSym` into `Sym` is 'the coefficient of `w_A` in
`h_\lambda` is equal to the coefficient of `m_\lambda` in `chi(m_A)`.'
Therefore,
>
> {{{
> \sum_{A} A^{!} w_A = h_\lambda
> }}}
> where the sum is over `A` with set partitions with part lengths a
partition `\lambda` and the `A^{!}` notation is from Rosas / Sagan p. 4.
Okay, this is describing the image of the map I currently have
implemented:
{{{
sage: h = SymmetricFunctions(QQ).h()
sage: w = SymmetricFunctionsNonCommutingVariables(QQ).dual().w()
sage: w(h[2,1,1])
2*w{{1}, {2}, {3, 4}} + 2*w{{1}, {2, 3}, {4}} + 2*w{{1}, {2, 4}, {3}}
+ 2*w{{1, 2}, {3}, {4}} + 2*w{{1, 3}, {2}, {4}} + 2*w{{1, 4}, {2}, {3}}
}}}
This map is respecting the multiplication
{{{
sage: w[[1,2]] * w[[1]] * w[[1]]
2*w{{1}, {2}, {3, 4}} + 2*w{{1}, {2, 3}, {4}} + 2*w{{1}, {2, 4}, {3}}
+ 2*w{{1, 2}, {3}, {4}} + 2*w{{1, 3}, {2}, {4}} + 2*w{{1, 4}, {2}, {3}}
}}}
so we can at least get `w[[1,2,...,n]] = h[n]` as the correct expansion.
However this does not seem straightforward to me in general as we have
{{{
sage: h[2,1,1].expand(2)
x0^4 + 3*x0^3*x1 + 4*x0^2*x1^2 + 3*x0*x1^3 + x1^4
}}}
If it does work, it probably uses crossings and/or nestings, but I don't
see it.
Anyways, do you think I should add a method `is_symmetric_function()`
and/or `to_symmetric_function()` for the dual bases?
Also I found a bug with the expansion, in that `SetPartition` was not
always living in the correct parent when taking `inf` or `sup`. I also
added `to_symmetric_function` for the '''e''', '''h''', and '''p'''
`NCSym` basis to return the correct object in the e, h, and p `Sym` basis
resp.
For patchbot:
Apply: trac_15150-ncsym-ts.patch
--
Ticket URL: <http://trac.sagemath.org/ticket/15150#comment:24>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.