chrisztosz Creative Commons License 2008.05.15 0 0 7175

oké akkor beszéljünk a kvantumfizikáról:

 

klasszikus EM: -0.197056
QM joslat: 0.123347
naiv modell: -0.016344
modositott naiv modell: -0.174499

http://www.drchinese.com/David/Aspect.pdf

Nos az egycsatornás kisérletre felírt Bell-egyenlőséget nem sérti a modell. De a kétcsatornásnál megyőzően sérti.
A hiba oka az lehet, hogy a kék terület miatt nem úgy esnek ki a negatív csatornák, mint ahogy azt Aspect ebben(http://arxiv.org/pdf/quant-ph/0402001) a pdf-ben a 18,oldalon a (31) résznél leírta.

De én új egyenlőtlenséget nem tudok felállítani, az a feladat másra vár. Nos Józsé?



double Nab=0;
double Na2b=0;
double Nab2=0;
double Na2b2=0;


void N_1(double a,double b,double a2,double b2,int no_polarizer)
{
Nab=0.0;
Na2b=0.0;
Nab2=0.0;
Na2b2=0.0;


for(int i=0;i<50000;i++) {
double foton_pair_pol=(double)(rand()%360);
int amp;
int channel_a=0;
int channel_a2=0;
int channel_b=0;
int channel_b2=0;



if(50<rand()%100) {
amp=(int)(97.0*pow(cos((double)(a-foton_pair_pol)*radian),2.0));
if(no_polarizer&1) channel_a=1;
else
if(amp>(rand()%100)) {channel_a=1;if(qm) foton_pair_pol=a;}
}
else
{
amp=(int)(97.0*pow(cos((double)(a2-foton_pair_pol)*radian),2.0));
if(no_polarizer&1) channel_a2=1;
else
if(amp>(rand()%100)) {channel_a2=1;if(qm) foton_pair_pol=a2;}
}


if(50<rand()%100) {
amp=(int)(97.0*pow(cos((double)(b-foton_pair_pol)*radian),2.0));
if(no_polarizer&2) channel_b=1;
else
if(amp>(rand()%100)) channel_b=1;
}
else {
amp=(int)(97.0*pow(cos((double)(b2-foton_pair_pol)*radian),2.0));
if(no_polarizer&2) channel_b2=1;
else
if(amp>(rand()%100)) channel_b2=1;
}


if(channel_a)
if(channel_b) Nab+=1.0; //++

if(channel_a)
if(channel_b2) Nab2+=1.0; //++

if(channel_a2)
if(channel_b) Na2b+=1.0; //++

if(channel_a2)
if(channel_b2) Na2b2+=1.0; //++
}
}

void N_2(double a,double b,double a2,double b2,int no_polarizer)
{
Nab=0.0;
Na2b=0.0;
Nab2=0.0;
Na2b2=0.0;



for(int i=0;i<50000;i++) {
double foton_pair_pol=(double)(rand()%360),dif;
int channel_a=0;
int channel_a2=0;
int channel_b=0;
int channel_b2=0;



if(50<rand()%100) {
dif=fabs(a-foton_pair_pol+scatter(scatter_angle));
if(dif>=90.0&&dif<=270.0) dif=abs(180.0-dif);
if(dif>=270.0) dif=abs(dif-360.0);

if(no_polarizer&1) channel_a=1;//{if(67>rand()%100)?
else
if(dif<(double)angle_limit) channel_a=1;
}
else {
dif=fabs(a2-foton_pair_pol+scatter(scatter_angle));
if(dif>=90.0&&dif<=270.0) dif=abs(180.0-dif);
if(dif>=270.0) dif=abs(dif-360.0);

if(no_polarizer&1) channel_a2=1;
else
if(dif<(double)angle_limit) channel_a2=1;
}
if(50<rand()%100) {
dif=fabs(b-foton_pair_pol+scatter(scatter_angle));
if(dif>=90.0&&dif<=270.0) dif=abs(180.0-dif);
if(dif>=270.0) dif=abs(dif-360.0);

if(no_polarizer&2) channel_b=1;
else
if(dif<(double)angle_limit) channel_b=1;
}
else {
dif=fabs(b2-foton_pair_pol+scatter(scatter_angle));
if(dif>=90.0&&dif<=270.0) dif=abs(180.0-dif);
if(dif>=270.0) dif=abs(dif-360.0);

if(no_polarizer&2) channel_b2=1;
else
if(dif<(double)angle_limit) channel_b2=1;
}


if(channel_a)
if(channel_b) Nab+=1.0; //++

if(channel_a)
if(channel_b2) Nab2+=1.0; //++

if(channel_a2)
if(channel_b) Na2b+=1.0; //++

if(channel_a2)
if(channel_b2) Na2b2+=1.0; //++
}

}

int main(int argc, char* argv[])
{
double S=0.0,Naooboo,angle=22.5,a,a2,b,b2;

//angle=67.5;

a=0.0;
b=angle;
a2=angle*2.0;
b2=angle*3.0;


//experiments with one channel polarizer , pdf page 18 (31) (33)
//1 bit = right polarizer removed
//2 bit = left polarizer removed
//oo = polarizer removed
qm=0;
N_1(a,b,a2,b2, 0);
S=Nab-Nab2+Na2b+Na2b2;

N_1(a,b,a2,b2, 2);
S-=(Na2b2);//Na2 boo
N_1(a,b,a2,b2, 1);
S-=(Na2b); //Naoo b

N_1(a,b,a2,b2, 1|2);//Naoo boo
Naooboo=Nab;
S/=Naooboo;

printf("klasszikus EM: %f n",S);


qm=1;
N_1(a,b,a2,b2, 0);
S=Nab-Nab2+Na2b+Na2b2;

N_1(a,b,a2,b2, 2);
S-=(Na2b2);//Na2 boo
N_1(a,b,a2,b2, 1);
S-=(Na2b); //Naoo b

N_1(a,b,a2,b2, 1|2);//Naoo boo
Naooboo=Nab;
S/=Naooboo;

printf("QM joslat: %f n",S);


angle_limit=45,scatter_angle=0;
N_2(a,b,a2,b2, 0);
S=Nab-Nab2+Na2b+Na2b2;

N_2(a,b,a2,b2, 2);
S-=(Na2b2);//Na2 boo
N_2(a,b,a2,b2, 1);
S-=(Na2b); //Naoo b

N_2(a,b,a2,b2, 1|2);//Naoo boo
Naooboo=Nab;
S/=Naooboo;

printf("naiv modell: %f n",S);


angle_limit=30,scatter_angle=30;
N_2(a,b,a2,b2, 0);
S=Nab-Nab2+Na2b+Na2b2;

N_2(a,b,a2,b2, 2);
S-=(Na2b2);//Na2 boo
N_2(a,b,a2,b2, 1);
S-=(Na2b); //Naoo b

N_2(a,b,a2,b2, 1|2);//Naoo boo
Naooboo=Nab;
S/=Naooboo;

printf("modositott naiv modell: %f n",S);

}

Előzmény: José#15 (7173)