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