https://arxiv.org/abs/1806.02392

"Quantum correlations are weaved by the spinors of the Euclidean primitives"

- Code: Select all
`//Adaptation of Albert Jan Wonnink's original code based on GAViewer for Joy Christian's S^7 Model of the 2-particle`

//Correlations: http://challengingbell.blogspot.com/2015/03/numerical-validation-of-vanishing-of.html

function getRandomLambda()

{

if( rand()>0.5) {return 1;} else {return -1;}

}

function getRandomUnitVector() //uniform random unit vector:

//http://mathworld.wolfram.com/SpherePointPicking.html

{

v=randGaussStd()*e1+randGaussStd()*e2+ randGaussStd()*e3; //3D Vectors

return normalize(v);

}

batch test()

{

set_window_title("3D Test of Joy Christian's Local-Realistic S^7 Model for the 2-particle correlations");

default_model(p3ga);

N=1000; //number of iterations (trials)

I=e1^e2^e3;

s=0;

t=0;

u=0;

for(nn=0;nn<N;nn=nn+1) //perform the experiment N times

{

ar=getRandomUnitVector()/(sqrt(2));

ad=normalize(ar.(e1*e2+e2*e3+e3*e1))/(sqrt(2));

Da=((I ar) + (ad e0));

br=getRandomUnitVector()/(sqrt(2));

bd=normalize(br.(e1*e2+e2*e3+e3*e1))/(sqrt(2));

Db=((I br) + (bd e0));

lambda=getRandomLambda(); //lambda is a fair coin, giving the +1 or -1 choice

A=(-Da)*(lambda*Da); //eq.(188) of https://arxiv.org/abs/1806.02392

B=(lambda*Db)*(Db); //eq.(189) of https://arxiv.org/abs/1806.02392

LA=A/(-Da);

LB=B/(Db); //implements the twist in the Hopf bundle of S^3

q=0;

if(lambda==1) {q=(LA LB);} else {q=(LB LA);}

s=s+q;

print(corrs=scalar(q), "f"); //Output the correlations

p_ar=atan2(scalar(Da/(e3^e1)), scalar(Da/(e2^e3)));

p_br=atan2(scalar(Db/(e3^e1)), scalar(Db/(e2^e3)));

p_ad=atan2(scalar(Da/(e2^e0)), scalar(Da/(e1^e0)));

p_bd=atan2(scalar(Db/(e2^e0)), scalar(Db/(e1^e0)));

t_ar=acos(scalar(sqrt(2)*Da/(e1^e2)));

t_br=acos(scalar(sqrt(2)*Db/(e1^e2)));

t_ad=acos(scalar(sqrt(2)*Da/(e3^e0)));

t_bd=acos(scalar(sqrt(2)*Db/(e3^e0)));

calc128_nr=-(sin(t_ar)*cos(p_ar)*sin(t_br)*cos(p_br)+sin(t_ar)*sin(p_ar)*sin(t_br)*sin(p_br)+cos(t_ar)*cos(t_br))/2;

calc128_nd=-(sin(t_ad)*cos(p_ad)*sin(t_bd)*cos(p_bd)+sin(t_ad)*sin(p_ad)*sin(t_bd)*sin(p_bd)+cos(t_ad)*cos(t_bd))/2;

calc128=calc128_nr+calc128_nd;

print(calc128, "f"); //eq. (128) of https://arxiv.org/abs/1806.02392

t=t+A;

u=u+B;

}

mean=s/N;

print(mean, "f"); //shows the vanishing of the non-scalar part

aveA=t/N;

print(aveA, "f"); //verifies that individual average < A > = 0

aveB=u/N;

print(aveB, "f"); //verifies that individual average < B > = 0

prompt();

}

Typical output is,

- Code: Select all
`corrs = 0.798286`

calc128 = 0.798286

corrs = 0.332107

calc128 = 0.332107

corrs = 0.637114

calc128 = 0.637114

corrs = -0.069266

calc128 = -0.069266

corrs = 0.700589

calc128 = 0.700589

corrs = -0.149366

calc128 = -0.149366

corrs = 0.221621

calc128 = 0.221621

corrs = -0.474967

calc128 = -0.474967

corrs = 0.381021

calc128 = 0.381021

corrs = 0.944316

calc128 = 0.944316

corrs = -0.764949

calc128 = -0.764949

corrs = -0.835346

calc128 = -0.835346

corrs = 0.730391

calc128 = 0.730391

corrs = -0.097801

calc128 = -0.097801

corrs = -0.077297

calc128 = -0.077297

corrs = -0.698316

calc128 = -0.698316

corrs = 0.611270

calc128 = 0.611270

corrs = -0.007254

calc128 = -0.007254

corrs = 0.346173

calc128 = 0.346173

corrs = 0.034606

calc128 = 0.034606

corrs = -0.949863

calc128 = -0.949863

corrs = 0.548855

calc128 = 0.548855

corrs = -0.994516

calc128 = -0.994516

corrs = 0.866160

calc128 = 0.866160

corrs = 0.367073

calc128 = 0.367073

corrs = 0.638515

calc128 = 0.638515

corrs = 0.676131

calc128 = 0.676131

corrs = 0.611254

calc128 = 0.611254

corrs = -0.542694

calc128 = -0.542694

corrs = 0.370916

calc128 = 0.370916

corrs = 0.498773

calc128 = 0.498773

corrs = -0.501780

calc128 = -0.501780

corrs = 0.911976

calc128 = 0.911976

corrs = 0.864084

calc128 = 0.864084

corrs = 0.017605

calc128 = 0.017605

corrs = 0.233319

calc128 = 0.233319

corrs = 0.713419

calc128 = 0.713419

corrs = -0.346062

calc128 = -0.346062

corrs = -0.709437

calc128 = -0.709437

corrs = -0.584237

calc128 = -0.584237

corrs = 0.006714

calc128 = 0.006714

corrs = -0.267126

calc128 = -0.267126

corrs = -0.628350

calc128 = -0.628350

corrs = 0.359896

calc128 = 0.359896

corrs = 0.259837

calc128 = 0.259837

corrs = -0.985534

calc128 = -0.985534

corrs = -0.239030

calc128 = -0.239030

corrs = 0.820742

calc128 = 0.820742

corrs = -0.539447

calc128 = -0.539447

corrs = -0.836740

calc128 = -0.836740

corrs = -0.892223

calc128 = -0.892223

corrs = -0.566705

calc128 = -0.566705

corrs = -0.121463

calc128 = -0.121463

And then we also have,

mean = 0.013063 + 0.016194*e2^e3 + 0.000806*e3^e1 + 0.020968*e1^e2 + 0.016743*e1^e0 + 0.000431*e2^e0 + -0.008496*e3^e0 + 0.004857*e1^e2^e3^e0

aveA = 0.022000

aveB = -0.022000

.