62.26 Green

Green( sg, string )

Let (S,cdot) be a semigroup and a in S. The set a cdot S^1 := a cdot S cup {a} is called the principal right ideal generated by a. Analogously, S^1 cdot a := S cdot a cup {a} is called the principal left ideal generated by a and S^1 cdot a cdot S^1 := S cdot a cdot S cup S cdot a cup a cdot S cup {a} is called the principal ideal generated by a.

Now, Green's equivalence relation {cal L} on S is defined as: (a,b) in {cal L}: Leftrightarrow S^1 cdot a = S^1 cdot b i.e. a and b generate the same principal left ideal. Similarly: (a,b) in {cal R}: Leftrightarrow a cdot S^1 = b cdot S^1 i.e. a and b generate the same principal right ideal and (a,b) in {cal J}: Leftrightarrow S^1 cdot a cdot S^1 = S^1 cdot b cdot S^1 i.e. a and b generate the same principal ideal. {cal H} is defined as the intersection of {cal L} and {cal R} and {cal D} is defined as the join of {cal L} and {cal R}.

In a finite semigroup, {cal D} = {cal J}.

The arguments of the function Green are a finite transformation semigroup sg and a one character string string where string must be one of the following: "L", "R", "D", "J", "H". The return value of Green is a list of lists of elements of sg representing the equivalence classes of the according Green's relation.

  gap> s;
  TransformationSemigroup( Transformation( [ 1, 2, 3 ], 
  [ 1, 1, 2 ] ), Transformation( [ 1, 2, 3 ], [ 2, 3, 3 ] ) ) 
  gap> Elements( s );
  [ Transformation( [ 1, 2, 3 ], [ 1, 1, 1 ] ), 
    Transformation( [ 1, 2, 3 ], [ 1, 1, 2 ] ), 
    Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] ), 
    Transformation( [ 1, 2, 3 ], [ 2, 2, 2 ] ), 
    Transformation( [ 1, 2, 3 ], [ 2, 2, 3 ] ), 
    Transformation( [ 1, 2, 3 ], [ 2, 3, 3 ] ), 
    Transformation( [ 1, 2, 3 ], [ 3, 3, 3 ] ) ]
  gap> Green( s, "L" );
  [ [ Transformation( [ 1, 2, 3 ], [ 1, 1, 1 ] ), 
        Transformation( [ 1, 2, 3 ], [ 2, 2, 2 ] ), 
        Transformation( [ 1, 2, 3 ], [ 3, 3, 3 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 1, 1, 2 ] ), 
        Transformation( [ 1, 2, 3 ], [ 2, 2, 3 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] ), 
        Transformation( [ 1, 2, 3 ], [ 2, 3, 3 ] ) ] ]
  gap> Green( s, "R" );
  [ [ Transformation( [ 1, 2, 3 ], [ 1, 1, 1 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 1, 1, 2 ] ), 
        Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 2, 2, 2 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 2, 2, 3 ] ), 
        Transformation( [ 1, 2, 3 ], [ 2, 3, 3 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 3, 3, 3 ] ) ] ]
  gap> Green( s, "H" );
  [ [ Transformation( [ 1, 2, 3 ], [ 1, 1, 1 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 1, 1, 2 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 2, 2, 2 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 2, 2, 3 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 2, 3, 3 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 3, 3, 3 ] ) ] ]
  gap> Green( s, "D" );
  [ [ Transformation( [ 1, 2, 3 ], [ 1, 1, 1 ] ), 
        Transformation( [ 1, 2, 3 ], [ 2, 2, 2 ] ), 
        Transformation( [ 1, 2, 3 ], [ 3, 3, 3 ] ) ], 
    [ Transformation( [ 1, 2, 3 ], [ 1, 1, 2 ] ), 
        Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] ), 
        Transformation( [ 1, 2, 3 ], [ 2, 2, 3 ] ), 
        Transformation( [ 1, 2, 3 ], [ 2, 3, 3 ] ) ] ]

Previous Up Top Next
Index

GAP 3.4.4
April 1997