-
-
Notifications
You must be signed in to change notification settings - Fork 487
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
Metaticket for combinatorial species #30727
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:10
Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date. |
The book https://www.cambridge.org/core/books/combinatorial-species-and-treelike-structures/D994A1F2877BDE63FF0C9EDE2F9788A8 gives you a gentle introduction. Chapter 5 is not relevant. One project is the implementation of the https://en.wikipedia.org/wiki/Burnside_ring of a finite group. This is completely separate from combinatorial species, but will be a necessary tool. I would hope that we can use gap to do the actual computations: https://docs.gap-system.org/doc/ref/chap70.html. If you are interested in doing some mathematics, it might be fun to start playing with this right away. The Burnside ring takes a finite group as input. Its elements are then the conjugacy classes of subgroups, and you have to implement addition and multiplication, using the table of marks. https://www.sciencedirect.com/science/article/pii/0097316589900198 is an article clarifying the connection with combinatorial species. The relevant section of the book by Bergeron, Labelle and Leroux is 2.6. Using this, it is possible to obtain the molecular / atomic decomposition of a species. Of course, for a general species this will be incredibly slow, and doable only if the size is very small. However, for the species which are implemented explicitly we could then implement the molecular / atomic decomposition just as we currently implement the Frobenius character (also known as cycle index series). One major goal is to be able to compute isomorphism types of structures with respect to an action of a Young subgroup (i.e., I know very little about random generation, and I have no clear picture on how to interface with Usain-Boltz. I believe, the main difficulty here is to work out this interface, and I would not be surprised if this is hard to get right. |
Thank you @mantepse for such a detailed response. I would be definitely interested in implementing and learning the mathematics behind burnside_ring. I have a few questions, can you tell me what are the prerequisites of the book that you have linked, so that I could start working on them right away. Can you tell me issues_number that deal with the concepts you mentioned so that I could start understanding the code-base also related to this. |
This comment was marked as outdated.
This comment was marked as outdated.
Thank you @mantepse for your response, I will start working on it right away. |
A first guiding question for your study: given a combinatorial species, define the corresponding permutation group / group action of the symmetric group, and conversely. If you have questions, math.stackexchange may be a good place. |
Can I answer this question afterwards, as It will take some time to read the book. Also @mantepse can you provide me any means of contacting you other than github and mail. |
@mantepse , Upto the point I have read the book, and thought of the question, I had came up with following: The permutation group of a species
|
This comment was marked as outdated.
This comment was marked as outdated.
Please have a look @mantepse |
This comment was marked as outdated.
This comment was marked as outdated.
|
@mantepse please have a look now |
This comment was marked as outdated.
This comment was marked as outdated.
|
This comment was marked as outdated.
This comment was marked as outdated.
@mantepse , can I answer this question afterwards, as currently I am engaged in writing the project proposal regarding this project and need some help.
|
This comment was marked as outdated.
This comment was marked as outdated.
@mantepse , I have tried my level best for this. I don't know what lead you to this conclusion, but I hope you find a suitable person for this project. I will try for some other project in sagemath. |
This comment was marked as outdated.
This comment was marked as outdated.
Hi! I would like to preface this by saying I am a prospective GSoC applicant for SageMath. That being said... I have taken an introductory course in abstract algebra, so I have a basic background in group theory, ring theory, and field theory. I also know a little bit of character theory, but I think I can learn it more in depth quickly. However, I do not have any background in combinatorial species (yet). Given the above, I'd like to try my hand at implementing the Burnside ring. I'm not sure what functionality is required by "implementing" it. I took a look at this thread from 2021. So, is it functionality like what was requested there? Also, how can I contact you? What kind of discussion is this thread appropriate for? Looking forward to hearing from you! |
Bump @mantepse |
Hi @Newtech66, sorry for the delay, I was at a conference. Concerning the Burnside ring: elements are formal sums of isomorphism classes of group actions of a given group
|
Here is a brute force implementation without any bells and whistles:
|
Ok, here's what I understand: In the brute force implementation, first we are creating a Weyl group of type The point is, we can build a table of marks for this group. So next we interface with GAP and get the Table of Marks. A ring element of the Burnside ring of a group Now enters the group action. We take a set According to Wikipedia, we can now decompose |
@mantepse (Is it necessary to tag someone to notify them of a reply in a thread? Please let me know if I shouldn't do this.) |
Just to make it completely clear: what I wrote is a mockup, so better method names may exist. Tagging is only necessary if the tagged person was not involved in the issue before. |
After completing this task, I can study about combinatorial species and cycle index series and try to provide the quotient species from G-species as required from #14347. I plan to use the following reference: https://arxiv.org/abs/1312.0542 |
An Implementation of this is already available. It only has to be integrated. |
More questions:
|
The tasks really are as follows:
Items 3 and 4 are partially pen and paper work, and the hardest tasks. To make the project a success, I suspect that anybody tackling this would have to start thinking about them very soon, long before the actual coding. Item 4 may be linked to 'tilde' species, as defined on page 310, Definition 1 of the book. The problem I currently have with this definition is that Currently, the isomorphism types are programmed for each species and for each operation on species separately. In particular, the isomorphism types of a sum (or product) happen to be the pairs of isomorphism types of the two summands (respectively factors). But this does not work for other operations - using the 'tilde' species would always work. Alternatively, we can obtain the isomorphism types of the substitution species (as in section 1.4 of the book) if we can obtain the isomorphism types with respect to a Young subgroup of the symmetric group of a species. But I am not sure whether this is the correct way to do it. |
Where in the book can I find a discussion of multivariate species? |
That's 2.4. Extension to the Multisort Context. Personally, I find the name multisort OK, but multiset (definition 2) misleading. A multiset in the sense of the book is simply a tuple of sets of labels. |
Hi @Newtech66, did you get the zoom link? |
Related to sagemath#30727. We implement basic functionality for multivariate polynomial species, using its representation as a pair of a permutation group and a mapping between the domain of the permutation group and some variables. We provide addition, multiplication, and (partitional) composition (for some special cases). We also allow it to be constructed as a group action (or a sequence thereof). Atomic and molecular decompositions are automatically computed thanks to sagemath#38371. ### 📝 Checklist - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. URL: sagemath#38446 Reported by: Mainak Roy Reviewer(s): Mainak Roy, Martin Rubey, Travis Scrimshaw
Related to sagemath#30727. We implement basic functionality for multivariate polynomial species, using its representation as a pair of a permutation group and a mapping between the domain of the permutation group and some variables. We provide addition, multiplication, and (partitional) composition (for some special cases). We also allow it to be constructed as a group action (or a sequence thereof). Atomic and molecular decompositions are automatically computed thanks to sagemath#38371. ### 📝 Checklist - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. URL: sagemath#38446 Reported by: Mainak Roy Reviewer(s): Mainak Roy, Martin Rubey, Travis Scrimshaw
Related to sagemath#30727. We implement basic functionality for multivariate polynomial species, using its representation as a pair of a permutation group and a mapping between the domain of the permutation group and some variables. We provide addition, multiplication, and (partitional) composition (for some special cases). We also allow it to be constructed as a group action (or a sequence thereof). Atomic and molecular decompositions are automatically computed thanks to sagemath#38371. ### 📝 Checklist - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [x] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. URL: sagemath#38446 Reported by: Mainak Roy Reviewer(s): Mainak Roy, Martin Rubey, Travis Scrimshaw
In preparation for a long needed overhaul (and a workshop in early 2021 I am planning), let's collect tickets and issues related to combinatorial species here. An earlier roadmap is #10662. An earlier attempt to refactor the species code is #20622.
Meta ticket: unified sequence/lazy list objects #16107 is the meta-ticket for lazy lists, refactoring the species code, should cross check with major improvements to lazy power series #15673
improve operations with symmetric functions - it would be particularly nice if a cycle index would just be a symmetric function, so we can immediately use their operations
implement the notion of polynomial species (that is, species with F[n] = {} for n large enough), so that we can compute the composition of a polynomial species with a species that has non-zero constant term.
multivariate species, see Symmetric functions in several alphabets #13264
provide isomorphism types for composition (which probably needs multivariate species or quotients)
establish link to permutation groups, and thus provide the molecular/atomic decomposition of a species of fixed cardinality and thereby also decidable equality
keep track of symbolic expressions for generating functions
revive group cycle index Implement group cycle indices #14347 - a big issue is that this code only provides the cycle index series, not the quotient species themselves
interface to https://gitlab.com/ParComb/usain-boltz for random generation
allow sets as input for structures, possibly also use
_getitem_
for structures, create a class for bijections between finite sets which we can use to relabel structuresprovide the arithmetic product on the level of structures
provide the exponential composition of https://arxiv.org/abs/0705.0038
species for other groups, in particular the hyperoctahedral group
CC: @slel @sagetrac-tmonteil @MatthieuDien
Component: combinatorics
Keywords: species
Issue created by migration from https://trac.sagemath.org/ticket/30727
The text was updated successfully, but these errors were encountered: