夏休みの宿題「非一様宇宙の距離」

二間瀬さんへの私信。夏休みの宿題「非一様宇宙の距離」について。

$\Omega_{\Lambda} = 0$ の場合の Angular Diameter Distance

\begin{eqnarray}
d_A
&=& \frac{2}{H_0 \Omega_{\rm m}^2 (1+z)^2} \left\{2 – \Omega_{\rm m} + \Omega_{\rm m} z – (2-\Omega_{\rm m}) \sqrt{1 + \Omega_{\rm m} z}\right\}
\end{eqnarray}

以下では $H_0$ を省略し,表記の都合上 $\Omega_{\rm m} \rightarrow \Omega$

In [1]:
dA(Omega, z):= 2/(Omega**2*(1+z)**2) * 
             (2-Omega+ Omega*z - (2-Omega)*sqrt(1 + Omega*z));
Out[1]:
\[\tag{${\it \%o}_{1}$}{\it dA}\left(\Omega , z\right):=\frac{2}{\Omega^2\,\left(1+z\right)^2}\,\left(2-\Omega+\Omega\,z+\left(-\left(2-\Omega\right)\right)\,\sqrt{1+\Omega\,z}\right)\]

$\Omega_{\rm m} + \Omega_{\Lambda} = 1$ の場合の Angular Diameter Distance

\begin{eqnarray}
d_A
&=& \frac{1}{H_0 (1+z)} \int_0^z \frac{dz}{\sqrt{(1-\Omega_{\rm m}) + \Omega_{\rm m} (1+z)^3} }
\end{eqnarray}

解析的には積分できないので,quad_qags() で数値積分する。quad_qags() は4つの要素

[積分の近似値, 近似の絶対誤差, 被積分関数の評価数, エラーコード]

からなるリストを返すので,積分近似値のみを出力させたい場合には [1] をつけてリストの1番目の要素のみを出力するように指定する。

In [2]:
/* 被積分関数の定義 */
f(Omega, z):= 1/sqrt((1-Omega) + Omega*(1+x)**3);

dAL(Omega, z):= ((1/(1+z)*quad_qags(f(Omega, x), x, 0, z))[1]);
Out[2]:
\[\tag{${\it \%o}_{2}$}f\left(\Omega , z\right):=\frac{1}{\sqrt{1-\Omega+\Omega\,\left(1+x\right)^3}}\]
Out[2]:
\[\tag{${\it \%o}_{3}$}{\it dAL}\left(\Omega , z\right):=\left(\frac{1}{1+z}\,{\it quad\_qags}\left(f\left(\Omega , x\right) , x , 0 , z\right)\right)_{1}\]

非一様宇宙の距離:ケース1

近傍:

  1. $0 \leq z \leq 0.1$ の近傍では,local なハッブル定数の値 $\tilde{H}_0$ は global な値 $H_0$ より $10\%$ 大きいとする。
    $$\tilde{H}_0 = 1.1 \, H_0$$
  2. $0 \leq z \leq 0.1$ の近傍では, Angular Diameter Distance は以下の式で記述できるとする。
    \begin{eqnarray}
    \Omega_{\Lambda} &=& 0 \\
    \Omega_{m} &\Rightarrow& \Omega = 0.5 \\
    d_A(\Omega, z) &=& \frac{2}{\tilde{H}_0 \Omega^2 (1+z)^2}\left\{2 – \Omega + \Omega z – (2-\Omega) \sqrt{1 + \Omega z}\right\} \\
    &\simeq& \frac{z}{\tilde{H}_0}\quad (z \leq 0.1 \ll 1)
    \end{eqnarray}
  3. 近傍については Raychaudhuri equation を解いて… というご依頼であったが,$z \leq 0.1 \ll 1$ であるため,$\displaystyle d_A(z) \simeq \frac{z}{\tilde{H}_0}$ として十分であることがわかる。
    これは,Dyer-Roeder distance の empty beam のケースを使っても,ほとんど変わらない。

遠方:

  1. $0.1 \leq z \leq 1$ の領域では,ハッブル定数の値は global な値 $H_0$ であるとする。
  2. $0.1 \leq z \leq 1$ の領域では,Angular Diameter Distance は以下の式で記述できるとする。
    \begin{eqnarray}
    \Omega_{\Lambda} &=& 0 \\
    \Omega_{m} &\Rightarrow& \Omega = 1 \\
    d_A(\Omega, z) &=& \frac{2}{{H}_0 \Omega^2 (1+z)^2}\left\{2 – \Omega + \Omega z – (2-\Omega) \sqrt{1 + \Omega z}\right\} \\
    &=& \frac{2 \left(1+z-\sqrt{1+z}\right)}{H_0 (1+z)^2}
    \end{eqnarray}

グラフ

近傍,遠方それぞれに異なったハッブル定数の値を使った Angular Diameter Distance をグラフにする。

In [3]:
localOm: 0.5$
globalOm: 1$

keylocal: printf(false, "{/Times Ω_m =~3,f, Ω_Λ= 0, local H_0}", localOm)$
keyglobal: printf(false, "{/Times Ω_m =~3,f, Ω_Λ= 0, global H_0}", globalOm)$

draw2d(
  dimensions = [640, 480],
  user_preamble = ["set key bottom right;"],
  xlabel = "{/Times z}", 
  title = "Angular Diameter Distance",
  
  line_width = 2,
  key = keyglobal, 
  color = red,
  explicit(dA(globalOm, z), z, 0.1, 1),

  key = keylocal, 
  color = blue,
  explicit(dA(localOm, z)/1.1, z, 0, 0.1) 

)$

領域全体 $0 \leq z \leq 1$ を一つのハッブル定数の値 $\tilde{H}_0$,一つの距離公式を使って表すことができるか,試してみる。

以下の例でわかるように,一つのハッブル定数の値 $\tilde{H}_0$,一つの距離公式を使って表すことはそんなにうまくはいかない。

In [4]:
localOm: 0.5$
globalOm: 1$
totalOm1: 0.3$
totalOm2: 0.6$

keylocal: printf(false, "{/Times Ω_m =~3,f, Ω_Λ= 0, local H_0}", localOm)$
keyglobal: printf(false, "{/Times Ω_m =~3,f, Ω_Λ= 0, global H_0}", globalOm)$
keytotal1: printf(false, "{/Times Ω_m =~3,f, Ω_Λ= 0, local H_0}", totalOm1)$
keytotal2: printf(false, 
    "{/Times Ω_m =~3,f, Ω_Λ=~3,f, local H_0}", totalOm2, 1-totalOm2)$

draw2d(
  dimensions = [640, 480],
  user_preamble = ["set key bottom right;"],
  xlabel = "{/Times z}", 
  title = "Angular Diameter Distance",
  
  line_width = 1,
  key = keytotal1, 
  color = black,
  explicit(dA(totalOm1, z)/1.1, z, 0, 1),
  line_type = dots,
  key = keytotal2, 
  color = black,
  explicit(dAL(totalOm2, z)/1.1, z, 0, 1),

  line_width = 2,
  line_type = solid,
  key = keyglobal, 
  color = red,
  explicit(dA(globalOm, z), z, 0.1, 1),

  key = keylocal, 
  color = blue,
  explicit(dA(localOm, z)/1.1, z, 0, 0.1) 

)$

非一様宇宙の距離:ケース2

近傍:

  1. $0 \leq z \leq 0.1$ の近傍では,local なハッブル定数の値 $\tilde{H}_0$ は global な値 $H_0$ より $10\%$ 大きいとする。
    $$\tilde{H}_0 = 1.1 \, H_0$$
  2. $0 \leq z \leq 0.1$ の近傍では, Angular Diameter Distance は以下の式で記述できるとする。
    \begin{eqnarray}
    \Omega_{\Lambda} &=& 0 \\
    \Omega_{m} &\Rightarrow& \Omega = 0.2 \\
    d_A(\Omega, z) &=& \frac{2}{\tilde{H}_0 \Omega^2 (1+z)^2}\left\{2 – \Omega + \Omega z – (2-\Omega) \sqrt{1 + \Omega z}\right\} \\
    &\simeq& \frac{z}{\tilde{H}_0}\quad (z \leq 0.1 \ll 1)
    \end{eqnarray}
  3. 近傍については Raychaudhuri equation を解いて… というご依頼であったが,$z \leq 0.1 \ll 1$ であるため,$\displaystyle d_A(z) \simeq \frac{z}{\tilde{H}_0}$ として十分であることがわかる。
    これは,Dyer-Roeder distance の empty beam のケースを使っても,ほとんど変わらない。

遠方:

  1. $0.1 \leq z \leq 1$ の領域では,ハッブル定数の値は global な値 $H_0$ であるとする。
  2. $0.1 \leq z \leq 1$ の領域では,Angular Diameter Distance は以下の式で記述できるとする。
    \begin{eqnarray}
    \Omega_{\Lambda} &=& 0 \\
    \Omega_{m} &\Rightarrow& \Omega = 0.3 \\
    d_A(\Omega, z) &=& \frac{2}{{H}_0 \Omega^2 (1+z)^2}\left\{2 – \Omega + \Omega z – (2-\Omega) \sqrt{1 + \Omega z}\right\}
    \end{eqnarray}

グラフ

近傍,遠方それぞれに異なったハッブル定数の値を使った Angular Diameter Distance をグラフにする。

In [5]:
localOm: 0.2$
globalOm: 0.3$

keylocal: printf(false, "{/Times Ω_m =~3,f, Ω_Λ= 0, local H_0}", localOm)$
keyglobal: printf(false, "{/Times Ω_m =~3,f, Ω_Λ= 0, global H_0}", globalOm)$

draw2d(
  dimensions = [640, 480],
  user_preamble = ["set key bottom right;"],
  xlabel = "{/Times z}", 
  title = "Angular Diameter Distance",
  
  line_width = 2,
  key = keyglobal, 
  color = red,
  explicit(dA(globalOm, z), z, 0.1, 1),

  key = keylocal, 
  color = blue,
  explicit(dA(localOm, z)/1.1, z, 0, 0.1) 

)$

領域全体 $0 \leq z \leq 1$ を一つのハッブル定数の値 $\tilde{H}_0$,一つの距離公式を使って表すことができるか,試してみる。

以下の例でわかるように,宇宙定数を導入して $\Omega_{m} + \Omega_{\Lambda} = 1$ とした場合には,一つのハッブル定数の値 $\tilde{H}_0$,一つの距離公式を使って表すことは,そこそこうまくいくようにも思える。

In [6]:
localOm: 0.2$
globalOm: 0.3$
totalOm2: 0.32$

keylocal: printf(false, "{/Times Ω_m =~3,f, Ω_Λ= 0, local H_0}", localOm)$
keyglobal: printf(false, "{/Times Ω_m =~3,f, Ω_Λ= 0, global H_0}", globalOm)$
keytotal2: printf(false, 
    "{/Times Ω_m =~3,f, Ω_Λ=~3,f, local H_0}", totalOm2, 1-totalOm2)$

draw2d(
  dimensions = [640, 480],
  user_preamble = ["set key bottom right;"],
  xlabel = "{/Times z}", 
  title = "Angular Diameter Distance",
  
  line_width = 1,
  line_type = dots,
  key = keytotal2, 
  color = black,
  explicit(dAL(totalOm2, z)/1.1, z, 0, 1),

  line_width = 2,
  line_type = solid,
  key = keyglobal, 
  color = red,
  explicit(dA(globalOm, z), z, 0.1, 1),

  key = keylocal, 
  color = blue,
  explicit(dA(localOm, z)/1.1, z, 0, 0.1) 

)$