ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Wed, 16 Jun 2021 10:26:12 +0200Building a homomorphism from group algebra to matrix spacehttps://ask.sagemath.org/question/57568/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.
Tue, 15 Jun 2021 19:02:04 +0200https://ask.sagemath.org/question/57568/building-a-homomorphism-from-group-algebra-to-matrix-space/Comment by cate15 for <p>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</p>
<p>I have</p>
<pre><code>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)
</code></pre>
<p>I would like to define the homomorphism G->R which sends A to A1, B to B1 and both C and D to C1.</p>
https://ask.sagemath.org/question/57568/building-a-homomorphism-from-group-algebra-to-matrix-space/?comment=57569#post-id-57569Link to the related question: https://ask.sagemath.org/question/10684/group-algebramatrix-space-homomorphism/Tue, 15 Jun 2021 19:02:55 +0200https://ask.sagemath.org/question/57568/building-a-homomorphism-from-group-algebra-to-matrix-space/?comment=57569#post-id-57569Answer by rburing for <p>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</p>
<p>I have</p>
<pre><code>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)
</code></pre>
<p>I would like to define the homomorphism G->R which sends A to A1, B to B1 and both C and D to C1.</p>
https://ask.sagemath.org/question/57568/building-a-homomorphism-from-group-algebra-to-matrix-space/?answer=57576#post-id-57576I'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
TrueTue, 15 Jun 2021 20:38:47 +0200https://ask.sagemath.org/question/57568/building-a-homomorphism-from-group-algebra-to-matrix-space/?answer=57576#post-id-57576Comment by rburing for <p>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:</p>
<pre><code>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_
</code></pre>
<p>Then it works:</p>
<pre><code>sage: f = G.hom([A1,B1,C1,C1], check=False)
sage: f(A^2 + B^3 + C) == A1^2 + B1^3 + C1
True
</code></pre>
https://ask.sagemath.org/question/57568/building-a-homomorphism-from-group-algebra-to-matrix-space/?comment=57583#post-id-57583For implementing this in SageMath I opened https://trac.sagemath.org/ticket/31989Wed, 16 Jun 2021 10:26:12 +0200https://ask.sagemath.org/question/57568/building-a-homomorphism-from-group-algebra-to-matrix-space/?comment=57583#post-id-57583