Wednesday, 28 September 2011

First high detection simulation available

In a search to implement a model from Robert Close (1) Chantal Roth found a model that reaches about 73% detection while having a CHSH of 2.8. From the literature it was clear that these model existed (2), but so far I had not been able to find code for this.


The hidden variable is a common angle theta, and the measurement formula (to calculate the spin for a particle)  is:

public int measure(double filter_angle, Particle particle) {
   double theta = particle.getTheta();
   int spin = (int) Math.signum(Math.sin(theta+ filter_angle));
   double pdetect = 2.3*Math.abs(Math.sin(theta + filter_angle));
   if (Math.random()<=pdetect) return spin;
   else return Integer.MIN_VALUE;
}


When Integer.MIN_VALUE is returned the particle pair is not counted.

Chantal has made the (Java) simulation available from Sourceforge.



  1. Robert Close, http://www.classicalmatter.org/Bell/SpinCorrelation.pdf and http://www.classicalmatter.com/Bell/SpinCorrSim.pdf. Att.: the model discussed above is different from that of Robert Close.
  2. Part of LH models non-issue for scientific community, http://challengingbell.blogspot.com/2011/04/part-of-lh-models-non-issue-for.html

Thursday, 15 September 2011

Another brick in the wall...

I came across some recent papers addressing alternatives to the classic quantum interpretation (Copenhagen view and related). Randall O'Reilly (1) argues that the formulas used in QM should be considered to be calculation tools, not describing the actual physical process, just as Newton was superseded by Einstein in describing gravity. Many paradoxes in QM can disappear when seeing matter as composed from just waves.

A somewhat similar line seems to have been followed by Robert Close (2), although I should admit I haven't read it yet. It's a 163 pages book that can be temporarily downloaded.

The last I like to mention is the work of Edwin Klingman (3), who summarizes some recent theoretical and experimental results that seems to invalidate the classical view of quantum processes

  1. Surely You Must All be Joking: An Outsider's Critique of Quantum Physics, Randall C. O'Reilly, http://arxiv.org/abs/1109.0880
  2. The Classical Wave Theory of Matter, Dr. Robert A. Close,  http://www.verumversa.com/
  3. A Physics-based Disproof of Bell’s Theorem, Edwin Eugene Klingman, http://www.geneman.com/pubs/physics_bell/A_Physics_based_Disproof_of_Bells_Theorem.pdf

Monday, 5 September 2011

Discussion on Joy Christian's work

There is an interesting discussion going on at the fqxi community site between Joy Christian and Florin Moldoveanu (and others)
http://www.fqxi.org/community/forum/topic/983 (and http://www.fqxi.org/community/forum/topic/975) concerning Joy's description of the EPR statics using geometric algebra.

One should follow the blogs comments to really follow the arguments. It is one of the first discussions I have encountered on the web on Joy's work that is quite sophisticated and not dominated by preoccupied opinions*.

In some of the comments also the use of simulation models are discussed, and partial EPR-Bell model code (in javascript) is shared http://www.unitaryflow.com/2011/08/hidden-variables-correlations.html.



* only yesterday I wrote this, but it seems today (sept, 6) the tone is changing. Pity

Saturday, 6 August 2011

Clarification of the EPR resultset

The graph below can give some understanding in what is presented as result for a typical EPR experiment, here for spin 1/2 particles. The horizontal axis is the angle setting for the filter of Alice. Backwards is the same property for Bob (although the numbers on the axis are missing). The wave is the QM expectation of the correlation of the results obtained by the detector of Alice and those of Bob. (When analyzing a real experiment of course the results obtained by the equipment are used.)

The graph that is normally presented as result of a real experiment is the correlation projected on the slice that is indicated with the red window, thereby grouping the results for each angle difference between Alice's and Bobs polarizer (The same graph that I present in New spin-half particle EPR simulation).


An extra step of data manipulation might be to make no difference between positive and negative angle differences. This can be interpreted as mirroring one of the 'wings' of the graph so that it data covers the other 'wing'.

Finally an experimentalist might only show one S part of the cos, having a difference in angles between 0 and 90 degrees (this is enough to show the difference between the classical and the QM expectation), but might even rearrange data collected at higher angle differences, assuming these parts of the cos are symmetric.

Friday, 5 August 2011

New spin-half particle EPR simulation

In consultation with Gordon Watson I have created a new simulation (v0.9) that involves an EPR experiment using spin-half particles. The interface shows more intuitively the settings that can be used to get results for different pairs of angles for Alice's and Bob's Stern Gerlach magnet filters:

The simulation uses Visual Studio 2010 (C-sharp Express) and can be downloaded from Sourceforge at
http://sourceforge.net/projects/epr-bohm/files/SGM_Bell.zip/download
.

Tuesday, 26 July 2011

Documentation added


The EPR_Bohm C sharp project now contains a first version of documentation, describing the major parts of the program, and how to include a new local realistic model. The documentation can also be downloaded separately from Sourceforge.

Sunday, 3 July 2011

On the fair sampling



Real EPR experiments with photons are performed using a lot of restrictions on the counting process:
  • There is always a large amount of background noise (single photons, accidental doubles)
  • A time windows is used: only clicks that are found on both sides (Alice and Bob) within the time window are considered to be entangled.
  • Often it is the electronic logic that separates 'entangled pairs', so the 'others' don't even enter the raw data.
  • Detectors mostly have low efficiency. For example in the well known Weihs experiment (1) this was 5% (Detectors have been improved since then).
Caroline Thompson has written a critical article (2) about the sample efficiency in the famous experiment of Aspect and of others. Alain Aspect had to subtract 25% of his coincidences to get his QM confirmed. Furthermore without this subtraction she shows the results follow the classical expectation. Considering all this it hardly seem fair that local realistic models should count most of the photons.

Nevertheless realistic models that allow a fraction of misses (I call them class A models*) I have found are able to produce QM like results using about 70% (3, 4) of the pairs. The Adenier model (3) is just for demonstration purposes, Ashwanden has a model based on a realistic hypothesis of the behavior of the elements involved in an EPR experiment.

Based on the description of Adenier (unfortunaly the exact details of their model is not in the article) I was able to quickly reproduce a model using 47% of the photon pairs. I have included it in the software.


  1. Gregor Weihs, Thomas Jennewein, Christoph Simon, Harald Weinfurter, and Anton Zeilinger, Violation of Bell’s inequality under strict Einstein locality conditions, http://arxiv.org/abs/quant-ph/9810080
  2. Caroline H Thompson, Subtraction of “accidentals” and the validity of Bell tests, http://www.citebase.org/fulltext?format=application%2Fpdf&identifier=oai%3AarXiv.org%3Aquant-ph%2F9903066.
  3. Testing the Fair Sampling Assumption for EPR-Bell Experiments with Polarizing Beamsplitters, Guillaume Adenier and Andrei Yu. Khrennikov, http://www.citebase.org/fulltext?format=application%2Fpdf&identifier=oai%3AarXiv.org%3Aquant-ph%2F0306045. Video: http://video.google.com/videoplay?docid=-1050719353457515819#
  4. Manuel Aschwanden, A classical view of quantum entanglement, http://www.iis.ee.ethz.ch/~schenk/theses/aschwanden.pdf
* Class A models normally only prove that real experiments can be explained using a LHV model. Only with high efficiency (>83 % i think) they could also disprove Bell.

Sunday, 26 June 2011

Java simulation available

Chantal Roth has created a very nice Java implementation of the EPR experiment for testing purposes. In her own words:


"A simple Java simulation of a typical EPR experiment by creating "entangled" particles that are sent to two detectors A and B. After many such experiments the statistics are computed, including the CHSH value and also the correlation between the measurements at the detectors based for each angle between the filters. The GUI allows a user to enter a formula to compute the probability if a detection of a particle happens or not, which is then compiled on the fly."

The application can be downloaded at Sourceforge: https://sourceforge.net/projects/eprsimulation/

To run it, you need the Java JDK and NetBeans IDE 7. This can be downloaded in one package at: http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp-142931.html

Wednesday, 15 June 2011

Rewrite of reference simulation

Recently I can enjoy some hits from an article with criticism on the work of Joy Christian from Sascha Vongehr. While it is true that the ideas of Joy contradicts mainstream physics, his arguments seems sound, but the arguments of Sascha for criticizing this work are mostly hand waving and of low scientific value.

But apart from that the challenge from Sascha (however sarcastically stated) is the same as in this blog: if a LHV model is possible, it can be demonstrated and proved by an open source program.



The reference application for these simulations, based on the work of DeRaedt, has now been completely rewritten. The classes that implements a simulation have been separated. Adding a new type of simulation can be done easily by copying a folder with classes from another simulationtype and change their implementation.




The classes mostly represents the real objects that are involved in a typical EPR experiment. A special feature in this release is the availability of a libary with classes for Geometric Algebra, as they are generated for C-sharp by Gaigen. As always, the program can be downloaded at sourceforge

Sunday, 8 May 2011

What's the fuss about EPR?


What is really bugging a part of the physicists about the whole EPR-Bohr discussion? The main argument of E.P.R. was:

If, without in anyway disturbing a system, we can predict with certainty (...) the value of a physical quantity, then there exists an element of physical reality that corresponds to this physical quantity. (1)

I think the issue is in fact that Bohr and his crew (Copenhagen) have eliminated a very basic philosophy in physics: the existence of causality for all the processes in nature, that every event in nature can in principle be described as a reaction on another event.

He postulated a principle randomness in nature. So he based his QM on a number of stochastic formulas that described the quantum processes, and what is worse, postulated that these formulas where a complete description of the process, leaving out any possibility of introducing subquantum theories. It's like creating a formula for the behavior of a pile of sand being dropped from a truck and claiming there is no physics beyond to describe this process.

Because of the realm of QM being the atomic scale and beyond it is very difficult to invalidate such a position, for one needs measurements on individual particles to do that. The measuring devices themselves are gigantic compared to the particle to be measured, and mostly made of the same 'stuff' (electrons, protons, photons etc), but should not disturb the measurement.

Only the last decennia scientists are on the edge of doing this: atoms can be photographed and handled individually (2), and even individual electrons can be locked and stored for a long time (3). Atto seconds lasers are starting to reveal processes at atomic scale (4). Things that Bohr held for impossible.

When one of the premises of relativity is added, that any causal action cannot be transmitted beyond light speed, the experiments with entangled particles as discussed in this blog can play a role. That is, if these can be performed without loopholes, and if Bell is correct, these experiments prove that there are correlations between particles that cannot be explained by causality while keeping up the light speed constraint.

Even if that proves to be the case, I still think one should not give up searching for a causal explanation for these processes. It might well be nature hints us about so far unrevealed features, like (only speculating here) the existence of extra dimensions in space-time, or particles that can exceed light speed limits.

Just assuming we're on the edge of what can be revealed in QM (concerning the wave function and the Heisenberg uncertainty principle), without any proof for that, is for me a very strange position, but upheld by many physicist today.

  1. Can quantum-mechanical description of physical reality be considered complete? http://membranes.nbi.dk/Kaufmann/publicationlinks/1935_EinsteinPodolskyRosen_PhysRev.pdf
  2. IBM STM image gallery,  http://www.almaden.ibm.com/vis/stm/atomo.html
  3. Wineland and Dehmelt 1973
  4. ATTOSECOND PHYSICS: Ultrafast-laser methods reveal electrons tunneling in real time, http://www.optoiq.com/index/photonics-technologies-applications/lfw-display/lfw-article-display.articles.laser-focus-world.volume-43.issue-6.world-news.attosecond-physics-ultrafast-laser-methods-reveal-electrons-tunneling-in-real-time.html

Sunday, 10 April 2011

Part of LH models non-issue for scientific community

Last week Joy Christian notified me that when only about 86 % of all events (of all particles) are counted in an EPR-like experiment, it is always possible to obtain the quantum results in a local realistic way. Even in 1970 this was known to Bell, when he wrote

"On the other hand, if no restrictions whatever are imposed on the hidden variables, or on the dispersion free states, it is trivially clear that such schemes can be found to account for any experimental results whatever. Ad hoc schemes of this kind are devised every day when experimental physicists, to optimize the design of their equipment, simulate the expected results by deterministic computer programs drawn on a table of random numbers." (1)

I found such a limit mentioned in the arxiv article from Reid et al. in which they summarize the current (well..., 2008) state of the EPR debate:

"The original Bell inequalities requires a threshold efficiency of 83 % (η ~ 0.83) per detector (Garg and Mermin (1987); Clauser and Shimony (1978); Fry et al. (1995)), in order to exclude all local hidden variable theories. For lower efficiencies, one can construct local hidden variabe theories to explain the observed correlations (Clauser and Horne (1974); Larsson (1999))." (2)

  1. Introduction to the hidden variable question, J.S.Bell, 1970, http://cdsweb.cern.ch/record/400330/files/CM-P00058691.pdf
  2. The Einstein-Podolsky-Rosen paradox: from concepts to applications, M.D. Reid et al.2008, http://arxiv.org/PS_cache/arxiv/pdf/0806/0806.0270v2.pdf
  3. Using linear programming to construct better criteria for closing the detection loophole in EPR experiments, James H. Bigelow, 2008, http://arxiv.org/ftp/arxiv/papers/0805/0805.0387.pdf

Tuesday, 5 April 2011

Comments on the simulation from de Raedt

Discussing the model from de Raedt with Antony Crofts he suggested to check the fraction that was actually counted in the simulation. To my surprise the time window implemented by de Raedt causes the program to use only 0.9% from the total result set.

So, yes, the model produces the quantum expectation, but the simulation does not mimic the results obtained by Weihs et al. (2), on which the simulation is based, because the simulation leaves out much more 'clicks' in comparison to the actual experiment.

Imo. this should have been mentioned in the findings of de Raedt (1).

  1. A computer program to simulate Einstein–Podolsky–Rosen–Bohm experiments with photons, K. De Raedt , H. De Raedt , K. Michielsenc, http://rugth30.phys.rug.nl/pdf/COMPHY3339.pdf
  2. Violation of Bell’s inequality under strict Einstein locality conditions
    Gregor Weihs, Thomas Jennewein, Christoph Simon, Harald Weinfurter, and Anton Zeilinger, http://arxiv.org/PS_cache/quant-ph/pdf/9810/9810080v1.pdf 

Wednesday, 16 March 2011

Allowing everyone to verify the models


Using a relative heavy IDE (Integrated Development Environment) like the free Visual Studio Express version for running the Monte Carlo - type simulations discussed in this blog makes it possible for everyone with a (Windows) computer to verify these models.
A nice feature is the debugging possibility. This allows even those interested but with less programming experience to follow the code line by line while running, and inspecting the values in each calculation on the job. Of course this is essential in any attempt to prove Bell wrong by a simulation. With Visual Studio one just has to use the following steps:
  1. Download and install the free version of VS2010 C#  (Express)  from http://www.microsoft.com/express/Downloads/#2010-Visual-CS (first only a setup program of 3,5 MB is used, later for the real program  about 141 MB is downloaded)
  2. Download the model(s) discussed from SourceForce and unzip the zip-archive
  3. Start VS2010 C# express
  4. Use File, Open Project to open the solution file EPR_Bohm.sln
  5. Start the simulation by pressing F5
After a short compilation time the program will show the main window that can be used for running a simulation.



Debugging
For following the logic of the model, one just has to open a relevant file from the Project Explorer window, like Calc_Epr.cs, and click in the left (grey) margin to set a breakpoint. Whenever the line with the breakpoint is executed, the program halts at that point (1). Then, by right-clicking the objects used in that part of code, their current contents can be inspected . Even more, one can follow the execution of the program line by line by using the Step Into, Step Over and Step Out buttons (2).

Monday, 14 March 2011

Antony R. Crofts EPR model

For the introduction to this blog, see my topic ‘Challenging Bell with a local realistic simulation of EPR-Bohm

This week I found an interesting LR EPR model of Antony R. Crofts from the University of Illinois, having both the full code included as well as a possibility to download the source code and the executable. Unfortunately the simulation is written in visual basic 6 in a 'classic' way, meaning that both calculations and GUI (Graphic User Interface) code are mixed, and therefore a bit more difficult to analyse. 


At first sight this really looks promising as being a class B model (See my blog Classes of models ). I will try to implement it's logic in my simulation. 





1.    Disentangling entanglement, Antony R. Crofts, 2008, http://www.life.illinois.edu/crofts/papers/Epistemology_and_QM_11-14-08.pdf, Source code (VB6): http://www.life.illinois.edu/crofts/Bell_Ineq/


Friday, 11 March 2011

Geometry added to the model

For the introduction to this blog, see my topic ‘Challenging Bell with a local realistic simulation of EPR-Bohm
I have been adding a library to the solution to facilitate the use of geometric objects, as these seem inevitable for many models. The library now contains a Vector3D struct (borrowed from open source) with all the necessary properties, methods  like Normalize, DotProduct, CrossProduct etc. and operators.I have added the method to initialize the object as random unit vector.
The project also contains a preliminary multivector class which might be useful when simulating a LR model based on the arguments of Joy Christian (1).

  1. Disproof of Bell’s Theorem, Joy Christian, http://arxiv.org/PS_cache/arxiv/pdf/1103/1103.1879v1.pdf

Saturday, 26 February 2011

Particle property 'Missed'

For the introduction to this blog, see my topic ‘Challenging Bell with a local realistic simulation of EPR-Bohm
The property ‘Passed’ of the Particle object (which is always opposite to ‘Absorbed’ should actually be called something like ‘Up’, because both absorbed as passed particles are counted in the de Raedt model. In the experiment simulated a 45° polarizer is used, so a photon is either going up or down, and will always be recorded.

      public int Passed
       {
           get
           {
               if (this.Absorbed)
               {
                   return 0;
               }
               return 1;
           }
       }

Another property ‘Absorbed’ or ‘Missed’ should be added for other class A simulations (see blog ‘Classes of models’) to be able to indicate that a photon should really be excluded in the calculation, and can be used for example in de simulation by Aschwanden¹. I will add this property in the next release of the C#-simulation.
¹ Aschwanden mailed me he is trying to lookup the source code for his simulation

Classes of models

For the introduction to this blog, see my topic ‘Challenging Bell with a local realistic simulation of EPR-Bohm
One should probably differentiate between models that leave out a part of the measurements for some plausible reason (class A), or those who use the full dataset for the calculation of the Bell inequality (class B). The Bell inequality is based on getting a fair sample of the measurements, but in real experiments using present technology one can’t be sure about that.
The de Raedt model (see first blog) is such a class A simulation, because it excludes the counting of hits that exceeds a certain time window between the particles. A second model in this class might be that of Ashwanden (1), who corrects for the intensity of a photon at the polarizer, and gets results that are more compatible with the real experiment as the quantum expectation.  It looks somewhat cleaner, because it seems to correct the individual particles at the polarizer’s, and not- like in the de Raeth simulation - as a correction on the combined time-delay properties when counting the results (and thereby using both polarizer angles in this calculation).
With the class A simulations one always runs the risk that it will be invalidated at some moment by better experiments, because somehow a loophole in the experiment is exploited. The only model that I know that is (probably) of class B is that of Joy Christian, but because of the quite complicated  Clifford calculations it still has to prove itself in an event by event simulation (I could surely use some help here;). It is worth mentioning that recent publications seem also to suggest a close relationship between QM and Clifford algebra (2, 3, and 4).
It might be that in the end class B simulations turns out to be impossible (and the theorem of Bell is valid) but that the results of real experiments are caused by some hidden variables that corresponds to elements of reality, as the time window of de Raedt, the intensity of Ashwanden or possibly the 2d spin of Sanctuary (see first blog), so that Bell is not applicable to the EPR-Bohm experiment.

1)      Dr. Manuel Aschwanden, A classical view of quantum entanglement , http://www.iis.ee.ethz.ch/~schenk/theses/aschwanden.pdf
2)      Algebraic Quantum Mechanics, Algebraic Spinors and Hilbert Space, B. J. Hiley, http://www.bbk.ac.uk/tpru/BasilHiley...chanic%205.pdf
3)      The Clifford Algebra Approach to Quantum Mechanics B: The Dirac Particle and its relation to the Bohm Approach, B. J. Hiley and R. E. Callaghan, http://arxiv.org/PS_cache/arxiv/pdf/...011.4033v1.pdf
4)      The Clifford Algebra approach to Quantum Mechanics A: The Schroedinger and Pauli Particles, B. J. Hiley and R. E. Callaghan, http://arxiv.org/PS_cache/arxiv/pdf/...011.4031v1.pdf

Tuesday, 15 February 2011

Challenging Bell with a local realistic simulation of EPR-Bohm

If by any chance Bell is wrong about his derivation of the inequalities it should be demonstrable using a computer simulation. This blog is an attempt to discuss the possibilities of such a model. 

Spooky action at a distance

For long the discussion on the Bell inequalities as applicable on an EPR-Bohm like experiment has been going on. Today most physicists seem to accept the experimental results as being in favor of a non-local interpretation of the quantum mechanics phenomena of entanglement.
This contradicts the viewpoint of Einstein with his famous phrase on this subject as being some “Spooky action at a distance” fenomenon of nature.

No-Bell claims

In recently years some no-Bell claims have been made by different authors (1,2,3,4,7). Many of them give a violation for the Bell inequalities for a 22.5° angle between settings of Bob and Alice using a local realist calculation.


Event by event simulation

Being a probabilistic setup, one should be able to simulate the individual events of two particles hitting the polarizer’s or passing Stern-Gerlach apparatus and then being counted by detectors. The result of many repeats of this simulation should earn the typical bell shaped result, as has been documented for example by Dehlinger and Mitchell (5).


The model from De Raedt


Result of the simulation from de Readt (6)

De Raedt has published such a deterministic simulation in (6), which article includes a Fortan listing of the code used in their earliest models. I have checked their model by rewriting their program in an object oriented (OO) language (C#)¹. Their model does indeed produce the quantum results in a local realistic way. This is done by including the time-window in the simulation, which in real experiments is used to determine whether two click from the counters should be considered coming from the two pairs of entangled particles or not. Their model can be tested online at http://rugth30.phys.rug.nl/eprbdemo/simulation.php.


Critics however might oppose that when real experiments can be performed in such way that doubt about measured clicks being from entangled particle pairs can be excluded the model from de Raedt cannot be maintained.


The OO model

An object oriented language defines objects that mimics the properties and methods of real objects. In case of an EPR simulation, the filter object for example can have the property ‘rotation angle’, and the method ‘particleHit(Particle)’.
In the core of the EPR simulation initializes a particle (A) with its properties like a random polarization angle, and then creates its ‘entangled’ counterpart (B) based on the properties of (A). After the filters from Alice and Bob have also been initialized with random rotation angles, the particle A is subjected to the Alice’s filter’s ‘ParticleHit(Particle)’ function, and particle B to Bob’s.
In Alice’s filter there is no knowledge of the settings of Bob’s filter and vice versa.
The ‘ParticleHit’ function can only use local properties from the Particle and the filter itself, to determine whether a Boolean property from the Particle called ‘Absorbed’ is set to true or false.
The described process is repeated for example 10000 times, and each time the results are registered. The summary of these events should of course lead to the bell shaped curve showing the violation at 22.5° and 67.5°.

Hidden variables

While it might be tempting to start looking for hidden variables that corresponds to elements of reality, as is done by Bryan Sanctuary (9), to challenge the Bell inequalities with a local realistic model this is not strictly necessary. In de OO model the particles can be provided with any property, as long as it doesn’t contain information about the settings of the opposite polarizer. Also the ‘ParticleHit’ can be implemented at will (with the same condition applied).
Joy Christian for example has been publishing several articles (like 8) on violating the Bell inequalities in a local realistic way using Clifford algebra. If he is correct, including Clifford logic in this simulation should produce the expected results.

The code

Below the code for the model of de Raedt (6) is explained. The main loop is quite straightforward. The constants ‘d’, ‘tau’ and ‘k’ are used in the model from de Raedt (see (6) for a description). The full C# project can be found at https://sourceforge.net/projects/epr-bohm/ ².

PolarizationFilter PolarizationFilter1 = new     
            PolarizationFilter(NumberOfAnglesForStations, d, tau);
PolarizationFilter PolarizationFilter2 = new
            PolarizationFilter(NumberOfAnglesForStations, d, tau);
// generate events
for (int i = 0; i < N * NumberOfAnglesForStations *   
             NumberOfAnglesForStations; i++)
{
//Initiate entangled particles
Crystal Cristal = new Crystal(Interpretation);
Particle Particle1 = Cristal.ParticleA;
Particle Particle2 = Cristal.ParticleB;
// pick an angle at station 1
int AngleIndexStation1 =   
     PolarizationFilter1.ChooseRandomAngleIndex();
// pick an angle at station 2
int AngleIndexStation2 =
     PolarizationFilter2.ChooseRandomAngleIndex();
      // hit station 1
PolarizationFilter1.ParticleHit(Particle1);
//station 2
PolarizationFilter2.ParticleHit(Particle2);
// count (model with time window)
if (Math.Abs(Particle1.DelayTime - Particle2.DelayTime) < k)
{
Ntiming[Particle1.Passed, Particle2.Passed, AngleIndexStation1,
AngleIndexStation2] += 1;
}
}




The simplest version of the particle object contains constructor logic and the two properties Polarization and Absorbed. The extra property ‘DelayTime’ is used in the de Raedt model:


    public class Particle
    {
        public Particle()
        {
            this.Polarization = h.GetRandomTwoPiAngle();
        }
        public double Polarization
        {
            get;
            set;
        }
        public bool Absorbed
        {
            get;
            set;
        }
       public int Passed        
       {
          get
          {
             if (this.Absorbed)
             {
                return 0;
             }
             return 1;
          }
     }
     public double DelayTime 
        {
            get;
            set;
        }
    }


I use an object named ‘Crystal’ to initiate the two entangled particles. Notice that the constructer allows specifying different Calculations or ‘Interpretations’. Here only the calculation from DeRaedt is implemented:


    public class Crystal
    {
        public Crystal(Calculation Interpretation)
        {
            ParticleA = new Particle();
            ParticleB = new Particle();
            Initialize(Interpretation);
        }
        private void Initialize(Calculation Interpretation)
        {
            switch (Interpretation)
            {
                case Calculation.DeReadt:
                    InitialiseDeRaedt();
                    return;
           }
        }
        private void InitialiseDeRaedt()
        {
            // polarization of particle 2
            ParticleB.Polarization = ParticleA.Polarization + h.PiOver2;
        }
        public Particle ParticleA { get; set; }
        public Particle ParticleB { get; set; }
    }


The polarizers are constructed with a list of randomly chosen angles. See above for the explanation of ‘d’ and ‘tau’.


    public class PolarizationFilter
    {
        private double d;
        private double tau;
        public PolarizationFilter(int NumberOfAngles, int d, double tau)
        {
            InitiateAngles(NumberOfAngles);
            this.d = d;
            this.tau = tau;
        }
        private void InitiateAngles(int NumberOfAngles)
        {
            _Angles = new List<double>();
            for (int ii = 0; ii < NumberOfAngles; ii++)
            {
                _Angles.Add(h.GetRandomPiAngle());
            }
        }
        public int ChooseRandomAngleIndex()
        {
            _currentAngleIndex = GetRandomAngleIndex();
            return _currentAngleIndex;
        }
        private int GetRandomAngleIndex()
        {
            // pick an angleIndex:
            return (int)(((float)_Angles.Count) * h.GetRandom());
        }


        private int _currentAngleIndex = 0;

        public List<double> Angles { get; set; }

        public double Angle
        {
            get
            {
                return _Angles[_currentAngleIndex];
            }
            set
            {
                _Angles[_currentAngleIndex] = value;
            }
        }
        public void ParticleHit(Particle Particle)
        {
            ...
        }
   }
The method ‘particleHit’ again checks the Interpretation to be used and then executes the logic:


        public void ParticleHit(Particle Particle)
        {
           switch (Calc_Epr.Interpretation)
            {
                case Calculation.DeReadt:
                    ParticleHitfromDeRaet(Particle);
                    break;
            }
        }
 
        private void ParticleHitfromDeRaet(Particle Particle)
        {
            double malus = h.Malus(Particle.Polarization - this.Angle);
            if (malus > h.GetRandomPlusMin()) 
            {
                Particle.Absorbed = true;
            }
// delay time
            Particle.DelayTime = Math.Ceiling(Math.Pow(Math.Pow((1 - malus
* malus),2), (d / 2)) * h.GetRandom() / tau);
        }


As can be seen h provides some common functions. For instance,  h.Malus(Angle) is implemented as:


        public static double Malus(double Angle)
        {
            return Math.Cos(2 * Angle);
        }
and h.GetRandomPlusMin()as:


        public static Random r = new Random(DateTime.Now.Millisecond);
        public static double GetRandomPlusMin()
        {
            return r.NextDouble()*2-1;
        }




1.      CLEARING UP MYSTERIES ( THE ORIGINAL GOAL), E. T. Jaynes, >http://bayes.wustl.edu/etj/articles/cmystery.pdf
2.      The Chaotic Ball: An Intuitive Analogy for EPR Experiments, Caroline H Thompson, 18 November1996, http://arxiv.org/PS_cache/quant-ph/pdf/9611/9611037v3.pdf
3.      CHSH and local hidden causality, J.F. Geurdes, Adv. Studies Theor. Phys., Vol. 4, 2010, no. 20, 945 - 949. http://philpapers.org/archive/GEUCAL.1.pdf
4.      The solution of E.P.R. paradox in quantum mechanics, E. Conte. http://shaping.ru/download/pdffile/Conte%20Conf_Proceedings%20paper,%20EPR%20solution.pdf
5.      Entangled photons, nonlocality and Bell inequalities in the undergraduate laboratory. Dietrich Dehlinger, M. W. Mitchell. http://arxiv.org/PS_cache/quant-ph/pdf/0205/0205171v1.pdf
6.      A computer program to simulate Einstein–Podolsky–Rosen–Bohm experiments with photons, K. De Raedt , H. De Raedt , K. Michielsenc, http://rugth30.phys.rug.nl/pdf/COMPHY3339.pdf
7.      Event-by-Event Simulation of Quantum Phenomena: Application to Einstein-Podolosky-Rosen-Bohm Experiments, H. De Raedt, K. De Raedt, K. Michielsen, K. Keimpema, and S. Miyashita, Journal of Computational and Theoretical Nanoscience Vol.4, 957–991, 2007, http://rugth30.phys.rug.nl/pdf/jctn8.pdf
8.      Failure of Bell’s Theorem and the Local Causality of the Entangled Photons, Joy Christian, http://arxiv.org/abs/1005.4932v1








¹ While some might prefer a sequential code, the equivalence from the object in an OO language with the real objects that are simulated makes this environment very suitable for a hidden variable demonstration
² It can be tested by using the free Visual Studio express C# environment from http://www.microsoft.com/express/Downloads/#2010-Visual-CS.