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
往下滑看下一篇文章
當跨國匯款成為新日常,國泰世華銀行以使用者為中心,重塑嶄新金流體驗
當跨國匯款成為新日常,國泰世華銀行以使用者為中心,重塑嶄新金流體驗

當海外投資、跨境消費與留學成為日常,跨國匯款流程卻不夠便捷。國泰世華銀行以 CUBE App 小額跨境匯款服務,讓海外投資、跨境消費與留學匯款像日常轉帳一樣簡單。

疫情後,全球人流與金流快速恢復,海外留遊學、海外投資、跨境購物與海外旅遊等需求持續攀升,跨國匯款逐漸成為許多人的日常,然而,國際匯款流程卻幾乎數十年未曾改變:大多必須配合銀行營業時間辦理,款項通常需要等待兩、三個工作天才能到帳,還可能因中間銀行扣費,導致實際收款金額與預期不符。

看見上述市場缺口後,國泰世華銀行深入研究不同族群的跨境匯款情境,重新規劃服務流程、產品功能與系統架構,並透過內部年度創新提案大賽驗證產品概念,獲得高階主管支持,加速產品研發,成功於 2026 年在 CUBE App 推出小額跨境匯款服務。

如何讓跨國匯款像轉帳一樣簡便且安全?從用戶需求出發的改變

過去,講到跨境匯款,多數人的第一直覺是「麻煩」。除了可能需要有外幣帳戶、或事先約定帳號,或需要先完成換匯之外,還必須配合銀行營業時間,匯款完成後通常需要等待兩、三個工作天才能到帳,若碰上週末或假日,更可能因此錯過付款時機;另一方面,傳統 SWIFT 國際匯款還存在中間銀行扣費不透明的問題,匯出金額與收款金額經常出現落差,使用者不僅得反覆估算、多匯甚至補匯,有時還得多花時間跟收款方逐筆對帳,若遇上語言溝通障礙,將直接拉升處理難度,甚至因帳款不足或金額爭議,衍生交易取消、退匯等問題,不僅增加成本,也影響原本的留學繳費、交易或投資安排。

國泰世華 CUBE App
國泰世華銀行 CUBE App 小額跨境匯款可以滿足使用者匯款到美國、日本、英國、香港、新加坡、澳洲、加拿大、泰國等國家與地區的需求。
圖/ 數位時代

為了解決這些痛點,國泰世華銀行重新拆解整個跨境匯款流程,將產品設計回歸用戶需求,使用狀況獲得熱烈迴響:CUBE App 小額跨境匯款服務上線五個月,交易量即成長近五倍。用戶最直接感受到的改變是,整個跨境匯款流程變得更接近日常轉帳。第一,不需要預先開立外幣帳戶,也不用事先完成約定帳號,可直接透過台幣帳戶、以非約定轉帳方式完成跨境匯款;第二,服務支援 24 小時、全年無休,即使深夜或假日,也能快速完成交易。第三,用戶可透過 App 隨時掌握匯款進度,並在匯款過程中清楚看到收款方實際可收到的金額、確保全額到帳,不需要反覆確認款項流向,也降低了中間銀行扣費不透明造成的收款金額不足等困擾,讓繳交海外學費、支付旅遊費用、跨境購物或海外投資,都能更安心、更有效率。CUBE App 小額跨境匯款服務不僅是一項全新的金融服務,而是降低等待成本、操作成本與認知成本的跨境金流體驗,讓跨境金融服務真正融入日常生活。

國泰世華 CUBE App
使用者可透過 CUBE App 即時掌握小額跨境匯款狀態,確保款項全額到付,更便捷且高效的繳交海外學費、支付旅遊費用,以及海外投資跟跨境購物。
圖/ 數位時代

跨境金流創新不僅滿足便利性,24 小時全天候服務仍兼顧安全性,把關風險

要將複雜的跨境金流流程轉化成 App 上的幾次點擊,背後是一場龐大的金融工程。

從市場研究、系統架構設計、產品規畫、開發測試到正式上線,國泰世華不僅攜手國際金融夥伴 VISA,更集結前、中、後台 IT、營運、作業、法遵、法務、風控、稽核、財會等十多個部門共同投入,重新設計外匯作業流程與營運模式,打造兼顧使用體驗、營運效率與風險控管的跨境金融服務。

舉例來說,傳統的銀行外匯服務並非為不間斷運作,為了提供 24 小時全天候服務,團隊努力突破既有作業限制、重新設計相關流程與系統機制,讓交易即使在非人工審核的時段,也能符合風險控管、洗錢防制(AML)及各項合規要求。同時,透過交易限額、多層 AML 機制、交易監控,以及與合作夥伴共同把關等設計,在便利性與安全性之間取得平衡。

除了營運流程,跨境金流還必須因應不同國家的法規與收款規則做調整,為此,國泰世華銀行重新調整系統架構與作業流程,降低使用者填寫匯款資料的門檻,服務上線後,亦持續優化操作介面與使用體驗。

例如,香港收款帳戶需分別填寫分行代碼與帳號,若格式錯誤便可能遭退匯;日本則因法規要求,首次跨境匯款前必須完成 eKYC 驗證,因此,團隊在系統介面加入對應提醒、欄位檢核與流程引導,有效降低因資料填寫錯誤造成的退匯情形,以及減少使用者的操作困擾。

服務推出後,國泰世華銀行觀察到:跨境金流逐漸從低頻金融交易轉變為數位生活的重要環節,應用情境也從支付海外留學費用、海外投資,延伸至跨境旅遊、跨境購物、國際活動報名等更多元的生活場景,因此,除了持續優化系統介面與服務功能,國泰世華也將目光延伸至整體跨境生活體驗,透過內外部資源協作,串聯更多元的跨境生活場景,讓金融服務從「完成一筆匯款」,進一步走向「滿足地球村生活圈需求」,以更便利、安全且貼近使用情境的服務,陪伴用戶自在連結全球,真正融入用戶的每日生活。

登入數位時代會員

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

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

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