最近、私が見た 仲間の素粒子物理学者が、精度を新たな高みへと押し上げた計算について語っています。 彼の道具? FORMと呼ばれる1980年代のコンピュータープログラム。
素粒子物理学者は、科学全体で最も長い方程式のいくつかを使用します。 たとえば、大型ハドロン衝突型加速器での衝突で新しい素粒子の兆候を探すために、可能性のある衝突結果を表すファインマン図と呼ばれる何千もの図を描きます。それぞれの図は、数百万項の長さになる可能性のある複雑な式をエンコードしています。 このような数式をペンと紙で合計することは不可能です。 それらをコンピューターに追加することさえ困難です。 私たちが学校で学ぶ代数のルールは、宿題には十分速いが、素粒子物理学ではひどく非効率的だ.
コンピューター代数システムと呼ばれるプログラムは、これらのタスクを処理しようとします。 そして、世界最大の方程式を解きたい場合、33 年間、1 つのプログラムが際立っていました: FORM.
オランダの素粒子物理学者によって開発された ヨス・フェルマセレン、FORM は素粒子物理学のインフラストラクチャの重要な部分であり、最も困難な計算に必要です。 しかし、驚くほど多くの重要なデジタル インフラストラクチャと同様に、FORM のメンテナンスは主に 1 人の人物、Vermaseren 自身にかかっています。 そして 73 歳で、彼は FORM の開発から離れ始めました。 ソフトウェア ツールではなく、発表された論文を重視するアカデミアのインセンティブ構造のため、後継者は生まれていません。 状況が変わらなければ、素粒子物理学は劇的に遅くなる可能性があります。
FORM は、コンピューターの役割が急速に変化していた 1980 年代半ばに始まりました。 その前身である、Martinus Veltman によって作成された Schoonschip と呼ばれるプログラムは、Atari コンピューターの側面に差し込む特殊なチップとしてリリースされました。 Vermaseren は、世界中の大学がダウンロードできる、よりアクセスしやすいプログラムを作りたいと考えていました。 彼はフォーミュラ・トランスレーションの略であるコンピュータ言語FORTRANでそれをプログラミングし始めました。 FORMという名前はそのリフでした。 (彼は後に C というプログラミング言語に切り替えました。) Vermaseren は 1989 年に彼のソフトウェアをリリースしました。90 年代初頭までに、世界中の 200 以上の機関がそれをダウンロードし、その数は増え続けました。
2000 年以降、FORM を引用した素粒子物理学の論文が平均して数日おきに発行されています。 “ほとんど [high-precision] 私たちのグループが過去 20 年間に得た結果は、FORM コードに大きく基づいていました。 トーマス・ゲールマン、チューリッヒ大学教授。
FORM の人気の一部は、ファインマン ダイアグラムの特定の部分をすばやく乗算するためのトリックや、方程式を並べ替えて乗算と加算をできるだけ少なくする手順など、長年にわたって構築された特殊なアルゴリズムに由来しています。 しかし、FORM の最も古く、最も強力な利点は、メモリの処理方法です。
人間が短期記憶と長期記憶の 2 種類の記憶を持っているように、コンピューターには主記憶と外部記憶の 2 種類があります。 メイン メモリ (コンピュータの RAM) は、オンザフライで簡単にアクセスできますが、サイズには制限があります。 ハードディスクやソリッド ステート ドライブなどの外部メモリ デバイスは、はるかに多くの情報を保持できますが、速度は遅くなります。 長い方程式を解くには、簡単に操作できるようにメイン メモリに格納する必要があります。
80 年代には、両方のタイプのメモリが制限されていました。 「FORM は、メモリがほとんどなく、ディスク容量もなかった時代に構築されました。基本的には何もありませんでした。」 ベン・ライジルVermaseren の元学生で FORM 開発者で、現在はスイス連邦工科大学チューリッヒ校のポスドク研究員です。 これは課題をもたらしました: 方程式が長すぎてメイン メモリで処理できませんでした。 これを計算するには、オペレーティング システムがハードディスクをメイン メモリであるかのように扱う必要がありました。 オペレーティング システムは、方程式がどれくらい大きくなると予想されるかを知らず、ハードディスク上の「ページ」のコレクションにデータを保存し、必要に応じてページ間を頻繁に切り替えます。これはスワッピングと呼ばれる非効率的なプロセスです。
FORM はスワッピングをバイパスし、独自の手法を使用します。 FORM で方程式を扱う場合、プログラムは各項にハード ディスク上の一定量の領域を割り当てます。 この手法により、ソフトウェアは方程式の部分がどこにあるかをより簡単に追跡できます。 また、必要なときに残りの部分にアクセスすることなく、これらの部分をメイン メモリに簡単に戻すことができます。
メモリは FORM の初期の頃から増加し、1985 年の Atari 130XE の 128 キロバイトの RAM から、私のパワーアップしたデスクトップの 128 ギガバイトの RAM へと、100 万倍の改善が見られました。 しかし、Vermaseren が開発したトリックは依然として重要です。 素粒子物理学者が大型ハドロン衝突型加速器からの数ペタバイトのデータを調べて新しい粒子の証拠を探すにつれて、精度の必要性が高まり、方程式の長さが長くなります。