Differences between revisions 6 and 7
Revision 6 as of 2006-11-19 07:21:36
Size: 5948
Editor: DavidJoyner
Comment:
Revision 7 as of 2006-11-19 07:43:08
Size: 5935
Editor: DavidJoyner
Comment:
Deletions are marked like this. Additions are marked like this.
Line 48: Line 48:
\end{itemize}

MAXIMA

Maxima is perhaps the most popular general purpose open source CAS. It's latest release (as of November 2006) is 5.10. The next release (Maxima 5.11) is tentatively planned for the beginning of 2007.

History

The Maxima homepage and the Maxima FAQ (this information is basically due to Stavros Macrakis) explains some history.

Maxima is a descendant of Macsyma, the legendary computer algebra system developed in the late 1960s at the Massachusetts Institute of Technology. Symbolics licensed Macsyma from M.I.T. and registered Macsyma" as a trademark at some point (presumably with M.I.T.'s permission). When Macsyma source ceased to be freely available, pressure was put on M.I.T. (mostly by Richard Fateman) to transfer the code which had been developed largely with Department of Energy (DOE) funding to the DOE, which then released it to others under certain conditions. That codebase was called DOE Macsyma.

The Maxima branch of Macsyma was maintained by William Schelter from 1982 until he passed away in 2001. In 1998 he obtained permission to release the source code under the GNU General Public License (GPL). Since his passing a group of users and developers has formed to bring Maxima to a wider audience.

[http://sage.math.washington.edu/home/wdj/sigsam/schelter.png]

Pages 8-9 of the Maxima book #references Max has a more detailed history. More Macsyma history can be found in #references GKW.

Basics

Source code: Maxima is written in Common Lisp and can be made to compile using either Clisp, GCL, CMUCL, SBCL, or OpenMCL. It has been compiled on Linux, Windows, Mac OSX, and FreeBSD machines. See the [http://maxima.sourceforge.net/wiki/index.php/Maxima%20ports Maxima ports page].

  • Binary executables: Maxima is available as a binary for linux and windows (cygwin not required).

  • Support: Where can you get help? There is an active email list: [http://maxima.sourceforge.net/maximalist.html]. This list is also used by developers as well.

  • License: GPL. However, Maxima's graphics uses GNUplot, which is not GPL'd.

Active developers

At the present day the major contributors seem to be Robert Dodier, Barton Willis, Raymond Toy, Stavros Macrakis (especially generating bug reports and bug fixes), Mario Rodriguez Riotorto (docs and share packages, especially), Vadim Zhytnikov (especially packaging the Windows build), and David Billinghurst (differential equations). There are also people working on various projects closely or not-so-closely related -- e.g. Andrej Vodopivec (WxMaxima), Camm Maguire (GCL).

Capabilities

Using Maxima, one can manipulate symbolic and numerical expressions, including differentiation, integration (symbolic and numerical), Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, special functions, elliptic functions, polynomials, orthogonal polynomials, sets, lists, vectors, matrices, and tensors. There are also some probability and statistics functions. Maxima yields high precision numeric results by using exact fractions, arbitrary precision integers, and arbitrarily precision floating point numbers. Maxima can plot functions and data in two and three dimensions. Maxima also has several special-purpose packages, such as for tensor calculus, solving recursive equations, and summation identities.

The main page to the reference manual ([http://maxima.sourceforge.net/docs/manual/en/maxima.html]) describes the topics in more details.

Here is a cool example using Maxima's plotdf package and openmath (both written by W. Schelter): To show the direction field of the differential equation y' = x + y and the solution that goes through (2, -0.1), use the commands:

(%i1) load("plotdf")$
(%i2) plotdf(x+y,[trajectory_at,2,-0.1]);

(%o2)                                  0

This produces the following pretty plot:

[http://sage.math.washington.edu/home/wdj/sigsam/oscas-cca1.png]

Thanks

In this description, I (=David Joyner) have been helped by emails with Robert Dodier, who I thank for his generosity.

Of course, only I am responsible for any mistakes. If you have corrections or comments, please email me at (wdjoyner AT gmail DOT com).

Anchor(references)

References

[http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems]

[http://wiki.axiom-developer.org/RosettaStone]

  • [GKW] J. Grabmeier, E. Kaltofen, V. Weispfenning, Computer algebra handbook, Springer, 2003.

  • [Mc] D. McIntyre, private communication, 11-2006.

  • [Max] Paulo Ney de Souza, Richard J. Fateman, Joel Moses, Cliff Yapp, The Maxima Book,

19th September 2004. Available online at: [Maxima book http://maxima.sourceforge.net/docs/maximabook/maximabook-19-Sept-2004.pdf]

[BI-G] A. Ben-Israel, R. Gilbert, Computer-supported calculus, Springer-Verlag, 2002.