On Thu, Jul 30, 2009 at 06:35:50PM +0200, Franco Saliola wrote:
> I'm forwarding your email to sage-combinat-devel since that group is
> going to eventually want to create modules over finite groups. They
> may even have some experimental code already.

Oops, sorry. With the summer vacations I let this mail to rot away.

We definitely are interested in any progress around representation
theory, even though our topics are more around finite dimensional
algebras and semigroups (but see SymmetricGroupRepresentation by Franco).

Depending on the point of view, there can be several designs. All
depends on what object the focus is:

 - The G-module and its elements: the main operations are on elements
   x of the G-module, and they are aware of G, so that one could, for
   example, do something like::

       sage: M = SymmetricGroup(5).irreducible_module([5,3])
       sage: x = M(...)
       sage: x.orbit()

 - Representations and operations on them::

       sage: G = SymmetricGroup(5)
       sage: rho = G.irreducible_module([5,3])
       sage: rho.module()
       Vector space of dimension ...
       sage: rho.character()
       s[5,3]
       sage: rho(G.one())
       An endomorphism of Vector space of dimension ...
       sage: rho.parent()
       Representations of SymmetrictGroup(5)
       sage: direct_sum([rho, rho1])
       ...

 - (virtual) characters and operations on them, category of
   representations, ...

   See the related WeylCharacterRing

 - G, as a group of operators: the main operation is to manipulate
   elements of the G as operators acting on the G-module.

I personally like the second option, for which I had some experimental
code (in a pretty specific context) in MuPAD-Combinat. But again, that
all depends on the context.


> ---------- Forwarded message ----------
> From: VictorMiller <victorsmil...@gmail.com>
> Date: Tue, Jul 28, 2009 at 5:04 PM
> Subject: [sage-devel] Developing new classes
> To: sage-devel <sage-de...@googlegroups.com>
> 
> I'm in the process of trying to write a class for G-Modules, where G
> is a finite group (in particular, I'm interested in Galois modules).
> As far as I can see, this doesn't seem to exist in SAGE.  In the
> process of doing this I've been reading over code, and noticed that
> there seems to be a certain style of creating new classes to implement
> algebraic constructs.   I've noticed that there seems to be liberal
> use of what are called "Factory Functions".  Is there some sort of
> write up about the methods that are used to build new classes?

You probably also want to look up UniqueRepresentation? Both are
essentially technical means when one wants to ensure that a given
algebraic structure is constructed only once:

        sage: H = FreeModule(QQ, 3)
        sage: G = FreeModule(QQ, 3)
        sage: G is H
        True

You might be interested as well in:

http://combinat.sagemath.org/doc/reference/sage/categories/primer.html

Best regards,
                                Nicolas
--
Nicolas M. Thiéry "Isil" <nthi...@users.sf.net>
http://Nicolas.Thiery.name/

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To post to this group, send email to sage-combinat-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to