In this section we describe GAP funtions for Rees matrix semigroups and Rees 0-matrix semigroups. The importance of this construction is that Rees Matrix semigroups over groups are exactly the completely simple semigroups, and Rees 0-matrix semigroups over groups are the completely 0-simple semigroups
Recall that a Rees Matrix semigroup is constructed from a semigroup (the underlying semigroup), and a matrix. A Rees Matrix semigroup element is a triple (s, i, lambda) where s is an element of the underlying semigroup S and i, lambda are indices. This can be thought of as a matrix with zero everywhere except for an occurrence of s at row i and column lambda. The multiplication is defined by (s, i, l)*(t, j , m) = (sPljt, i, m) where P is the defining matrix of the semigroup. In the case that the underlying semigroup has a zero we can make the ReesZeroMatrixSemigroup, wherein all elements whose s entry is the zero of the underlying semigroup are identified to the unique zero of the Rees 0-matrix semigroup.
ReesMatrixSemigroup( S, matrix ) F
for a semigroup S and matrix whose entries are in S. Returns the Rees Matrix semigroup with multiplication defined by matrix.
ReesZeroMatrixSemigroup( S, matrix ) F
for a semigroup S with zero, and matrix over S returns the Rees 0-Matrix semigroup such that all elements (i, 0, l) are identified to zero.
The zero in S is found automatically. If one cannot be found, an error is signalled.
IsReesMatrixSemigroup( T ) P
returns true whenever we have a (whole) rees matrix semigroup.
IsReesZeroMatrixSemigroup( T ) P
returns true whenever we have a (whole) rees 0-matrix semigroup.
ReesMatrixSemigroupElement( R, a, i, lambda ) F
ReesZeroMatrixSemigroupElement( R, a, i, lambda ) F
for a Rees matrix semigroup R, a in UnderlyingSemigroup(R),
i and lambda in the row (resp. column) ranges of R,
returns the element of R corresponding to the
matrix with zero everywhere and a in row i and column x.
IsReesMatrixSemigroupElement( e ) C
IsReesZeroMatrixSemigroupElement( e ) C
is the category of elements of a Rees (0-) matrix semigroup. Returns true if e is an element of a Rees Matrix semigroup.
SandwichMatrixOfReesMatrixSemigroup( R ) A
SandwichMatrixOfReesZeroMatrixSemigroup( R ) A
the defining matrix of the Rees (0-) matrix semigroup.
RowIndexOfReesMatrixSemigroupElement( x ) A
RowIndexOfReesZeroMatrixSemigroupElement( x ) A
ColumnIndexOfReesMatrixSemigroupElement( x ) A
ColumnIndexOfReesZeroMatrixSemigroupElement( x ) A
UnderlyingElementOfReesMatrixSemigroupElement( x ) A
UnderlyingElementOfReesZeroMatrixSemigroupElement( x ) A
for an element x of a Rees Matrix semigroup, of the form (s,i,lambda), the row index is i, the column index is lambda and the underlying element is s. If we think of an element as a matrix then this corresponds to the row where the non-zero entry is, the column where the non-zero entry is and the entry at that position, respectively.
ReesZeroMatrixSemigroupElementIsZero( x ) P
returns true if x is the zero of the Rees 0-matrix semigroup.
AssociatedReesMatrixSemigroupOfDClass( D ) A
Given a regular D class of a finite semigroup, it can be viewed as a rees matrix semigroup by identifying products which do not lie in the D class with zero.
Formally, let I1 be the ideal of all J classes less than or equal to
D, I2 the ideal of all J classes strictly less than D,
and r the rees congurence associated with I2. Then I/r
is zero-simple. Then AssociatedReesMatrixSemigroupOfDClass( D )
returns this zero-simple semigroup as a Rees matrix semigroup.
IsomorphismReesMatrixSemigroup A
an isomorphism to a Rees matrix semigroup over a group (resp. zero group)
GAP 4 manual