Maxima (software)
Maxima (/ˈmæksɪmə/) is a computer algebra system (CAS) based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as macOS, Unix, BSD, and Linux, as well as under Microsoft Windows and Android. It is free software released under the terms of the GNU General Public License (GPL).
Screenshot of Maxima, plotting the 2D graph of a function with the gnuplot-x11 package running on Ubuntu Linux | |
Developer(s) | Macsyma group at Project MAC and volunteer contributors |
---|---|
Initial release | 1982 |
Stable release | 5.44.0
/ 8 June 2020 |
Repository | |
Written in | Common Lisp |
Operating system | Cross-platform |
Type | Mathematical software |
License | GPL |
Website | maxima |
History
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
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
Maxima is a full-featured CAS that specializes in symbolic operations, but it also offers numerical capabilities[1] such as arbitrary-precision arithmetic: integers and rational numbers that can grow to sizes limited only by machine memory, and floating-point numbers whose precision can be set arbitrarily large ("bfloats").
For calculations using 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
Various graphical user interfaces (GUIs) are available for Maxima:
- wxMaxima is a graphical front-end using wxWidgets.
- There is a kernel for Project Jupyter, a flexible, notebook-style GUI written in Python.[2]
- GMaxima is a Maxima interface using GTK+.[3]
- Cantor, using Qt, can interface with Maxima (along with SageMath, R, and KAlgebra)[4]
- The GNU TeXmacs and LyX mathematical editor programs can be used to provide an interactive GUI for Maxima, as can SageMath. Other options include the Imaxima front end, as well as an Emacs and XEmacs interaction mode which is activated by Imaxima.
- Kayali[5]
- Climaxima,[6] a CLIM-based front-end.[7]
See also
- Comparison of computer algebra systems
- SageMath, a free mathematics software which borrows many libraries from Maxima
References
- Barnes, David J. & Chu, Dominique (2010). "Chapter 5". Introduction to Modeling for Biosciences. Springer. ISBN 978-1-84996-325-1.
- https://github.com/robert-dodier/maxima-jupyter
- http://gmaxima.ackovosrot.cz/
- "Cantor". cantor.kde.org. Retrieved 2020-01-15.
- "Kayali download". SourceForge. Retrieved 2015-05-31.
- "Flathub—An app store and build service for Linux". flathub.org. Retrieved 2019-09-27.
- Mårtenson, Elias (2019-08-27), GitHub - lokedhs/maxima-client: Maxima client., retrieved 2019-09-27
Further reading
- Timberlake, Todd Keene; Mixon, Jr., J. Wilson (2015). Classical Mechanics with Maxima. Springer. ISBN 978-1-4939-3206-1.
External links
Wikibooks has a book on the topic of: Maxima |
Wikimedia Commons has media related to Maxima (software). |
- Official website
- wxMaxima, GUI for Maxima
- irc.freenode.net port 6667 channel #maxima
- Maxima 10 Minute Tutorial
- The HTML Maxima Manual in English
- Introduction to Maxima for Economics, a comprehensive maxima tutorial suitable for anyone using linear algebra or calculus.
- Maxima by example, a "second-reading" tutorial for the serious Maxima user.
- wxMaxima for Calculus I and II An open text on wxMaxima for single variable calculus.
- dynamicalsystems, collection of several Maxima programs to create various graphical representations of discrete dynamical systems and fractals
- Short list of useful examples
- comparison of Maxima vs. MuPAD, includes a very long list of examples. Somewhat outdated.
- imaxima, Emacs front end that includes typesetting.
- (in Japanese) Various plotting examples
- A Maxima-Gnuplot interface, drawing examples
- (in German) angeom.mac Analytische Geometrie mit wxMaxima
- (in French) The SYM package for Maxima
- (in Portuguese) Dynamical Systems textbook at the University of Porto (Portugal), with examples in Maxima
- DragMath, an open-source online equation editor that can export Maxima, and other formats.
- The STACK, computer aided assessment system.
- Maxima on Android, a version of Maxima for Android mobile devices
- Running Maxima online:
- maxima.cesga.es from "Centro de Supercomputación de Galicia"
- A web browser implementation of Maxima
- Omega CAS Explorer A calculator-like web interface for Maxima