#14543: Implement compositional inverses of cycle index series
------------------------------------------+---------------------------------
       Reporter:  agd                     |         Owner:  sage-combinat
           Type:  enhancement             |        Status:  needs_review 
       Priority:  major                   |     Milestone:  sage-5.11    
      Component:  combinatorics           |    Resolution:               
       Keywords:  species, cycle indices  |   Work issues:               
Report Upstream:  N/A                     |     Reviewers:               
        Authors:                          |     Merged in:               
   Dependencies:                          |      Stopgaps:               
------------------------------------------+---------------------------------

Comment (by agd):

 Replying to [comment:8 nthiery]:
 > For the record: I recently needed the compositional inverse for Lazy
 power series, and a couple other related operations; they are in the patch
 I am about to attach; you can also find it in the queue. Feel free to take
 over / recycle whatever might be relevant.

 Unfortunately, I don't think this approach will work at the
 `CycleIndexSeries` level. The `compose_inverse_with` method from your
 patch, it appears that you're using the Inverse Function Theorem. This
 actually ''does'' work at the level of cycle index series (by a sort of
 combinatorial chain rule!), but the resulting differential equation is
 intractable in general, because taking species-theoretic derivatives of
 cycle index series destroys ''lots'' of information (in particular, every
 term without a p_1 is destroyed).

 I haven't dug too deeply into the algebra, but I am fairly confident that
 using `LazyPowerSeries` derivatives instead is not mathematically
 meaningful and won't yield anything useful.

 Looking this over has, however, brought to my attention that Sage does not
 have a method for `CycleIndexSeries` implementing the ''species-
 theoretic'' derivative. Curiously, the `LazyPowerSeries` `derivative()`
 and `integral()` methods are used several times in the existing code-base
 to pull off algebra tricks, so factoring out these (in my opinion)
 deceptive names would be a bit of a hassle, but it might still be
 worthwhile. This is probably at least as much a cultural question as a
 code one, though, so perhaps I should steer clear until I get to know the
 environment better?

 Also, since the patchbot now seems to be confused:

 apply trac_14543_cycle_index_compositional_inverse.patch

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