Differences between revisions 4 and 5
Revision 4 as of 2006-11-19 05:29:14
Size: 5044
Editor: DavidJoyner
Comment:
Revision 5 as of 2006-11-19 05:34:58
Size: 8307
Editor: DavidJoyner
Comment:
Deletions are marked like this. Additions are marked like this.
Line 79: Line 79:
Pages 8-9 of the Maxima book \cite{Max} has a more detailed history.
More Macsyma history can be found in \cite{GKW}.
Pages 8-9 of the Maxima book [Max] has a more detailed history.
More Macsyma history can be found in [GKW].

\subsection{Basics}

\begin{itemize}
\item
{\it website}:
\newline
\verb+http://maxima.sourceforge.net/+
\newline
{\it wiki}:
\newline
\verb+http://maxima.sourceforge.net/wiki/+

\item
{\it Documentation}:
\newline
{\it Online reference manual}:
\newline
\verb+http://maxima.sourceforge.net/docs/manual/en/maxima.html+
\newline
(also available in pdf). This has been translated into
Spanish and Portuguese.
\newline
Maxima tutorials are available
in English, Spanish, Portuguese, German, and Italian
from the website. There are also slightly older
Maxima documents in French.
\newline
There is also an excellent Calculus textbook which uses Macsyma
extensively \cite{BI-G}.

\item
{\it Interfaces}:
\newline
Command line.
\newline
{\it front-end GUIs}: xmaxima, wxmaxima (cross platform),
TeXmacs (cross platform), Imaxima, Kayali, Symaxx.
\newline
{\it web interfaces}: There are several lists on the page:
\newline
\verb+http://maxima.sourceforge.net/relatedprojects.shtml+

\item
{\it Availability}:
\newline
{\it 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.
\newline
\verb+http://maxima.sourceforge.net/wiki/index.php/Maxima%20ports+
\newline
{\it Binary}:
It is available as a binary
for linux and windows (cygwin not required).

\item
{\it Support}:
\newline
There is an active email list:
\newline
\verb+http://maxima.sourceforge.net/maximalist.html+
\newline
This list is also used by developers as well.

\item
''License:''
\newline
However, Maxima's graphics uses gnuplot, which is not GPL'd, though Maxima itself
is.
\end{itemize}


= 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 =

The main Maxima webpage explains the basic capabilities:

Maxima is a system for the manipulation of
symbolic and numerical expressions, including differentiation,
integration, Taylor series, Laplace transforms,
ordinary differential equations, systems of linear equations,
polynomials, and sets, lists, vectors, matrices, and tensors.
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 and summation identities.

\subsection{Thanks}

I have borrowed/compiled material from the Maxima website
and emails with Robert Dodier, who I thank for his very generous help.

Of course, only I am responsible for any mistakes. If you have
corrections or comments, please email me at the address below.

Line 83: Line 193:
== References == = References =

This page will survey open source computer algebra systems (OSCAS's).

A computer algebra system (CAS) is a mathematical software package capable of symbolic manipulation. The commercial CAS industry is big business. Few people know more about the CAS industry than Darren McIntyre, VP of Worldwide Sales at Maplesoft. He estimates the worldwide yearly expenditures on computer algebra (buying licenses, employee salaries, and so on) is at least $ 600 million. Clients include not just students and universities, but diverse industries who often find that a CAS is a convenient programming environment to model industrial problems.

The terrain

Axiom

open source

http://wiki.axiom-developer.org

CADABRA

GPL

http://www.aei.mpg.de/~peekas/cadabra/

DoCon

open source

http://www.haskell.org/docon

GAP

GPL

http://www.gap-system.org

GIAC

GPL

http://www-fourier.ujf-grenoble.fr/~parisse/giac.html

GINAC

GPL

http://www.ginac.de

GTYBALT

GPL

http://wwwthep.physik.uni-mainz.de/~stefanw/gtybalt/

JScience

BSD

http://www.jscience.org/

LiDIA

"open source"

http://www.cdc.informatik.tu-darmstadt.de/TI/LiDIA/

Macaulay2

GPL

http://www.math.uiuc.edu/Macaulay2/

Magnus

GPL

http://sourceforge.net/projects/magnus/

MAS

"open source"

http://alice.fmi.uni-passau.de/mas.html

Mathomatic

LGPL

http://mathomatic.orgserve.de/math/

Maxima

GPL

http://maxima.sourceforge.net

NTL

GPL

http://www.shoup.net/ntl/

Pari

GPL

http://pari.math.u-bordeaux.fr

SAGE

GPL

http://sage.scipy.org

Scilab

"open source"

http://www.scilab.org

Singular

GPL

http://www.singular.uni-kl.de

Symmetrica

public domain

http://www.mathe2.uni-bayreuth.de/axel/symneu_engl.html

Yacas

GPL

http://yacas.sourceforge.net

I have left out CAFE (Computer Algebra and Functional Equations), a group writing a collection of CAS libraries (see [http://www-sop.inria.fr/cafe/main-e.html CAFE]). They appear to be written in Aldor and Maple by (the late) Manuel Bronstein. I cannot determine the license (if any) they are released under. I am also unsure if the "open source" licenses of LiDIA, MAS, and Scilab are compatible with the above-mentioned open source definition. Several of these are under very active development and some of these are essentially dead. Two other sources of information are the Computer algebra handbook [GKW OSCAS#references] and the internet sites [CA].

In any case, we see from this table that there are a lot of open source computer algebra systems out there. Some of these are special purpose (such as Symmetrica) and others are general purpose (such as Axiom). We shall start this series by surveying Maxima, a general purpose CAS.

Maxima

Maxima is perhaps the most popular general purpose open source CAS. It's latest release (as of November 2006) is 5.10.

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.

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

\subsection{Basics}

\begin{itemize} \item {\it website}: \newline \verb+http://maxima.sourceforge.net/+ \newline {\it wiki}: \newline \verb+http://maxima.sourceforge.net/wiki/+

\item {\it Documentation}: \newline {\it Online reference manual}: \newline \verb+http://maxima.sourceforge.net/docs/manual/en/maxima.html+ \newline (also available in pdf). This has been translated into Spanish and Portuguese. \newline Maxima tutorials are available in English, Spanish, Portuguese, German, and Italian from the website. There are also slightly older Maxima documents in French. \newline There is also an excellent Calculus textbook which uses Macsyma extensively \cite{BI-G}.

\item {\it Interfaces}: \newline Command line. \newline {\it front-end GUIs}: xmaxima, wxmaxima (cross platform), TeXmacs (cross platform), Imaxima, Kayali, Symaxx. \newline {\it web interfaces}: There are several lists on the page: \newline \verb+http://maxima.sourceforge.net/relatedprojects.shtml+

\item {\it Availability}: \newline {\it 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. \newline \verb+http://maxima.sourceforge.net/wiki/index.php/Maxima%20ports+ \newline {\it Binary}: It is available as a binary for linux and windows (cygwin not required).

\item {\it Support}: \newline There is an active email list: \newline \verb+http://maxima.sourceforge.net/maximalist.html+ \newline This list is also used by developers as well.

\item License: \newline However, Maxima's graphics uses gnuplot, which is not GPL'd, though Maxima itself is. \end{itemize}

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

The main Maxima webpage explains the basic capabilities:

Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, matrices, and tensors. 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 and summation identities.

\subsection{Thanks}

I have borrowed/compiled material from the Maxima website and emails with Robert Dodier, who I thank for his very generous help.

Of course, only I am responsible for any mistakes. If you have corrections or comments, please email me at the address below.

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.

OSCAS (last edited 2022-05-21 09:32:22 by mmezzarobba)