GWPY:發現重力波的機構使用的Python套件
GWPY:發現重力波的機構使用的Python套件
2016.02.16 | 科技

圖說明

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

美國科學家11日宣佈,他們去年9月首次探測到重力波。這一發現印證了物理學大師愛因斯坦100年前的預言。宣佈這一發現的,是鐳射干涉重力波天文臺(LIGO)的負責人。

這個機構誕生於上世紀90年代,進行重力波觀測已經有近30年。那麼觀測到的重力波資料的量應該很大,科學家如何對這些資料進行分析?有沒有用到Python程式設計語言?

答案是肯定的。筆者在Github上發現了一個專門用於分析重力波資料的Python套件:GWPY。據維護者介紹,GWPY的程式碼來自LIGO和另一個名叫Virgo的機構,維護者將這兩個機構科學家的Python程式碼整理,最終的產品就是GWPY這個使用者友好的Python套件。

在具體介紹GWPY之前,先給和筆者一樣不了解的人簡單科普一下重力波和LIGO的相關知識。

什麼是重力波?

圖說明

上圖是兩個黑洞所產生的重力波的3-D模擬圖(NASA)。

首先,什麼是重力波?在物理學上,重力波是愛因斯坦廣義相對論所預言的一種以光速傳播的時空波動,如同石頭丟進水裡產生的波紋一樣,重力波被視為宇宙中的「時空漣漪」。

通常重力波的產生非常困難,地球圍繞太陽以每秒30千米的速度前進,發出的重力波功率僅為200瓦,還不如家用電飯煲功率大。宇宙中大品質天體的加速、碰撞和合併等事件才可以形成強大的重力波,但能產生這種較強重力波的波源距離地球都十分遙遠,傳播到地球時變得非常微弱。

下面分享兩個優秀的影片,很好地解釋了重力波及背後的原理。第一個來自LIGO,第二個則是比較通俗的漫畫式講解。

###LIGO科學家的解釋:
http://v.qq.com/boke/page/g/0/0/g0184mxwie0.html

###漫畫式通俗解釋:
http://v.qq.com/page/j/x/u/j0184qlilxu.html

LIGO是什麼?

鐳射干涉重力波觀測站( Laser Interferometer Gravitational-Wave Observatory)LIGO是加州理工學院(Caltech)和麻省理工學院(MIT)的合作實驗室,現在也有其他的大學參與。實驗資金來源於美國國家科學基金會。LIGO是用來尋找宇宙中的重力波,從而可以驗證黑洞的存在和檢驗廣義相對論。

圖說明

LIGO主要有兩個觀測點,位於路易斯安那Livingston Parish的LIGO Livingston觀測點,和華盛頓 Hanford的LIGO Hanford觀測點。除此之外,在加州Passadena 的Caltech校園中還有LIGO 40m Prototype 。

LIGO是如何探測重力波的?

影片:LIGO是如何探測重力波的?

GWPY:LIGO用它分析重力波資料?

圖說明

接下來是本文的重頭戲。我們一起來學習如何GWPY分析重力波資料。下面的介紹及示例均來自GWPY的官方文件。

安裝

很簡單,pip install gwpy就可以完成安裝。

不過安裝的過程可能會比較長,因為gwpy使用的依賴套件比較多,套件括numpy、 scipy、 cycler、matplotlib、astropy等。

物件導向程式設計

GWPY是一個物件導向程式設計的Python套件,也就是說,資料物件是這個套件的核心關注點。每一個資料物件都體現為一個類實例,套件含了其屬性和套件含的資料。

如果想創建一個新的類實例,建議使用標準的構建器(constructor)。舉個例子,我們可以使用一個資料陣列,生成一個TimeSeries物件:

from gwpy.timeseries import TimeSeries
mydata = TimeSeries([1,2,3,4,5,6,7,8,9,10],sample_rate=1, epoch=0)

或者從線上資料伺服器上下載:

from gwpy.timeseries import TimeSeries
mydata = TimeSeries.fetch('H1:LDAS-STRAIN', 964656015, 964656615)

核心資料物件

據介紹,GWPY提供了4種核心資料物件,分別代表重力波探測器所產生的四種標準資料:

• TimeSeries(時間序列資料)
• Spectrum(光譜數據)
• Spectrogram(光譜圖)
• DataQualityFlag

重力波數據視覺化

我們知道,將重力波探測器收集的資料視覺化,對於理解重力波的特性、研究重力波信號來說非常有説明。gwpy.plotter模組中提供了一些plot類,可以直觀地展示相應的資料類型。

GWPY的核心資料物件裡,大部分都內置有一個plot()方法,可以讓研究人員快速對某個資料集進行視覺化展示。舉個例子:

from gwpy.timeseries import TimeSeries
data = TimeSeries.fetch('H1:LDAS-STRAIN', 968654552, 968654562)
plot = data.plot()
plot.show()

圖說明

GWPY:利用公開的LIGO資料進行繪圖

我們接下來利用LIGO公開的一些重力波時間序列資料進行繪圖。我們可以直接線上載入這些資料。首先導入我們需要的模組:

from urllib2 import urlopen
from numpy import asarray
from gwpy.timeseries import TimeSeries

然後,下載資料,保存為文本字串:

data = urlopen('http://www.ligo.org/science/GW100916/L-strain_hp30-968654552-10.txt').read()

現在,我們可以對文本進行解析,補充必要的中繼資料之後,就可以生成一個TimeSeries:

ts = TimeSeries(asarray(data.splitlines(), dtype=float),
                 epoch=968654552, sample_rate=16384, unit='strain')

最後,我們就可以繪圖了:

plot = ts.plot()
plot.set_title('LIGO Livingston Observatory data for GW100916')
plot.set_ylabel('Gravitational-wave strain amplitude')
plot.show()

圖說明

關鍵字: #GitHub
往下滑看下一篇文章
台灣不只要用國際標準,更要參與討論!TWNIC如何培養下一代網路人才,接軌國際技術社群?
台灣不只要用國際標準,更要參與討論!TWNIC如何培養下一代網路人才,接軌國際技術社群?

打開瀏覽器、觀看串流影片,看似日常的上網行為,背後其實仰賴一套套國際網路標準運作。當網路技術持續演進,台灣除了採用這些標準,能不能進一步參與它們形成的過程?

「即便有很多事情可能要做10年才會有效果,但我想我們應該擔任這樣的角色。」TWNIC執行長余若凡指出,台灣硬體產業在全球已有亮眼成果,但對底層網路技術與國際標準的關注、參與仍有成長空間。對TWNIC而言,除了管理「.tw」、「.台灣」網域名稱與台灣IP位址資源,也希望成為台灣與國際網路社群之間的橋梁。

TWNIC 執行長余若凡
圖/ TWNIC 執行長余若凡

這也是TWNIC與國立虎尾科技大學合作舉辦IETF研習課程的背景。從IETF組織運作、RFC標準形成,到IPv6-only等新一代網路技術,課程不只協助參與者理解國際標準,更希望培養實際參與與落地的能力。透過這場合作,TWNIC也試圖串起國際社群、校園人才與產業需求,讓台灣從採用標準,進一步走向參與標準。

硬體做到世界級,下一步讓台灣人才走進標準制定現場

IETF(Internet Engineering Task Force,網際網路工程任務組)作為全球網際網路技術標準形成的重要場域,許多技術規範最終透過RFC文件發布。對TWNIC而言,台灣若能讓更多企業、學校、研究者與工程師參與,不只能更早掌握國際網路技術變化,也有機會把台灣經驗帶進國際討論。

TWNIC因此一方面把國際議題帶回台灣,另一方面也把台灣人才送出去。透過TWNIC Academy學員計畫,每年資助8位學員參與重要國際組織,時間長達一年;部分學員返台後更自主形成社群,近期一場交流活動便吸引近40位參加,背景從網路工程延伸至政策、法律及社會科學。「我們希望最終有更多人可以參與。」余若凡說。從在台培訓、實際參與國際組織到返台形成社群,TWNIC希望讓人才培育不只停留在單次課程,而能持續累積參與國際標準討論的經驗。

會設定網路還不夠,學校補上「讀懂標準」的能力

但真正想要走進IETF,光是「會用網路技術」還不夠。國立虎尾科技大學電機工程系教授兼秘書室主任秘書蘇暉凱指出,大學課堂教授TCP/IP或網路設定,多半從教科書或整理過的教材入手;真正參與國際標準討論,面對的卻是RFC等第一手技術規範。

他將其中的差距歸納成三種能力:規範閱讀、實作驗證與技術表達。工程師除了讀懂規範,也要能透過實作與工具驗證實際網路行為,最後以精準的技術英文語言與國際社群溝通。「這三種能力不是短期間就能養成。」蘇暉凱指出,因此需要逐步融入大學與研究所的課程及專題。

這也凸顯學校在合作中的角色,TWNIC負責連結國際社群、技術趨勢與參與機會,學校則把這些標準帶進人才培育與實作現場。兩者合作,才能讓「參與國際標準」從少數專家的工作,逐漸變成年輕工程師可以累積的能力。

國立虎尾科技大學電機工程系教授兼秘書室主任秘書蘇暉凱
圖/ 國立虎尾科技大學電機工程系教授兼秘書室主任秘書蘇暉凱

IPv6走向主流,校園先成為產業轉型的試驗場

IPv6正是這套合作模式的具體案例。余若凡指出,全球IPv6使用率已正式跨過五成,迎來關鍵轉折。包含越南、捷克等國皆已將全面轉向IPv6排入國家政策時程,主流行動裝置與微軟Windows作業系統也已原生支援。過去許多環境仍採取IPv4與IPv6並行的架構,隨技術、終端與轉換機制逐漸成熟,進一步走向IPv6-only的條件也開始成形。IPv6-only並不代表與既有IPv4服務切割,而是透過NAT64、DNS64等轉換機制維持連線。對產業而言,真正的問題也逐漸從「技術能不能做到」,轉向是否有足夠經驗與信心部署。

為此,TWNIC 從人才培育到校園實作,持續推動 IPv6-only 環境的應用與部署,除了自行建置 IPv6-only Demo Site,也逐步於北、中、南三地拓展示範場域與實作據點。余若凡觀察,相較於企業在商業效益尚未明朗前,對導入新技術往往較為謹慎,校園更適合作為技術驗證與人才培育的場域。透過 TWNIC 推動的實作機制,讓師生在實際環境中理解 IPv6-only 如何運作,一方面培養未來進入產業的人才,另一方面也能累積可供業界參考的部署經驗。對蘇暉凱而言,這意味著學生不能只學會 IPv6 位址格式,更要從網路維運、資安到應用發展,建立面對 IPv6 環境的完整思維。

從Demo Site、教育訓練、技術活動到實作手冊,TWNIC希望逐步降低新技術的理解與部署門檻。當IPv6走向主流,台灣面對的已不只是「網路要不要升級」;如何讓更多人才讀懂國際標準、具備實作能力,甚至走進IETF參與討論,才是台灣從標準「使用者」走向「參與者」的下一步。

IETF研習課程

TWNIC將於10月29至31日2026年臺灣網際網路研討會(TANET 2026)暨國際計算機會議(ICS)設攤展示,規劃「新世代IPv6-Only Wi-Fi無線網路體驗與建置」及「TWNIC IPv6智慧工作室(IPv6 Smart Studio)」兩大主題。歡迎各界蒞臨參觀與體驗!
詳細介紹請參閱:https://twnic.tw/blog/contents.php?id=253&lang=zh-tw

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
一次搞懂工業AI
© 2026 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓