ブラックホールと半径

このワークシートはMath by Codeの一部です。 前回までにアインシュタイン方程式に到達しました。 この方程式は、非線形座標系が任意で解釈の自由度もあるという、 ゆるく複雑さの高いものです。 条件をつけて解釈することで、宇宙にまつわる様々な事象を予測する道具にすることができます。 今回は、ブラックホールの存在予測につながったシュワルツシルト解について学ぼう。

1.前提を明確にする。

条件0・アインシュタインの方程式はRij −1/2gij R=Tij。 条件1・天体の外部が真空、つまり、Tij=0。 条件2・物質分布は球対称、つまり、球座標系。物質は原点に集中している。 とします。 条件0,1から曲率はゼロとなり、R=Rij=0 条件2から、球面座標系の一般座標をxi=(c, r, t, p)とする。cはctの略、rは半径、tはθ、pはφ。 共変計量テンソル g_ij=diag(A(r), -B(r), -r2, -r2 sin2t ) としましょう。

2.前提からわかるものを求める

<リッチテンソルを求める> リッチテンソルを求めるには、 リーマンテンソルのRi_jklの2つの軸(1番,3番)を縮約します。 つまり、Rijm Rmimjを計算しましょう。 課題:リッチテンソルを求めるにはどうしたらよいでしょうか。 前もって、リーマンテンソルRijklの辞書を作っておきましょう。 さらにその前に、 計算の高速化のためにg_mnからg^mn=g_mn.inv()を求めておきます。 そして、クリ1とクリ2を同じループで作りながら、これもgamma_ijkとして辞書化しておきます。 そうすれば、リーマンテンソルRijklの辞書作りは、 diff(gamma[i][j][l], xs[k])-diff(gamma[i][j][k], xs[l])に ループをまわして、 term3 = 0 for m in range(dim): term3 += gamma[i][k][m] * gamma[m][j][l] - gamma[i][l][m] * gamma[m][j][k] この合計をさらに加えればできます。 #===================================== import sympy as sp from sympy import symbols, sin, diff, Matrix, Function, simplify # 変数と関数の定義 c, r, t, p = symbols('c r t p') xs = [c, r, t, p] dim = len(xs) A = Function('A')(r) B = Function('B')(r) # 計量テンソル g_mn M = sp.diag(A, -B, -r**2, -r**2 * sin(t)**2) M_inv = M.inv() # 辞書を使って gamma[i][j][k] = Γ^i_jk の形で保存 gamma = {} print("計算中: クリストッフェル記号...") for i in range(dim): gamma[i] = {} for j in range(dim): gamma[i][j] = {} for k in range(dim): # 第1種クリストッフェル記号の計算 res2 = 0 for m in range(dim): # 第1種 Γ_{m,jk} = 1/2 * (g_{mj,k} + g_{mk,j} - g_{jk,m}) gamma1_mjk = 0.5 * (diff(M[m, j], xs[k]) + diff(M[m, k], xs[j]) - diff(M[j, k], xs[m])) # 第2種 Γ^i_jk = g^im * Γ_{m,jk} res2 += M_inv[i, m] * gamma1_mjk gamma[i][j][k] = simplify(res2) # リーマンテンソルの辞書を初期化・格納 print("計算中: リーマンテンソル R^i_jkl ...") riemann = {} for i in range(dim): riemann[i] = {} for j in range(dim): riemann[i][j] = {} for k in range(dim): riemann[i][j][k] = {} for l in range(dim): # R^i_{jkl} の計算 term1 = diff(gamma[i][j][l], xs[k]) term2 = diff(gamma[i][j][k], xs[l]) term3 = 0 for m in range(dim): term3 += gamma[i][k][m] * gamma[m][j][l] - gamma[i][l][m] * gamma[m][j][k] val = simplify(term1 - term2 + term3) riemann[i][j][k][l] = val # if val != 0: # print(f"R^{xs[i]}_{xs[j]}{xs[k]}{xs[l]} = {val}") # リッチテンソルの計算 print("\n計算中: リッチテンソル R_ij ...") ricci = {} for i in range(dim): ricci[i] = {} for j in range(dim): # R_ij = Σ R^m_imj res_ricci = 0 for m in range(dim): res_ricci += riemann[m][i][m][j] final_val = simplify(res_ricci) ricci[i][j] = final_val if final_val != 0: print(f"R_{xs[i]}{xs[j]} = {final_val}") #========================================= [OUT] 計算中: クリストッフェル記号... 計算中: リーマンテンソル R^i_jkl ... 計算中: リッチテンソル R_ij ... R_cc = 0.5*Derivative(A(r), (r, 2))/B(r) - 0.25*Derivative(A(r), r)*Derivative(B(r), r)/B(r)**2 - 0.25*Derivative(A(r), r)**2/(A(r)*B(r)) + 1.0*Derivative(A(r), r)/(r*B(r)) R_rr = -0.5*Derivative(A(r), (r, 2))/A(r) + 0.25*Derivative(A(r), r)*Derivative(B(r), r)/(A(r)*B(r)) + 0.25*Derivative(A(r), r)**2/A(r)**2 + 1.0*Derivative(B(r), r)/(r*B(r)) R_tt = 0.5*r*Derivative(B(r), r)/B(r)**2 - 0.5*r*Derivative(A(r), r)/(A(r)*B(r)) + 1.0 - 1.0/B(r) R_pp = (0.5*r*A(r)*Derivative(B(r), r) - 0.5*r*B(r)*Derivative(A(r), r) + 1.0*(B(r) - 1)*A(r)*B(r))*sin(t)**2/(A(r)*B(r)**2)

3.リッチテンソル=0から解を求める

計算結果を見やすくまとめて=0としましょう。偏微分はすべてrに関するものだけです。 最初の2式から、   積の微分公式を思いだそう。(AB)'=0となるから、AB=定数。 時空が先々平坦ならA=1,B=1と仮定してよい。AB=1となるから、B=1/A。 これを第3式に代入しよう。 となる。 'r=1なので、(rA)'-1=0とかけるから、rで積分すると、rA-r=C(積分定数)となり、A=1+C/r。 ニュートン力学の意味で天体の質量をMとして、 たとえば、天体を含む半径rの領域の体積積分をしてガウスの定理を使うと、 面積分をしてCを-2GM/c^2と求めることができるから、 A= (B=1/A)となる。 これによって、 共変計量テンソル g_ij=diag( , , -r2, -r2 sin2θ )  が決まるね。 <シュワルツシルト半径とブラックホール> A=0のとき半径r= となる。 これをシュワルツシルト半径と呼ぶ。略してrs A=0のとき、g_cc=0となり、g_rrは逆数で発散する。 重力天体の半径rがrsより大きく、真空領域を含まないなら問題ない。 重力天体の半径rがrsより小さいとか、大きくても重力分布がrsの内側に集中しているものが、 ブラックホールだ。 ブラックホールの近辺を想像してみよう。 rがrsに近いときどうなるだろうか。 g00の1メモリが無限に小さくなる。進むために時間が膨大にかかり、遠くから見て止まって見える。 grrの1メモリは負の無限大に発散する。半径r方向に空間が無限に引き延ばされる。 rsは事象の境界線(地平線)という名前があり、吸い込まれたら見えなく観測できない。 しかし、吸い込まれる粒子から見れば連続的に移動しているだけだ。急激だけれどね。
<シュワルツシルト半径の具体化> G=6.7×10-11[m^3/ (kg*s^2)] c=3×108[m/s] から、 1/c2=1.111*10^-15 とするとき、シュワルツシルト半径rsを求めてみよう。rは実半径です。 太陽の場合 M=2×1030[kg]、r=6.96×108[m] rs=(2G*1/c^2)*M=2*6.7*1.111(-11-15)*2×1030=(1.489*10-27)*(2*1030)=2978[m] =約3㎞ r/rs=6.96*10**8/2978=230000 今の太陽の半径が23万分の1に中心に固まれば、ブラックホール並みになる。 地球の場合 M=6×1024[kg]、r=6.38×106[m] rs=(2G*1/c^2)*M=(1.489*10-27)*(6*1024)=8.9*10-3[m] =約9ミリ 3.38*10**6/0.0089=380000000 今の地球の半径が38000万分の1に中心に固まれば、ブラックホール並みになる。