Axiom computer algebra system

Axiom computer algebra system

Infobox_Software
name = Axiom
developer = Independent group of people
operating_system = Cross-Platform
genre = Computer Algebra System
license = modified BSD License
website = [http://axiom.axiom-developer.org Axiom Home Page]

Axiom is a free general purpose computer algebra system. It consists of an interpreter environment, a compiler and a library, which defines a strongly typed, mathematically (mostly) correct type hierarchy.

History

Axiom has been in development since 1973, originally as Scratchpad by researchers at IBM under the direction of [http://www.cis.udel.edu/~caviness/jenks/jenksbio/ Richard Dimick Jenks] . In the 1990s it was sold to NAG and given its current name. In 2001 it was withdrawn from the market and released to Tim Daly, the project lead developer, under the Modified BSD License. In 2007 the project split to create two alternative development forks, FriCAS and OpenAxiom.

Philosophy

The Axiom project focuses on the "30 Year Horizon". The primaryphilosophy is that Axiom needs to develop several fundamental featuresin order to be useful to the next generation of computational mathematicians.It needs to:

# Be well documented. In order for the next generation to use the system the algorithms need strong documentation. Knuth's literate programming technology is used throughout the source code.
# Proven correct. Axiom plans to use proof technology to prove the correctness of the algorithms (such as Coq and ACL2).
# Mathematically sound. Axiom has a type hierarchy that is strongly based on standard mathematical category theory.

Documentation

# [http://axiom.axiom-developer.org/axiom-website/book.pdf Jenks, R.D. and Sutor, R. "Axiom, The Scientific Computation System"]
# [http://axiom.axiom-developer.org/axiom-website/bookvol1.pdf Daly, T. "Axiom Volume 1: Tutorial"]

Related Projects

The Axiom project forked twice in the summer of 2007, (see the articleson FriCAS and
OpenAxiom)

Design

In Axiom, all objects have a type. Examples of types are mathematical structures (such as rings, fields, polynomials) as well as data structures from computer science (e.g., lists, trees, hash tables).

A function can take a type as argument, and its return value can also be a type. For example, Fraction is a function, that takes an IntegralDomain as argument, and returns the field of fractions of its argument. As another example, the ring of 4 imes 4 matrices with rational entries would be constructed as SquareMatrix(4, Fraction Integer). Of course, when working in this domain, 1 is interpreted as the identity matrix and A^-1 would give the inverse of the matrix A, if it exists.

Several operations can have the same name, and the types of both the arguments and the result are used to determine which operation is applied, somewhat similar to OOP.

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

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

Features

Within the interpreter environment, Axiom uses type inference and a heuristic algorithm to make explicit type annotations mostly unnecessary.

It features 'HyperDoc', an interactive browser-like help system, and can display two and three dimensional graphics, also providing interactive features like rotation and lighting.

Axiom is currently the only CAS with an (almost) complete implementation of the Risch algorithm for elementary integration, which was done by Manuel Bronstein and Barry Trager.

User Interface

There exists a specialised interaction mode for Emacs, as well as a plugin for the TeXmacs editor.

ee also

* A# programming language
* Aldor programming language
* Comparison of computer algebra systems

External links

* [http://axiom.axiom-developer.org Axiom Homepage]
* [http://axiom-wiki.newsynthesis.org Homepage hosting all descendents of the original project]
* [http://axiom-wiki.newsynthesis.org/ScreenShots Screenshots]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Axiom (computer algebra system) — Scratchpad redirects here. For scratchpad memory, see Scratchpad RAM. Axiom Developer(s) independent group of people Stable release September 2011 Operating system cross platform …   Wikipedia

  • Computer algebra system — A computer algebra system (CAS) is a software program that facilitates symbolic mathematics. The core functionality of a CAS is manipulation of mathematical expressions in symbolic form. Contents 1 Symbolic manipulations 2 Additional capabilities …   Wikipedia

  • Computer algebra system — Système de calcul formel Un système de calcul formel (computer algebra system ou CAS en anglais) est un logiciel qui facilite le calcul symbolique. La partie principale de ce système est la manipulation des expressions mathématiques sous leur… …   Wikipédia en Français

  • Magma computer algebra system — Magma Developer(s) Computational Algebra Group, School of Mathematics and Statistics, University of Sydney Stable release 2.17 8 / May 27, 2011 Operating system …   Wikipedia

  • Derive (computer algebra system) — Derive Developer(s) Texas Instruments Stable release 6.1 Development status Discontinued Written in muLISP Operatin …   Wikipedia

  • Dynamic Computer Algebra System — Dcas is a dynamic computer algebra system featuring the idea of using identities as rules for manipulation of algebra. Robert Fenichel developed a system called FAMOUS in the 1970s using the LISP programming language pursuing the same aim. A… …   Wikipedia

  • Computer-Algebra-System — Ein Computeralgebrasystem (CAS) ist ein Computerprogramm das Methoden der Computeralgebra nutzt. Konkreter kann es Rechenaufgaben aus verschiedenen Bereichen der Mathematik lösen und dabei nicht nur (wie ein Taschenrechner) mit Zahlen, sondern… …   Deutsch Wikipedia

  • Computer algebric system — Système de calcul formel Un système de calcul formel (computer algebra system ou CAS en anglais) est un logiciel qui facilite le calcul symbolique. La partie principale de ce système est la manipulation des expressions mathématiques sous leur… …   Wikipédia en Français

  • Comparison of computer algebra systems — The following tables provide a comparison of computer algebra systems (CAS). Contents 1 General 1.1 Functionality 1.2 Operating system support 2 Hand held calculator CAS …   Wikipedia

  • Axiom — Тип система компьютерной алгебры Разработчик независимая группа людей Операционная система кроссплатформенное программное обеспечение Лицензия модифицированная лицензия BSD Сайт …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”