```Date: Apr 24, 2013 7:01 AM
Author: Bob Hanlon
Subject: Re: Sparse Array Question

myList = {{1, 1} -> 1, {2, 1} -> 2,   {1, 1} -> 3, {2, 2} -> 1, {1, 1} -> 1};myList //. {s___, a_ -> b_, m___, a_ -> c_, e___} ->  {s, a -> (b + c), m, e}{{1, 1} -> 5, {2, 1} -> 2, {2, 2} -> 1}For v3 or later (Split was new in v3)#[[1, 1]] -> Plus @@ #[[All, -1]] & /@ Split[Sort[myList], #1[[1]] == #2[[1]] &]{{1, 1} -> 5, {2, 1} -> 2, {2, 2} -> 1}For v5 or later (Total was new in v5)#[[1, 1]] -> Total[#[[All, -1]]] & /@ Split[Sort[myList], #1[[1]] == #2[[1]] &]{{1, 1} -> 5, {2, 1} -> 2, {2, 2} -> 1}For v7 or later (GatherBy was new in v7)#[[1, 1]] -> Total[#[[All, -1]]] & /@ GatherBy[myList, First]{{1, 1} -> 5, {2, 1} -> 2, {2, 2} -> 1}Bob HanlonOn Tue, 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>>
```