科学家们是如何使用Python语言的?

几天前,编程派介绍了一个可以分析引力波数据的 Python 包——GWPY,这个包整理自发现引力波的科研机构 LIGO。但是有的读者觉得我很能扯,居然能把引力波发现与 Python 联系在一起。但事实是,我说的一点也没错:Python 在这次引力波大发现的过程中起到了非常重要的作用。

在公布了引力波大发现之后,LIGO 在国外知名网站 Reddit 发起了一个 AMA(Ask Me Anything)问答互动活动。来自 LIGO 各地分支机构的科学家们在线回答网友的问题,其中就有网友问到了 Python 在科学界的作用和地位。LIGO 科学家的回答充分支持了我上面的观点。

LIGO Reddit Ask Me Anything

LIGO 在 Reddit 上发起的这个问答活动是周六(2 月 13 日)开始的,按介绍活动会持续两天。由于 LIGO 其实是一个类似合作联盟的机构,它的团队成员来自全球各地,因此 Reddit 上共有 5 个来自 LIGO 的账号回答问题,分别是:

  • LIGO_WA:华盛顿州 Hanford 观测站的科学家
  • LIGO_LA:路易斯安那州 Livingston 观测站的科学家
  • EGO_VIRGO:在意大利研究 VIRGO 观测器的科学家
  • LIGO_Instrumentation:负责建造、管理引力波监测设备的科学家
  • LIGO_Astrophysics:负责对监测数据进行天体物理学解释和分析的科学家

有关 Python 问题的回答就来自最后两个账号,即负责管理监测设备和分析监测数据的科学家们。

LIGO Instrumentation

Python 自动化管理引力波监测设备

据负责管理引力波监测设备的科学家介绍,他们使用 Python 语言对大部分监测设备进行自动化管理。为了确保这些设备处于最佳的敏感度,科学家要执行很多个控制循环(control loops),可是又不能同时启动。这些控制步骤必须要按照正确的步骤,一步一步进行,程序非常复杂,还要考虑反馈增益(feedback gains)等因素。因此,他们使用 Python 编写了一个软件来进行自动化处理。这仅仅是众多自动化操作中的一个。

监听引力波的主要数据分析管道

还有一个回答提到,负责监听引力波的主要数据分析管道(pipelines)之一,就是运行在 Python 环境上。

LIGO Astrophysics

Python 用于分析引力波数据

LIGO 负责数据分析的科学家认为,Python 在科学界发挥着极其重要的作用。LIGO 使用的许多分析工具都是用 Python 开发的,而且这次引力波大发现最终的统计显著性(final significance)就是用这些工具计算得出。

Python 用于分析引力波数据

LIGO 介绍这次发现的论文中,几乎所有的图表都是用 Python 绘制的。其中,大家在媒体报道中看到的下面这幅图,也是使用 Python 绘制而成(具体来说是 matplotlib 库)。

引力波大发现数据图

可以说,Python 已经成为 LIGO 科学家日常使用的主要编程语言。

LIGO 都开发了哪些 Python 库?

除了之前介绍的 GWPY,LIGO 还开发了下面的 Python 库。

  • LIGO-CBC
  • LSCSOFT
  • 等等

另外,LIGO 已经在网站上公开了这次发现的相关数据,供其他科学家研究分析,并且提供了详细的数据分析教程。

本文文字及图片出自 www.codingpy.com

余下全文(1/3)
分享这篇文章:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注