Finite lattice posets¶
-
class
sage.categories.finite_lattice_posets.
FiniteLatticePosets
(base_category)¶ Bases:
sage.categories.category_with_axiom.CategoryWithAxiom
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 lattice posets, Category of finite posets] sage: FiniteLatticePosets().example() NotImplemented
See also
FinitePosets
,LatticePosets
,LatticePoset
TESTS:
sage: C = FiniteLatticePosets() sage: C is FiniteLatticePosets().Finite() True sage: TestSuite(C).run()
-
class
ParentMethods
¶ -
is_lattice_morphism
(f, codomain)¶ Return whether
f
is a morphism of posets fromself
tocodomain
.A map \(f : P \to Q\) is a poset morphism if
\[x \leq y \Rightarrow f(x) \leq f(y)\]for all \(x,y \in P\).
INPUT:
f
– a function fromself
tocodomain
codomain
– a lattice
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
See also
-
join_irreducibles
()¶ Return 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],1:[3],2:[3,4],3:[5],4:[5]}) sage: L.join_irreducibles() [1, 2, 4]
-
join_irreducibles_poset
()¶ Return 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
See also
-
meet_irreducibles
()¶ Return the meet-irreducible elements of this finite lattice.
A meet-irreducible element of
self
is an element \(x\) that is not maximal and that can not be written as the meet of two elements different from \(x\).EXAMPLES:
sage: L = LatticePoset({0:[1,2],1:[3],2:[3,4],3:[5],4:[5]}) sage: L.meet_irreducibles() [1, 3, 4]
-
meet_irreducibles_poset
()¶ Return the poset of join-irreducible elements of this finite lattice.
A meet-irreducible element of
self
is an element \(x\) that is not maximal and can not be written as the meet 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
See also
-
-
class