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

明敏 Alex 发自 凹非寺
量子位 | 公众号 QbitAI

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

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

84b1c89c69c35eb90d1e0d9b65e9df3f.png

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

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

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

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

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

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

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

36d856c3a638b16273fe6211670ac9a3.png

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

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

靠硬盘空间求解超长公式

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

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

ab1fc3db2b1e31c7c9887f4e697e974d.png

但本质上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年代,那个时候的主存容量就更小了。

2c7e7ef2c9f33f7623ed88160c224f71.jpeg

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

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

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

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

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

在FORM的GitHub主页上也写着:

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

31d92fc5066aca8bbf441db345613ac6.png

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

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

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

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

被重视程度却远远不够

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

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

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

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

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

710e4e33e0e59aaaa9dfd6f94d020a7f.jpeg

开发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年代的第一批图形处理工作站。

991ff7e5f03cf3825e727aeb31192998.png

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

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

  • FORM:顺序版,旨在在单个处理器上运行;

  • ParFORM:多处理器版,处理器有自己的内存,可以使用集群和系统,同时为两个及以上的处理器;

  • TFORM:处理器共享内存系统的多线程版,主要用于处理器数量有限的系统。

  • FORM和FormCalc是相互补充的,FORM作为一种通用符号计算和公式管理软件,而FormCalc作为一种特定于高能物理研究的工具。

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

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

为什么会这样?

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

a871b1094591a11a39aeec5517ba41d8.jpeg

乔斯老爷子无奈地表示:

多年来,我一直看到物理学领域中在计算工具开发上花大把时间的人,得不到一个终身职位。
而且相比之下,乔斯及FORM还算是挺幸运的,因为他本身有终身职位——荷兰国家亚原子物理研究所(Nikhef)长期担任理论组研究员。

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

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

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

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

aba74254e9267e5072ce0623a2201b62.png

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

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

有网友指出:

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

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

09b85a063d8d67b74ce53dd1dd1daac3.png

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

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

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

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

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

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

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

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

6ba7a3c6bc105e3716545cd1692b3382.png

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

e88cf32ad88c7f495752755b79651230.png

FORM主页:
https://www.nikhef.nl/~form/
GitHub主页:
https://github.com/vermaseren/form
参考链接:
[1]https://www.quantamagazine.org/crucial-computer-program-for-particle-physics-at-risk-of-obsolescence-20221201/
[2]https://www.nikhef.nl/www/news/nikhef-researcher-jos-vermaseren-receives-prestigious-erc-advanced-grant/
[3]https://news.ycombinator.com/item?id=33818082
[4]https://arxiv.org/abs/math-ph/0010025

—  —

AI不会让你失业,会用AI的人才会让你失业。ChatGPT不会淘汰你,能驾驭ChatGPT的人会淘汰你。带领一小部分人先驾驭ChatGPT。

我的“ChatGPT星球”,3月31日上午9点开放,已经超过5000人加入,很快到6000人又要涨价了! 

目前早鸟价249,额外给了50元优惠券(200张,有效期明天中午12点哈-),到手199,早就是优势,建议大家尽早以便宜的价格加入!

扫码查看预览页面,有介绍说明~

加入就送ChatGPT账号及副业精华电子书

5月1日前加入,送价值3000元视频课(5选2),等于社群白嫖

db649f6405c37e25d8337df24b4322ef.png

优惠券名额有限,先到先得

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31916.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果的头显,只要看一眼就行

阅读本文大概需要 1.66 分钟。 今年的 WWDC23 开发者大会,不少人表示 iOS 更新了个寂寞,但 Vision Pro 头显却意外吸引眼球,看来苹果工程师都忙着搞头显去了。 苹果的头显终于还是来了,关于它的传闻,似乎这几年从未间断…

AN OVERVIEW OF LANGUAGE MODELS RECENT DEVELOPMENTS AND OUTLOOK

LLM系列相关文章,针对《AN OVERVIEW OF LANGUAGE MODELS: RECENT DEVELOPMENTS AND OUTLOOK》的翻译。 语言模型综述:近年来的发展与展望 摘要1 引言2 语言模型的类型2.1 结构化LM2.2 双向LM2.3 置换LM 3 语言单元3.1 字符3.2 单词和子单词3.2.1 基于统…

使用 Sealos 三分钟打造鉴黄神器,我有个大胆的想法……

"NSFW" 是 "Not Safe For Work" 的缩写,通常用于标记那些在工作场所可能不适当的的在线内容。这种内容可能包含暴力、色情、血腥、或者其他可能被认为是令人反感或冒犯的材料,最常见的原因……是 18 成人内容。在许多在线平台&#…

8年前端带你HTML+CSS入门到实战(附视频+源码)

本文主要是解决: ☆ 想要自学前端开发, ☆ 但又不太想看博客文章, ☆ 觉得自学有点吃力,有点不知道学习步骤的同学 目录 一、HTML 1、需要了解熟练的标签 2、不太常用的标签 3、怎么算是HTML学好了,可以继续学CSS了…

NLP中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert

点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要15分钟 跟随小博主,每天进步一丢丢 作者:JayLou,NLP算法工程师 知乎专栏:高能NLP之路 地址:https://zhuanlan.zhihu.com/p/56…

6款AI写作工具类网站推荐(第二版)

我们搜集了一些AI写作工具,希望对你有帮助,不论是在提升工作效率方面,还是在了解最新的AI技术方面,帮助你提升工作效率。 Notion AI https://www.notion.so/product/ai NotionAi可以提供AI智能写作,还能检查代码、语法…

国内大模型侵权第一案,6 年成果,被爬取 200+ 万次,仅索赔 1 元?

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 上个月,学而思曾透露消息称,目前其正在自研数学大模型 MathGPT,即面向全球数学爱好者和科研机构,以数学领域的解题和讲题算法为核心打造而成。 彼时许多…

用GPT-4 写2022年天津高考作文能得多少分?

正文共 792 字,阅读大约需要 3 分钟 学生必备技巧,您将在3分钟后获得以下超能力: 积累作文素材 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●图片由Lexica …

react聊天组件:用antd和react-chat-element组装的聊天列表

效果图: 安装库 用到了antd design和github上的一个库:react-chat-element (1)antd design: 安装:yarn add antd 修改 src/App.css,在文件顶部引入 antd/dist/antd.css import ~antd/dist/a…

chatgpt赋能python:人脸识别技术进程Python应用

人脸识别技术进程Python应用 人脸识别技术是计算机视觉领域的重要应用,随着深度学习技术的发展,越来越多的人开始关注并使用这种技术。Python作为一种高效、易用的编程语言,也在人脸识别领域得到了广泛应用,本文将介绍Python如何…

chatgpt赋能python:Python人脸搜索:进入智能搜索的新时代

Python人脸搜索:进入智能搜索的新时代 随着神经网络和深度学习的迅猛发展,人工智能已经成为许多领域中最重要的研究方向。人脸搜索的普及,是人工智能引领的技术革命最具有代表性的例子。Python作为一种高级编程语言,在人脸搜索领…

chatgpt赋能python:Python实现人脸识别系统

Python实现人脸识别系统 在当今科技发展的时代,人脸识别技术已经广泛应用于各行各业中,如安全防范、金融交易、医学检测等领域,成为了一个备受瞩目的技术。Python作为当今最流行的编程语言之一,其实现人脸识别系统的能力备受重视…

chatgpt赋能python:人脸识别软件的作用及发展

人脸识别软件的作用及发展 随着科技的飞速发展,人脸识别技术越来越广泛地应用于各个领域,例如安全监控、金融交易、社交网络等。人脸识别软件通过识别人脸图像中的特征来进行身份验证或辨认,具有高效、准确、便捷等优点。而Python作为一种易…

chatgpt赋能python:Python人脸匹配:自动识别人脸并进行匹配

Python人脸匹配:自动识别人脸并进行匹配 介绍 Python已经成为一种广泛使用的编程语言,在许多任务中被广泛应用。其中一项任务是人脸匹配,这是在安全性和身份验证方面非常有用的应用程序。Python提供了一些很好的库,使得在Python…

chatgpt赋能python:Python人脸识别教程

Python人脸识别教程 什么是人脸识别? 人脸识别是一种通过人脸图像进行身份识别的技术,根据人脸的特征信息进行比对,以识别一个人的身份。 Python人脸识别技术 Python是一种高级编程语言,现在被广泛应用于人工智能,…

IDEA官方中文插件!!!

随着IDEA2020.1版本的到来,官方也悄悄更新了IDEA的中文插件 不得不说,还是比较给力的。 打开设置–>插件: 搜索 Chinese (Simplified) Language Pack 下载重启,IDEA中文版就来啦。 整体效果还是不错的: ATFWU…

IDEA官方中文版插件

IDEA官方中文插件安装步骤: 打开Settings–>Plugins:搜索 Chinese (Simplified) Language Pack 下载重启,IDEA中文版安装完成。

IDEA好用的插件推荐

目录 1.Translation 2.GsonFormat 3. VisualVM Launcher 4.CodeGlance Pro 5.Key Promoter X 6.GenerateAllSetter 7..ignore 8.MyBatisCodeHelperPro 9.Grazie 10.Background Image Plus 1.Translation 翻译插件。程序员最痛苦的事莫过于阅读代码时遇到不懂的英文单词&#…

IDEA实用插件

IDEA中引入插件支持方式如下: 点击File-- Settings设置界面--PlugIns,安装指定的插件,安装后自动或手动重启IDEA。 1、Translation 【实用程度 ★★★★★】 用处:直接选中你想要翻译的词,然后右键选择,或…

idea中文版插件

IDEA怎么设置成中文? 首先点击左上角的File-Settings 进入设置 进入Settings后点击Plugins,在搜索框输入Chinese language pack,点击install安装插件 下载成功后,点击installed,找到下载的汉化插件,点击Restart IDE&…