パーセクの定義とハッブル定数・ハッブル年齢

パーセクの定義に $1$ 秒角の $\tan$ がいらなくなったという話。

Wikipedia 日本語版におけるパーセクの定義

(いずれ修正されると思うので,あくまで本日閲覧時点での) Wikipedia 日本語版におけるパーセクの定義は以下の通り。

Parsec

1秒角をラジアンで表した角度 $\theta$ は

\begin{eqnarray}
\theta &=& \frac{\pi}{180\times 60 \times 60} = \frac{\pi}{648000} \\
\frac{\mbox{au}}{\mbox{pc}} &=& \tan\theta \\
\therefore\ \ 1\,\mbox{pc} &\equiv& \frac{\mbox{au}}{\tan\theta}= \frac{\mbox{au}}{\tan\frac{\pi}{648000}}
\end{eqnarray}

Wikipedia 英語版におけるパーセクの定義

Wikipedia 英語版におけるパーセクの項では,採択された IAU 2015 Resolution B2 に従い,厳密に

$$1 \mbox{pc} \equiv \frac{\mbox{au}}{\theta} = \frac{648000}{\pi} \mbox{au}$$

としている。つまりは $|\theta| \ll 1$ のとき $\tan\theta \simeq \theta$ なので,いっそのこと,$\tan\theta$ の項を $\theta$ としてしまえ,ということ。

1 パーセク (pc) とは,1 au の弧の長さを見込む中心角が1秒角となるときの半径の長さである」という具合に解釈できる。

Wikipedia 英語版におけるパーセクの項では小数点以下16桁つまり全部で17桁の数値で 1 パーセクの値を表しているが,Maxima の float() では 16 桁までなので,以下では bfloat() を使って 17 桁(fpprec: 17$)まで表示させている。

In [1]:
/* 念のため */ kill(m, h)$

fpprec: 17$
fpprintprec: 0$

/* 天文単位は定義値 m */
au: 149597870700 * m$
pc: 648000/bfloat(%pi)*au;
Out[1]:
\[\tag{${\it \%o}_{5}$}3.0856775814913673_B \times 10^{16}\,m\]

$\tan\theta$ のまま計算すると,小数点以下11桁目から誤差が出てきます。

In [2]:
fpprec: 17$
fpprintprec: 0$

au: 149597870700 * m$
pc: au/tan(bfloat(%pi)/648000);
Out[2]:
\[\tag{${\it \%o}_{9}$}3.0856775814671916_B \times 10^{16}\,m\]

ハッブル定数・ハッブル年齢

ハッブル定数は歴史的経緯もあり,単位が $\mbox{km/s/Mpc}$ となっている。

$$H_0 = 100 h \,\frac{\mbox{km}}{\mbox{s} \cdot \mbox{Mpc}}
= 100 h \, \frac{\mbox{km}}{\mbox{Mpc}} \cdot \mbox{s}^{-1}$$

つまり,$1 \,\mbox{Mpc}$ を $\mbox{m}$ で表した値を Mpc とすると…

In [3]:
/* H0 の精度は,せいぜいこのくらい */
fpprintprec: 4$

au: 149597870700 * m$
/* Mpc だから 1E6 pc で,km だから 1E3 m。*/
Mpc: 648000/float(%pi) * au * 1E6$
km: 1E3 * m$

H0: 100 * h * km/(s * Mpc);
Out[3]:
\[\tag{${\it \%o}_{14}$}\frac{3.241 \times 10^{-18}\,h}{s}\]

この値の逆数が秒で表したハッブル年齢となる。「億年」単位に変換すると…

In [4]:
/* 1億年を秒で表す */
okunen: 60*60*24*365.25*1E8 * s$

print(1/H0/okunen, "億年")$
\(\frac{97.78}{h}\) 億年
In [5]:
/* Planck 2018 の値を使うと... */
h: 0.674$

print("H0 = ", 100*h, "のときハッブル年齢は", 1/ev(H0)/okunen, "億年")$
H0 = \(67.4\) のときハッブル年齢は \(145.1\) 億年
In [6]:
/* Hubble (1929) の値を使うと... */
h: 4.239$

print("H0 = ", 100*h, "のときハッブル年齢は", 1/ev(H0)/okunen, "億年")$
H0 = \(423.9\) のときハッブル年齢は \(23.07\) 億年