#############################################################################
##
## 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.<P/>
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.0.15Bemerkung:
(vorverarbeitet am 2026-09-03)
¤
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 und die Messung sind noch experimentell.