Hello John,

What I don't like is this: 
>
> sage: GF(7)(ZZ(GF(11)(7))) 
> 0 
>
> where the convenient lifting function from GF(p) to ZZ is done 
> automatically instead of via the functions lift() and centerlift() 
>

It is even possible to completely obscure the fact that this conversion is 
done by lifting to ZZ:

sage: GF(7)(GF(11)(7))
0

The reason why this syntax works is the same as the problem from #11239 
that started this thread, namely that conversion (as opposed to coercion) 
is done with very little checking.

It gets worse: another disastrous consequence is that one can construct an 
element of an empty set.

sage: f = GF(11).convert_map_from(GF(7))
sage: f
Conversion map:
  From: Finite Field of size 7
  To:   Finite Field of size 11
sage: f.parent()
Set of field embeddings from Finite Field of size 7 to Finite Field of size 
11
sage: H = f.parent()
sage: H.order()
0
sage: H.list()
[]
sage: f in H
True

Not a very good way to start the new year!

Peter

-- 
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/groups/opt_out.

Reply via email to