#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:
------------------------------------+-----------------------------

Old description:

> Implement the Hopf algebra of symmetric functions in non-commuting
> variables in the following bases:
>
> - monomial '''m'''
> - elementary '''e'''
> - homogeneous '''h'''
> - power-sum '''p'''
> - '''x'''
> - '''q'''
>
> as well as the dual basis '''w'''.

New description:

 Implement the Hopf algebra of symmetric functions in non-commuting
 variables in the following bases:

 - monomial '''m'''
 - elementary '''e'''
 - homogeneous '''h'''
 - power-sum '''p'''
 - '''x'''
 - '''q'''

 as well as the dual basis '''w'''.

 Apply: [attachment:trac_15150-ncsym-ts.patch]

--

Comment (by tscrim):

 Here's the new version of the patch which (hopefully) takes care of all of
 Darij's comments. How the `internal_coproduct*` works is a trick with
 `lazy_attribute` which `*_by_coercion()` creates the correct morphism
 object if `*_on_basis()` is not implemented and so it behaves like a
 method.

 I've removed the coercion from `NCSym` to `Sym` since it is not a Hopf
 morphism, which is a requirement for it to be a coercion. I've fixed the
 input to accept `x([[1,3],[2]])` as well.

 Currently to get from `x` to `q` (or vice versa) there's a few coercions
 going on, and I don't know of a way to go between them directly. (Data
 suggests that `x(q[A])` is a sum over some subset of set partitions with
 all coefficients occurring (-1)^nest(A)^.)

 For `DNCSym`, is there a way to express an element in the '''w''' basis as
 a polynomial? Currently I have a map from `Sym` to `DNCSym` which is at
 least (appears to me to be) an algebra morphism (see the
 `sum_of_partitions()` method). Is this a Hopf morphism and is the map from
 `DNCSym` to `Sym` the inverse of this map?

 Thank you all for looking at this patch,[[BR]]
 Travis

--
Ticket URL: <http://trac.sagemath.org/ticket/15150#comment:20>
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