#############################################################################
##
## sims1.xml
## Copyright (C) 2022 James D. Mitchell
##
## Licensing information can be found in the README file of this package.
##
#############################################################################
##
<#GAPDoc Label="NumberOfRightCongruences">
<ManSection>
<Oper Name = "NumberOfRightCongruences"
Arg = "S, n, extra"
Label="for a semigroup, positive integer, and list or collection"/>
<Oper Name = "NumberOfLeftCongruences"
Arg = "S, n, extra"
Label="for a semigroup, positive integer, and list or collection"/>
<Oper Name = "NumberOfRightCongruences"
Arg = "S, n"
Label="for a semigroup, and a positive integer"/>
<Oper Name = "NumberOfLeftCongruences"
Arg = "S, n"
Label="for a semigroup, and a positive integer"/>
<Attr Name = "NumberOfRightCongruences"
Arg = "S"
Label="for a semigroup"/>
<Oper Name = "NumberOfLeftCongruences"
Arg = "S"
Label="for a semigroup"/>
<Returns>A non-negative integer.</Returns>
<Description>
<C>NumberOfRightCongruences</C> returns the number of right congruences
of the semigroup <A>S</A> with at most <A>n</A> classes that contain the
pairs in <A>extra</A>; <C>NumberOfLeftCongruences</C> is defined dually
for left congruences rather than right congruences. <P/>
If the optional third argument <A>extra</A> is not present, then
<C>NumberOfRightCongruences</C> returns the number of right congruences
of <A>S</A> with at most <A>n</A> classes. <P/>
If the optional second argument <A>n</A> is not present, then
<C>NumberOfRightCongruences</C> returns the number of right congruences
of <A>S</A>. <P/>
Note that the 2 and 3 argument variants of this function can be applied
to infinite semigroups, but the 1 argument variant cannot. <P/>
If the lattice of right or left congruences of <A>S</A> is known, then
that is used by <C>NumberOfRightCongruences</C>. If this lattice is not
known, then Sim's low index congruence algorithm is used.
See <Ref Attr="IteratorOfRightCongruences" Label="for a semigroup"/> to
actually obtain the congruences counted by this function.
<Example><![CDATA[
gap> S := PartitionMonoid(2);
<regular bipartition *-monoid of size 15, degree 2 with 3 generators>
gap> NumberOfRightCongruences(S, 10);
86
gap> NumberOfLeftCongruences(S, 10);
86
gap> NumberOfRightCongruences(S, Size(S), [[S.1, S.2], [S.1, S.3]]);
1
gap> NumberOfLeftCongruences(S, Size(S), [[S.1, S.2], [S.1, S.3]]);
1
]]></Example>
</Description>
</ManSection>
<#/GAPDoc>
<#GAPDoc Label="IteratorOfRightCongruences">
<ManSection>
<Oper Name = "IteratorOfRightCongruences"
Arg = "S, n, extra"
Label="for a semigroup, positive integer, and list or collection"/>
<Oper Name = "IteratorOfLeftCongruences"
Arg = "S, n, extra"
Label="for a semigroup, positive integer, and list or collection"/>
<Oper Name = "IteratorOfRightCongruences"
Arg = "S, n"
Label="for a semigroup, and a positive integer"/>
<Oper Name = "IteratorOfLeftCongruences"
Arg = "S, n"
Label="for a semigroup, and a positive integer"/>
<Attr Name = "IteratorOfRightCongruences"
Arg = "S"
Label="for a semigroup"/>
<Oper Name = "IteratorOfLeftCongruences"
Arg = "S"
Label="for a semigroup"/>
<Returns>An iterator.</Returns>
<Description>
<C>IteratorOfRightCongruences</C> returns an iterator where calling
<Ref Oper="NextIterator" BookName="ref"/> returns the next right congruence
of the semigroup <A>S</A> with at most <A>n</A> classes that contain the
pairs in <A>extra</A>; <C>IteratorOfLeftCongruences</C> is defined dually
for left congruences rather than right congruences. <P/>
If the optional third argument <A>extra</A> is not present, then
<C>IteratorOfRightCongruences</C> uses an empty list by default. <P/>
If the optional second argument <A>n</A> is not present, then
<C>IteratorOfRightCongruences</C> uses <C>Size(<A>S</A>)</C> by default.
<P/>
Note that the 2 and 3 argument variants of this function can be applied
to infinite semigroups, but the 1 argument variant cannot. <P/>
If the lattice of right or left congruences of <A>S</A> is known, then
that is used by <C>IteratorOfRightCongruences</C>. If this lattice is not
known, then Sim's low index congruence algorithm is used.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.