### Navigation

- index
- modules |
- next |
- previous |
- Category Theory »

# 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)

      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

      See also

      `is_poset_morphism()`

    `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],1:[3],2:[3,4],3:[5],4:[5]})
          sage: L.join_irreducibles()
          [1, 2, 4]

      See also

      `meet_irreducibles()`, `join_irreducibles_poset()`

    `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

      See also

      `join_irreducibles()`

    `meet_irreducibles`()

      Returns 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

      `join_irreducibles()`, `meet_irreducibles_poset()`

    `meet_irreducibles_poset`()

      Returns 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

      `meet_irreducibles()`

### Navigation

- index
- modules |
- next |
- previous |
- Category Theory »