On 2012-11-19, Nils Bruin <nbr...@sfu.ca> wrote: > On Nov 19, 6:22 am, Dima Pasechnik <dimp...@gmail.com> wrote: > >> Perhaps the coersion system itself might be a bit confused, but >> it looks like here we talk rigour for the sake of rigour, without >> any benefits. > > One benefit is error detection and picking proper normalizations. For > instance, if you create a "reduction map" from a projective variety to > one over GF(p), denominators need to be cleared. First you need to > clear them from the equations, but assuming you did that, it's also > important that you properly clear denominators from the > representatives for your projective points (i.e, the projective point > (1:1/p) should be represented by (p:1) before it gets mapped over). > > However, projective points over Q usually do normalized with a 1 in a > given coordinate, forcing denominators elsewhere. With an automatic > coercion you may well succeed in defining a map, only to find it > doesn't evaluate in points where you thought it should.
hmm, I don't think this example will fly. If you happen to have a divisior of p in the denominator then you get a point with every nonzero coordinate divisible by p. So the reduction of it is (0:0..:0) -- oeps --- a runtime error sowieso... > > Nasty complications with the coercion framework always happen a couple > of levels removed from the source of the problems, so I've given up on > only guarding against problems I can "imagine" and prefer the more > defensive stance of sticking with what is mathematically guaranteed to > work. If we ensure there are reasonable ways to loosen the stringent > defaults I think we can still end up with a workable system. > >> Conceptually, field division is a partial map too. > > Yes, and it always is. So assuming it's not will surely be a bug. Don't you think it's totally inconsequent that Sage can divide an element of GF(p) by an integer (and sometimes get a runtime error, sure), but Sage cannot multiply by the inverse of this integer? This looks like a bug, actually, IMHO. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To post to this group, send email to sage-devel@googlegroups.com. To unsubscribe from this group, send email to sage-devel+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en.