#14846: CycleIndexSeries derivative, integral, exponential methods are not
combinatorial
-------------------------------------+-------------------------------------
       Reporter:  agd                |        Owner:  agd
           Type:  enhancement        |       Status:  needs_info
       Priority:  major              |    Milestone:  sage-6.2
      Component:  combinatorics      |   Resolution:
       Keywords:  LazyPowerSeries,   |    Merged in:
  species                            |    Reviewers:  Martin Rubey
        Authors:  Andrew Gainer-     |  Work issues:  documentation
  Dewar                              |       Commit:
Report Upstream:  N/A                |  334c0956250038eae2d6efc915231e650b13be79
         Branch:  u/agd/cis/deriv    |     Stopgaps:
   Dependencies:  15673              |
-------------------------------------+-------------------------------------
Changes (by agd):

 * dependencies:   => 15673


Comment:

 Replying to [comment:21 mhansen]:
 > One (minor) issue is the removal of combinatorial_logarithm.py which
 might need to be deprecated.

 Ah, yes, this is an important point. I sometimes forget that other people
 might have used my code… =D

 > I've also done a "rebase" of this on top of #15673 which makes the code
 a little bit cleaner.  This is in branch "u/mhansen/ticket/14846" .
 Ideally, I'd prefer to have #15673 go in first since the rebase/merge of
 this ticket is easier than the other way around.

 I don't yet understand everything that's happening with #15673, but I'm
 starting to take a look at it. I'm definitely open to the idea,
 though—better series code will make all our work easier! I've taken a look
 at your rebased version of this, and have a few thoughts up-front:

 * In the docstring for the deprecated `CombinatorialLogarithmSeries()`,
 you point the reader to `CycleIndexSeriesRing(R).exponential()`, but in
 fact this should be to `CycleIndexSeriesRing(R).omega()`.

 * Relatedly, I'd argue that the `CycleIndexSeriesRing(R).omega()` and
 `CycleIndexSeriesRing(R).exponential()` methods should instead be named
 `logarithm_series()` and `exponential_series()`. In the first place, the Ω
 notation is not totally standard (it's used by Labelle, but other authors
 have called this virtual species "Con" or other things); in the second, I
 think it's conceptually important to emphasize that these objects are
 //series// and not //operations//, since the operations are implemented as
 `CycleIndexSeries().exponential()` and `CycleIndexSeries().logarithm()`
 respectively. (Of course, the documentation should mention the
 relationship between the two!)

 * `CycleIndexSeriesRing.LogarithmStream` appears to be internal, so the
 docstring of `CycleIndexSeries.logarithm()` should refer instead to
 `CycleIndexSeriesRing.logarithm_series`.

 I've updated the ticket branch to use your code with these changes. I've
 also set a dependency on #15673. (Evidently, I bungled the ticket
 modifications a bit, but I think it's all sorted now.)
 ----
 Last 10 new commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=fea9eb0e8a57196b269c96d39c52bfacd6838a00
 fea9eb0]||{{{#15248: Convert LazyPowerSeriesRing (and friends) to new
 coercion model}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=652520034250fb22edfb96ce02f8adc943de36a7
 6525200]||{{{Remove dependence on sage.combinat.species.stream}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=ed19baa2e208d71a90dc9d10348fa9dc325ccc3c
 ed19baa]||{{{Add doctests to new_stream.py}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=654a89d5c25bd8c8cab03d2517a448ac799dc71f
 654a89d]||{{{Add doctests to generating_series.py}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=bd7527ccaf2e7dd57b38f7a32165783c5a97545b
 bd7527c]||{{{More work on doctests for series_stream.py}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=a696708e181c85bdfa355eaa3a253d4d2679c00b
 a696708]||{{{Add doctests for #15249, #15248, #10084, #10085, #10086,
 #13433, #14685.}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=f4157f7f221f244b1faa2a0d07ddd8cd85bb7007
 f4157f7]||{{{Remove dead code in
 GenericCombinatorialSpecies._series_helper}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=137301be8493425622c6eda916d7ca83d9f94fbf
 137301b]||{{{#14846: CycleIndexSeries derivative, integral, exponential
 methods are not combinatorial}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=2d3b46683d9cd567a75a9c737f248fd95b69354b
 2d3b466]||{{{Merge remote-tracking branch 'origin/u/mhansen/ticket/14846'
 into cis-deriv}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=4efe9b08164bf688e15ef3729858a4eb2996e7c2
 4efe9b0]||{{{Rename CycleIndexSeriesRing.omega() to logarithm_series}}}||

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