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
3
<Section>
4
<Heading>
5
Invariants
6
</Heading>
7
8
9
10
11
12
<ManSection>
13
<Attr Name="Multiplicity" Arg="NS" Label="for numerical semigroup"/>
14
<Attr Name="MultiplicityOfNumericalSemigroup" Arg="NS"/>
15
<Description>
16
<A>NS</A> is a numerical semigroup. Returns the multiplicity of <A>NS</A>, which is the smallest positive integer belonging to <A>NS</A>.
17
<Example><![CDATA[
18
gap> S := NumericalSemigroup("modular", 7,53);
19
<Modular numerical semigroup satisfying 7x mod 53 <= x >
20
gap> MultiplicityOfNumericalSemigroup(S);
21
8
22
gap> NumericalSemigroup(3,5);
23
<Numerical semigroup with 2 generators>
24
gap> Multiplicity(last);
25
3
26
]]></Example>
27
</Description>
28
</ManSection>
29
30
<ManSection>
31
<Attr Name="GeneratorsOfNumericalSemigroup" Arg="S"/>
32
<Attr Name="Generators" Arg="S" Label="for numerical semigroup"/>
33
<Attr Name="MinimalGeneratingSystemOfNumericalSemigroup" Arg="S"/>
34
<Attr Name="MinimalGeneratingSystem" Arg="S" Label="for numerical semigroup"/>
35
<Attr Name="MinimalGenerators" Arg="S" Label="for numerical semigroup"/> <Description>
36
<A>S</A>
37
is a numerical semigroup.
38
<C>GeneratorsOfNumericalSemigroup</C>
39
returns a set of generators of <C>S</C>, which may
40
not be minimal.
41
42
<!-- <C>GeneratorsOfNumericalSemigroupNC</C>
43
returns the set of generators recorded in <C>S!.generators</C>, which may
44
not be minimal
45
<C>ReducedSetOfGeneratorsOfNumericalSemigroupNC</C>
46
Returns a set with possibly fewer generators than those recorded in <C>S!.generators</C>. It changes <C>S!.generators</C> to the set returned.
47
The function has 1 to 3 arguments. One of them a numerical semigroup. Then an argument is a boolean (<E>true</E> means that all the elements not belonging to the Apery set with respect to the multiplicity are removed; the default is "false") and another argument is a positive integer <M>n</M> (meaning that generators that can be written as the sum of <M>n</M> or less generators are removed; the default is "2"). The boolean or the integer may not be present. If a minimal generating set for <M>S</M> is known or no generating set is known, then the minimal generating system is returned.-->
48
49
50
<C>MinimalGeneratingSystemOfNumericalSemigroup</C>
51
returns the minimal set of generators of <C>S</C>.
52
<P/>
53
From Version 0.980, <C>ReducedSetOfGeneratorsOfNumericalSemigroup</C> is a synonym of <C>MinimalGeneratingSystemOfNumericalSemigroup</C>; <C>GeneratorsOfNumericalSemigroupNC</C> is a synonym of <C>GeneratorsOfNumericalSemigroup</C>. The names are kept for compatibility with code produced for previous versions, but will be removed in the future.
54
55
<Example><![CDATA[
56
gap> S := NumericalSemigroup("modular", 5,53);
57
<Modular numerical semigroup satisfying 5x mod 53 <= x >
58
gap> GeneratorsOfNumericalSemigroup(S);
59
[ 11, 12, 13, 32, 53 ]
60
gap> S := NumericalSemigroup(3, 5, 53);
61
<Numerical semigroup with 3 generators>
62
gap> GeneratorsOfNumericalSemigroup(S);
63
[ 3, 5, 53 ]
64
gap> MinimalGeneratingSystemOfNumericalSemigroup(S);
65
[ 3, 5 ]
66
gap> MinimalGeneratingSystem(S)=MinimalGeneratingSystemOfNumericalSemigroup(S);
67
true
68
gap> s := NumericalSemigroup(3,5,7,15);
69
<Numerical semigroup with 4 generators>
70
gap> HasGenerators(s);
71
true
72
gap> HasMinimalGenerators(s);
73
false
74
gap> MinimalGenerators(s);
75
[ 3, 5, 7 ]
76
gap> Generators(s);
77
[ 3, 5, 7, 15 ]
78
]]></Example>
79
<!--gap> ReducedSetOfGeneratorsOfNumericalSemigroup(NumericalSemigroup(5,7,9,10,25));
80
[ 5, 7, 9, 25 ]
81
gap> ReducedSetOfGeneratorsOfNumericalSemigroup(true,NumericalSemigroup(5,7,9,10,25,28));
82
[ 5, 7, 9, 28 ]
83
gap> ReducedSetOfGeneratorsOfNumericalSemigroup(NumericalSemigroup(5,7,9,10,25,28),3);
84
[ 5, 7, 9 ]-->
85
</Description>
86
</ManSection>
87
88
89
<ManSection>
90
<Attr Name="EmbeddingDimension" Arg="NS" Label="for numerical semigroup"/>
91
<Attr Name="EmbeddingDimensionOfNumericalSemigroup" Arg="NS"/>
92
<Description>
93
<C>NS</C>
94
is a numerical semigroup. It returns the cardinality of its minimal generating system.
95
<Example><![CDATA[
96
gap> s := NumericalSemigroup(3,5,7,15);
97
<Numerical semigroup with 4 generators>
98
gap> EmbeddingDimension(s);
99
3
100
gap> EmbeddingDimensionOfNumericalSemigroup(s);
101
3
102
]]></Example>
103
</Description>
104
</ManSection>
105
106
107
108
<ManSection>
109
<Attr Name="SmallElements" Arg="NS" Label="for numerical semigroup"/>
110
<Attr Name="SmallElementsOfNumericalSemigroup" Arg="NS"/>
111
<Description>
112
<C>NS</C>
113
is a numerical semigroup. It returns the list of small elements of <C>NS</C>. Of course, the time consumed to return a result may depend on the way the semigroup is given.
114
<Example><![CDATA[
115
gap> SmallElementsOfNumericalSemigroup(NumericalSemigroup(3,5,7));
116
[ 0, 3, 5 ]
117
gap> SmallElements(NumericalSemigroup(3,5,7));
118
[ 0, 3, 5 ]
119
]]></Example>
120
</Description>
121
</ManSection>
122
123
124
<ManSection>
125
<Func Name="FirstElementsOfNumericalSemigroup" Arg="n, NS"></Func>
126
<Description>
127
<C>NS</C> is a numerical semigroup. It returns the list with the
128
first <A>n</A> elements of <C>NS</C>.
129
<Example><![CDATA[
130
gap> FirstElementsOfNumericalSemigroup(2,NumericalSemigroup(3,5,7));
131
[ 0, 3 ]
132
gap> FirstElementsOfNumericalSemigroup(10,NumericalSemigroup(3,5,7));
133
[ 0, 3, 5, 6, 7, 8, 9, 10, 11, 12 ]
134
]]></Example>
135
</Description>
136
</ManSection>
137
138
<ManSection>
139
<Oper Arg="S,r" Name="RthElementOfNumericalSemigroup"/>
140
<Description>
141
<A>S</A> is a numerical semigroup and <A>r</A> is an integer. It returns the <A>r</A>-th element of <A>S</A>.
142
<Example><![CDATA[
143
gap> S := NumericalSemigroup(7,8,17);;
144
gap> RthElementOfNumericalSemigroup(S,53);
145
68
146
]]></Example>
147
</Description>
148
</ManSection>
149
150
151
<ManSection>
152
<Attr Name="AperyList" Arg="S, n" Label="for numerical semigroup with respect to element"/>
153
<Oper Name="AperyListOfNumericalSemigroupWRTElement" Arg="S, n"/>
154
<Description>
155
<A>S</A> is a numerical semigroup and <A>n</A> is a positive element of
156
<A>S</A>. Computes the Apéry list of <A>S</A> with respect to <A>n</A>. It contains for
157
every <M>i\in \{0,\ldots,<A>n</A>-1\}</M>, in the <M>i+1</M>th position,
158
the smallest element in the semigroup congruent with <M>i</M> modulo <A>n</A>.
159
160
<Example><![CDATA[
161
gap> S := NumericalSemigroup("modular", 5,53);;
162
gap> AperyListOfNumericalSemigroupWRTElement(S,12);
163
[ 0, 13, 26, 39, 52, 53, 54, 43, 32, 33, 22, 11 ]
164
gap> AperyList(S,12);
165
[ 0, 13, 26, 39, 52, 53, 54, 43, 32, 33, 22, 11 ]
166
]]></Example>
167
</Description>
168
</ManSection>
169
<ManSection>
170
<Attr Name="AperyList" Arg="S" Label="for numerical semigroup with respect to multiplicity"/>
171
<Attr Name="AperyListOfNumericalSemigroup" Arg="S"/>
172
<Description>
173
<A>S</A> is a numerical semigroup. It computes the Apéry list of <A>S</A> with respect to the multiplicity of <A>S</A>.
174
<Example><![CDATA[
175
gap> S := NumericalSemigroup("modular", 5,53);;
176
gap> AperyListOfNumericalSemigroup(S);
177
[ 0, 12, 13, 25, 26, 38, 39, 51, 52, 53, 32 ]
178
gap> AperyList(NumericalSemigroup(5,7,11));
179
[ 0, 11, 7, 18, 14 ]
180
]]></Example>
181
</Description>
182
</ManSection>
183
184
185
<ManSection>
186
<Attr Name="AperyList" Arg="S, n" Label="for numerical semigroup with respect to integer"/>
187
<Func Name="AperyListOfNumericalSemigroupWRTInteger" Arg="S, m"/>
188
<Description>
189
<A>S</A> is a numerical semigroup and <A>m</A> is an integer.
190
Computes the Apéry list of <A>S</A> with respect to <A>m</A>, that is, the
191
set of elements <M>x</M> in <A>S</A> such that <M>x-</M><A>m</A> is not in <A>S</A>.
192
If <A>m</A> is an element in <A>S</A>, then the output of <C>AperyListOfNumericalSemigroupWRTInteger</C>, as sets, is the same as <C>AperyListOfNumericalSemigroupWRTElement</C>,
193
though without side effects,
194
in the sense that this information is no longer used by the package. The output of <C>AperyList</C> is the same as <C>AperyListOfNumericalSemigroupWRTElement</C>.
195
196
<Example><![CDATA[
197
gap> s:=NumericalSemigroup(10,13,19,27);;
198
gap> AperyListOfNumericalSemigroupWRTInteger(s,11);
199
[ 0, 10, 13, 19, 20, 23, 26, 27, 29, 32, 33, 36, 39, 42, 45, 46, 52, 55 ]
200
gap> AperyList(s,11);
201
[ 0, 10, 13, 19, 20, 23, 26, 27, 29, 32, 33, 36, 39, 42, 45, 46, 52, 55 ]
202
gap> Length(last);
203
18
204
gap> AperyListOfNumericalSemigroupWRTInteger(s,10);
205
[ 0, 13, 19, 26, 27, 32, 38, 45, 51, 54 ]
206
gap> AperyListOfNumericalSemigroupWRTElement(s,10);
207
[ 0, 51, 32, 13, 54, 45, 26, 27, 38, 19 ]
208
gap> Length(last);
209
10
210
gap> AperyList(s,10);
211
[ 0, 51, 32, 13, 54, 45, 26, 27, 38, 19 ]
212
]]></Example>
213
</Description>
214
</ManSection>
215
216
217
<ManSection>
218
<Func Name="AperyListOfNumericalSemigroupAsGraph" Arg="ap"/>
219
<Description>
220
<A>ap</A> is the Apéry list of a numerical semigroup.
221
This function returns the adjacency list of the graph <M>(ap, E)</M> where the edge <M>u -> v</M> is
222
in <M>E</M> iff <M>v - u</M> is in <M>ap</M>.
223
The 0 is ignored.
224
225
<Example><![CDATA[
226
gap> s:=NumericalSemigroup(3,7);;
227
gap> AperyListOfNumericalSemigroupWRTElement(s,10);
228
[ 0, 21, 12, 3, 14, 15, 6, 7, 18, 9 ]
229
gap> AperyListOfNumericalSemigroupAsGraph(last);
230
[ ,, [ 3, 6, 9, 12, 15, 18, 21 ],,, [ 6, 9, 12, 15, 18, 21 ],
231
[ 7, 14, 21 ],, [ 9, 12, 15, 18, 21 ],,, [ 12, 15, 18, 21 ],,
232
[ 14, 21 ], [ 15, 18, 21 ],,, [ 18, 21 ],,, [ 21 ] ]
233
]]></Example>
234
235
</Description>
236
</ManSection>
237
238
239
<ManSection>
240
<Func Name="KunzCoordinatesOfNumericalSemigroup" Arg="S,m"/>
241
<Description>
242
<A>S</A> is a numerical semigroup, and <A>m</A> is a nonzero element of <A>S</A>. The second argument is optional, and if missing it is assumed to be the multiplicity of <A>S</A>.
243
244
<P/>
245
Then the Apéry set of <A>m</A> in <A>S</A> has the form <M>[0,k_1m+1,...,k_{m-1}m+m-1]</M>, and the output is the <M>(m-1)</M>-uple <M>[k_1,k_2,...,k_{m-1}]</M>
246
247
<Example><![CDATA[
248
gap> s:=NumericalSemigroup(3,5,7);
249
<Numerical semigroup with 3 generators>
250
gap> KunzCoordinatesOfNumericalSemigroup(s);
251
[ 2, 1 ]
252
gap> KunzCoordinatesOfNumericalSemigroup(s,5);
253
[ 1, 1, 0, 1 ]
254
]]></Example>
255
256
</Description>
257
</ManSection>
258
259
<ManSection>
260
<Func Name="KunzPolytope" Arg="m"/>
261
<Description>
262
<A>m</A> is a positive integer.
263
264
<P/>
265
The Kunz coordinates of the semigroups with multiplicity <A>m</A> are solutions of a system of inequalities <M>Ax\ge b</M> (see <Cite Key="R-GS-GG-B"></Cite>). The output is the matrix <M>(A|-b)</M>.
266
<Example><![CDATA[
267
gap> KunzPolytope(3);
268
[ [ 1, 0, -1 ], [ 0, 1, -1 ], [ 2, -1, 0 ], [ -1, 2, 1 ] ]
269
]]></Example>
270
271
</Description>
272
</ManSection>
273
274
<ManSection>
275
<Func Name="CocycleOfNumericalSemigroupWRTElement" Arg="S,m"/>
276
<Description>
277
<A>S</A> is a numerical semigroup, and <A>m</A> is a nonzero element of <A>S</A>. The output is the matrix <M>h(i,j)=(w(i)+w(j)-w((i+j)\bmod m))/m</M>,
278
where <M>w(i)</M> is the smallest element in <A>S</A> congruent with <M>i</M> modulo <M>m</M> (and thus it is in the Apéry set of <M>m</M>), <Cite Key="arf-frob-gen"></Cite>.
279
280
<P/>
281
282
<Example><![CDATA[
283
gap> s:=NumericalSemigroup(3,5,7);;
284
gap> CocycleOfNumericalSemigroupWRTElement(s,3);
285
[ [ 0, 0, 0 ], [ 0, 3, 4 ], [ 0, 4, 1 ] ]
286
]]></Example>
287
</Description>
288
</ManSection>
289
290
291
<ManSection>
292
<Attr Name="FrobeniusNumber" Arg="NS" Label="for numerical semigroup"/>
293
<Attr Name="FrobeniusNumberOfNumericalSemigroup" Arg="NS"/>
294
<Description>
295
The largest nonnegative integer not belonging to a numerical semigroup
296
<M>S</M> is the <E>Frobenius number</E> of <M>S</M>. If <M>S</M> is the set of
297
nonnegative integers, then clearly its Frobenius number is <M>-1</M>,
298
otherwise its Frobenius number coincides with the maximum of the gaps (or
299
fundamental gaps) of <M>S</M>.
300
<P/>
301
<C>NS</C>
302
is a numerical semigroup. It returns the Frobenius number of <C>NS</C>.
303
Of
304
course, the time consumed to return a result may depend on the way the
305
semigroup is given or on the knowledge already produced on the semigroup.
306
<Example><![CDATA[
307
gap> FrobeniusNumberOfNumericalSemigroup(NumericalSemigroup(3,5,7));
308
4
309
gap> FrobeniusNumber(NumericalSemigroup(3,5,7));
310
4
311
]]></Example>
312
</Description>
313
</ManSection>
314
315
<ManSection>
316
<Attr Name="Conductor" Arg="NS" Label="for numerical Semigroup"/>
317
<Attr Name="ConductorOfNumericalSemigroup" Arg="NS"/>
318
<Description>
319
This is just a synonym of <C> FrobeniusNumberOfNumericalSemigroup</C> (<C>NS</C>)<M>+1</M>.
320
<Example><![CDATA[
321
gap> ConductorOfNumericalSemigroup(NumericalSemigroup(3,5,7));
322
5
323
gap> Conductor(NumericalSemigroup(3,5,7));
324
5
325
]]></Example>
326
</Description>
327
</ManSection>
328
329
<ManSection>
330
<Attr Name="PseudoFrobeniusOfNumericalSemigroup" Arg="S"/>
331
<Description>
332
An integer <M>z</M> is a <E>pseudo-Frobenius
333
number</E> of <M>S</M> if <M>z+S\setminus\{0\}\subseteq S</M>.
334
<P/>
335
<C>S</C>
336
is a numerical semigroup. It returns set of pseudo-Frobenius numbers of <A>S</A>.
337
<Example><![CDATA[
338
gap> S := NumericalSemigroup("modular", 5,53);
339
<Modular numerical semigroup satisfying 5x mod 53 <= x >
340
gap> PseudoFrobeniusOfNumericalSemigroup(S);
341
[ 21, 40, 41, 42 ]
342
]]></Example>
343
</Description>
344
</ManSection>
345
346
<ManSection>
347
<Attr Name="TypeOfNumericalSemigroup" Arg="NS"/>
348
<Description>
349
Stands for <C>Length(PseudoFrobeniusOfNumericalSemigroup (NS))</C>.
350
<Example><![CDATA[
351
gap> S := NumericalSemigroup("modular", 5,53);
352
<Modular numerical semigroup satisfying 5x mod 53 <= x >
353
gap> Type(S);
354
4
355
gap> TypeOfNumericalSemigroup(S);
356
4
357
]]></Example>
358
</Description>
359
</ManSection>
360
361
362
<ManSection>
363
<Attr Name="Gaps" Arg="NS" Label="for numerical semigroup" />
364
<Attr Name="GapsOfNumericalSemigroup" Arg="NS"/>
365
<Description>
366
A <E>gap</E> of a numerical semigroup <M>S</M> is a nonnegative integer not belonging to
367
<M>S</M>.
368
<C>NS</C>
369
is a numerical semigroup. Both return the set of gaps of <C>NS</C>.
370
<Example><![CDATA[
371
gap> GapsOfNumericalSemigroup(NumericalSemigroup(3,5,7));
372
[ 1, 2, 4 ]
373
gap> Gaps(NumericalSemigroup(5,7,11));
374
[ 1, 2, 3, 4, 6, 8, 9, 13 ]
375
]]></Example>
376
</Description>
377
</ManSection>
378
379
<ManSection>
380
<Func Arg="NS" Name="DesertsOfNumericalSemigroup"></Func>
381
<Description>
382
<A>NS</A> is a numerical semigroup.
383
The output is the list with the runs of gaps of <A>NS</A>.
384
<P/>
385
386
<Example><![CDATA[
387
gap> s:=NumericalSemigroup(3,5,7);;
388
gap> DesertsOfNumericalSemigroup(s);
389
[ [ 1, 2 ], [ 4 ] ]
390
]]></Example>
391
</Description>
392
</ManSection>
393
394
<ManSection>
395
<Prop Arg="NS" Name="IsOrdinaryNumericalSemigroup"></Prop>
396
<Prop Arg="NS" Name="IsOrdinary" Label="for numerical semigroups"></Prop>
397
<Description>
398
<A>NS</A> is a numerical semigroup.
399
Dectects if the semigroup is ordinary, that is, with less than two deserts.
400
<P/>
401
402
<Example><![CDATA[
403
gap> s:=NumericalSemigroup(3,5,7);;
404
gap> IsOrdinary(s);
405
false
406
]]></Example>
407
</Description>
408
</ManSection>
409
410
<ManSection>
411
<Prop Arg="NS" Name="IsAcuteNumericalSemigroup"></Prop>
412
<Prop Arg="NS" Name="IsAcute" Label="for numerical semigroups"></Prop>
413
<Description>
414
<A>NS</A> is a numerical semigroup.
415
Dectects if the semigroup is acute, that is, it is either ordinary or its last desert (the one with the Frobenius number) has less elements than the preceding one (<Cite Key="Br-acute"></Cite>).
416
<P/>
417
418
<Example><![CDATA[
419
gap> s:=NumericalSemigroup(3,5,7);;
420
gap> IsAcute(s);
421
true
422
]]></Example>
423
</Description>
424
</ManSection>
425
426
<ManSection>
427
<Attr Name="Holes" Arg="NS" Label="for numerical semigroup" />
428
<Attr Name="HolesOfNumericalSemigroup" Arg="S"/>
429
<Description>
430
<C>S</C>
431
is a numerical semigroup. Returns the set of gaps <M>x</M> of <C>S</C> such that <M>F(S)-x</M> is also a gap, where <M>F(S)</M> stands for the Frobenius number of <C>S</C>.
432
<Example><![CDATA[
433
gap> s:=NumericalSemigroup(3,5);;
434
gap> Holes(s);
435
[ ]
436
gap> s:=NumericalSemigroup(3,5,7);;
437
gap> HolesOfNumericalSemigroup(s);
438
[ 2 ]
439
]]></Example>
440
</Description>
441
</ManSection>
442
443
<ManSection>
444
<Attr Name="LatticePathAssociatedToNumericalSemigroup" Arg="S,p,q"/>
445
<Description>
446
<C>S</C> is a numerical semigroup and <C>p,q</C> are two elements in <C>S</C>.
447
<P/>In this setting <C>S</C> is an oversemigroup of <M>\langle p,q\rangle</M>, and consequently every gap of <C>S</C> is a gap of <M>\langle p,q\rangle</M>. If <M>c</M> is the conductor of <M>\langle p,q\rangle</M>, then every gap <M>g</M> of <M>\langle p,q\rangle</M> can be written uniquely as <M>g=c-1-(ap+bp)</M> for some nonnegative integers <M>a,b</M>. We say that <M>(a,b)</M> are the coordinates associated to <M>g</M>.
448
449
<P/> The output is a path in <M>\mathbb{N}^2</M> such that coordinates of the gaps of <M>S</M> correspond exactly with the points in <M>\mathbb{N}^2</M> that are between the path in the line <M>ax+by=c-1</M>. See <Cite Key="K-W"></Cite>.
450
<Example><![CDATA[
451
gap> s:=NumericalSemigroup(16,17,71,72);;
452
gap> LatticePathAssociatedToNumericalSemigroup(s,16,17);
453
[ [ 0, 14 ], [ 1, 13 ], [ 2, 12 ], [ 3, 11 ], [ 4, 10 ], [ 5, 9 ], [ 6, 8 ],
454
[ 7, 7 ], [ 8, 6 ], [ 9, 5 ], [ 10, 4 ], [ 11, 3 ], [ 12, 2 ], [ 13, 1 ],
455
[ 14, 0 ] ]
456
]]></Example>
457
458
</Description>
459
</ManSection>
460
461
<ManSection>
462
<Attr Name="Genus" Arg="NS" Label="for numerical semigroup"/>
463
<Attr Name="GenusOfNumericalSemigroup" Arg="NS"/>
464
<Description>
465
<C>NS</C>
466
is a numerical semigroup. It returns the number of gaps of <C>NS</C>.
467
<Example><![CDATA[
468
gap> s:=NumericalSemigroup(16,17,71,72);;
469
gap> GenusOfNumericalSemigroup(s);
470
80
471
gap> S := NumericalSemigroup("modular", 5,53);
472
<Modular numerical semigroup satisfying 5x mod 53 <= x >
473
gap> Genus(S);
474
26
475
]]></Example>
476
</Description>
477
</ManSection>
478
479
480
<ManSection>
481
<Attr Name="FundamentalGaps" Arg="S" Label="for numerical semigroup"/>
482
<Attr Name="FundamentalGapsOfNumericalSemigroup" Arg="S"/>
483
<Description>
484
<C>S</C>
485
The <E>fundamental gaps</E> of <M>S</M> are those gaps that are maximal with respect to the partial order induced by
486
division in <M>{\mathbb N}</M>.
487
is a numerical semigroup. It returns the set of fundamental gaps of <A>S</A>.
488
<Example><![CDATA[
489
gap> S := NumericalSemigroup("modular", 5,53);
490
<Modular numerical semigroup satisfying 5x mod 53 <= x >
491
gap> FundamentalGapsOfNumericalSemigroup(S);
492
[ 16, 17, 18, 19, 27, 28, 29, 30, 31, 40, 41, 42 ]
493
gap> GapsOfNumericalSemigroup(S);
494
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 20, 21, 27, 28, 29,
495
30, 31, 40, 41, 42 ]
496
gap> Gaps(NumericalSemigroup(5,7,11));
497
[ 1, 2, 3, 4, 6, 8, 9, 13 ]
498
gap> FundamentalGaps(NumericalSemigroup(5,7,11));
499
[ 6, 8, 9, 13 ]
500
]]></Example>
501
</Description>
502
</ManSection>
503
504
505
<ManSection>
506
<Attr Name="SpecialGaps" Arg="S" Label="for numerical semigroup"/>
507
<Attr Name="SpecialGapsOfNumericalSemigroup" Arg="S"/>
508
<Description>
509
The <E>special gaps</E> of a numerical semigroup <M>S</M>, are
510
those fundamental gaps such that if they are added to the given numerical semigroup,
511
then the resulting set is again a numerical semigroup.
512
<C>S</C>
513
is a numerical semigroup. It returns the special gaps of <A>S</A>.
514
515
<Example><![CDATA[
516
gap> S := NumericalSemigroup("modular", 5,53);
517
<Modular numerical semigroup satisfying 5x mod 53 <= x >
518
gap> SpecialGaps(S);
519
[ 40, 41, 42 ]
520
gap> SpecialGapsOfNumericalSemigroup(S);
521
[ 40, 41, 42 ]
522
]]></Example>
523
</Description>
524
</ManSection>
525
526
527
</Section>
528
529