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
往下滑看下一篇文章
從商務卡到虛擬財務長,Mastercard如何把支付變成企業決策力
從商務卡到虛擬財務長,Mastercard如何把支付變成企業決策力

員工自行墊付差旅、採購、雲端訂閱或廣告費,月底再拿著單據報帳;不同部門各自綁定信用卡,企業難以即時掌握支出;員工離職後,若原有付款設定沒有同步移轉,也可能影響後續業務運作。這些看似零碎的支付問題,背後都涉及一個關鍵議題:中小企業能否更有效率的管控資金。

對資源有限的中小企業而言,支付管理不只是財務部門的行政工作,當支出分散、現金流難以預測,甚至連跨境匯款都存在時間與到帳金額的不確定性,企業的營運效率與成長速度都可能受到影響。

為協助中小企業解決上述挑戰,萬事達卡(Mastercard)提供端到端商務解決方案–虛擬卡、車隊卡、跨境匯款服務到Virtual C-Suite,讓支付從單純的交易工具,轉化為企業管理資金與做決策的基礎。

以商務卡結合虛擬卡,讓每一筆支出更可控

Mastercard台灣區董事總經理陳懿文指出,中小企業目前常見的支付方式主要是信用卡與轉帳,若大量依賴員工代墊,不僅增加報帳與核銷成本,也讓企業難以即時掌握整體支出。「導入商務卡後,企業可以將原先分散在員工身上的支出收回企業管理,同時,進一步設定使用規則,例如限定交易商家、金額、消費類別、使用期間或國家,讓企業對資金使用建立更細緻的控管機制。」

除了支付管理,商務卡也能進一步降低企業日常營運成本。陳懿文表示,商務卡持卡人可透過商務優惠計畫Easy Saving Specials,取得Google Workspace、Shopify、LinkedIn、Notion、Sixt、 Agoda等品牌優惠,涵蓋雲端服務、電商營運與數位行銷等企業常見支出。

虛擬卡的In Control平台則讓支付管理變得更精準。例如,企業可以針對特定通路建立虛擬卡號,讓員工綁定手機支付差旅費;也可以針對單筆訂單產生一次性虛擬卡號,直接將付款與訂單串聯,後續再透過虛擬卡號進行核銷與對帳,降低人工處理成本。

透過Commercial Connect API,企業可以把虛擬卡功能整合進既有的企業資源規劃(ERP)系統、採購或費用管理系統,從發卡、付款到後續管理,都能在原本熟悉的平台上完成。目前相關方案已整合SAP Concur、SAP Taulia、Pay4You、Grasp Technologies與Kresus等平台,也支援企業自行建置的客製化ERP系統。

#2 萬事達卡
Mastercard台灣區董事總經理陳懿文:「我們以每年1,750億筆交易的資料為基礎,將中小企業每一個進出與支付節點問題,逐步設計出不同的解方,一步步實踐『支付至簡,商業致遠』的願景。」
圖/ 數位時代

從車隊卡到跨境匯款,助中小企業降低營運不確定性

對物流、運輸等擁有大量車輛的企業來說,加油、維修是每天都會發生的固定支出,過去,不同加油站可能需要不同儲值卡,管理不易,也可能因支付問題影響車輛調度與運輸,導入Mastercard的車隊卡後,問題不復存在。

企業可以限定卡片只能用於加油、維修、停車等特定商用項目,並進一步將卡片與車號或駕駛人建立關聯,例如一張卡對應一台車或一位駕駛,或讓駕駛人以虛擬卡支付車輛所需費用。對企業來說,這不只是換一張卡,而是把原本分散的車隊支出納入同一套管理架構,在維持車輛正常運作的同時,也提高資金使用的透明度。

同樣的邏輯,也延伸到日益增加的跨境匯款需求。隨著中小企業將業務版圖擴展到海外市場,對跨境匯款的需求將隨之攀升,若仍以傳統的方式進行跨境匯款,不僅得等候長達1到3天的匯款時間、也常因為中轉銀行收取費用導致到帳金額有落差,更不用說即時追蹤匯款進度,一旦款項延遲或金額出現落差,就可能進一步影響對帳與供應鏈運作。

為解決上述挑戰,Mastercard推出Mastercard Move,讓中小企業可以輕鬆掌握每一筆匯款的狀態,以更有效率的方式完成跨境匯款,全球60%的市場可於1小時內到帳、95%的市場1天內可到帳,同時,以全額到帳降低到帳金額不確定帶來的營運風險。

從掌握現在到預見未來,Mastercard用Virtual C-Suite把數據變成經營洞察

協助中小企業以商務支付方案優化支付與資金管理後,Mastercard接下來思考的是,知道錢花在哪裡後,若能進一步知道未來會發生什麼,創造的商業價值更高。如果支付數據不只是用來對帳,而能進一步回答「未來現金流會怎麼變化」、「現在適不適合擴張」、「企業的成長速度是否落後同業」,支付的價值就會從管理工具進一步提升為決策工具。

而這也是Mastercard會推出Virtual C-Suite的原因,目標是讓資源相對有限的中小企業也可以透過數據分析洞悉未來局勢。

萬事達卡
面對中小企業痛點,Mastercard提供全方位的解決方案。
圖/ 數位時代

陳懿文表示:「我們以每年1,750億筆交易的資料為基礎,再結合企業自身的財務數據推出Virtual C-Suite服務,其中預計Virtual CFO功能將在今年底於特定市場試點營運。中小企業只要將銀行與交易等數據上傳到平台、或者是透過API串聯財務系統或發卡行的網路銀行,即可協助企業掌握財務健康、預測現金流,以及進行同業比較。」

Virtual CFO就像中小企業虛擬財務長,透過對話式問答,不僅能從支付數據中找出企業忽略的議題,還會提供可執行的專業建議,讓企業看見下一步,進而提升營運韌性與績效。

舉例來說,一家餐廳營收持續成長,卻可能因為平台款項較晚入帳、食材需要即時付款,造成現金流壓力;對餐廳營運者來說,問題倒不是「有沒有賺錢」,而是「錢什麼時候進來」的現金流管理,Virtual CFO在協助其挖掘出這個議題後,將進一步從收付款週期找出落差,再協助企業評估付款條件、付款時間等調整方式。

同樣的情況也可能發生在企業擴張時。接到新客戶或大訂單,看起來是成長機會,但如果資金準備不足,反而可能增加營運壓力,透過Virtual CFO,企業可以預測未來現金流,再決定是否擴張據點,以及確切的時間。同業比較則提供另一個分析角度,舉例一家自行車店的年營收成長15%,單看數字會覺得營收數據亮眼;但若Virtual CFO進一步比較同業數據後發現平均成長率是30%,將重新思考成長速度,建議主推商品、調整客單價,以及進行相應的行銷投入。

從商務卡到虛擬財務長,Mastercard提供的不是單一產品,而是一套隨企業成長逐步疊加的支付管理層次——先把分散的支出收回可控範圍,再透過數據預見現金流與擴張時機。對於還在用員工代墊、多張信用卡管理支出的中小企業來說,第一步不必等到導入Virtual CFO,從申請一張商務卡、設定使用規則開始,就能踏出第一步。從商務支付方案到Virtual CFO服務,Mastercard致力實踐「支付至簡,商業致遠」的願景:當支付流程更簡單、資金流向更透明,數據便能成為企業決策的依據,協助中小企業從掌握當下,進一步預見未來。

登入數位時代會員

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

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

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