Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Can't apply Differences[] to a SparseArray[]?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg99380] Re: Can't apply Differences[] to a SparseArray[]?
  • From: dh <dh at metrohm.com>
  • Date: Mon, 4 May 2009 06:01:34 -0400 (EDT)
  • References: <gth5k4$f2k$1@smc.vnet.net>


Hi,

I can only guess why Differences does not work with sparse arrays. The 

reason may be that Differences needs neighboring elements.

A solution may be to extract the rules from a sparse array and change the 

rule accordingly. Here is an example:

============================

s = SparseArray[{5, 6, 7, 10^6} -> {10, 11, 12, 13}]

r = ArrayRules[s];

r /. HoldPattern[{i1_Integer} -> x1_] :>  ({i1} -> x1 - s[[i1 - 1]])

==============================

Daniel







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

> 




  • Prev by Date: Re: ListPointPlot3D colors from data
  • Next by Date: Re: number of Trangles in a graph-network
  • Previous by thread: Re: Can't apply Differences[] to a SparseArray[]?
  • Next by thread: PROBLEM WITH HISTOGRAM3D