Nicolas,

I had to add a bunch of code in several places to deal properly with the 
JoinCategories that were autogenerated by
ModulesWithBasis(field).TensorProducts() 
coming from the ModulesWithBasis(field) ---> VectorSpaces(field)
dispatch, but then everything started working brilliantly!!!

I gave JoinCategory and VectorSpaces.TensorProducts()
extra_super_categories so they work like ModulesWithBasis.TensorProducts()
was supposed to (so that the tensor product categories are properly reminded 
that
they are module/vector space categories) and was really careful whenever trying 
to take
base_category of something like ModulesWithBasis(field).TensorProducts()
(which is currently a JoinCategory and therefore has no base_category method).

--Mark

> My vote for tensor products is that
> I really want any instance of ModulesWithBasis(R).TensorProducts()
> to be an instance of ModulesWithBasis(R), to automatically have the
> module methods to use, etc.
> 
> There is something bothering me.
> 
> Just now I had an annoying bug.
> I made an instance of a subclass of CombinatorialFreeModule_Tensor
> (which is a subclass of CombinatorialFreeModule)
> which, despite being apparently properly __init__ed with
> a tensor category, did not have the basis method of CFM.
> Then I __init__ed with the tensor category joined with
> the module category, and lo and behold, the basis method appeared.
> 
> Why didn't usual lexical inheritance supply the basis method?
> 
> --Mark
> 
> > On Thu, Apr 03, 2014 at 09:59:39AM -0400, Mark Shimozono wrote:
> > > Removing this made a difference.
> > > I made a TensorUnit class that was of this type,
> > > but not made by the usual tensor construction,
> > > and it needed the above definition to know it had a basis.
> > 
> > Oh, you are right, sorry! I misread the code. I though
> > TensorProductsCategory was a subclass of
> > RegressiveCovariantConstructionCategory. Hmm, back to the discussion
> > about option (a) or (b). The same question arises for
> > CartesianProducts; do we want it to be regressive, like is the case
> > of Quotients and the like. It's not exactly the same use case.
> > 
> > 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.
> 
> 
 
 
 
 

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

Reply via email to