MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

SciPyの有名なユースケースまとめ


M87 射手座 ブラックホール ファーストフォトTシャツ Tシャツ

目次

はじめに

先日の記事でPythonの科学計算ライブラリ

SciPyの概要を紹介しましたが、

myenigma.hatenablog.com

今回は、代表的なユースケースについて紹介したいと思います。

見つけ次第、こちらの記事を更新していく予定です。

 

SciPyの代表的なユースケース

ブラックホールのM87の可視化

https://www.nao.ac.jp/contents/news/science/2019/20190410-eht-fig.jpg

画像引用: https://www.nao.ac.jp/news/science/2019/20190410-eht.html

2019年に、地球上の8つの電波望遠鏡を結合させた国際協力プロジェクトである

イベント・ホライズン・テレスコープ(EHT)プロジェクトの研究者が、

世界で初めてブラックホールM87

(M87星雲の中心にある超大質量ブラックホールの可視化)

に成功したと発表しました。

https://www.nao.ac.jp/news/science/2019/20190410-eht.html

numpy.org

proceedings.scipy.org

 

このブラックホールの可視化において、

PythonのライブラリのNumPyとSciPy は重要な役割を果たしたと報告されています。

iopscience.iop.org

 

例えば、下記のような観測データの解析でSciPyが使われました。

 

1. SciPyによるデータの補間・フィルタリング

今回のブラックホールの可視化のためのEHT観測データは、

地球上の複数の電波望遠鏡を組み合わせて、

電波のデータを解析するVLBI(超長基線電波干渉法)

ja.wikipedia.org

によって得られます。

しかし、この観測データには欠損があり、

完全な画像のためのデータを直接取得することは難しいという課題がありました。

そこで、SciPyの補間(interpolation)のルーチンを用いることで、

scipy.github.io

この観測データの隙間を埋め、

より滑らかなブラックホール画像を得ることができたとのことです。

 

2. SciPyの最適化による画像再構成

ブラックホールの画像を生成するには、観測されたフーリエ変換後データから

元の画像を再構成するために、フーリエ変換の逆問題を解く必要があります。

そこで、SciPyの 最適化(scipy.optimize) モジュールを使って、

scipy.github.io

観測データから最も整合性のある画像を生成するために

数値最適化問題を解いたとのことです。

 

3. 行列演算や信号処理によるノイズ低減

ブラックホールの画像を再構築する過程で、

行列演算 やノイズ除去が必要になりました。

そこでSciPyの 線形代数ルーチン(scipy.linalg)や

scipy.github.io

信号処理(scipy.signal)のルーチンを利用し、

scipy.github.io

データのノイズ低減や解析を行ったそうです。

 

重力波の検出

米国をはじめとする

14カ国の大学から1000人以上の科学者が集まり、

運営されている

レーザー干渉計重力波天文台(LIGO)

www.ligo.caltech.edu

は、アインシュタインが予測した

重力波を観測するために設計され、

2016年に重力波を観測しました。

numpy.org

https://ep2016.europython.eu/media/conference/slides/pyhton-in-gravitational-waves-research-communities.pdf

 

この重力波は非常に小さい波であるため、

この波だけを抽出するには、

元の観測データにノイズが多く、

精密なデータ解析が必要になります。

 

このの重力波の観測にも、SciPyは貢献しています。

 

1. 信号処理

観測データのノイズ同定と除去に

下記のようなライブラリやツールが利用されたとのことです。

  • NumPy

  • scikit-learn

  • scipy

  • matplotlib

  • pandas

  • pyCharm

2. 統計解析

観測データの統計的有意性を推定し、

モデルとの比較を使って

信号パラメータ(星の質量、スピン速度、距離など)を推定する

のにSciPyのstatsモジュールや、

scipy.github.io

optimizeモジュールが利用されたとのことです。

scipy.github.io

 

3. 重力波データ解析のために開発されたソフトウェア群

Gwpy

gwpy.github.io

やPyCBCは、

pycbc.org

NumPyやSciPy、AstroPy

www.astropy.org

をベースとした、重力波検出器データを処理するライブラリです。

これらのライブラリは、重力波研究のための、

ユーティリティーツールや関数へのオブジェクト指向インターフェースを提供しています

 

Alpha Fold

AlphaFold(アルファフォールド)は、

Google DeepMind が開発した

タンパク質の立体構造予測 を行う人工知能(AI)モデルです。

github.com

特に AlphaFold2 は、タンパク質のアミノ酸配列から

その3D構造を高精度で予測できる画期的な技術として知られています。

 

2024年にこのアルファフォールドの開発者の3人が

ノーベル化学賞を受賞しましたが、

こちらのAlphaFoldの論文には、

データ解析にSciPyなどのPythonエコシステムを

利用していることが記載されています。

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com


M87 射手座 ブラックホール ファーストフォトTシャツ Tシャツ

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com