-
-
Notifications
You must be signed in to change notification settings - Fork 481
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
Give posets polynomials (order, characteristic, zeta, etc.) #13240
Comments
Changed keywords from sd40 to sd40, days45 |
comment:3
A first patch, with three of the simplest polynomials |
comment:4
I have added the flag f-vector |
comment:5
I have added the flag h-polynomial |
comment:6
I have added the characteristic polynomial |
This comment has been minimized.
This comment has been minimized.
comment:8
I think we have code from Sage Days 45 for the order polynomial (which is one line once you have zeta), the antichain polynomial and the chain polynomial. |
comment:9
great ! could you post it here as a patch on top of mine ? |
comment:10
Will do. I'm compiling sage at the moment, but I should be able to do it sometime this evening (GMT -6). Note several hours later: compiling took way longer than expected. Will add to the patch tomorrow. |
comment:11
The patch didn't apply. I'm pretty sure it's a problem on my end and my installation is still messed up. I'll add things when I get it fixed. |
Attachment: trac_12340_poset_polynomials-csar.patch.gz add chain polynomial and order polynomial |
comment:12
Okay, I've added the chain polynomial and the order polynomial. We had something written for the antichain polynomial, but I didn't include it as I wanted to check with Kevin if he knew a better way of doing it like he worked out for the chain polynomial. The chain polynomial is written so you can ask for it in terms of something other than q. So, for example, I made a second patch on top of yours because I wasn't sure if I should be making a separate one or just adding to the patch, and combining them shouldn't be hard. |
comment:13
Yes, it is better to upload a patch that applies on top of mine. I will have a closer look at your code soon. |
This comment has been minimized.
This comment has been minimized.
comment:14
ok, here is a short review patch of your code. I have removed trailing whitespaces that you had introduced, and made small changes to the code. I have also made sure that each method starts with a brief (one-line) description of what it does. Details are then given on other lines. I would prefer not to propose the use of another variable in the code, but rather give no option. The user will get a polynomial, that he can then evaluate on whatever he wants. I think this keeps the code cleaner and shorter. Combining patches is indeed easy, and can be done just once when everything is ready. |
This comment has been minimized.
This comment has been minimized.
comment:16
maybe we could stop here adding other polynomials, and try to let this set of polynomials enter sage ? |
comment:17
apply trac_1324O_first_step-fc.patch, trac_12340_poset_polynomials-csar.patch, trac_13240-review1-fc.patch |
comment:19
Hello ! Would it be possible to add definitions of what these polynomials are, possibly as links toward wikipedia pages ? I also think that you should cache minimal and maximal elements in the code of
Hence if you want to write this function, this really should not be computed so many times. Besides : you only implement this method for bounded posets, which means that there is one max and one min elements. Hence this complicated line only checks that each vertex is different from two given vertices. I personally do not think that this Oh, and Florent thinks that it would be nice to add "seealso" sections toward "is_bounded", or toward polynomials that are related with each other. See youuuuuuuuuuuuuuuuUU !! Nathann |
comment:20
I'm not actually sure there are definitions on Wikipedia for any/some/most of these (I took a quick look and didn't find any). But one could include references to EC1. |
comment:21
Here is a new patch I have tried to adress some of the points raised by Nathan:
There remains to explain the definition of every polynomial, and give the references to EC1 |
comment:23
Attachment: trac_1324O_first_step-fc.patch.gz apply trac_1324O_first_step-fc.patch,trac_12340_poset_polynomials-csar.patch,trac_13240-review1-fc.patch |
comment:24
I have added a few more reference to Enum. Comb. 1 |
comment:25
Maybe this ticket can be considered good enough ? One patchbot has turned green, so there is an opportunity right now. |
comment:27
Helooooooo ! There still isn't any definition of what
Nathann |
comment:28
Hello Nathann, well, Would it be better to make |
comment:29
Well, yes. The best way out is to not copy the poset, to not call the Though if you want to call this
What about making it an option of "chains" ? Nathann |
comment:30
Attachment: trac_13240-review1-fc.patch.gz Hello Nathann, thanks for spending time on this ticket. I have removed I have also added more documentation. |
comment:31
Wow ! It sure looks cleaner this way I don't see anything wrong in this patch right now... Though I'm a bit embarassed because I don't understand the maths at all, and it would be nice if somebody could just check that the polynomials are indeed what they should be Nathann |
comment:32
The csar patch applied with fuzz for me (5.13beta0):
The file I'm uploading in a few seconds is just a qfold so that I get a better view of the changes myself. |
qfold |
Attachment: trac_13240-qfold.patch.gz UPDATED! everything reviewed, except for the two flag_* functions which I don't really understand nor can find a reference for. |
comment:33
Attachment: trac_13240-almost-review-dg.patch.gz Thanks, Nathan, for alerting me to this patch! The file I just attached gives a review of everything but the two flag polynomials (f and h) which I couldn't find in literature. Please give a reference or a full definition (how exactly are those monomials built from the ranks etc.). #13223 notwithstanding, I've replaced the hyperpolynomial-time before:
after:
Also I have optimized the polynomial-computing methods (apart from the ones I don't understand) by letting them work with the Probably someone will have to review my review... for the patchbots: apply trac_13240-qfold.patch trac_13240-almost-review-dg.patch |
comment:34
Yooooooooooooooo !! Well, all I can understand makes sense ! It was nice to merge these calls to Thaaaaaaaanks Darij ! Nathann |
comment:35
Thanks Darij, for your review patch. Your review looks good to me. concerning flag f-vector and flag h-vector, there is something here : http://en.wikipedia.org/wiki/H-vector#Flag_h-vector_and_cd-index It can also probably go through the hasse diagram. |
Attachment: trac_13240-review2-dg.patch.gz completed review patch. ignore the almost-review one. |
comment:36
Hi Frederic, I've completed my review, editing again all four f/h-polynomials (flag and usual). Please check that:
If these are fine, feel free to set this to positive review! for the patchbot: apply trac_13240-qfold.patch trac_13240-review2-dg.patch |
This comment has been minimized.
This comment has been minimized.
Reviewer: Darij Grinberg, Nathann Cohen |
comment:39
Thanks Darij, I will have a serious look later today. for the patchbots (beware of invisible characters when copy pasting!) apply trac_13240-qfold.patch trac_13240-review2-dg.patch |
comment:40
ok, I am happy enough with the current patch. Positive review ! :) |
Changed author from Alex Csar, Kevin Dilks to Alex Csar, Kevin Dilks, Frédéric Chapoton |
Merged: sage-5.13.beta2 |
Adding some of the polynomials from Stembridge's Posets package for Maple (see http://www.math.lsa.umich.edu/~jrs/software/posetshelp.html), namely:
apply:
CC: @kevindilks
Component: combinatorics
Keywords: sd40, days45
Author: Alex Csar, Kevin Dilks, Frédéric Chapoton
Reviewer: Darij Grinberg, Nathann Cohen
Merged: sage-5.13.beta2
Issue created by migration from https://trac.sagemath.org/ticket/13240
The text was updated successfully, but these errors were encountered: