GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
1[1X6 [33X[0;0YUsage of [5XIntPic[105X[101X[1X in connection with the [5Xnumericalsgps[105X[101X[1X package[133X[101X23[33X[0;0YThis chapter describes functions to be used in connection with the4[5Xnumericalsgps[105X package. We found it particularly usefull to gain intuition5that led to the obtention of the results stated in [DGSRP16].[133X678[1X6.1 [33X[0;0YTikz code for drawing numerical semigroups[133X[101X91011[1X6.1-1 [33X[0;0YTikz code for drawing numerical semigroups[133X[101X1213[29X[2XTikzCodeForNumericalSemigroup[102X( [3Xarg[103X ) [32X function1415[33X[0;0YThe arguments (at most 4) are:[133X1617[31X1[131X [33X[0;6Ya numerical semigroup[133X1819[31X2[131X [33X[0;6Y(optional) a list whose elements are either[133X2021[30X [33X[0;12Ylists of integers [13Xor[113X[133X2223[30X [33X[0;12Yone of the strings "pseudo_frobenius", "small_elements",24"min_generators", "frobenius_number", "conductor",25"special_gaps", "fundamental_gaps" (the default: used when no26list is present) [13Xor[113X[133X2728[31X3[131X [33X[0;6Ya record whose fields are[133X2930[30X [33X[0;12Yfunc -- a function name[133X3132[30X [33X[0;12Y(optional) argument -- an argument (that may be a function name33also)[133X3435[31X4[131X [33X[0;6Y(optional) a positive integer -- if it is bigger than the conductor or36biggest minimal generator, it indicates the number of cells - 1 to be37drawn and these are drawn in a single line; otherwise, it indicates38the maximum number of cells per line.[133X3940[4X[32X Example [32X[104X41[4X[25Xgap>[125X [27Xns1 := NumericalSemigroup(3,5);;[127X[104X42[4X[25Xgap>[125X [27XTikzCodeForNumericalSemigroup(ns1,[[3,4],"pseudo_frobenius"],20);[127X[104X43[4X[28X"%tikz\n\\begin{tikzpicture}[every node/.style={draw,scale=1pt,\nminimum width\[128X[104X44[4X[28X=20pt,inner sep=3pt,\nline width=0pt,draw=black}]\n\\matrix[row sep=2pt,column\[128X[104X45[4X[28X sep=2pt]\n{\\node[]{0};&\n\\node[]{1};&\n\\node[]{2};&\n\\node[fill=red]{3};&\[128X[104X46[4X[28X\n\\node[fill=red]{4};&\n\\node[]{5};&\n\\node[]{6};&\n\\node[fill=green]{7};&\[128X[104X47[4X[28X\n\\node[]{8};&\n\\node[]{9};&\n\\node[]{10};&\n\\node[]{11};&\n\\node[]{12};&\[128X[104X48[4X[28X\n\\node[]{13};&\n\\node[]{14};&\n\\node[]{15};&\n\\node[]{16};&\n\\node[]{17}\[128X[104X49[4X[28X;&\n\\node[]{18};&\n\\node[]{19};&\n\\node[]{20};\\\\\n};\n\\end{tikzpicture}\[128X[104X50[4X[28X\n"[128X[104X51[4X[32X[104X5253[4X[32X Example [32X[104X54[4X[25Xgap>[125X [27XIP_Splash(TikzCodeForNumericalSemigroup(NumericalSemigroup(7,13,19,23),[127X[104X55[4X[25X>[125X [27X[[3,4],"small_elements","fundamental_gaps"],20),rec(viewer := "evince")); [127X[104X56[4X[32X[104X575859[1X6.2 [33X[0;0YDrawing sets of numerical semigroups[133X[101X606162[1X6.2-1 [33X[0;0YSet of numerical semigroups[133X[101X6364[29X[2XSetOfNumericalSemigroups[102X( [3Xarg[103X ) [32X function6566[33X[0;0YThis function is used to produce lists of numerical semigroups with a fixed67genus or Frobenius number. They are filtered and ordered according to some68criteria.[133X6970[33X[0;0YThe argument is a record of options:[133X7172[31X1[131X [33X[0;6Yset -- a record whose possible fields are genus or frobenius[133X7374[31X2[131X [33X[0;6Y(optional) filter -- a record whose possible fields are genus, type75and/or multiplicity and/or frobenius and/or embedding_dimension[133X7677[31X3[131X [33X[0;6Y(optional) order -- ("genus", "type", "multiplicity", "frobenius",78"embedding_dimension")[133X7980[4X[32X Example [32X[104X81[4X[25Xgap>[125X [27XSetOfNumericalSemigroups(rec(set:=rec(genus:=6),filter:=rec(type:= 2),[127X[104X82[4X[25X>[125X [27Xorder:="multiplicity"));[127X[104X83[4X[28X[ <Numerical semigroup with 3 generators>, [128X[104X84[4X[28X <Numerical semigroup with 3 generators>, [128X[104X85[4X[28X <Numerical semigroup with 4 generators>, [128X[104X86[4X[28X <Numerical semigroup with 5 generators>, [128X[104X87[4X[28X <Numerical semigroup with 5 generators>, [128X[104X88[4X[28X <Numerical semigroup with 6 generators> ][128X[104X89[4X[25Xgap>[125X [27XSetOfNumericalSemigroups(rec(set:=rec(genus:=6),filter:=rec(type:= 2),[127X[104X90[4X[25X>[125X [27Xorder:="frobenius")); [127X[104X91[4X[28X[ <Numerical semigroup with 3 generators>, [128X[104X92[4X[28X <Numerical semigroup with 5 generators>, [128X[104X93[4X[28X <Numerical semigroup with 5 generators>, [128X[104X94[4X[28X <Numerical semigroup with 3 generators>, [128X[104X95[4X[28X <Numerical semigroup with 4 generators>, [128X[104X96[4X[28X <Numerical semigroup with 6 generators> ][128X[104X97[4X[25Xgap>[125X [27XList(last,MinimalGeneratingSystem);[127X[104X98[4X[28X[ [ 3, 10, 11 ], [ 5, 6, 7 ], [ 5, 6, 8 ], [ 3, 8, 13 ], [ 4, 7, 9 ], [128X[104X99[4X[28X [ 6, 7, 8, 9, 11 ] ][128X[104X100[4X[32X[104X101102103[1X6.2-2 [33X[0;0YDraw a set of numerical semigroups[133X[101X104105[29X[2XDrawSetOfNumericalSemigroups[102X( [3Xarg[103X ) [32X function106107[33X[0;0YProduces a single image from the images of a set of numerical semigroups.[133X108109[33X[0;0YThe arguments (at most 3) are:[133X110111[31X1[131X [33X[0;6Ya list of numerical semigroups (given as a list or each given as112argument)[133X113114[31X2[131X [33X[0;6Y(optional) an integer that (when present) determines the length of115each line[133X116117[31X3[131X [33X[0;6Y(optional) a record whose fields are[133X118119[30X [33X[0;12Y(optional) splash -- which (when present) consists of a record120of options for the Viz Splash function[133X121122[30X [33X[0;12Y(optional) highlights: a list to be passed to the function that123produces the tikz code for each individual semigroup (whose aim124is to say which elements are to be highlighted)[133X125126[4X[32X Example [32X[104X127[4X[25Xgap>[125X [27Xns1 := NumericalSemigroup(3,5);;[127X[104X128[4X[25Xgap>[125X [27Xns2 := NumericalSemigroup(5,7,11);;[127X[104X129[4X[25Xgap>[125X [27XDrawSetOfNumericalSemigroups(ns1,rec(splash:= [127X[104X130[4X[25X>[125X [27Xrec(viewer := "evince"),highlights := [127X[104X131[4X[25X>[125X [27X["pseudo_frobenius","small_elements","min_generators"]));[127X[104X132[4X[25Xgap>[125X [27XDrawSetOfNumericalSemigroups(ns1,ns2,rec(splash:= [127X[104X133[4X[25X>[125X [27Xrec(viewer := "evince"),highlights := [127X[104X134[4X[25X>[125X [27X["pseudo_frobenius","small_elements","min_generators"]));[127X[104X135[4X[25Xgap>[125X [27XDrawSetOfNumericalSemigroups([ns1,ns2],rec(splash:= [127X[104X136[4X[25X>[125X [27Xrec(viewer := "evince"),highlights := [127X[104X137[4X[25X>[125X [27X["small_elements","min_generators"])); [127X[104X138[4X[32X[104X139140[4X[32X Example [32X[104X141[4X[25Xgap>[125X [27Xfrob := 15;;[127X[104X142[4X[25Xgap>[125X [27Xtipo := 2;;[127X[104X143[4X[25Xgap>[125X [27Xset := SetOfNumericalSemigroups(rec(set := rec(frobenius := frob),[127X[104X144[4X[25X>[125X [27Xfilter := rec(type:= tipo),order := "embedding_dimension"));;[127X[104X145[4X[25Xgap>[125X [27XDrawSetOfNumericalSemigroups(set,rec(splash:= rec(viewer := "evince"),[127X[104X146[4X[25X>[125X [27Xhighlights := ["small_elements","min_generators",[127X[104X147[4X[25X>[125X [27Xrec(func:= "ForcedIntegersForPseudoFrobenius", [127X[104X148[4X[25X>[125X [27Xargument := "PseudoFrobeniusOfNumericalSemigroup")]));[127X[104X149[4X[32X[104X150151[33X[0;0YThe following example helps in the understanding of the colors present in152the first line of previous figure.[133X153154[4X[32X Example [32X[104X155[4X[25Xgap>[125X [27Xns := NumericalSemigroup(4,9,19);;[127X[104X156[4X[25Xgap>[125X [27XSmallElements(ns);[127X[104X157[4X[28X[ 0, 4, 8, 9, 12, 13, 16 ][128X[104X158[4X[25Xgap>[125X [27XMinimalGeneratingSystem(ns);[127X[104X159[4X[28X[ 4, 9, 19 ][128X[104X160[4X[25Xgap>[125X [27XForcedIntegersForPseudoFrobenius(PseudoFrobeniusOfNumericalSemigroup(ns));[127X[104X161[4X[28X[ [ 1, 2, 3, 5, 6, 7, 14, 15 ], [ 0, 8, 9, 12, 13, 16 ] ][128X[104X162[4X[32X[104X163164165166