[GAP Forum] working with GroupRings

Frank Lübeck frank.luebeck at math.rwth-aachen.de
Wed Oct 25 23:46:20 BST 2017


Dear Tim, dear Forum,

How about using iterated algebraic extensions for the ground field? Even
then the input of elements is not too nice because GAP does not apply
implicit embeddings of elements from subfield or of the group into the group
ring. This works:

w := Indeterminate(Rationals,"w");
f1 := AlgebraicExtension(Rationals, w^3-2, "w");
z := Indeterminate(f1,"z");
F := AlgebraicExtension(f1, z^2+z+1, "z");
w := RootOfDefiningPolynomial(f1)*One(F);
z := RootOfDefiningPolynomial(F);
w in F;
z in F;
S3 := SymmetricGroup(3);
FS3 := GroupRing(F,S3);
emb := Embedding(S3, FS3);
e := function(r) return r*One(f1)*One(F); end;
x := ((e(-4)*w^2-e(4/3)*w+e(3/2))*z+(2*w^2+2*w-e(2/3)))*(1,2)^emb;
x + x^2;
y := (z*(1,2)^emb)^2;
y = (-z-e(1))*()^emb;


Best regards,
  Frank

On Wed, Oct 25, 2017 at 06:00:57PM -0400, tkohl at math.bu.edu wrote:
> 
> Dear Forum members,
> 
> This is somewhat related to a question I asked a while
> back about GroupRings. My question is somewhat general,
> but I will try to be as brief as possible.
> 
> I am trying to construct the group ring  Q[w,z]S_3 where
> Q[w,z] is the field extension of Q obtained by adjoining w,z where
> w^3=2 and z is a primitive cube root of unity.
> 
> The method I am using is this:
> 
> z:=Indeterminate(Rationals,"z");
> w:=Indeterminate(Rationals,"w");
> R:=PolynomialRing(Rationals,["z","w"]);
> I:=Ideal(R,[z^2+z+1,w^3-2]);
> F:=R/I;
> S3:=SymmetricGroup(3)
> FS3:=GroupRing(F,S3);
> 
> so far so good.
> 
> One initial thing I notice is this:
> 
> gap> BF:=BasisVectors(Basis(F));
> [ (1), (w), (w2), (z), (zw), (zw2) ]
> 
> which I can understand corresponds to the ideals 1+I, w+I, w^2+I, etc.
> but I am not sure how to actually construct expressions by hand.
> 
> [That (zw2) is the representative instead of (z*w^2) is a bit jarring too, but that's
> not the biggest issue.]
> 
> i.e. This does not work
> 
> gap> (w) in F;
> false
> 
> although if I do 
> 
> gap> BF[2] in F
> 
> then, of course, it is true. 
> Q1) How can I specify elements of F without having to refer to the literal list returned
> from BasisVectors(Basis(F))  ?
> 
> Once I'm past this hurdle, I still want to work with elements of FS3 by taking linear
> combinations of group elements and elements of F. 
> 
> Q2) I want to be able to do something like this:
> 
> (z*(1,2))*(z*(1,2)) 
> 
> and have it give me (-z-1)*()
> 
> I know I need to use One(F) or One(FS3) in these expressions, but everything I have tried
> ends up triggering
> 
> "Error, no method found! For debugging hints type ?Recovery from NoMethodFound"
> 
> Q3) Alternately, is there a way (like in Maple) to symbolically manipulate a polynomial
> expression, for example
> 
> algsubs(z^2+z+1=0,z^4+z5)
> 
> and yield z+z^2? 
> 
> (i.e. Forget about using a quotient ring and instead apply some regular expression
> to 'mod out' by the relations w^3=2 and z^2+z+1=0.)
> 
> Pardon the length of my question, and thanks in advance for any assistance.
> The main reason I'm using GAP in this instance is that Maple's grouptheory and
> non-commuting variables infrastructure didn't work.
> 
> Thanks.
> 
> 	-Tim K.
> 
> 
> _______________________________________________
> Forum mailing list
> Forum at mail.gap-system.org
> http://mail.gap-system.org/mailman/listinfo/forum

-- 
///  Dr. Frank Lübeck, Lehrstuhl D für Mathematik, Pontdriesch 14/16,
\\\                    52062 Aachen, Germany
///  E-mail: Frank.Luebeck at Math.RWTH-Aachen.De
\\\  WWW:    http://www.math.rwth-aachen.de/~Frank.Luebeck/



More information about the Forum mailing list