Sage (computer algebra system)

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Sage
Sage logo

Sage animated .gif, y=x2 (red) vs. y=x3(blue)
Initial release 24 February 2005
Latest release 3.1.2 / 19 September 2008
Written in Python, Cython
OS Cross-platform
Platform Python
Type Computer algebra system
License GNU General Public License
Website sagemath.org

Sage is an open source computer algebra system written in Python and Cython and integrates an included distribution of specialized mathematics software into a common experience. It tries to cover many aspects of mathematics, including algebra, combinatorics, numerical mathematics and calculus.

The first version of Sage was released on 24 February 2005 under the terms of the GNU General Public License, with the initial goals of creating an "open source alternative to Magma, Maple, Mathematica, and MATLAB."[1]

In 2007, Sage won first prize in the scientific software division of Les Trophées du Libre, an international competition for free software.[2]

The lead developer of Sage, William Stein, is a mathematician at the University of Washington who employs students for Sage development. The development of Sage is supported by both volunteer work and grants.[3]

Contents

[edit] Architecture

Sage consists of a (local) web server which provides a graphical interface to interact with a Python interface for programming.

Most of the computation is provided by an included distribution of different open source mathematical software and libraries. Currently these are PARI/GP, GAP, Singular, and Maxima.

Some operations use these libraries automatically, others require the user to make explicit calls to them. The state of variables within each of the libraries is independent and transfer of objects between libraries is typically achieved by converting to and from strings.

[edit] Features

Sage combines various modes of usage for different applications.

  • It provides a notebook document interface.
  • It provides a text-based command line interface.
  • It includes MoinMoin as a Wiki system for knowledge management.
  • It is possible to embed Sage inside LaTeX documents.
  • It is possible to use sliders as input for calculations.[4]
  • It provides support for distributed computing.
  • Sage provides interfaces to some third-party software like Mathematica, Magma, and Maple, which allows users to combine software and compare output and performance. It is thus also a "front-end" to other mathematical tools similar to GNU TeXmacs.

[edit] See also

[edit] References

[edit] External links

Personal tools