Joy Christian wrote:***
I had asked Chantal Roth to translate John Reed's Mathematica simulation of my 3-sphere model with 3D vectors in R (because R is the only programming language I understand a bit).
Chantal kindly obliged and produced the simulation in no time. Here is her code (published by Rpubs):
http://rpubs.com/chenopodium/516072.
The plot looks fantastic! Of course it does, because my 3-sphere model is the only correct way to understand the singlet correlations without any unpalatable conceptual baggage.
***
Yes, this is a fancy way to compute zero by simulation, and a fancy way to compute a cosine curve.
The two parts of the code (computation of mean values by simulation, and drawing the curve) are completely disjoint. There is no simulation at all in the curve. It is a theoretical calculation, exact, of the cosine.
The whole thing proves nothing but does show how one can skillfully create illusions. Great team-work of Joy and Chantal!
The first part with the numerical results, the computation of some mean values, uses the fact that if you toss a fair coin 100,000 times, code "H" and "T" with -1 and +1, and average, you'll get something very close to zero. The simulation would be a lot faster, and it would be exact instead of approximate, if you used that theoretical mean value (zero) instead of the empirical average (something random pretty close to zero).
The core of the calculations is an exact (theoretical) computation and in fact just the exact and conventional computation with Pauli matrices. There is no "conceptual baggage" in this nice R code at all. The "simulation" is spurious. There are a lot of different random directions a and b. lambda does not have to mean anything, does not have to correspond to anything in reality. For the (first part) numerical result, the 100,000 repetitions are simply a clumsy way to approximately compute zero, and a way to densely sample directions a and b. We know from Bell's theorem, thought of as a result from approximation theory or numerical analysis or theoretical computer science, that there is no way to convert the "concept" of this computation into a local realistic model. Trivially, we know that if lambda can only take on two different values with equal probability, and if functions A and B take the values +/-1 only, then the product A(a, lambda)B(b, lambda) can only take two different values +/-1 with equal probability, or this product will always equal +1, or always equal -1. The mean value of A(a, lambda)B(b, lambda) can therefore only be -1, 0, or +1, whatever the values of a or b.
Notice that the final plot is the plot of the *real part* of the product of two quaternions, which depend on directions a and b, against the angle between the directions. In Joy's model he takes the product in two different orders depending on the value lambda, and averages. In Chantal's code, plotting the cosine curve, she doesn't bother to average at all. She just calculates the real part of the product of the two quaternions, which does not depend on the order of multiplication at all! "lambda" does not play any role at all in the plot of the curve! It is exact!