Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: SortBy for multiple key sorts

  • To: mathgroup at smc.vnet.net
  • Subject: [mg124113] Re: [mg124095] Re: SortBy for multiple key sorts
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Mon, 9 Jan 2012 03:19:56 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201201060916.EAA26845@smc.vnet.net> <CAEtRDScdXGAxq8bkV7zTBtBSi5CnK__M4CQr-V4fcZkvC7Kw-A@mail.gmail.com> <201201080929.EAA01468@smc.vnet.net> <611D612A-B356-42E0-B75B-CE73BDD86BDE@mimuw.edu.pl>

On 8 Jan 2012, at 12:15, Andrzej Kozlowski wrote:

>>
>>
>> Except that SortBy by default won't order irrationals except by the 
depth of their trees, or something like that. The normal expectation is 
that an irrational would be evaluated to machine precision, I would 
think.
>
> This has nothing at all to do with "irrationality" and everything with 
being a symbolic expression. Consider, for example,
>
> ls = {9, (1 + Sqrt[2])^2 + (1 - Sqrt[2])^2, 1}
>
> All the elements of ls are rational (in fact integers) but:
>
> Sort[ls]
>
> {1, 9, (1 - Sqrt[2])^2 + (1 + Sqrt[2])^2}
>
> Sort[ls, Less]
>
> {1, (1 - Sqrt[2])^2 + (1 + Sqrt[2])^2, 9}
>
> Sort[ls, Less]
>
> {1, (1 - Sqrt[2])^2 + (1 + Sqrt[2])^2, 9}
>
> I dare say, this is exactly as one would expect this to work, since in 
principle Mathematica does not replace exact quantities by approximate 
ones unless this is specifically requested by the user. Moreover, for 
complicated enough numeric quantities (which may result in numerical 
instability) machine arithmetic may not be reliable in determining the 
order and you could easily end up with wrong expressions. It would 
obviously be a very bad idea for Mathematica to use machine precision 
arithmetic for such a purpose by default.
>
> Andrzej Kozlowski

That last line should have been:

 Simplify[ls]

{9, 6, 1}




  • Prev by Date: Re: Can't use subscripted variables in function definition?
  • Next by Date: Re: how to get string in sci. notation to a number?
  • Previous by thread: Re: Re: SortBy for multiple key sorts
  • Next by thread: SortBy won't order irrationals