Nicolas, How about this from sage.categories.modules_with_basis.
--Mark {{{ class TensorProducts(TensorProductsCategory): """ The category of modules with basis constructed by tensor product of modules with basis. """ @cached_method def extra_super_categories(self): """ EXAMPLES:: sage: ModulesWithBasis(QQ).TensorProducts().extra_super_categories() [Category of modules with basis over Rational Field] sage: ModulesWithBasis(QQ).TensorProducts().super_categories() [Category of modules with basis over Rational Field] """ return [self.base_category()] }}} > On Thu, Apr 03, 2014 at 08:19:16AM -0400, Mark Shimozono wrote: > > Here is an example. I think the problem is that the tensor > > covariant construction functor stores the base category as an attribute > > before the QQ-module ---> QQ-vector-space category mangling occurs. > > > > --Mark > > > > {{{ > > > > sage: A=CombinatorialFreeModule(QQ,[1]) > > sage: B=CombinatorialFreeModule(QQ,[2]) > > sage: AB = tensor([A,B]) > > sage: BA = tensor([B,A]) > > sage: f = AB.module_morphism(on_basis=lambda (x,y): > > BA.monomial((y,x)), codomain=BA, category=ModulesWithBasis(QQ)) > > Traceback (most recent call last): > > ... > > TypeError: Free module generated by {1} over Rational Field # Free > > module generated by {2} over Rational Field is not in Category of vector > > spaces with basis over Rational Field > > > > }}} > > Ok, thanks! That's the same issue as we had recently: the tensor > construction is supposed to be regressive but it's not implemented as > such. Namely, C.TensorProducts() should always include C as super > category, which is not the case above: > > sage: AB in VectorSpaces(QQ) > False > > That's independent of the mangling for Modules. > > Cheers, > 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 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. > > -- 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.