#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.

Reply via email to