Re: Can't apply Differences[] to a SparseArray[]?
- To: mathgroup at smc.vnet.net
- Subject: [mg99351] Re: [mg99312] Can't apply Differences[] to a SparseArray[]?
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sun, 3 May 2009 05:23:47 -0400 (EDT)
- References: <200905021001.GAA15469@smc.vnet.net>
On 2 May 2009, at 19:01, jmay wrote:
> Mathematica newbie here.
>
> I'd like to apply the Differences[] function to a sparse array. Other
> list operations appear to work, but I'm seeing this:
>
> s = SparseArray[{5, 6, 7} -> {10, 11, 12}]
>
> Differences[s]
>
> Differences::list: List expected at position 1 in Differences
> [SparseArray[Automatic,{7},0,{1,{{0,3},{{5},{6},{7}}},{10,11,12}}]].
>
> What is special about Differences? I don't want to convert the sparse
> array to a regular list; my data set could have thousands or millions
> of missing elements.
>
> Thanks,
> -Jason
>
Probably an oversight in the implementation of Differences. As a work
around try ListConvolve:
s = SparseArray[{5, 6, 7} -> {10, 11, 12}];
ListConvolve[{1, -1}, s]
{0, 0, 0, 10, 1, 1}
Andrzej Kozlowski
- References:
- Can't apply Differences[] to a SparseArray[]?
- From: jmay <jason.may@gmail.com>
- Can't apply Differences[] to a SparseArray[]?