Axiom (software)

from Wikipedia, the free encyclopedia
axiom
Basic data

Current  version August 2014
( August 2014 )
operating system Linux , Unix
programming language Common Lisp , SPAD
category Computer algebra system
License modified BSD license
www.axiom-developer.org

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 was developed since 1971 by researchers at IBM under the direction of Richard Dimick Jenks , originally under the name SCRATCHPAD in the Lisp programming language . In the 1990s it was sold to the NAG group and given its current name. It was withdrawn from the market in 2001 and has been distributed under a modified BSD license since 2002 . Since then, two projects have split off from it: FriCAS and OpenAxiom.

design

In Axiom, all objects are of a type . Examples of such types are mathematical structures (such as rings , bodies , polynomials ) and data structures from computer science (e.g. 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, is Fractiona function that takes you IntegralDomainas an argument and has the quotient body of its argument as its result. As another example, one can construct the ring of matrices with rational entries as . If you work in this domain , it is interpreted as an identity matrix and provides the inverse of the matrix , if it exists. SquareMatrix(4, Fraction Integer)1A^-1A

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

Axiom's extension language is called SPAD . All of Axiom's mathematical knowledge is written in this language. The interpreter accepts roughly the same language.

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

Skills

Within the interpreter, Axiom uses type inference and a heuristic algorithm to make explicit type specifications largely unnecessary.

Axiom includes 'HyperDoc', an interactive, browser-like help, and can display two- and three-dimensional graphics. The graphic display also enables the graphic to be rotated or a light source to be set.

Axiom is currently the only CAS with a full implementation of the Risch algorithm for elementary integration. The implementation comes from Manuel Bronstein and Barry Trager.

Graphical user interface

There is a mode for Emacs and a plug-in for the TeXmacs editor . Another option is to use Sage as an interface to Axiom.

Web links

Individual evidence

  1. www.axiom-developer.org .