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