-
-
Notifications
You must be signed in to change notification settings - Fork 453
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement arithmetic product of cycle index series #14542
Comments
This comment has been minimized.
This comment has been minimized.
comment:2
Huh -- can you explain the very first edit in the patch? This looks like an inadvertent page-down or a case of trying to use search but forgetting to press Ctrl+F... |
comment:3
Yikes! Sorry about that. I've replaced the patch with a version without that line. Thanks for looking it over! |
comment:4
line 602: "g" should be inside double backticks. line 620: Where does the "1 +" come from? Is there a regular octopus on 0 vertices? (I don't think so.) line 623: xrange will be deprecated in Python 3.0; just saying. line 643: Please explain what the arithmetic product of partition is supposed to mean. The Maia-Mendez paper defines the arithmetic product of polynomials; as far as I understand, by the arithmetic product of two partitions \lambda and \mu you mean the partition obtained by writing down gcd(\lambda_i, \mu_j) times the integer lcm(\lambda_i, \mu_j) for every i and every j, and then sorting the resulting sequence in nonincreasing order. That's fine, but you should clarify the relation between
About your implementation of line 685: I disagree with this, as on line 620. line 690: Why do you put a p.zero() after res? (I'm new to the CycleIndexSeries class, so maybe it's important...) On another note rather unrelated to Sage: The species viewpoint on the arithmetic product shows that the arithmetic product on the ring of symmetric functions (the one given by p_\lambda \boxdot p_\mu = \prod_{i,j} p_{\lcm(\lambda_i, \mu_j)}^{\gcd(\lambda_i, \mu_j)} for all partitions \lambda and \mu) is defined over the integers, not just over the rationals (despite the p_\lambda not forming a Z-basis of Symm). Is there an algebraic proof of this? It looks like a nice application of species to proving a nontrivial algebraic result. Is there a species-theoretical proof of the integrality of \Delta_3 in http://mathoverflow.net/questions/120924/is-the-renormalized-third-comultiplication-on-mathbfsymm-integral as well? EDIT: This patch made me aware that I have no idea what the |
comment:5
Replying to @darijgr: Thanks so much for your thorough review! I'm currently in the middle of writing and grading final exams, but I'll dig into your comments and the code next week. |
Patch to implement arithmetic product of cycle indices |
comment:6
Attachment: trac_14542_cycle_index_arithmetic_product.patch.gz Replying to @darijgr: Thanks again for your review! I've had a chance now to go back and look over your comments more closely.
Fixed.
I've gotten into the rather unfortunate habit of ignoring the situation at n=0, but you're right about this one. I've updated the code to reflect this.
Since the numbers involved here are small, just using range instead won't hurt anything, so I've switched it over.
On review, I think your way is much better; if nothing else, it results in much cleaner and (to my eye) more mathematical code. I've added comments explaining what happens in each method and how they connect to the paper.
Also fixed.
The sum_generator method takes finite lists, but they need to represent infinite objects, so it assumes that the last element of the list is meant to repeat. Thus, the zero.
I'll need to give this some more thought, but I wanted to go ahead and get the revised code up. I'm much more a combinatorialist than an algebraist, so I may not be the best person for the job, but I will definitely give it a thinking-over.
This would definitely be helpful. My understanding of it is very limited; I seem to have managed to bend it to my will, but I'm quite far from mastery. The basic idea seems to be that it formally constructs a LazyPowerSeries by adding over an infinite iterable of "generators", but the details are buried deep in Stream and LazyPowerSeries. |
comment:7
Thanks for the update! I'll have to take a closer look at it. Meanwhile, are you sure you want those In other news:
I don't think the 1 repeats because it's the last element -- it is not, in the second case. I think it repeats because of the "sum" in "sum_generator". But like you, I don't have a clue what's going on with |
Branch: u/agd/cis_arith_prod |
review patch |
comment:9
Attachment: trac_14542-review-dg.patch.gz I've attached a review patch. Sorry for it taking that long; I was waiting for a thorough explanation of I have added some more info to the docstring and the comments, replaced the arXiv link by the proper syntax for arXiv identifiers (hopefully correctly), improved PEP 8 compliance (it's For the patchbot: Apply trac_14542_cycle_index_arithmetic_product.patch trac_14542-review-dg.patch |
comment:10
Replying to @darijgr: Thanks for the review!
Yes, the semantics of Alternately, if you'd be willing to put together a new patch, the correction is simple. The lines
should be replaced by the single line
These changes all look great. Thanks for the help! I'm not sure whether it's appropriate to mark the patch as positive_review with the issue above still outstanding, so for now I'll just say it: Positive review! |
comment:11
You want You are correct that |
This comment has been minimized.
This comment has been minimized.
comment:14
Replying to @darijgr:
Whoops! This is what I get from trying to write code from a browser after a day of workshops.
How strange! I'll add this to my pile of things to investigate once I get back on my feet. Using Once again, thanks for the feedback and the review! |
comment:15
Please fill in the real names of the Authors and Reviewers. |
Author: Andrew Gainer-Dewar |
Reviewer: Darij Grinberg |
comment:17
I am assuming the patches should be merged and the git branch is just there for reference. |
Merged: sage-5.12.beta3 |
Changed branch from u/agd/cis_arith_prod to none |
In a 2008 paper (see below), Maia and Méndez define an operation on combinatorial species which they dub the "arithmetic product". This operation corresponds to a nice combinatorial operation: the arithmetic product F⊡G corresponds to the species of "F-assemblies of cloned G-structures", which are structures of the partitional composite species F∘G with the additional requirement that all the G-structures be isomorphic.
As shown in the paper, the cycle index of the arithmetic product F⊡G can be computed in terms of the cycle indices of the species F and G. The attached patch adds code to calculate the result of this operation. It includes a doctest which verifies a nontrivial computation related to the species of "regular octopuses".
Apply:
CC: @sagetrac-sage-combinat
Component: combinatorics
Keywords: species, cycle index
Author: Andrew Gainer-Dewar
Reviewer: Darij Grinberg
Merged: sage-5.12.beta3
Issue created by migration from https://trac.sagemath.org/ticket/14542
The text was updated successfully, but these errors were encountered: