案例研究:引力波的发现

binary coalesce black hole generating gravitational waves
引力波#
(图片鸣谢:LIGO的Simulating eXtreme Spacetimes (SXS)项目)

科学Python生态系统是LIGO研究的关键基础设施。

——David Shoemaker,LIGO科学合作组织

关于引力波LIGO#

引力波是时空结构中的涟漪,由宇宙中灾难性事件产生,例如两个黑洞的碰撞和合并、双星的合并或超新星。观测引力波不仅有助于研究引力,还可以帮助理解遥远宇宙中一些难以解释的现象及其影响。

激光干涉引力波天文台(LIGO)旨在通过直接探测爱因斯坦广义相对论预测的引力波来开创引力波天体物理学领域。它包括位于美国的两台相距甚远的干涉仪——一台位于华盛顿州汉福德,另一台位于路易斯安那州利文斯顿——协同工作以探测引力波。它们各自都拥有数公里级的引力波探测器,使用激光干涉测量技术。LIGO科学合作组织(LSC)是一个由来自美国各大学和另外14个国家的1000多名科学家组成的团队,得到90多所大学和研究机构的支持;大约有250名学生积极参与合作。新的LIGO发现是首次观测到引力波本身,通过测量引力波穿过地球时对时空造成的微小扰动来实现。它开辟了新的天体物理学领域,探索宇宙扭曲的一面——由扭曲时空构成的物体和现象。

主要目标#

  • 虽然其任务是探测来自宇宙中一些最剧烈和高能过程的引力波,但LIGO收集的数据可能会对许多物理学领域产生深远的影响,包括引力、相对论、天体物理学、宇宙学、粒子物理学和核物理学。
  • 通过涉及复杂数学的数值相对论计算来处理观测数据,以便区分信号和噪声,滤除相关信号并统计估计观测数据的显著性。
  • 数据可视化,以便理解二元/数值结果。

挑战#

  • 计算

    引力波很难探测到,因为它们产生的效应非常小,并且与物质的相互作用微乎其微。处理和分析LIGO的所有数据需要庞大的计算基础设施。在处理完噪声(其强度是信号的数十亿倍)后,仍然有非常复杂的相对论方程和海量数据,这带来了计算挑战:二元合并分析需要O(10^7) CPU小时,分布在6个专门的LIGO集群上。

  • 数据洪流

    随着观测设备越来越灵敏和可靠,数据洪流和大海捞针的挑战成倍增加。LIGO每天产生数TB的数据!理解这些数据需要为每次探测付出巨大的努力。例如,LIGO收集的信号必须与数十万个可能的引力波特征模板进行匹配。

  • 可视化

    一旦解决了对爱因斯坦方程的理解足够透彻以使用超级计算机求解的障碍,下一个重大挑战就是使数据易于人类理解。模拟建模以及信号检测都需要有效的可视化技术。可视化还在使数值相对论在纯科学爱好者眼中更具可信度方面发挥了作用,直到成像和模拟使更多受众更容易理解结果之前,他们并没有给予数值相对论足够的重视。复杂计算和渲染的速度、使用最新的实验输入和见解重新渲染图像和模拟可能是一项耗时的活动,这对该领域的科研人员提出了挑战。

gravitational waves strain amplitude
GW150914估计的引力波应变幅度#
(图表鸣谢:来自双黑洞合并的引力波观测,ResearchGate出版物)

NumPy在引力波探测中的作用#

合并产生的引力波无法使用除蛮力数值相对论(使用超级计算机)以外的任何技术来计算。LIGO收集的数据量与引力波信号一样小得难以理解。

NumPy是Python的标准数值分析包,LIGO引力波探测项目中使用的软件利用它来执行各种任务。NumPy帮助以高速解决复杂的数学和数据操作问题。以下是一些示例:

  • 信号处理:毛刺检测,噪声识别和数据特征描述 (NumPy、scikit-learn、scipy、matplotlib、pandas、pyCharm)
  • 数据检索:确定哪些数据可以分析,弄清楚数据是否包含信号——大海捞针。
  • 统计分析:估计观测数据的统计显著性,通过与模型比较来估计信号参数(例如恒星的质量、自旋速度和距离)。
  • 数据的可视化
    • 时间序列
    • 频谱图
  • 计算相关性
  • GW数据分析中开发的关键软件,例如GwPyPyCBC,在幕后使用NumPy和AstroPy,为研究引力波探测器数据的实用程序、工具和方法提供基于对象的接口。
gwpy-numpy depgraph
显示GwPy包依赖于NumPy的依赖关系图#


PyCBC-numpy depgraph
显示PyCBC包依赖于NumPy的依赖关系图#

总结#

引力波的探测使研究人员能够发现完全出乎意料的现象,同时为许多已知的最深刻的天体物理现象提供了新的见解。数字运算和数据可视化是帮助科学家深入了解从科学观测中收集的数据并理解结果的关键步骤。这些计算非常复杂,除非使用计算机模拟(这些模拟使用真实的观测数据和分析进行馈送)进行可视化,否则人类无法理解。NumPy以及其他Python包(如matplotlib、pandas和scikit-learn)正在帮助研究人员解答复杂的问题,并在我们对宇宙的理解方面开辟新的视野。

numpy benefits
使用的NumPy关键功能#

本页内容