{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "13abb9db-51b5-4277-b157-25bd916b9158", "metadata": {}, "outputs": [], "source": [ "from IPython.display import Math\n", "import numpy as np\n", "import pandas as pd\n", "from IPython.display import HTML\n", "from collections import Counter\n", "from sage.modules.free_module_integer import IntegerLattice\n", "from collections import Counter\n", "\n", "H = IntegralLattice(\"H\")\n", "E8 = IntegralLattice(\"E8\").twist(-1)\n", "E82 = E8.twist(2)\n", "H2 = H.twist(2)" ] }, { "cell_type": "markdown", "id": "8600179d-6d38-4fed-9060-14f269841ef0", "metadata": {}, "source": [ "# Ambient Lattices and Coxeter Diagrams" ] }, { "cell_type": "code", "execution_count": 2, "id": "946cbbf7-d3fb-42b3-beb2-391c886277ac", "metadata": {}, "outputs": [], "source": [ "def Coxeter_Diagram(M):\n", " nverts = M.ncols()\n", " G = Graph()\n", " vertex_labels = dict();\n", " \n", " vertex_colors = {\n", " '#F8F9FE': [], # white\n", " '#BFC9CA': [], # black\n", " }\n", " \n", " for i in range(nverts):\n", " for j in range(nverts):\n", " mij = M[i, j]\n", " if i == j: \n", " if mij == -2:\n", " vertex_colors[\"#F8F9FE\"].append(i) # white\n", " continue\n", " if mij == -4:\n", " vertex_colors[\"#BFC9CA\"].append(i) # black\n", " continue\n", " continue\n", " if mij > 0:\n", " G.add_edge(i, j, str(mij) )\n", " continue\n", " assert len( vertex_colors[\"#F8F9FE\"]) + len( vertex_colors[\"#BFC9CA\"]) == nverts\n", " G.vertex_colors = vertex_colors \n", " return G\n", "\n", "def plot_coxeter_diagram(G, v_labels, pos={}):\n", " n = len( G.vertices() )\n", " vlabs = {v: k for v, k in enumerate(v_labels)}\n", " if pos == {}:\n", " display(G.plot(\n", " edge_labels=True, \n", " vertex_labels = vlabs,\n", " vertex_size=200,\n", " vertex_colors = G.vertex_colors\n", " ))\n", " else:\n", " display(G.plot(\n", " edge_labels=True, \n", " vertex_labels = vlabs,\n", " vertex_size=200,\n", " vertex_colors = G.vertex_colors,\n", " pos = pos\n", " ))\n", " \n", "def root_intersection_matrix(vectors, labels, bil_form):\n", " n = len(vectors)\n", " M = zero_matrix(ZZ, n)\n", " nums = Set(range(n))\n", " for i in range(n):\n", " for j in range(n):\n", " M[i, j] = bil_form( vectors[i], vectors[j] )\n", " \n", " # Must be symmetric\n", " assert M.is_symmetric()\n", " \n", " # Must have -2 or -4 on the diagonal\n", " s = Set( M.diagonal() )\n", " assert s in Subsets( Set( [-2, -4] ) )\n", "\n", " # Diagonals should be square norms of vectors\n", " for i in range(n):\n", " assert M[i, i] == bil_form(vectors[i], vectors[i])\n", " return M\n", "\n", "def is_elliptic_matrix(M):\n", " return (-1 * M).is_positive_definite()\n", "\n", "def is_parabolic_matrix(M):\n", " return (-1 * M).is_positive_semidefinite()\n", "\n", "def roots_from_subgraph(H):\n", " return [V[index] for index in H.vertices()]" ] }, { "cell_type": "code", "execution_count": 3, "id": "f8c32f98-c606-407d-ab61-ec9a15679dbf", "metadata": {}, "outputs": [], "source": [ "positions = {\n", " \"Sterk_1\": {\n", " 0: [0, 0],\n", " 1: [4, 0],\n", " 2: [8, 0],\n", " 3: [8, -4],\n", " 4: [8, -8],\n", " 5: [4, -8],\n", " 6: [0, -8],\n", " 7: [0, -4],\n", " 8: [2, -6],\n", " 9: [3.25, -4.75],\n", " 10: [4.5, -3.5],\n", " 11: [6, -2]\n", " },\n", " \"Sterk_2\": {\n", " 0: [0, 0],\n", " 1: [-4, 0],\n", " 2: [-8, 0],\n", " 3: [-7, 4],\n", " 4: [-6, 8],\n", " 5: [-5, 12],\n", " 6: [-4, 16],\n", " 7: [-3, 20],\n", " 8: [-2, 24],\n", " 9: [-2, 6]\n", " },\n", " \"Sterk_3\": {\n", " 0: [0, -4],\n", " 1: [0, 4],\n", " 2: [0, 8],\n", " 3: [0, 12],\n", " 4: [0, 16],\n", " 5: [4, 16],\n", " 6: [8, 16],\n", " 7: [12, 16],\n", " 8: [20, 16],\n", " 9: [4, 12],\n", " 10: [6, 2],\n", " 11: [14, 10]\n", " },\n", " \"Sterk_4\": {\n", " 0: [0, 0],\n", " 1: [0, 4],\n", " 2: [0, 8],\n", " 3: [4, 8],\n", " 4: [8, 8],\n", " 5: [12, 8],\n", " 6: [16, 8],\n", " 7: [16, 4],\n", " 8: [16, 0],\n", " 9: [4, 4],\n", " 10: [12, 4] \n", " },\n", " \"Sterk_5\": {\n", " 0: [0, 0],\n", " 1: [10, 0],\n", " 2: [20, 0],\n", " 3: [20, -10],\n", " 4: [20, -20],\n", " 5: [10, -20],\n", " 6: [0, -20],\n", " 7: [0, -10],\n", " 8: [4, -4],\n", " 9: [16, -4],\n", " 10: [16, -16],\n", " 11: [4, -16],\n", " 12: [8, -8],\n", " 13: [8, -12]\n", " }\n", "}\n", "\n", "Sterk_roots = {\n", " \"Sterk_1\": [],\n", " \"Sterk_2\": [],\n", " \"Sterk_3\": [],\n", " \"Sterk_4\": [],\n", " \"Sterk_5\": []\n", "}" ] }, { "cell_type": "code", "execution_count": 4, "id": "e55143d3-4b63-43e5-aaed-be82a1433fea", "metadata": {}, "outputs": [], "source": [ "L_20_2_0 = H.direct_sum(H2).direct_sum(E8).direct_sum(E8)\n", "\n", "dot = lambda x,y : x * L_20_2_0.gram_matrix() * y\n", "nm = lambda x: dot(x, x)\n", "\n", "Gram_L_20_2_0 = L_20_2_0.gram_matrix()\n", "Gram_L_20_2_0.subdivide([2, 4, 12], [2, 4, 12])\n", "L_20_2_0_dual_changeofbasis = Gram_L_20_2_0.inverse()\n", "L_20_2_0_dual_changeofbasis.subdivide([2, 4, 12], [2, 4, 12])\n", "\n", "e,f ,ep,fp, a1,a2,a3,a4,a5,a6,a7,a8, a1t,a2t,a3t,a4t,a5t,a6t,a7t,a8t = L_20_2_0.basis()\n", "eb,fb, epb,fpb, w1,w2,w3,w4,w5,w6,w7,w8, w1t,w2t,w3t,w4t,w5t,w6t,w7t,w8t = L_20_2_0_dual_changeofbasis.columns()\n", "\n", "# display(Math(\"$(18, 2, 0)=\"), Gram_L_20_2_0)\n", "# display(Math(\"(18,2,0)vee=(18, 2, 0)^{\\\\vee} =\"), L_20_2_0_dual_changeofbasis)\n", "\n", "# The primes are the image of the diagonal embedding from E_8(2)\n", "a1p = a1 + a1t\n", "a2p = a2 + a2t\n", "a3p = a3 + a3t\n", "a4p = a4 + a4t \n", "a5p = a5 + a5t\n", "a6p = a6 + a6t\n", "a7p = a7 + a7t\n", "a8p = a8 + a8t\n", "\n", "w1p = w1 + w1t\n", "w2p = w2 + w2t\n", "w3p = w3 + w3t\n", "w4p = w4 + w4t\n", "w5p = w5 + w5t\n", "w6p = w6 + w6t\n", "w7p = w7 + w7t\n", "w8p = w8 + w8t\n", "\n", "MS = [e,f, ep,fp, a1,a2,a3,a4,a5,a6,a7,a8, a1t,a2t,a3t,a4t,a5t,a6t,a7t,a8t]\n", "MS_dual = [eb,fb, epb,fpb, w1,w2,w3,w4,w5,w6,w7,w8, w1t,w2t,w3t,w4t,w5t,w6t,w7t,w8t]\n", "\n", "VS = [ep,fp, a1,a2,a3,a4,a5,a6,a7,a8, a1t,a2t,a3t,a4t,a5t,a6t,a7t,a8t]\n", "VS_dual = [epb,fpb, w1,w2,w3,w4,w5,w6,w7,w8, w1t,w2t,w3t,w4t,w5t,w6t,w7t,w8t]\n", "\n", "WS = [e,f, a1,a2,a3,a4,a5,a6,a7,a8, a1t,a2t,a3t,a4t,a5t,a6t,a7t,a8t]\n", "WS_dual = [eb,fb, w1,w2,w3,w4,w5,w6,w7,w8, w1t,w2t,w3t,w4t,w5t,w6t,w7t,w8t]" ] }, { "cell_type": "code", "execution_count": 5, "id": "f99f06db-fe53-4f3b-840a-f6afaf4daf6a", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Graphics object consisting of 73 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Root vectors for (18, 2, 0), roots taken from above, v_i are according to numerical labeling above\n", "\n", "v1 = a8t\n", "v2 = ep + fp + w1 + w8t\n", "v3 = a1 \n", "v4 = a3\n", "v5 = a4\n", "v6 = a5\n", "v7 = a6\n", "v8 = a7\n", "v9 = a8\n", "v10 = ep + fp + w8 + w1t\n", "v11 = a1t\n", "v12 = a3t\n", "v13 = a4t\n", "v14 = a5t\n", "v15 = a6t\n", "v16 = a7t\n", "\n", "v17 = ep + w8t\n", "v18 = a2\n", "v19 = ep + w8\n", "v20 = a2t\n", "\n", "v21 = fp - ep\n", "v22 = 5 ep + 3 fp + 2 w2 + 2 w2t\n", "\n", "roots_18_2_0 = [v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22]\n", "labels = [f\"$v_{ {r + 1} }$\" for r in range( len( roots_18_2_0 ) )]\n", "intersection_matrix_roots_18_2_0 = root_intersection_matrix(roots_18_2_0, labels = labels, bil_form=dot)\n", "\n", "G_18_2_0 = Coxeter_Diagram(intersection_matrix_roots_18_2_0)\n", "plot_coxeter_diagram(\n", " G_18_2_0, \n", " v_labels = labels,\n", " pos = {\n", " 0: [0, 0],\n", " 1: [4, 0],\n", " 2: [8, 0],\n", " 3: [12, 0],\n", " 4: [16, 0],\n", " 5: [16, -4],\n", " 6: [16, -8],\n", " 7: [16, -12],\n", " 8: [16, -16],\n", " 9: [12, -16],\n", " 10: [8, -16],\n", " 11: [4, -16],\n", " 12: [0, -16],\n", " 13: [0, -12],\n", " 14: [0, -8],\n", " 15: [0, -4],\n", " 16: [4, -4],\n", " 17: [12, -4],\n", " 18: [12, -12],\n", " 19: [4, -12],\n", " 20: [8, -10],\n", " 21: [8, -6],\n", " }\n", ")" ] }, { "cell_type": "code", "execution_count": 6, "id": "a98b43e9-46ae-4fc4-a048-f4f3fc1f67d9", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Graphics object consisting of 56 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Root vectors for (18, 0, 0), roots taken from above, w_i are according to numerical labeling above\n", "\n", "w1 = a1\n", "w2 = a3\n", "w3 = a4\n", "w4 = a5\n", "w5 = a6\n", "w6 = a7\n", "w7 = a8\n", "w8 = w8 + e\n", "w9 = f- e\n", "w10 = w8t + e\n", "w11 = a8t\n", "w12 = a7t\n", "w13 = a6t\n", "w14 = a5t\n", "w15 = a4t\n", "w16 = a3t\n", "w17 = a1t\n", "w18 = a2\n", "w19 = a2t\n", "\n", "roots_18_0_0 = [w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, w18, w19]\n", "intersection_matrix_roots_18_0_0 = root_intersection_matrix(\n", " roots_18_0_0, \n", " labels = [f\"$w_{ {r + 1} }$\" for r in range( len(roots_18_0_0) )], \n", " bil_form=dot\n", ")\n", "\n", "G_18_0_0 = Coxeter_Diagram(intersection_matrix_roots_18_0_0)\n", "plot_coxeter_diagram(\n", " G_18_0_0, \n", " v_labels = [f\"$w_{ {i + 1} }$\" for i in range( 19 )],\n", " pos = {\n", " 0: [-4, 0],\n", " 1: [-8, 0],\n", " 2: [-12, 0],\n", " 3: [-10, 4],\n", " 4: [-8, 8],\n", " 5: [-6, 12],\n", " 6: [-4, 16],\n", " 7: [-2, 20],\n", " 8: [0, 24],\n", " 9: [2, 20],\n", " 10: [4, 16],\n", " 11: [6, 12],\n", " 12: [8, 8],\n", " 13: [10, 4],\n", " 14: [12, 0],\n", " 15: [8, 0],\n", " 16: [4, 0],\n", " 17: [-4, 4],\n", " 18: [4, 4]\n", " }\n", ")" ] }, { "cell_type": "markdown", "id": "c37c86f4-3604-45a5-b907-5dd2e08dd6f7", "metadata": {}, "source": [ "# Functions" ] }, { "cell_type": "code", "execution_count": 7, "id": "a02d5d61-cca3-4d24-8701-980f6ec895ce", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\\(\\displaystyle \\left[\\left(\\verb|A_3|, \\left(\\begin{array}{rrr}\n", "-2 & 1 & 0 \\\\\n", "1 & -2 & 1 \\\\\n", "0 & 1 & -2\n", "\\end{array}\\right)\\right), \\left(\\verb|A_3(2)|, \\left(\\begin{array}{rrr}\n", "-4 & 2 & 0 \\\\\n", "2 & -4 & 2 \\\\\n", "0 & 2 & -4\n", "\\end{array}\\right)\\right), \\left(\\verb|B_3(2)|, \\left(\\begin{array}{rrr}\n", "-4 & 2 & 0 \\\\\n", "2 & -4 & 2 \\\\\n", "0 & 2 & -2\n", "\\end{array}\\right)\\right), \\left(\\verb|C_3(2)|, \\left(\\begin{array}{rrr}\n", "-2 & 2 & 0 \\\\\n", "2 & -2 & 2 \\\\\n", "0 & 2 & -4\n", "\\end{array}\\right)\\right)\\right]\\)" ], "text/latex": [ "$\\displaystyle \\left[\\left(\\verb|A_3|, \\left(\\begin{array}{rrr}\n", "-2 & 1 & 0 \\\\\n", "1 & -2 & 1 \\\\\n", "0 & 1 & -2\n", "\\end{array}\\right)\\right), \\left(\\verb|A_3(2)|, \\left(\\begin{array}{rrr}\n", "-4 & 2 & 0 \\\\\n", "2 & -4 & 2 \\\\\n", "0 & 2 & -4\n", "\\end{array}\\right)\\right), \\left(\\verb|B_3(2)|, \\left(\\begin{array}{rrr}\n", "-4 & 2 & 0 \\\\\n", "2 & -4 & 2 \\\\\n", "0 & 2 & -2\n", "\\end{array}\\right)\\right), \\left(\\verb|C_3(2)|, \\left(\\begin{array}{rrr}\n", "-2 & 2 & 0 \\\\\n", "2 & -2 & 2 \\\\\n", "0 & 2 & -4\n", "\\end{array}\\right)\\right)\\right]$" ], "text/plain": [ "[(\n", " [-2 1 0]\n", " [ 1 -2 1]\n", "'A_3', [ 0 1 -2]\n", "),\n", " (\n", " [-4 2 0]\n", " [ 2 -4 2]\n", "'A_3(2)', [ 0 2 -4]\n", "),\n", " (\n", " [-4 2 0]\n", " [ 2 -4 2]\n", "'B_3(2)', [ 0 2 -2]\n", "),\n", " (\n", " [-2 2 0]\n", " [ 2 -2 2]\n", "'C_3(2)', [ 0 2 -4]\n", ")]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def matrix_to_quiver(M):\n", " nverts = M.ncols()\n", " G = Graph(loops=True)\n", " for i in range(nverts):\n", " for j in range(nverts):\n", " mij = M[i, j]\n", " if mij == 0:\n", " continue\n", " G.add_edge(i, j, str(mij) )\n", " return G\n", "\n", "def graph_to_matrix(G):\n", " verts = G.vertices()\n", " n = len(verts)\n", " M = zero_matrix(ZZ, n)\n", " for e in G.edges():\n", " M[ e[0], e[1] ] = e[2]\n", " M[ e[1], e[0] ] = e[2]\n", " return M\n", " \n", "# Type A\n", "\n", "def graph_A_n(n):\n", " return matrix_to_quiver( matrix_A_n(n) )\n", "\n", "def matrix_A_n(n):\n", " return IntegralLattice(f\"A{n}\").twist(-1).gram_matrix()\n", " \n", "def graph_A_n_2(n):\n", " return matrix_to_quiver( matrix_A_n_2(n) )\n", "\n", "def matrix_A_n_2(n):\n", " return IntegralLattice(f\"A{n}\").twist(-2).gram_matrix()\n", "\n", "# Type B\n", "\n", "def graph_B_n_2(n):\n", " m=n-1\n", " G = Graph(loops=True)\n", " for i in range(m):\n", " G.add_edge(i, i, -4)\n", " G.add_edge(i, i+1, 2)\n", " G.add_edge(m, m, -2)\n", " return G\n", "\n", "def matrix_B_n_2(n):\n", " return graph_to_matrix( graph_B_n_2(n) )\n", "\n", "# Type C\n", "\n", "def graph_C_n_2(n):\n", " m=n-1\n", " Gp = Graph(loops=True)\n", " for i in range(m):\n", " Gp.add_edge(i, i, -2)\n", " Gp.add_edge(i, i+1, 2)\n", " Gp.add_edge(m, m, -4)\n", " return Gp\n", "\n", "def matrix_C_n_2(n):\n", " return graph_to_matrix( graph_C_n_2(n) )\n", "\n", "# Type D\n", "\n", "def graph_D_n(n):\n", " return matrix_to_quiver(matrix_D_n(n))\n", "\n", "def matrix_D_n(n):\n", " return IntegralLattice(f\"D{n}\").twist(-1).gram_matrix()\n", " \n", "def graph_D_n_2(n):\n", " return matrix_to_quiver(matrix_D_n_2(n))\n", " \n", "def matrix_D_n_2(n):\n", " return IntegralLattice(f\"D{n}\").twist(-2).gram_matrix()\n", "\n", "# Type E6\n", "\n", "def graph_E_6():\n", " return matrix_to_quiver(matrix_E_6())\n", "\n", "def matrix_E_6():\n", " return IntegralLattice(\"E6\").twist(-1).gram_matrix()\n", " \n", "def graph_E_6_2():\n", " return matrix_to_quiver(matrix_E_6_2())\n", "\n", "def matrix_E_6_2():\n", " return IntegralLattice(\"E6\").twist(-2).gram_matrix()\n", "\n", "# Type E7\n", "\n", "def graph_E_7():\n", " return matrix_to_quiver(matrix_E_7())\n", "\n", "def matrix_E_7():\n", " return IntegralLattice(\"E7\").twist(-1).gram_matrix()\n", " \n", "def graph_E_7_2():\n", " return matrix_to_quiver(matrix_E_7_2())\n", "\n", "def matrix_E_7_2():\n", " return IntegralLattice(\"E7\").twist(-2).gram_matrix()\n", "\n", "# Type E8\n", "\n", "def graph_E_8():\n", " return matrix_to_quiver(matrix_E_8())\n", "\n", "def matrix_E_8():\n", " return IntegralLattice(\"E8\").twist(-1).gram_matrix()\n", " \n", "def graph_E_8_2():\n", " return matrix_to_quiver(matrix_E_8_2())\n", "\n", "def matrix_E_8_2():\n", " return IntegralLattice(\"E8\").twist(-2).gram_matrix()\n", "\n", "def graph_G_2():\n", " G = Graph(loops=True)\n", " G.add_edge(0, 1, 2)\n", " G.add_edge(0, 0, -2)\n", " G.add_edge(1, 1, -4)\n", " return G\n", " \n", "def matrix_G_2():\n", " return graph_to_matrix(graph_G_2())\n", "\n", "def get_all_rank_n_types(n):\n", " if n == 0:\n", " return [ \n", " (\"A_{0}\" , matrix(ZZ, 0) ) \n", " ]\n", " if n == 1:\n", " return [ \n", " (f\"A_{n}\" ,matrix_A_n(1) ),\n", " (f\"A_{n}(2)\" ,matrix_A_n_2(1)) \n", " ]\n", " if n == 2:\n", " return [ \n", " (f\"A_{n}\", matrix_A_n(2)),\n", " (f\"A_{n}(2)\", matrix_A_n_2(2)), \n", " (f\"G_{2}\", matrix_G_2()) \n", " ]\n", " if n == 3:\n", " return [ \n", " (f\"A_{n}\", matrix_A_n(3)),\n", " (f\"A_{n}(2)\", matrix_A_n_2(3)), \n", " (f\"B_{n}(2)\", matrix_B_n_2(3)),\n", " (f\"C_{n}(2)\", matrix_C_n_2(3))\n", " ]\n", " else:\n", " Ms = [ \n", " (f\"A_{n}\", matrix_A_n(n)),\n", " (f\"A_{n}(2)\", matrix_A_n_2(n)), \n", " (f\"B_{n}(2)\", matrix_B_n_2(n)),\n", " (f\"C_{n}(2)\", matrix_C_n_2(n)),\n", " (f\"D_{n}\", matrix_D_n(n)),\n", " (f\"D_{n}(2)\", matrix_D_n_2(n)) \n", " ]\n", " if n == 6:\n", " Ms.extend([\n", " (f\"E_6\", matrix_E_6() ),\n", " (f\"E_6(2)\", matrix_E_6_2() )\n", " ])\n", " elif n == 7:\n", " Ms.extend([\n", " (f\"E_7\", matrix_E_7() ),\n", " (f\"E_7(2)\", matrix_E_7_2() )\n", " ])\n", " elif n == 8:\n", " Ms.extend([\n", " (f\"E_8\", matrix_E_8() ),\n", " (f\"E_8(2)\", matrix_E_8_2() )\n", " ])\n", " return Ms\n", "\n", "type_A_graphs = [ graph_A_n_2(n) for n in range(11) ]\n", "type_B_graphs = [ graph_B_n_2(n) for n in range(11) if n > 2]\n", "type_C_graphs = [ graph_C_n_2(n) for n in range(11) if n > 2]\n", "type_D_graphs = [ graph_D_n_2(n) for n in range(11) if n > 3]\n", "type_E_graphs = [ graph_E_6_2(), graph_E_7_2(), graph_E_8_2() ]\n", "\n", "type_A_matrices = [ matrix_A_n_2(n) for n in range(11) ]\n", "type_B_matrices = [ matrix_B_n_2(n) for n in range(11) if n > 2 ]\n", "type_C_matrices = [ matrix_C_n_2(n) for n in range(11) if n > 2]\n", "type_D_matrices = [ matrix_D_n_2(n) for n in range(11) if n > 3]\n", "type_E_matrices = [ matrix_E_6_2(), matrix_E_7_2(), matrix_E_8_2() ]\n", "\n", "get_all_rank_n_types(3)" ] }, { "cell_type": "code", "execution_count": 8, "id": "13911975-2871-4436-892b-d46915590382", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Graphics object consisting of 19 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "Graphics object consisting of 19 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show( graph_B_n_2(4).plot(edge_labels=True) )\n", "show( graph_C_n_2(4).plot(edge_labels=True) )" ] }, { "cell_type": "code", "execution_count": 9, "id": "8a420577-45ac-4565-8ae2-301202578d0d", "metadata": {}, "outputs": [], "source": [ "def sterk_subgraph_to_matrix(H, sterktype):\n", " roots = Sterk_roots[sterktype]\n", " H_roots = [ roots[index] for index in H.vertices() ]\n", " return root_intersection_matrix(\n", " H_roots, \n", " labels = H.vertices(), \n", " bil_form=dot\n", " )\n", "\n", "def sterk_is_elliptic_subgraph(H, sterktype):\n", " return is_elliptic_matrix(\n", " sterk_subgraph_to_matrix(H, sterktype)\n", " )" ] }, { "cell_type": "code", "execution_count": 10, "id": "a57ad227-6375-4dd6-80a5-ffb03c4e1d4c", "metadata": {}, "outputs": [], "source": [ "def is_elliptic_subgraph(H):\n", " return is_elliptic_matrix( graph_to_matrix(H) )\n", "\n", "def is_parabolic_subgraph(H, G):\n", " pass\n", "\n", "def is_maximal_elliptic_subgraph(H, G):\n", " pass\n", "\n", "def is_maximal_parabolic_subgraph(H, G):\n", " pass\n", "\n", "def plot_sterk_subgraph(H, sterktype):\n", " assert sterktype in [\"Sterk_1\", \"Sterk_2\", \"Sterk_3\", \"Sterk_3\", \"Sterk_4\", \"Sterk_5\"]\n", " display(get_plot_sterk_subgraph(H, sterktype))\n", "\n", "def get_plot_sterk_subgraph(H, sterktype):\n", " assert sterktype in [\"Sterk_1\", \"Sterk_2\", \"Sterk_3\", \"Sterk_3\", \"Sterk_4\", \"Sterk_5\"]\n", " G = Sterk_quivers[sterktype]\n", " red_edges = [ e for e in G.edges() if e in H.edges() ]\n", " red_vertices = [ e for e in G.vertices() if e in H.vertices() ]\n", " return G.plot(\n", " vertex_size=150,\n", " edge_colors={'red': red_edges},\n", " vertex_color='lightcyan',\n", " vertex_colors={'red': red_vertices},\n", " pos= positions[sterktype]\n", " )\n", "\n", "def get_coxeter_label(H, sterktype):\n", " n = len( H.vertices() )\n", " ade_types = get_all_rank_n_types(n)\n", " M_H = sterk_subgraph_to_matrix(H, sterktype)\n", " this_type = [ x[0] for x in ade_types if x[1].is_similar(M_H) ]\n", " assert len(this_type) >= 1\n", " return this_type[0]\n", "\n", "def summarize_elliptic_subgraphs(subgraphs, sterktype):\n", " show(f\"Total number of elliptic subdiagrams: {len(subgraphs) }\")\n", " show(\"---------------------------------\")\n", " \n", " ranks = [len(H.vertices()) for H in subgraphs]\n", " d = Counter( ranks )\n", " n = len( Sterk_quivers[sterktype].vertices() )\n", " for i in reversed(range(n+1)):\n", " show(f\"Number of rank {i} elliptic subdiagrams: {d[i]}\")\n", " rank_i_types = [get_coxeter_label(H, sterktype) for H in subgraphs if len(H.vertices()) == i]\n", " di = Counter(rank_i_types)\n", " for k in di.keys():\n", " print(\" \", k, \": \", di[k])\n", " \n", " show(\"---------------------------------\")\n", " show(\"Counts of subdiagrams by type:\")\n", " all_types = [get_coxeter_label(H, sterktype) for H in subgraphs]\n", " dp = Counter(all_types)\n", " for k in dp.keys():\n", " show(k, \": \", dp[k])\n", "\n", "def display_elliptic_subgraphs(subgraphs, sterktype, save=False):\n", " n = len( Sterk_quivers[sterktype].vertices() )\n", " j = 0\n", " for i in reversed(range(n+1)):\n", " rank_i_subgraphs = [H for H in subgraphs if len(H.vertices() ) == i]\n", " show(f\"Rank {i}: \")\n", " for H in rank_i_subgraphs:\n", " plot_sterk_subgraph( H, sterktype )\n", " this_type = get_coxeter_label(H, sterktype)\n", " show(this_type)\n", " if save:\n", " p = get_plot_sterk_subgraph(H, sterktype)\n", " p.save(f\"/home/zack/{sterktype}/elliptic_subdiagram_number_{j}_rank_{i}_type_{this_type}_index_{j}.png\")\n", " j = j+1\n", " show(\"--------------------------------------\")\n", "\n", "\n" ] }, { "cell_type": "markdown", "id": "d2a9f269-1703-41f1-8696-7eea2595413b", "metadata": {}, "source": [ "# Sterk 1" ] }, { "cell_type": "code", "execution_count": null, "id": "dcee149a-2f47-4a7f-9208-3920a6f93d92", "metadata": {}, "outputs": [], "source": [ "# Sterk 1\n", "\n", "s1_1 = v3 + v11\n", "s1_2 = v4 + v12\n", "s1_3 = v5 + v13\n", "s1_4 = v6 + v14\n", "s1_5 = v7 + v15\n", "s1_6 = v8 + v16\n", "s1_7 = v9 + v1\n", "s1_8 = v10 + v2\n", "s1_9 = v17 + v19\n", "s1_10 = v21\n", "s1_11 = v22\n", "s1_12 = v18 + v20\n", "\n", "Sterk_roots[\"Sterk_1\"] = [s1_1, s1_2, s1_3, s1_4, s1_5, s1_6, s1_7, s1_8, s1_9, s1_10, s1_11, s1_12]\n", "Sterk1_labels = range( len(Sterk_roots[\"Sterk_1\"]) )\n", "\n", "Sterk1_gram_matrix = root_intersection_matrix(\n", " Sterk_roots[\"Sterk_1\"], \n", " labels = Sterk1_labels, \n", " bil_form=dot\n", ")\n", "\n", "# positions = {\n", "# \"Sterk_1\": {\n", "# 0: [0, 0],\n", "# 1: [4, 0],\n", "# 2: [8, 0],\n", "# 3: [8, -4],\n", "# 4: [8, -8],\n", "# 5: [4, -8],\n", "# 6: [0, -8],\n", "# 7: [0, -4],\n", "# 8: [0, -8],\n", "# 9: [2, -6],\n", "# 10: [4, -4],\n", "# 11: [6, -2]\n", "# }\n", "\n", "\n", "Sterk1_Coxeter_diagram = Coxeter_Diagram(Sterk1_gram_matrix)\n", "plot_coxeter_diagram(\n", " Sterk1_Coxeter_diagram, \n", " v_labels = Sterk1_labels,\n", " pos = positions[\"Sterk_1\"]\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "94a8e97c-6033-4f45-9d24-e1dd529d238b", "metadata": {}, "outputs": [], "source": [ "Sterk_quivers = {\n", " \"Sterk_1\": matrix_to_quiver(Sterk1_gram_matrix)\n", "}\n", "\n", "Sterk_quivers[\"Sterk_1\"].plot(edge_labels=True)" ] }, { "cell_type": "code", "execution_count": null, "id": "b2ee5218-d334-4f52-8db5-7a447164f519", "metadata": {}, "outputs": [], "source": [ "def get_connected_elliptic_subgraphs(G, sterktype):\n", " all_possible_subgraphs_by_index = subsets( set(list( G.vertices()) ) )\n", " all_possible_subgraphs = [G.subgraph(l) for l in all_possible_subgraphs_by_index]\n", " \n", " connected_elliptic_subgraphs_by_rank = list(reversed(sorted(\n", " [H for H in all_possible_subgraphs if H.is_connected() and sterk_is_elliptic_subgraph(H, sterktype) ],\n", " key=len\n", " )))\n", "\n", " return connected_elliptic_subgraphs_by_rank\n", "\n", "Sterk1_connected_elliptic_subgraphs = get_connected_elliptic_subgraphs(\n", " Sterk_quivers[\"Sterk_1\"], \"Sterk_1\"\n", ")\n", "show(\"Done\")" ] }, { "cell_type": "code", "execution_count": null, "id": "c8847afe-5e7a-4087-a9a9-c2d339de0959", "metadata": { "scrolled": true }, "outputs": [], "source": [ "summarize_elliptic_subgraphs(Sterk1_connected_elliptic_subgraphs, \"Sterk_1\")" ] }, { "cell_type": "code", "execution_count": null, "id": "1d5f848e-b371-4d0f-8690-24e3148f58fe", "metadata": { "scrolled": true }, "outputs": [], "source": [ "# display_elliptic_subgraphs(Sterk1_connected_elliptic_subgraphs, \"Sterk_1\", save=True)" ] }, { "cell_type": "markdown", "id": "906b938f-8f2b-4bf4-a17c-0b6c1b7cb835", "metadata": {}, "source": [ "# Sterk 2" ] }, { "cell_type": "code", "execution_count": null, "id": "c6f54f8c-90de-41b4-9ef6-42c53a07fa29", "metadata": {}, "outputs": [], "source": [ "# Sterk 2\n", "\n", "s2_1 = w1 + w17\n", "s2_2 = w2 + w16\n", "s2_3 = w3 + w15\n", "s2_4 = w4 + w14\n", "s2_5 = w5 + w13\n", "s2_6 = w6 + w12\n", "s2_7 = w7 + w11\n", "s2_8 = w8 + w10\n", "s2_9 = w9\n", "s2_10 = w18 + w19\n", "\n", "Sterk_roots[\"Sterk_2\"] = [s2_1, s2_2, s2_3, s2_4, s2_5, s2_6, s2_7, s2_8, s2_9, s2_10]\n", "Sterk2_labels = range( len(Sterk_roots[\"Sterk_2\"]) )\n", "\n", "Sterk2_gram_matrix = root_intersection_matrix(\n", " Sterk_roots[\"Sterk_2\"], \n", " labels = Sterk2_labels, \n", " bil_form=dot \n", ")\n", "\n", "Sterk2_Coxeter_diagram = Coxeter_Diagram(Sterk2_gram_matrix)\n", "\n", "\n", "plot_coxeter_diagram(\n", " Sterk2_Coxeter_diagram, \n", " v_labels = Sterk2_labels,\n", " pos = positions[\"Sterk_2\"]\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "ce2f170e-18a0-45c7-80c1-d638d2bd1978", "metadata": {}, "outputs": [], "source": [ "Sterk_quivers = {\n", " \"Sterk_1\": matrix_to_quiver(Sterk1_gram_matrix),\n", " \"Sterk_2\": matrix_to_quiver(Sterk2_gram_matrix),\n", "}\n", "\n", "Sterk_quivers[\"Sterk_2\"].plot(edge_labels=True)" ] }, { "cell_type": "code", "execution_count": null, "id": "436b6362-d56a-4795-87d5-f12cc3428450", "metadata": {}, "outputs": [], "source": [ "Sterk2_connected_elliptic_subgraphs = get_connected_elliptic_subgraphs(\n", " Sterk_quivers[\"Sterk_2\"], \"Sterk_2\"\n", ")\n", "show(\"Done\")" ] }, { "cell_type": "code", "execution_count": null, "id": "0021992c-caf1-4ad8-8fc7-9b69eb0bd703", "metadata": {}, "outputs": [], "source": [ "summarize_elliptic_subgraphs(Sterk2_connected_elliptic_subgraphs, \"Sterk_2\")" ] }, { "cell_type": "code", "execution_count": null, "id": "285110e9-ad6c-49fb-b9ad-aa40f211dd17", "metadata": {}, "outputs": [], "source": [ "# display_elliptic_subgraphs(Sterk2_connected_elliptic_subgraphs, \"Sterk_2\", save=True)" ] }, { "cell_type": "markdown", "id": "7c54879c-e220-4cf5-bb65-94759053c11b", "metadata": {}, "source": [ "# Sterk 3" ] }, { "cell_type": "code", "execution_count": null, "id": "9af1b073-70fd-46d2-8b68-08870b133985", "metadata": {}, "outputs": [], "source": [ "# Sterk 3\n", "\n", "wa = lambda x: x + (1/2)*dot(v22, x) * v22\n", "I = lambda x: x + wa(x)\n", "\n", "s3_1 = v13\n", "s3_2 = v14 + v12\n", "s3_3 = v15 + v11\n", "s3_4 = v16 + v10\n", "s3_5 = v1 + v9\n", "s3_6 = v2 + v8\n", "s3_7 = v3 + v7\n", "s3_8 = v4 + v6\n", "s3_9 = v5\n", "s3_10 = v17 + v19\n", "s3_11 = I(v20) #v22 + 2*v20\n", "s3_12 = I(v18) #v22 + 2*v18\n", "\n", "Sterk_roots[\"Sterk_3\"] = [s3_1, s3_2, s3_3, s3_4, s3_5, s3_6, s3_7, s3_8, s3_9, s3_10, s3_11, s3_12]\n", "Sterk3_labels = range( len(Sterk_roots[\"Sterk_3\"]) )\n", "Sterk3_gram_matrix = root_intersection_matrix(\n", " Sterk_roots[\"Sterk_3\"], \n", " labels = Sterk3_labels, \n", " bil_form=dot\n", ")\n", "\n", "Sterk3_Coxeter_diagram = Coxeter_Diagram(Sterk3_gram_matrix)\n", "plot_coxeter_diagram(\n", " Sterk3_Coxeter_diagram, \n", " v_labels = Sterk3_labels,\n", " pos = positions[\"Sterk_3\"]\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "96d6233e-9d32-4c08-a4f6-534b81dc4856", "metadata": {}, "outputs": [], "source": [ "Sterk_quivers = {\n", " \"Sterk_1\": matrix_to_quiver(Sterk1_gram_matrix),\n", " \"Sterk_2\": matrix_to_quiver(Sterk2_gram_matrix),\n", " \"Sterk_3\": matrix_to_quiver(Sterk3_gram_matrix),\n", "}\n", "\n", "Sterk_quivers[\"Sterk_3\"].plot(edge_labels=True)" ] }, { "cell_type": "code", "execution_count": null, "id": "637110f2-7b07-4bed-9ce6-a8673f0ef8cf", "metadata": {}, "outputs": [], "source": [ "Sterk3_connected_elliptic_subgraphs = get_connected_elliptic_subgraphs(\n", " Sterk_quivers[\"Sterk_3\"], \"Sterk_3\"\n", ")\n", "show(\"Done\")" ] }, { "cell_type": "code", "execution_count": null, "id": "5ad85913-5c0f-41ff-94fa-6823878b66cb", "metadata": {}, "outputs": [], "source": [ "summarize_elliptic_subgraphs(Sterk3_connected_elliptic_subgraphs, \"Sterk_3\")" ] }, { "cell_type": "code", "execution_count": null, "id": "b40e813b-04a3-49f6-b85b-0f98948b2074", "metadata": { "scrolled": true }, "outputs": [], "source": [ "display_elliptic_subgraphs(Sterk3_connected_elliptic_subgraphs, \"Sterk_3\", save=True)" ] }, { "cell_type": "markdown", "id": "bbd854c7-0eba-45e5-968a-57842ebd8ff9", "metadata": {}, "source": [ "# Sterk 4" ] }, { "cell_type": "code", "execution_count": null, "id": "6d71a145-db3e-45c4-8dd3-afb6e75d7be1", "metadata": {}, "outputs": [], "source": [ "s4_1 = v15\n", "s4_2 = v16 + v14\n", "s4_3 = v1 + v13\n", "s4_4 = v2 + v12\n", "s4_5 = v3 + v11\n", "s4_6 = v4 + v10\n", "s4_7 = v5 + v9\n", "s4_8 = v6 + v8\n", "s4_9 = v7\n", "s4_10 = v17 + v20\n", "s4_11 = v18 + v19\n", "s4_12 = v22 + v21\n", "\n", "Sterk_roots[\"Sterk_4\"] = [s4_1, s4_2, s4_3, s4_4, s4_5, s4_6, s4_7, s4_8, s4_9, s4_10, s4_11]\n", "\n", "Sterk4_labels = range( len(Sterk_roots[\"Sterk_4\"]) )\n", "\n", "\n", "Sterk4_gram_matrix = root_intersection_matrix(\n", " Sterk_roots[\"Sterk_4\"], \n", " labels = Sterk2_labels, \n", " bil_form=dot\n", ")\n", "\n", "Sterk4_Coxeter_diagram = Coxeter_Diagram(Sterk4_gram_matrix)\n", "\n", "plot_coxeter_diagram(\n", " Sterk4_Coxeter_diagram, \n", " v_labels = Sterk4_labels,\n", " pos = positions[\"Sterk_4\"] \n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "48c75e5f-4b89-4ec0-8f39-3b6145914a3c", "metadata": {}, "outputs": [], "source": [ "Sterk_quivers = {\n", " \"Sterk_1\": matrix_to_quiver(Sterk1_gram_matrix),\n", " \"Sterk_2\": matrix_to_quiver(Sterk2_gram_matrix),\n", " \"Sterk_3\": matrix_to_quiver(Sterk3_gram_matrix),\n", " \"Sterk_4\": matrix_to_quiver(Sterk4_gram_matrix),\n", "}\n", "\n", "Sterk_quivers[\"Sterk_4\"].plot(edge_labels=True)" ] }, { "cell_type": "code", "execution_count": null, "id": "81befa4a-4968-4d9a-95ca-dc82d42cad09", "metadata": {}, "outputs": [], "source": [ "Sterk4_connected_elliptic_subgraphs = get_connected_elliptic_subgraphs(\n", " Sterk_quivers[\"Sterk_4\"], \"Sterk_4\"\n", ")\n", "show(\"Done\")" ] }, { "cell_type": "code", "execution_count": null, "id": "187e1211-fb8b-4b47-bfcd-2e8f5fb5abee", "metadata": {}, "outputs": [], "source": [ "summarize_elliptic_subgraphs(Sterk4_connected_elliptic_subgraphs, \"Sterk_4\")" ] }, { "cell_type": "code", "execution_count": null, "id": "d521c190-648a-4718-ab37-0e5cb7f55859", "metadata": { "scrolled": true }, "outputs": [], "source": [ "display_elliptic_subgraphs(Sterk4_connected_elliptic_subgraphs, \"Sterk_4\", save=True)" ] }, { "cell_type": "markdown", "id": "934b2cc6-8f4a-4086-9503-0e6391464558", "metadata": {}, "source": [ "# Sterk 5" ] }, { "cell_type": "code", "execution_count": null, "id": "8c07bc76-2459-4512-9d12-131da700d94a", "metadata": {}, "outputs": [], "source": [ "# Sterk 5\n", "\n", "s5_1 = v16 + 2v1 + v2\n", "s5_2 = v2 + 2v3 + v4\n", "s5_3 = v4 + 2v5 + v6\n", "s5_4 = v6 + 2v7 + v8\n", "s5_5 = v8 + 2v9 + v10\n", "s5_6 = v10 + 2v11 + v12\n", "s5_7 = v12 + 2v13 + v14\n", "s5_8 = v14 + 2v15 + v16\n", "s5_9 = v17\n", "s5_10 = v18\n", "s5_11 = v19\n", "s5_12 = v20\n", "s5_13 = v21\n", "s5_14 = v22\n", "\n", "Sterk_roots[\"Sterk_5\"] = [s5_1, s5_2, s5_3, s5_4, s5_5, s5_6, s5_7, s5_8, s5_9, s5_10, s5_11, s5_12, s5_13, s5_14]\n", "\n", "Sterk5_labels = range( len(Sterk_roots[\"Sterk_5\"]) )\n", "\n", "Sterk5_gram_matrix = root_intersection_matrix(\n", " Sterk_roots[\"Sterk_5\"], \n", " labels = Sterk5_labels, \n", " bil_form=dot\n", ")\n", "\n", "Sterk5_Coxeter_diagram = Coxeter_Diagram(Sterk5_gram_matrix)\n", "\n", "plot_coxeter_diagram(\n", " Sterk5_Coxeter_diagram, \n", " v_labels = Sterk5_labels,\n", " pos = positions[\"Sterk_5\"]\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "1483153d-0eb5-4ec8-8208-edf43ca13608", "metadata": {}, "outputs": [], "source": [ "Sterk_quivers = {\n", " \"Sterk_1\": matrix_to_quiver(Sterk1_gram_matrix),\n", " \"Sterk_2\": matrix_to_quiver(Sterk2_gram_matrix),\n", " \"Sterk_3\": matrix_to_quiver(Sterk3_gram_matrix),\n", " \"Sterk_4\": matrix_to_quiver(Sterk4_gram_matrix),\n", " \"Sterk_5\": matrix_to_quiver(Sterk5_gram_matrix),\n", "}\n", "\n", "Sterk_quivers[\"Sterk_5\"].plot(edge_labels=True)" ] }, { "cell_type": "code", "execution_count": null, "id": "6bbde152-d321-4eeb-81ae-b528999fa082", "metadata": {}, "outputs": [], "source": [ "Sterk5_connected_elliptic_subgraphs = get_connected_elliptic_subgraphs(\n", " Sterk_quivers[\"Sterk_5\"], \"Sterk_5\"\n", ")\n", "show(\"Done\")" ] }, { "cell_type": "code", "execution_count": null, "id": "388e6065-7ae9-4687-9c85-22be3a8e609d", "metadata": {}, "outputs": [], "source": [ "summarize_elliptic_subgraphs(Sterk5_connected_elliptic_subgraphs, \"Sterk_5\")" ] }, { "cell_type": "code", "execution_count": null, "id": "bc6abaa0-27e7-4218-9680-fd87e111b012", "metadata": { "scrolled": true }, "outputs": [], "source": [ "display_elliptic_subgraphs(Sterk5_connected_elliptic_subgraphs, \"Sterk_5\", save=True)" ] }, { "cell_type": "markdown", "id": "c2d5087d-68e0-4dfa-8a6a-2234d5c26861", "metadata": {}, "source": [ "# Summary of Maximal Elliptic Diagrams" ] }, { "cell_type": "code", "execution_count": null, "id": "21104064-ef2c-403d-8fde-b37a4d39a992", "metadata": {}, "outputs": [], "source": [ "def maximal_elliptics(all_elliptics):\n", " maximals = []\n", " for H in all_elliptics:\n", " is_subset_status = [ \n", " set( H.vertices() ).issubset( set( Hp.vertices() ) ) \n", " for Hp in \n", " [ s for s in all_elliptics if s != H ]\n", " ]\n", " H_is_a_subset_of_something = reduce(lambda x, y: x or y, is_subset_status)\n", " if H_is_a_subset_of_something:\n", " continue\n", " else:\n", " maximals.append(H)\n", " return maximals\n", "\n", "def summarize_maximal_elliptics(all_elliptics, sterktype):\n", " maximals = [ (H, get_coxeter_label(H, sterktype )) for H in maximal_elliptics(all_elliptics) ]\n", " show(f\"Number of maximal elliptics: { len(maximals)}\" )\n", " \n", " maximals = list( sorted( maximals, key = lambda x: x[1] ) )\n", " \n", " for H, label in maximals:\n", " plot_sterk_subgraph(H, sterktype)\n", " show(label)" ] }, { "cell_type": "code", "execution_count": null, "id": "667b518c-d9e0-4746-9cc3-b0d36c128c4e", "metadata": {}, "outputs": [], "source": [ "all_elliptics = {\n", " \"Sterk_1\": Sterk1_connected_elliptic_subgraphs,\n", " \"Sterk_2\": Sterk2_connected_elliptic_subgraphs,\n", " \"Sterk_3\": Sterk3_connected_elliptic_subgraphs,\n", " \"Sterk_4\": Sterk4_connected_elliptic_subgraphs,\n", " \"Sterk_5\": Sterk5_connected_elliptic_subgraphs,\n", "}\n", "\n", "\n", "lens = [ len(all_elliptics[k]) for k in all_elliptics] \n", "show(f\"Number of (ALL) elliptics in Sterk 1 through 5: {lens}\")\n", "show(f\"Total number of (ALL) elliptics in all Sterk diagrams: {sum(lens )}\")" ] }, { "cell_type": "code", "execution_count": null, "id": "39765fac-f09c-46ad-a2dd-43978ca297a0", "metadata": {}, "outputs": [], "source": [ "all_maximal_elliptics = {\n", " \"Sterk_1\": maximal_elliptics( Sterk1_connected_elliptic_subgraphs ),\n", " \"Sterk_2\": maximal_elliptics( Sterk2_connected_elliptic_subgraphs ),\n", " \"Sterk_3\": maximal_elliptics( Sterk3_connected_elliptic_subgraphs ),\n", " \"Sterk_4\": maximal_elliptics( Sterk4_connected_elliptic_subgraphs ),\n", " \"Sterk_5\": maximal_elliptics( Sterk5_connected_elliptic_subgraphs ),\n", "}\n", "\n", "lens = [ len(all_maximal_elliptics[k]) for k in all_maximal_elliptics] \n", "show(f\"Number of MAXIMAL elliptics in Sterk 1 through 5: {lens}\")\n", "show(f\"Total number of MAXIMAL elliptics in all Sterk diagrams: {sum(lens )}\")" ] }, { "cell_type": "markdown", "id": "12204549-b0ab-4a00-b406-215e00f4f911", "metadata": {}, "source": [ "## Maximal elliptics in Sterk 1" ] }, { "cell_type": "code", "execution_count": null, "id": "7515c95f-6bcb-4253-bcf0-4f6b1235c3d0", "metadata": {}, "outputs": [], "source": [ "summarize_maximal_elliptics(Sterk1_connected_elliptic_subgraphs, \"Sterk_1\")" ] }, { "cell_type": "markdown", "id": "7ece2e6a-c33e-4e28-95e7-48cf7ac111e3", "metadata": {}, "source": [ "## Maximal elliptics in Sterk 2" ] }, { "cell_type": "code", "execution_count": null, "id": "40d9650a-6a0b-41f1-afe2-46c14649c932", "metadata": { "scrolled": true }, "outputs": [], "source": [ "summarize_maximal_elliptics(Sterk2_connected_elliptic_subgraphs, \"Sterk_2\")" ] }, { "cell_type": "markdown", "id": "c2e9dbe9-4ccd-4a83-8596-355c832554e9", "metadata": {}, "source": [ "## Maximal elliptics in Sterk 3" ] }, { "cell_type": "code", "execution_count": null, "id": "cbc22820-963c-4862-94ec-51db42cd96e3", "metadata": {}, "outputs": [], "source": [ "summarize_maximal_elliptics(Sterk3_connected_elliptic_subgraphs, \"Sterk_3\")" ] }, { "cell_type": "markdown", "id": "a04ef336-f8e9-4945-b430-56982dd62463", "metadata": {}, "source": [ "## Maximal elliptics in Sterk 4" ] }, { "cell_type": "code", "execution_count": null, "id": "8f0166cd-644d-4e55-b6b4-0bbdfb7b7cb8", "metadata": {}, "outputs": [], "source": [ "summarize_maximal_elliptics(Sterk4_connected_elliptic_subgraphs, \"Sterk_4\")" ] }, { "cell_type": "markdown", "id": "2f67309c-f188-4e92-be90-89244e57a375", "metadata": {}, "source": [ "## Maximal elliptics in Sterk 5" ] }, { "cell_type": "code", "execution_count": null, "id": "6a587ad3-b3df-4c14-9cbe-9b2781a9657d", "metadata": {}, "outputs": [], "source": [ "summarize_maximal_elliptics(Sterk5_connected_elliptic_subgraphs, \"Sterk_5\")" ] }, { "cell_type": "markdown", "id": "c9663ed4-6e57-4aff-b9b4-40626c416f72", "metadata": {}, "source": [ "# Orbits" ] }, { "cell_type": "code", "execution_count": null, "id": "39b7e903-db6f-4160-9182-b197cfa41c95", "metadata": { "scrolled": true }, "outputs": [], "source": [ "\n", "def summarize_maximal_orbits(sterktype):\n", " G = Sterk_quivers[sterktype]\n", " AutG = G.automorphism_group()\n", " maximals = all_maximal_elliptics[sterktype]\n", " orbits = set()\n", "\n", " for H in maximals:\n", " orb = AutG.orbit( tuple(H.vertices() ), action = \"OnSets\")\n", " lp = sorted( [ tuple( sorted(l) ) for l in orb] )\n", " orbits.add(tuple( lp ))\n", "\n", " labeled_orbit_representatives = sorted([\n", " ( G.subgraph(H[0]), get_coxeter_label( G.subgraph(H[0]) , sterktype ) ) \n", " for H in orbits \n", " ], key=lambda x: x[1] )\n", " \n", " show(f\"Number of maximal orbits:{len(labeled_orbit_representatives)}\")\n", " for o in labeled_orbit_representatives:\n", " H = o[0]\n", " label = o[1]\n", " plot_sterk_subgraph(H, sterktype)\n", " show(label, \": \", H.vertices())\n", " show(\"--------------------------\")\n", "\n", "\n", "summarize_maximal_orbits(\"Sterk_1\")" ] }, { "cell_type": "code", "execution_count": null, "id": "b2b42538-1e10-45e8-a733-d1cc079646a7", "metadata": {}, "outputs": [], "source": [ "summarize_maximal_orbits(\"Sterk_2\")" ] }, { "cell_type": "code", "execution_count": null, "id": "e319eadc-7ae3-4e75-92e5-1800aa45bb61", "metadata": {}, "outputs": [], "source": [ "summarize_maximal_orbits(\"Sterk_3\")" ] }, { "cell_type": "code", "execution_count": null, "id": "4161fb3d-100d-4af9-9106-6d7e7e668e45", "metadata": {}, "outputs": [], "source": [ "summarize_maximal_orbits(\"Sterk_4\")" ] }, { "cell_type": "code", "execution_count": null, "id": "ed65f23b-7f87-47fb-95fe-af6c465c3275", "metadata": { "scrolled": true }, "outputs": [], "source": [ "summarize_maximal_orbits(\"Sterk_5\")" ] }, { "cell_type": "markdown", "id": "74592cf3-2815-44fc-8c91-277e9b6a5b45", "metadata": {}, "source": [ "# Symmetric Maimal Elliptics Upstairs" ] }, { "cell_type": "code", "execution_count": 11, "id": "f863f79d-b876-4292-a5e6-63dcbab9ed1d", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Graph on 19 vertices" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G_18_0_0" ] }, { "cell_type": "code", "execution_count": 12, "id": "a97c8932-832f-4fe3-9ab7-a3180ae8a31b", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Graphics object consisting of 94 graphics primitives" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Quiver_18_0_0 = matrix_to_quiver(intersection_matrix_roots_18_0_0)\n", "Quiver_18_0_0.plot(edge_labels=True)" ] }, { "cell_type": "code", "execution_count": 13, "id": "3025d9e2-c056-4dd9-9ed5-d3eba58745a7", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Graphics object consisting of 19 graphics primitives" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# test_G = Graph([ (1,1,-2), (1,2,1), (2,2,-2) ], loops=True)\n", "test_G = graph_D_n(4)\n", "test_G.plot(edge_labels=True) " ] }, { "cell_type": "code", "execution_count": 15, "id": "c256aeb0-2bf0-4233-b8c3-6d9aaf4ea48b", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Subgraph of (): Looped graph on 4 vertices" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def quiver_to_matrix(G):\n", " verts = G.vertices()\n", " n = len(verts)\n", " M = zero_matrix(ZZ, n)\n", " for e in G.edges():\n", " M[ verts.index( e[0] ), verts.index( e[1] ) ] = e[2]\n", " M[ verts.index( e[1] ), verts.index( e[0] ) ] = e[2]\n", " return M\n", " \n", "def is_elliptic_subgraph(H):\n", " return is_elliptic_matrix( quiver_to_matrix(H) )\n", " \n", "def get_all_elliptic_subgraphs(G):\n", " \n", " all_possible_subgraphs = [\n", " G.subgraph(l) \n", " for l in subsets( set(list( G.vertices()) ) ) \n", " if l != [] \n", " ]\n", "\n", " \n", " return list(reversed(sorted(\n", " [H for H in all_possible_subgraphs if is_elliptic_subgraph(H) ],\n", " key=len\n", " )))\n", "\n", "\n", "get_all_elliptic_subgraphs(test_G)[0]" ] }, { "cell_type": "code", "execution_count": 44, "id": "dbfb538e-b352-4755-881c-7b8b9c2794cf", "metadata": {}, "outputs": [], "source": [ "def get_coxeter_label_from_matrix(M):\n", " assert M.nrows() == M.ncols()\n", " n = M.nrows()\n", " ade_types = get_all_rank_n_types(n)\n", " this_type = [ x[0] for x in ade_types if x[1].is_similar(M) ]\n", " assert len(this_type) >= 1\n", " return this_type[0]\n", " \n", "def get_coxeter_label_graph(G):\n", " n = len( G.vertices() )\n", " M_G = quiver_to_matrix(G)\n", " return get_coxeter_label_from_matrix(M)\n", "\n", "def get_all_orbits_elliptic_subgraphs(G):\n", " AutG = G.automorphism_group()\n", " all_elliptic_subgraphs = get_all_elliptic_subgraphs(G)\n", " orbits = set()\n", "\n", " for H in all_elliptic_subgraphs:\n", " orb = AutG.orbit( tuple(H.vertices() ), action = \"OnSets\")\n", " lp = sorted( [ tuple( sorted(l) ) for l in orb] )\n", " orbits.add(tuple( lp ))\n", "\n", " return [ G.subgraph(H[0]) for H in orbits ] \n", "\n", "get\n", " \n", "def get_labeled_orbits(G):\n", " orbits = get_all_orbits_elliptic_subgraphs(G)\n", " # representative_subgraphs = [ quiver_to_matrix(x.subgraph(xp)) for xp in x.connected_components() ]\n", " labels = []\n", " for x in orbits:\n", " ls = [ quiver_to_matrix(x.subgraph(xp)) for xp in x.connected_components() ]\n", " lsp = [ (get_coxeter_label_from_matrix(M), M ) for M in ls ]\n", " # show( len(x.connected_components() ), \": \", lsp )\n", " label = reduce(lambda a,b: a + \" ⊕ \" + b, list(map(lambda a: a[0], lsp) ))\n", " labels.append( (label, x) )\n", " return labels\n", " \n" ] }, { "cell_type": "code", "execution_count": null, "id": "a8152c64-e528-4278-a6a6-aac674422dd0", "metadata": {}, "outputs": [], "source": [ "all_elliptics_orbits = get_labeled_orbits(Quiver_18_0_0)" ] }, { "cell_type": "code", "execution_count": null, "id": "ef325fba-839e-4675-acf6-3a93423e8fc9", "metadata": {}, "outputs": [], "source": [ "len( all_elliptics_orbits " ] }, { "cell_type": "code", "execution_count": null, "id": "34cf3d1c-7452-4c28-96c3-b701ff77b8a6", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 10.4.beta5", "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.11.1" } }, "nbformat": 4, "nbformat_minor": 5 }