Hi:

Since there are some interesting error-correcting codes based on group
algebras over a finite field,
I'm making a stab at implementing group rings for permutation groups.
Dan Bump (offlist) suggested
looking at the CombinatorialAlgebra class in
sage.combinat.combinatorial_algebra.py. The docstring there
says, in part,

The CombinatorialAlgebra base class makes it easy to define and work
with new combinatorial algebras in Sage.
...
The important things to define are ._combinatorial_class which specifies
the combinatorial class that indexes the basis elements, ._one which
specifies the identity element in the algebra, ._name which specifies
the name of the algebra, ._prefix which is the string put in front of
each basis element, and finally a _multiply or _multiply basis method
that defines the multiplication in the algebra.

Baed on that, I'd like to input

class PermutationGroupRing(CombinatorialAlgebra):
    def __init__(self, R, G):
        self.group = G
        self._combinatorial_class = PermutationGroupElement
        self._one = G.identity()
        self._name = 'Group ring of %s'%str(G)
        self._prefix = ''
        CombinatorialAlgebra.__init__(self, R)
    def _multiply_basis(self, a, b):
        c = a*b
        return c

and have a command like

sage: PermutationGroupRing(ZZ,G)

return a group ring. Instead, I get the traceback error

{{{
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)

/home/wdj/sagefiles/sage-3.0.3.rc0/<ipython console> in <module>()

/home/wdj/.sage/temp/hera/7513/_home_wdj_sagefiles_codes_group_rings_sage_6.py
in __init__(self, R, G)
     27         self._name = 'Group ring of %s'%str(G)
     28         self._prefix = ''
---> 29         CombinatorialAlgebra.__init__(self, R)
     30     def _multiply_basis(self, a, b):
     31         c = a*b

/home/wdj/sagefiles/sage-3.0.3.rc0/local/lib/python2.5/site-packages/sage/combinat/combinatorial_algebra.py
in __init__(self, R, element_class)
    679         #Set the dimension
    680         try:
--> 681             self._dim = self._combinatorial_class.count()
    682         except (ValueError, NotImplementedError):
    683             self._dim = None

AttributeError: type object
'sage.groups.perm_gps.permgroup_element.Permutation' has no attribute
'count'
}}}

which I can't decipher.

Can anyone explain "AttributeError: type object
'sage.groups.perm_gps.permgroup_element.Permutation' has no attribute
'count'"
(in words of two syllables or less, if possible:-)?

- David Joyner

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@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-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to