Opened 6 years ago

Closed 6 years ago

#14906 closed enhancement (fixed)

Implement method to expand cycle index series as symmetric function in variables

Reported by: agd Owned by: agd
Priority: minor Milestone: sage-5.12
Component: combinatorics Keywords:
Cc: mguaypaq Merged in: sage-5.12.beta3
Authors: Andrew Gainer-Dewar Reviewers: Mathieu Guay-Paquet
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description

The cycle index series of a species is a symmetric function in the power-sum basis. Expanding this symmetric function in a set of underlying variables can reveal interesting enumerative information about the species; the coefficients of this underlying power series count "partially-labeled" structures in a Pólya-theoretic sense.

The attached patch adds an expand_as_sf method to the CycleIndexSeries? class which performs this expansion. It essentially just calls the expand method of the underlying symmetric functions, then uses the result as the terms of a LazyPowerSeries?.

This code is doctested and ready for review.

Attachments (1)

trac_14906-cycle_index_expand_as_sf.patch (2.0 KB) - added by agd 6 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 6 years ago by agd

  • Status changed from new to needs_review

comment:2 Changed 6 years ago by agd

For the patchbot:

apply trac_14906-cycle_index_expand_as_sf.patch

comment:3 Changed 6 years ago by agd

  • Branch set to u/agd/cis_expand_as_sf

comment:4 Changed 6 years ago by mguaypaq

  • Cc mguaypaq added
  • Reviewers set to mguaypaq
  • Status changed from needs_review to needs_work
  • Work issues set to fix the commit message

The patchbot is complaining about a problem with the commit message (it shouldn't contain the [mq] that it currently starts with, and it should include the ticket number 14906 somewhere). I'll let you fix this yourself.

Meanwhile, the code is straightforward and documented, and the html and pdf documentation both build without errors and look fine. I'll play around with the code some more, but it's looking good so far!

comment:5 Changed 6 years ago by agd

  • Status changed from needs_work to needs_review

Thanks for the feedback! I have uploaded a new patch which corrects the commit message.

comment:6 Changed 6 years ago by mguaypaq

  • Reviewers changed from mguaypaq to Mathieu Guay-Paquet
  • Status changed from needs_review to positive_review
  • Work issues fix the commit message deleted

I checked that the output of this function on a few examples agrees with the data from Table 4.1 (Cycle index series of particular species) from Bergeron, Labelle and Leroux's book "Combinatorial Species and Tree-Like Structures", so I believe that it's mathematically correct.

Also, the commit message issue is now fixed.

The only potential problem is the patchbot's startup_time plugin which failed in the latest round of testing. However, the patch only adds a small method to an existing class, so I can't believe that it would really cause a speed regression.

Positive review!

comment:7 Changed 6 years ago by agd

Thanks for the review! The startup_time failure is a mystery to me as well; as you say, this is just one small method!

comment:8 Changed 6 years ago by jdemeyer

Please make it clear whether the patch or the git branch should be merged. In the latter case, change the milestone to sage-6.0.

comment:9 Changed 6 years ago by agd

  • Branch u/agd/cis_expand_as_sf deleted

comment:10 Changed 6 years ago by jdemeyer

  • Merged in set to sage-5.12.beta3
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.