On Nov 2, 2006, at 8:06 PM, David Harvey wrote: > On Nov 2, 2006, at 11:02 PM, Robert Bradshaw wrote: > >> I think if there is a natural coercion S -> R, one should also be >> able to do >> >> x * y = x * y.base_extend(R) >> >> Right now something like >> >> sage: R.<x> = ZZ['x'] >> sage: (1/2) * (x^2-x) >> >> throws an "unable to find a common parent" type error. I am wondering >> if there are any (many) other cases where there is an unambiguous >> common parent that is not the parent of either "sibling." I think >> there should be generic code able to handle this for elements defined >> over a basering (e.g. polynomials, series, matrices, etc.) but >> perhaps there are other such situations too (e.g. the product of >> elements of two extensions of Q, though I haven't given thought to >> how messy this could become). > > This is much harder. I agree it would be nice, but how would you > handle something like > > sage: R.<x> = ZZ["x"] > sage: S.<y> = ZZ["y"] > sage: x*y > > ?? > > David
Now you could return that as an element of ZZ['x', 'y'], but I'm not sure that would be a good idea. (non-common parents could be good runtime indicators that something could be wrong, and efficiency could really drop...) 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---