Planck 2018 results から Maxima で宇宙年齢を計算する

Maxima を電卓として使って宇宙年齢を計算する例。この問題は Maxima などを使わなくても,$\tanh^{-1} x$ と $\sqrt{x}$ が使える電卓があればできます。

Planck 2018 の宇宙論パラメータ

Planck 2018 results の宇宙論パラメータは以下の通り。

\begin{eqnarray}
H_0 &=& (67.4 \pm 0.5) \ \mbox{km/s/Mpc} \\
\Omega_{\rm m} &=& 0.315 \pm 0.007 \\
\Omega_{\Lambda} &=& 1 – \Omega_{\rm m}
\end{eqnarray}

宇宙年齢

$\Omega_{\rm m} + \Omega_{\Lambda} = 1$ すなわち $k = 0$ の場合の宇宙年齢はここ に書いているように

$$
H_0 t_0 = \frac{2}{3(\sqrt{1-\Omega_{\rm m} })}\tanh^{-1} \sqrt{1-\Omega_{\rm m} } \quad \mbox{for}\ \ \Omega_{\rm m} < 1$$

より

$$t_0 = \frac{1}{H_0} \times \frac{2}{3(\sqrt{1-\Omega_{\rm m} })}\tanh^{-1} \sqrt{1-\Omega_{\rm m} }$$

以下では,Maxima の表記の都合上,$\Omega_{\rm m} \rightarrow \Omega$ として…

In [1]:
t0(H0, Omega):= 1/H0 * (2/(3*sqrt(1-Omega))) * atanh(sqrt(1-Omega));
Out[1]:
\[\tag{${\it \%o}_{1}$}t_{0}\left(H_{0} , \Omega\right):=\frac{1}{H_{0}}\,\left(\frac{2}{3\,\sqrt{1-\Omega}}\right)\,{\rm atanh}\; \sqrt{1-\Omega}\]
In [2]:
kill(km, s, Mpc)$

H0: 67.4 * km/s/Mpc $
Omega: 0.315 $

/* Mpc を km で */
Mpc: 3.0856775814127E19 * km $

/* 1/H0 は秒なので「億年」に換算 */
okunen: 60*60*24*365.25*1.E8 * s$

/* ev(H0) で H0 の値を評価して s(秒)に */
printf(true, "宇宙年齢は ~3,0f 億年", t0:t0(ev(H0), Omega)/okunen)$
宇宙年齢は 138. 億年

演習

$\pm$ の誤差も含めて計算し,宇宙年齢を $138 \ \pm\ ??$ 億年の形に求めてみよ。

解答例

In [3]:
H0p: (67.4 + 0.5) * km/s/Mpc $
H0m: (67.4 - 0.5) * km/s/Mpc $
Omegap: 0.315 + 0.007 $
Omegam: 0.315 - 0.007 $

/* t0 が最大となるのは t0(H0m, Omegam) */
printf(true, "最大値は ~3f 億年~%", t0max:t0(ev(H0m), Omegam)/okunen)$

/* t0 が最小となるのは t0(H0p, Omegap) */
printf(true, "最小値は ~3f 億年~%", t0min:t0(ev(H0p), Omegap)/okunen)$
最大値は ??? 億年
最小値は ??? 億年
In [4]:
printf(true, "宇宙年齢は ~3,0f  + ~3,0f - ~3,0f 億年~%", 
              t0, t0max - t0, t0 - t0min)$
宇宙年齢は 138.  +  ? -  ? 億年

ということで,宇宙年齢は $138 \pm ??$ 億年。