Drexel dragonThe Math ForumDonate to the Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Sparse Array Question
Replies: 2   Last Post: Apr 24, 2013 7:02 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Sseziwa Mukasa

Posts: 108
Registered: 8/26/07
Re: Sparse Array Question
Posted: Apr 24, 2013 7:02 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

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

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2015. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.