Re: position of sequence of numbers in list
- To: mathgroup at smc.vnet.net
- Subject: [mg116238] Re: position of sequence of numbers in list
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Tue, 8 Feb 2011 05:04:48 -0500 (EST)
There have always been THOUSANDS of undocumented goodies in Mathematica,
judging from the number that keep coming up.
Bobby
On Mon, 07 Feb 2011 05:05:19 -0600, Armand Tamzarian
<mike.honeychurch at gmail.com> wrote:
> On Feb 6, 9:37 pm, "Mr. Wizard" <gl... at flashmail.com> wrote:
>> >I just found another way that outperforms both of our solutions on a
>> >wide range of integer arrays I tested. It turns out that one can
>> >extract the position directly from SparseArray, without using
>> >ArrayRules. It took me some time to figure it out:
>>
>> >extractPositionFromSparseArray[
>> > HoldPattern[SparseArray[u___]]] := {u}[[4, 2, 2]]
>>
>> >positionExtr[x_List, n_] :=
>> > Flatten@extractPositionFromSparseArray[
>> > SparseArray[1 - Unitize[x - n]]]
>>
>> >Again, no unpacking.
>>
>> >Best,
>> >Norbert
>>
>> Oliver Ruebenkoenig recently gave an easier way to get these values
>> in the thread "Fast matrices comparison" started January 25th, 2011.
>>
>> SparseArray[{0, 1, 0, 0, 1, 0, 1, 1, 0, 0}]["NonzeroPositions"]
>>
>> SparseArray[{1}]["Properties"]
>>
>> Paul
>
> I noted in his post that this stuff is undocumented. Hard to fathom
> why this would be. Wonder if this is a V8 thing or has been there
> since SparseArray was included.
>
> Oliver, if you're reading this, what other undocumented goodies can
> you show to the group?
>
> Mike
>
--
DrMajorBob at yahoo.com