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.

Reply via email to