Hey Andrew, My comment wasn't intended as a criticism of the code or of anyone: it is > great that Mike, Nicolas, Christian and others developed this. Nor was it > meat as a complaint as I think that our general philosophy is that if you > don't like something then discuss and put a patch on trac. >
I wasn't trying to imply you were, and I'm sorry if I did. I wanted to point out that it is a more general Sage issue beyond CombinatorialFreeModule, in the sense that it would be the same issues if we were trying to do this with (subclasses of) FreeModules, Rings or Algebras. > > Your second paragraph is really the point that I was making: given an > existing CombinatorialFreeModule, which by definition already has at least > one basis, it is hard for non-developers to define a new basis that plays > well with the existing ones. For me the coercions aren't really the issue, > it shouldn't be hard to streamline this and, in any case, to define a new > basis for a given module you have to say how it relates to an existing > basis. > The most basic/simple setup would be different parents (with perhaps some common (abstract) base class) with coercions between them and some common entry point. > > I have used the With Realizations framework quite a bit in my own code > and, of course, in the KL-basis machinery. For people developing code I > think this is very workable, but I doubt that a non-developer would get > very far with it. > There definitely is an entry barrier. I should also state that the WithRealizations framework also allows us to specify when particular morphisms are COB's (via the category of the Homset which we can't so easily do with ABC's). > > Down the track, what I would like to see is a way of *dynamically* adding > bases to a CombinatorialFreeModule without these new bases having to be > part of the sage source code. For example, it is possible to do this in > chevie. From my quick look at the manifold code, it seems that it allows > something in this direction. When I have time I'll see if I can find a way > of doing this... > > Ah I see what you're after. I guess what we could do is have a method to an invertible module morphism (on basis) which creates some generic subclass of CombinatorialFreeModule which uses this morphism to translate (co)multiplication for (co)algebras. Best, Travis -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-combinat-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-combinat-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-combinat-devel. For more options, visit https://groups.google.com/d/optout.