Message Boards Message Boards

[Numberphile] - Abelian Sandpiles - Done in the Wolfram Language

POSTED BY: Sander Huisman
12 Replies

Great! I found a C++ implementation and use it with LibraryLink template to simulate when you put a large pile of sand on a single cell:

https://community.wolfram.com/groups/-/m/t/1927307

POSTED BY: Shenghui Yang
POSTED BY: Thales Fernandes

Thanks for sharing! Unit directions can also be created using:

UnitVector[3, #] & /@ Range[3]

But using permutations is also quite neat actually... I'm not sure if '4' should be the toppling value for all dimensions; I think it should be equal to the number of neighbours. So for squares: 2 in 1D, 4 in 2D, 6 in 3D et cetera. There are examples with hexagons (in 2D), where they take 6 as the toppling value...

I'm not quite sure why it is so slow though... maybe because sand is created because of the '4' thing.

Maybe you can explain me the difference between definition of the forms:

Sandpile /: Sandpile[a_List] + Sandpile[n_Integer] :=  ...
Sandpile[a_List] + Sandpile[n_Integer] ^:=  ...

I'm not very cognisant on this...

POSTED BY: Sander Huisman

Thanks for sharing! Unit directions can also be created using:

UnitVector[3, #] & /@ Range[3]

Clever!

I'm not sure if '4' should be the toppling value for all dimensions

In my 30 seconds deep internet research (Wikipedia) I couldn't find anything about the toppling number and dimensionality, I guessed it could be the number of neighbors too, but...

Maybe you can explain me the difference between definition of the forms:

No difference whatsoever in this case. I just don't like using ^:= (If that is a good enough reason, lol), and in some situations the upvalues are shared among different variables, therefore it offers more "control" (says the guy who likes excessive use of @!).

POSTED BY: Thales Fernandes

For me it's just conservation of sand; if you add '1' sand to all your neighbours, you should take away 'neighbours' amount of sand in the centre... annihilating of magically creating sand is not good I guess...

ok ok, I'm still a bit confused on the syntax, but if she works she works... all good.

POSTED BY: Sander Huisman
POSTED BY: Thales Fernandes

Thanks!

POSTED BY: Sander Huisman

You won the price :) If you're going to the tech event in Amsterdam I'll buy you a beer!

POSTED BY: l van Veen
POSTED BY: Sander Huisman

enter image description here - Congratulations! This post is now a Staff Pick! Thank you for your wonderful contributions. Please, keep them coming!

POSTED BY: Moderation Team
POSTED BY: l van Veen
POSTED BY: Sander Huisman
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract