GAP (semigroups) - Chapter 12: Free bands

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]

[MathJax on]

12 Free bands
12.1 Free bands
12.1-1 FreeBand
12.1-2 IsFreeBandCategory
12.1-3 IsFreeBand
12.1-4 IsFreeBandElement
12.1-5 IsFreeBandSubsemigroup
12.2 Operators and operations for free band elements
12.2-1 GreensDClassOfElement

### 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