Axiom (computer algebra system)

Axiom is a free computer algebra system. It consists of an interactive environment ( the interpreter ), a compiler and a program library. The latter implements a mathematically correct hierarchy of types.

History

Axiom has been developed since 1971 by researchers at IBM under the direction of Richard Dimick Jenks, originally under the name SCRATCHPAD in the programming language Lisp. In the 1990s it was sold to the NAG group and received its present name. In 2001 it was taken off the market since 2002, it is distributed under a modified BSD license. Since then, two projects have split them: Fricas and Open Axiom.

Design

In Axiom, all objects have a type. Examples of such types are mathematical structures (such as rings, fields, polynomials ) as well as data structures in computer science ( such as list, tree, heap, hash table in various forms ).

A function can have a type as an argument, and its result can also be a type. For example, Fraction is a function that takes an integral domain as an argument and the quotient field of its argument with the result. As another example, one can construct the ring of matrices with rational entries as Square matrix (4, Fraction Integer). When working in the domain 1 is interpreted as a unit matrix, and A ^ -1 provides the inverse of the matrix A, so far as they exist.

Several functions can have the same name. The types of the arguments and the type of the result are used to determine which operation is actually meant, as in object-oriented programming.

The extension language of axiom called SPAD. The entire mathematical knowledge of axiom is written in this language. The interpreter accepts approximately the same language.

SPAD was further developed under the name of A # and later Aldor. Aldor can be still used as an alternative extension language. However, it is distributed under a different license.

Skills

Within the interpreter uses type inference axiom and a heuristic algorithm to make explicit type information largely unnecessary.

Axiom includes ' HyperDoc ', an interactive, browser-like help, and may represent two - and three-dimensional graphics. The graphic display allows, among other things, to rotate the graphic or to put a light source.

Representation of a surface

Axiom is the only CAS with a full implementation of the Risch algorithm for elementary integration. The implementation is by Manuel Bronstein and Barry exchanger.

Graphical User Interface

There is a mode for Emacs, and a plugin for the editor TeXmacs. Another possibility is to use SAGE as an interface for Axiom.

93490
de