A Computer Algebra System
/etc/hosts
file.○ What is Maxima?
Maxima is a descendant of DOE Macsyma, which had its origins in the late 1960s at MIT. It is the only system based on that effort still publicly available and with an active user community, thanks to its open source nature. Macsyma was the first of a new breed of computer algebra systems, leading the way for programs such as Maple and Mathematica. This particular variant 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 GPL. It was his efforts and skill which have made the survival of Maxima possible, and we are very grateful to him for volunteering his time and skill to keep the original Macsyma code alive and well. Since his passing a group of users and developers has formed to keep Maxima alive and kicking. Maxima itself is reasonably feature complete at this stage, with abilities such as symbolic integration, 3D plotting, and an ODE solver, but there is a lot of work yet to be done in terms of bug fixing, cleanup, and documentation. This is not to say there will be no new features, but there is much work to be done before that stage will be reached, and for now new features are not likely to be our focus.
○ What license is Maxima under?
It is licensed under the GNU General Public License (GPL) and hosted at SourceForge.net.
○ How can I download Maxima?
You can choose among the different downloading options in the Download page, which has the links to the appropriate download page for each case. The code is available as prepackaged binary files for different systems as well as in source code form.
○ How do I install Maxima?
Follow the instructions in the Download page, according to your system and the method you would like to use.
○ What are the most important Maxima links that I should know?
○ Who is maintaining Maxima now?
Since William Schelter’s passing a group of users and developers has formed to keep Maxima under active development. There are currently 27 developers who can make changes to the source code. To get in touch with them, the preferred channel is the mailing list.
○ Is Maxima free?
Yes. Maxima is distributed under the GNU General Public License, with some export restrictions from the U. S. Department of Energy.
○ Can I post a copy of Maxima in my local server for my students/customers to easily download it?
Yes. You can distribute Maxima, provided you keep the copyright notice intact and you also include in your local server a copy of the source code or a link to where that source code can be downloaded.
○ Who wrote Maxima?
Maxima is a descendant of DOE Macsyma, which had its origins in the late 1960s at MIT. It is the only system based on that effort still publicly available and with an active user community, thanks to its open source nature. Macsyma was the first of a new breed of computer algebra systems, leading the way for programs such as Maple and Mathematica. This particular variant 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 GPL.
○ What's the difference among Macsyma, DOE-Macsyma, Symbolics Macsyma and Maxima?
The system developed at MIT was called Macsyma (although the nicknames MACSYM and MAXIMA were sometimes used since filenames were limited to six uppercase-only characters in sixbit character code).
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. It is not clear what legal rights the DOE had to the name Macsyma as opposed to the codebase, but presumably the non-commercial users of DOE Macsyma wanted to avoid any legal wrangling around the name, and started using the name Maxima at some point.
Maxima is simply the most recent name for the branch that started under the name DOE Macsyma.
○ What is the appropriate way to cite Maxima in an academic context?
We suggest something like:
Maxima.sourceforge.io. Maxima, a Computer Algebra System.
Version 5.47.0 (2023).https://maxima.sourceforge.io/
(or replace the version number and release year, if you are using a different version).
If you use Bibtex for your citations, we recommend that you add the following entry in your bibtex database:
@ELECTRONIC{maxima, author = {Maxima}, year = {2023}, title = {Maxima, a Computer Algebra System. Version 5.47.0}, address = {https://maxima.sourceforge.io/}, url = {https://maxima.sourceforge.io/}, owner = {maxima}, timestamp = {2023.06.01} }
○ What Lisp implementations will Maxima work with?
Clisp, SBCL, CCL, GCL (ANSI-enabled only), CMUCL, ECL, Scieneer Common Lisp (SCL), Allegro Common Lisp (ACL) and ABCL. Ports to other ANSI lisps should be straightforward and are welcome; please contact the developers if you are interested in working on a port. See also the Maxima and Lisp page.
○ While installing the Maxima RPM file in Linux, I get an error that "maxima_exec" is a missing dependency; how can I solve that?
You must install at least two rpm packages, maxima and
maxima_exec. Go back to the SourceForge file manager and download
a maxima-exec
package and install that at the same time
as the maxima package.
○ While installing RPM files file from Maxima, I get messages about failed dependencies on stuff other than maxima_exec; what does that mean?
The Maxima RPMs were created on a specific Linux system. Other systems have different versions of various libraries. To install Maxima, the library versions must be the same. You might be able to find rpms for your specific Linux version via the Maxima ports page. You can recompile Maxima on your system. The rpms created that way have the right dependencies for your system.
To recompile Maxima, you need a Lisp implementation. We recommend
Clisp. Once you have Clisp installed, download the
Maxima src.rpm
from the SF file manager. Unpack it and
launch rpmbuild to create the rpm files:
$ sudo rpm -ih maxima-5.9.3.src.rpm $ cd /usr/src/local # or wherever rpm source code is located $ sudo rpmbuild -bb SPECS/maxima.spec
Then install the rpm files which were created
in /usr/src/local/RPMS
.
You almost certainly need superuser privileges to write files
to /usr/src/local
, hence the use of sudo. Perhaps you can
get your friendly system administrator to handle it.
If you create RPMs, we can host them in the Sourceforge file manager; it would be helpful to anyone running the same Linux flavor.
The installation notes in
the Download section say a little bit
more about rebuilding Maxima. In particular, follow the links
to README.lisps
and README.rpms
.
○ In Windows, I can launch the Maxima GUI (either Xmaxima or WxMaxima), but then there is a timeout message and I don’t get any response when I enter some expression.
C:\Program Files\Maxima-5.10.0\lib\maxima\5.10.0\binary-gcl\maxima.exe
in the list of DEP exceptions (Control Panel → System → Advanced →
Performance → DEP)○ In Linux, I get a message about an
invalid entry for localhost in /etc/hosts
file.
Make sure there is an entry that matches: 127.0.0.1
localhost
, otherwise wxmaxima and/or xmaxima will be unable to
resolve "localhost" to a valid IP and then fail with "maxima
terminated".
○ In MacOS, wxmaxima starts but every attempt to execute Maxima commands reports "Not connected to maxima!".
Probably your best bet is to report this problem on the wxMaxima user forum. There are reports that wxMaxima does not work if Maxima is compiled with clisp or sbcl. If you are using one of those Lisp versions, you might want to try compiling Maxima with cmucl.