In [1]:
LoadPackage("FrancyMonoids");
Out[1]:
In [2]:
s:=NumericalSemigroup(1);
Out[2]:
In [3]:
DrawTreeOfSonsOfNumericalSemigroup(s,5,MinimalGenerators);
Out[3]:
In [4]:
s:=NumericalSemigroup(4,6,9);
Out[4]:
DrawTreeOfGluingsOfNumericalSemigroup(s,expand...)
Draws the decomposition of s
as a gluing of numerical semigroups, and then proceeds recursively with each of the factors. Decomposition is not unique, and this is why a tree is drawn. The optional argument expand
may be true or false, and it makes the tree fully expandable or not.
In [5]:
DrawTreeOfGluingsOfNumericalSemigroup(s,true);
Out[5]:
In [6]:
s:=NumericalSemigroup(3,5,7);
Out[6]:
In [7]:
DrawHasseDiagramOfNumericalSemigroup(s,[1..20]);
Out[7]:
Of special interest is the Hasse diagram of an Apéry set or of the Betti elements.
In [9]:
s:=NumericalSemigroup(5,7,9,11);
DrawHasseDiagramOfNumericalSemigroup(s,AperyList(s,10));
Out[9]:
Out[9]:
In [11]:
s:=NumericalSemigroup(5,7,11,13);
DrawOverSemigroupsNumericalSemigroup(s);
Out[11]:
Out[11]:
In [12]:
s:=NumericalSemigroup(3,5,7);
Out[12]:
In [13]:
f:=FactorizationsElementWRTNumericalSemigroup(30,s);
Out[13]:
DrawFactorizationGraph(f)
Draws the factorization graph of a set of factorizations f
, the complete graph with vertices the elements of f
. Labels are labeled with distances between the nodes they join. It also draws a minimal spanning tree (with minimal distances) and thus one can read the Catenary degree from this tree.
In [14]:
DrawFactorizationGraph(f);
Out[14]:
In [15]:
DrawEliahouGraph(f);
Out[15]:
In [16]:
DrawRosalesGraph(10,s);
Out[16]:
In [17]:
BettiElements(s);
Out[17]: