On 17/09/15 06:53, Simon King wrote:
Hi!

On 2015-09-17, Jeroen Demeyer <jdeme...@cage.ugent.be> wrote:
On 2015-09-16 16:43, Jean-Pierre Flori wrote:
Hi,

I guess one of the issue is that there is no canonical map between two
different representations of the same finite field (so no coercion).

The question is really: is the map between representations of the same
finite field, which differ only in variable name, "canonical"?

I think that it is in the same way canonical as we have a
name-preserving map between polynomial rings.

The real problem here is that *conversion* gives rise to an error
that mentions *coercion*.

   sage: K.<x> = GF(25)
   sage: L.<y> = GF(25)
   sage: K(y)
   Traceback (most recent call last):
   ...
   TypeError: unable to coerce from a finite field other than the prime subfield

That's clearly a bug. Conversion should work, even if it isn't canonical
and thus doesn't qualify as coercion!

Is there no ticket for it already? I think I have seen that issue
before.

+1

The behavior should be similar to

sage: Rx.<x> = ZZ[]
sage: Ry.<y> = ZZ[]
sage: Rx(3*y**2 + 1)
3*x^2 + 1
sage: x+y
Traceback (most recent call last):
...
TypeError: unsupported operand parent(s) for '+': 'Univariate Polynomial Ring in x over Integer Ring' and 'Univariate Polynomial Ring in y over Integer Ring'

Vincent

--
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 post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to