On 3/19/07, David Harvey <[EMAIL PROTECTED]> 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

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to