Hi,
Just a quick update on the refactoring and categorifications of
posets. There are a couple issues left, but you might want to play
around with the following (with the sage-combinat patches applied),
and I would love to have feedback on what breaks or not:
As an experimental feature, one can construct facade posets::
sage: P = Poset(DiGraph({'d':['c','b'],'c':['a'],'b':['a']}),
... category = (FinitePosets(), Sets().Facades()))
In that case, the elements of the posets remain plain strings::
sage: d,c,b,a = list(P)
sage: type(a)
<type 'str'>
Of course, those strings are not aware of `P`; so to compare two
such strings, one need to query `P`::
sage: a < b
True
sage: P.le(a,b) # todo: not implemented
False
Some operations still work, but at this point there is no
guarantee whatsoever::
sage: P.list()
['d', 'b', 'c', 'a']
sage: P.principal_order_ideal('a')
['d', 'b', 'c', 'a']
sage: P.principal_order_ideal('b')
['d', 'b']
sage: P.principal_order_ideal('d')
['d']
------------------------------------------------------------------------------
In particular, one would need good names for the basic poset
operations:
P.le(a,b) (returns a< b in P)
P.lequal(a,b) (returns a<=b in P)
...
Suggestions?
Cheers,
Nicolas
--
Nicolas M. ThiƩry "Isil" <[email protected]>
http://Nicolas.Thiery.name/
--
You received this message because you are subscribed to the Google Groups
"sage-combinat-devel" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-combinat-devel?hl=en.