案例研究:發現重力波

binary coalesce black hole generating gravitational waves
重力波#
(圖片提供:雷射干涉重力波天文台的模擬極端時空 (SXS) 計畫)

科學 Python 生態系統是雷射干涉重力波天文台研究的重要基礎建設。

—大衛·舒馬克,雷射干涉重力波天文台科學合作組織

關於 重力波雷射干涉重力波天文台#

重力波是時空結構中的漣漪,由宇宙中的劇烈事件產生,例如兩個黑洞的碰撞和合併、聯星的合併或超新星。觀測重力波不僅有助於研究重力,還能了解遙遠宇宙中一些難以理解的現象及其影響。

雷射干涉重力波天文台 (LIGO) 的設計目的是透過直接偵測愛因斯坦廣義相對論預測的重力波,開啟重力波天體物理學的領域。它包含美國境內兩個相距甚遠的干涉儀器,一個在華盛頓州漢福德,另一個在路易斯安那州利文斯頓,它們協同運作以偵測重力波。它們各自配備使用雷射干涉法的多公里級重力波偵測器。雷射干涉重力波天文台科學合作組織 (LSC) 是由美國各地和 14 個其他國家/地區大學的 1000 多名科學家組成的團體,由 90 多所大學和研究機構提供支援;約有 250 名學生積極參與合作。新的雷射干涉重力波天文台發現是首次觀測到重力波本身,方法是測量波通過地球時對時空造成的微小擾動。它開啟了新的天體物理學領域,探索宇宙中扭曲的一面,即由扭曲時空構成的物體和現象。

主要目標#

  • 儘管其使命是偵測來自宇宙中最劇烈和充滿能量的過程所產生的重力波,但 LIGO 所收集的資料可能會對許多物理領域產生深遠的影響,包括重力、相對論、天體物理、宇宙學、粒子物理和核子物理。
  • 透過涉及複雜數學運算的數值相對論計算來處理觀測資料,以區分訊號和雜訊、濾除相關訊號並統計估計觀測資料的重要性
  • 資料視覺化,以便理解二元/數值結果。

挑戰#

  • 計算

    重力波難以偵測,因為它們產生的效應非常小,而且與物質的交互作用很微弱。處理和分析 LIGO 的所有資料需要龐大的運算基礎架構。在處理雜訊(雜訊是訊號的數十億倍)後,仍然有非常複雜的相對論方程式和大量的資料,這是一個計算挑戰:二元合併分析需要 O(10^7) 個 CPU 小時,分散在 6 個專用的 LIGO 集群上

  • 資料洪流

    隨著觀測裝置變得更靈敏和可靠,資料洪流和大海撈針所帶來的挑戰也隨之倍增。LIGO 每天產生數 TB 的資料!對這些資料進行分析需要為每次偵測付出巨大的努力。例如,LIGO 所收集的訊號必須由超級電腦與數十萬個可能的重力波特徵範本進行比對。

  • 視覺化

    一旦克服了對愛因斯坦方程式理解不足而無法使用超級電腦求解的障礙後,下一個重大挑戰就是讓資料易於人腦理解。模擬建模和訊號偵測都需要有效的視覺化技術。視覺化也在純粹科學愛好者的眼中提升了數值相對論的信譽,在影像和模擬讓更廣大的受眾更容易理解結果之前,他們並未給予數值相對論足夠的重視。複雜計算和渲染的速度、使用最新的實驗輸入和見解重新渲染影像和模擬,可能會耗費大量時間,對這個領域的研究人員構成挑戰。

gravitational waves strain amplitude
GW150914 的估計重力波應變振幅#
(圖表來源:來自雙黑洞合併的重力波觀測,ResearchGate 出版物)

NumPy 在重力波探測中的角色#

從合併中發射出的重力波無法使用任何技術計算,除了使用超級電腦進行蠻力數值相對論。LIGO 收集的數據量大到難以理解,而重力波信號卻很小。

NumPy,Python 的標準數值分析套件,由 LIGO 的 GW 探測計畫中執行各種任務的軟體使用。NumPy 協助以高速解決複雜的數學和數據處理。以下是一些範例

  • 信號處理:故障偵測,雜訊辨識和數據特徵化(NumPy、scikit-learn、scipy、matplotlib、pandas、pyCharm)
  • 數據擷取:決定哪些數據可以分析,找出是否包含信號 - 大海撈針
  • 統計分析:估計觀測數據的統計顯著性,透過與模型比較來估計信號參數(例如恆星質量、自旋速度和距離)。
  • 數據視覺化
    • 時間序列
    • 頻譜圖
  • 計算相關性
  • 在 GW 數據分析中開發的主要軟體,例如 GwPyPyCBC,在幕後使用 NumPy 和 AstroPy,為重力波探測器的數據研究提供基於物件的介面、工具和方法。
gwpy-numpy depgraph
依存關係圖表顯示 GwPy 套件如何依賴 NumPy#


PyCBC-numpy depgraph
依存關係圖表顯示 PyCBC 套件如何依賴 NumPy#

摘要#

GW 探測讓研究人員能夠發現完全出乎意料的現象,同時提供對許多已知最深奧的天體物理現象的新見解。數字運算和數據視覺化是幫助科學家深入了解從科學觀測中收集的數據並理解結果的關鍵步驟。這些運算很複雜,除非使用以實際觀測數據和分析為輸入的電腦模擬進行視覺化,否則人類無法理解。NumPy 與其他 Python 套件,例如 matplotlib、pandas 和 scikit-learn,讓研究人員能夠回答複雜的問題,並在我們對宇宙的理解中發現新的視野。

numpy benefits
使用的主要 NumPy 功能#

在此頁面