Re: SortBy won't order irrationals
- To: mathgroup at smc.vnet.net
- Subject: [mg124052] Re: SortBy won't order irrationals
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sat, 7 Jan 2012 05:20:30 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201201060916.EAA26862@smc.vnet.net>
Numeric symbols like Sqrt[2],Pi,E etc. etc are not sorted by their
value but in the same way as all other symbols. Compare:
Sort[{Pi, 4, Sqrt[2], 2, 3*E}]
{2, 4, Sqrt[2], 3*E, Pi}
with
Sort[{Pi, 4, Sqrt[2], 2, 3*E}, Less]
{Sqrt[2], 2, Pi, 4, 3*E}
Note also that you can use Sort with a custom ordering function.
Andrzej Kozlowski
On 6 Jan 2012, at 10:16, Chris Young wrote:
> Have to use N[ ] on them first. Combined with Sort's refusal to accept
> multiple keys, this is extremely exasperating.
>
> In[1218]:= ptsIrr =
> {
> {0, 2}, {1, Sqrt[2]}, {2, 2},
> {4, 1}, {Sqrt[5], 1}, {6, 1}, {Sqrt[3], 1},
> {7, 0}, {-1, 0}
> }
>
> Out[1218]= {{0, 2}, {1, Sqrt[2]}, {2, 2}, {4, 1}, {Sqrt[5], 1}, {6,
> 1}, {Sqrt[3], 1}, {7, 0}, {-1, 0}}
>
> In[1219]:= sortIrrY = SortBy[ptsIrr, #[[2]] &]
>
> Out[1219]= {{-1, 0}, {7, 0}, {4, 1}, {6, 1}, {Sqrt[3], 1}, {Sqrt[5],
> 1}, {0, 2}, {2, 2}, {1, Sqrt[2]}}
>
> In[1220]:= sortIrrYN = SortBy[ptsIrr // N, #[[2]] &]
>
> Out[1220]= {{-1., 0.}, {7., 0.}, {1.73205, 1.}, {2.23607, 1.}, {4.,
> 1.}, {6., 1.}, {1., 1.41421}, {0., 2.}, {2., 2.}}
>
> In[1221]:= sortIrrYN2 = SortBy[ptsIrr, N[#[[2]]] &]
>
> Out[1221]= {{-1, 0}, {7, 0}, {4, 1}, {6, 1}, {Sqrt[3], 1}, {Sqrt[5],
> 1}, {1, Sqrt[2]}, {0, 2}, {2, 2}}
>
>
- References:
- SortBy won't order irrationals
- From: Chris Young <cy56@comcast.net>
- SortBy won't order irrationals