Finite lattice posets

class sage.categories.finite_lattice_posets.FiniteLatticePosets(s=None)

Bases: sage.categories.category.Category

The category of finite lattices, i.e. finite partially ordered sets which are also lattices.

EXAMPLES:

sage: FiniteLatticePosets()
Category of finite lattice posets
sage: FiniteLatticePosets().super_categories()
[Category of finite posets, Category of lattice posets]
sage: FiniteLatticePosets().example()
NotImplemented

See also

FinitePosets, Lattices, LatticePoset

TESTS:

sage: C = FiniteLatticePosets()
sage: TestSuite(C).run()
class ParentMethods
is_lattice_morphism(f, codomain)

INPUT:

  • f – a function from self to codomain
  • codomain – a lattice

Returns whether \(f\) is a morphism of posets form self to codomain, that is

\[x\leq y \Rightarrow f(x) \leq f(y)\]

EXAMPLES:

We build the boolean lattice of \(\{2,2,3\}\) and the lattice of divisors of \(60\), and check that the map \(b \mapsto 5\prod_{x\in b} x\) is a morphism of lattices:

sage: D = LatticePoset((divisors(60), attrcall("divides")))
sage: B = LatticePoset((Subsets([2,2,3]), attrcall("issubset")))
sage: def f(b): return D(5*prod(b))
sage: B.is_lattice_morphism(f, D)
True

We construct the boolean lattice \(B_2\):

sage: B = Posets.BooleanLattice(2)
sage: B.cover_relations()
[[0, 1], [0, 2], [1, 3], [2, 3]]

And the same lattice with new top and bottom elements numbered respectively \(-1\) and \(3\):

sage: L = LatticePoset(DiGraph({-1:[0], 0:[1,2], 1:[3], 2:[3],3:[4]}))
sage: L.cover_relations()
[[-1, 0], [0, 1], [0, 2], [1, 3], [2, 3], [3, 4]]

sage: f = { B(0): L(0), B(1): L(1), B(2): L(2), B(3): L(3) }.__getitem__
sage: B.is_lattice_morphism(f, L)
True

sage: f = { B(0): L(-1),B(1): L(1), B(2): L(2), B(3): L(3) }.__getitem__
sage: B.is_lattice_morphism(f, L)
False

sage: f = { B(0): L(0), B(1): L(1), B(2): L(2), B(3): L(4) }.__getitem__
sage: B.is_lattice_morphism(f, L)
False
join_irreducibles()

Returns the join-irreducible elements of this finite lattice.

A join-irreducible element of self is an element \(x\) that is not minimal and that can not be written as the join of two elements different from \(x\).

EXAMPLES:

sage: L = LatticePoset({0:[1,2,3],1:[4],2:[4],3:[4]})
sage: L.join_irreducibles()
[1, 2, 3]
join_irreducibles_poset()

Returns the poset of join-irreducible elements of this finite lattice.

A join-irreducible element of self is an element \(x\) that is not minimal and can not be written as the join of two elements different from \(x\).

EXAMPLES:

sage: L = LatticePoset({0:[1,2,3],1:[4],2:[4],3:[4]})
sage: L.join_irreducibles_poset()
Finite poset containing 3 elements
FiniteLatticePosets.super_categories()

Returns a list of the (immediate) super categories of self, as per Category.super_categories().

EXAMPLES:

sage: FiniteLatticePosets().super_categories()
[Category of finite posets, Category of lattice posets]

Previous topic

Finite posets

Next topic

Finite Monoids

This Page