{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Kappa map for lattices\n", "\n", "This is a manual of [kappa.py](https://github.com/haruhisa-enomoto/kappa-map-for-lattices/blob/main/kappa.py), an additional module for [SageMath](https://www.sagemath.org/).\n", "\n", "AUTHOR:\n", "[Haruhisa Enomoto](http://haruhisa-enomoto.github.io/)\n", "\n", "REFERENCES:\n", "\n", "- [BCZ] E. Barnard, G. Todorov, S. Zhu,\n", " Dynamical combinatorics and torsion classes,\n", " J. Pure Appl. Algebra 225 (2021), no. 9, 106642.\n", "- [RST] N. Reading, D. E. Speyer, H. Thomas,\n", " The fundamental theorem of finite semidistributive lattices,\n", " arXiv:1907.08050." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A function `add_kappa()` in [kappa.py](https://github.com/haruhisa-enomoto/kappa-map-for-lattices/blob/main/kappa.py) adds to a Sage class [`sage.combinat.posets.lattices.FiniteLatticePoset`](https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/posets/lattices.html#sage.combinat.posets.lattices.FiniteLatticePoset) class methods\n", "- `kappa`\n", "- `extended_kappa`\n", "- `kappa_dual`\n", "- `extended_kappa_dual`\n", "\n", "To use it, first import `add_kappa` function from `kappa.py` and execute `add_kappa()`." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from kappa import add_kappa\n", "add_kappa()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By this, we can use the above methods for an instance of a Sage class [`FiniteLatticePoset`](https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/posets/lattices.html#sage.combinat.posets.lattices.FiniteLatticePoset)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Kappa map\n", "\n", "Let $L$ be a finite lattice. An element $j$ of $L$ is *join-irreducible*\n", "if $j = \\bigvee A$ for a subset $A$ of $L$ implies $j \\in A$.\n", "This is equivalent to that there is a unique element $j_*$ which is covered by $j$.\n", "Dually, we define *meet-irreducible* elements.\n", "\n", "A *kappa map $\\kappa(j)$* for a join-irreducible element $j$ of $L$ is defined, if exists, as a *maximum* element\n", "$x$ satisfying $j \\wedge x = j_*$. Then $\\kappa(j)$ is meet-irreducible if exists\n", "(see e.g. [RST, Theorem 2.28])." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### kappa(j, check = True)\n", "Return $\\kappa(j)$ for a join-irreducible element $j$\n", "of a finite lattice ``self`` if it exists.\n", "\n", "INPUT:\n", " - ``j`` -- an element of ``self``,\n", " which is expected to be join-irreducible\n", "\n", " - ``check`` -- a Boolean (default: `True`),\n", " whether to check that ``j`` is indeed join-irreducible\n", "\n", "OUTPUT:\n", "\n", "an element of ``self``, or `None` if it does not exist.\n", "\n", "#### See also\n", "A method [`sage.combinat.posets.hasse_diagram.HasseDiagram.kappa`](https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/posets/hasse_diagram.html#sage.combinat.posets.hasse_diagram.HasseDiagram.kappa)\n", "\n", "EXAMPLE:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 11 graphics primitives" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L = posets.PentagonPoset()\n", "L.plot(figsize = 3)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L.kappa(1)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "ename": "ValueError", "evalue": "4 is not join-irreducible.", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mL\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkappa\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mInteger\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/home/sage/Documents/GitHub/kappa-map-for-lattices-in-sage/kappa.py\u001b[0m in \u001b[0;36mkappa\u001b[0;34m(self, j, check)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcheck\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mj\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin_irreducibles\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 40\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"{0} is not join-irreducible.\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 41\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[0mhasse\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_hasse_diagram\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: 4 is not join-irreducible." ] } ], "source": [ "L.kappa(4)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 14 graphics primitives" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L_new = LatticePoset({1: [2, 3], 2: [4, 5], 3: [6], 4: [6], 5: [6]})\n", "L_new.plot(figsize = 4)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L_new.kappa(2)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L_new.kappa(3) is None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Dual kappa map\n", "\n", "Let $m$ be a meet-irreducible element in a finite lattice $L$, and $m_*$ a unique element covering $m$.\n", "A *dual kappa map $\\kappa^d(m)$* for a meet-irreducible element $j$ of $L$ is defined, if exists, as a *minimum* element\n", "$x$ satisfying $x \\vee m = m_*$. Then $\\kappa^d(m)$ is join-irreducible if exists.\n", "Moreover, $\\kappa$ and $\\kappa^d$ are mutually inverse bijecionts between the set of join-irreducibles and meet-irreducibles if and only if\n", "$L$ is semidistributive, see e.g. [RST Corollary 2.29]." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### kappa_dual(m, check = True)\n", "Return $\\kappa^d(m)$ for a meet-irreducible element $m$\n", "in a finite lattice if it exists.\n", "\n", "INPUT:\n", " - ``m`` -- an element of ``self``,\n", " which is expected to be meet-irreducible\n", "\n", " - ``check`` -- a Boolean (default: `True`),\n", " whether to check that ``m`` is indeed join-irreducible\n", "\n", "OUTPUT:\n", "\n", "an element of ``self``, or `None` if it does not exist.\n", "\n", "#### See also\n", "A method [`sage.combinat.posets.hasse_diagram.HasseDiagram.kappa_dual`](https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/posets/hasse_diagram.html#sage.combinat.posets.hasse_diagram.HasseDiagram.kappa_dual)\n", "\n", "EXAMPLE:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L = posets.PentagonPoset()\n", "L.kappa_dual(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Extended (dual) kappa map\n", "\n", "An *extended kappa map $\\overline{\\kappa}(x)$* for an element $x$ of a finite lattice $L$ is defined as follows. First, let $x = j_1 \\vee \\cdots \\vee j_n$ be a canonical join representation of $x$ if exists. Then $\\overline{\\kappa}(x) := \\kappa(j_1) \\wedge \\cdots \\wedge \\kappa(j_n)$ if $\\kappa(j_1), \\dots, \\kappa(j_n)$ are defined. This map is well-defined if $L$ is semidistributive.\n", "\n", "An *extended dual kappa map* $\\overline{\\kappa^d}(x)$ is defined completely dually. This map is well-defined and is an inverse of $\\overline{\\kappa}$ if $L$ is semidistributive." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### extended_kappa(x)\n", "Return $\\overline{\\kappa}(x)$ for an element $x$\n", "of a finite lattice ``self`` if it exists.\n", "\n", "INPUT:\n", "\n", "- ``x`` -- an element of ``self``\n", "\n", "OUTPUT:\n", "\n", "an element of ``self``, or `None` if it does not exist.\n", "\n", "REFERENCE:\n", "\n", "- [BCZ Definition 4.4.1]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 11 graphics primitives" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L = posets.PentagonPoset()\n", "L.plot(figsize = 4)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "extended_kappa(0) is 4\n", "extended_kappa(1) is 3\n", "extended_kappa(2) is 1\n", "extended_kappa(3) is 2\n", "extended_kappa(4) is 0\n" ] } ], "source": [ "for x in L:\n", " print(f\"extended_kappa({x}) is {L.extended_kappa(x)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### extended_kappa_dual(x)\n", "Return $\\overline{\\kappa^d}(x)$ for an element $x$\n", "in a finite lattice ``self`` if it exists.\n", "\n", "INPUT:\n", "\n", "- ``x`` -- an element of ``self``\n", "\n", "OUTPUT:\n", "\n", "an element of ``self``, or `None` if it does not exist.\n", "\n", "REFERENCE:\n", "\n", "- [BCZ Definition 4.4.1]\n", "\n", "EXAMPLE:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "extended_kappa_dual(0) is 4\n", "extended_kappa_dual(1) is 2\n", "extended_kappa_dual(2) is 3\n", "extended_kappa_dual(3) is 1\n", "extended_kappa_dual(4) is 0\n" ] } ], "source": [ "L = posets.PentagonPoset()\n", "for x in L:\n", " print(f\"extended_kappa_dual({x}) is {L.extended_kappa_dual(x)}\")" ] } ], "metadata": { "kernelspec": { "display_name": "SageMath 9.1", "language": "sage", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }