\usepackagecancel

Return to 一般相対論的宇宙論

宇宙論パラメータと宇宙年齢

ハッブルパラメータ H0密度パラメータ Ωm, ΩΛ の導入と,フリードマン方程式から求める宇宙年齢 t0(スケール因子が a=0 から  a0=a(t0) になるまでの時間)。

特に,ΩΛ=0 の場合の宇宙年齢 t0 は,

H0t0=1Ωm1+Ωm(Ωm1)32tan1Ωm1for  Ωm>1H0t0=11ΩmΩm(1Ωm)32tanh11Ωmfor  Ωm<1

また,Ωm+ΩΛ=1 すなわち k=0 の場合は,

H0t0=23(Ωm1)tan1Ωm1for  Ωm>1H0t0=23(1Ωm)tanh11Ωmfor  Ωm<1

となることを示す。


膨張宇宙をあらわす FLRW 計量は,時間のみの関数であるスケール因子 a(t) と,空間座標のみの関数である3次元定曲率空間の計量 γij を使って以下のように書けるのであった。(c=1 とする。)
ds2=dt2+gijdxidxj=dt2+a2(t)γijdxidxj

宇宙空間を満たす物質が物質密度 ρ (圧力 P がゼロ)のダストの場合,宇宙定数 Λ も入れたアインシュタイン方程式は,
(a˙a)2+ka2=8πG3ρ+Λ3

a¨a=4πG3ρ+Λ3また,
ρ˙+3a˙aρ=0,    ρ1a3

ここで k は(ニュートン宇宙論においては,運動方程式の積分の際にあらわれる積分定数という意味しかなかったかも知れないが)一般相対論的宇宙論においては,一様等方な3次元空間の曲率定数という意味を持つ。k>0 の場合は閉じた空間,k<0 の場合は開いた空間,ちょうど k=0 の場合は平坦な空間という。

ハッブルパラメータ

近接した2点間の空間的距離を
gijdxidxj=a(t)γijdxidxjとすると,その時間変化は γ˙ij=0 であるから
˙=a˙aである。

ハッブル・ルメートルの法則 v=H0r との比較から
H0=a˙a|t=t0

宇宙の膨張率をあらわす a˙a の現在 t=t0 での値がハッブルパラメータ H0 である。

(ハッブル「定数」とも呼ばれるだろうが,時間に依存しない「定数」というよりは,時間に依存する関数の現在時刻での値ということだからハッブル「パラメータ」と呼ぶことにする。)

密度パラメータ

フリードマン方程式

(a˙a)2+ka2=8πG3ρ+Λ3

を現在の時刻 t=t0 で評価すると

H02+ka02=8πG3ρ0+Λ3
である。ここで,a0a(t0), ρ0ρ(t0)

現在の宇宙膨張がダストの物質密度のみによってドライブされているならば(k=0, Λ=0 ということ),そのときの物質密度を臨界密度 ρcr というが,以下のようになる。
H02=8πG3ρcr,  ρcr3H028πG

現在の物質密度 ρ0 と臨界密度の比をとり,
Ωmρ0ρcr=8πGρ03H02
この Ωm を(ダスト)物質の密度パラメータという。

また,宇宙定数を完全流体とみなしたときのエネルギー密度  ρΛ についても Λ3=8πG3ρΛ であるから,同様に
ΩΛρΛρcr=Λ8πG3H028πG=Λ3H02

これらのパラメータをあらためて t=t0 でのフリードマン方程式に代入すると
H02+ka02=H02(Ωm+ΩΛ)
 ka02=H02(Ωm+ΩΛ1)

H0,Ωm,ΩΛ をまとめて宇宙論パラメータと呼ぶことにする。

減速パラメータ

ちなみに,ハッブルパラメータが
H0=a˙a|t=t0のように,1階微分(膨張速度)をスケール因子で割った量として表すことに対応して,2階微分(膨張の加速度・減速度)を表すパラメータとして
q01H02a¨a|t=t0として定義した q0減速パラメータと呼び,20世記の教科書ではよく使われていたが,最近のテキストではあまり見なくなったかも知れない。

a¨a=4πG3ρ+Λ3

の式を t=t0 で評価してやると以下の関係があることがわかる。

q0=12Ωm+ΩΛ

ということで,本稿では ΩmΩΛ を使うことにして,q0 は使わない方向。

宇宙論パラメータで書いたフリードマン方程式

したがって,任意時刻 t でのフリードマン方程式は
(a˙a)2=8πG3ρ+Λ3ka2=H02{8πGρ03H02(a0a)3+Λ3H02}ka02(a0a)2=H02{Ωm(a0a)3+ΩΛ+(1ΩmΩΛ)(a0a)2}

宇宙年齢

ハッブル・ルメートルの法則から a˙>0 である。また物質密度がゼロでないなら ρ>0 なので,a¨<0 となり,スケール因子 a(t) のグラフは上に凸となる。このことは,有限の過去,a=0 となることを意味する。つまり宇宙には始まりがあったということになる。

フリードマン方程式から宇宙年齢 t0(スケール因子が a=0 から a=a0=a(t0) になるまでの時間) を求める。常識のフリードマン方程式の両辺に (aa0)2 をかけて平方根をとると
ddt(aa0)=H0Ωm(a0a)+(1ΩmΩΛ)+ΩΛ(aa0)2

xaa0 という変数を使えば,上の式は

dxdt=H0Ωm(1x)+(1ΩmΩΛ)+ΩΛx2=H0Ωm+(1ΩmΩΛ)x+ΩΛx3x

変数分離形の微分方程式を解くことになって,

H0dt=xΩm+(1ΩmΩΛ)x+ΩΛx3dx

ここで

f(x,Ωm,ΩΛ)xΩm+(1ΩmΩΛ)x+ΩΛx3

とおけば,

H0t0=01f(x,Ωm,ΩΛ)dx

ΩΛ=0 の場合

Ωm>1 を想定して

H0t0=01f(x,Ωm,0)dx=01xΩm(Ωm1)xdx=1Ωm101xΩmΩm1xdx

以下のような変数変換をすると…

xΩmΩm1xt  x=ΩmΩm1t21+t2dx=ΩmΩm12t(1+t2)2dt

  H0t0=1Ωm101xΩmΩm1xdx=Ωm(Ωm1)320Ωm12t2(1+t2)2dt=Ωm(Ωm1)32[tan1tt1+t2]0Ωm1

最後の積分は,ここで示しておきました。

あらためて積分を実行した結果を書くと

H0t0=1Ωm1+Ωm(Ωm1)32tan1Ωm1for  Ωm>1

H0t0=11ΩmΩm(1Ωm)32tanh11Ωmfor  Ωm<1

ここで,Ωm<1 の場合には tan1(ix)=itanh1x の関係を使って Ωm>1 の結果から導いた。オイラーの公式から得られるこれらの関係については,別途授業で習ったよねぇ。(逆三角関数と逆双曲線関数の関係

特に,Ωm=1  すなわち k=0 のときには上式で Ωm1 の極限をとればよくて,結果は
H0t0=23for  Ωm=1

 

以下の計算からわかるように,

Ωmf(x,Ωm,ΩΛ)<0for 0<x<1

被積分関数 f(x,Ωm,ΩΛ),したがって積分としての宇宙年齢 t0Ωm の単調減少関数 であるから

H0t0{<23for Ωm>1=23for Ωm=1>23for Ωm<1である。最大値となるのは Ωm0 のときで

H0t0=01f(x,0,0)dx=01xxdx=1

Ωm+ΩΛ=1 すなわち k=0 の場合

H0t0=01f(x,Ωm,1Ωm)dx=01xΩm(Ωm1)x3dx=1Ωm101x3ΩmΩm1x3dxx

以下のような変数変換をすると…

x3ΩmΩm1x3t  x3=ΩmΩm1t21+t23x3dxx=ΩmΩm12t2(1+t2)2dtt=2x3dtt(1+t2)  dxx=23dtt(1+t2)

  H0t0=1Ωm101x3ΩmΩm1x3dxx=1Ωm10Ωm1t23dtt(1+t2)=23Ωm1[tan1t]0Ωm1

あらためて積分を実行した結果を書くと

H0t0=23(Ωm1)tan1Ωm1for  Ωm>1

H0t0=23(1Ωm)tanh11Ωmfor  Ωm<1

ここで,Ωm<1 の場合には tan1(ix)=itanh1x の関係を使って Ωm>1 の結果から導いた。オイラーの公式から得られるこれらの関係については,別途授業で習ったよねぇ。(逆三角関数と逆双曲線関数の関係

特に,Ωm=1  すなわち ΩΛ=0 のときには
H0t0=23for  Ωm=1

 

以下の計算からわかるように,

ΩΛf(x,Ωm,ΩΛ)>0for 0<x<1

被積分関数 f(x,Ωm,ΩΛ),したがって積分としての宇宙年齢 t0ΩΛ の単調増加関数である。

なお,Maxima ではなかなかきれいにしてくれなかったので,以下の公式を使って人力で整えた。
tan1(x)+tan1(1x)=π2

いったん,Ωm>1 の場合が解ければ,Ωm<1 の場合も
tan1(ix)=itanh1xなどの公式を使えばすぐに求まるだろう。

結局,Maxima だけじゃあダメで人力で整える必要があるということでした。

宇宙年齢の密度パラメータ依存性のグラフ

 

Maxima-Jupyter での計算例


宇宙年齢 t0

H0t0=01xΩm+(1ΩmΩΛ)x+ΩΛx3dx

Maxima の表記の都合上,
ΩmΩ,ΩΛΩ1 とする。

In [1]:
f(x, Omega, Omega1):= sqrt(x)/sqrt(Omega + (1 - Omega-Omega1)*x+Omega1*x**3);
Out[1]:
(%o1)f(x,Ω,Ω1):=xΩ+(1ΩΩ1)x+Ω1x3

ΩΛ=0 の場合

ΩΛ=0, Ωm>1 の場合は Maxima は積分できる。

In [2]:
/* 念のため,assume() 等での設定を全て忘れさせる。*/
forget(facts())$
assume(Omega > 1)$

'integrate(f(x, Omega, 0), x, 0, 1) =
 ans: integrate(f(x, Omega, 0), x, 0, 1);
Out[2]:
(%o4)01x(1Ω)x+Ωdx=πΩ1Ω2Ω24Ω+2arctan(1Ω1)Ω1Ω+Ω1Ω22Ω+1
In [3]:
factor(ans);
Out[3]:
(%o5)2arctan(1Ω1)Ω1ΩπΩ1Ω+2Ω22(Ω1)2

ΩΛ=0, 0<Ωm<1 の場合は,意味不明…

In [4]:
/* 念のため,assume() 等での設定を全て忘れさせる。*/
forget(facts())$
assume(Omega > 0)$
assume(Omega < 1)$

'integrate(f(x, Omega, 0), x, 0, 1) =
 integrate(f(x, Omega, 0), x, 0, 1);
Out[4]:
(%o9)01x(1Ω)x+Ωdx=limx01ΩΩlog(x(1Ω)x+Ω|2x(1Ω)x+Ω21Ωx|1Ωx|2x(1Ω)x+Ω21Ωx|2Ωx)2Ω24Ω+2(2Ω2)x(1Ω)x+Ω2Ω24Ω+2+log(|21Ω2|1Ω|21Ω2|2Ω)1ΩΩ2Ω24Ω+2ΩΩ22Ω+1+1Ω22Ω+1

ΩΛ=0, Ωm=1 の場合は…

In [5]:
integrate(f(x, 1, 0), x, 0, 1);
Out[5]:
(%o10)23

一見,分母がゼロになって怖そうだけど,ちゃんとΩm>1 の解の極限をとっても正しい答えになる。

In [6]:
limit(ans, Omega, 1);
Out[6]:
(%o11)23

Ωm+ΩΛ=1 すなわち k=0 の場合

Ωm>1 の場合は Maxima は積分できる。

In [7]:
/* 念のため,assume() 等での設定を全て忘れさせる。*/
forget(facts())$
assume(Omega > 1)$

'integrate(f(x, Omega, 1-Omega), x, 0, 1) =
 ans: integrate(f(x, Omega, 1-Omega), x, 0, 1);
Out[7]:
(%o14)01x(1Ω)x3+Ωdx=πΩ13Ω32arctan(1Ω1)Ω13Ω3
In [8]:
factor(ans);
Out[8]:
(%o15)2arctan(1Ω1)π3Ω1

0<Ωm<1 の場合は,意味不明…

In [9]:
/* 念のため,assume() 等での設定を全て忘れさせる。*/
forget(facts())$
assume(Omega > 0)$
assume(Omega < 1)$

'integrate(f(x, Omega, 1-Omega), x, 0, 1) =
 integrate(f(x, Omega, 1-Omega), x, 0, 1);
Out[9]:
(%o19)01x(1Ω)x3+Ωdx=log(|21Ω2|1Ω|21Ω2|2Ω)1Ω3Ω31Ω(limx0log(x(1Ω)x3+Ω|2x(1Ω)x3+Ω21Ωx2|1Ωx2|2x(1Ω)x3+Ω21Ωx2|2Ωx))3Ω3

宇宙年齢の密度パラメータ依存性

被積分関数 f(x,Ω,Ω1)Ω の単調減少関数であることは,以下からわかる。

In [10]:
diff(f(x, Omega, Omega1), Omega);
Out[10]:
(%o20)(1x)x2(Ω1x3+(Ω1Ω+1)x+Ω)32

0<x<1 では fΩ<0

従って,H0ΩΛ が同じなら Ωm が小さい方が宇宙年齢が伸びる。

ちなみに,ΩΛ=0 の場合,Ωm が小さいほど宇宙年齢は伸びるので,その最大値は…

In [11]:
tlong: integrate(f(x, 0, 0), x, 0, 1);
Out[11]:
(%o21)1

つまり,t01H0が最大値になる。

被積分関数 f(x,Ω,Ω1)Ω1 の単調増加関数であることは,以下からわかる。

In [12]:
diff(f(x, Omega, Omega1), Omega1);
Out[12]:
(%o22)x(x3x)2(Ω1x3+(Ω1Ω+1)x+Ω)32

0<x<1 では fΩ1>0

従って,H0Ωm が同じなら ΩΛ が大きい方が宇宙年齢が伸びる。


 

補足:スケール因子の解

補足:Matplotlib でスケール因子のグラフを描く

導出については,以下のページ:

  • 補足:スケール因子の解

補足:SymPy と SPB でスケール因子のグラフを描く

導出については,以下のページ:

  • 補足:スケール因子の解

補足:gnuplot でスケール因子のグラフを描く

補足:Maxima でスケール因子のグラフを描く

補足:宇宙年齢の表式についてもう少し

補足:Maplotlib で宇宙年齢のグラフを描く

宇宙年齢の表式の導出については,以下のページを参照。

  • 宇宙論パラメータと宇宙年齢

ここでは,Python の matplotlib.pyplot.plot() を使って宇宙年齢のグラフを描いてみる。

補足:SymPy と SPB で宇宙年齢のグラフを描く

宇宙年齢の表式の導出については,以下のページを参照。

  • 宇宙論パラメータと宇宙年齢

ここでは,Python の SymPy Plotting Backends を使って宇宙年齢のグラフを描いてみる。

補足:gnuplot で宇宙年齢のグラフを描く

宇宙年齢の表式の導出については,以下のページを参照。

  • 宇宙論パラメータと宇宙年齢

ここでは,gnuplot を使って宇宙年齢のグラフを描いてみる。

補足:Maxima で宇宙年齢のグラフを描く

宇宙年齢の表式の導出については,以下のページを参照。

  • 宇宙論パラメータと宇宙年齢

ここでは,Maxima を使って宇宙年齢のグラフを描いてみる。