Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

12 Free bands
 12.1 Free bands
 12.2 Operators and operations for free band elements

12 Free bands

12.1 Free bands

A semigroup \(B\) is a free band on a non-empty set \(X\) if \(B\) is a band with a map \( f \) from \( B \) to \(X\) such that for every band \( S \) and every map \( g \) from \(X\) to \( B \) there exists a unique homomorphism \( g'\) from \(B\) to \(S\) such that \(fg' = g\). The free band on a set \(X\) is unique up to isomorphism. Moreover, by the universal property, every band can be expressed as a quotient of a free band.

For an alternative description of a free band. Suppose that \( X \) is a non-empty set and \( X ^ + \) a free semigroup on \( X \). Also suppose that \( b \) is the smallest congurance on \( X ^ + \) containing the set

\[ \{(w ^ 2, w) : w \in X ^ + \}. \]

Then the free band on \( X \) is isomorphic to the quotient of \( X ^ + \) by \( b \). See Section 4.5 of [How95] for more information on free bands.

12.1-1 FreeBand
‣ FreeBand( rank[, name] )( function )
‣ FreeBand( name1, name2, .., . )( function )
‣ FreeBand( names )( function )

Returns: A free band.

Returns a free band on rank generators, for a positive integer rank. If rank is not specified, the number of names is used. The resulting semigroup is always finite.

gap> FreeBand(6);
<free band on the generators [ x1, x2, x3, x4, x5, x6 ]>
gap> FreeBand(6, "b");
<free band on the generators [ b1, b2, b3, b4, b5, b6 ]>
gap> FreeBand("a", "b", "c");
<free band on the generators [ a, b, c ]>
gap> FreeBand("a", "b", "c");
<free band on the generators [ a, b, c ]>
gap> S := FreeBand(["a", "b", "c"]);
<free band on the generators [ a, b, c ]>
gap> Size(S);
159
gap> gens := Generators(S);
[ a, b, c ]
gap> S.1 * S.2;
ab

12.1-2 IsFreeBandCategory
‣ IsFreeBandCategory( category )

IsFreeBandCategory is the category of semigroups created using FreeBand (12.1-1).

gap> IsFreeBandCategory(FreeBand(3));
true
gap> IsFreeBand(SymmetricGroup(6));
false

12.1-3 IsFreeBand
‣ IsFreeBand( S )( property )

Returns: true or false.

IsFreeBand returns true if the given semigroup S is a free band.

gap> IsFreeBand(FreeBand(3));
true
gap> IsFreeBand(SymmetricGroup(6));
false
gap> IsFreeBand(FullTransformationMonoid(7));
false

12.1-4 IsFreeBandElement
‣ IsFreeBandElement( category )

IsFreeBandElement is a Category containing the elements of a free band.

gap> IsFreeBandElement(Generators(FreeBand(4))[1]);
true
gap> IsFreeBandElement(Transformation([1, 3, 4, 1]));
false
gap> IsFreeBandElement((1,2,3,4));
false

12.1-5 IsFreeBandSubsemigroup
‣ IsFreeBandSubsemigroup( filter )

IsFreeBandSubsemigroup is a synonym for IsSemigroup and IsFreeBandElementCollection.

gap> S := FreeBand(2);
<free band on the generators [ x1, x2 ]>
gap> x := S.1;
x1
gap> y := S.2;
x2
gap> new := Semigroup([x * y, x]);
<semigroup with 2 generators>
gap> IsFreeBand(new);
false
gap> IsFreeBandSubsemigroup(new);
true

12.2 Operators and operations for free band elements

u * v

returns the product of two free band elements u and v.

u = v

checks if two free band elements are equal.

u < v

compares the sizes of the internal representations of two free band elements.

12.2-1 GreensDClassOfElement
‣ GreensDClassOfElement( S, x )( operation )

Returns: A Green's \(\mathscr{D}\)-class

Let S be a free band. Two elements of S are \(\mathscr{D}\)-related if and only if they have the same content i.e. the set of generators appearing in any factorization of the elements. Therefore, a \(\mathscr{D}\)-class of a free band element x is the set of elements of S which have the same content as x .

gap> S := FreeBand(3, "b");
<free band on the generators [ b1, b2, b3 ]>
gap> x := S.1 * S.2;
b1b2
gap> D := GreensDClassOfElement(S, x);
<Green's D-class: b1b2>
gap> IsGreensDClass(D);
true
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Bib Ind

generated by GAPDoc2HTML