Maxima
A free, open-source computer algebra system descended from the legendary MIT Macsyma, combining symbolic and numerical mathematics with an ALGOL-like procedural programming language running atop Common Lisp.
Created by MIT Project MAC; GPL release led by William F. Schelter
Maxima is a free, open-source computer algebra system (CAS) for the manipulation of symbolic and numerical expressions. It can differentiate and integrate functions, solve equations and systems of equations, expand functions in Taylor and Laurent series, compute Laplace transforms, manipulate polynomials, sets, lists, vectors, matrices, and tensors, and perform arbitrary-precision arithmetic. Beyond its mathematical library, Maxima includes a full programming language with ALGOL-like syntax but Lisp-like semantics, allowing users to extend the system and automate computations. It is one of the oldest continuously developed software systems still in active use, tracing its lineage directly to the pioneering Macsyma of the late 1960s.
History & Origins
Maxima’s story begins with Macsyma (from “Project MAC’s SYmbolic MAnipulator”), one of the first comprehensive computer algebra systems ever built. Work on Macsyma started in 1968 at MIT’s Project MAC, initiated by Carl Engelman, William A. Martin, and Joel Moses, with funding from U.S. government agencies including DARPA and, later, the Department of Energy. Macsyma was enormously influential — it demonstrated that a computer could perform sophisticated symbolic mathematics, and its ideas shaped essentially every CAS that followed.
By 1982, development of the original MIT system had largely concluded, and a version from that year was provided to the U.S. Department of Energy, becoming known as DOE Macsyma. The University of Texas mathematician William F. Schelter took on the maintenance of this DOE branch and continued to develop it for nearly two decades.
The pivotal moment came in 1998: on October 6 of that year, Schelter received formal permission from the Department of Energy to distribute the DOE-Macsyma source code under terms of his choosing — including the GNU General Public License. In 1999 he released his GPL-licensed version under the new name Maxima, to distinguish it from the commercial Macsyma product that was being sold separately at the time. For the first time, a CAS with the full Macsyma pedigree was freely available to anyone.
Schelter established the project on SourceForge in 2000, but he died unexpectedly in July 2001. Rather than fading away, the project was adopted by an independent group of volunteer users and developers who have maintained and expanded it continuously ever since.
Because Maxima is the 1982 DOE Macsyma codebase carried forward, its “first appeared” date is conventionally given as 1982, even though the freely licensed Maxima release dates to 1998–1999.
Design Philosophy
Maxima embodies a philosophy that was radical when Macsyma was conceived: that mathematics — not just numerical computation — should be something a computer can do. Its core principles include:
- Exact symbolic computation first. Maxima prefers exact, closed-form answers (fractions, radicals, symbolic constants) and only falls back to floating-point approximation when asked. This makes it well suited to teaching and to research where the form of an answer matters.
- Everything is an expression. Like its Lisp foundation, Maxima represents mathematical objects as structured expressions that can be inspected, transformed, and rewritten by rules.
- A real programming language, not just a calculator. Maxima’s user language has familiar procedural constructs — blocks, loops, conditionals, and user-defined functions — wrapped around Lisp semantics underneath. Users can define their own simplification rules and pattern-matching transformations.
- Free and open. Since the GPL release, openness has been central to Maxima’s identity, making it a staple in environments where commercial licenses are impractical.
Key Features
| Area | Capabilities |
|---|---|
| Calculus | Symbolic differentiation, integration, limits, Taylor/Laurent series |
| Algebra | Polynomial factoring and expansion, equation and system solving, simplification |
| Linear algebra | Symbolic matrices, determinants, eigenvalues, tensor algebra |
| Numerics | Arbitrary-precision (bignum) arithmetic, numerical evaluation on demand |
| Transforms | Laplace transforms, ordinary differential equation solving |
| Programming | ALGOL-like procedural language, user-defined functions, rule-based pattern matching |
A short taste of the language:
/* Define and integrate symbolically */
f(x) := x^2 * sin(x);
integrate(f(x), x);
/* Solve an equation exactly */
solve(x^2 - 5*x + 6 = 0, x);
/* Arbitrary-precision numeric evaluation */
fpprec: 50$
bfloat(%pi);
Implementation
Maxima is written in Common Lisp, the same family of languages that underpinned the original Macsyma. This is more than a historical curiosity: Lisp’s homoiconic, expression-oriented nature is an excellent match for a system whose entire job is manipulating symbolic expressions. Maxima can be built and run on several Common Lisp implementations — including SBCL, Clozure CL, CLISP, GCL, and ECL — which gives the project portability and resilience as individual Lisp systems evolve.
According to the project’s documentation, Maxima runs on Windows, Linux, macOS, and other Unix-like systems, and a port to Android has also been distributed. Most users interact with Maxima either through its command-line interface or via the popular wxMaxima graphical front end, which presents typeset mathematical output in a document-style notebook.
Evolution
Under community stewardship since 2001, Maxima has seen steady, incremental development rather than dramatic reinvention. Releases have improved the simplification engine, added and refined mathematical functions, modernized the build system across multiple Lisp implementations, and improved interfaces and documentation. Graphical and educational tooling — especially wxMaxima — has matured alongside the core, lowering the barrier to entry for students and casual users.
The most recent stable release, version 5.49.0, arrived on December 18, 2025, underscoring that a codebase with roots in the 1960s remains genuinely alive.
Current Relevance
Maxima occupies an important niche as the leading fully free general-purpose computer algebra system. While commercial systems like Mathematica and Maple dominate parts of the professional market, Maxima is the go-to choice when cost, licensing freedom, or transparency matter — in classrooms, in open-source research, and inside larger free-software stacks. Its adoption as a symbolic backend by SageMath and its use by tools such as Euler Math Toolbox mean that many people rely on Maxima’s algebra engine without ever invoking it directly.
Why It Matters
Maxima is a living link to one of the foundational achievements of computer science. Macsyma proved, decades before it was obvious, that computers could do real mathematics — and the techniques pioneered there, from algebraic simplification to symbolic integration, influenced an entire generation of systems. That this exact lineage survives today as free software, actively maintained and freely available, is a remarkable story of software longevity. For students learning symbolic mathematics, for researchers who need exact results, and for anyone curious about the deep history of computing, Maxima stands as both a practical tool and a piece of living history.
Timeline
Notable Uses & Legacy
Mathematics Education
Widely used in universities and schools as a free alternative to commercial computer algebra systems, often through the wxMaxima graphical interface, for teaching calculus, linear algebra, and symbolic manipulation.
SageMath
The SageMath open-source mathematics system uses Maxima as a backend for symbolic operations such as integration, differentiation, and equation solving, accessed through an embedded Lisp interface.
Euler Math Toolbox
Euler Math Toolbox pairs its numerical engine with Maxima for symbolic evaluation, letting users move between exact symbolic results and numeric computation in a single environment.
Scientific & Engineering Research
Applied to symbolic derivations, tensor algebra, Laplace transforms, and differential equations in physics and engineering where exact closed-form results are valuable.
wxMaxima
wxMaxima provides a cross-platform document-style GUI built on wxWidgets, presenting typeset mathematical output and making Maxima accessible to non-programmers.