Group Algebras in GAP/SAGE

87 views
Skip to first unread message

Mike Hansen

unread,
Mar 19, 2007, 9:58:27 AM3/19/07
to sage-...@googlegroups.com
I guess this is mostly directed toward David Joyner, but if anyone
else knows, feel free to chime in. I've been trying to figure out the
best way to do calculations in a group ring or group algebra. I've
checked around for GAP packages, but they seem to be pretty limited
and very awkward to use. Is there a nice way that I'm missing for
dealing with these in GAP?

I ended up writing my own hack for a group algebra for some recent
work and would be interested in writing more complete code for it over
the summer. I would like to be able to do (almost) all of the
calculations below in SAGE:
http://magma.maths.usyd.edu.au/magma/htmlhelp/part10.htm

David Harvey

unread,
Mar 19, 2007, 10:21:23 AM3/19/07
to sage-...@googlegroups.com

Here's my long-term take on this question (anyone else please feel
free to chime in and agree/disagree).

There should really be a GroupAlgebra class, derived from Algebra (in
algebra.py). Currently the functionality of Algebra, and its
subclasses, is quite limited. There's some code for quarternion
algebras, but it's not too efficient yet. I imagine that a
GroupAlgebra would have a base ring R, and an associated group G. If
the group G was finite, one could represent elements by vectors of
elements of R; if G was infinite (or just really big), perhaps one
would want a sparse representation. If G is abelian, and R
commutative, special measures could be taken to speed up the
arithmetic. (Does anyone do group algebras over non-commutative
rings....? I don't know...). There would be coercions from R into R
[G] and also from G into R[G] (assuming R is unital). There would be
a specialisation for the case that R is a field. Then the harder
stuff: decomposition into irreducibles, etc, which actually involves
writing tricky code, or perhaps this has already been written.... I
have no idea, I'm not a representation theory sort of guy.

One could probably already define these things in SAGE as a quotient
of a free algebra, but I bet it wouldn't be too efficient that way,
and not very useful.

So I guess we eventually want to see this:

sage: G = SymmetricGroup(3)
sage: ZZ[G]
Group Algebra of Symmetric group of order 3! as a permutation group
over Integer Ring

David

William Stein

unread,
Mar 19, 2007, 11:17:37 AM3/19/07
to sage-...@googlegroups.com
On 3/19/07, David Harvey <dmha...@math.harvard.edu> wrote:
> On Mar 19, 2007, at 9:58 AM, Mike Hansen wrote:
> > I guess this is mostly directed toward David Joyner, but if anyone
> > else knows, feel free to chime in. I've been trying to figure out the
> > best way to do calculations in a group ring or group algebra. I've
> > checked around for GAP packages, but they seem to be pretty limited
> > and very awkward to use. Is there a nice way that I'm missing for
> > dealing with these in GAP?
> >
> > I ended up writing my own hack for a group algebra for some recent
> > work and would be interested in writing more complete code for it over
> > the summer. I would like to be able to do (almost) all of the
> > calculations below in SAGE:
> > http://magma.maths.usyd.edu.au/magma/htmlhelp/part10.htm
>
> Here's my long-term take on this question (anyone else please feel
> free to chime in and agree/disagree).
>
> There should really be a GroupAlgebra class, derived from Algebra (in
> algebra.py). Currently the functionality of Algebra, and its
> subclasses, is quite limited. There's some code for quarternion
> algebras, but it's not too efficient yet. I imagine that a
> GroupAlgebra would have a base ring R, and an associated group G. If
> the group G was finite, one could represent elements by vectors of
> elements of R; if G was infinite (or just really big), perhaps one
> would want a sparse representation. If G is abelian, and R

In the sparse case, when you create the vectors of elements of R
just use "sparse = True". Of course, if G is infinite that won't work
until I implement FreeModule(R,infinity).

> commutative, special measures could be taken to speed up the
> arithmetic. (Does anyone do group algebras over non-commutative
> rings....? I don't know...). There would be coercions from R into R
> [G] and also from G into R[G] (assuming R is unital). There would be
> a specialisation for the case that R is a field. Then the harder
> stuff: decomposition into irreducibles, etc, which actually involves
> writing tricky code, or perhaps this has already been written.... I
> have no idea, I'm not a representation theory sort of guy.

At least if R is a finite field, I bet it's all available through GAP
somehow, though probably not so easy to use. This is the sort
of thing that "meataxe" is supposed to address. I think over QQ
or a number field it's a pretty hard problem, but MAGMA does
some things using clever tricks (and perhaps is sometimes misleading
(=wrong) in its output...)

> One could probably already define these things in SAGE as a quotient
> of a free algebra, but I bet it wouldn't be too efficient that way,
> and not very useful.
>
> So I guess we eventually want to see this:
>
> sage: G = SymmetricGroup(3)
> sage: ZZ[G]
> Group Algebra of Symmetric group of order 3! as a permutation group
> over Integer Ring

Yep, I like that.

William

David Joyner

unread,
Mar 19, 2007, 12:07:27 PM3/19/07
to sage-...@googlegroups.com
On 3/19/07, Mike Hansen <mha...@gmail.com> wrote:
>
> I guess this is mostly directed toward David Joyner, but if anyone
> else knows, feel free to chime in. I've been trying to figure out the
> best way to do calculations in a group ring or group algebra. I've
> checked around for GAP packages, but they seem to be pretty limited
> and very awkward to use. Is there a nice way that I'm missing for
> dealing with these in GAP?

Did you look at LAGUNA or UnitLib?
I thnk Alexander Konovalov is the best GAP person to talk
to about this (kono...@member.ams.org).


>
> I ended up writing my own hack for a group algebra for some recent
> work and would be interested in writing more complete code for it over
> the summer. I would like to be able to do (almost) all of the
> calculations below in SAGE:
> http://magma.maths.usyd.edu.au/magma/htmlhelp/part10.htm

This is very ambitious but I think would be a great contribution!

>
> >
>

David Kohel

unread,
Mar 19, 2007, 4:15:25 PM3/19/07
to sage-devel
Group algebras would be natural and interesting. I would suggest
that they derive from FreeAlgebra, and improve those if the
performance was inadequate. This gives a sparse representation,
and as I remember, for finite dimensional (quotient) algebras, I
use the explicit matrix representation on finite dimensional vector
spaces. However, for large (finite) groups one would not want to
use the (dense) basis representation.

The module decomposition problem is only easier over finite fields
because the modules are finite; the theory is more subtle than in
characteristic zero. It is computationally harder to find the
splittings since the generating basis elements can be large (in
terms of a fixed group algebra basis), but my understanding is
that the character theory and resulting representation theory is
better understood. Doing local decompositions over p-adics
integer rings and number/function rings would give insight into both
the modular theory (i.e. over finite fields) and characteristic zero,
so the computational infrastructure should be set up generically.

--David

Mike Hansen

unread,
Mar 19, 2007, 4:23:03 PM3/19/07
to sage-...@googlegroups.com
> Did you look at LAGUNA or UnitLib?

Yeah, I looked at LAGUNA, and it wasn't exactly what I was looking
for. I guess I'm more interested in the looking at the group algebras
as K[G]-modules.

David Joyner

unread,
Mar 19, 2007, 4:49:25 PM3/19/07
to sage-...@googlegroups.com
On 3/19/07, Mike Hansen <mha...@gmail.com> wrote:
>

If I understand correctly, the following is a special case: given a
semisimple K[G],
you want to know the simple subalgebras occurring in its Wedderburn
decomposition.
This is the output of the GAP package Wedderga. Only finite fields and
subfields of
cyclotomic fields are supported. Alexander Konovalov is a co-author of that too.

Both LAGUNA and Wedderga are GPL'd. Moreover, I am in frequent contact with
AK and would be happy to pass along any questions for you, if you'd like.

>
> >
>

Reply all
Reply to author
Forward
0 new messages