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/ -~----------~----~----~----~------~----~------~--~---