I am not quite sure I understand how this works / what is used:

sage: pushout(e.parent(), z.parent())
Multivariate Polynomial Ring in z, q over Infinite polynomial ring in F 
over Multivariate Polynomial Ring in z, q over Rational Field
sage: coercion_model.common_parent(z, e)
Multivariate Polynomial Ring in z, q over Infinite polynomial ring in F 
over Rational Field

Martin
On Friday 12 January 2024 at 22:47:49 UTC+1 Martin R wrote:

> Hm, that's somewhat unfortunate - I don't see how to work around it.  I 
> guess I would have to force all elements to be in P (using the notation of 
> the example), but this is, I think, not possible.
>
> Do you know where this behaviour is determined?
>
> On Friday 12 January 2024 at 22:09:41 UTC+1 Nils Bruin wrote:
>
>> On Friday 12 January 2024 at 14:30:06 UTC-5 Martin R wrote:
>>
>> I made a tiny bit of progress, and now face the following problem:
>>
>> sage: I.<F> = InfinitePolynomialRing(QQ) 
>> sage: P.<z, q> = I[] 
>> sage: e = z*q 
>> sage: Q.<z, q> = QQ[] 
>> sage: z*e
>> z*z*q 
>>
>> Is this correct behaviour?
>>
>> I don't think it's desperately wrong. To sage, these structures look like:
>>
>> sage: P.construction()
>> (MPoly[z,q], Infinite polynomial ring in F over Rational Field)
>> sage: Q.construction()
>> (MPoly[z,q], Rational Field)
>> sage: parent(z*e).construction()
>> (MPoly[z,q],
>>  Infinite polynomial ring in F over Multivariate Polynomial Ring in z, q 
>> over Rational Field)
>>
>> Note that an "infinite polynomial ring" is a different object than an 
>> MPoly, and obviously it has different rules/priorities for finding common 
>> overstructures.
>>  
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/9087dfc6-f12d-4502-bf26-686a76eb3196n%40googlegroups.com.

Reply via email to