Re: Can't apply Differencesto a SparseArray[]?

• To: mathgroup at smc.vnet.net
• Subject: [mg99345] Re: Can't apply Differencesto a SparseArray[]?
• From: Bill Rowe <readnews at sbcglobal.net>
• Date: Sun, 3 May 2009 05:22:38 -0400 (EDT)

```On 5/2/09 at 6:01 AM, jason.may at gmail.com (jmay) wrote:

>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.

Obviously Differences doesn't accept SparseArray arguments. But
you can get the differences of successive elements without
converting the array to a normal list. For example,

In[24]:= s = SparseArray[{5, 6, 7} -> {10, 11, 12}];
d = Rest[s] - Most[s]

Out[25]= SparseArray[<3>,{6}]

In[26]:= Normal[d]

Out[26]= {0,0,0,10,1,1}

```

• Prev by Date: Re: Defining function with indexed variables
• Next by Date: Re: Introducing the Wolfram Mathematica Tutorial Collection
• Previous by thread: Re: Re: Solving the system with inexact coefficients
• Next by thread: possible bug in symbolic sum of a trig series