#############################################################################
##
#W semitrans.xml
#Y Copyright (C) 2011-14 James D. Mitchell
##
## Licensing information can be found in the README file of this package.
##
#############################################################################
##
<#GAPDoc Label="SmallestElementSemigroup">
<ManSection>
<Attr Name = "SmallestElementSemigroup" Arg = "S"/>
<Attr Name = "LargestElementSemigroup" Arg = "S"/>
<Returns>A transformation.</Returns>
<Description>
These attributes return the smallest and largest element of the
transformation semigroup <A>S</A>, respectively. Smallest means the first element in the sorted set of elements of <A>S</A> and largest means the last element in the set of elements. <P/>
It is not necessary to find the elements of the semigroup to determine the
smallest or largest element, and this function has considerable better
performance than the equivalent <C>Elements(<A>S</A>)[1]</C> and
<C>Elements(<A>S</A>)[Size(<A>S</A>)]</C>.
<#GAPDoc Label="IsTransitive">
<ManSection>
<Prop Name = "IsTransitive" Arg = "S[, X]" Label = "for a transformation
semigroup and a set"/>
<Prop Name = "IsTransitive" Arg = "S[, n]" Label = "for a transformation
semigroup and a pos int"/>
<Returns><K>true</K> or <K>false</K>.</Returns>
<Description>
A transformation semigroup <A>S</A> is <E>transitive</E> or <E>strongly
connected</E> on the set <A>X</A> if for every <C>i, j</C> in <A>X</A>
there is an element <C>s</C> in <A>S</A> such that <C>i ^ s = j</C>. <P/>
If the optional second argument is a positive integer <A>n</A>, then
<C>IsTransitive</C> returns <K>true</K> if <A>S</A> is transitive on
<C>[1 .. <A>n</A>]</C>, and <K>false</K> if it is not. <P/>
If the optional second argument is not provided, then the degree of
<A>S</A> is used by default; see <Ref
Attr = "DegreeOfTransformationSemigroup" BookName = "ref"/>.
<#GAPDoc Label="ComponentRepsOfTransformationSemigroup">
<ManSection>
<Attr Name = "ComponentRepsOfTransformationSemigroup" Arg = "S"/>
<Returns>The representatives of components of a transformation semigroup.</Returns>
<Description>
This function returns the representatives of the components of the
action of the transformation semigroup <A>S</A> on the set of positive
integers not greater than the degree of <A>S</A>. <P/>
The representatives are the least set of points such that every point can
be reached from some representative under the action of <A>S</A>.
<#GAPDoc Label="ComponentsOfTransformationSemigroup">
<ManSection>
<Attr Name = "ComponentsOfTransformationSemigroup" Arg = "S"/>
<Returns>The components of a transformation semigroup.</Returns>
<Description>
This function returns the components of the action of the transformation
semigroup <A>S</A> on the set of positive integers not greater than the
degree of <A>S</A>; the components of <A>S</A> partition this set.
<#GAPDoc Label="CyclesOfTransformationSemigroup">
<ManSection>
<Attr Name = "CyclesOfTransformationSemigroup" Arg = "S"/>
<Returns>The cycles of a transformation semigroup.</Returns>
<Description>
This function returns the cycles, or strongly connected components, of the
action of the transformation semigroup <A>S</A> on the set of positive
integers not greater than the degree of <A>S</A>.
<Example><![CDATA[
gap> S := Semigroup(
> Transformation([11, 11, 9, 6, 4, 1, 4, 1, 6, 7, 12, 5]),
> Transformation([12, 10, 7, 10, 4, 1, 12, 9, 11, 9, 1, 12]));;
gap> CyclesOfTransformationSemigroup(S);
[ [ 1, 11, 12, 5, 4, 6, 10, 7, 9 ], [ 2 ], [ 3 ], [ 8 ] ]]]></Example>
</Description>
</ManSection>
<#/GAPDoc>
<#GAPDoc Label="IsSynchronizingSemigroup">
<ManSection>
<Prop Name = "IsSynchronizingSemigroup" Arg = "S"
Label = "for a transformation semigroup" />
<Returns><K>true</K> or <K>false</K>.</Returns>
<Description>
For a positive integer <A>n</A>, <C>IsSynchronizingSemigroup</C> returns
<K>true</K> if the semigroup of transformations <A>S</A> contains a
transformation with constant value on <C>[1 .. <A>n</A>]</C>
where <C>n</C> is the degree of the semigroup.
See also
<Ref Oper = "ConstantTransformation" BookName = "ref"/>.
<P/>
Note that the semigroup consisting of the identity transformation is the
unique transformation semigroup with degree <C>0</C>. In this special
case, the function <C>IsSynchronizingSemigroup</C> will return
<K>false</K>.<P/>
<#GAPDoc Label="DigraphOfAction">
<ManSection>
<Oper Name = "DigraphOfAction" Arg = "S, list, act"
Label = "for a transformation semigroup, list, and action" />
<Returns>A digraph, or <K>fail</K>.</Returns>
<Description>
If <A>S</A> is a transformation semigroup and <A>list</A> is list such
that <A>S</A> acts on the items in <A>list</A> via the function
<A>act</A>, then <C>DigraphOfAction</C> returns a digraph representing
the action of <A>S</A> on the items in <A>list</A> and any further items
output by <C><A>act</A>(<A>list</A>[i], <A>S</A>.j)</C>.<P/>
If <C><A>act</A>(<A>list</A>[i], <A>S</A>.j)</C> is the <C>k</C>-th item
in <A>list</A>, then in the output digraph there is an edge from the
vertex <C>i</C> to the vertex <C>k</C> labelled by <C>j</C>.
<P/>
The values in <A>list</A> and the additional values generated are stored
in the vertex labels of the output digraph; see <Ref
Oper="DigraphVertexLabels" BookName="Digraphs" />, and the edge labels
are stored in the <Ref Oper="DigraphEdgeLabels" BookName="Digraphs" />
<P/>
The digraph returned by <C>DigraphOfAction</C> has no multiple edges; see
<Ref Prop="IsMultiDigraph" BookName="Digraphs"/>.
<#GAPDoc Label="DigraphOfActionOnPoints">
<ManSection>
<Attr Name = "DigraphOfActionOnPoints" Arg = "S"
Label = "for a transformation semigroup" />
<Attr Name = "DigraphOfActionOnPoints" Arg = "S, n"
Label = "for a transformation semigroup and an integer" />
<Returns>A digraph.</Returns>
<Description>
If <A>S</A> is a transformation semigroup and <A>n</A> is a non-negative
integer, then <C>DigraphOfActionOnPoints(<A>S</A>, <A>n</A>)</C> returns
a digraph representing the <Ref Func="OnPoints" BookName="ref"/> action
of <A>S</A> on the set <C>[1 .. <A>n</A>]</C>.
<P/>
If the optional argument <A>n</A> is not specified, then by default the
degree of <A>S</A> will be chosen for <A>n</A>; see <Ref
Attr="DegreeOfTransformationSemigroup" BookName="ref" />.
<P/>
The digraph returned by <C>DigraphOfActionOnPoints</C> has <A>n</A>
vertices, where the vertex <C>i</C> corresponds to the point <C>i</C>.
For each point <C>i</C> in <C>[1 .. <A>n</A>]</C>, and for each generator
<C>f</C> in <C>GeneratorsOfSemigroup(<A>S</A>)</C>, there is an edge from
the vertex <C>i</C> to the vertex <C>i ^ f</C>. See <Ref
Attr="GeneratorsOfSemigroup" BookName="ref" /> for further information.
<P/>
<#GAPDoc Label="IsConnectedTransformationSemigroup">
<ManSection>
<Prop Name = "IsConnectedTransformationSemigroup" Arg = "S"
Label = "for a transformation semigroup" />
<Returns><K>true</K> or <K>false</K>.</Returns>
<Description>
A transformation semigroup <A>S</A> is connected if the digraph returned
by the function <C>DigraphOfActionOnPoints</C> is connected. See
<Ref Prop = "IsConnectedDigraph" BookName = "digraphs" /> and <Ref Attr
= "DigraphOfActionOnPoints" Label = "for a transformation semigroup"/>.
The function <C>IsConnectedTransformationSemigroup</C> returns <K>true</K>
if the semigroup <A>S</A> is connected and <K>false</K> otherwise.
<Example><![CDATA[
gap> S := Semigroup([
> Transformation([2, 4, 3, 4]),
> Transformation([3, 3, 2, 3, 3])]);
<transformation semigroup of degree 5 with 2 generators>
gap> IsConnectedTransformationSemigroup(S);
true]]></Example>
</Description>
</ManSection>
<#/GAPDoc>
<#GAPDoc Label="FixedPointsOfTransformationSemigroup">
<ManSection>
<Attr Name="FixedPointsOfTransformationSemigroup" Arg="S"
Label="for a transformation semigroup"/>
<Returns>A set of positive integers.</Returns>
<Description>
If <A>S</A> is a transformation semigroup, then
<C>FixedPointsOfTransformationSemigroup(<A>S</A>)</C> returns the set of
points <C>i</C> in <C>[1 .. DegreeOfTransformationSemigroup(<A>S</A>)]</C>
such that <C>i ^ f = i</C> for all <C>f</C> in <A>S</A>. <P/>
<Example><![CDATA[
gap> f := Transformation([1, 4, 2, 4, 3, 7, 7]);
Transformation( [ 1, 4, 2, 4, 3, 7, 7 ] )
gap> S := Semigroup(f);
<commutative transformation semigroup of degree 7 with 1 generator>
gap> FixedPointsOfTransformationSemigroup(S);
[ 1, 4, 7 ]]]></Example>
</Description>
</ManSection>
<#/GAPDoc>
<#GAPDoc Label="WreathProduct">
<ManSection>
<Oper Name = "WreathProduct" Arg = "M, S"/>
<Returns>A transformation semigroup.</Returns>
<Description>
If <A>M</A> is a transformation monoid (or a permutation group) of degree
<C>m</C>, and <A>S</A> is a transformation semigroup (or permutation
group) of degree <C>s</C>, the operation
<C>WreathProduct(<A>M</A>, <A>S</A>)</C> returns the wreath product of
<A>M</A> and <A>S</A>, in terms of an embedding in the full
transformation monoid of degree <C>m * s</C>.
<Example><![CDATA[
gap> T := FullTransformationMonoid(3);;
gap> C := Group((1, 3));;
gap> W := WreathProduct(T, C);;
gap> Size(W);
39366
gap> WW := WreathProduct(C, T);;
gap> Size(WW);
216
]]></Example>
</Description>
</ManSection>
<#/GAPDoc>
¤ Dauer der Verarbeitung: 0.30 Sekunden
(vorverarbeitet)
¤
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.