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