On May 4, 2008, at 12:49 PM, David Kohel wrote:

> Hi,
>
> Tensor products (of commutative rings) are "necessary" for
> representing the
> coordinate rings of a product of [affine] schemes.
>
> For commutative rings, a new tensor product class imay not be needed
> or desirable, rather what is missing  currently is the homomorphisms.
>
> Given algebras A and B, I would return C and the two maps m1: A -> C
> and m2: B -> C:
>
> (C, m1, m2) = A.tensor_product(B,ring=R)

I might prefer to have something like

     C = A.tensor_product(B, ring=R)

and then one can do

     C.coerce_map_from(A)
     C.coerce_map_from(B)

to get the maps. One would rarely need the maps themselves, as one  
could do C(a) and C(b), or even c + a, and the coercion model would  
handle it all well (here a, b, and c live in A, B, and C resp. of  
course). C would probably be implemented one of David Roe's wrapper  
classes, so Q tensor Z[x] would be Q[x], but would still know its  
factors.

> The algebra C would be an algebra which represents the tensor product
> and whose class could depend on A and B. If the ring is not specified,
> then A and B should have the same base_ring.

Or perhaps a reasonable default could be found. (e.g. if A is over Z  
and B over Q, then the tensor makes sense over Z).

> Tensor products of polynomial rings and their quotients would be the
> first natural cases to implement.

Certainly.

There seems to be a lot of talk about having a tensor product  
structure in Sage lately, and coincidentally I wrote up a simple  
tensor product implementation just a few weeks ago. It doesn't really  
do anything other than just store elements as sums of pairs (a,b),  
and has 0% doctest coverage (in fact, it's just sitting in a big  
notebook cell) but perhaps I could check it in if people are  
interested. I am not sure what operations (if any) one can do for  
completely generic tensor products, but we should still have them.

- Robert


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to