[GAP Forum] Re: question about Rees Matrix Semigroups (fwd)
James Mitchell
jamesm at mcs.st-and.ac.uk
Thu Nov 10 12:58:50 GMT 2005
Dear Joao,
You are quite correct. There is a bug in the function
AssociatedReesMatrixSemigroupOfDClass. If you read the following function
into gap, this ought to take care of the problem until it is possible to
change the code in the library. Any other problems, just let me know.
Regards,
James
InstallMethod(AssociatedReesMatrixSemigroupOfDClass, "for d class",
[IsGreensDClass],
function( D )
local h, phi, g, gz, fun, map, r, l, rreps, lreps, n, m, mat;
if not IsFinite(AssociatedSemigroup(D)) then
TryNextMethod();
fi;
if not IsRegularDClass(D) then
Error("D class must be regular");
fi;
h:= GroupHClassOfGreensDClass(D);
# find the isomorphic perm group.
phi:= IsomorphismPermGroup(h);
g:= Range(phi);
gz:= Range(InjectionZeroMagma(g));
# build the function
fun:= function(x)
if not x in h then
return MultiplicativeZero(gz);
fi;
return x^phi;
end;
map:= MappingByFunction(AssociatedSemigroup(D), gz, fun);
r:= EquivalenceClassOfElement(GreensRRelation(AssociatedSemigroup(D)),
Representative(h));
l:= EquivalenceClassOfElement(GreensLRelation(AssociatedSemigroup(D)),
Representative(h));
rreps:= List(GreensHClasses(l), Representative);
lreps:= List(GreensHClasses(r), Representative);
n:= Length(rreps);
m:= Length(lreps);
mat:= List([1..m], x->List([1..n], y->(lreps[x]*rreps[y])^map));
if ForAll(mat, x->ForAll(x, y -> y <> MultiplicativeZero(gz))) then
return ReesMatrixSemigroup(g, mat);
else
return ReesZeroMatrixSemigroup(gz, mat);
fi;
end);
>
> ---------- Forwarded message ----------
> Date: Thu, 10 Nov 2005 06:28:56 +0000 (WET)
> From: Joao Araujo <mjoao at classic>
> To: forum at gap-system.org
> Subject: question about Rees Matrix Semigroups
>
>
>
> Let s be the full transformation semigroup on 4 elements:
>
> t:=Transformation([1,2,3,3]);;
> s:=Semigroup(Transformation([2,1,3,4]),Transformation([2,3,4,1]),t);;
>
> Now we ask GAP to give us the Rees Zero Matrix Semigroup associated to the
> D-class of t:
>
> gap> ld:=GreensDClassOfElement(s,t);;
> gap> rs:=AssociatedReesMatrixSemigroupOfDClass(ld);
> Rees Zero Matrix Semigroup over Monoid( [ (1,2)(3,4)(5,6), (),
> (1,5,4)(2,3,6), (1,6)(2,4)(3,5), (1,3)(2,5)(4,6),
> (1,4,5)(2,6,3), 0 ], ... )
>
> Since the semigroup s is regular, every D-class is regular and hence
> there exists at least one non-zero entry in each row and in each column
> in the Sandwich Matrix of rs.
>
> However, when we ask GAP to give the associated matrix we get:
>
> gap> SandwichMatrixOfReesZeroMatrixSemigroup(rs);
> [ [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0 ], [ 0,
> 0, 0, 0, 0, 0 ] ]
>
> If this was correct, then, in particular, the D-class of
> t would have no idempotents (when t, in fact, is idempotent).
>
> I would be very grateful if someone could tell me what I am doing wrong.
>
> Joao
>
>
>
More information about the Forum
mailing list