CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 418346
1
<?xml version="1.0" encoding="UTF-8"?>
2
<Section>
3
<Heading>
4
Adding and removing elements of a numerical semigroup
5
</Heading>
6
7
In this section we show how to construct new numerical semigroups from a given
8
numerical semigroup. Two dual operations are presented. The first one removes
9
a minimal generator from a numerical semigroup. The second adds a special gap
10
to a semigroup (see <Cite Key="RGGJ03"></Cite>).
11
<ManSection>
12
<Func Arg="n, S" Name="RemoveMinimalGeneratorFromNumericalSemigroup"></Func>
13
<Description>
14
<A>S</A> is a numerical semigroup and <A>n</A> is one if its minimal
15
generators.
16
<P/>
17
18
The output is the numerical semigroup <M> <A>S</A> \setminus\{<A>n</A>\} </M>
19
(see <Cite Key="RGGJ03"></Cite>; <M>S\setminus\{n\}</M> is a numerical
20
semigroup if and only if <M>n</M> is a minimal generator of <M>S</M>).
21
22
<Example><![CDATA[
23
gap> s:=NumericalSemigroup(3,5,7);
24
<Numerical semigroup with 3 generators>
25
gap> RemoveMinimalGeneratorFromNumericalSemigroup(7,s);
26
<Numerical semigroup with 3 generators>
27
gap> MinimalGeneratingSystemOfNumericalSemigroup(last);
28
[ 3, 5 ]
29
]]></Example>
30
</Description>
31
</ManSection>
32
33
<ManSection>
34
<Func Arg="g, S" Name="AddSpecialGapOfNumericalSemigroup"></Func>
35
<Description>
36
<A>S</A> is a numerical semigroup and <A>g</A> is a special gap of <A>S</A>
37
38
<P/>
39
40
The output is the numerical semigroup <M> <A>S</A> \cup\{<A>g</A>\} </M>
41
(see <Cite Key="RGGJ03"></Cite>, where it is explained why this set is a
42
numerical semigroup).
43
<Example><![CDATA[
44
gap> s:=NumericalSemigroup(3,5,7);;
45
gap> s2:=RemoveMinimalGeneratorFromNumericalSemigroup(5,s);
46
<Numerical semigroup with 3 generators>
47
gap> s3:=AddSpecialGapOfNumericalSemigroup(5,s2);
48
<Numerical semigroup>
49
gap> SmallElementsOfNumericalSemigroup(s) =
50
> SmallElementsOfNumericalSemigroup(s3);
51
true
52
gap> s=s3;
53
true
54
]]></Example>
55
</Description>
56
</ManSection>
57
</Section>
58
59
60