Jump to content

Recommended Posts

Posted (edited)
A double-slit quantum eraser



One possible solution:backward causality



#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <X11/Xlib.h>



Display *dpy;

Window win;

GC gc;

double radian=(180.0/M_PI);



void pixel(int x,int y,int color)

{

XSetForeground(dpy,gc,color);

XDrawPoint(dpy, win, gc, x,y);

}

void line(int x1,int y1,int x2,int y2,int color)

{

XSetForeground(dpy,gc,color);

XDrawLine(dpy, win, gc, x1,y1,x2,y2);

}

double sqr(double n) // x^2

{

return n*n;

}

double doublerand() //random szam 0.0-tol 1.0-ig

{

return (double)(rand()%10000)/10000.0;

}




struct vec2d

{

double x,y;


vec2d() {x=0;y=0;}

};

void add_amp(vec2d *v,double phase,double ax,double ay)

{

v->x += sin(phase)*ax;

v->y += cos(phase)*ay;

};

void add_polarizer(vec2d *v,double phase)

{

v->x *= sin(phase);

v->y *= cos(phase);

};

double dot(vec2d *v1,vec2d *v2)

{

return v1->x*v2->x + v1->y*v2->y;

}

void add_quarterwaveplate(vec2d *v,double phase,double dist,double qwp,double ax,double ay,double dphase)

{

vec2d axis_fast,axis_slow,input_wave;


add_amp(&axis_fast,qwp,1.0,1.0);

add_amp(&axis_slow,qwp+90.0/radian,1.0,1.0);

add_amp(&input_wave,phase,1.0,1.0);


double amp_fast=dot(&axis_fast,&input_wave);

double amp_slow=dot(&axis_slow,&input_wave);


amp_fast=cos(dist+dphase)*amp_fast;

amp_slow=sin(dist+dphase)*amp_slow;//-+90 phase shift


v->x += (axis_fast.x*amp_fast + axis_slow.x*amp_slow)*ax;

v->y += (axis_fast.y*amp_fast + axis_slow.y*amp_slow)*ay;

};

double probalbility(vec2d *v)

{

return (sqr(v->x) + sqr(v->y));

}



int main()

{

dpy = XOpenDisplay(0);

win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0,0, 800, 550, 0,0,0);


XSelectInput(dpy, win, StructureNotifyMask);

XMapWindow(dpy, win);

gc = XCreateGC(dpy, win, 0, 0);


for(; ;) { XEvent e; XNextEvent(dpy, &e); if (e.type == MapNotify) break; }




for(int x=0;x<400;x++)

{

pixel(x,500,0x008800);

pixel(x,300,0x008800);

pixel(x,100,0x008800);

}




for(int ds_x=0;ds_x<400;ds_x++)//Ds position -+4mm

{

int photon_counter=0;

int maxphoton=600;

int maxwide=10;


int qwplate_on=0;

int eraser_on=0;

double eraser_alpha=0*45.0/radian;//0,1,2


// if(eraser_on) maxphoton*=4;//lathatosag



for(int p=0;p<maxphoton;p++)// max number of photon

{

double dphase=M_PI*2*doublerand();

#if 1

double photon_pol_a=M_PI*2*doublerand();

double photon_pol_b=photon_pol_a+M_PI/2;

#else

double photon_pol_a=0; //polarized lightsource

if(doublerand()>0.5) photon_pol_a=M_PI/2;

double photon_pol_b=photon_pol_a+M_PI/2;

#endif



double ds_distance=1250.0-420.0;//mm 125-42 cm

double dp_distance=980.0; //98 cm

double wavelength=702.2e-6;//mm e-9m

double k=2.0*M_PI/wavelength;

vec2d amp_dp,amp_ds;


if(eraser_on)

{

if(doublerand()>0.5)

{

photon_pol_a=eraser_alpha;//backward causality

photon_pol_b=eraser_alpha+90.0/radian;

}

else

{

photon_pol_a=eraser_alpha+90.0/radian;

photon_pol_b=eraser_alpha;

}

}



double hole_dist=0.2;//0.2

double hole_wide=0.2;//200 micrometer wide

double ds_pos=4.0*(double)(ds_x-200)/200.0;//+-4mm Ds position

int side=rand()%4;


for(int w=0;w<maxwide;w++)//slit wide

{

double hole1x=hole_dist/2.0 + hole_wide*(double)w/maxwide;//hole

double hole2x=-hole_dist/2.0 - hole_wide*(double)w/maxwide;

double dist1=sqrt(sqr(ds_pos - hole1x) + sqr(ds_distance));

double dist2=sqrt(sqr(ds_pos - hole2x) + sqr(ds_distance));



if(qwplate_on)

{

if(side==0)

{

add_amp(&amp_dp,photon_pol_a ,0.5,0.5);

add_amp(&amp_dp,photon_pol_a ,0.5,0.5);


add_quarterwaveplate(&amp_ds,photon_pol_b , dist1*k,-45.0/radian,0.5, 0.5,dphase);

add_quarterwaveplate(&amp_ds,photon_pol_b , dist2*k, 45.0/radian,0.5, 0.5,dphase);

}

if(side==1)

{

add_amp(&amp_dp,photon_pol_b ,0.5,0.5);

add_amp(&amp_dp,photon_pol_b ,0.5,0.5);


add_quarterwaveplate(&amp_ds,photon_pol_a , dist1*k,-45.0/radian,0.5, 0.5,dphase);

add_quarterwaveplate(&amp_ds,photon_pol_a , dist2*k, 45.0/radian,0.5, 0.5,dphase);

}

if(side==2)

{

add_amp(&amp_dp,photon_pol_a ,0.5,0.5);

add_amp(&amp_dp,photon_pol_b ,0.5,0.5);


add_quarterwaveplate(&amp_ds,photon_pol_a , dist1*k,-45.0/radian,0.5, 0.5,dphase);

add_quarterwaveplate(&amp_ds,photon_pol_b , dist2*k, 45.0/radian,0.5, 0.5,dphase);

}

if(side==3)

{

add_amp(&amp_dp,photon_pol_b ,0.5,0.5);

add_amp(&amp_dp,photon_pol_a ,0.5,0.5);


add_quarterwaveplate(&amp_ds,photon_pol_b , dist1*k,-45.0/radian,0.5, 0.5,dphase);

add_quarterwaveplate(&amp_ds,photon_pol_a , dist2*k, 45.0/radian,0.5, 0.5,dphase);

}

}

else

{

if(side==0)

{

add_amp(&amp_dp,photon_pol_a ,0.5,0.5);

add_amp(&amp_dp,photon_pol_a ,0.5,0.5);

add_amp(&amp_ds,photon_pol_b +dist1*k ,0.5,0.5);

add_amp(&amp_ds,photon_pol_b +dist2*k ,0.5,0.5);

}

if(side==1)

{

add_amp(&amp_dp,photon_pol_b ,0.5,0.5);

add_amp(&amp_dp,photon_pol_b ,0.5,0.5);

add_amp(&amp_ds,photon_pol_a +dist1*k ,0.5,0.5);

add_amp(&amp_ds,photon_pol_a +dist2*k ,0.5,0.5);

}

if(side==2)

{

add_amp(&amp_dp,photon_pol_a ,0.5,0.5);

add_amp(&amp_dp,photon_pol_b ,0.5,0.5);

add_amp(&amp_ds,photon_pol_a +dist1*k ,0.5,0.5);

add_amp(&amp_ds,photon_pol_b +dist2*k ,0.5,0.5);

}

if(side==3)

{

add_amp(&amp_dp,photon_pol_b ,0.5,0.5);

add_amp(&amp_dp,photon_pol_a ,0.5,0.5);

add_amp(&amp_ds,photon_pol_b +dist1*k ,0.5,0.5);

add_amp(&amp_ds,photon_pol_a +dist2*k ,0.5,0.5);

}

}

}

if(eraser_on) add_polarizer(&amp_dp,eraser_alpha);// polarizer before Dp


amp_dp.x/=maxwide;//normalized

amp_dp.y/=maxwide;

amp_ds.x/=maxwide;

amp_ds.y/=maxwide;



if((probalbility(&amp_dp))>doublerand())

if((probalbility(&amp_ds))>doublerand())

photon_counter+=1;

}

pixel(ds_x,500-photon_counter,0xffff00);

}


/*

double dist1=0.0;

for(int p=0;p<1000;p++)//quarterwaveplate

{

vec2d amp_dp,amp_ds;

add_quarterwaveplate(&amp_ds,0.0/radian , dist1*M_PI/100.0,-45.0/radian,0.5, 0.5,0.0);


line(200,200,200+200.0*amp_ds.x,200+200.0*amp_ds.y,0x00ff00);

dist1+=5.0;


XFlush(dpy);

getchar();

}*/


XFlush(dpy);

getchar();


return 0;

}
Edited by dochow
Posted

Do you expect us to reverse-engineer your code, or are you going to explain it?

 

Ditto.

 

Could you at least explain how you are simulating the entanglement of the signal and idler photons? The experimental set up has a polarization correlation (measureable on the idler) between slit one passage and slit two passage thus destroying the interference (that was obtained without the quarterwave plates). The entanged nature of the signal and idler means that a linear polarizer is placed in the way of the idler and the which-way information is lost - and the interference is regained. How are you simulating this entanglement?

 

With great regret (after a previous claim that a simulation provided evidence for EPR) I will ask whether you tested using Bell's inequalities to see if your simulation of entanglement was working - you will have noted that the experimenters in the paper presented did this.

Posted

How are you simulating this entanglement?

 

http://www.scienceforums.net/topic/22442-so-youve-got-a-new-theory/

"Math is precise and has a very high information density — it is very powerful. "

 

You can read on this site. Well language of physics is math.

There is the equation. and the result is good.

And it is not really crackpot.

 

www.youtube.com/watch?v=--BdgqH7pjI

Alain Aspect Speaks on John Wheeler's Delayed Choice Experiment

"Thus one decides the photon shall have come by one route or by both routes after it has already done its travel."

 

"Within a naïve classical word view, quantum mechanics can even mimic an influence of future actions on past events," says Anton Zeilinger.

www.sciencedaily.com/releases/2012/04/120423131902.htm

 

Crackpot is when somebody say: thereh is connection with infinite speed between photons.

Posted

OK - so you have dodged the simple question. I will try again.

 

How have you simulated the entanglement of the signal and the idler photon - and have you checked that this entanglement simulation actually provides the correct results.

 

Please post the explanation here - a link to a youtube video will not suffice.

Posted (edited)
First, it is a simple case
Know you the equation when a photon passes through two polarizers?

 

physics.wisc.edu/undergrads/courses/spring08/208/Lectures/lect21.pdf
Malus Law: I1 = I0/2 I2= I1 cos2 (45º) = 0.5 cos2(p2-p1)

optics.rochester.edu/workgroups/lukishova/QuantumOpticsLab/2013/OPT_253/GroupC_Lab1_Sam.pdf
page 4: 1/2 cos2(beta- alpha)

 

This is the same equation as the equation of entangled photons.

Whereas one of the photons goes backwards in time. (presupposition)

Edited by dochow
Posted

 

First, it is a simple case
Know you the equation when a photon passes through two polarizers?

 

physics.wisc.edu/undergrads/courses/spring08/208/Lectures/lect21.pdf

Malus Law: I1 = I0/2 I2= I1 cos2 (45º) = 0.5 cos2(p2-p1)

 

optics.rochester.edu/workgroups/lukishova/QuantumOpticsLab/2013/OPT_253/GroupC_Lab1_Sam.pdf

page 4: 1/2 cos2(beta- alpha)

 

This is the same equation as the equation of entangled photons.

Whereas one of the photons goes backwards in time. (presupposition)

 

 

 

Are you sure you are not Theoretical? You are making the same assumptions and the same errors.

 

Haave a read of david345's final post in this thread http://www.scienceforums.net/topic/87157-new-simulation-shows-einstein-was-correct-about-hidden-variables and Strange had a lovely link to Dr Chinese which I will continue to search for with a text based explanation

 

It is a nice example which shows that you cannot just assume a congurence between quantum mechanical systems and their classical counterparts. Which is what Theoretical did in his never explained simulation which purported to disprove the violation bell's inequalities - and it is what you are doing in your yet unexplained simulation which seems to be challenging another famous experiment of QM

Posted

The problem with your source is such, it's for Unix/Linux, not for Windows.. So we can't compile and see how it's working.

It would be easier if you would include Windows compatible version..

Posted

 

you cannot just assume a congurence between quantum mechanical systems and their classical counterparts

Backward causality is not classical solution. Nothing wrong with the Bell inequality

It would be easier if you would include Windows compatible version..

Sorry I will not use windows again. But you have time friends and internet.

Do some work for truth. You have one life.

Posted

Backward causality is not classical solution. Nothing wrong with the Bell inequality

Sorry I will not use windows again. But you have time friends and internet.

Do some work for truth. You have one life.

 

It's your claim, so you own the burden of proof.

Posted

Third time lucky - how do you simulate entanglement? Your first attempt at an answer was a hand wave at a video and a one line quote, the second attempt mentioned malus' law (intensity of light is not exactly quantum - we want probability) and the correct probability that one linearly polarized photon will pass through a polarizer at an angle; but neither of these come even close to answering the question of how you simulated entanglement.

 

So I will ask a third time - how did you simulate entanglement? BTW - you are not allowed to just dodge questions and continue to soapbox.

Posted (edited)

Sorry I will not use windows again. But you have time friends and internet.

Do some work for truth. You have one life.

Nobody is forcing you to switch to Windows entirely.

 

But you have to provide Windows compatible version of your source code, otherwise it's useless to people reading this thread.

 

We have no idea what your code is generating!

It's kinda like you would wrote nothing.

Edited by Sensei
Posted

But you have to provide Windows compatible version of your source code, otherwise it's useless to people reading this thread.

 

Speak for yourself!

 

It's kinda like you would wrote nothing.

 

That I can agree with.

Posted

Speak for yourself!

Did you bothered compiling it on Linux to see how it's working.. ?

 

I don't think so. Otherwise, you would not write this:

"Do you expect us to reverse-engineer your code, or are you going to explain it?"

Posted

Did you bothered compiling it on Linux to see how it's working.. ?

 

No. But I could. It would still be useless without some explanation which is why I won't.

Posted

But you have to provide Windows compatible version of your source code, otherwise it's useless to people reading this thread.

Oke not matter.

It is only a crackpot from who can not speak right in this language.

Forget all.

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.