# Re: [GAP Forum] working with GroupRings

Dear Frank,

This is what I was looking for. I had forgotten about
the embedding operation. (I can live with ^emb.)

Many thanks!

-Tim>

On Thu, 26 Oct 2017, Frank Lübeck wrote:

>
> 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, tk...@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@mail.gap-system.org
> > http://mail.gap-system.org/mailman/listinfo/forum
>
>

_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum