仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

高等物理先进计算必备程序之一,快要没人维护了。

随着唯一的长期维护者达到73岁高龄,计算系统FORM的命运开始变得扑朔迷离起来。

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

过去30多年,这个程序被视为粒子物理学研究的基础工具之一,可计算伽马矩阵、平行计算、模式匹配等。

计算费曼图的软件包 FormCalc 也是在它的基础上实现。

要知道,费曼图能够用图像描述大型粒子对撞机中粒子碰撞的可能结果,号称“有助于帮助改变物理学家看世界的方式”。

除此之外,高阶QCD(量子色动力学)β函数、多重Zeta数值(MZV)的数学结构研究等也都用到了FORM。

甚至在它诞生十数年后,仍旧有大量前沿研究依赖于它。

自 2000 年以来,平均每隔几天就有一篇基于 FORM 的粒子物理学论文被发表

但这样重要的计算程序,现在却只靠一位 73 岁的退休人员维护 —— 其开发者荷兰粒子物理学家乔斯・维马塞伦(Jos Vermaseren)。

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

如今,随着老爷子年事已高,其后继维护者还没找到。

而完全能顶替它的程序似乎还没有出现,尽管 Mathematica 也能计算,但是速度上完全无法与之相比。

靠硬盘空间求解超长公式

简单理解,FORM 是一个可以进行符号运算的程序。

相较于更通用的 Mathematica,它更专注于大规模处理符号表达式。

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

但本质上 FORM 还是数学代数系统,具体的操作过程大概是这样的:

设定函数 f 中,在 x 之前如果出现任何参数,都将它们进行调换。

Symbol x;
Local E = f(1,2,x,3,4);

id f(?a,x,?b) = f(?b,?a);

Print;
.end

那么 FORM 输出的结果将会是:F=f(3,4,1,2)。

它主要有两方面特点:

第一、计算快。

FORM 建立了一些专业算法,比如能将费曼图中的某些部分快速相乘; 通过重新排列方程减少相乘、相加步骤。

第二、能处理超级大的方程式。

只要硬盘空间够大,多长都能算。

这正是 FORM 最特别的地方。

电脑的储存模式可分为两种。 其一是主要储存,这里常说的是 RAM(随机储存器)。 它是计算机系统中最重要的存储器,能和CPU直接交换数据,随时读写、速度很快,但储存空间非常有限。 另一种是外存,也就是硬盘、固态硬盘、磁盘等。 它们的优点是容量大,但计算速度慢。

比如一台笔记本电脑的内存只有 16GB,但是储存空间可以到 2TB。

如果想要求解超复杂的物理方程式,那必须要依靠主存。

但问题是,这么小的容量空间,根本无法处理超长公式。 更何况 FORM 生于 80 年代,那个时候的主存容量就更小了。

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

FORM 选择了一个巧妙的方法 —— 把硬盘当成主存来用。

通过将主存和硬盘空间“标签”处理,然后将方程式放入到不同的“页”上,并且为每一个项都固定一个存储位置,程序执行时就能快速找到各个项的位置将其带回真正的主存,而不必访问其他的项。

这样做的好处是在扩大主存的同时,还绕开了低效的内存交换操作,可以快速计算复杂庞大的方程式。

凭借着这一特点,FORM 自诞生后便成为了粒子物理学中的关键工具之一。

即便放到现在 FORM 也依旧至关重要 —— 毕竟计算储存发展的速度,怎么也追不上物理学方程式加长的速度……

在 FORM 的 GitHub 首页上也写着:

FORM 是高能物理领域中许多最先进计算的必备工具。

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

值得一提的是,FORM 并不能被视为 CAS 的加强版,它们的程序逻辑并不相同。

上手 FORM 可能需要一点门槛,但只要跨过去,就是打开一番新天地了。 FORM 和 CAS 配合使用可以解决数学、物理中诸多难以计算的复杂问题。

苏黎世大学教授托马斯・格尔曼(thames Gehrmann)表示,自己的课题组在过去20年中取得的大多数高精度结果,很大程度上都依赖于FORM。

高能物理学助理教授马特・冯・希佩尔(Matt von Hippel)在 Quantamagazine 的文章中也提到,自己的一位同事前不久才使用 FORM 将一项计算的精度推到新高度。

被重视程度却远远不够

但和想象中不同,这样一个为高能物理领域带来巨大进步的工具,一路发展过来,背后的维运却冷冷清清,以至于现在整个软件都岌岌可危。

FORM的起点在1984年。 当时电脑的角色正在迅速变化,PC机在这个时期开始普及。

其前身是一个名为 Schoonschip 的程序,由荷兰物理学家马蒂努斯・维尔特曼(Martinus Veltman)建立。

和我们今天许多常用的电脑程序不同,当时的程序大都是搭载于外部的 ROM 芯片中,得把芯片插到电脑上才能运行(试想一下光盘)——Schoonschip 也不例外。

而乔斯则希望做出一个更易于访问的程序,可被世界各地高校下载的那种。

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

开发 FORM 之初,乔斯使用的是 FORTRAN 语言(也是 FORM 名字的重要来源),这种语言很擅长“搞数学”。

FORTRAN是由IBM为科学和工程应用开发的,是第一代计算机高级语言。

从上世纪50年代起,FORTRAN一度成了科学和工程计算的首选语言; 从60年代末到70年代初,大多数高性能电脑都支持FORTRAN,许多专门的编译器和工具可以用其编写算法。

而随着计算机技术发展、其它程式语言一个个出现,FORTRAN 慢慢被 C、C++、Python、Matlab 等取代,因为它没有对象导向程序的支持,且语法比较笨重。

在 1989 年,FORM1.0 正式发布前,乔斯改用 C 语言把 FORM 重写了一遍。

但 FORM 其实从诞生起就在被逐渐推广试用了:1984 至 1986 年间,FORM 最早支持的是 Apollo 工作站,这是上世纪 80 年代的第一批图形处理工作站。

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

到上世纪90年代初,全球已有超过200家机构下载了FORM,后面这个数字还在不断攀升。

与此同时,FORM 还发展出了 3 个不同的版本:

  • FORM:顺序版,旨在在单个处理器上运行;
  • ParFORM:多处理器版,处理器有自己的内存,可以使用丛集和系统,同时为两个及以上的处理器;
  • TFORM:处理器共享内存系统的多线程版,主要用于处理器数量有限的系统。
  • FORM 和 FormCalc 是相互补充的,FORM 作为一种通用符号计算和公式管理软件,而 FormCalc 作为一种特定于高能物理研究的工具。

这么看来,FORM 貌似一直在茁壮成长。 但其实从开发至今,维护 FORM 的人数总共也就十余人。

到现在,只剩下73岁的乔斯孤零零一人还在苦苦支撑。

为什么会这样?

一个重要的原因是:在物理学界,开发程序的努力往往被低估了。

乔斯老爷子无奈地表示:

多年来,我一直看到物理学领域中在计算工具开发上花大把时间的人,得不到一个终身职位。

而且相比之下,乔斯及 FORM 还算是挺幸运的,因为他本身有终身职位 —— 荷兰国家亚原子物理研究所(Nikhef)长期担任理论组研究员。

而且 FORM 也受到了欧洲研究理事会(ERC)的关注。

光是在 2012 年,ERC 就给 FORM 的相关项目资助了 170 万欧元。 当时乔斯提出把游戏领域的蒙特卡洛方法,用来求解高能物理方程(这种方程往往要求高精度、计算量巨大)。

并且这是 ERC 给乔斯等 Nikhef 研究人员的第三笔大额拨款。

但同样是在粒子物理学领域,意大利物理学家 Stefano Laporta 就没这么走运了。 他也开发了一种很有用的简化算法,可是整个职业生涯中都没收到什么资助……

如今,即便是曾经发展还不错的 FORM,想要找到后续维护者都有些难了。

因为这不光会耗费精力、往往得不到高收益,还要求开发人员有过硬的跨学科能力。 (其中一科还是粒子物理…)

有网友指出:

其实最难的不是写代码,而是确保它能正确处理资料。

比如,要对国际粒子物理学委员会编写的参考书 PDG Review of Particle Physics 行之有效。

如果后续维护不跟进,FORM很快就会跟不上电脑更新迭代的脚步,变得越来越不可用。

学者 Ben Ruijl 最近在尝试用 Rust 开发一个新版本的 FORM——DreFORM,来尝试减少 FORM 中的 bug。

但是到现在为止新版本还没有完成,因为 Ben Ruijl 不得不因为自己主要的研究课题而搁置它。

对此,哥本哈根大学(尼尔斯・玻尔的母校)的粒子物理学助理教授 Matt von Hippel 表示担忧:

(假如 FORM 真不行了,)物理学者可能不得不只能选择 Mathematica,其速度比 FORM 慢了好几个数量级。

粒子物理学可能还会因此停滞不前,只有少数人能够胜任最难的计算工作。

眼下,乔斯老爷子已在积极思考解决办法。 据说在今年4月份,他会召开一个FORM用户峰会,号召大家一起讨论后续维护问题。

GitHub 上,也有不少用户在一直在为这个程序找 Bug、提意见。

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

我们发现最近也有人在更新项目,但似乎代码出现了一些问题。

仅剩 1 位 73 岁开发者苦撑,这个能求解超复杂物理方程式的计算程序快要没人维护了

FORM 主页:

https://www.nikhef.nl/~form/

GitHub 首页:

https://github.com/vermaseren/form
(0)
打赏 微信扫一扫 微信扫一扫

相关推荐

发表回复

登录后才能评论