Maxima (software)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Maxima
Maxima-new.svg
WxMaxima 0.7.1 screenshot.png
wxMaxima screenshot
Developer(s) Macsyma group at Project MAC and volunteer contributors
Initial release 1982; 32 years ago (1982)
Stable release 5.34.1 / 8 September 2014; 3 months ago (2014-09-08)
Development status Active
Written in Common Lisp
Operating system Cross-platform
Type Mathematical software
License GPL
Website maxima.sourceforge.net

Maxima is a computer algebra system based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as OS X, Unix, BSD, and GNU/Linux as well as under Microsoft Windows and Android. It is free software released under the terms of the GNU General Public License.

History[edit]

Maxima is based on a 1982 version of Macsyma, which was developed at MIT with funding from the United States Department of Energy and other government agencies. A version of Macsyma was maintained by Bill Schelter from 1982 until his death in 2001. In 1998, Schelter obtained permission from the Department of Energy to release his version under the GPL. That version, now called Maxima, is maintained by an independent group of users and developers. Maxima does not include any of the many modifications and enhancements made to the commercial version of Macsyma during 1982–1999. Though the core functionality remains similar, code depending on these enhancements may not work on Maxima, and bugs which were fixed in Macsyma may still be present in Maxima, and vice-versa.

Features[edit]

Maxima includes a complete programming language with ALGOL-like syntax but Lisp-like semantics. It is written in Common Lisp, and can be accessed programmatically and extended, as the underlying Lisp can be called from Maxima. It uses Gnuplot for drawing.

Numeric calculations[edit]

Maxima is a full-featured CAS (computer algebra system) that specializes in symbolic operations but it also offers numerical capabilities[1] such as arbitrary-precision arithmetic: integers and rational numbers which can grow to sizes limited only by machine memory, and floating point numbers whose precision can be set arbitrarily large ("bfloats").

For calculations which use floating point and arrays heavily, Maxima offers the possibility of generating code in other programming languages (notably Fortran) which may execute more efficiently.

Maxima is a general-purpose system, and special-case calculations such as factorization of large numbers, manipulation of extremely large polynomials, etc. are sometimes better done in specialized systems.

Interfaces[edit]

Various graphical user interfaces are available for Maxima:

  • wxMaxima is a graphical front-end using wxWidgets.
  • GMaxima is one using GTK+.
  • Cantor, using Qt, and can interface with Maxima (along with Sage, R, and Kalgebra)[2]
  • The GNU TeXmacs and LyX mathematical editor programs can be used to provide an interactive GUI for Maxima, as can Sage. Other options include the Imaxima front end, as well as an Emacs and Xemacs interaction mode which is activated by Imaxima.
  • Kayali[3]

See also[edit]

References[edit]

  1. ^ Barnes, David J. & Chu, Dominique (2010). "Chapter 5". Introduction to Modeling for Biosciences. Springer. ISBN 978-1-84996-325-1. 
  2. ^ "Cantor, an interface to Maxima (and other mathematics software)". edu.kde.org. Retrieved 2013-09-20. 
  3. ^ http://kayali.sourceforge.net/index.htm

External links[edit]