The key here is understanding exactly what x[0] is: it's not a rational. If you run your code (after adding the line "set_random_seed(3)" at the start to make sure we're working with the same matrices), you see:
sage: minx, maxx, miny, maxy (+Infinity, (3), +Infinity, (21/5)) and the odd parentheses should hint at the problem: sage: type(maxx), type(maxy) (<type 'sage.modules.vector_rational_dense.Vector_rational_dense'>, <type 'sage.modules.vector_rational_dense.Vector_rational_dense'>) sage: x[0] (5/7) sage: type(x[0]) <type 'sage.modules.vector_rational_dense.Vector_rational_dense'> We're not comparing the rational 5/7 with infinity, we're comparing the *vector* (5/7,) -- comma inserted for clarity -- with infinity. Anyway, comparisons between things which shouldn't be compared tend to give weird results if they work: sage: x = 5/7 sage: x < infinity # good True sage: x > infinity # good False sage: x = vector([5/7]) sage: x < infinity False sage: x > infinity True sage: 5/7 < vector([0.0]) True If you replace x[0] by x[0][0], and x[1] by x[1][0], so that you're comparing the entries and not the row vectors, it should do what you expect. (You could also use x = x.list() to coerce to a list and then x[0] and x[1] will work, I guess, but that kind of hides what's going on.) Hope that helps, Doug -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org