Домой | Мысли | Физ-мат Мысли | Наверх.
> restart;
Преобразования координат
r,
линейная скорость заивисит от радиуса
> v:=r*w;
> x:=r*cos(a+w*t);
> y:=r*sin(a+w*t);
> z1:=z;
время зависит от линейной скорости и т.о. от радиуса
> t1:=t/sqrt(1-v^2/c^2);
Путь Наблюдателя и Собачки
> t_obs := t; r_obs := R; a_obs := 0; z_obs := 0;
> x_obs := subs({t=t_obs,r=r_obs,a=a_obs,z=z_obs},x); y_obs := subs({t=t_obs,r=r_obs,a=a_obs,z=z_obs},y); z1_obs := subs({t=t_obs,r=r_obs,a=a_obs,z=z_obs},z1); t1_obs := subs({t=t_obs,r=r_obs,a=a_obs,z=z_obs},t1);
> t_dog := t; r_dog := R; a_dog := u*t/R; z_dog := 0;
> x_dog := subs({t=t_dog,r=r_dog,a=a_dog,z=z_dog},x); y_dog := subs({t=t_dog,r=r_dog,a=a_dog,z=z_dog},y); z1_dog := subs({t=t_dog,r=r_dog,a=a_dog,z=z_dog},z1); t1_dog := subs({t=t_dog,r=r_dog,a=a_dog,z=z_dog},t1);
Дифференциалы
> dx:=diff(x,a)*da + diff(x,r)*dr + diff(x,t)*dt + diff(x,z)*dz;
> dy:=diff(y,a)*da + diff(y,r)*dr + diff(y,t)*dt + diff(y,z)*dz;
> dz1:=diff(z1,a)*da + diff(z1,r)*dr + diff(z1,t)*dt + diff(z1,z)*dz;
> dt1:=diff(t1,a)*da + diff(t1,r)*dr + diff(t1,t)*dt + diff(t1,z)*dz;
Дифференциал интервала
> ds2:=c^2*dt1^2-dx^2-dy^2-dz1^2;
> ds2:=simplify(ds2);
> ds2:=sort(collect(ds2,{da,dr,dt,dz}),{da,dr,dt,dz});
Метрический тензор
>
G:=array(1..4,1..4);
for i from 1 to 4 do
for j from 1 to 4 do
G[i,j] := 0;
end do;
end do;
>
for n from 1 to nops(ds2) do
pwr := op(-1, op(n,ds2));
if nops(pwr) > 1 then
cmpn := op(n,ds2)/pwr;
pwr := op(1,pwr);
print(pwr);
i := `if`( evalb(pwr = dt), 1, `if`( evalb(pwr = dr), 2, `if`( evalb(pwr = da), 3, 4 )));
j := i;
G[i,j] := simplify(cmpn);
else
pwr2 := op(-2, op(n,ds2));
cmpn := op(n,ds2)/pwr/pwr2;
i := `if`( evalb(pwr = dt), 1, `if`( evalb(pwr = dr), 2, `if`( evalb(pwr = da), 3, 4 )));
j := `if`( evalb(pwr2 = dt), 1, `if`( evalb(pwr2 = dr), 2, `if`( evalb(pwr2 = da), 3, 4 )));
G[i,j] := simplify(cmpn/2);
G[j,i] := simplify(cmpn/2);
end if;
end do;
> print(G);
Пространственный метрический тензор
>
GG:=array(1..3,1..3);
for i from 1 to 3 do
for j from 1 to 3 do
GG[i,j] := -G[i+1,j+1] + G[1,j+1] * G[i+1,1] / G[1,1];
end do;
end do;
> print(GG);
> dxx:=[dr,da,dz];
> unassign('i','j');
> expr:=GG[1,j]*dxx[1]*dxx[j] + GG[2,j]*dxx[2]*dxx[j] + GG[3,j]*dxx[3]*dxx[j];
> dl2:=eval(subs(j=1,expr)+subs(j=2,expr)+subs(j=3,expr));
> dl2:=subs({dr=0,dz=0,r=R,w=V/R,da=1},dl2);
> dl:=sqrt(dl2);
> assume(R>0,v>0,c>v);simplify(int(dl,a=0..2*Pi));
> 2*Pi*R*sqrt(1/(1-V^2/c^2*(1+V^2/c^2)));
Домой | Мысли | Физ-мат Мысли | Наверх.