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

Reply via email to