先日、テレビをダラリと見ておりましたら、ローレンツ変換によって、速度 V で移動し続ける事で、時間の流れがゆっくりとなり、結果として「時間の収縮」という現象が生じる、とやっておりました。
具体例として「時速 285km で走行する新幹線に 100万年(!)乗り続けると、1秒だけ時間が縮む」との事。
まあ「100万年も乗り続ける」というのは現実離れした話ではありますが、飽くまでも思考実験であります。
そこで、手持ちの電卓で、宇宙に思いを馳せるが如く、計算してみようという次第。
まだ勉強しているので、詳細は分かりませんが、ローレンツ変換により、つぎの式で時間が収縮する様子が計算される様です。
t' = t sqrt(1-(v/c)^2)
但し、
- v ; 列車の移動速度 (285 km/h)
- c ; 光速度 (299792358 m/sec)
- t ; 列車に乗っている人の経過時間
- t' ; ローレンツ変換により、収縮したあとの時間
これを計算するのですが、まずは多くのグラフ電卓で利用できる upython を使ってみましょう。
import mathこれくらいならば、どの upython 電卓でも動くでしょう。
c=299792358.0
v=285.0*1000/3600
t=100.0*10000*365.25*24*3600
k=math.sqrt(1.0-(v/c)*(v/c))
td=t*k
print('a{:24.8f}'.format(t))
print('b{:24.8f}'.format(td))
print('d{:24.8f}'.format(t-td))
実行結果は ...
a 31557600000000.0000
b 31557599999998.8984
d 1.1015
順番に、
(a) 100万年乗車の経過時間
(b) 100万年乗車の経過時間を車両の外部から観測した経過時間
(d) (a)-(b) の差 ... 時間収縮の量
でありますネ。
テレビの言う通り、ほぼ 1秒程度の時間収縮が得られました。( 100万年走り続けて、これかよ )
計算の共通 platform として、upython を使用しましたが、fx-CG50 の計算機画面(もしくは BASIC)で行ったら、チョットばかりクルシイ結果が ... (a), (b) が同じ値で、(d) = (a)-(b) = 0 になってしまった ... ウーム。