Frobenius variety generated by a family of numerical semigroups
Definition
The definition of Frobenius variety generated by a family of numerical semigroups comes from the following result.
Let \(X\) be a family of numerical semigroups. It is defined the Frobenius variety generated by \(X\) as the intersection of all Frobenius varieties containing \(X\), and it is denoted by \(\mathcal{F}(X)\). If it is defined the set
\[ Ch(X) = \bigcup_{S \in X} Ch(S), \]
where \(Ch(S)\) denotes the chain associated to S, it can be proven that \(\mathcal{F}(X)\) is the set of all finite intersections of elements in \(Ch(X)\).
Examples
\(\circ\) Let \(X = \{\langle 4,5,6 \rangle, \langle 3,4 \rangle, \langle 2, 7 \rangle\} = \{S_1, S_2, S_3\}\). It is easy to check that
\[ Ch(S_1) = \{S_1, \langle 4,5,6,7 \rangle, \langle 3,4,5 \rangle, \langle 2,3 \rangle, \mathbb{N}\}, \]
\[ Ch(S_2) = \{S_2, \langle 3,4,5 \rangle, \langle 2,3 \rangle, \mathbb{N}\}, Ch(S_3) = \{S_3, \langle 2,5 \rangle, \langle 2,3 \rangle, \mathbb{N}\}. \]
Then,
\[ Ch(X) = \bigcup_{S \in X} Ch(S) = \{S_1, S_2, S_3, \langle 4,5,6,7 \rangle, \langle 3,4,5 \rangle, \langle 2,5 \rangle, \langle 2,3 \rangle, \mathbb{N} \}, \]
and \(\mathcal{F}(X)\) is the set of all finite intersections of elements in \(Ch(X)\).
Examples with GAP
Nowadays, there are no functions in package NumericalSgps related to Frobenius variety generated by a family of numerical semigroups. However, given a family of numerical semigroups \(X\), the following function computes \(Ch(X)\).
gap> ChainOfFamilyOfNumericalSemigroups := function(X)
> local Chain, S;
> Chain := [];
> for S in X do
> if not IsNumericalSemigroup(S) then
> Error("The argument must be a list of Numerical Semigroups");
> fi;
> Chain := Union(Chain, ChainOfNumericalSemigroup(S));
> od;
> return Chain;
> end;
function( X ) ... end
The function ChainOfNumericalSemigroup
is not implemented in GAP, it computes \(Ch(S)\) where \(S\) denotes a numerical semigroup.
gap> ChainOfNumericalSemigroup := function(S)
> local g, C, i, F, Min_gen, I, T;
> if not IsNumericalSemigroup(S) then
> Error("The argument must be a Numerical Semigroup");
> fi;
> g := Length(Gaps(S));
> C := [S];
> for i in [1..g] do
> F := FrobeniusNumber(C[i]);
> Min_gen := MinimalGenerators(C[i]);
> I := Union(Min_gen, [F]);
> T := NumericalSemigroupByGenerators(I);
> Add(C, T);
> od;
> return C;
> end;
function( S ) ... end
\(\diamond\) Let \(I = \{\langle 2,5 \rangle, \langle 3,7 \rangle, \langle 3,8 \rangle, \langle 3,4,5 \rangle \}\), in GAP:
gap> S_1 := NumericalSemigroup(2,5);
<Numerical semigroup with 2 generators>
gap> S_2 := NumericalSemigroup(3,7);
<Numerical semigroup with 2 generators>
gap> S_3 := NumericalSemigroup(3,8);
<Numerical semigroup with 2 generators>
gap> S_4 := NumericalSemigroup(3,4,5);
<Numerical semigroup with 3 generators>
gap> I := [S_1, S_2, S_3, S_4];
<Numerical semigroup with 2 generators>, <Numerical semigroup with 2 generators>,
[ <Numerical semigroup with 2 generators>, <Numerical semigroup with 3 generators>
]
From the functions defined above,
gap> C := ChainOfFamilyOfNumericalSemigroups(I);
<The numerical semigroup N>, <Numerical semigroup with 2 generators>,
[ <Numerical semigroup with 2 generators>, <Numerical semigroup with 3 generators>,
<Numerical semigroup with 3 generators>, <Numerical semigroup with 3 generators>,
<Numerical semigroup with 3 generators>, <Numerical semigroup with 2 generators>,
<Numerical semigroup with 3 generators>, <Numerical semigroup with 3 generators>,
<Numerical semigroup with 2 generators> ]
gap> List(C, S -> MinimalGenerators(S));
1 ], [ 2, 3 ], [ 2, 5 ], [ 3 .. 5 ], [ 3, 5, 7 ], [ 3, 7, 8 ], [ 3, 7, 11 ],
[ [ 3, 7 ], [ 3, 8, 10 ], [ 3, 8, 13 ], [ 3, 8 ] ] [
Therefore,
\[ Ch(I) = \{S_1, S_2, S_3, S_4, \langle 2,3 \rangle, \langle 3,5,7 \rangle, \langle 3,7,8 \rangle, \]
\[ \langle 3,7,11 \rangle, \langle 3,8,10 \rangle, \langle 3,8,13 \rangle, \mathbb{N} \}, \]
and the Frobenius variety generated by \(I\) is the set of all finite intersections of elements in \(Ch(I)\).
References
https://gap-packages.github.io/
numericalsgps
.