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
- class ParentMethods¶
Bases:
object
- irreducibles_poset()¶
Return the poset of meet- or join-irreducibles of the lattice.
A join-irreducible element of a lattice is an element with exactly one lower cover. Dually a meet-irreducible element has exactly one upper cover.
This is the smallest poset with completion by cuts being isomorphic to the lattice. As a special case this returns one-element poset from one-element lattice.
See also
EXAMPLES:
sage: L = LatticePoset({1: [2, 3, 4], 2: [5, 6], 3: [5], ....: 4: [6], 5: [9, 7], 6: [9, 8], 7: [10], ....: 8: [10], 9: [10], 10: [11]}) sage: L_ = L.irreducibles_poset() sage: sorted(L_) [2, 3, 4, 7, 8, 9, 10, 11] sage: L_.completion_by_cuts().is_isomorphic(L) True
- 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]
See also
Dual function:
meet_irreducibles()
- 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
Dual function:
meet_irreducibles_poset()
Other:
join_irreducibles()
- 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]
See also
Dual function:
join_irreducibles()
- 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
Dual function:
join_irreducibles_poset()
Other:
meet_irreducibles()