Kis eltérés van a Lorentz kontrakciótól. Most vagy az enyém egy közelítés, vagy a Lorentz képlet. Valószínű hogy az enyém a közelítés, de nem eldönthető a probléma, mert ezt a kontrakciót még nem nem figyelték meg kisérletileg.
De mindenesetre érdekes.
Az eredmény:
L 3.324918460055e-10
Doppler 2.374403498697e-10
DeBroglie 2.374403498697e-10
Lorentz 2.374466721322e-10
és a program:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
double
h=6.62606896e-34,
me=9.10938215e-31,
c=2.99792458e8,
k=8.9875517874e9,
e=1.602176487e-19,
alfa=1.0/7.2973525376e-3,
E,l,m,v,b,f1,f2,f0,l2,l0,w,v2,v3,v0;
int i;
f0=me*c*c/h;
v=c/alfa;
l0=h/(me*c/alfa);
printf("L %.12e n",l0);
v0=c*0.7;
w=c/alfa;
v2=(w-v0)/(1.0-w*v0/(c*c));
w=-w;
v3=(w-v0)/(1.0-w*v0/(c*c));
v=v3;
f1=f0*sqrt((1.0-v/c)/(1.0+v/c));
f2=f0*sqrt((1.0+v/c)/(1.0-v/c));
l=2.0*c/(f2-f1);
v=v2;
f1=f0*sqrt((1.0-v/c)/(1.0+v/c));
f2=f0*sqrt((1.0+v/c)/(1.0-v/c));
l2=2.0*c/(f2-f1);
l=2*l*l2/(l-l2);
printf("Doppler %.12e n",l);
v=v3;
b=1.0/sqrt((1.0-v*v/(c*c)));
l=h/(me*v*b);
v=v2;
b=1.0/sqrt((1.0-v*v/(c*c)));
l2=h/(me*v*b);
l=2*l*l2/(l-l2);
printf("DeBroglie %.12e n",l);
l=l0*sqrt(1.0-v0*v0/(c*c));
printf("Lorentz %.12e n",l);
return 0;
}