Joy Christian's colourful exploding balls experiment
... well actually it was Mermin's experiment, first. But anyway... [correction; thanks to Joy: Peres]
Instead of doing Joy's experiment for real, why not do it by computer simulation? ("In silico", one might say). In that case we can even do it in zero gravity, at absolute temperature zero, and in a vacuum. (It will be *easier* to do it that way).
Here are some thoughts. We want to simulate spinning hemispheres. This is what computer graphics is all about. This is what your GPU (NVidia card) does. It even has quaternions "hard-wired" (geometric algebra!).
I found two R packages with support for quaternions:
http://cran.r-project.org/web/packages/onion/onion.pdf
http://cran.r-project.org/src/contrib/A ... aternions/
But this is of course about implementing them at a high level, not taking advantage of built-in hardware level (GPU instead of CPU) opportunities.
I saw a paper about tracking spinning ping-pong balls using quaternions.
http://dspace.mit.edu/bitstream/handle/ ... 13-005.pdf
I saw some stuff about GPU computing with R.
http://www.r-tutor.com/gpu-computing
We need to use "CUDA".
I suppose that one would access CUDA through intermediate level programs written in C++. There is a wonderful interface between R and C++ called Rcpp. So I think the way to go is through building transparent interfaces R - C++ - CUDA
We want to do the hard core supercomputing with the best tools (CUDA on one or more GPU's). A supercomputer on your desk. We want to do the more "front office" stuff (managing data, doing the statistics and graphics) with R.
Of course if Joy would agree on a computer simulation of his exploding colourful balls we could in principle do his experiment a whole lot more cheaply than what he has in mind (I guess he has contacts with some renegade scientist from Kazachstan or something...).
However once we enter the domain of computer simulation models, we also enter the domain where logical analysis, mathematics, including a bit of probability theory, can be used to predict the outcome of the experiment with near certainty. That would also make all the investment in supercomputers and programming superfluous too!
Instead of doing Joy's experiment for real, why not do it by computer simulation? ("In silico", one might say). In that case we can even do it in zero gravity, at absolute temperature zero, and in a vacuum. (It will be *easier* to do it that way).
Here are some thoughts. We want to simulate spinning hemispheres. This is what computer graphics is all about. This is what your GPU (NVidia card) does. It even has quaternions "hard-wired" (geometric algebra!).
I found two R packages with support for quaternions:
http://cran.r-project.org/web/packages/onion/onion.pdf
http://cran.r-project.org/src/contrib/A ... aternions/
But this is of course about implementing them at a high level, not taking advantage of built-in hardware level (GPU instead of CPU) opportunities.
I saw a paper about tracking spinning ping-pong balls using quaternions.
http://dspace.mit.edu/bitstream/handle/ ... 13-005.pdf
I saw some stuff about GPU computing with R.
http://www.r-tutor.com/gpu-computing
We need to use "CUDA".
I suppose that one would access CUDA through intermediate level programs written in C++. There is a wonderful interface between R and C++ called Rcpp. So I think the way to go is through building transparent interfaces R - C++ - CUDA
We want to do the hard core supercomputing with the best tools (CUDA on one or more GPU's). A supercomputer on your desk. We want to do the more "front office" stuff (managing data, doing the statistics and graphics) with R.
Of course if Joy would agree on a computer simulation of his exploding colourful balls we could in principle do his experiment a whole lot more cheaply than what he has in mind (I guess he has contacts with some renegade scientist from Kazachstan or something...).
However once we enter the domain of computer simulation models, we also enter the domain where logical analysis, mathematics, including a bit of probability theory, can be used to predict the outcome of the experiment with near certainty. That would also make all the investment in supercomputers and programming superfluous too!