#16001: Make the tensor functorial construction work for crystals
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.2
      Component:  categories         |   Resolution:
       Keywords:  tensor products    |    Merged in:
  construction                       |    Reviewers:
        Authors:  Travis Scrimshaw   |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  25f4a43d3daef82fc79421a2485b626f91d77816
  public/combinat/crystals/tensor_construction-16001|     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by tscrim):

 This is an attempt at me doing category theory with Lang's ''Algebra'' in
 front of me, so I hope it's not too far off.

 I don't think this is a (Cartesian) product (in the category of crystals)
 since there are not natural projection maps (crystal morphisms) onto the
 factors as the weight/epsilons/phis are not preserved. In the category of
 crystals, I believe "multi-linearity" is defined by the tensor product
 rule, so it is a tensor product.

 For vector spaces, the direct sum does correspond to the category
 theoretic product. So when we want to consider this as a basis indexing
 ''set'' for a free module and take a tensor product of those modules, we
 will want to consider the product, but only after applying the forgetful
 functor to the crystal. I think we'd want to do this in other situations
 where we have a concrete category that doesn't have a product.

 However I think the situation is a bit different as a
 U,,q,,('''g''')-module in category ''O'' when we want to use the crystal
 structure to construct the canonical basis. I'm currently doing this in
 #14901. Although I will need to override the tensor product construction
 to pass to the corresponding tensor product of crystals in order to use
 that structure.

 Now onto code. I do agree it would be nice to have
 `TensorProdutOfCrystals` inherit from Cartesian products when thought of
 as sets, but I think there would only be three methods that we'd need to
 duplicate (`__iter__()`, `__contains__()`, and `cardinality()`). Unless
 you can think of others? Maybe we should keep the class of
 `CartesianProduct` (of sets) around as a way to inherit these features?

 Please correct me if I'm wrong on any of the above.

 Best,[[BR]]
 Travis

--
Ticket URL: <http://trac.sagemath.org/ticket/16001#comment:3>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to