Hirdetés

2024. április 28., vasárnap

Gyorskeresés

Hozzászólások

(#894) z3rg válasza Infonium (#890) üzenetére


z3rg
csendes tag

Talán kezdem a fotonokkal. Sokan nincsenek tisztában azzal, miért van kétféle spinű foton. Mert vagy jobbra vagy balra forgó hullám írja le.
Ha lineárisan polarizált fénnyel van dolgunk, ott kétféle foton szuperpoziciója van jelen. Ez már önmagában cáfolja a kérdéses mondatot, hiszen a szuperpozició az alapja az interferenciának is.
Csakhogy nem minden esetben jön létre látható interferencia. Ehhez a fáziskülönbségek időbeli stabilitása kell.

Ha két hullám ellentétesen forog, és az úthosszak nem egyeznek, akkor nincs stabil fáziskülönbség. Van interferencia, de időben nem állandó, így kimérhetetlen.

Míg azonos irányú forgásnál van interferencia úthosszkülönbözőség esetén is, ez a kétréses kisérlet.
A kvantumfizikában a foton két állapota a Hilbert-térben merőleges egymásra, nem interferálhat.
De tévedés azt hinni, hogy egy valós forgó hullámmal helyettesítve a foton két állapotát, nem adhatjuk össze az amplitudókat. De, természetesen összeadhatjuk, és úgy is helyes eredmény kapunk.
A hullámkép helyes, sőt mi több csak az a helyes. Ezt Schrödinger tisztán látta. Valamiért sokan ezt nem látják, vagy egyszerűen nem akarják látni.

A fenti kiemelt kijelentés ellenőrízhető a plussz jel minuszra cserélésével.
amp.img += sin(phase)*0.5;// - +
Később majd a neutronos témát is kiszámolom, de ott is ugyan ez történik.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <X11/Xlib.h>


Display *dpy;
Window w;
GC gc;



void pix(int x,int y,int color)
{
XSetForeground(dpy,gc,color);
XDrawPoint(dpy, w, gc, x,y);
}



struct _complex
{
float real,img;
};
typedef struct _complex complex;




complex conjugate(complex _par1)
{
complex _par3=_par1;
_par3.img=-_par3.img;

return _par3;
}

complex add(complex _par1,complex _par2)
{
complex _par3;
_par3.real = _par1.real + _par2.real;
_par3.img = (_par1.img + _par2.img);
return _par3;
}
complex mul(complex _par1,complex _par2)
{
complex _par3;
_par3.real = _par1.real*_par2.real - _par1.img*_par2.img;
_par3.img = (_par1.img*_par2.real + _par1.real*_par2.img);
return _par3;
}


int main()
{
int jj,y;

dpy = XOpenDisplay((0));
w = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0,0, 500, 100, 0,0,0);

XSelectInput(dpy, w, StructureNotifyMask);
XMapWindow(dpy, w);

gc = XCreateGC(dpy, w, 0, (0));
XSetForeground(dpy,gc,0);

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




for(jj=0;jj<20000;jj++)
{
float x=(float)(rand()%500);
float phase_start = 2*M_PI*(float)(rand()%1000)/1000;
float phase;
float dist;
float k=M_PI/0.1;
complex amp;


float x2=x-100;
dist=sqrt(2000*2000+x2*x2);
phase=phase_start + dist*k;
amp.real = cos(phase)*0.5;
amp.img = sin(phase)*0.5;

x2=x-105;
dist=sqrt(2000*2000+x2*x2);
phase=(phase_start + dist*k) ;
amp.real += cos(phase)*0.5;
amp.img += sin(phase)*0.5;// - +

amp = mul( amp, conjugate(amp));
amp.real*=amp.real;

y=rand()%100;
if((int)(amp.real*100)>(rand()%100)) pix((int)x,y,0x009900);
}
XFlush(dpy);
getchar();
}

[ Szerkesztve ]

Copyright © 2000-2024 PROHARDVER Informatikai Kft.