LIGO 的科學家們是如何使用 Python 語言的?

codingpy發表於2016-02-15

幾天前,我們介紹了一個可以分析引力波資料的Python包——GWPY,這個包整理自發現引力波的科研機構LIGO。但是有的讀者覺得我很能扯,居然能把引力波發現與Python聯絡在一起。但事實是,我說的一點也沒錯:Python在這次引力波大發現的過程中起到了非常重要的作用

LIGO 的科學家們是如何使用 Python 語言的?

在公佈了引力波大發現之後,LIGO在國外知名網站Reddit發起了一個AMA(Ask Me Anything)問答互動活動。來自LIGO各地分支機構的科學家們線上回答網友的問題,其中就有網友問到了Python在科學界的作用和地位。LIGO科學家的回答充分支援了我上面的觀點。

LIGO Reddit Ask Me Anything

LIGO在Reddit上發起的這個問答活動是週六(2月13日)開始的,按介紹活動會持續兩天。由於LIGO其實是一個類似合作聯盟的機構,它的團隊成員來自全球各地,因此Reddit上共有5個來自LIGO的賬號回答問題,分別是:

  • LIGO_WA:華盛頓州Hanford觀測站的科學家
  • LIGO_LA:路易斯安那州Livingston觀測站的科學家
  • EGO_VIRGO:在義大利研究VIRGO觀測器的科學家
  • LIGO_Instrumentation:負責建造、管理引力波監測裝置的科學家
  • LIGO_Astrophysics:負責對監測資料進行天體物理學解釋和分析的科學家

有關Python問題的回答就來自最後兩個賬號,即負責管理監測裝置和分析監測資料的科學家們。

LIGO Instrumentation

LIGO 的科學家們是如何使用 Python 語言的?

據負責管理引力波監測裝置的科學家介紹,他們使用Python語言對大部分監測裝置進行自動化管理。為了確保這些裝置處於最佳的敏感度,科學家要執行很多個控制迴圈(control loops),可是又不能同時啟動。這些控制步驟必須要按照正確的步驟,一步一步進行,程式非常複雜,還要考慮反饋增益(feedback gains)等因素。因此,他們使用Python編寫了一個軟體來進行自動化處理。這僅僅是眾多自動化操作中的一個。

LIGO 的科學家們是如何使用 Python 語言的?

還有一個回答提到,負責監聽引力波的主要資料分析管道(pipelines)之一,就是執行在Python環境上。

LIGO Astrophysics

LIGO 的科學家們是如何使用 Python 語言的?

LIGO負責資料分析的科學家認為,Python在科學界發揮著極其重要的作用。LIGO使用的許多分析工具都是用Python開發的,而且這次引力波大發現最終的統計顯著性(final significance)就是用這些工具計算得出。

LIGO 的科學家們是如何使用 Python 語言的?

LIGO介紹這次發現的論文中,幾乎所有的圖表都是用Python繪製的。其中,大家在媒體報導中看到的下面這幅圖,也是使用Python繪製而成(具體來說是matplotlib庫)。

LIGO 的科學家們是如何使用 Python 語言的?

可以說,Python已經成為LIGO科學家日常使用的主要程式語言。

LIGO 都開發了哪些Python庫?

除了之前介紹的GWPY,LIGO還開發了下面的Python庫。

另外,LIGO已經在網站上公開了這次發現的相關資料,供其他科學家研究分析,並且提供了詳細的資料分析教程

相關文章