Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

重力波検出を支える先端テクノロジーにHaskellを混ぜたのは一体誰だ!?

More than 1 year has passed since last update.

(この記事は「技術的ポエム Advent Calendar 2018」の23日目です)

fukuoka.ex代表のpiacereです
ご覧いただいて、ありがとうございます :bow:

今年のAdvent Calendarは、宇宙ネタをぶっ込めるカレンダーが見当たらなかったので、「技術的ポエム」として、ここにぶっ込ませていただきます :stuck_out_tongue_winking_eye:

ネタ的には、昨年、人気を博した宇宙コラム、重力プログラミング入門「第2回:Pythonで重力波を解析する」に纏わる、先端テクノロジーの紹介です
image.png

重力波を測定するハードウェア

「重力波」が、どの位の規模で発生するのか、重力プログラミング入門「第2回:Pythonで重力波を解析する」の解説から引用します


重力波の規模は、「10のマイナス21乗」とかなり小さく、これは「地球から太陽の距離で、水素原子1つ分が歪む」程度の微小な変化でしかありません

100年間、重力波を観測できなかったのは、このような微小な変化を捉えるための技術が無かったことが、主な要因だと考えられています :persevere:

この100年で、デジタルコンピュータは飛躍的な進歩を遂げ、科学技術もその恩恵で大きく発展し、非常に精密な装置の開発も可能となりました

その結果、「地球から太陽の距離で、水素原子1つ分が歪む」程度の微小な変化も検出できるようになったのですが、具体的にどんな技術が使われているのでしょう? :thinking:


この微小変化は、人間には絶対に感知できない現象なので、テクノロジーの恩恵無には検出できず、それを検出できるだけの技術が確立できたのは、ホンのつい最近だと言うことです

そして、この技術を実装したハードウェアが、「LIGOレーザー干渉計重力波天文台」でした(こちらも以下に引用します)


今回、初めて重力波を検出したのは、LIGO(Laser Interferometer Gravitational-Wave Observatory:レーザー干渉計重力波観測所)と呼ばれる、ワシントン州ハンフォード(アメリカ東海岸側)と、ルイジアナ州リビングストン(アメリカ西海岸側)の2ヵ所にある施設です

パイプ1本の長さが4Kmもある、巨大な観測施設によって、初めて観測可能となった訳です :flushed:

ワシントン州ハンフォード観測所
image.png

ルイジアナ州リビングストン観測所
image.png


では、ソフトウェア面は、どんな感じだったのでしょうか?

重力波を測定するソフトウェア

「そもそも、そんな情報、公開されてるの?」って思われるかもですが、ナント、普通にネットで拾えます

「情報処理学会」に掲載されている、コチラの解説コラムです
重力波の初検出と情報処理技術 -LIGOとKAGRAで活用されている情報処理技術-
→「IPSJ-MGN570504.pdf」を探して、ダウンロードしてください

この内容を、頭からお尻まで解説していっても、それはそれで楽しいのですが、内容が、とても熱くて、読んでいてワクワクするものなので、そのテイストを知っていただきたいから、ご自身で直接読んで欲しいです

一応、私の趣味/琴線に触れるものだけ、以下に参考程度として、挙げておきます

重力波データ解析ツール「GstLAL」

「GStreamer」という、オープンソースのマルチメディアアプリケーション開発用フレームワークは、信号処理パイプラインを構築できますが、これを使った重力波データ解析ツールが、「GstLAL」です

GStreamer自体は、「動画のストリーミング配信」や「複数の動画合成」等に使えます

GStreamer というマルチメディアフレームワーク
https://qiita.com/tetsukuz/items/e67be5f3bf5b6ca6b625

gstlal
https://lscsoft.docs.ligo.org/gstlal/

分散コンピューティングプラットフォーム「BOINC」

BOINCは、「Berkeley Open Infrastructure for Network Computing」の略で、20年前に、スクリーンセーバで宇宙データ分析をさせていた「SETI@home」での実績をベースに作られています

HTTPをベースプロトコルとしているので、比較的、容易に導入できることが特徴で、LIGOとは、「Einstein@home」という実装で接続・解析を行っています

重力波以外では、宇宙マイクロ波背景放射向けの「Cosmology@home」や、地球近傍小惑星の軌道をモニタリングする「Orbit@home」、天の川銀河の進化モデルを構築する「MilkyWay@home」等、幾つもBOINCをベースとする実装があります

オープンソースとして、GitHubにも公開されています
https://github.com/BOINC/boinc

世界各地にデータ転送するグリッド「LSC DataGrid」

LIGOの研究者達(LSC:LIGO Scientific Collaborationと呼ばれます)と、LIGOと一緒に共同研究を行っている、欧州のVirgo重力波検出器の研究者など、世界各地の共同研究者へ、データを誤りや見落とし無く、重力波データを各地へ転送するのに使われているデータグリッドです

LSC DataGrid
https://www.lsc-group.phys.uwm.edu/lscdatagrid/

オマケ:Haskell(LIGOでは無くKAGRA)

けっこう面白いことが書かれているし、関数型言語の特性についても触れられているので、ぜひコラムを読んでみてください :kissing_smiling_eyes:

p.s.「いいね」よろしくお願いします

ページ左上の image.pngimage.png のクリックを、どうぞよろしくお願いします:bow:
ここの数字が増えると、書き手としては「ウケている」という感覚が得られ、連載を更に進化させていくモチベーションになりますので、もっとElixirネタを見たいというあなた、私達と一緒に盛り上げてください!:tada:

piacerex
福岡でプログラマしながらIT商社とIT企業を経営してます。Elixir/Kerasをよく使う。Elixirコミュ#fukuokaex、福岡理学部#FukuokaScienceを主催。プログラマ歴36年/XPer歴19年/デジタルマーケッター/経営者/CTO/技術顧問数社。 シボと重力子放射線射出装置は別腹(^^)
https://github.com/piacerex
fukuokaex
エンジニア/企業向けにElixirプロダクト開発・SI案件開発を支援する福岡のコミュニティ
https://fukuokaex.fun/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away