#6670: Port group algebras to the current coercion system
---------------------------+------------------------------------------------
   Reporter:  mraum        |          Owner:  mraum      
       Type:  enhancement  |         Status:  needs_work 
   Priority:  minor        |      Milestone:  sage-4.7.1 
  Component:  algebra      |       Keywords:             
Work_issues:               |       Upstream:  N/A        
   Reviewer:               |         Author:  Martin Raum
     Merged:               |   Dependencies:             
---------------------------+------------------------------------------------
Changes (by jhpalmieri):

  * status:  needs_review => needs_work


Comment:

 Some minor comments:

  - The first line of the new file is redundant: "Group algebra of a
 group".  Maybe it should just be "Group algebras"?
  - The new file should be added to the reference manual, by adding an
 appropriate line to `sage/doc/en/reference/algebras.rst`.

 More interesting:

  - Can you implement coercion from R[H] to R[G] if H is a subgroup of G,
 or more generally from R[H] to S[G] if there is a coercion from H to G and
 from R to S?  Then coercing from the base ring R to R[G] would just be the
 special case where R=S and H is the trivial group.

 A more important issue: I'm not sure that I agree with the implementation.
 I would have it inherit from `CombinatorialFreeModule`, and then unique
 representation is built in nicely so you don't have to cache the results
 as you do now.  You can also implement the Hopf algebra structure on the
 group algebra pretty easily.  For reference, you should look at the files

  - `sage/categories/examples/hopf_algebras_with_basis.py` for a simple
 (not very full-featured) implementation of group algebras.

  - `sage/algebras/steenrod/steenrod_algebra.py` for the implementation of
 the Steenrod algebra, including all of its Hopf algebra structure,
 inheriting from `CombinatorialFreeModule`.  This has a lot of things you
 don't need, but if you want to base the implementation on the first file,
 or if you want to modify the print representation of elements (which I
 recommend), you might be able to use this one to help fill in some
 details.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6670#comment:13>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
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-trac?hl=en.

Reply via email to