Salut Nathann!

>    I would personnally expect this to be the default behaviour,

That's arguable indeed. However I introduced this feature last year
only, whereas the poset library is four years old. So making this the
default would break backward compatibility. Beside, with a facade
poset, you can't do x<y for x and y two elements of your poset, and
that's a feature many expect.

>    especially when the documentation of Poset says nothing about
>    what the facade argument means nor that it could have any effect
>    on such problems ^^;;;

Taken from ``Poset?'':

------------------------------------------------------------------------------
       -[ Facade posets ]-
    
       By default, the elements of a poset are wrapped so as to make them
       aware that they belong to that poset:
    
          sage: P = Poset(DiGraph({'d':['c','b'],'c':['a'],'b':['a']}))
          sage: d,c,b,a = list(P)
          sage: a.parent() is P
          True
    
       This allows for comparing elements according to P:
    
          sage: c < a
          True
    
       As an experimental feature, one can construct instead facade
       posets:
    
          sage: P = Poset(DiGraph({'d':['c','b'],'c':['a'],'b':['a']}),
          ...             facade = True)
    
       In this example, the elements of the poset 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 needs to query P:
    
          sage: a < b
          True
          sage: P.lt(a,b)
          False
    
       which models the usual mathematical notation a <_P b.
    
       Most operations seem to 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']
          sage: TestSuite(P).run()
------------------------------------------------------------------------------

By the way, please have a look at the comment in ``Poset?'' about
DiGraph, int's and Integer's (just below the above piece of
documentation)

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