On Jan 25, 9:22 am, Volker Braun <vbraun.n...@gmail.com> wrote: > On Wednesday, January 25, 2012 8:58:15 AM UTC-8, Nils Bruin wrote: > > > sage: bool(37 +i < 37 -i) > > False > > False meaning that Sage cannot affirm that it is true; IMHO the correct > answer. > > > sage: bool(37 +i > 37 -i) > > True > > BUG Having "<" return always false would actually be worse in practice. Then "sort" would not throw an error, but return unstable and implementation-dependent results.
sorting a list L of complex numbers without relying on "__cmp__" being defined for complex numbers can by done via something along the lines of sorted(L,key=list) or sorted(L,key=lambda a: (a.real(),a.imag())) The problem gets worse if you have to devise a "key" function on a more heterogeneous collection of objects, though. If someone would come up with a reasonable candidate, we could call it "total_ordering" or something like that and then people would be able to invoke sorted(L,key=total_ordering) if they need to sort things without having to rely on arbitrary orderings invading into notation that suggests more algebraic meaning than is meant. -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org