Date: Apr 24, 2013 7:02 AM
Author: Sseziwa Mukasa
Subject: Re: Sparse Array Question
One idea:

#[[1, 1]] -> Total[#[[All, 2]]] & /@ Split[Sort[myList], #[[1]] == #2[[1]] &]

In versions 7 and later you can do:

#[[1, 1]] -> Total[#[[All, 2]]] & /@ GatherBy[myList, #[[1]] &]

On Apr 23, 2013, at 12:04 AM, christopher arthur <chris.arthur1@gmail.com> wrote:

> Hello,

>

> I have a list of rules for defining a SparseArray. The list has some

> coordinates repeated with different values. If a coordinate appears in

> the list more than once, I want to sum up the values, and then have a

> SparseArray

>

> i.e., if my list were myList={{1,1}->1,{2,1}->2,{1,1}->3} then my

> SparseArray should have {1,1}->4. I've tried using ReplacePart on an

> array to say myArray=ReplacePart[myArray,...] but this seems horribly

> inefficient as a way to change values in an array.

>

> I'm using Mathematica 5.2

>

> Cheers,

>

> Chris

>