Dear David Cruickshank,
You asked about group rings and matrices defined over them in GAP.
In GAP4 it is possible to construct the group ring of a group:
gap> G:= AbelianGroup( [1,2,3,4,5]);
<pc group of size 120 with 5 generators>
gap> ZG:= GroupRing( Integers, G );
<free left module over Integers, and ring-with-one, with 8 generators>
Then it is also possible to define matrices over the group ring
and calculate with them:
gap> B:=Basis(ZG);
CanonicalBasis( <free left module over Integers, and ring-with-one, with
8 generators> ) gap> m:= [ [ B[1], B[10] ],[ B[40], B[100] ] ]; [ [ 1*<identity> of ..., 1*f1*f5 ], [ 1*f1*f2^2*f5, 1*f2*f3*f5^4 ] ] gap> DeterminantMat(m); -1*f2^2*f5^2+1*f2*f3*f5^4
However, as yet GAP does not contain any code for calculating
Groebner bases.
I hope this answer is of help to you. If you have any
further questions, please ask.
Best wishes,
Willem de Graaf
School of Mathematical and Computational Sciences University of St Andrews North Haugh Tel: +44 1334 463273 St Andrews Email: wdg@dcs.st-and.ac.uk Fife KY16 9SS Scotland