Skip to content
/ form Public
forked from vermaseren/form

The FORM project for symbolic manipulation of very big expressions

License

Notifications You must be signed in to change notification settings

weiyilai/form

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FORM

Test Coverage Status

FORM is a Symbolic Manipulation System. It reads symbolic expressions from files and executes symbolic/algebraic transformations upon them. The answers are returned in a textual mathematical representation. As its landmark feature, the size of the considered expressions in FORM is only limited by the available disk space and not by the available RAM. FORM has been essential for many state-of-the-art computations in High Energy Physics.

FORM's original author is Jos Vermaseren of NIKHEF, the Dutch institute for subatomic physics. Other people that have made contributions can be found in the file "AUTHORS".

Quick examples

The following FORM program repeatedly matches the power of a variable x in the expression E, as long as the power is more than 1 and creates two new terms with lower power:

Symbol x,n;
Local E = x^10;

repeat id x^n?{>1} = x^(n-1) + x^(n-2);

Print;
.end

and yields E = 34 + 55*x.

The following FORM program matches the function f that has any arguments before encountering an x and any arguments after, and switches them around:

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

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

Print;
.end

and yields E = f(3,4,1,2).

FORM can match many more complicated patterns and has many more features, as documented in the additional information.

Build instructions

Before building FORM, it is advised to install the optional dependencies gmp and zlib for better performance. To quickly build FORM, install the autoconf and automake packages. Then, after cloning the repository, run:

autoreconf -i
./configure
make
make install

For more advanced build options, see the file "INSTALL".

Additional information

The latest reference manual can be found here and the Form Cookbook can be found here.

More background information, a collection of FORM programs, and a number of courses can be found on the official FORM website and on the Wiki.

Information about copying and licensing of this software can be found in the file "COPYING".

Bugs and remarks

For reporting bugs, asking questions, giving remarks and suggestions, we welcome you to use the Issue Tracker.

About

The FORM project for symbolic manipulation of very big expressions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 72.5%
  • C++ 14.9%
  • VBA 7.5%
  • Visual Basic 6.0 3.2%
  • Shell 1.0%
  • M4 0.8%
  • Makefile 0.1%