Jump to content

Quantum Mechanics: Einstein vs. Bell


arkie87
 Share

Recommended Posts

So I am reading "Fabric of the Cosmos" by Brian Greene (highly recommend btw), and he is discussing the debate between Einstein et. al. and Bell regarding whether or not elementary particles have properties before we observe them or not.

He then describes an experiment Bell proposed to determine who is correct. The idea is to take two entangled particles, and have one group measure it's spin with respect to a random axis and another group measure the spin of the other in a random axis. Einstein believed that both particles had predetermined spins in each of the primary coordinate axes. Due to probability, Bell posited that if Einstein was right, the probability that the two groups observed the same spin direction would be larger than 50%.

Bell, on the other hand, believed that the spin that the particle has in a particular axis is not decided until you measure it, and due to some logic not expressly described in the book, the probability that the two groups would observe the same spin should be 50% (or less, presumably).

This didnt make sense to me (it didnt seem like the probability would be any different), so I wrote a matlab program to test it, and I am right.

This leads me to believe that I am misunderstanding something.

Anyone familiar with this and want to venture a guess where I am going wrong?

Below is my Matlab code:

function QuantumMechanics
clc
clear all
close all

for i=1:100000
bell(i)=BellSim;
end
Bell=mean(bell(not(isnan(bell))))


for i=1:100000
epr(i)=EPRSim;
end
EPR=mean(epr(not(isnan(epr))))

end

function p=EPRSim
x=[BinaryRand,BinaryRand,BinaryRand];
a=TrinaryRand;
b=TrinaryRand;
a=x(a);
b=x(;
if a==b
p=1;
else
p=0;
end

end

function p=BellSim

a=TrinaryRand;
b=TrinaryRand;

if a==b
p=1;
else
a=BinaryRand;
b=BinaryRand;
if a==b
p=1;
else
p=0;
end
end
end

function n=TrinaryRand
n=3*rand(1);n=ceil(n);
end

function r=BinaryRand
r=rand(1)-0.5; r=sign(r);
end

Link to comment
Share on other sites

The issue here is you're trying to look at it from a purely probabilistic viewpoint, in which case there will be no difference. The test is a physical one, as the difference in probabilities is caused by the physical properties of the system, not mathematics.

To actually test whether there is a difference you need two entangled particles, which you cannot, unfortunately, program in MATLAB (or at least I can't) :)

(And of course there's the other issue that random numbers in computers are not truly random, but let's not get into that!)

Edited by Steel
Link to comment
Share on other sites

First of all, it's not about probabilities, but rather correlation. You need correlation as a function of the angle between the two bases. While both classical and quantum measurements predict the same probabilities, they predict totally different correlations between the two measurements. Because both measurements have zero mean and unit deviations, correlation is just Corr(X,Y) = E[XY] for two measurements X and Y.

But more fundamentally, you do not seem to understand how the entanglement works.

Lets start with a classical theory. Suppose that spin axis makes angle θ with your measurement axis. Classical measurement tells you that you will measure spin Sign(Cos(θ)). That still gives you 50/50 odds if you don't know θ, but if you do know θ, then it's a fixed quantity. Lets look at it backwards. Suppose you did make a measurement, and you did measure spin +1. What is θ? Well, you don't know, but you can say for sure that it's between -90° and 90°, because these are the only values of θ that give you positive Cos(θ). So now, lets say you have a duplicate of that spin with exactly opposite angle (θ+À). Naturally, if you measured +1 on the first, you'd measure -1 on this one. But suppose, you measured this one in a different basis, say, at some angle Φ to first measurement. What are the odds that you measure -1 now? Well, it depends on what θ was. But if Φ is small, almost any θ will give you -1, and if Φ is close to 180°, almost any θ will give you +1. And therein lies the correlation.

So here is a rough outline of what your classical computation should be.

1) Generate a list or random angles θ.

2) Generate a list of Sign(Cos(θ)), call this list X.

3) Generate a list of Sign(Cos(θ + Φ)) for a bunch of values of Φ from 0° to 360°, call that Y.

4) Compute correlation as Sum(X(i)Y(i)) / N, where N is the number of Φ values you used.

5) Plot the correlation as a function of Φ. You should see something that's straight line rising from -1 to 1 from 0° to 180°, and then falls back again from 180° to 360°.

Now, quantum measurements are much more complicated conceptually, but almost as easy to evaluate. I won't walk you through the entire logic, but just what's relevant to simulation. From perspective of the simulation, it doesn't really matter what the initial state was, other than that it was entangled. As soon as you measure first particle, entanglement tells us state of the other. So you can seed first measurement, X, with random values. You can use the same X as classical result, for example. The important bit is that you use that to compute measurements on Y.

So, suppose you measured +1 on the first particle. Just like in the classical case, you know that second particle has -1 in the same basis. But what are your odds of measuring -1 in the basis rotated by Φ? Well, it's <-1|Exp(iSx Φ/2)|-1>² = Cos(Φ/2)². Likewise, probability of getting +1 is Sin(Φ/2)². Note that Cos(Φ/2)² + Sin(Φ/2)² = 1, because total probability needs to be 1. And so you have your rough algorithm.

1) Generate a random list of +1/-1 values X, or just use the X from classical case.

2) For each value X, generate corresponding Y by generating a random value r between 0 and 1, then have Y = X if r > Cos(Φ/2)² and have Y = -X otherwise. Note that you need to do this once for each Φ.

3) Compute correlation as above.

4) Plot correlation as function of Φ. This time, you should see something that looks like a Cos curve.

@Steel, it's very easy to program entangled particles in Matlab if you know QM and a bit of linear algebra. :)

Link to comment
Share on other sites

The issue here is you're trying to look at it from a purely probabilistic viewpoint, in which case there will be no difference. The test is a physical one, as the difference in probabilities is caused by the physical properties of the system, not mathematics.

To actually test whether there is a difference you need two entangled particles, which you cannot, unfortunately, program in MATLAB (or at least I can't) :)

It is still unclear to me why I need two entangled particles, and cannot model the behavior statistically in Matlab... can you elaborate?

(And of course there's the other issue that random numbers in computers are not truly random, but let's not get into that!)

Yes, i am aware of that :sticktongue: but both probabilities are pretty close to expected value (i.e. 2/3)...

- - - Updated - - -

First of all, it's not about probabilities, but rather correlation. You need correlation as a function of the angle between the two bases. While both classical and quantum measurements predict the same probabilities, they predict totally different correlations between the two measurements. Because both measurements have zero mean and unit deviations, correlation is just Corr(X,Y) = E[XY] for two measurements X and Y.

But more fundamentally, you do not seem to understand how the entanglement works.

Lets start with a classical theory. Suppose that spin axis makes angle θ with your measurement axis. Classical measurement tells you that you will measure spin Sign(Cos(θ)). That still gives you 50/50 odds if you don't know θ, but if you do know θ, then it's a fixed quantity. Lets look at it backwards. Suppose you did make a measurement, and you did measure spin +1. What is θ? Well, you don't know, but you can say for sure that it's between -90° and 90°, because these are the only values of θ that give you positive Cos(θ). So now, lets say you have a duplicate of that spin with exactly opposite angle (θ+À). Naturally, if you measured +1 on the first, you'd measure -1 on this one. But suppose, you measured this one in a different basis, say, at some angle Φ to first measurement. What are the odds that you measure -1 now? Well, it depends on what θ was. But if Φ is small, almost any θ will give you -1, and if Φ is close to 180°, almost any θ will give you +1. And therein lies the correlation.

So here is a rough outline of what your classical computation should be.

1) Generate a list or random angles θ.

2) Generate a list of Sign(Cos(θ)), call this list X.

3) Generate a list of Sign(Cos(θ + Φ)) for a bunch of values of Φ from 0° to 360°, call that Y.

4) Compute correlation as Sum(X(i)Y(i)) / N, where N is the number of Φ values you used.

5) Plot the correlation as a function of Φ. You should see something that's straight line rising from -1 to 1 from 0° to 180°, and then falls back again from 180° to 360°.

Now, quantum measurements are much more complicated conceptually, but almost as easy to evaluate. I won't walk you through the entire logic, but just what's relevant to simulation. From perspective of the simulation, it doesn't really matter what the initial state was, other than that it was entangled. As soon as you measure first particle, entanglement tells us state of the other. So you can seed first measurement, X, with random values. You can use the same X as classical result, for example. The important bit is that you use that to compute measurements on Y.

So, suppose you measured +1 on the first particle. Just like in the classical case, you know that second particle has -1 in the same basis. But what are your odds of measuring -1 in the basis rotated by Φ? Well, it's <-1|Exp(iSx Φ/2)|-1>² = Cos(Φ/2)². Likewise, probability of getting +1 is Sin(Φ/2)². Note that Cos(Φ/2)² + Sin(Φ/2)² = 1, because total probability needs to be 1. And so you have your rough algorithm.

1) Generate a random list of +1/-1 values X, or just use the X from classical case.

2) For each value X, generate corresponding Y by generating a random value r between 0 and 1, then have Y = X if r > Cos(Φ/2)² and have Y = -X otherwise. Note that you need to do this once for each Φ.

3) Compute correlation as above.

4) Plot correlation as function of Φ. This time, you should see something that looks like a Cos curve.

Thank you for your detailed response! I have a few questions:

(1) I assume by "classical" computation you mean ignoring QM and assuming Einstein et. al. are correct. For this case, in step 4, what are we computing exactly. It seems like Corr = sum(X(i)*Y(i))/N for i=1:N, which should just give you one value, not a value for each i value, i.e. Corr =/= Corr(i)?

(2) I'm confused why the algorithm for QM is fundamentally different than for classical. In step two, where is the list of phi's generated? Why is Y=X if r > cos(phi/2)^2?

It seems maybe the book over-simplified (not surprisingly). The book says we measure randomly in 1 of 3 axes, but you are saying we measure a random, continuous (not discrete) shift from the other angle, which changes the logic in my code.

I will try to make sense of this and work it out in Matlab. Thanks again!

Link to comment
Share on other sites

(1) I assume by "classical" computation you mean ignoring QM and assuming Einstein et. al. are correct. For this case, in step 4, what are we computing exactly. It seems like Corr = sum(X(i)*Y(i))/N for i=1:N, which should just give you one value, not a value for each i value, i.e. Corr =/= Corr(i)?

Yes, it's just one number. But it's a different number for every angle Φ.

(2) I'm confused why the algorithm for QM is fundamentally different than for classical. In step two, where is the list of phi's generated?

You just generate a list of Φ to plot results against, same as a bove. In Matlab, you can just do phi = 0:0.1:2*pi; Likewise, you can generate all thetas in one go as theta = 2*pi*rand(1000,1); That will give you 1,000 random initial orientations. So then your code for computing a list of classical correlations might look something like this:

c = zeros(length(phi));
for j = 1:length(phi)
y = sign(cos(theta .+ phi(j)) .+ pi);
c(j) = mean(x .* y);
end

This assumes that x, theta, and phi are already computed, of course. The +pi bit is just there to account for the fact that two particles are exactly opposite in direction.

Why is Y=X if r > cos(phi/2)^2?

Just a shortcut for the odds of it being same or opposite sign. You can do this in Matlab in one ligne.

y = x.*(sign(rand(1,1000).-(cos(phi(i)/2)^2)));

It seems maybe the book over-simplified (not surprisingly). The book says we measure randomly in 1 of 3 axes, but you are saying we measure a random, continuous (not discrete) shift from the other angle, which changes the logic in my code.

I'd bet your book describes an actual experiment done with optical excitations. They are relatively inexpensive to set up in a lab, but they have some limitations. Like, it's hard to do rotations by arbitrary angles. So instead, it likely uses a discrete set of angles, and "random axis" means one of the few very specific ones randomly selected.

What I describe above is a more general case. It's possible to make this into an actual experiment, but it's a more complicated one to cary out. You have to get creative with NMR spectrometer to do measurements in arbitrary bases. But I've seen it done. Not sure if anyone has actually carried out this exact experiment, though. On the flip side, it's much more straight forward conceptually. So I'd start by simulating and understanding what's going on with this one. And then moving on to ones that are easier to set up in the lab, but harder to understand.

Edited by K^2
Link to comment
Share on other sites

Yes, it's just one number. But it's a different number for every angle Φ.

You just generate a list of Φ to plot results against, same as a bove. In Matlab, you can just do phi = 0:0.1:2*pi; Likewise, you can generate all thetas in one go as theta = 2*pi*rand(1000,1); That will give you 1,000 random initial orientations. So then your code for computing a list of classical correlations might look something like this:

c = zeros(length(phi));
for j = 1:length(phi)
y = sign(cos(theta .+ phi(j)) .+ pi);
c(j) = mean(x .* y);
end

This assumes that x, theta, and phi are already computed, of course. The +pi bit is just there to account for the fact that two particles are exactly opposite in direction.

Just a shortcut for the odds of it being same or opposite sign. You can do this in Matlab in one ligne.

y = x.*(sign(rand(1,1000).-(cos(phi(i)/2)^2)));

I'd bet your book describes an actual experiment done with optical excitations. They are relatively inexpensive to set up in a lab, but they have some limitations. Like, it's hard to do rotations by arbitrary angles. So instead, it likely uses a discrete set of angles, and "random axis" means one of the few very specific ones randomly selected.

What I describe above is a more general case. It's possible to make this into an actual experiment, but it's a more complicated one to cary out. You have to get creative with NMR spectrometer to do measurements in arbitrary bases. But I've seen it done. Not sure if anyone has actually carried out this exact experiment, though. On the flip side, it's much more straight forward conceptually. So I'd start by simulating and understanding what's going on with this one. And then moving on to ones that are easier to set up in the lab, but harder to understand.

Thanks for the help! Will review later (I read it quickly and it seems to make sense now).

I would give you rep, but apparently, i've given it to you recently already...

Link to comment
Share on other sites

@Steel, it's very easy to program entangled particles in Matlab if you know QM and a bit of linear algebra. :)

This follows the basic form of a Monte Carlo analysis with three independent random variables.

Random number generator 1 creates the theta of the spin

Random number generator 2 creates the theta of observer 1 (this should accurate be composed of an X,Y,Z axis)

Random number generator 3 creates the theta of observer 2 (this should accurate be composed of an X,Y,Z axis)

Calculate the delta vector between observer 1 and 2

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...