FORM (symbolic manipulation system)

For other uses, see Form (disambiguation).

FORM

Developer(s)| Jos Vermaseren, et al.
Initial release| 1989
Stable release|

4.3.1

Repository| github.com/vermaseren/form
Written in| C
Operating system| Linux, Mac OS X, Windows
Type| Mathematical software
License| GPLv3
Website| www.nikhef.nl/~form/

FORM is a symbolic manipulation system. It reads text files containing definitions of mathematical expressions as well as statements that tell it how to manipulate these expressions. Its original author is Jos Vermaseren of Nikhef, the Dutch institute for subatomic physics. It is widely used in the theoretical particle physics community, but it is not restricted to applications in this specific field.[1]

## Features

[edit]

* Definition of mathematical expressions containing various objects (symbols, functions, indices, ...) with elementary arithmetic operations
* Arbitrary long mathematical expressions (limited only by disk space)
* Multi-threaded execution, parallelized version for computer clusters
* Powerful pattern matching and replacing
* Fast trace calculation especially of gamma matrices
* Built-in mathematical functions
* Output into various formats (plain text, Fortran code, Mathematica code)
* External communication with other software programs

## Example usage

[edit]

A text file containing

Symbol x,y;

Local myexpr = (x+y)^3;

Id y = x;
Print;

.end

would tell FORM to create an expression named myexpr, replace therein the symbol y by x, and print the result on the screen. The result would be given like

myexpr =
8*x^3;

## History

[edit]

FORM was started in 1984 as a successor to Schoonschip, an algebra engine developed by M. Veltman. It was initially coded in FORTRAN 77, but rewritten in C before the release of version 1.0 in 1989. Version 2.0 was released in 1991. The version 3.0 of FORM has been publicized in 2000. It has been made open-source on August 27, 2010 under the GPL license.

## Applications in high-energy physics and other fields

[edit]

* Mincer: A software package using FORM to compute massless propagator diagrams with up to three loops.
* FORM has been the essential tool to calculate the higher-order QCD beta function.
* The mathematical structure of multiple zeta values has been researched with dedicated FORM programs.[2]
* The software package FormCalc which is widely used in the physics community to calculate Feynman diagrams is built on top of FORM.

## References

[edit]

1. ^ [1] Some citations of FORM in the INSPIRE-HEP Literature Database
2. ^ Blümlein, J.; Broadhurst, D.J.; Vermaseren, J.A.M. (2010). "The Multiple Zeta Value data mine". Computer Physics Communications. 181 (3): 582–625\. arXiv:0907.2557. Bibcode:2010CoPhC.181..582B. doi:10.1016/j.cpc.2009.11.007.

## External links

[edit]

* Official website
* The FORM online manual
* Debian -- Details of package form
* Linux packages: ArchLinux, Debian, Gentoo, Ubuntu
* Hippel, Matt von (2022-12-01). "Crucial Computer Program for Particle Physics at Risk of Obsolescence". Quanta Magazine.

* v
* t
* e

Computer algebra systems

Open-source|

* Axiom
* Cadabra
* CoCoA
* Fermat
* FriCAS
* FORM
* GAP
* GiNaC
* Macaulay2
* Maxima
* Normaliz
* PARI/GP
* Reduce
* SageMath
* Singular
* SymPy
* Xcas/Giac
* Yacas

Proprietary|

* ClassPad Manager
* Engineering Equation Solver
* KANT
* Magma
* Maple
* Mathcad
* muPAD (MATLAB symbolic math toolbox)
* SMath Studio
* TI InterActive!
* Wolfram

Discontinued|

* CAMAL
* Derive
* Erable
* LiveMath
* Macsyma
* Mathomatic
* muMATH
* ALTRAN

* Category
* List

Authority control databases: National |

* Germany

|

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template