It seems that what Dan Bump's instructions did not specify is what
properties the class assigned to ._combinatorial_class must have.
And it needs something which PermutationGroupElement does not have.

Does that help?

John

2008/6/28 David Joyner <[EMAIL PROTECTED]>:
>
> 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 [email protected]
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