先日
ブラックホールの撮影に成功したという
ニュースがありましたね。

なので
そのブラックホールの大きさを
プログラムで求めてみました。


解説動画はこちら



まずはブラックホールって
何なのって話ですが

ウィキペディアによると
極めて高密度かつ大質量で
強い重力のために物質だけでなく
光さえ脱出することができない天体である。

まあ元は星だったりとか
そんなやーつですね。

そのあとの説明では

周囲は非常に強い重力によって時空が著しくゆがめられ
ある半径より内側では脱出速度が光速を超えてしまう。

この半径をシュヴァルツシルト半径
この半径を持つ球面を事象の地平面(シュヴァルツシルト面)と呼ぶ。

つまりこの事象の地平面が
ブラックホールの大きさになるわけですが

その大きさを調べるには
シュヴァルツシルト半径が分かれば
その直径も分かりますね。

シュヴァルツシルト半径の
wikiの記事も見ると

1916年カール・シュヴァルツシルトは
アインシュタインの重力場方程式の解を求め
非常に小さく重い星があったとすると
その星の中心からのある半径の球面内では
光も脱出できなくなるほど曲がった時空領域が出現することに気づいた。

その半径をシュワルツシルト半径と呼び
シュワルツシルト半径よりも小さいサイズに収縮した天体は
ブラックホールと呼ばれる。

はい。

んでそれを求める公式があるそうです。

スクリーンショット 2019-04-16 21.51.54

これが関係する公式です。

早速いろいろ計算していきましょう。

まずは地球を縮めたら
どれくらいの大きさでブラックホールになるのかです。

重力定数と光速度は
scipyのconstants
というライブラリの中に定数が有るので
それを用いると計算がスムーズです。

まずライブラリの呼び出しは

from scipy import constants

お次は半径を求める式を
プログラムで当てはめていきます。

E = 5.9724 * (10**24)
G = constants.G
C = constants.c
R = 2 * G * E / (C**2)
print(R * 100)
0.8870107529844293

さて結果は・・・
0.88センチ

地球を1センチ程度に圧縮したら
ブラックホールになり得るのだそう。

次は太陽です。
S = 1.989 * (10**30)
G = constants.G
C = constants.c
R = 2 * G * S / (C**2)
print(R)
2954.0291803731

太陽は約3キロメートルほどで
ブラックホールになるんだそう。

逆に
半径から質量を求めてみましょう。
公式ではRを求めていたので
質量Mを求めるようにするには

R = 0.008870107529844293
M = R * (C**2) / (2 * G)
print(M)
5.9724e+24

はい
これで半径から質量も
出すことができましたね。

最後にこの前撮影された
ブラックホールの半径を求めます。

撮影できたものの質量は
太陽の65億倍なんだとか

この数値を使って当てはめてみると・・・

S = 1.989 * (10**30)
B = S * 6500000000
G = constants.G
C = constants.c
R = 2 * G * B / (C**2)
print(R/1000)
19201189672.42515


約192億キロです。

デカすぎワロタwwwww

よくそんなの撮れましたね。

引くほどデカイ!!!


ブラックホールといえば
あの名作
インターステラーではないでしょうか



滅亡しかけている地球のために
恒星間移動をして
住める惑星を探して調査して
一難去ってまた一難

一悶着ありまくりの後
最後の賭けで
ブラックホールに入って
この世界の謎を解き明かして
ラストは・・・

うーーん
奥が深かった。

理論物理学者のキップ・ソーンが
科学コンサルタント兼製作総指揮を務め
理論武装も完璧であろうと思われる。

物理学の話でもあるけど
親子の絆を描く作品でもある
不朽の名作

ぜひお試しあれ。