This might be at fault: sage: coercion_model.analyse(q,e) (['Action discovered.', Left scalar multiplication by Multivariate Polynomial Ring in z, q over Rational Field on Multivariate Polynomial Ring in z, q over Infinite polynomial ring in F over Rational Field], Multivariate Polynomial Ring in z, q over Infinite polynomial ring in F over Multivariate Polynomial Ring in z, q over Rational Field)
it looks like somehow an action is found before "common parent" multiplication is used. On Friday 12 January 2024 at 17:24:00 UTC-5 Martin R wrote: 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/52d111fa-9539-46c0-8c16-a8f775a88bd3n%40googlegroups.com.