[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