案例研究:引力波的发现

binary coalesce black hole generating gravitational waves
引力波#
(图片来源:LIGO 极端时空模拟(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)
  • 数据检索:决定哪些数据可以分析,判断其中是否包含信号——大海捞针
  • 统计分析:估算观测数据的统计显著性,通过与模型比较来估算信号参数(例如恒星质量、自旋速度和距离)。
  • 数据可视化
    • 时间序列
    • 频谱图
  • 计算相关性
  • 引力波数据分析中开发的关键软件,例如 GwPyPyCBC,在底层使用了 NumPy 和 AstroPy,为研究引力波探测器数据提供基于对象的实用工具、工具和方法接口。
gwpy-numpy depgraph
显示 GwPy 包如何依赖 NumPy 的依赖图#


PyCBC-numpy depgraph
显示 PyCBC 包如何依赖 NumPy 的依赖图#

总结#

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

numpy benefits
NumPy 关键功能应用#

本页内容