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" <nthi...@users.sf.net>
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 sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

Reply via email to