Jump to content

New simulation shows Einstein was correct about hidden variables


Theoretical

Recommended Posts

This can't possibly be true! I'm sure I'll look like a fool soon enough lol. A computer simulation I wrote (source code below) correctly predicts Bell's experiment results using hidden variables. Basically I wrote it as I felt the photons would behave. Both of the entangled photons polarities are predetermined before they arrive at the polarizers. Unless I've made an error, this shows that Einstein was correct.

 

My simulation is based on a Bell's experiment in the following video:

 

 

She clearly states the experiment result is 1/2, which is what my simulation gets. Further on in the video she goes over an example that uses hidden variables. She states that the hidden variable version gives incorrect results.

 

My simulation doesn't rely upon any complex math. It uses simple math, and relies upon on the simulation to show the results. It uses the probability of a photon traveling through a polarizer, which is Intensity*cos(angle)^2.

 

Below is the source code written in c language. The variable total_polarizer_incs is how many angles the simulation uses in the test. It's set to 3 because that's how many are used in the Bell's experiment outlined in the video.

 

So the simulation has two source code loops to calculate the results. One inside the other. The outermost loop scans through different polarizer angles, which is variable polarizer_angle2. Within that loop is photon_polarization, which scans through a range of photon polarizations. The step size is set by variable total_photon_incs, which is 10000, but you can make it has high as you like. This is how many times an entangled set of photons are shot out at the polarizers. Photon polarizations in real life are random. The software could also use random numbers. It will give the same results, except the random number version will be slightly less accurate because there's no way of guaranteeing an exact equal random number set. But this is overcome by shooting more photons to get a better average. Next, the simulation calculates the probability of photon #1 going through the polarizer. In c language we square a long double number using powl(number, 2.0L). In this case it's taking the cosines of the photon angel relative to polarizer #1, which is always at zero since both polarizers angles are relative to each other, then it squares it; cos(angle)^2. Next it calculates the probability of photon #2 going through polarizer #2 (can be one of three angles). Next the simulation calculates the probability of photon #2 being the same as photon #1 if/when photon #1 went through the polarizer, which is probability1 * probability2. Initially I had the simulator looping through to calculate this, but it was simple and straightforward math. So it's now simplified. Next the simulator calculates the probability of photon #2 being the same as photon #1 if/when photon #1 did not go through the polarizer, which is (1 - probability1) * (1 - probability2). By the way the simulator also adds the two aforementioned probabilities to the variable probability_same. The simulator then loops back and repeats until it's done going through all of the photon angle possibilities. It will then add the total probability to the grand total variable, probability_same_total. Next the simulator loops back to the outermost loop to change the polarization angle. That's about it.

 

I would greatly appreciate any feedback. I've gone over the code dozens of times, but you know how it goes when you've been looking at something too long. Maybe someone can see an obvious error. Absolutely no disrespect to anyone or QM, but I honestly believe Albert Einstein was correct that there are "hidden" variables. I've tried my best to simulate this the way I think things happen. Perhaps this simulator isn't the evidence since it seems slim and none it's correct, but we'll see.

 

Please note that I never fudged anything to arrive at this source code or results. The way it operates is what was in mind from the start. Please feel free to run this simulation on your computer or forward this post to someone.

 

 

If you use MFC, then don't forget to include the math library:

 

#include "math.h"

 

 

// Bell's experiment using hidden variables

 

long i;

long double PI = 3.1415926535897932384626433832795L;

long double TWO_PI = 3.1415926535897932384626433832795L * 2.0L;

long double HALF_PI = PI / 2.0L;

long double photon_polarization, probability1, probability2, probability_same, probability_same_total=0;

long double polarizer_angle2; // polarizer_angle1 is always 0 deg.

long double total_polarizer_incs = 3.0L;

long double polarizer_angle2_inc = TWO_PI / total_polarizer_incs;

long double total_photon_incs = 10000.0L;

long double photon_polarization_inc = TWO_PI / total_photon_incs;

 

// draw bottom line, 0%

for(i=10;i<10+TWO_PI*100.0L;i+=3) {

pDC->SetPixel(i,500,0xff0000);

}

// draw top line, 100%

for(i=10;i<10+TWO_PI*100.0L;i+=3) {

pDC->SetPixel(i,200,0xff0000);

}

// draw center line, 50%

for(i=10;i<10+TWO_PI*100.0L;i+=3) {

pDC->SetPixel(i,350,0xff0000);

}

 

 

// code that does the simulation starts here

 

for(polarizer_angle2=0; polarizer_angle2 < TWO_PI; polarizer_angle2 += polarizer_angle2_inc) {

for(photon_polarization=probability_same=0; photon_polarization < TWO_PI; photon_polarization += photon_polarization_inc) {

probability1 = powl(cosl(photon_polarization), 2.0L); // photon #1

probability2 = powl(cosl(photon_polarization - polarizer_angle2), 2.0L); // photon #2

// calc probility of photon #1 & #2 both being a 1

probability_same += probability1*probability2;

// calc probility of photon #1 & #2 both being a 0

probability_same += (1.0L - probability1)*(1.0L - probability2);

}

probability_same_total += probability_same/total_photon_incs;

 

// draw result for this polarizer angle

pDC->MoveTo(10+polarizer_angle2*100.0L, 500);

pDC->LineTo(10+polarizer_angle2*100.0L, 500-probability_same/total_polarizer_incs*300);

}

probability_same_total /= total_polarizer_incs; // Result: 0.5

Link to comment
Share on other sites

I do not completely get your point. And I think you are a bit over-excited about your computer program. Since you did not generate any replies so far, let me start with a few random comments:

 

1)

The calculation your computer program does can be performed analytically (with the help of Wolfram Alpha for the integrals):

[math]\frac 13 \sum_{P = 0, 2\pi/3, 4\pi/3} \frac{1}{2\pi} \int_{0}^{2\pi} \cos^2 \alpha \, \cos^2 ( \alpha - P) + \left( 1- \cos^2 \alpha \right) \left( 1-\cos^2 ( \alpha - P) \right) \, d\alpha[/math]

[math]= \frac 13 \sum_{P = 0, 2\pi/3, 4\pi/3} \frac{1}{2\pi} \int_{0}^{2\pi} 1 + 2 \cos^2 \alpha \, \cos^2 ( \alpha - P) - \cos^2 \alpha -\cos^2 ( \alpha - P) \, d\alpha[/math]

[math]= \frac 13 \sum_{P = 0, 2\pi/3, 4\pi/3} \left[ 1 + \frac{1}{2\pi} 2 \left( \frac{\pi}{4}(\cos(2P) +2 ) \right) - \frac 12 -\frac 12 \right][/math]

[math]= \frac 13 \sum_{P = 0, 2\pi/3, 4\pi/3} \left[ \left( \frac{1}{4}\cos(2P) \right) +\frac 12 \right] = \frac 12[/math]

2)

I was expecting entanglement to play a role. But I do not see how this is reflected in your code.

 

3)

Similarly, I do not see the connection to hidden variables. Are there any in your code?

 

4)

The movie is very nicely made. But my first impression is that it should be considered a nicely made movie about a topic, and that you should not expect a 7-minute movie to give a complete or accurate picture. I guess the point I am trying to make is: Do expect that the movie is made to make you start exploring the topic, not to completely cover it. Some arguments made there may be incomplete as presented.

Edited by timo
Link to comment
Share on other sites

1)

The calculation your computer program does can be performed analytically (with the help of Wolfram Alpha for the integrals):

[math]\frac 13 \sum_{P = 0, 2\pi/3, 4\pi/3} \frac{1}{2\pi} \int_{0}^{2\pi} \cos^2 \alpha \, \cos^2 ( \alpha - P) + \left( 1- \cos^2 \alpha \right) \left( 1-\cos^2 ( \alpha - P) \right) \, d\alpha[/math]

[math]= \frac 13 \sum_{P = 0, 2\pi/3, 4\pi/3} \frac{1}{2\pi} \int_{0}^{2\pi} 1 + 2 \cos^2 \alpha \, \cos^2 ( \alpha - P) - \cos^2 \alpha -\cos^2 ( \alpha - P) \, d\alpha[/math]

[math]= \frac 13 \sum_{P = 0, 2\pi/3, 4\pi/3} \left[ 1 + \frac{1}{2\pi} 2 \left( \frac{\pi}{4}(\cos(2P) +2 ) \right) - \frac 12 -\frac 12 \right][/math]

[math]= \frac 13 \sum_{P = 0, 2\pi/3, 4\pi/3} \left[ \left( \frac{1}{4}\cos(2P) \right) +\frac 12 \right] = \frac 12[/math]

 

Thanks. I'm first to admit that math is my weakness, but I know how to code. It's been my experience that simulations can reveal some amazing surprises.

 

So I assume the above math you provide shows a different answer than my simulation. If that's the case, then the simulation code must be different.

 

 

2)

I was expecting entanglement to play a role. But I do not see how this is reflected in your code.

In the source code the variable photon_polarization represents the polarization of both photons. This is determined when both photons are emitted. I should probably update the code so that photon #2 polarization is at right angle to photon #1, but that shouldn't give a bad result. I'm certain that only invert the results, which in this case it will still be 0.5. I think this is more of a point of view in the simulation because we would say in the simulation that photon #2 is as such and that the polarizer is merely rotated at a different perspective.

 

 

3)

Similarly, I do not see the connection to hidden variables. Are there any in your code?

The simulation determines the photon polarization angle when it's emitted, before it arrives at the polarizer. This can be seen in the photon_polarization variable.

 

 

4)

The movie is very nicely made. But my first impression is that it should be considered a nicely made movie about a topic, and that you should not expect a 7-minute movie to give a complete or accurate picture. I guess the point I am trying to make is: Do expect that the movie is made to make you start exploring the topic, not to completely cover it. Some arguments made there may be incomplete as presented.

True, but it was difficult finding any video on this that contains sufficient details regarding such an experiment. My goal was to create a simulation on photons based on how I thought the real world behaves. There seems to be numerous ways of doing this. If my simulation is without error, then I would have to assume it's a reflection on how the real world behaves.

 

BTW I should add that the results of 1/2 means that half of the time both of the photons take the same path, on their own side of course. Example, if photon #1 goes through it's polarizer, and photon #2 goes through it's polarizer, then both photons took the same path. If that happened 100% of the time, then the simulation results would be 1. If both photons never took the same path, then the results would be 0. So the possible range for the results is from 0 to 1.

 

Today I'll try to formulate a math equation which reflects the simulation.

Another issue is that a simulation can't prove something true or not, only experiment can do that. A simulation gives you a prediction against which you can compare an experiment.

Yes, but my simulation is based on a real experiment, Bell's experiment. So the experiments already complete. Edited by Theoretical
Link to comment
Share on other sites

Thanks. I'm first to admit that math is my weakness, but I know how to code. It's been my experience that simulations can reveal some amazing surprises. So I assume the above math you provide shows a different answer than my simulation. If that's the case, then the simulation code must be different.

The math is supposed to be an identical copy of what your program does (by reverse-engineering, not by understanding the intent). The summation sign represents the outer loop and the summation in the loop. The integral is the inner loop (I promoted the sum to an integral because of the many tiny summation steps you do). The two addends under the integral sign are your two "probability_same += ..." lines. The steps taken are then just another method to do get the result (called "solving analytically" in contrast to "solving numerically"). The 1/2 that results of course is supposed to equal the 0.5 you get.

 

It's just a different way to do the same calculation which, in my experience, is often more insightful than playing around with simulations. Simulations usually are used in cases too complicated for an analytical solution. Part of the reason putting your code into math was also to demonstrate that what you are talking about is a relatively simple case. Nothing actually wrong with doing calculations by the computer if that suits you better, though.

Edited by timo
Link to comment
Share on other sites

The math is supposed to be an identical copy of what your program does (by reverse-engineering, not by understanding the intent). The summation sign represents the outer loop and the summation in the loop. The integral is the inner loop (I promoted the sum to an integral because of the many tiny summation steps you do). The two addends under the integral sign are your two "probability_same += ..." lines. The steps taken are then just another method to do get the result (called "solving analytically" in contrast to "solving numerically"). The 1/2 that results of course is supposed to equal the 0.5 you get.

 

It's just a different way to do the same calculation which, in my experience, is often more insightful than playing around with simulations. Simulations usually are used in cases too complicated for an analytical solution. Part of the reason putting your code into math was also to demonstrate that what you are talking about is a relatively simple case. Nothing actually wrong with doing calculations by the computer if that suits you better, though.

Nice! I appreciate it. Is the girl in the video correct, that particular Bell's experiment she goes over will produce 1/2 (same results 50% of the time)? If that's the case, then shouldn't this be looked at very closely? Because it would mean Einstein was correct about QM.

 

 

 

Fine. What's the citation for the people that carried out the experiment you are describing?

I could go through the video and type her exact words regarding the results if you like.
Link to comment
Share on other sites

I could go through the video and type her exact words regarding the results if you like.

 

She didn't do an experiment, either. She, too, made a prediction. You made a prediction. In fact, you predicted the same result, which means your simulation is indistinguishable from the predictions of QM. Experimentally getting that value would not support one model over the other.

 

But, as timo pointed out, it's not clear that you have included entanglement and hidden variables in your simulation. It may be that all you've done is show that two random photons will project to the same (or opposite) state half the time, which is exactly what you expect from QM.

Link to comment
Share on other sites

I could go through the video and type her exact words regarding the results if you like.

I think what you should do is actually find a physical experiment that has been carried out - and see if your simulation approximates it (it doesn't as far as I can tell).

 

As you have been told Bell didn't do the experiment - and before you say again but it is called "Bell's experiment" take note of two things; it isn't normally called bells experiment (the most famous version is Aspect's Experiment, and as a group they are known as Bell's Test Experiments or CHSH Experiments) and secondly Bell's suggestion was to use electrons not photons (so you, like many others, have done used an alternative methodology).

 

You have to fully understand what you are doing and what the woman in the video is doing to start with; each formulation of an experiment or bell's original gedanken will have a different set of probabilities and statistics ie a different inequality that is either adhered to or violated. IIRC Bell's original was that the summed correlations of four pairs's of result had to be less than 2.

 

Bell's inequality has a quantum mechanical significance - it will be violated if our world is non-local as much of quantum mechanics predicts. Bell's Test Experiments set out to show that the inequality is violated - and it always is.

 

But the inequality itself is just pure maths - it is fairly simple probability; if you are finding results which violate the inequality using simple simulations then almost certainly you are doing it wrong.

Link to comment
Share on other sites

Thanks for the replies. I already knew what you're saying. So far it appears my simulation shows that the Bell's experiment can be explained by hidden variables.

 

What are the hidden variables in your simulation?

 

If there's a clear error in the simulation, then I await for someone to point it out.

 

Why would anyone bother to debug your poorly formatted code? Although, as far as I can tell, your simulation has nothing to do with Bell's inequality. If it does, and it violates Bell's inequality then it does not agree with reality.

Edited by Strange
Link to comment
Share on other sites

 

What are the hidden variables in your simulation?

 

 

Why would anyone bother to debug your poorly formatted code?

I already pointed this out in an wailer reply along with the variable name in the source code. The polarization of both photons are predetermined.
Link to comment
Share on other sites

 

So it seems you start with the value predicted by quantum theory and then end up with the result predicted by quantum theory.

 

The bug in your code is: https://en.wikipedia.org/wiki/Begging_the_question

No that's just wrong. That equation works for non entangled photons. It's a very basic equation that shows how much light will pass through a polarizer where the polarization difference is known.

Link to comment
Share on other sites

You are not simulating an experiment that tests Bell's Theorem. You are simply using a (classical) equation that happens to give you the right answer.

 

Also, again, real experiment in the real world show that Bell's inequality is observed. So whatever your toy program does, it is irrelevant.


True, but it was difficult finding any video on this that contains sufficient details regarding such an experiment.

 

Why are you looking for videos? Pretty much the worst medium for getting detailed technical information. (Second only to modern dance.) Why not read some of the many articles about the subject.

Link to comment
Share on other sites

Why are you looking for videos? Pretty much the worst medium for getting detailed technical information. (Second only to modern dance.) Why not read some of the many articles about the subject.

Great! So videos are worthless and therefore my simulation must be in error. Sounds like a strawman argument. Why not move on since we disagree.

Link to comment
Share on other sites

Just to make something a bit more clear: the Bell inequalities don't rule out all hidden variable theories, just hidden variables which obey local equations. de Broglie-Bohm Theory is an example of a non-local hidden variable theory which is not ruled out by the Bell inequalities.

Link to comment
Share on other sites

OK - her answer is correct for those angles (*). Although a couple of times she says that spins should be the same rather than different when she is explaining.

But - due to a complete inability to read code I am unaware of what your sim is actually doing; and I still don't see how you are entangling the two photons

* I hope
- the probability of a opposite readings is [1+Cos(Theta)]/2
- you have three equally likely scenarios a,a a,b and a,c
- for a,a Theta = 0 [1+Cos(Theta)]/2 = 1. ie if Alice and Bob read on same axis guaranteed to get opposite readings
- for a,b Theta = 2pi/3 [1+Cos(Theta)]/2 = 1/4 There is only a 1/4 chance that readings will be opposite
- for a,c similar to a,c Prob of Opposite readings = 1/4
- Total probability = (1)*1/3 + (1/4)*1/3 + (1/4)*1/3 = 1/3 + 1/12+ 1/12 = 4/12+ 1/12 + 1/12 =1/2

 

... and it violates Bell's inequality then it does not agree with reality.


Wrong way around. Reality does violate Bell's Inequality.

Link to comment
Share on other sites

Just to make something a bit more clear: the Bell inequalities don't rule out all hidden variable theories, just hidden variables which obey local equations. de Broglie-Bohm Theory is an example of a non-local hidden variable theory which is not ruled out by the Bell inequalities.

Interesting. It seems there're numerous hidden variable theories. My approach was to use a basic well established equation that's based on experiments, such as the I*cos(angle)^2 equation.

 

 

 

OK - her answer is correct for those angles (*). Although a couple of times she says that spins should be the same rather than different when she is explaining.

 

But - due to a complete inability to read code I am unaware of what your sim is actually doing; and I still don't see how you are entangling the two photons

Well actually according to my sim there would be no difference if the results if the photons were entangled or not with the exception that the polarization of both photons must be consistently opposite. In other words, when the photons are emitted, then the photons must always be opposite (or they can be the same, as that merely inverts the results). That is found in the code. The code only has one photon polarization because if you know one then you know the other.

 

 

 

* I hope

- the probability of a opposite readings is [1+Cos(Theta)]/2

- you have three equally likely scenarios a,a a,b and a,c

- for a,a Theta = 0 [1+Cos(Theta)]/2 = 1. ie if Alice and Bob read on same axis guaranteed to get opposite readings

- for a,b Theta = 2pi/3 [1+Cos(Theta)]/2 = 1/4 There is only a 1/4 chance that readings will be opposite

- for a,c similar to a,c Prob of Opposite readings = 1/4

- Total probability = (1)*1/3 + (1/4)*1/3 + (1/4)*1/3 = 1/3 + 1/12+ 1/12 = 4/12+ 1/12 + 1/12 =1/2

That's great. So my sim is at least showing the correct results. :)
Link to comment
Share on other sites

Great! So videos are worthless and therefore my simulation must be in error. Sounds like a strawman argument.

 

That was not what I said. I said that videos are, in general, an extremely poor source for gaining technical information.

 

It is clear that (a) you don't understand Bell's Theorem and (b) you said you were looking for better videos (presumably to learn more about it and the tests of it). So I was just trying to be helpful by pointing out that there are much, much better sources of information (such as the article I linked to and the references in that).

Link to comment
Share on other sites

Well actually according to my sim there would be no difference if the results if the photons were entangled or not with the exception that the polarization of both photons must be consistently opposite. In other words, when the photons are emitted, then the photons must always be opposite (or they can be the same, as that merely inverts the results). That is found in the code. The code only has one photon polarization because if you know one then you know the other.

 

And the video neatly shows that if you do that you end up with far too many results being different - not the half required.

 

 

That's great. So my sim is at least showing the correct results. :)

 

No it is not - you can only get the same results (in a bells test experiment) to as QM if you are using some clever way of simulating entanglement. You are getting the same results - but not the correct results. I think you have just found two completely separate scenarios tat give similar answers by coincidence

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.