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
據負責管理引力波監測裝置的科學家介紹,他們使用Python語言對大部分監測裝置進行自動化管理。為了確保這些裝置處於最佳的敏感度,科學家要執行很多個控制迴圈(control loops),可是又不能同時啟動。這些控制步驟必須要按照正確的步驟,一步一步進行,程式非常複雜,還要考慮反饋增益(feedback gains)等因素。因此,他們使用Python編寫了一個軟體來進行自動化處理。這僅僅是眾多自動化操作中的一個。
還有一個回答提到,負責監聽引力波的主要資料分析管道(pipelines)之一,就是執行在Python環境上。
LIGO Astrophysics
LIGO負責資料分析的科學家認為,Python在科學界發揮著極其重要的作用。LIGO使用的許多分析工具都是用Python開發的,而且這次引力波大發現最終的統計顯著性(final significance)就是用這些工具計算得出。
LIGO介紹這次發現的論文中,幾乎所有的圖表都是用Python繪製的。其中,大家在媒體報導中看到的下面這幅圖,也是使用Python繪製而成(具體來說是matplotlib庫)。
可以說,Python已經成為LIGO科學家日常使用的主要程式語言。
LIGO 都開發了哪些Python庫?
除了之前介紹的GWPY,LIGO還開發了下面的Python庫。
另外,LIGO已經在網站上公開了這次發現的相關資料,供其他科學家研究分析,並且提供了詳細的資料分析教程。
相關文章
- 為什麼資料科學家們選擇了Python語言?資料科學Python
- Python或將成資料科學家首選語言Python資料科學
- Go是Google的語言,而不是我們的語言Go
- 學習 Linux 是我們的愛情語言Linux
- 為什麼Python是資料科學領域的首選語言?Python入門學習Python資料科學
- 如何學習多個國家語言?
- 為什麼Jupyter是資料科學家們實戰工具的首選?資料科學
- 快商通首席科學家:語音識別的後半段路,從語言處理走向語言理解
- 斯巴達的勇士們,你們的程式語言是什麼?
- 如何輕鬆搞定資料科學麵試:Python&R語言篇資料科學PythonR語言
- IT程式設計各學科語言的介紹程式設計
- 【資料科學家】如何成為一名資料科學家?資料科學
- python是如何登上程式語言排行榜榜首的Python
- python和C語言哪個難?它們的區別是什麼?PythonC語言
- python是免費的語言嗎?Python
- eBay資料科學家李睿:自然語言處理在eBay的技術實踐資料科學自然語言處理
- 自然語言處理背後的資料科學自然語言處理資料科學
- 資料科學家的15個原則 踢人們屁股並讓他們震驚資料科學
- 看看牛人們是怎麼評價程式語言的
- Python是什麼語言?Python底層語言是什麼?Python
- 2018年科學家們都在搜尋什麼:AI還是癌症?AI
- 關於資料科學家,我們應該知道的這些事資料科學
- Go 語言是如何計算 len() 的?Go
- Go 語言切片是如何擴容的?Go
- python是跨平臺的語言嗎Python
- Python是一門傑出的語言,值得你去學習Python
- python學習: 如何循序漸進學習Python語言Python
- 如何學習python程式語言?python入門Python
- 學習C語言還是學習Python爬蟲?C語言Python爬蟲
- 什麼是全棧資料科學家?全棧資料科學
- 如果倫敦地鐵圖是資料科學家畫的……資料科學
- 我們是如何做 go 語言系統測試覆蓋率收集的?Go
- 我是如何自學C語言的(一個菜鳥的學習路)C語言
- 資料科學家面試如何準備?資料科學面試
- 如何有效的成為一名資料科學家資料科學
- Python 是電視劇,Java 是咖啡屋小甜心,程式語言都是如何命名的?PythonJava
- 在資料科學領域,Python語言和R語言有何區別?資料科學PythonR語言
- 如何為使用 Python 語言而辯論Python