{ "cells": [{ "cell_type": "markdown", "metadata": {}, "source": [ "# Numerical semigroups with `francy`\n", "\n", "## Load `francy` Package" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [{ "name": "stdout", "output_type": "stream", "text": [ "#I Please load package NormalizInterface or 4ti2Interface\n", "#I to have extended functionalities.\n", "#I Please load package SingularInterface or singular (not both)\n", "#I or GradedModules to have extended functionalities.\n" ] }, { "data": { "text/plain": [ "true" ] }, "execution_count": 1, "metadata": { "text/plain": "" }, "output_type": "execute_result" }, { "data": { "text/plain": [ "true" ] }, "execution_count": 2, "metadata": { "text/plain": "" }, "output_type": "execute_result" } ], "source": [ "LoadPackage(\"francy\");\n", "LoadPackage(\"num\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Drawing Apéry sets" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This example draws the Apéry set of a numerical semigrup with respect to its multiplicity. By passing over a node with the mouse, the set of factorizations with respect to the minimal generating system of the numerical semigroup is displayed. Clicking a node produces a message with the same information." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [{ "data": { "text/plain": [ "function( arg... ) ... end" ] }, "execution_count": 3, "metadata": { "text/plain": "" }, "output_type": "execute_result" }], "source": [ "apery:=function(arg)\n", " local ap,c,hasse, s, n, r, graphHasse, aps, es, canvas, i, order, showfacts, message;\n", " # rel is a list of lists with two elements representin a binary relation\n", " # hasse(rel) removes from rel the pairs [x,y] such that there exists\n", " # z with [x,z],[z,y] in rel\n", " hasse:=function(rel)\n", " local dom, out;\n", " dom:=Flat(rel);\n", " out:=Filtered(rel, p-> ForAny(dom, x->([p[1],x] in rel) and ([x,p[2]] in rel)));\n", " return Difference(rel,out);\n", " end;\n", "\n", " order:=function(x)\n", " return Maximum(LengthsOfFactorizationsElementWRTNumericalSemigroup(x,s));\n", " end;\n", "\n", " showfacts:=function(x)\n", " message := FrancyMessage(Concatenation(String(x), \" factors as \"), \n", " String(FactorizationsElementWRTNumericalSemigroup(x,s)));\n", " SetFrancyId(message, Concatenation(\"message-for-\", String(x)));\n", " Add(canvas, message);\n", " return Draw(canvas);\n", " end;\n", " if Length(arg)=1 then\n", " s:=arg[1];\n", " n:=MultiplicityOfNumericalSemigroup(s);\n", " fi;\n", " if Length(arg)=2 then\n", " s:=arg[1];\n", " n:=arg[2];\n", " fi;\n", " if Length(arg)>2 then\n", " Error(\"The number of arguments must be one or two\");\n", " fi;\n", " \n", " graphHasse := Graph(GraphType.UNDIRECTED);\n", " #SetSimulation(graphHasse,true);\n", " #SetDrag(graphHasse,true);\n", " ap:=AperyList(s,n);\n", " c:=Cartesian([1..n],[1..n]);\n", " c:=Filtered(c, p-> ap[p[2]]<>ap[p[1]]);\n", " c:=Filtered(c, p-> ap[p[1]]-ap[p[2]] in s);\n", " c:=hasse(c);\n", " aps:=[];\n", " for i in [1..n] do\n", " aps[i]:=Shape(ShapeType!.CIRCLE, String(ap[i]));\n", " SetLayer(aps[i],-order(ap[i]));\n", " Add(aps[i],Callback(showfacts,[ap[i]]));\n", " Add(aps[i],FrancyMessage(Concatenation(\"{\",\n", " JoinStringsWithSeparator(List(FactorizationsElementWRTNumericalSemigroup(ap[i],s), \n", " f->Concatenation(\"(\",JoinStringsWithSeparator(f,\",\"),\")\")),\",\"),\")\")));\n", " Add(graphHasse,aps[i]);\n", " od;\n", " for r in c do\n", " Add(graphHasse,Link(aps[r[1]],aps[r[2]]));\n", " od;\n", " canvas:=Canvas(\"Apery\");\n", " Add(canvas,graphHasse);\n", " return Draw(canvas); \n", "end;" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": false }, "outputs": [{ "data": { "application/vnd.francy+json": "{\"version\" : \"1.0.2\",\"mime\" : \"application\\/vnd.francy+json\",\"canvas\" : {\"width\" : 800,\"id\" : \"F45\",\"height\" : 600,\"title\" : \"Apery\",\"zoomToFit\" : true,\"texTypesetting\" : false,\"menus\" : {},\"graph\" : {\"type\" : \"undirected\",\"id\" : \"F1\",\"simulation\" : true,\"collapsed\" : true,\"nodes\" : {\"F2\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F2\",\"size\" : 10,\"title\" : \"0\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F4\" : {\"type\" : \"default\",\"id\" : \"F4\",\"text\" : \"{(0,0,0))\",\"title\" : \"\"}},\"callbacks\" : {\"F3\" : {\"func\" : \"unknown\",\"id\" : \"F3\",\"trigger\" : \"click\",\"knownArgs\" : [\"0\"],\"requiredArgs\" : {}}}},\"F5\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F5\",\"size\" : 10,\"title\" : \"31\",\"color\" : \"\",\"layer\" : -1,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F7\" : {\"type\" : \"default\",\"id\" : \"F7\",\"text\" : \"{(0,0,1))\",\"title\" : \"\"}},\"callbacks\" : {\"F6\" : {\"func\" : \"unknown\",\"id\" : \"F6\",\"trigger\" : \"click\",\"knownArgs\" : [\"31\"],\"requiredArgs\" : {}}}},\"F8\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F8\",\"size\" : 10,\"title\" : \"62\",\"color\" : \"\",\"layer\" : -2,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F10\" : {\"type\" : \"default\",\"id\" : \"F10\",\"text\" : \"{(0,0,2))\",\"title\" : \"\"}},\"callbacks\" : {\"F9\" : {\"func\" : \"unknown\",\"id\" : \"F9\",\"trigger\" : \"click\",\"knownArgs\" : [\"62\"],\"requiredArgs\" : {}}}},\"F11\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F11\",\"size\" : 10,\"title\" : \"93\",\"color\" : \"\",\"layer\" : -3,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F13\" : {\"type\" : \"default\",\"id\" : \"F13\",\"text\" : \"{(0,0,3))\",\"title\" : \"\"}},\"callbacks\" : {\"F12\" : {\"func\" : \"unknown\",\"id\" : \"F12\",\"trigger\" : \"click\",\"knownArgs\" : [\"93\"],\"requiredArgs\" : {}}}},\"F14\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F14\",\"size\" : 10,\"title\" : \"54\",\"color\" : \"\",\"layer\" : -2,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F16\" : {\"type\" : \"default\",\"id\" : \"F16\",\"text\" : \"{(0,2,0))\",\"title\" : \"\"}},\"callbacks\" : {\"F15\" : {\"func\" : \"unknown\",\"id\" : \"F15\",\"trigger\" : \"click\",\"knownArgs\" : [\"54\"],\"requiredArgs\" : {}}}},\"F17\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F17\",\"size\" : 10,\"title\" : \"85\",\"color\" : \"\",\"layer\" : -3,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F19\" : {\"type\" : \"default\",\"id\" : \"F19\",\"text\" : \"{(0,2,1))\",\"title\" : \"\"}},\"callbacks\" : {\"F18\" : {\"func\" : \"unknown\",\"id\" : \"F18\",\"trigger\" : \"click\",\"knownArgs\" : [\"85\"],\"requiredArgs\" : {}}}},\"F20\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F20\",\"size\" : 10,\"title\" : \"116\",\"color\" : \"\",\"layer\" : -4,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F22\" : {\"type\" : \"default\",\"id\" : \"F22\",\"text\" : \"{(0,2,2))\",\"title\" : \"\"}},\"callbacks\" : {\"F21\" : {\"func\" : \"unknown\",\"id\" : \"F21\",\"trigger\" : \"click\",\"knownArgs\" : [\"116\"],\"requiredArgs\" : {}}}},\"F23\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F23\",\"size\" : 10,\"title\" : \"27\",\"color\" : \"\",\"layer\" : -1,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F25\" : {\"type\" : \"default\",\"id\" : \"F25\",\"text\" : \"{(0,1,0))\",\"title\" : \"\"}},\"callbacks\" : {\"F24\" : {\"func\" : \"unknown\",\"id\" : \"F24\",\"trigger\" : \"click\",\"knownArgs\" : [\"27\"],\"requiredArgs\" : {}}}},\"F26\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F26\",\"size\" : 10,\"title\" : \"58\",\"color\" : \"\",\"layer\" : -2,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F28\" : {\"type\" : \"default\",\"id\" : \"F28\",\"text\" : \"{(0,1,1))\",\"title\" : \"\"}},\"callbacks\" : {\"F27\" : {\"func\" : \"unknown\",\"id\" : \"F27\",\"trigger\" : \"click\",\"knownArgs\" : [\"58\"],\"requiredArgs\" : {}}}},\"F29\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F29\",\"size\" : 10,\"title\" : \"89\",\"color\" : \"\",\"layer\" : -3,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F31\" : {\"type\" : \"default\",\"id\" : \"F31\",\"text\" : \"{(0,1,2))\",\"title\" : \"\"}},\"callbacks\" : {\"F30\" : {\"func\" : \"unknown\",\"id\" : \"F30\",\"trigger\" : \"click\",\"knownArgs\" : [\"89\"],\"requiredArgs\" : {}}}}},\"links\" : {\"F32\" : {\"id\" : \"F32\",\"source\" : \"F5\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F2\"},\"F33\" : {\"id\" : \"F33\",\"source\" : \"F8\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F5\"},\"F34\" : {\"id\" : \"F34\",\"source\" : \"F11\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F8\"},\"F35\" : {\"id\" : \"F35\",\"source\" : \"F14\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F23\"},\"F36\" : {\"id\" : \"F36\",\"source\" : \"F17\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F14\"},\"F37\" : {\"id\" : \"F37\",\"source\" : \"F17\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F26\"},\"F38\" : {\"id\" : \"F38\",\"source\" : \"F20\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F17\"},\"F39\" : {\"id\" : \"F39\",\"source\" : \"F20\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F29\"},\"F40\" : {\"id\" : \"F40\",\"source\" : \"F23\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F2\"},\"F41\" : {\"id\" : \"F41\",\"source\" : \"F26\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F5\"},\"F42\" : {\"id\" : \"F42\",\"source\" : \"F26\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F23\"},\"F43\" : {\"id\" : \"F43\",\"source\" : \"F29\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F8\"},\"F44\" : {\"id\" : \"F44\",\"source\" : \"F29\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F26\"}}},\"messages\" : {}}}" }, "execution_count": 4, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" }], "source": [ "apery(NumericalSemigroup(10,51,27,31));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Drawing sons of numerical semigroups" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This example shows how to draw the sons of a numerical semigroup in the tree of numerical semigroups. If we click on a node, then the sets of sons of that node are added to the canvas, and if the node is a leaf, a warning message is displayed.\n", "\n", "Passing the mouse over a node shows the set of minimal generators of the node." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [{ "data": { "text/plain": [ "function( s ) ... end" ] }, "execution_count": 5, "metadata": { "text/plain": "" }, "output_type": "execute_result" }], "source": [ "sons:=function(s)\n", " local gens, frb, desc, graphHasse, d, shpr, shp, canvas, sonsf, i, gn, lbl;\n", " \n", " \n", " sonsf:=function(s,n)\n", " local gens, frb, desc, d, shp, i, lbl, gn;\n", "\n", " frb:=FrobeniusNumber(s);\n", " gens:=Filtered(MinimalGenerators(s), x-> x>frb);\n", " desc:=List(gens, g->RemoveMinimalGeneratorFromNumericalSemigroup(g,s));\n", " gn:=Genus(s);\n", " i:=0;\n", " for d in desc do\n", " i:=i+1;\n", " lbl:=Concatenation(\"$\\\\langle\",JoinStringsWithSeparator(MinimalGenerators(d),\",\"),\"\\\\rangle$\");\n", " shp:=Shape(ShapeType!.CIRCLE, lbl);\n", " SetFrancyId(shp,lbl);\n", " SetLayer(shp,Genus(d));\n", " SetSize(shp,1);\n", " Add(shp,Callback(sonsf,[d,shp]));\n", " Add(shp,FrancyMessage(String(MinimalGenerators(d))));\n", " Add(graphHasse,shp);\n", " Add(graphHasse,Link(n,shp));\n", " od;\n", " if desc<>[] then \n", " return Draw(canvas);\n", " fi;\n", " Add(canvas, FrancyMessage(FrancyMessageType.WARNING, \"This semigroup is a leaf\"));\n", " return Draw(canvas);\n", " end;\n", " \n", " frb:=FrobeniusNumber(s);\n", " gens:=Filtered(MinimalGenerators(s), x-> x>frb);\n", " desc:=List(gens, g->RemoveMinimalGeneratorFromNumericalSemigroup(g,s));\n", " gn:=Genus(s);\n", "\n", " graphHasse := Graph(GraphType.UNDIRECTED);\n", " lbl:=Concatenation(\"$\\\\langle\",JoinStringsWithSeparator(MinimalGenerators(s),\",\"),\"\\\\rangle$\");\n", " shpr:=Shape(ShapeType!.CIRCLE, lbl);\n", " SetSize(shpr,1);\n", " SetFrancyId(shpr,lbl);\n", " Add(shpr,FrancyMessage(String(MinimalGenerators(s))));\n", " SetLayer(shpr,Genus(s));\n", " Add(graphHasse,shpr);\n", " i:=0;\n", " for d in desc do\n", " i:=i+1;\n", " lbl:=Concatenation(\"$\\\\langle\",JoinStringsWithSeparator(MinimalGenerators(d),\",\"),\"\\\\rangle$\");\n", " shp:=Shape(ShapeType!.CIRCLE, lbl);\n", " SetFrancyId(shp,lbl);\n", " SetLayer(shp,Genus(d));\n", " SetSize(shp,1);\n", " Add(shp,Callback(sonsf,[d,shp]));\n", " Add(shp,FrancyMessage(String(MinimalGenerators(d))));\n", " Add(graphHasse,shp);\n", " Add(graphHasse,Link(shpr,shp));\n", " od;\n", " canvas:=Canvas(\"Sons of a numerical semigroup\");\n", " SetTexTypesetting(canvas, true);\n", " Add(canvas,graphHasse);\n", " return Draw(canvas); \n", "end;" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [{ "data": { "application/vnd.francy+json": "{\"version\" : \"1.0.2\",\"mime\" : \"application\\/vnd.francy+json\",\"canvas\" : {\"width\" : 800,\"id\" : \"F57\",\"height\" : 600,\"title\" : \"Sons of a numerical semigroup\",\"zoomToFit\" : true,\"texTypesetting\" : true,\"menus\" : {},\"graph\" : {\"type\" : \"undirected\",\"id\" : \"F46\",\"simulation\" : true,\"collapsed\" : true,\"nodes\" : {\"$\\\\langle3,5,7\\\\rangle$\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"$\\\\langle3,5,7\\\\rangle$\",\"size\" : 1,\"title\" : \"$\\\\langle3,5,7\\\\rangle$\",\"color\" : \"\",\"layer\" : 3,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F48\" : {\"type\" : \"default\",\"id\" : \"F48\",\"text\" : \"[ 3, 5, 7 ]\",\"title\" : \"\"}},\"callbacks\" : {}},\"$\\\\langle3,7,8\\\\rangle$\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"$\\\\langle3,7,8\\\\rangle$\",\"size\" : 1,\"title\" : \"$\\\\langle3,7,8\\\\rangle$\",\"color\" : \"\",\"layer\" : 4,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F51\" : {\"type\" : \"default\",\"id\" : \"F51\",\"text\" : \"[ 3, 7, 8 ]\",\"title\" : \"\"}},\"callbacks\" : {\"F50\" : {\"func\" : \"unknown\",\"id\" : \"F50\",\"trigger\" : \"click\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {}}}},\"$\\\\langle3,5\\\\rangle$\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"$\\\\langle3,5\\\\rangle$\",\"size\" : 1,\"title\" : \"$\\\\langle3,5\\\\rangle$\",\"color\" : \"\",\"layer\" : 4,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F55\" : {\"type\" : \"default\",\"id\" : \"F55\",\"text\" : \"[ 3, 5 ]\",\"title\" : \"\"}},\"callbacks\" : {\"F54\" : {\"func\" : \"unknown\",\"id\" : \"F54\",\"trigger\" : \"click\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {}}}}},\"links\" : {\"F52\" : {\"id\" : \"F52\",\"source\" : \"$\\\\langle3,5,7\\\\rangle$\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"$\\\\langle3,7,8\\\\rangle$\"},\"F56\" : {\"id\" : \"F56\",\"source\" : \"$\\\\langle3,5,7\\\\rangle$\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"$\\\\langle3,5\\\\rangle$\"}}},\"messages\" : {}}}" }, "execution_count": 6, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" }], "source": [ "sons(NumericalSemigroup(3,5,7));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Tree of numerical semigroups\n", "\n", "Now we draw the sons of a numerical semigroup `s` in the tree of numerical semigroups up to level `l`." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [{ "data": { "text/plain": [ "function( s, l, generators ) ... end" ] }, "execution_count": 7, "metadata": { "text/plain": "" }, "output_type": "execute_result" }], "source": [ "sonstree:=function(s,l,generators)\n", " local gens, frb, desc, graphTreee, d, shpr, shp, canvas, sonsf, lbl;\n", "\n", "\n", " sonsf:=function(s,n,lv)\n", " local gens, frb, desc, d, shp;\n", " if lv=0 then\n", " return ;\n", " fi;\n", " frb:=FrobeniusNumber(s);\n", " gens:=Filtered(generators(s), x-> x>frb);\n", " desc:=List(gens, g->RemoveMinimalGeneratorFromNumericalSemigroup(g,s));\n", " for d in desc do\n", " lbl:=Concatenation(\"$\\\\{\",JoinStringsWithSeparator(generators(d),\",\"),\"\\\\}$\");\n", " shp:=Shape(ShapeType!.CIRCLE, lbl);\n", " SetSize(shp,5);\n", " Add(graphTreee,shp);\n", " SetParentShape(shp,n);\n", " sonsf(d,shp,lv-1);\n", " od;\n", " if desc<>[] then\n", " return ;\n", " fi;\n", " #Add(canvas, FrancyMessage(FrancyMessageType.WARNING, \"This semigroup is a leaf\"));\n", " return ;\n", " end;\n", "\n", " frb:=FrobeniusNumber(s);\n", " gens:=Filtered(generators(s), x-> x>frb);\n", " desc:=List(gens, g->RemoveMinimalGeneratorFromNumericalSemigroup(g,s));\n", "\n", " graphTreee := Graph(GraphType.TREE);\n", " SetCollapsed(graphTreee,false);\n", " shpr:=Shape(ShapeType!.CIRCLE, \"S\");\n", " SetSize(shpr,5);\n", " Add(shpr,FrancyMessage(String(generators(s))));\n", " Add(graphTreee,shpr);\n", " canvas:=Canvas(\"Sons of a numerical semigroup\");\n", " SetTexTypesetting(canvas, true);\n", " Add(canvas,graphTreee);\n", " sonsf(s,shpr,l);\n", " return Draw(canvas);\n", "end;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Darker dots correspond either to leaves or to elements with highest genus. Blue nodes can be collapsed by clicking. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [{ "data": { "application/vnd.francy+json": "{\"version\" : \"1.0.2\",\"mime\" : \"application\\/vnd.francy+json\",\"canvas\" : {\"width\" : 800,\"id\" : \"F61\",\"height\" : 600,\"title\" : \"Sons of a numerical semigroup\",\"zoomToFit\" : true,\"texTypesetting\" : true,\"menus\" : {},\"graph\" : {\"type\" : \"tree\",\"id\" : \"F58\",\"simulation\" : true,\"collapsed\" : false,\"nodes\" : {\"F59\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F59\",\"size\" : 5,\"title\" : \"S\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F60\" : {\"type\" : \"default\",\"id\" : \"F60\",\"text\" : \"[ 1 ]\",\"title\" : \"\"}},\"callbacks\" : {}},\"F62\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F62\",\"size\" : 5,\"title\" : \"$\\\\{2,3\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F59\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F63\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F63\",\"size\" : 5,\"title\" : \"$\\\\{3,4,5\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F62\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F64\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F64\",\"size\" : 5,\"title\" : \"$\\\\{4,5,6,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F63\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F65\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F65\",\"size\" : 5,\"title\" : \"$\\\\{5,6,7,8,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F64\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F66\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F66\",\"size\" : 5,\"title\" : \"$\\\\{4,6,7,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F64\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F67\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F67\",\"size\" : 5,\"title\" : \"$\\\\{4,5,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F64\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F68\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F68\",\"size\" : 5,\"title\" : \"$\\\\{4,5,6\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F64\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F69\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F69\",\"size\" : 5,\"title\" : \"$\\\\{3,5,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F63\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F70\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F70\",\"size\" : 5,\"title\" : \"$\\\\{3,7,8\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F69\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F71\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F71\",\"size\" : 5,\"title\" : \"$\\\\{3,5\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F69\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F72\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F72\",\"size\" : 5,\"title\" : \"$\\\\{3,4\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F63\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F73\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F73\",\"size\" : 5,\"title\" : \"$\\\\{2,5\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F62\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F74\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F74\",\"size\" : 5,\"title\" : \"$\\\\{2,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F73\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F75\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F75\",\"size\" : 5,\"title\" : \"$\\\\{2,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F74\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}}},\"links\" : {}},\"messages\" : {}}}" }, "execution_count": 8, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" }], "source": [ "sonstree(NumericalSemigroup(1),4,MinimalGenerators);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can get also the tree of Arf numerical semigroups" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [{ "data": { "application/vnd.francy+json": "{\"version\" : \"1.0.2\",\"mime\" : \"application\\/vnd.francy+json\",\"canvas\" : {\"width\" : 800,\"id\" : \"F79\",\"height\" : 600,\"title\" : \"Sons of a numerical semigroup\",\"zoomToFit\" : true,\"texTypesetting\" : true,\"menus\" : {},\"graph\" : {\"type\" : \"tree\",\"id\" : \"F76\",\"simulation\" : true,\"collapsed\" : false,\"nodes\" : {\"F77\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F77\",\"size\" : 5,\"title\" : \"S\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"\",\"menus\" : {},\"messages\" : {\"F78\" : {\"type\" : \"default\",\"id\" : \"F78\",\"text\" : \"[ 1 ]\",\"title\" : \"\"}},\"callbacks\" : {}},\"F80\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F80\",\"size\" : 5,\"title\" : \"$\\\\{2,3\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F77\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F81\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F81\",\"size\" : 5,\"title\" : \"$\\\\{3,4\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F80\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F82\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F82\",\"size\" : 5,\"title\" : \"$\\\\{4,5\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F81\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F83\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F83\",\"size\" : 5,\"title\" : \"$\\\\{5,6\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F82\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F84\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F84\",\"size\" : 5,\"title\" : \"$\\\\{6,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F83\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F85\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F85\",\"size\" : 5,\"title\" : \"$\\\\{7,8\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F84\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F86\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F86\",\"size\" : 5,\"title\" : \"$\\\\{8,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F85\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F87\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F87\",\"size\" : 5,\"title\" : \"$\\\\{9,10\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F86\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F88\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F88\",\"size\" : 5,\"title\" : \"$\\\\{8,10,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F86\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F89\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F89\",\"size\" : 5,\"title\" : \"$\\\\{7,9,10\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F85\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F90\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F90\",\"size\" : 5,\"title\" : \"$\\\\{7,10,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F89\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F91\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F91\",\"size\" : 5,\"title\" : \"$\\\\{7,9,12\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F89\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F92\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F92\",\"size\" : 5,\"title\" : \"$\\\\{6,8,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F84\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F93\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F93\",\"size\" : 5,\"title\" : \"$\\\\{6,9,10\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F92\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F94\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F94\",\"size\" : 5,\"title\" : \"$\\\\{6,10,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F93\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F95\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F95\",\"size\" : 5,\"title\" : \"$\\\\{6,9,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F93\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F96\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F96\",\"size\" : 5,\"title\" : \"$\\\\{6,8,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F92\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F97\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F97\",\"size\" : 5,\"title\" : \"$\\\\{6,8,13\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F96\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F98\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F98\",\"size\" : 5,\"title\" : \"$\\\\{5,7,8\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F83\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F99\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F99\",\"size\" : 5,\"title\" : \"$\\\\{5,8,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F98\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F100\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F100\",\"size\" : 5,\"title\" : \"$\\\\{5,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F99\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F101\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F101\",\"size\" : 5,\"title\" : \"$\\\\{5,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F100\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F102\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F102\",\"size\" : 5,\"title\" : \"$\\\\{5,8\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F99\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F103\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F103\",\"size\" : 5,\"title\" : \"$\\\\{5,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F98\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F104\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F104\",\"size\" : 5,\"title\" : \"$\\\\{4,6,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F82\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F105\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F105\",\"size\" : 5,\"title\" : \"$\\\\{4,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F104\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F106\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F106\",\"size\" : 5,\"title\" : \"$\\\\{4,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F105\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F107\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F107\",\"size\" : 5,\"title\" : \"$\\\\{4,10,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F106\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F108\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F108\",\"size\" : 5,\"title\" : \"$\\\\{4,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F107\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F109\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F109\",\"size\" : 5,\"title\" : \"$\\\\{4,10,13\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F107\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F110\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F110\",\"size\" : 5,\"title\" : \"$\\\\{4,6,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F104\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F111\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F111\",\"size\" : 5,\"title\" : \"$\\\\{4,6,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F110\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F112\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F112\",\"size\" : 5,\"title\" : \"$\\\\{4,6,13\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F111\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F113\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F113\",\"size\" : 5,\"title\" : \"$\\\\{4,6,15\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F112\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F114\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F114\",\"size\" : 5,\"title\" : \"$\\\\{3,5\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F81\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F115\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F115\",\"size\" : 5,\"title\" : \"$\\\\{3,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F114\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F116\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F116\",\"size\" : 5,\"title\" : \"$\\\\{3,8\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F115\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F117\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F117\",\"size\" : 5,\"title\" : \"$\\\\{3,10\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F116\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F118\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F118\",\"size\" : 5,\"title\" : \"$\\\\{3,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F117\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F119\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F119\",\"size\" : 5,\"title\" : \"$\\\\{3,13\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F118\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F120\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F120\",\"size\" : 5,\"title\" : \"$\\\\{2,5\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F80\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F121\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F121\",\"size\" : 5,\"title\" : \"$\\\\{2,7\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F120\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F122\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F122\",\"size\" : 5,\"title\" : \"$\\\\{2,9\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F121\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F123\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F123\",\"size\" : 5,\"title\" : \"$\\\\{2,11\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F122\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F124\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F124\",\"size\" : 5,\"title\" : \"$\\\\{2,13\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F123\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F125\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F125\",\"size\" : 5,\"title\" : \"$\\\\{2,15\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F124\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F126\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F126\",\"size\" : 5,\"title\" : \"$\\\\{2,17\\\\}$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"F125\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}}},\"links\" : {}},\"messages\" : {}}}" }, "execution_count": 9, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" }], "source": [ "sonstree(NumericalSemigroup(1),8,ArfCharactersOfArfNumericalSemigroup);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Oversemigroups" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [{ "data": { "text/plain": [ "function( s ) ... end" ] }, "execution_count": 10, "metadata": { "text/plain": "" }, "output_type": "execute_result" }], "source": [ "oversemigroups:=function(s)\n", " local ov, graphHasse, canvas,c,i,r,ovs,n,hasse,lbl;\n", " \n", " hasse:=function(rel)\n", " local dom, out;\n", " dom:=Flat(rel);\n", " out:=Filtered(rel, p-> ForAny(dom, x->([p[1],x] in rel) and ([x,p[2]] in rel)));\n", " return Difference(rel,out);\n", " end;\n", "\n", " ov:=OverSemigroupsNumericalSemigroup(s);\n", " n:=Length(ov);\n", " graphHasse := Graph(GraphType.UNDIRECTED);\n", " #SetSimulation(graphHasse,true);\n", " #SetDrag(graphHasse,true);\n", " c:=Cartesian([1..n],[1..n]);\n", " c:=Filtered(c, p-> p[2]<>p[1]);\n", " c:=Filtered(c, p-> IsSubset(ov[p[1]],ov[p[2]]));\n", " c:=hasse(c);\n", " ovs:=[];\n", " for i in [1..n] do\n", " lbl:=Concatenation(\"$\\\\langle\",JoinStringsWithSeparator(MinimalGenerators(ov[i]),\",\"),\"\\\\rangle$\");\n", "\n", "\n", " if IsIrreducible(ov[i]) then\n", " ovs[i]:=Shape(ShapeType!.DIAMOND, lbl);\n", " else\n", " ovs[i]:=Shape(ShapeType!.CIRCLE, lbl);\n", " fi;\n", " SetLayer(ovs[i],Genus(ov[i]));\n", " SetSize(ovs[i],2);\n", " Add(graphHasse,ovs[i]);\n", " od;\n", " for r in c do\n", " Add(graphHasse,Link(ovs[r[1]],ovs[r[2]]));\n", " od;\n", " canvas:=Canvas(\"Oversemigroups\");\n", " SetTexTypesetting(canvas, true);\n", " Add(canvas,graphHasse);\n", " return Draw(canvas); \n", "end;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A Hasse diagram of the set of oversemigroups of the given numerical semigroup is displayed. Irreducible numerical semigroups are drawn as diamonds. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": false }, "outputs": [{ "data": { "application/vnd.francy+json": "{\"version\" : \"1.0.2\",\"mime\" : \"application\\/vnd.francy+json\",\"canvas\" : {\"width\" : 800,\"id\" : \"F171\",\"height\" : 600,\"title\" : \"Oversemigroups\",\"zoomToFit\" : true,\"texTypesetting\" : true,\"menus\" : {},\"graph\" : {\"type\" : \"undirected\",\"id\" : \"F127\",\"simulation\" : true,\"collapsed\" : true,\"nodes\" : {\"F128\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F128\",\"size\" : 2,\"title\" : \"$\\\\langle1\\\\rangle$\",\"color\" : \"\",\"layer\" : 0,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F129\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F129\",\"size\" : 2,\"title\" : \"$\\\\langle2,3\\\\rangle$\",\"color\" : \"\",\"layer\" : 1,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F130\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F130\",\"size\" : 2,\"title\" : \"$\\\\langle2,5\\\\rangle$\",\"color\" : \"\",\"layer\" : 2,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F131\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F131\",\"size\" : 2,\"title\" : \"$\\\\langle2,7\\\\rangle$\",\"color\" : \"\",\"layer\" : 3,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F132\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F132\",\"size\" : 2,\"title\" : \"$\\\\langle3,4,5\\\\rangle$\",\"color\" : \"\",\"layer\" : 2,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F133\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F133\",\"size\" : 2,\"title\" : \"$\\\\langle3,4\\\\rangle$\",\"color\" : \"\",\"layer\" : 3,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F134\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F134\",\"size\" : 2,\"title\" : \"$\\\\langle3,5,7\\\\rangle$\",\"color\" : \"\",\"layer\" : 3,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F135\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F135\",\"size\" : 2,\"title\" : \"$\\\\langle3,7,8\\\\rangle$\",\"color\" : \"\",\"layer\" : 4,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F136\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F136\",\"size\" : 2,\"title\" : \"$\\\\langle3,7,11\\\\rangle$\",\"color\" : \"\",\"layer\" : 5,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F137\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F137\",\"size\" : 2,\"title\" : \"$\\\\langle4,5,6,7\\\\rangle$\",\"color\" : \"\",\"layer\" : 3,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F138\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F138\",\"size\" : 2,\"title\" : \"$\\\\langle4,6,7,9\\\\rangle$\",\"color\" : \"\",\"layer\" : 4,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F139\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F139\",\"size\" : 2,\"title\" : \"$\\\\langle5,6,7,8,9\\\\rangle$\",\"color\" : \"\",\"layer\" : 4,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F140\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F140\",\"size\" : 2,\"title\" : \"$\\\\langle5,6,7,9\\\\rangle$\",\"color\" : \"\",\"layer\" : 5,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F141\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F141\",\"size\" : 2,\"title\" : \"$\\\\langle6,7,8,9,10,11\\\\rangle$\",\"color\" : \"\",\"layer\" : 5,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F142\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"diamond\",\"id\" : \"F142\",\"size\" : 2,\"title\" : \"$\\\\langle6,7,8,9,11\\\\rangle$\",\"color\" : \"\",\"layer\" : 6,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F143\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F143\",\"size\" : 2,\"title\" : \"$\\\\langle6,7,9,10,11\\\\rangle$\",\"color\" : \"\",\"layer\" : 6,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F144\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F144\",\"size\" : 2,\"title\" : \"$\\\\langle6,7,9,11\\\\rangle$\",\"color\" : \"\",\"layer\" : 7,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}}},\"links\" : {\"F145\" : {\"id\" : \"F145\",\"source\" : \"F128\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F129\"},\"F146\" : {\"id\" : \"F146\",\"source\" : \"F129\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F130\"},\"F147\" : {\"id\" : \"F147\",\"source\" : \"F129\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F132\"},\"F148\" : {\"id\" : \"F148\",\"source\" : \"F130\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F131\"},\"F149\" : {\"id\" : \"F149\",\"source\" : \"F130\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F137\"},\"F150\" : {\"id\" : \"F150\",\"source\" : \"F131\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F138\"},\"F151\" : {\"id\" : \"F151\",\"source\" : \"F132\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F133\"},\"F152\" : {\"id\" : \"F152\",\"source\" : \"F132\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F134\"},\"F153\" : {\"id\" : \"F153\",\"source\" : \"F132\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F137\"},\"F154\" : {\"id\" : \"F154\",\"source\" : \"F133\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F135\"},\"F155\" : {\"id\" : \"F155\",\"source\" : \"F133\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F138\"},\"F156\" : {\"id\" : \"F156\",\"source\" : \"F134\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F135\"},\"F157\" : {\"id\" : \"F157\",\"source\" : \"F134\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F139\"},\"F158\" : {\"id\" : \"F158\",\"source\" : \"F135\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F136\"},\"F159\" : {\"id\" : \"F159\",\"source\" : \"F135\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F141\"},\"F160\" : {\"id\" : \"F160\",\"source\" : \"F136\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F143\"},\"F161\" : {\"id\" : \"F161\",\"source\" : \"F137\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F138\"},\"F162\" : {\"id\" : \"F162\",\"source\" : \"F137\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F139\"},\"F163\" : {\"id\" : \"F163\",\"source\" : \"F138\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F141\"},\"F164\" : {\"id\" : \"F164\",\"source\" : \"F139\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F140\"},\"F165\" : {\"id\" : \"F165\",\"source\" : \"F139\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F141\"},\"F166\" : {\"id\" : \"F166\",\"source\" : \"F140\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F143\"},\"F167\" : {\"id\" : \"F167\",\"source\" : \"F141\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F142\"},\"F168\" : {\"id\" : \"F168\",\"source\" : \"F141\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F143\"},\"F169\" : {\"id\" : \"F169\",\"source\" : \"F142\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F144\"},\"F170\" : {\"id\" : \"F170\",\"source\" : \"F143\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F144\"}}},\"messages\" : {}}}" }, "execution_count": 11, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" }], "source": [ "oversemigroups(NumericalSemigroup(6,7,9,11));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Graphs associated to elements" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Eliahou graph of an element in a numerical semigroup is a graph whose vertices are the factorizations of the element, and to vertices are joined with an edge if they have common support." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [{ "data": { "text/plain": [ "function( n, s ) ... end" ] }, "execution_count": 12, "metadata": { "text/plain": "" }, "output_type": "execute_result" }], "source": [ "DrawEliahouGraph:=function(n,s)\n", " local graph, canvas, f, fs, c, nf, i, p;\n", " \n", " f:=FactorizationsElementWRTNumericalSemigroup(n,s);\n", " graph:=Graph(GraphType.UNDIRECTED);\n", " #SetShowNeighbours(graph,true);\n", " #SetSimulation(graph,true);\n", " #SetDrag(graph,true);\n", " nf:=Length(f);\n", " fs:=[];\n", " for i in [1..nf] do \n", " fs[i]:=Shape(ShapeType!.CIRCLE, Concatenation(\"(\",JoinStringsWithSeparator(f[i],\",\"),\")\"));\n", " SetLayer(fs[i],Sum(f[i]));\n", " SetSize(fs[i],1);\n", " Add(graph,fs[i]);\n", " od;\n", " c:=Cartesian([1..nf],[1..nf]);\n", " c:=Filtered(c,p->p[1]0);\n", " for p in c do \n", " Add(graph,Link(fs[p[1]],fs[p[2]]));\n", " od;\n", " canvas:=Canvas(\"Eliahou graph\");\n", " Add(canvas,graph);\n", " return Draw(canvas);\n", "end;" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [{ "data": { "text/plain": [ "Numerical semigroup with 3 generators" ] }, "execution_count": 13, "metadata": { "text/plain": "" }, "output_type": "execute_result" }], "source": [ "s:=NumericalSemigroup(5,7,9);" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": false }, "outputs": [{ "data": { "application/vnd.francy+json": "{\"version\" : \"1.0.2\",\"mime\" : \"application\\/vnd.francy+json\",\"canvas\" : {\"width\" : 800,\"id\" : \"F193\",\"height\" : 600,\"title\" : \"Eliahou graph\",\"zoomToFit\" : true,\"texTypesetting\" : false,\"menus\" : {},\"graph\" : {\"type\" : \"undirected\",\"id\" : \"F172\",\"simulation\" : true,\"collapsed\" : true,\"nodes\" : {\"F173\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F173\",\"size\" : 1,\"title\" : \"(7,2,0)\",\"color\" : \"\",\"layer\" : 9,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F174\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F174\",\"size\" : 1,\"title\" : \"(0,7,0)\",\"color\" : \"\",\"layer\" : 7,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F175\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F175\",\"size\" : 1,\"title\" : \"(8,0,1)\",\"color\" : \"\",\"layer\" : 9,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F176\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F176\",\"size\" : 1,\"title\" : \"(1,5,1)\",\"color\" : \"\",\"layer\" : 7,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F177\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F177\",\"size\" : 1,\"title\" : \"(2,3,2)\",\"color\" : \"\",\"layer\" : 7,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F178\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F178\",\"size\" : 1,\"title\" : \"(3,1,3)\",\"color\" : \"\",\"layer\" : 7,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}}},\"links\" : {\"F179\" : {\"id\" : \"F179\",\"source\" : \"F173\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F174\"},\"F180\" : {\"id\" : \"F180\",\"source\" : \"F173\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F175\"},\"F181\" : {\"id\" : \"F181\",\"source\" : \"F173\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F176\"},\"F182\" : {\"id\" : \"F182\",\"source\" : \"F173\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F177\"},\"F183\" : {\"id\" : \"F183\",\"source\" : \"F173\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F178\"},\"F184\" : {\"id\" : \"F184\",\"source\" : \"F174\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F176\"},\"F185\" : {\"id\" : \"F185\",\"source\" : \"F174\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F177\"},\"F186\" : {\"id\" : \"F186\",\"source\" : \"F174\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F178\"},\"F187\" : {\"id\" : \"F187\",\"source\" : \"F175\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F176\"},\"F188\" : {\"id\" : \"F188\",\"source\" : \"F175\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F177\"},\"F189\" : {\"id\" : \"F189\",\"source\" : \"F175\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F178\"},\"F190\" : {\"id\" : \"F190\",\"source\" : \"F176\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F177\"},\"F191\" : {\"id\" : \"F191\",\"source\" : \"F176\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F178\"},\"F192\" : {\"id\" : \"F192\",\"source\" : \"F177\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F178\"}}},\"messages\" : {}}}" }, "execution_count": 14, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" }], "source": [ "DrawEliahouGraph(49,s);" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [{ "data": { "text/plain": [ "[ 14, 25, 27 ]" ] }, "execution_count": 15, "metadata": { "text/plain": "" }, "output_type": "execute_result" }], "source": [ "BettiElements(s);" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [{ "data": { "application/vnd.francy+json": "{\"version\" : \"1.0.2\",\"mime\" : \"application\\/vnd.francy+json\",\"canvas\" : {\"width\" : 800,\"id\" : \"F222\",\"height\" : 600,\"title\" : \"Eliahou graph\",\"zoomToFit\" : true,\"texTypesetting\" : false,\"menus\" : {},\"graph\" : {\"type\" : \"undirected\",\"id\" : \"F194\",\"simulation\" : true,\"collapsed\" : true,\"nodes\" : {\"F195\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F195\",\"size\" : 1,\"title\" : \"(11,0,0)\",\"color\" : \"\",\"layer\" : 11,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F196\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F196\",\"size\" : 1,\"title\" : \"(4,5,0)\",\"color\" : \"\",\"layer\" : 9,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F197\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F197\",\"size\" : 1,\"title\" : \"(5,3,1)\",\"color\" : \"\",\"layer\" : 9,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F198\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F198\",\"size\" : 1,\"title\" : \"(6,1,2)\",\"color\" : \"\",\"layer\" : 9,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F199\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F199\",\"size\" : 1,\"title\" : \"(0,4,3)\",\"color\" : \"\",\"layer\" : 7,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F200\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F200\",\"size\" : 1,\"title\" : \"(1,2,4)\",\"color\" : \"\",\"layer\" : 7,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F201\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F201\",\"size\" : 1,\"title\" : \"(2,0,5)\",\"color\" : \"\",\"layer\" : 7,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}}},\"links\" : {\"F202\" : {\"id\" : \"F202\",\"source\" : \"F195\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F196\"},\"F203\" : {\"id\" : \"F203\",\"source\" : \"F195\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F197\"},\"F204\" : {\"id\" : \"F204\",\"source\" : \"F195\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F198\"},\"F205\" : {\"id\" : \"F205\",\"source\" : \"F195\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F200\"},\"F206\" : {\"id\" : \"F206\",\"source\" : \"F195\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F201\"},\"F207\" : {\"id\" : \"F207\",\"source\" : \"F196\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F197\"},\"F208\" : {\"id\" : \"F208\",\"source\" : \"F196\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F198\"},\"F209\" : {\"id\" : \"F209\",\"source\" : \"F196\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F199\"},\"F210\" : {\"id\" : \"F210\",\"source\" : \"F196\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F200\"},\"F211\" : {\"id\" : \"F211\",\"source\" : \"F196\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F201\"},\"F212\" : {\"id\" : \"F212\",\"source\" : \"F197\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F198\"},\"F213\" : {\"id\" : \"F213\",\"source\" : \"F197\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F199\"},\"F214\" : {\"id\" : \"F214\",\"source\" : \"F197\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F200\"},\"F215\" : {\"id\" : \"F215\",\"source\" : \"F197\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F201\"},\"F216\" : {\"id\" : \"F216\",\"source\" : \"F198\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F199\"},\"F217\" : {\"id\" : \"F217\",\"source\" : \"F198\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F200\"},\"F218\" : {\"id\" : \"F218\",\"source\" : \"F198\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F201\"},\"F219\" : {\"id\" : \"F219\",\"source\" : \"F199\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F200\"},\"F220\" : {\"id\" : \"F220\",\"source\" : \"F199\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F201\"},\"F221\" : {\"id\" : \"F221\",\"source\" : \"F200\",\"length\" : 0,\"weight\" : 0,\"color\" : \"\",\"invisible\" : false,\"target\" : \"F201\"}}},\"messages\" : {}}}" }, "execution_count": 16, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" }], "source": [ "DrawEliahouGraph(55,s);" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [{ "data": { "text/plain": [ "function( n, s ) ... end" ] }, "execution_count": 17, "metadata": { "text/plain": "" }, "output_type": "execute_result" }], "source": [ "DrawRosalesGraph:=function(n,s)\n", " local graph, canvas, msg, msgs, c, nv, i, p;\n", " \n", " msg:=Filtered(MinimalGenerators(s), g->n-g in s);\n", " graph:=Graph(GraphType.UNDIRECTED);\n", " #SetSimulation(graph,true);\n", " #SetDrag(graph,true);\n", " nv:=Length(msg);\n", " msgs:=[];\n", " for i in [1..nv] do \n", " msgs[i]:=Shape(ShapeType!.CIRCLE, String(msg[i]));\n", " SetSize(msgs[i],1);\n", " Add(graph,msgs[i]);\n", " od;\n", " c:=Cartesian([1..nv],[1..nv]);\n", " c:=Filtered(c,p->p[1] [v]);\n", " needed := [];\n", " nv:=Length(V);\n", " for e in E do\n", " i:=First([1..Length(trees)], k-> e[1] in trees[k]);\n", " j:=First([1..Length(trees)], k-> e[2] in trees[k]);\n", " if i<>j then\n", " trees[i]:=Union(trees[i], trees[j]);\n", " trees[j]:=[];\n", " Add(needed,e);\n", " fi;\n", " if Length(needed)=nv-1 then\n", " break;\n", " fi;\n", " od;\n", " return needed;\n", " end;\n", " \n", " distance := function(a,b)\n", " local k, gcd, i;\n", "\n", " k := Length(a);\n", " if k <> Length(b) then\n", " Error(\"The lengths of a and b are different.\\n\");\n", " fi;\n", "\n", "\n", " gcd := [];\n", " for i in [1..k] do\n", " Add(gcd, Minimum(a[i],b[i]));\n", " od;\n", " return(Maximum(Sum(a-gcd),Sum(b-gcd)));\n", "\n", " end;\n", "\n", " graph:=Graph(GraphType.UNDIRECTED);\n", "# SetSimulation(graph,true);\n", "#SetDrag(graph,true);\n", "#SetShowNeighbours(graph,true);\n", " nf:=Length(f);\n", " fs:=[];\n", " for i in [1..nf] do \n", " fs[i]:=Shape(ShapeType!.CIRCLE, Concatenation(\"(\",JoinStringsWithSeparator(f[i],\",\"),\")\"));\n", " SetLayer(fs[i],Sum(f[i]));\n", " SetSize(fs[i],1);\n", " Add(graph,fs[i]);\n", " od;\n", " c:=Cartesian([1..nf],[1..nf]);\n", " c:=Filtered(c,p->p[1]0);\n", " Sort(c,function(e,ee) return distance(f[e[1]],f[e[2]])[f[p[1]],f[p[2]]]));\n", " for p in c do \n", " ln:=Link(fs[p[1]],fs[p[2]]);\n", " #SetWeight(ln, distance(f[p[1]],f[p[2]]));\n", " SetTitle(ln, String(distance(f[p[1]],f[p[2]])));\n", " if [f[p[1]],f[p[2]]] in tv then \n", " SetColor(ln,\"red\");\n", " fi;\n", " Add(graph,ln);\n", " od;\n", " canvas:=Canvas(\"Factorizations graph\");\n", " Add(canvas,graph);\n", " return Draw(canvas);\n", "end;" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [{ "data": { "text/plain": [ "[ [ 10, 2, 0 ], [ 5, 5, 0 ], [ 0, 8, 0 ], [ 11, 0, 1 ], [ 6, 3, 1 ], [ 1, 6, 1 ], [ 7, 1, 2 ], [ 2, 4, 2 ], [ 3, 2, 3 ], [ 4, 0, 4 ], [ 0, 1, 5 ] ]" ] }, "execution_count": 22, "metadata": { "text/plain": "" }, "output_type": "execute_result" }], "source": [ "f:=FactorizationsElementWRTNumericalSemigroup(40,NumericalSemigroup(3,5,7));" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "scrolled": false }, "outputs": [{ "data": { "application/vnd.francy+json": "{\"version\" : \"1.0.2\",\"mime\" : \"application\\/vnd.francy+json\",\"canvas\" : {\"width\" : 800,\"id\" : \"F302\",\"height\" : 600,\"title\" : \"Factorizations graph\",\"zoomToFit\" : true,\"texTypesetting\" : false,\"menus\" : {},\"graph\" : {\"type\" : \"undirected\",\"id\" : \"F237\",\"simulation\" : true,\"collapsed\" : true,\"nodes\" : {\"F238\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F238\",\"size\" : 1,\"title\" : \"(10,2,0)\",\"color\" : \"\",\"layer\" : 12,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F239\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F239\",\"size\" : 1,\"title\" : \"(5,5,0)\",\"color\" : \"\",\"layer\" : 10,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F240\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F240\",\"size\" : 1,\"title\" : \"(0,8,0)\",\"color\" : \"\",\"layer\" : 8,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F241\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F241\",\"size\" : 1,\"title\" : \"(11,0,1)\",\"color\" : \"\",\"layer\" : 12,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F242\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F242\",\"size\" : 1,\"title\" : \"(6,3,1)\",\"color\" : \"\",\"layer\" : 10,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F243\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F243\",\"size\" : 1,\"title\" : \"(1,6,1)\",\"color\" : \"\",\"layer\" : 8,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F244\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F244\",\"size\" : 1,\"title\" : \"(7,1,2)\",\"color\" : \"\",\"layer\" : 10,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F245\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F245\",\"size\" : 1,\"title\" : \"(2,4,2)\",\"color\" : \"\",\"layer\" : 8,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F246\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F246\",\"size\" : 1,\"title\" : \"(3,2,3)\",\"color\" : \"\",\"layer\" : 8,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F247\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F247\",\"size\" : 1,\"title\" : \"(4,0,4)\",\"color\" : \"\",\"layer\" : 8,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}},\"F248\" : {\"x\" : 0,\"y\" : 0,\"type\" : \"circle\",\"id\" : \"F248\",\"size\" : 1,\"title\" : \"(0,1,5)\",\"color\" : \"\",\"layer\" : 6,\"parent\" : \"\",\"menus\" : {},\"messages\" : {},\"callbacks\" : {}}},\"links\" : {\"F249\" : {\"id\" : \"F249\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"2\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F241\"},\"F250\" : {\"id\" : \"F250\",\"source\" : \"F246\",\"length\" : 0,\"weight\" : 0,\"title\" : \"2\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F247\"},\"F251\" : {\"id\" : \"F251\",\"source\" : \"F245\",\"length\" : 0,\"weight\" : 0,\"title\" : \"2\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F246\"},\"F252\" : {\"id\" : \"F252\",\"source\" : \"F242\",\"length\" : 0,\"weight\" : 0,\"title\" : \"2\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F244\"},\"F253\" : {\"id\" : \"F253\",\"source\" : \"F239\",\"length\" : 0,\"weight\" : 0,\"title\" : \"2\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F242\"},\"F254\" : {\"id\" : \"F254\",\"source\" : \"F243\",\"length\" : 0,\"weight\" : 0,\"title\" : \"2\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F245\"},\"F255\" : {\"id\" : \"F255\",\"source\" : \"F240\",\"length\" : 0,\"weight\" : 0,\"title\" : \"2\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F243\"},\"F256\" : {\"id\" : \"F256\",\"source\" : \"F245\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F247\"},\"F257\" : {\"id\" : \"F257\",\"source\" : \"F246\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F248\"},\"F258\" : {\"id\" : \"F258\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F242\"},\"F259\" : {\"id\" : \"F259\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F244\"},\"F260\" : {\"id\" : \"F260\",\"source\" : \"F241\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F244\"},\"F261\" : {\"id\" : \"F261\",\"source\" : \"F247\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F248\"},\"F262\" : {\"id\" : \"F262\",\"source\" : \"F244\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"red\",\"invisible\" : false,\"target\" : \"F247\"},\"F263\" : {\"id\" : \"F263\",\"source\" : \"F244\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F246\"},\"F264\" : {\"id\" : \"F264\",\"source\" : \"F239\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F243\"},\"F265\" : {\"id\" : \"F265\",\"source\" : \"F240\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F245\"},\"F266\" : {\"id\" : \"F266\",\"source\" : \"F239\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F245\"},\"F267\" : {\"id\" : \"F267\",\"source\" : \"F242\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F245\"},\"F268\" : {\"id\" : \"F268\",\"source\" : \"F242\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F246\"},\"F269\" : {\"id\" : \"F269\",\"source\" : \"F243\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F246\"},\"F270\" : {\"id\" : \"F270\",\"source\" : \"F239\",\"length\" : 0,\"weight\" : 0,\"title\" : \"4\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F244\"},\"F271\" : {\"id\" : \"F271\",\"source\" : \"F242\",\"length\" : 0,\"weight\" : 0,\"title\" : \"5\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F247\"},\"F272\" : {\"id\" : \"F272\",\"source\" : \"F244\",\"length\" : 0,\"weight\" : 0,\"title\" : \"5\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F245\"},\"F273\" : {\"id\" : \"F273\",\"source\" : \"F239\",\"length\" : 0,\"weight\" : 0,\"title\" : \"5\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F246\"},\"F274\" : {\"id\" : \"F274\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"5\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F239\"},\"F275\" : {\"id\" : \"F275\",\"source\" : \"F239\",\"length\" : 0,\"weight\" : 0,\"title\" : \"5\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F240\"},\"F276\" : {\"id\" : \"F276\",\"source\" : \"F245\",\"length\" : 0,\"weight\" : 0,\"title\" : \"5\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F248\"},\"F277\" : {\"id\" : \"F277\",\"source\" : \"F242\",\"length\" : 0,\"weight\" : 0,\"title\" : \"5\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F243\"},\"F278\" : {\"id\" : \"F278\",\"source\" : \"F241\",\"length\" : 0,\"weight\" : 0,\"title\" : \"5\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F242\"},\"F279\" : {\"id\" : \"F279\",\"source\" : \"F240\",\"length\" : 0,\"weight\" : 0,\"title\" : \"6\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F246\"},\"F280\" : {\"id\" : \"F280\",\"source\" : \"F243\",\"length\" : 0,\"weight\" : 0,\"title\" : \"6\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F247\"},\"F281\" : {\"id\" : \"F281\",\"source\" : \"F243\",\"length\" : 0,\"weight\" : 0,\"title\" : \"6\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F248\"},\"F282\" : {\"id\" : \"F282\",\"source\" : \"F239\",\"length\" : 0,\"weight\" : 0,\"title\" : \"6\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F247\"},\"F283\" : {\"id\" : \"F283\",\"source\" : \"F241\",\"length\" : 0,\"weight\" : 0,\"title\" : \"7\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F247\"},\"F284\" : {\"id\" : \"F284\",\"source\" : \"F240\",\"length\" : 0,\"weight\" : 0,\"title\" : \"7\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F248\"},\"F285\" : {\"id\" : \"F285\",\"source\" : \"F243\",\"length\" : 0,\"weight\" : 0,\"title\" : \"7\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F244\"},\"F286\" : {\"id\" : \"F286\",\"source\" : \"F240\",\"length\" : 0,\"weight\" : 0,\"title\" : \"7\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F242\"},\"F287\" : {\"id\" : \"F287\",\"source\" : \"F239\",\"length\" : 0,\"weight\" : 0,\"title\" : \"7\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F241\"},\"F288\" : {\"id\" : \"F288\",\"source\" : \"F244\",\"length\" : 0,\"weight\" : 0,\"title\" : \"7\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F248\"},\"F289\" : {\"id\" : \"F289\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"7\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F246\"},\"F290\" : {\"id\" : \"F290\",\"source\" : \"F241\",\"length\" : 0,\"weight\" : 0,\"title\" : \"8\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F246\"},\"F291\" : {\"id\" : \"F291\",\"source\" : \"F242\",\"length\" : 0,\"weight\" : 0,\"title\" : \"8\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F248\"},\"F292\" : {\"id\" : \"F292\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"8\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F247\"},\"F293\" : {\"id\" : \"F293\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"8\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F245\"},\"F294\" : {\"id\" : \"F294\",\"source\" : \"F241\",\"length\" : 0,\"weight\" : 0,\"title\" : \"9\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F245\"},\"F295\" : {\"id\" : \"F295\",\"source\" : \"F240\",\"length\" : 0,\"weight\" : 0,\"title\" : \"9\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F244\"},\"F296\" : {\"id\" : \"F296\",\"source\" : \"F239\",\"length\" : 0,\"weight\" : 0,\"title\" : \"9\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F248\"},\"F297\" : {\"id\" : \"F297\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"9\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F243\"},\"F298\" : {\"id\" : \"F298\",\"source\" : \"F241\",\"length\" : 0,\"weight\" : 0,\"title\" : \"10\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F243\"},\"F299\" : {\"id\" : \"F299\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"10\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F240\"},\"F300\" : {\"id\" : \"F300\",\"source\" : \"F241\",\"length\" : 0,\"weight\" : 0,\"title\" : \"11\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F248\"},\"F301\" : {\"id\" : \"F301\",\"source\" : \"F238\",\"length\" : 0,\"weight\" : 0,\"title\" : \"11\",\"color\" : \"\",\"invisible\" : false,\"target\" : \"F248\"}}},\"messages\" : {}}}" }, "execution_count": 23, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" }], "source": [ "DrawFactorizationGraph(f);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "GAP 4 (native)", "language": "gap", "name": "gap-native" }, "language_info": { "codemirror_mode": "gap", "file_extension": ".g", "mimetype": "text/x-gap", "name": "GAP (native)", "nbconvert_exporter": "", "pygments_lexer": "gap", "version": "4.dev" } }, "nbformat": 4, "nbformat_minor": 2 }