Hi Nathann, As I said, I did not write the poset code, so I probably do not know it better than you do.
Yes, we do seem to need two classes Poset and PosetWithLinearExtension. We discussed this at a design discussion about two years ago, but then you did not show up to the discussion at the Sage Days. Things like this are much easier to discuss in person than via e-mail. Perhaps you can come to Sage Days 64 and we could make this one of the goals. Anne On 10/1/14 1:03 AM, Nathann Cohen wrote: > Hello Anne, > >> Second of all, I did not write the poset code. >> As far as I know, it was written by Peter Jipsen and Franco Saliola. I used >> the poset code in the new class LinearExtensions in >> combinat/posets/linear_extensions.py > > I see. > > Well, Anne, regardless of that it we need your help. > > I hope that I gave in my first message a good explanation of why the current > design cannot work. The __init__ (and so the __eq__) depends on both an > unlabeled HasseDiagram and a list of labels, and > there is not a unique way to obtain these two elements from a labelled Hasse > Diagram. > > Thus, as Erik noticed, we need to split this Poset class into two: > - On one side a Poset class that only takes a labelled Hasse Diagram as input > - On the other side a PosetWithLinearExtension that takes a Poset and a > linear extension of it as input. > > I do not think that we can have the two in one class as it is now, as some > things cannot work for both at once, like equality. > > I tried many times to solve the problem myself: I created #14019 two years > ago (and we discussed it together), and I tried to solve it now again. But > the truth is that I do not know where and how this > information is used, so I kept on coding something, only to notice later that > my design would not work, and had to start from scratch again. > > I have been told that you were the one who needed the feature for something > you do related to Markov chain, so surely you know how it works better than > anybody here. > > We also need your help for during last week Jori Mäntysalo has been writing a > lot of Poset code to fix bugs and add new features: > > http://trac.sagemath.org/ticket/16984 > http://trac.sagemath.org/ticket/17050 > http://trac.sagemath.org/ticket/17022 > http://trac.sagemath.org/ticket/17004 > http://trac.sagemath.org/ticket/16985 > http://trac.sagemath.org/ticket/16873 > http://trac.sagemath.org/ticket/17051 > http://trac.sagemath.org/ticket/17037 > http://trac.sagemath.org/ticket/17036 > http://trac.sagemath.org/ticket/16892 > > And there are other tickets of his that I need to review today. > > Anne, we need a Poset class that we understand and can work with, and right > now the Posets carry this linear extension that does not belong there. It is > a lot of work to do that when you do not know > the code. You use it and know it, so please help us and dissociate those > classes. Otherwise we are just stuck with a code we do not understand, cannot > change and cannot remove. > > Thanks, > > Nathann -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.