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 -~----------~----~----~----~------~----~------~--~---