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

2016.02.18 by
編程派

文章為《數位時代》獲授權轉載自編程派

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

幾天前,編程派介紹了一個可以分析重力波數據的Python套件——GWPY,這個套件整理自發現重力波的科技研究機構LIGO。但是有的讀者覺得我很能扯,居然能把重力波發現與Python聯繫在一起。但事實是,我說的一點也沒錯: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繪制的。其中,大家在媒體報道中看到的下面這幅圖,也是使用Python繪制而成(具體來說是matplotlib庫)。

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

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

LIGO 都開發了哪些Python庫?

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

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

每日精選科技圈重要消息