#15305: Allow natural morphism between tensor products
-------------------------------------+-------------------------------------
       Reporter:  tscrim             |        Owner:  sage-combinat
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-5.13
      Component:  coercion           |   Resolution:
       Keywords:  tensor product     |    Merged in:
  coercion                           |    Reviewers:  Nicolas Borie, Travis
        Authors:  Travis Scrimshaw,  |  Scrimshaw
  Nicolas Borie                      |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |     Stopgaps:
   Dependencies:  #15309             |
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'Travis Scrimshaw, Nicolas Borie', 'oldvalue': 
u'Travis Scrimshaw'}):

 * reviewer:   => Nicolas Borie, Travis Scrimshaw
 * author:  Travis Scrimshaw => Travis Scrimshaw, Nicolas Borie


Old description:

> Given modules `A1, A2, B1, B2` with coercions `A1 -> B1` and `A2 -> B2`,
> there is the natural coercion `A1 # A2 -> B1 # B2` as the tensor of the
> factor coercions. This ticket implements the above coercion as a natural
> coercion for `CombinatorialFreeModule_Tensor`.

New description:

 Given modules `A1, A2, B1, B2` with coercions `A1 -> B1` and `A2 -> B2`,
 there is the natural coercion `A1 # A2 -> B1 # B2` as the tensor of the
 factor coercions. This ticket implements the above coercion as a natural
 coercion for `CombinatorialFreeModule_Tensor`.

 Apply: [attachment:trac_15305-coercion_tensor_products-ts.patch]

--

Comment:

 New version timings
 {{{
 sage: %timeit S2(S.an_element())
 1000 loops, best of 3: 316 us per loop
 sage: %timeit S2(S.an_element())
 1000 loops, best of 3: 317 us per loop
 sage: %timeit S2(S.an_element())
 1000 loops, best of 3: 321 us per loop
 }}}
 Although it returns a `NotImplementedError` when the coercion is not
 defined, which is the wrong kind of error, but at least it is an error.
 I'll see if I can fix this.

 I found this funny:
 {{{
 sage -t free_module.py
     [666 tests, 1.09 s]
 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/15305#comment:14>
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/groups/opt_out.

Reply via email to