# Building a homomorphism from group algebra to matrix space

I would like to define an algebra homomorphism between a group algebra over the integers and a complex matrix space. More precisely I have a free group F on 4 generators and the associated group algebra G and I would like to construct a homomorphism which sends each of the generators to a certain complex matrix. Inspired by a similar question, I have tried multiple things, but nothing seems to work

I have

F.<A,B,C,D>=FreeGroup(4)
F.inject_variables()
R=MatrixSpace(CC,2)
A1 = matrix(CC,[[0,I],[I,0]])
B1 = matrix(CC,[[I,0],[0,-I]])
C1 = matrix(CC,[[0,1],[-1,0]])
G=GroupAlgebra(F, ZZ)


I would like to define the homomorphism G->R which sends A to A1, B to B1 and both C and D to C1.

edit retag close merge delete

( 2021-06-15 19:02:55 +0200 )edit

Sort by » oldest newest most voted

I'm not sure why this hasn't been implemented in SageMath. It's probably an oversight rather than being due to any difficulties. It's pretty easy to implement. Here is a workaround:

F = FreeGroup(4, names='A,B,C,D')
G = GroupAlgebra(F, ZZ)
A,B,C,D = G.gens()

A1 = matrix(CC,[[0,I],[I,0]])
B1 = matrix(CC,[[I,0],[0,-I]])
C1 = matrix(CC,[[0,1],[-1,0]])

def my_im_gens_(self, codomain, im_gens, base_map=None):
result = codomain.zero()
for (g,c) in self._monomial_coefficients.items():
if base_map:
c = base_map(c)
result += c*g(im_gens)
return result
G.element_class._im_gens_ = my_im_gens_


Then it works:

sage: f = G.hom([A1,B1,C1,C1], check=False)
sage: f(A^2 + B^3 + C) == A1^2 + B1^3 + C1
True

more

For implementing this in SageMath I opened https://trac.sagemath.org/ticket/31989

( 2021-06-16 10:26:12 +0200 )edit