Changes between Version 14 and Version 15 of Ticket #31725


Ignore:
Timestamp:
Apr 25, 2021, 10:11:29 AM (17 months ago)
Author:
Samuel Lelièvre
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #31725 – Description

    v14 v15  
    1 `FinitePoset.meet(x, y)` computes the meet of two elements `x, y` in the poset; return `None` if the meet doesn't exist.
     1`FinitePoset.meet(x, y)` computes the meet of two elements `x`, `y` in the poset, returning `None` if the meet doesn't exist.
    22
    3 Similar for `FinitePoset.join(x, y=None)`.
     3Similar for `FinitePoset.join(x, y)`.
    44
    5 Currently, `FinitePoset._hasse_diagram` has `@lazy_attribute _meet` (resp. `_join`) and method `meet_matrix` (resp. `join_matrix`). However, they don't compute the matrix but raise an Error if the poset is not a meet/join-semilattice.
     5Currently, `FinitePoset._hasse_diagram` has `@lazy_attribute` `_meet` (resp. `_join`) and method `meet_matrix` (resp. `join_matrix`). However, they don't compute the matrix but raise an Error if the poset is not a meet/join-semilattice.
    66
    77{{{
     
    1414}}}
    1515
     16We propose to change `HasseDiagram._meet` (resp. `_join`), so that the `(x,y)`-entry of the matrix is `-1` if the meet of `x` and `y` doesn't exist, instead of raising an Error.  Defer the checks to `HasseDiagram.meet_matrix()` (resp. `join_matrix`).
    1617
    17 We propose to change `HasseDiagram._meet` (resp. `_join`), so that the `(x,y)`-entry of the matrix is `-1` if the meet of `x` and `y` doesn't exist, instead of raising an Error.  Defer the checks to `HasseDiagram.meet_matrix()` (resp. `join_matrix`). We expect to have
     18For the poset `h` above, we expect:
    1819{{{
    1920h._meet[2,3]
     
    2122h._meet[0,1]
    2223-1
    23 sage: h.meet_martrix()   
     24sage: h.meet_matrix()   
    2425Traceback (most recent call last)
    2526...
     
    4243ValueError: not a meet-semilattice: no bottom element
    4344}}}
    44 We expect to have
     45For the posets `P` and `P2` above, we expect:
    4546{{{
    4647sage: P.meet("f","g")