#############################################################################
##
#W factor.xml
#Y Copyright (C) 2011-14 James D. Mitchell
##
## Licensing information can be found in the README file of this package.
##
#############################################################################
##
<#GAPDoc Label="Factorization">
<ManSection>
<Oper Name = "Factorization" Arg = "S, x"/>
<Returns>A word in the generators.</Returns>
<Description>
<List>
<Mark>for semigroups</Mark>
<Item>
When <A>S</A> is a semigroup and <A>x</A> belongs to <A>S</A>,
<C>Factorization</C> return a word in the generators of <A>S</A> that
is equal to <A>x</A>. In this case, a word is a list of positive
integers where an entry <C>i</C> corresponds to
<C>GeneratorsOfSemigroups(S)[i]</C>. More specifically,
<Log>EvaluateWord(GeneratorsOfSemigroup(S), Factorization(S, x)) = x;</Log>
</Item>
<!-- FIXME(later) improve: it not clear to me whether this applies to all
inverse semigroups or to ones with an inverse op WW -->
<Mark>for inverse semigroups</Mark>
<Item>
When <A>S</A> is an inverse semigroup and <A>x</A> belongs to <A>S</A>,
<C>Factorization</C> return a word in the generators of <A>S</A> that
is equal to <A>x</A>. In this case, a word is a list of non-zero
integers where an entry <C>i</C> corresponds to
<C>GeneratorsOfSemigroup(S)[i]</C> and <C>-i</C> corresponds to
<C>GeneratorsOfSemigroup(S)[i] ^ -1</C>.
As in the previous case,
<Log>EvaluateWord(GeneratorsOfSemigroup(S), Factorization(S, x)) = x;</Log>
</Item>
</List>
Note that <C>Factorization</C> does not always return a word of minimum length;
see <Ref Oper = "MinimalFactorization"/>.
<P/>
<#GAPDoc Label="MinimalFactorization">
<ManSection>
<Oper Name = "MinimalFactorization" Arg = "S, x"/>
<Returns>A minimal word in the generators.</Returns>
<Description>
This operation returns a minimal length word in the generators of the
semigroup <A>S</A> that equals the element <A>x</A>.
In this case, a word is a list of positive
integers where an entry <C>i</C> corresponds to
<C>GeneratorsOfSemigroups(<A>S</A>)[i]</C>. More specifically,
<Log>EvaluateWord(GeneratorsOfSemigroup(S), MinimalFactorization(S, x)) = x;</Log>
<P/>
<C>MinimalFactorization</C> involves exhaustively enumerating <A>S</A>
until the element <A>x</A> is found, and so <C>MinimalFactorization</C>
may be less efficient than <Ref Oper="Factorization"/> for some
semigroups.
<P/>
<#GAPDoc Label="NonTrivialFactorization">
<ManSection>
<Oper Name = "NonTrivialFactorization" Arg = "S, x"/>
<Returns>A non-trivial word in the generators, or <K>fail</K>.</Returns>
<Description>
When <A>S</A> is a semigroup and <A>x</A> belongs to <A>S</A>, this
operation returns a non-trivial word in the generators of the semigroup
<A>S</A> that equals <A>x</A>, if one exists. The definition of
a word in the generators is the same as given in <Ref Oper="Factorization"
/> for semigroups and inverse semigroups. A word is non-trivial if it
has length two or more. <P/>
If no non-trivial word for <A>x</A> exists, then <A>x</A> is an
indecomposable element of <A>S</A> and this operation returns <K>fail</K>;
see <Ref Attr="IndecomposableElements" />. <P/>
When <A>x</A> does not belong to <C>GeneratorsOfSemigroup(<A>S</A>)</C>,
any factorization of <A>x</A> is non-trivial. In this case,
<C>NonTrivialFactorization</C> returns the same word as <Ref
Oper="Factorization" />. <P/>
See also <Ref Func = "EvaluateWord"/> and <Ref Func = "GeneratorsOfSemigroup" BookName="ref"/>.
<Example><![CDATA[
gap> x := Transformation([5, 4, 2, 1, 3]);;
gap> y := Transformation([4, 4, 2, 4, 1]);;
gap> S := Semigroup([x, y]);
<transformation semigroup of degree 5 with 2 generators>
gap> NonTrivialFactorization(S, x * y);
[ 1, 2 ]
gap> Factorization(S, x);
[ 1 ]
gap> NonTrivialFactorization(S, x);
[ 1, 1, 1, 1, 1, 1 ]
gap> Factorization(S, y);
[ 2 ]
gap> NonTrivialFactorization(S, y);
[ 2, 1, 1, 1, 1, 1 ]
gap> z := PartialPerm([2]);;
gap> S := Semigroup(z);
<commutative partial perm semigroup of rank 1 with 1 generator>
gap> NonTrivialFactorization(S, z);
fail]]></Example>
</Description>
</ManSection>
<#/GAPDoc>
¤ Dauer der Verarbeitung: 0.1 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.