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.