{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Numerical semigroups with `francy`\n", "\n", "## Load `francy` Package" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "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", "\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", " \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": {}, "outputs": [ { "data": { "application/vnd.francy+json": "{\"canvas\" : {\"graph\" : {\"collapsed\" : true,\"id\" : \"F0935E1111DD14DF13C7643305440A90F\",\"links\" : {\"F06668D287B154619349F2436DCD72C18\" : {\"color\" : \"\",\"id\" : \"F06668D287B154619349F2436DCD72C18\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FBADFB1FBB15143125C5771BF1E49AAAC\",\"target\" : \"FAC5309F8108F4A06F49F78E45EF88986\",\"weight\" : 0},\"F0EFC447BC2A94F6A046EAA5CF1827861\" : {\"color\" : \"\",\"id\" : \"F0EFC447BC2A94F6A046EAA5CF1827861\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FAC5309F8108F4A06F49F78E45EF88986\",\"target\" : \"FE3F02797F57E4022DCE98F0FCF04CBA8\",\"weight\" : 0},\"F2140F5B9EB414493EC719FFE8D4BF2ED\" : {\"color\" : \"\",\"id\" : \"F2140F5B9EB414493EC719FFE8D4BF2ED\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F948734D11FBF42E464F04F2EE6D6C0DE\",\"target\" : \"FC5452D576AF74C9EF4FB46A59E28D428\",\"weight\" : 0},\"F2B929BF53E274CED6C033077FD182A78\" : {\"color\" : \"\",\"id\" : \"F2B929BF53E274CED6C033077FD182A78\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F6E20A7A3B1004032E4CE51E46A17101F\",\"target\" : \"F2A6C37797BF9484A0470FE1CE5464A41\",\"weight\" : 0},\"F2D93B026F585424AF4DCE24E0C2A49F8\" : {\"color\" : \"\",\"id\" : \"F2D93B026F585424AF4DCE24E0C2A49F8\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FEF76FDF6550246224C26BEBD124862CC\",\"target\" : \"F2A6C37797BF9484A0470FE1CE5464A41\",\"weight\" : 0},\"F49BDA1295C9445F6F4EC266BF0A82D84\" : {\"color\" : \"\",\"id\" : \"F49BDA1295C9445F6F4EC266BF0A82D84\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F366688A254054F9AFC43A6EA5008CAD2\",\"target\" : \"FBADFB1FBB15143125C5771BF1E49AAAC\",\"weight\" : 0},\"F55F63E4544B84A3F14A229612277EA64\" : {\"color\" : \"\",\"id\" : \"F55F63E4544B84A3F14A229612277EA64\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F40528265F01D48195C823DDF5A14D7CF\",\"target\" : \"FE3F02797F57E4022DCE98F0FCF04CBA8\",\"weight\" : 0},\"F7220CDA1859D4FB5D44E4B78F5ED59EB\" : {\"color\" : \"\",\"id\" : \"F7220CDA1859D4FB5D44E4B78F5ED59EB\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FBADFB1FBB15143125C5771BF1E49AAAC\",\"target\" : \"F40528265F01D48195C823DDF5A14D7CF\",\"weight\" : 0},\"F8DD0CA00423F4D774CF0766011BCA30F\" : {\"color\" : \"\",\"id\" : \"F8DD0CA00423F4D774CF0766011BCA30F\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FAC5309F8108F4A06F49F78E45EF88986\",\"target\" : \"F948734D11FBF42E464F04F2EE6D6C0DE\",\"weight\" : 0},\"F94F08AE9E9724579DC4004270C597E1A\" : {\"color\" : \"\",\"id\" : \"F94F08AE9E9724579DC4004270C597E1A\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F366688A254054F9AFC43A6EA5008CAD2\",\"target\" : \"F6E20A7A3B1004032E4CE51E46A17101F\",\"weight\" : 0},\"FA6051B31B0334002FC557EA064E34781\" : {\"color\" : \"\",\"id\" : \"FA6051B31B0334002FC557EA064E34781\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FE3F02797F57E4022DCE98F0FCF04CBA8\",\"target\" : \"FC5452D576AF74C9EF4FB46A59E28D428\",\"weight\" : 0},\"FA9ED231CB4E94792E44909958FE38065\" : {\"color\" : \"\",\"id\" : \"FA9ED231CB4E94792E44909958FE38065\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F2A6C37797BF9484A0470FE1CE5464A41\",\"target\" : \"F948734D11FBF42E464F04F2EE6D6C0DE\",\"weight\" : 0},\"FBD9E398833344A7ADC806BAD17402604\" : {\"color\" : \"\",\"id\" : \"FBD9E398833344A7ADC806BAD17402604\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F6E20A7A3B1004032E4CE51E46A17101F\",\"target\" : \"FAC5309F8108F4A06F49F78E45EF88986\",\"weight\" : 0}},\"nodes\" : {\"F2A6C37797BF9484A0470FE1CE5464A41\" : {\"callbacks\" : {\"F1AB14F00715746C17C7A051F4C4D50D1\" : {\"func\" : \"unknown\",\"id\" : \"F1AB14F00715746C17C7A051F4C4D50D1\",\"knownArgs\" : [\"62\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"F2A6C37797BF9484A0470FE1CE5464A41\",\"layer\" : -2,\"menus\" : {},\"messages\" : {\"FCC126CDF1E5242146C0BCE666332E9C4\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F0868DA228962428204E306E7BA02C0BF\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"FCC126CDF1E5242146C0BCE666332E9C4\",\"text\" : \"{(0,0,2))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"62\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F366688A254054F9AFC43A6EA5008CAD2\" : {\"callbacks\" : {\"F12AC5E185BB641038431E4B4C3456293\" : {\"func\" : \"unknown\",\"id\" : \"F12AC5E185BB641038431E4B4C3456293\",\"knownArgs\" : [\"116\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"F366688A254054F9AFC43A6EA5008CAD2\",\"layer\" : -4,\"menus\" : {},\"messages\" : {\"F4509A7188928455C64B962BCBF295BF1\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F682E684B60AC4F4CCCEED7EAB57AE7DA\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"F4509A7188928455C64B962BCBF295BF1\",\"text\" : \"{(0,2,2))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"116\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F40528265F01D48195C823DDF5A14D7CF\" : {\"callbacks\" : {\"F3A62027A90C14B2E64ADFBE598DCAB1F\" : {\"func\" : \"unknown\",\"id\" : \"F3A62027A90C14B2E64ADFBE598DCAB1F\",\"knownArgs\" : [\"54\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"F40528265F01D48195C823DDF5A14D7CF\",\"layer\" : -2,\"menus\" : {},\"messages\" : {\"F36D7D8C8024E4D9B34DBDCE35F39E797\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F4F18DC8FBC08428664203B7254BEDCFC\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"F36D7D8C8024E4D9B34DBDCE35F39E797\",\"text\" : \"{(0,2,0))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"54\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F6E20A7A3B1004032E4CE51E46A17101F\" : {\"callbacks\" : {\"F9980C3AB1FE8467A0C39E0816714D39D\" : {\"func\" : \"unknown\",\"id\" : \"F9980C3AB1FE8467A0C39E0816714D39D\",\"knownArgs\" : [\"89\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"F6E20A7A3B1004032E4CE51E46A17101F\",\"layer\" : -3,\"menus\" : {},\"messages\" : {\"FADAB64089636489B9C138F2DEEA6DF25\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F383B937CCF3547927CB4CC7779D548B7\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"FADAB64089636489B9C138F2DEEA6DF25\",\"text\" : \"{(0,1,2))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"89\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F948734D11FBF42E464F04F2EE6D6C0DE\" : {\"callbacks\" : {\"F54CD4B05DD4246E92C0525D0F611334A\" : {\"func\" : \"unknown\",\"id\" : \"F54CD4B05DD4246E92C0525D0F611334A\",\"knownArgs\" : [\"31\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"F948734D11FBF42E464F04F2EE6D6C0DE\",\"layer\" : -1,\"menus\" : {},\"messages\" : {\"FC957E285E0B14173EC9381C00B082970\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F78F966D29C48478A349E56140B0752E8\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"FC957E285E0B14173EC9381C00B082970\",\"text\" : \"{(0,0,1))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"31\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FAC5309F8108F4A06F49F78E45EF88986\" : {\"callbacks\" : {\"F18FE4D8176C446357C71A0CC5EE3A37F\" : {\"func\" : \"unknown\",\"id\" : \"F18FE4D8176C446357C71A0CC5EE3A37F\",\"knownArgs\" : [\"58\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"FAC5309F8108F4A06F49F78E45EF88986\",\"layer\" : -2,\"menus\" : {},\"messages\" : {\"F893471BC9EC94849B42DB8268A9D1AB6\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"FEE444EE1F5F64CD1BC9BD25BD64986EE\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"F893471BC9EC94849B42DB8268A9D1AB6\",\"text\" : \"{(0,1,1))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"58\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FBADFB1FBB15143125C5771BF1E49AAAC\" : {\"callbacks\" : {\"FBC3E1C907D124ABCB4D37AFC978D49C0\" : {\"func\" : \"unknown\",\"id\" : \"FBC3E1C907D124ABCB4D37AFC978D49C0\",\"knownArgs\" : [\"85\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"FBADFB1FBB15143125C5771BF1E49AAAC\",\"layer\" : -3,\"menus\" : {},\"messages\" : {\"F9A4E435F8A234BBD34DD34C838182A5C\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F8F794C1FA828467404CA41218DCFC68D\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"F9A4E435F8A234BBD34DD34C838182A5C\",\"text\" : \"{(0,2,1))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"85\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FC5452D576AF74C9EF4FB46A59E28D428\" : {\"callbacks\" : {\"F550DCE4E3D6F49DF3CAB08FAB4D5D25B\" : {\"func\" : \"unknown\",\"id\" : \"F550DCE4E3D6F49DF3CAB08FAB4D5D25B\",\"knownArgs\" : [\"0\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"FC5452D576AF74C9EF4FB46A59E28D428\",\"layer\" : 0,\"menus\" : {},\"messages\" : {\"FCBE476E116664FC274E1019A4AFC3590\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F807B9742C5CC4FC40CAF33D4A0501971\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"FCBE476E116664FC274E1019A4AFC3590\",\"text\" : \"{(0,0,0))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"0\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FE3F02797F57E4022DCE98F0FCF04CBA8\" : {\"callbacks\" : {\"F8C1F96C773474A8154A4C46BB113E35E\" : {\"func\" : \"unknown\",\"id\" : \"F8C1F96C773474A8154A4C46BB113E35E\",\"knownArgs\" : [\"27\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"FE3F02797F57E4022DCE98F0FCF04CBA8\",\"layer\" : -1,\"menus\" : {},\"messages\" : {\"F98C36F7AB1D945CC9C7DE79A8C6E8CC7\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F70650600519E474F5465932AD7970059\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"F98C36F7AB1D945CC9C7DE79A8C6E8CC7\",\"text\" : \"{(0,1,0))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"27\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FEF76FDF6550246224C26BEBD124862CC\" : {\"callbacks\" : {\"FB9F3D102AF6942D1348022740EF8E8ED\" : {\"func\" : \"unknown\",\"id\" : \"FB9F3D102AF6942D1348022740EF8E8ED\",\"knownArgs\" : [\"93\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"FEF76FDF6550246224C26BEBD124862CC\",\"layer\" : -3,\"menus\" : {},\"messages\" : {\"F2ED844CBF82047CA8C0E59ECD1D25F6A\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F793F564DFC7C41AD0C70B2CB648370C1\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"F2ED844CBF82047CA8C0E59ECD1D25F6A\",\"text\" : \"{(0,0,3))\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 10,\"title\" : \"93\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0}},\"simulation\" : true,\"type\" : \"undirected\"},\"height\" : 600,\"id\" : \"FC3F97C37978E48F7ACDF22F2D8EEEAC7\",\"menus\" : {},\"messages\" : {},\"texTypesetting\" : true,\"title\" : \"Apery\",\"width\" : 800,\"zoomToFit\" : true},\"mime\" : \"application\\/vnd.francy+json\",\"version\" : \"2.0.0\"}" }, "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": {}, "outputs": [ { "data": { "application/vnd.francy+json": "{\"canvas\" : {\"graph\" : {\"collapsed\" : true,\"id\" : \"F858A0120C4444F10ECA4C280DCA35730\",\"links\" : {\"F4358CADED853411B94A33DAB4A036C8D\" : {\"color\" : \"\",\"id\" : \"F4358CADED853411B94A33DAB4A036C8D\",\"invisible\" : false,\"length\" : 0,\"source\" : \"$\\\\langle3,5,7\\\\rangle$\",\"target\" : \"$\\\\langle3,7,8\\\\rangle$\",\"weight\" : 0},\"FC17233E967514F6CE4F0F353D6A14C85\" : {\"color\" : \"\",\"id\" : \"FC17233E967514F6CE4F0F353D6A14C85\",\"invisible\" : false,\"length\" : 0,\"source\" : \"$\\\\langle3,5,7\\\\rangle$\",\"target\" : \"$\\\\langle3,5\\\\rangle$\",\"weight\" : 0}},\"nodes\" : {\"$\\\\langle3,5,7\\\\rangle$\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"$\\\\langle3,5,7\\\\rangle$\",\"layer\" : 3,\"menus\" : {},\"messages\" : {\"F0B1E608E0B7844971C520DBC7A9E74A1\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F4D178A036EF742C2BC6C055D9B907FB9\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"F0B1E608E0B7844971C520DBC7A9E74A1\",\"text\" : \"[ 3, 5, 7 ]\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 1,\"title\" : \"$\\\\langle3,5,7\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"$\\\\langle3,5\\\\rangle$\" : {\"callbacks\" : {\"F330476CCC97F40C484795D0F126D75CE\" : {\"func\" : \"unknown\",\"id\" : \"F330476CCC97F40C484795D0F126D75CE\",\"knownArgs\" : [\"Numerical semigroup with 2 generators\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"$\\\\langle3,5\\\\rangle$\",\"layer\" : 4,\"menus\" : {},\"messages\" : {\"FCD8CD831DB1B4C93CC1771842D80FD45\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"FE29E81CAF5734142D4115FBBCB27CD5C\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"FCD8CD831DB1B4C93CC1771842D80FD45\",\"text\" : \"[ 3, 5 ]\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 1,\"title\" : \"$\\\\langle3,5\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"$\\\\langle3,7,8\\\\rangle$\" : {\"callbacks\" : {\"FAE9D1BE0EA16438874B27FE539D34269\" : {\"func\" : \"unknown\",\"id\" : \"FAE9D1BE0EA16438874B27FE539D34269\",\"knownArgs\" : [\"Numerical semigroup with 3 generators\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"}},\"color\" : \"\",\"id\" : \"$\\\\langle3,7,8\\\\rangle$\",\"layer\" : 4,\"menus\" : {},\"messages\" : {\"F137DB56349C44C86349415D8DBC577B4\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"F972A7D3A2BD2428E84513487EA9965A8\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"F137DB56349C44C86349415D8DBC577B4\",\"text\" : \"[ 3, 7, 8 ]\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 1,\"title\" : \"$\\\\langle3,7,8\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0}},\"simulation\" : true,\"type\" : \"undirected\"},\"height\" : 600,\"id\" : \"FB64AF9C0DF8844D5549A677F3E73A8E0\",\"menus\" : {},\"messages\" : {},\"texTypesetting\" : true,\"title\" : \"Sons of a numerical semigroup\",\"width\" : 800,\"zoomToFit\" : true},\"mime\" : \"application\\/vnd.francy+json\",\"version\" : \"2.0.0\"}" }, "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": "{\"canvas\" : {\"graph\" : {\"collapsed\" : false,\"id\" : \"FA04511C0F9864CD49421236EAD4681D7\",\"links\" : {},\"nodes\" : {\"F04B841BB95E84A5014DCF7B2A0251FC3\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F04B841BB95E84A5014DCF7B2A0251FC3\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FB2EF5C7DE1814CEC9CE0BD93A05AE5A9\",\"size\" : 5,\"title\" : \"$\\\\{2,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F0534FB53BDD644774C20549B32BA5956\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F0534FB53BDD644774C20549B32BA5956\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F6BF6D40B218C4097549934EF617AE244\",\"size\" : 5,\"title\" : \"$\\\\{4,5,6,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F16B6D4BBBDE549606C32412BD5FCAAC8\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F16B6D4BBBDE549606C32412BD5FCAAC8\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FE06BCD46747840705407AA26AB9BA35A\",\"size\" : 5,\"title\" : \"$\\\\{2,3\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F24860B81D2DE491BE4F5F9B4D4A07C7F\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F24860B81D2DE491BE4F5F9B4D4A07C7F\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F6BF6D40B218C4097549934EF617AE244\",\"size\" : 5,\"title\" : \"$\\\\{3,5,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F6BF6D40B218C4097549934EF617AE244\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F6BF6D40B218C4097549934EF617AE244\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F16B6D4BBBDE549606C32412BD5FCAAC8\",\"size\" : 5,\"title\" : \"$\\\\{3,4,5\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FA79F838DC78B4AEBF4D14426FF5AF0F4\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FA79F838DC78B4AEBF4D14426FF5AF0F4\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F0534FB53BDD644774C20549B32BA5956\",\"size\" : 5,\"title\" : \"$\\\\{5,6,7,8,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FB2EF5C7DE1814CEC9CE0BD93A05AE5A9\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FB2EF5C7DE1814CEC9CE0BD93A05AE5A9\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FC3BF146966EC4D04DCF185F67B457960\",\"size\" : 5,\"title\" : \"$\\\\{2,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FB4A5CE0FD8C84773440706490F3EEAA6\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FB4A5CE0FD8C84773440706490F3EEAA6\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F24860B81D2DE491BE4F5F9B4D4A07C7F\",\"size\" : 5,\"title\" : \"$\\\\{3,7,8\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FB6420EDE3EBF43D84C022594ED685445\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FB6420EDE3EBF43D84C022594ED685445\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F6BF6D40B218C4097549934EF617AE244\",\"size\" : 5,\"title\" : \"$\\\\{3,4\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FC3BF146966EC4D04DCF185F67B457960\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FC3BF146966EC4D04DCF185F67B457960\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F16B6D4BBBDE549606C32412BD5FCAAC8\",\"size\" : 5,\"title\" : \"$\\\\{2,5\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FC7D8DD2542844CD584F39D6A21CEE2C7\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FC7D8DD2542844CD584F39D6A21CEE2C7\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F0534FB53BDD644774C20549B32BA5956\",\"size\" : 5,\"title\" : \"$\\\\{4,5,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FCF8B9FDB01264AD5446BBEFB8133E0D1\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FCF8B9FDB01264AD5446BBEFB8133E0D1\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F0534FB53BDD644774C20549B32BA5956\",\"size\" : 5,\"title\" : \"$\\\\{4,5,6\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FE06BCD46747840705407AA26AB9BA35A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FE06BCD46747840705407AA26AB9BA35A\",\"layer\" : 0,\"menus\" : {},\"messages\" : {\"FE051511DCE3D4A3A34FDD9BF5CDAD1E4\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"FF220FEE8575C43BDFC303D047B8FC287\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"FE051511DCE3D4A3A34FDD9BF5CDAD1E4\",\"text\" : \"[ 1 ]\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 5,\"title\" : \"S\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FFE870E8FBCFD498C64744438F77AB719\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FFE870E8FBCFD498C64744438F77AB719\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F0534FB53BDD644774C20549B32BA5956\",\"size\" : 5,\"title\" : \"$\\\\{4,6,7,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FFF716FCA2C214DC1DC6C7127F700805A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FFF716FCA2C214DC1DC6C7127F700805A\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F24860B81D2DE491BE4F5F9B4D4A07C7F\",\"size\" : 5,\"title\" : \"$\\\\{3,5\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0}},\"simulation\" : true,\"type\" : \"tree\"},\"height\" : 600,\"id\" : \"F4B6224E6E985455E6C182BA6BE9E14F8\",\"menus\" : {},\"messages\" : {},\"texTypesetting\" : true,\"title\" : \"Sons of a numerical semigroup\",\"width\" : 800,\"zoomToFit\" : true},\"mime\" : \"application\\/vnd.francy+json\",\"version\" : \"2.0.0\"}" }, "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": "{\"canvas\" : {\"graph\" : {\"collapsed\" : false,\"id\" : \"FC9F8E4D6C2AC4E1BCC02AF98B1B13AF8\",\"links\" : {},\"nodes\" : {\"F08E51F92BCD04C7B2CF2E880A6BBD53A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F08E51F92BCD04C7B2CF2E880A6BBD53A\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FE56D3640EBDB4A4C8C6140D8147B109B\",\"size\" : 5,\"title\" : \"$\\\\{3,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F14016DD34B6544FCC49D2056591EE05D\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F14016DD34B6544FCC49D2056591EE05D\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F98293EC29FB54AD84C22F9063B8C0533\",\"size\" : 5,\"title\" : \"$\\\\{2,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F1527ED48A5FA4803A4760D4A4ECD67A4\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F1527ED48A5FA4803A4760D4A4ECD67A4\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FEA332E0097E749D3243339D7D5184871\",\"size\" : 5,\"title\" : \"$\\\\{5,6\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F1624BA34B25A435C041AF6D48DC4B05A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F1624BA34B25A435C041AF6D48DC4B05A\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F44A2C6E4244D44F27495B973576F964D\",\"size\" : 5,\"title\" : \"$\\\\{4,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F24D256E999DD4F10B4AA77CB43F8C970\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F24D256E999DD4F10B4AA77CB43F8C970\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F44A2C6E4244D44F27495B973576F964D\",\"size\" : 5,\"title\" : \"$\\\\{4,10,13\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F25646FAF2CD049E8BCF3C717AD009791\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F25646FAF2CD049E8BCF3C717AD009791\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F8A99C016EFFC4981F42448D9DBB9D09C\",\"size\" : 5,\"title\" : \"$\\\\{5,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F2BCA389AE5E74B703C862241C033D761\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F2BCA389AE5E74B703C862241C033D761\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F8987EB361DA64586C40E112150E13098\",\"size\" : 5,\"title\" : \"$\\\\{6,9,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F2E04D2A449AB404484BE1DB2766E0E0A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F2E04D2A449AB404484BE1DB2766E0E0A\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F40168CEA92334FC0148D276E79DE5B4B\",\"size\" : 5,\"title\" : \"$\\\\{7,8\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F337FAD46A9324E8E2C35D39A0F55328C\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F337FAD46A9324E8E2C35D39A0F55328C\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FF151E849EF1240EC1C406B98F589C16A\",\"size\" : 5,\"title\" : \"$\\\\{4,6,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F385580564AD04AE4B45C1A31853FFE70\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F385580564AD04AE4B45C1A31853FFE70\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FD3D02DA23FB04835D4982E75DD752FAB\",\"size\" : 5,\"title\" : \"$\\\\{5,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F40168CEA92334FC0148D276E79DE5B4B\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F40168CEA92334FC0148D276E79DE5B4B\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F1527ED48A5FA4803A4760D4A4ECD67A4\",\"size\" : 5,\"title\" : \"$\\\\{6,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F44A2C6E4244D44F27495B973576F964D\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F44A2C6E4244D44F27495B973576F964D\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F9D274B33209A43CDD496AC84A6DDABFB\",\"size\" : 5,\"title\" : \"$\\\\{4,10,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F483C58C84F764BA7ACE75701FDD9E22C\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F483C58C84F764BA7ACE75701FDD9E22C\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F40168CEA92334FC0148D276E79DE5B4B\",\"size\" : 5,\"title\" : \"$\\\\{6,8,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F49D53BC4B6634228A41F18F08AD2B33B\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F49D53BC4B6634228A41F18F08AD2B33B\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FD3D02DA23FB04835D4982E75DD752FAB\",\"size\" : 5,\"title\" : \"$\\\\{5,8,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F50C7CE8D8D244FD22CC449CAB3AD0367\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F50C7CE8D8D244FD22CC449CAB3AD0367\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F8711BDBBA2A64A6534C462C55F3154AC\",\"size\" : 5,\"title\" : \"$\\\\{2,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F5627D2FD82124EB47460035A3D50A74A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F5627D2FD82124EB47460035A3D50A74A\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FFD0D1F5EC6A9444CDC6B143E7E342BF3\",\"size\" : 5,\"title\" : \"$\\\\{2,17\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F562A6F4EEB684370C4573A32DB918402\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F562A6F4EEB684370C4573A32DB918402\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F73BA8F0160C048B6EC43BD311F163595\",\"size\" : 5,\"title\" : \"$\\\\{9,10\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F5934678072AB4FE24C1E02260B3AEC51\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F5934678072AB4FE24C1E02260B3AEC51\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F6E830FE3BA81486EBC7520C337511CD6\",\"size\" : 5,\"title\" : \"$\\\\{7,10,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F5B0F5DB65B16433ABCEF66241E15AE7D\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F5B0F5DB65B16433ABCEF66241E15AE7D\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FF151E849EF1240EC1C406B98F589C16A\",\"size\" : 5,\"title\" : \"$\\\\{4,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F5EFEB101EAFA4AD5BC6729B00FB31224\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F5EFEB101EAFA4AD5BC6729B00FB31224\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FB044BBE020E04383F4C5C95C677AC07D\",\"size\" : 5,\"title\" : \"$\\\\{3,4\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F657BF0E427734E064C54185308D62173\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F657BF0E427734E064C54185308D62173\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F49D53BC4B6634228A41F18F08AD2B33B\",\"size\" : 5,\"title\" : \"$\\\\{5,8\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F6B0D2D96936A4F02940D4BE2F53D08CF\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F6B0D2D96936A4F02940D4BE2F53D08CF\",\"layer\" : 0,\"menus\" : {},\"messages\" : {\"FEAA418A30A99453F84DD6D8EDCA03B7D\" : {\"callback\" : {\"func\" : \"Remove\",\"id\" : \"FCB30C5C48EDD45D744A771BD4CA25AD1\",\"knownArgs\" : [\"\",\"\"],\"requiredArgs\" : {},\"trigger\" : \"click\"},\"id\" : \"FEAA418A30A99453F84DD6D8EDCA03B7D\",\"text\" : \"[ 1 ]\",\"title\" : \"\",\"type\" : \"default\"}},\"parent\" : \"\",\"size\" : 5,\"title\" : \"S\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F6E830FE3BA81486EBC7520C337511CD6\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F6E830FE3BA81486EBC7520C337511CD6\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F2E04D2A449AB404484BE1DB2766E0E0A\",\"size\" : 5,\"title\" : \"$\\\\{7,9,10\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F73BA8F0160C048B6EC43BD311F163595\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F73BA8F0160C048B6EC43BD311F163595\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F2E04D2A449AB404484BE1DB2766E0E0A\",\"size\" : 5,\"title\" : \"$\\\\{8,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F8711BDBBA2A64A6534C462C55F3154AC\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F8711BDBBA2A64A6534C462C55F3154AC\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F14016DD34B6544FCC49D2056591EE05D\",\"size\" : 5,\"title\" : \"$\\\\{2,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F8987EB361DA64586C40E112150E13098\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F8987EB361DA64586C40E112150E13098\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F483C58C84F764BA7ACE75701FDD9E22C\",\"size\" : 5,\"title\" : \"$\\\\{6,9,10\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F8A99C016EFFC4981F42448D9DBB9D09C\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F8A99C016EFFC4981F42448D9DBB9D09C\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F49D53BC4B6634228A41F18F08AD2B33B\",\"size\" : 5,\"title\" : \"$\\\\{5,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F936E20B004D54A3D0C08E853E35C38A4\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F936E20B004D54A3D0C08E853E35C38A4\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F73BA8F0160C048B6EC43BD311F163595\",\"size\" : 5,\"title\" : \"$\\\\{8,10,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F98293EC29FB54AD84C22F9063B8C0533\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F98293EC29FB54AD84C22F9063B8C0533\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FB044BBE020E04383F4C5C95C677AC07D\",\"size\" : 5,\"title\" : \"$\\\\{2,5\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F9D274B33209A43CDD496AC84A6DDABFB\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F9D274B33209A43CDD496AC84A6DDABFB\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F5B0F5DB65B16433ABCEF66241E15AE7D\",\"size\" : 5,\"title\" : \"$\\\\{4,9\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FA4DEA8F633A6450E94691B5A644BBAB8\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FA4DEA8F633A6450E94691B5A644BBAB8\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FB3F7928D27E44FE40C90D88D468CC481\",\"size\" : 5,\"title\" : \"$\\\\{3,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FA927E80CEE7A424B2422AFBA0F2555D8\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FA927E80CEE7A424B2422AFBA0F2555D8\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F8987EB361DA64586C40E112150E13098\",\"size\" : 5,\"title\" : \"$\\\\{6,10,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FB044BBE020E04383F4C5C95C677AC07D\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FB044BBE020E04383F4C5C95C677AC07D\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F6B0D2D96936A4F02940D4BE2F53D08CF\",\"size\" : 5,\"title\" : \"$\\\\{2,3\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FB3F7928D27E44FE40C90D88D468CC481\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FB3F7928D27E44FE40C90D88D468CC481\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F5EFEB101EAFA4AD5BC6729B00FB31224\",\"size\" : 5,\"title\" : \"$\\\\{3,5\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FB4034B434D55478FDCB0F67DDDF27F68\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FB4034B434D55478FDCB0F67DDDF27F68\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F483C58C84F764BA7ACE75701FDD9E22C\",\"size\" : 5,\"title\" : \"$\\\\{6,8,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FB479E00AD857461C3492CD2E9AC17C3B\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FB479E00AD857461C3492CD2E9AC17C3B\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FB4034B434D55478FDCB0F67DDDF27F68\",\"size\" : 5,\"title\" : \"$\\\\{6,8,13\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FB9BE3EF1E8D64F674C931CF738FD9F96\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FB9BE3EF1E8D64F674C931CF738FD9F96\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FA4DEA8F633A6450E94691B5A644BBAB8\",\"size\" : 5,\"title\" : \"$\\\\{3,8\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FC6F50468BB554826CCBAA39771237E2F\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FC6F50468BB554826CCBAA39771237E2F\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F08E51F92BCD04C7B2CF2E880A6BBD53A\",\"size\" : 5,\"title\" : \"$\\\\{3,13\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FCA0B0AA62F1B4E291C81B89B4C8E2DD5\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FCA0B0AA62F1B4E291C81B89B4C8E2DD5\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F337FAD46A9324E8E2C35D39A0F55328C\",\"size\" : 5,\"title\" : \"$\\\\{4,6,11\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FD10B11D52F2C40C5540A152191D7F32D\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FD10B11D52F2C40C5540A152191D7F32D\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F50C7CE8D8D244FD22CC449CAB3AD0367\",\"size\" : 5,\"title\" : \"$\\\\{2,13\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FD3D02DA23FB04835D4982E75DD752FAB\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FD3D02DA23FB04835D4982E75DD752FAB\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F1527ED48A5FA4803A4760D4A4ECD67A4\",\"size\" : 5,\"title\" : \"$\\\\{5,7,8\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FE56D3640EBDB4A4C8C6140D8147B109B\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FE56D3640EBDB4A4C8C6140D8147B109B\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FB9BE3EF1E8D64F674C931CF738FD9F96\",\"size\" : 5,\"title\" : \"$\\\\{3,10\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FE8CE86EAA1EB4A063481C01F4687D755\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FE8CE86EAA1EB4A063481C01F4687D755\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F6E830FE3BA81486EBC7520C337511CD6\",\"size\" : 5,\"title\" : \"$\\\\{7,9,12\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FEA332E0097E749D3243339D7D5184871\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FEA332E0097E749D3243339D7D5184871\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"F5EFEB101EAFA4AD5BC6729B00FB31224\",\"size\" : 5,\"title\" : \"$\\\\{4,5\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FEB46B2AD34B342CD4C95AAA1C78530F6\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FEB46B2AD34B342CD4C95AAA1C78530F6\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FCA0B0AA62F1B4E291C81B89B4C8E2DD5\",\"size\" : 5,\"title\" : \"$\\\\{4,6,13\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FF151E849EF1240EC1C406B98F589C16A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FF151E849EF1240EC1C406B98F589C16A\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FEA332E0097E749D3243339D7D5184871\",\"size\" : 5,\"title\" : \"$\\\\{4,6,7\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FFD0D1F5EC6A9444CDC6B143E7E342BF3\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FFD0D1F5EC6A9444CDC6B143E7E342BF3\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FD10B11D52F2C40C5540A152191D7F32D\",\"size\" : 5,\"title\" : \"$\\\\{2,15\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FFEFB98E3BCCB418BA458ECBB0CCA925C\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FFEFB98E3BCCB418BA458ECBB0CCA925C\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"FEB46B2AD34B342CD4C95AAA1C78530F6\",\"size\" : 5,\"title\" : \"$\\\\{4,6,15\\\\}$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0}},\"simulation\" : true,\"type\" : \"tree\"},\"height\" : 600,\"id\" : \"FCDAA11DED07240C1F4429FBD27CD81D3\",\"menus\" : {},\"messages\" : {},\"texTypesetting\" : true,\"title\" : \"Sons of a numerical semigroup\",\"width\" : 800,\"zoomToFit\" : true},\"mime\" : \"application\\/vnd.francy+json\",\"version\" : \"2.0.0\"}" }, "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": {}, "outputs": [ { "data": { "application/vnd.francy+json": "{\"canvas\" : {\"graph\" : {\"collapsed\" : true,\"id\" : \"F092BF8CFE6824312D46B18D5283C070D\",\"links\" : {\"F09036891D814499EA414CFB2421DBA63\" : {\"color\" : \"\",\"id\" : \"F09036891D814499EA414CFB2421DBA63\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F433D8A4FD6F044B07CC2C74F3C275EC7\",\"target\" : \"FA4BC1F0013494DD69C1F36E220BBC114\",\"weight\" : 0},\"F0F07C3E7BDFA4B877CB27500E79954DE\" : {\"color\" : \"\",\"id\" : \"F0F07C3E7BDFA4B877CB27500E79954DE\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F8CE604E7A9044A81F434B04E7E1C542B\",\"target\" : \"F85FA145E6A4B4EDDF43A535EC30AA26D\",\"weight\" : 0},\"F110EEE288C46455E8C12F219D25B06CE\" : {\"color\" : \"\",\"id\" : \"F110EEE288C46455E8C12F219D25B06CE\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FE6711A37ACF8440AFC430BF113A62DE0\",\"target\" : \"F26D7C394901D4A243C96D3A27A0D9E50\",\"weight\" : 0},\"F1BD6BA43AAE24670144789025A42D717\" : {\"color\" : \"\",\"id\" : \"F1BD6BA43AAE24670144789025A42D717\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FA4BC1F0013494DD69C1F36E220BBC114\",\"target\" : \"F4F0CFFE8ECB5433DDC5560333AB4F53F\",\"weight\" : 0},\"F1CC7A9ABDC0B4039DC1D84A933872F1C\" : {\"color\" : \"\",\"id\" : \"F1CC7A9ABDC0B4039DC1D84A933872F1C\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F7FEF6E3A4BF640AADC2BCE7615F0C215\",\"target\" : \"FCF2B8E13B6134293640008C52AB94F6A\",\"weight\" : 0},\"F2B93321C581A4FB7046137C8DFA125E3\" : {\"color\" : \"\",\"id\" : \"F2B93321C581A4FB7046137C8DFA125E3\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F26D7C394901D4A243C96D3A27A0D9E50\",\"target\" : \"FB08E8CB8A4224EC52428D6D7E487552B\",\"weight\" : 0},\"F2EA1F6E1DFCF4258E474E99521572819\" : {\"color\" : \"\",\"id\" : \"F2EA1F6E1DFCF4258E474E99521572819\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F7B6536AF98C1453E14E1E4751312BA5F\",\"target\" : \"F4F0CFFE8ECB5433DDC5560333AB4F53F\",\"weight\" : 0},\"F33D166091CB647C4CC2BD52D64938CFE\" : {\"color\" : \"\",\"id\" : \"F33D166091CB647C4CC2BD52D64938CFE\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FCF2B8E13B6134293640008C52AB94F6A\",\"target\" : \"FAD51BB353C9B4081A4F63CAE5523108D\",\"weight\" : 0},\"F3E47FFF9271A4319D48F83F6FB58A54E\" : {\"color\" : \"\",\"id\" : \"F3E47FFF9271A4319D48F83F6FB58A54E\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F26D7C394901D4A243C96D3A27A0D9E50\",\"target\" : \"FAD51BB353C9B4081A4F63CAE5523108D\",\"weight\" : 0},\"F3EB974EF77F440E00437069CE9D32AB6\" : {\"color\" : \"\",\"id\" : \"F3EB974EF77F440E00437069CE9D32AB6\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F156883B221B04A6084C09DF2261B0F7B\",\"target\" : \"F7FEF6E3A4BF640AADC2BCE7615F0C215\",\"weight\" : 0},\"F4A2BA0AF7CC2464894BA54A7A1D65CAB\" : {\"color\" : \"\",\"id\" : \"F4A2BA0AF7CC2464894BA54A7A1D65CAB\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F8CE604E7A9044A81F434B04E7E1C542B\",\"target\" : \"FB08E8CB8A4224EC52428D6D7E487552B\",\"weight\" : 0},\"F51748C91491C48F054452C784CC1B07A\" : {\"color\" : \"\",\"id\" : \"F51748C91491C48F054452C784CC1B07A\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F8FA8529529F64F919C99C43F99FE3434\",\"target\" : \"FA4BC1F0013494DD69C1F36E220BBC114\",\"weight\" : 0},\"F5F9BDF43EB104E56DC517038F1CFEE06\" : {\"color\" : \"\",\"id\" : \"F5F9BDF43EB104E56DC517038F1CFEE06\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F2E1A3496EC9C4E631C8627312B982900\",\"target\" : \"FAD51BB353C9B4081A4F63CAE5523108D\",\"weight\" : 0},\"F7E5A6BE17F8A4EF0CCFAC644DB6C975E\" : {\"color\" : \"\",\"id\" : \"F7E5A6BE17F8A4EF0CCFAC644DB6C975E\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F2E1A3496EC9C4E631C8627312B982900\",\"target\" : \"F85FA145E6A4B4EDDF43A535EC30AA26D\",\"weight\" : 0},\"F81B9D918765C4CCD44F4935D77D27AAF\" : {\"color\" : \"\",\"id\" : \"F81B9D918765C4CCD44F4935D77D27AAF\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FB08E8CB8A4224EC52428D6D7E487552B\",\"target\" : \"F70320DD9A523491D9CA455CD68E56446\",\"weight\" : 0},\"F8401EC6AD970422D9C2BB473F9B3BA1B\" : {\"color\" : \"\",\"id\" : \"F8401EC6AD970422D9C2BB473F9B3BA1B\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F249DB592AF524B84AC6F4C46812B710E\",\"target\" : \"F156883B221B04A6084C09DF2261B0F7B\",\"weight\" : 0},\"F853959B08BF04E740CA9F4A47A8FD928\" : {\"color\" : \"\",\"id\" : \"F853959B08BF04E740CA9F4A47A8FD928\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FE6711A37ACF8440AFC430BF113A62DE0\",\"target\" : \"F2E1A3496EC9C4E631C8627312B982900\",\"weight\" : 0},\"F9842A2E3F33D40D7CC9E3C53BD09C113\" : {\"color\" : \"\",\"id\" : \"F9842A2E3F33D40D7CC9E3C53BD09C113\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F7FEF6E3A4BF640AADC2BCE7615F0C215\",\"target\" : \"F26D7C394901D4A243C96D3A27A0D9E50\",\"weight\" : 0},\"F9C3891C90FDE4D107C9BE8627F8CE82C\" : {\"color\" : \"\",\"id\" : \"F9C3891C90FDE4D107C9BE8627F8CE82C\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F70320DD9A523491D9CA455CD68E56446\",\"target\" : \"F7B6536AF98C1453E14E1E4751312BA5F\",\"weight\" : 0},\"FA15B5B4382A84A1794C60856939A771D\" : {\"color\" : \"\",\"id\" : \"FA15B5B4382A84A1794C60856939A771D\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FB08E8CB8A4224EC52428D6D7E487552B\",\"target\" : \"F8FA8529529F64F919C99C43F99FE3434\",\"weight\" : 0},\"FAA3E793EDC274ED9FC0B38F7E88A0F14\" : {\"color\" : \"\",\"id\" : \"FAA3E793EDC274ED9FC0B38F7E88A0F14\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F70320DD9A523491D9CA455CD68E56446\",\"target\" : \"FA4BC1F0013494DD69C1F36E220BBC114\",\"weight\" : 0},\"FB1EB98958CE64386F434F2716C2822B0\" : {\"color\" : \"\",\"id\" : \"FB1EB98958CE64386F434F2716C2822B0\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FAD51BB353C9B4081A4F63CAE5523108D\",\"target\" : \"F70320DD9A523491D9CA455CD68E56446\",\"weight\" : 0},\"FBB4C5D238A794B74CC82EF892374DF55\" : {\"color\" : \"\",\"id\" : \"FBB4C5D238A794B74CC82EF892374DF55\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FE6711A37ACF8440AFC430BF113A62DE0\",\"target\" : \"F8CE604E7A9044A81F434B04E7E1C542B\",\"weight\" : 0},\"FC35704E57C074EA2ECC855F305559522\" : {\"color\" : \"\",\"id\" : \"FC35704E57C074EA2ECC855F305559522\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F85FA145E6A4B4EDDF43A535EC30AA26D\",\"target\" : \"F70320DD9A523491D9CA455CD68E56446\",\"weight\" : 0},\"FF6250A0A3A7F48496C8FA2DE914E959B\" : {\"color\" : \"\",\"id\" : \"FF6250A0A3A7F48496C8FA2DE914E959B\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F156883B221B04A6084C09DF2261B0F7B\",\"target\" : \"FE6711A37ACF8440AFC430BF113A62DE0\",\"weight\" : 0},\"FFC078C693EE940B5B4FD97153BB06EFF\" : {\"color\" : \"\",\"id\" : \"FFC078C693EE940B5B4FD97153BB06EFF\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F85FA145E6A4B4EDDF43A535EC30AA26D\",\"target\" : \"F433D8A4FD6F044B07CC2C74F3C275EC7\",\"weight\" : 0}},\"nodes\" : {\"F156883B221B04A6084C09DF2261B0F7B\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F156883B221B04A6084C09DF2261B0F7B\",\"layer\" : 1,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle2,3\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0},\"F249DB592AF524B84AC6F4C46812B710E\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F249DB592AF524B84AC6F4C46812B710E\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle1\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0},\"F26D7C394901D4A243C96D3A27A0D9E50\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F26D7C394901D4A243C96D3A27A0D9E50\",\"layer\" : 3,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle4,5,6,7\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F2E1A3496EC9C4E631C8627312B982900\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F2E1A3496EC9C4E631C8627312B982900\",\"layer\" : 3,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle3,4\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0},\"F433D8A4FD6F044B07CC2C74F3C275EC7\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F433D8A4FD6F044B07CC2C74F3C275EC7\",\"layer\" : 5,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle3,7,11\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0},\"F4F0CFFE8ECB5433DDC5560333AB4F53F\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F4F0CFFE8ECB5433DDC5560333AB4F53F\",\"layer\" : 7,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle6,7,9,11\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F70320DD9A523491D9CA455CD68E56446\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F70320DD9A523491D9CA455CD68E56446\",\"layer\" : 5,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle6,7,8,9,10,11\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F7B6536AF98C1453E14E1E4751312BA5F\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F7B6536AF98C1453E14E1E4751312BA5F\",\"layer\" : 6,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle6,7,8,9,11\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0},\"F7FEF6E3A4BF640AADC2BCE7615F0C215\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F7FEF6E3A4BF640AADC2BCE7615F0C215\",\"layer\" : 2,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle2,5\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0},\"F85FA145E6A4B4EDDF43A535EC30AA26D\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F85FA145E6A4B4EDDF43A535EC30AA26D\",\"layer\" : 4,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle3,7,8\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F8CE604E7A9044A81F434B04E7E1C542B\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F8CE604E7A9044A81F434B04E7E1C542B\",\"layer\" : 3,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle3,5,7\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0},\"F8FA8529529F64F919C99C43F99FE3434\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F8FA8529529F64F919C99C43F99FE3434\",\"layer\" : 5,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle5,6,7,9\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0},\"FA4BC1F0013494DD69C1F36E220BBC114\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FA4BC1F0013494DD69C1F36E220BBC114\",\"layer\" : 6,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle6,7,9,10,11\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FAD51BB353C9B4081A4F63CAE5523108D\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FAD51BB353C9B4081A4F63CAE5523108D\",\"layer\" : 4,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle4,6,7,9\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FB08E8CB8A4224EC52428D6D7E487552B\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FB08E8CB8A4224EC52428D6D7E487552B\",\"layer\" : 4,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle5,6,7,8,9\\\\rangle$\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FCF2B8E13B6134293640008C52AB94F6A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FCF2B8E13B6134293640008C52AB94F6A\",\"layer\" : 3,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle2,7\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0},\"FE6711A37ACF8440AFC430BF113A62DE0\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FE6711A37ACF8440AFC430BF113A62DE0\",\"layer\" : 2,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 2,\"title\" : \"$\\\\langle3,4,5\\\\rangle$\",\"type\" : \"diamond\",\"x\" : 0,\"y\" : 0}},\"simulation\" : true,\"type\" : \"undirected\"},\"height\" : 600,\"id\" : \"F04F528BB391C43906CAF0B89B8555048\",\"menus\" : {},\"messages\" : {},\"texTypesetting\" : true,\"title\" : \"Oversemigroups\",\"width\" : 800,\"zoomToFit\" : true},\"mime\" : \"application\\/vnd.francy+json\",\"version\" : \"2.0.0\"}" }, "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": [ "" ] }, "execution_count": 13, "metadata": { "text/plain": "" }, "output_type": "execute_result" } ], "source": [ "s:=NumericalSemigroup(5,7,9);" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "application/vnd.francy+json": "{\"canvas\" : {\"graph\" : {\"collapsed\" : true,\"id\" : \"F7F1D7FB742114C06E4FC063B5496AB13\",\"links\" : {\"F1805C6AFCFBA46399C31647AF611863A\" : {\"color\" : \"\",\"id\" : \"F1805C6AFCFBA46399C31647AF611863A\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FF209466DF7EA411C3CCF928ACEE57A61\",\"target\" : \"F3D1EB1FB27E24AD4143B15C0AFD1F816\",\"weight\" : 0},\"F2CC890CDB17A4CEC3C789FD48FD65EE6\" : {\"color\" : \"\",\"id\" : \"F2CC890CDB17A4CEC3C789FD48FD65EE6\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FF6CF8986D0294BF9DC22F6064F9E016E\",\"target\" : \"F4A1B5C652BAF4B32BC089373473CE181\",\"weight\" : 0},\"F359555E628F94B4914858D09B85E8F58\" : {\"color\" : \"\",\"id\" : \"F359555E628F94B4914858D09B85E8F58\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F4A1B5C652BAF4B32BC089373473CE181\",\"target\" : \"FF209466DF7EA411C3CCF928ACEE57A61\",\"weight\" : 0},\"F36ABA6A3AB5C49A00C6A24E24923B3AE\" : {\"color\" : \"\",\"id\" : \"F36ABA6A3AB5C49A00C6A24E24923B3AE\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F9F16DE43341A43B004CE7FBB930AE126\",\"target\" : \"F3D1EB1FB27E24AD4143B15C0AFD1F816\",\"weight\" : 0},\"F3703073ECB0D42CD0CA236ECD4058F05\" : {\"color\" : \"\",\"id\" : \"F3703073ECB0D42CD0CA236ECD4058F05\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FF6CF8986D0294BF9DC22F6064F9E016E\",\"target\" : \"F7558758FC07B443664E44B4473928E10\",\"weight\" : 0},\"F4DF6CA211F2B430494BFA6F5C5DEBB71\" : {\"color\" : \"\",\"id\" : \"F4DF6CA211F2B430494BFA6F5C5DEBB71\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F9F16DE43341A43B004CE7FBB930AE126\",\"target\" : \"F7558758FC07B443664E44B4473928E10\",\"weight\" : 0},\"F57BA6A67946940F2D4B2661FF4F4826B\" : {\"color\" : \"\",\"id\" : \"F57BA6A67946940F2D4B2661FF4F4826B\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FF6CF8986D0294BF9DC22F6064F9E016E\",\"target\" : \"F3D1EB1FB27E24AD4143B15C0AFD1F816\",\"weight\" : 0},\"FA0DAE844EF284974A48B5EC5A25FEEBA\" : {\"color\" : \"\",\"id\" : \"FA0DAE844EF284974A48B5EC5A25FEEBA\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FF6CF8986D0294BF9DC22F6064F9E016E\",\"target\" : \"F9F16DE43341A43B004CE7FBB930AE126\",\"weight\" : 0},\"FA2AABC4DF5D24318AC2E664F1870EB5B\" : {\"color\" : \"\",\"id\" : \"FA2AABC4DF5D24318AC2E664F1870EB5B\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F9F16DE43341A43B004CE7FBB930AE126\",\"target\" : \"FF209466DF7EA411C3CCF928ACEE57A61\",\"weight\" : 0},\"FB1906661CE7D4E641CBA1F14756427E8\" : {\"color\" : \"\",\"id\" : \"FB1906661CE7D4E641CBA1F14756427E8\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FF6CF8986D0294BF9DC22F6064F9E016E\",\"target\" : \"FF209466DF7EA411C3CCF928ACEE57A61\",\"weight\" : 0},\"FD8A47A063C8B44B734CF2660C361D72F\" : {\"color\" : \"\",\"id\" : \"FD8A47A063C8B44B734CF2660C361D72F\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F4A1B5C652BAF4B32BC089373473CE181\",\"target\" : \"F3D1EB1FB27E24AD4143B15C0AFD1F816\",\"weight\" : 0},\"FDD44A4358F224F8F2CEA1C2BF27BA2A8\" : {\"color\" : \"\",\"id\" : \"FDD44A4358F224F8F2CEA1C2BF27BA2A8\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F7558758FC07B443664E44B4473928E10\",\"target\" : \"F3D1EB1FB27E24AD4143B15C0AFD1F816\",\"weight\" : 0},\"FE9BB3DF5D5CC4BD32C91214F8674BB20\" : {\"color\" : \"\",\"id\" : \"FE9BB3DF5D5CC4BD32C91214F8674BB20\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F4A1B5C652BAF4B32BC089373473CE181\",\"target\" : \"F7558758FC07B443664E44B4473928E10\",\"weight\" : 0},\"FEF23B77DD51B4EF0ACE13667CA8805E0\" : {\"color\" : \"\",\"id\" : \"FEF23B77DD51B4EF0ACE13667CA8805E0\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FF209466DF7EA411C3CCF928ACEE57A61\",\"target\" : \"F7558758FC07B443664E44B4473928E10\",\"weight\" : 0}},\"nodes\" : {\"F3D1EB1FB27E24AD4143B15C0AFD1F816\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F3D1EB1FB27E24AD4143B15C0AFD1F816\",\"layer\" : 7,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(3,1,3)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F4A1B5C652BAF4B32BC089373473CE181\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F4A1B5C652BAF4B32BC089373473CE181\",\"layer\" : 9,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(8,0,1)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F7558758FC07B443664E44B4473928E10\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F7558758FC07B443664E44B4473928E10\",\"layer\" : 7,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(2,3,2)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F9F16DE43341A43B004CE7FBB930AE126\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F9F16DE43341A43B004CE7FBB930AE126\",\"layer\" : 7,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(0,7,0)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FF209466DF7EA411C3CCF928ACEE57A61\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FF209466DF7EA411C3CCF928ACEE57A61\",\"layer\" : 7,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(1,5,1)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FF6CF8986D0294BF9DC22F6064F9E016E\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FF6CF8986D0294BF9DC22F6064F9E016E\",\"layer\" : 9,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(7,2,0)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0}},\"simulation\" : true,\"type\" : \"undirected\"},\"height\" : 600,\"id\" : \"FADEAAE0EDF4B44F674224FE2047A155B\",\"menus\" : {},\"messages\" : {},\"texTypesetting\" : true,\"title\" : \"Eliahou graph\",\"width\" : 800,\"zoomToFit\" : true},\"mime\" : \"application\\/vnd.francy+json\",\"version\" : \"2.0.0\"}" }, "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": "{\"canvas\" : {\"graph\" : {\"collapsed\" : true,\"id\" : \"F53CE4DC116B647496C39932FAA757FA1\",\"links\" : {\"F02354CCCDEA440FDE4F55CBF657CC8DA\" : {\"color\" : \"\",\"id\" : \"F02354CCCDEA440FDE4F55CBF657CC8DA\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F9B632DC36C5E44C7EC0EA39011052F0F\",\"target\" : \"FC749D687E9E6415EECBC0E553E7B858A\",\"weight\" : 0},\"F18964FF8AE5645E94C0A0C7528826124\" : {\"color\" : \"\",\"id\" : \"F18964FF8AE5645E94C0A0C7528826124\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F9B632DC36C5E44C7EC0EA39011052F0F\",\"target\" : \"FA09492CC66834D3FA49D9BC2782A8B9C\",\"weight\" : 0},\"F1C2AD257887E49B354559ACA57431202\" : {\"color\" : \"\",\"id\" : \"F1C2AD257887E49B354559ACA57431202\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F9B632DC36C5E44C7EC0EA39011052F0F\",\"target\" : \"F3D6484452CA34524F43BAF07BD4926E4\",\"weight\" : 0},\"F27D412FAD1B64033CC5133D8AD820427\" : {\"color\" : \"\",\"id\" : \"F27D412FAD1B64033CC5133D8AD820427\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F9B632DC36C5E44C7EC0EA39011052F0F\",\"target\" : \"F45AE79BA660C42DE34E07E00394C112A\",\"weight\" : 0},\"F336503C53E0B446FCCC7C0CC0223C6D3\" : {\"color\" : \"\",\"id\" : \"F336503C53E0B446FCCC7C0CC0223C6D3\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F6360FE1B7E794284645E7AC4D72AD66E\",\"target\" : \"F45AE79BA660C42DE34E07E00394C112A\",\"weight\" : 0},\"F4FCA8076B12F4C97AC83F474EE6FBECE\" : {\"color\" : \"\",\"id\" : \"F4FCA8076B12F4C97AC83F474EE6FBECE\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FC749D687E9E6415EECBC0E553E7B858A\",\"target\" : \"FA09492CC66834D3FA49D9BC2782A8B9C\",\"weight\" : 0},\"F6168681479FB4B8194A95519B4B2B007\" : {\"color\" : \"\",\"id\" : \"F6168681479FB4B8194A95519B4B2B007\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F136DA220CEC641552CD7422E2D898598\",\"target\" : \"F45AE79BA660C42DE34E07E00394C112A\",\"weight\" : 0},\"F62F46DD205904B14547E0D7D9E955843\" : {\"color\" : \"\",\"id\" : \"F62F46DD205904B14547E0D7D9E955843\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F45AE79BA660C42DE34E07E00394C112A\",\"target\" : \"FA09492CC66834D3FA49D9BC2782A8B9C\",\"weight\" : 0},\"F6E0C2B2B28B24FB59489B082E4CA455A\" : {\"color\" : \"\",\"id\" : \"F6E0C2B2B28B24FB59489B082E4CA455A\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FC749D687E9E6415EECBC0E553E7B858A\",\"target\" : \"F45AE79BA660C42DE34E07E00394C112A\",\"weight\" : 0},\"F92CD5430B84849DD9CD90D99B583831B\" : {\"color\" : \"\",\"id\" : \"F92CD5430B84849DD9CD90D99B583831B\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F9B632DC36C5E44C7EC0EA39011052F0F\",\"target\" : \"F6360FE1B7E794284645E7AC4D72AD66E\",\"weight\" : 0},\"F931F2A4445BA49A6349CE2276EE2443E\" : {\"color\" : \"\",\"id\" : \"F931F2A4445BA49A6349CE2276EE2443E\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F6360FE1B7E794284645E7AC4D72AD66E\",\"target\" : \"FA09492CC66834D3FA49D9BC2782A8B9C\",\"weight\" : 0},\"FA6D4FFD9570F4CA9FCB2B39E56B522B7\" : {\"color\" : \"\",\"id\" : \"FA6D4FFD9570F4CA9FCB2B39E56B522B7\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F136DA220CEC641552CD7422E2D898598\",\"target\" : \"FA09492CC66834D3FA49D9BC2782A8B9C\",\"weight\" : 0},\"FA97B288B63EB4DC1C46D7831AFDFE450\" : {\"color\" : \"\",\"id\" : \"FA97B288B63EB4DC1C46D7831AFDFE450\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FC749D687E9E6415EECBC0E553E7B858A\",\"target\" : \"F3D6484452CA34524F43BAF07BD4926E4\",\"weight\" : 0},\"FB907730C25514029140EED895D7E2DA4\" : {\"color\" : \"\",\"id\" : \"FB907730C25514029140EED895D7E2DA4\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F6360FE1B7E794284645E7AC4D72AD66E\",\"target\" : \"F136DA220CEC641552CD7422E2D898598\",\"weight\" : 0},\"FBF2D9658CE7347E44CB5E8447362A83E\" : {\"color\" : \"\",\"id\" : \"FBF2D9658CE7347E44CB5E8447362A83E\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F3D6484452CA34524F43BAF07BD4926E4\",\"target\" : \"FA09492CC66834D3FA49D9BC2782A8B9C\",\"weight\" : 0},\"FC6C172A47A8446748CFA4996629DA32C\" : {\"color\" : \"\",\"id\" : \"FC6C172A47A8446748CFA4996629DA32C\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F3D6484452CA34524F43BAF07BD4926E4\",\"target\" : \"F6360FE1B7E794284645E7AC4D72AD66E\",\"weight\" : 0},\"FCFB5BF9FF27C4298BC45114FDD44DC4B\" : {\"color\" : \"\",\"id\" : \"FCFB5BF9FF27C4298BC45114FDD44DC4B\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FC749D687E9E6415EECBC0E553E7B858A\",\"target\" : \"F6360FE1B7E794284645E7AC4D72AD66E\",\"weight\" : 0},\"FD4F9E60234B24258844F69201D48E33F\" : {\"color\" : \"\",\"id\" : \"FD4F9E60234B24258844F69201D48E33F\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F3D6484452CA34524F43BAF07BD4926E4\",\"target\" : \"F45AE79BA660C42DE34E07E00394C112A\",\"weight\" : 0},\"FE5415C43900B437F6460443206EE3115\" : {\"color\" : \"\",\"id\" : \"FE5415C43900B437F6460443206EE3115\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F3D6484452CA34524F43BAF07BD4926E4\",\"target\" : \"F136DA220CEC641552CD7422E2D898598\",\"weight\" : 0},\"FFFA9A65DD69E41A7DC102EBFEC31FF08\" : {\"color\" : \"\",\"id\" : \"FFFA9A65DD69E41A7DC102EBFEC31FF08\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FC749D687E9E6415EECBC0E553E7B858A\",\"target\" : \"F136DA220CEC641552CD7422E2D898598\",\"weight\" : 0}},\"nodes\" : {\"F136DA220CEC641552CD7422E2D898598\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F136DA220CEC641552CD7422E2D898598\",\"layer\" : 7,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(0,4,3)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F3D6484452CA34524F43BAF07BD4926E4\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F3D6484452CA34524F43BAF07BD4926E4\",\"layer\" : 9,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(5,3,1)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F45AE79BA660C42DE34E07E00394C112A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F45AE79BA660C42DE34E07E00394C112A\",\"layer\" : 7,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(1,2,4)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F6360FE1B7E794284645E7AC4D72AD66E\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F6360FE1B7E794284645E7AC4D72AD66E\",\"layer\" : 9,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(6,1,2)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F9B632DC36C5E44C7EC0EA39011052F0F\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F9B632DC36C5E44C7EC0EA39011052F0F\",\"layer\" : 11,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(11,0,0)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FA09492CC66834D3FA49D9BC2782A8B9C\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FA09492CC66834D3FA49D9BC2782A8B9C\",\"layer\" : 7,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(2,0,5)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FC749D687E9E6415EECBC0E553E7B858A\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FC749D687E9E6415EECBC0E553E7B858A\",\"layer\" : 9,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"(4,5,0)\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0}},\"simulation\" : true,\"type\" : \"undirected\"},\"height\" : 600,\"id\" : \"F8B2EC2D83E2B40C7A44A8E67D4A07E0C\",\"menus\" : {},\"messages\" : {},\"texTypesetting\" : true,\"title\" : \"Eliahou graph\",\"width\" : 800,\"zoomToFit\" : true},\"mime\" : \"application\\/vnd.francy+json\",\"version\" : \"2.0.0\"}" }, "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]" ] }, "execution_count": 18, "metadata": { "text/plain": "" }, "output_type": "execute_result" } ], "source": [ "s:=NumericalSemigroup(5,7,9);" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "application/vnd.francy+json": "{\"canvas\" : {\"graph\" : {\"collapsed\" : true,\"id\" : \"F1E7FC6E907834A15E40D5A53AE1771E3\",\"links\" : {\"FB06E3EA9B69D442C546EF46A70D52672\" : {\"color\" : \"\",\"id\" : \"FB06E3EA9B69D442C546EF46A70D52672\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FAFFF64473C3747EFEC1E5EE0292FE3AD\",\"target\" : \"F722C89133771403E0CCFAE144569189B\",\"weight\" : 0},\"FF734C8C644A846E9BCE75D4022B6950E\" : {\"color\" : \"\",\"id\" : \"FF734C8C644A846E9BCE75D4022B6950E\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FAFFF64473C3747EFEC1E5EE0292FE3AD\",\"target\" : \"F351833DB2B2C4DF764C1E2E2D7B83494\",\"weight\" : 0},\"FFC3A0B991662428F4CE38F8CF94F0D17\" : {\"color\" : \"\",\"id\" : \"FFC3A0B991662428F4CE38F8CF94F0D17\",\"invisible\" : false,\"length\" : 0,\"source\" : \"F351833DB2B2C4DF764C1E2E2D7B83494\",\"target\" : \"F722C89133771403E0CCFAE144569189B\",\"weight\" : 0}},\"nodes\" : {\"F351833DB2B2C4DF764C1E2E2D7B83494\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F351833DB2B2C4DF764C1E2E2D7B83494\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"7\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"F722C89133771403E0CCFAE144569189B\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F722C89133771403E0CCFAE144569189B\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"9\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FAFFF64473C3747EFEC1E5EE0292FE3AD\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FAFFF64473C3747EFEC1E5EE0292FE3AD\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"5\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0}},\"simulation\" : true,\"type\" : \"undirected\"},\"height\" : 600,\"id\" : \"F2B922943B0874816945F4B866862813C\",\"menus\" : {},\"messages\" : {},\"texTypesetting\" : true,\"title\" : \"Rosales graph\",\"width\" : 800,\"zoomToFit\" : true},\"mime\" : \"application\\/vnd.francy+json\",\"version\" : \"2.0.0\"}" }, "execution_count": 19, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" } ], "source": [ "DrawRosalesGraph(49,s);" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "application/vnd.francy+json": "{\"canvas\" : {\"graph\" : {\"collapsed\" : true,\"id\" : \"FADB90A39215142E864FE2E4405AB66DB\",\"links\" : {\"FD218E606605F4CD4647DE90089CD5EC0\" : {\"color\" : \"\",\"id\" : \"FD218E606605F4CD4647DE90089CD5EC0\",\"invisible\" : false,\"length\" : 0,\"source\" : \"FFF44547515F843CD0CAED4432A482488\",\"target\" : \"FE9D079A1321343B9ACA4757B099210AD\",\"weight\" : 0}},\"nodes\" : {\"F80C897DF3EE04D20E45F217505F9B3E1\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"F80C897DF3EE04D20E45F217505F9B3E1\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"5\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FE9D079A1321343B9ACA4757B099210AD\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FE9D079A1321343B9ACA4757B099210AD\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"7\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0},\"FFF44547515F843CD0CAED4432A482488\" : {\"callbacks\" : {},\"color\" : \"\",\"id\" : \"FFF44547515F843CD0CAED4432A482488\",\"layer\" : 0,\"menus\" : {},\"messages\" : {},\"parent\" : \"\",\"size\" : 1,\"title\" : \"3\",\"type\" : \"circle\",\"x\" : 0,\"y\" : 0}},\"simulation\" : true,\"type\" : \"undirected\"},\"height\" : 600,\"id\" : \"F4859D49863424EAC6468396B4D2EA86F\",\"menus\" : {},\"messages\" : {},\"texTypesetting\" : true,\"title\" : \"Rosales graph\",\"width\" : 800,\"zoomToFit\" : true},\"mime\" : \"application\\/vnd.francy+json\",\"version\" : \"2.0.0\"}" }, "execution_count": 20, "metadata": { "application/vnd.francy+json": {} }, "output_type": "execute_result" } ], "source": [ "DrawRosalesGraph(10,NumericalSemigroup(3,5,7));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Graphs of factorizations" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "function( f ) ... end" ] }, "execution_count": 21, "metadata": { "text/plain": "" }, "output_type": "execute_result" } ], "source": [ "DrawFactorizationGraph:=function(f)\n", " local graph, canvas, fs, c, nf, i, p, ln, distance, Kruskal, tv;\n", "\n", " Kruskal := function(V, E)\n", " local trees, needed, v, e, i,j, nv;\n", "\n", " trees := List(V, v-> [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": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "GAP 4", "language": "gap", "name": "gap-4" }, "language_info": { "codemirror_mode": "gap", "file_extension": ".g", "mimetype": "text/x-gap", "name": "GAP 4", "nbconvert_exporter": "", "pygments_lexer": "gap", "version": "4.13dev" } }, "nbformat": 4, "nbformat_minor": 4 }