[Date Index]
[Thread Index]
[Author Index]
Re: Why does the order of down values come back?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg124819] Re: Why does the order of down values come back?
*From*: Leonid Shifrin <lshifr at gmail.com>
*Date*: Wed, 8 Feb 2012 05:30:28 -0500 (EST)
*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com
*References*: <jgo0e9$a2k$1@smc.vnet.net>
A more precise statement would be that DownValues with Sort->False do not
perform additional sorting,
and presumably expose the content of the rules just as they are kept in the
underlying hash-table. This does not however mean that they will come in
the order they were entered - since generally hash-table (at least the one
used to implement DownValues) does not guarantee you that. This happens to
be true for a small number of key-value pairs, but not in general. Try, for
example, this:
f[x_] := f[x] = x;
f /@ Range[100]
and then inspect the DownValues of f. Here is one relevant discussion I am
aware of:
http://stackoverflow.com/questions/7062268/what-sort-option-of-values-does/7063143#7063143
Cheers,
Leonid
On Tue, Feb 7, 2012 at 12:05 PM, Oleksandr Rasputinov <
oleksandr_rasputinov at ymail.com> wrote:
> On Mon, 06 Feb 2012 07:45:13 -0000, Shizu <slivo.vitz at msa.hinet.net>
> wrote:
>
> > In[]:= f[0] := 0;f[1] := 1;f[n_] := f[n - 1] + f[n - 2]
> >
> > In[]:= DownValues[f]
> > Out[]:= {HoldPattern[f[0]] :> 0, HoldPattern[f[1]] :> 1,
> > HoldPattern[f[n_]] :> f[n - 1] + f[n - 2]}
> >
> > In[]:= DownValues[f] = Reverse[DownValues[f]]
> > Out[]:= {HoldPattern[f[n_]] :> f[n - 1] + f[n - 2], HoldPattern[f[1]] :>
> > 1, HoldPattern[f[0]] :> 0}
> >
> > In[]:= DownValues[f]
> > Out[]:= {HoldPattern[f[0]] :> 0, HoldPattern[f[1]] :> 1,
> > HoldPattern[f[n_]] :> f[n - 1] + f[n - 2]}
> >
> > ====================================================
> > My question is:
> >
> > Why does the order of down values comes back after reordering?
> >
> > Thanks.
> >
>
> Because DownValues sorts its output by default. The actual downvalues are
> not, however, sorted; the order is as you set them. To see their actual
> order, use the (undocumented) option:
>
> DownValues[f, Sort -> False]
>
>
Prev by Date:
**Re: Formatting Input cell comments**
Next by Date:
**Kolmogorov Smirnov in two or more dimensions**
Previous by thread:
**Re: Why does the order of down values come back?**
Next by thread:
**Re: Why does the order of down values come back?**
| |