MathGroup Archive 2011

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

Search the Archive

Re: reliably sort?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg123711] Re: reliably sort?
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Fri, 16 Dec 2011 05:48:35 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <jca06e$a35$1@smc.vnet.net> <201112150956.EAA23025@smc.vnet.net>
  • Reply-to: drmajorbob at yahoo.com

Michael,

Sorry, but no. Union always sorts.

Bobby

On Thu, 15 Dec 2011 03:56:35 -0600, Nasser M. Abbasi <nma at 12000.org> wrote:

> On 12/14/2011 5:10 AM, Michael Stern wrote:
>> I have noticed that if combine two lists of date/data objects using
>> Union[], the result is sorted by date.
>>
>> For example
>>
>> In[]:= mins={{{2001, 1, 31}, 0.993268}, {{2002, 3, 31}, 1.01395},
>> {{2003, 6, 30},
>>     1.08647}, {{2005, 11, 30}, 1.14752}, {{2006, 9, 30},
>>     1.18938}, {{2007, 2, 28}, 1.19658}, {{2008, 1, 31},
>>     1.20432}, {{2011, 1, 31}, 1.37501}};
>> In[]:= maxs={{{2000, 10, 31}, 1.01816}, {{2001, 12, 31}, 1.02714},
>> {{2004, 2, 29},
>>      1.12702}, {{2005, 3, 31}, 1.16986}, {{2010, 10, 31}, 1.39026}};
>>
>> In[]:= Union[maxs, mins]
>>
>> Out[]= {{{2000, 10, 31}, 1.01816}, {{2001, 1, 31},
>>     0.993268}, {{2001, 12, 31}, 1.02714}, {{2002, 3, 31},
>>     1.01395}, {{2003, 6, 30}, 1.08647}, {{2004, 2, 29},
>>     1.12702}, {{2005, 3, 31}, 1.16986}, {{2005, 11, 30},
>>     1.14752}, {{2006, 9, 30}, 1.18938}, {{2007, 2, 28},
>>     1.19658}, {{2008, 1, 31}, 1.20432}, {{2010, 10, 31},
>>     1.39026}, {{2011, 1, 31}, 1.37501}}
>>
>> Is this reliable behavior? Is there any case in which Union would /not/
>> return results that have been properly sorted by date?
>>
>> Thank you,
>>
>> -Michael Stern
>
> A good question. But the Union is the set of all distinct elements
> in both sets. The result is a set. And a set has no implied order
> between its elements.
>
> It is not a sequence. Hence any order you get is just as good
> as any other. So, you can't really ask about 'sorting' when it
> comes to a 'set', because the question does not even apply.
>
> I do not know why M returns the Union set sorted. But because
> any order would just be as good as the other, may be it is just
> being nice?
>
> But you should not depend on the set returned having any
> specific order.
>
> You could always shuffle the set returned if you do not
> like it being sorted. Quick look at the help does not show
> an option to Union to remove this 'sorted' feature, but
> it is easy to shuffle the set if needed.
>
> --Nasser
>


-- 
DrMajorBob at yahoo.com



  • Prev by Date: Re: reliably sort?
  • Next by Date: Re: Problem with integration
  • Previous by thread: Re: reliably sort?
  • Next by thread: Re: reliably sort?