Hi there,

I am currently working on a GAP package of my own. One of the things I am doing 
for that is writing my own kind of "(free) module" for group rings (for 
efficiency reasons I cannot use the default GAP representation) and doing so, I 
came across some things in GAP which I don't quite understand, and where I hope 
somebody can enlighten me:

* For algebra modules, GAP does this:
 DeclareProperty( "IsLeftAlgebraModule", IsLeftModule );
 DeclareProperty( "IsRightAlgebraModule", IsLeftModule );
So if I understand this correctly, for GAP, right algebra modules are a special 
kind of left modules? Why? I would have expected IsRightModule there.

* GAP allows CoefficientsRing only for polynomial rings:
  DeclareAttribute( "CoefficientsRing", IsPolynomialRing );
But for free magma rings, one has to use LeftActingDomain -- this got me stuck 
at first (luckily chapter 63 of the GAP manual quickly helped with that). 
Still: Is there a particular reason for that distinction? Similarly, why can 
one only use LeftActingDomaing, but not also RightActingDomain (which is 
undocumented for some reason), on a free magma ring? The coefficient ring does 
act from both side on the free magma ring, and GAP happily allows me to do so.

* I make heavy use of group rings, and it is very frustrating that every 
invocation of GroupRing(Integers, G) returns a new, different object. For now I 
am working around that by defining a global function IntegralGroupRing, which 
stores the group ring in the family of the group G. But this is not very 
elegant, and furthermore fails if the user uses GroupRing directly.
Is there any hope that GroupRing will be changed (in future GAP versions) to 
return compatible (or even identical) group rings when invoked with identical 
parameters?

And in the meantime: Suppose I want to write a function or method that wants to 
take elements as parameter which are vectors of group ring elements (i.e. 
elements of a free module over a group ring): How would I detect such input 
(independently of concrete group ring, coefficient ring and group), e.g. for 
method selection?


Thanks,
Max


_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to