After consuming several hours of documentation, I still have no idea how to construct a group ring. I can construct an ideal isomorphic to it, but I need it coerced back to the relevant finite module over the galois group because I need to apply a galois action from it.


So what I have is something like

R = PolynomialRing(GF(2),'x')

Where in place of 'x' I want tau, with

K.<z> = CyclotomicField(29)
z = K.gen()
G = K.galois_group()
Gh = G.subgroup([g for g in G if g.order().divides(7)])
tau = Gh.gen(1)

@swl Oh yes! this looks like exactly what I wanted... :) It's so hard to remember when things are called modules or algebras or... thanks!

@kimreece yay!! :) honestly, I had to read the wikipedia page for group rings to get up to speed, and the subsection 'group algebra over a finite group' was the real scoop on keywords

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!