Est. 1982 Intermediate

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

Paradigm Multi-paradigm: Procedural, Functional, Rule-based (symbolic term-rewriting)
Typing Dynamic
First Appeared 1982
Latest Version Version 5.49.0 (December 2025)

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

AreaCapabilities
CalculusSymbolic differentiation, integration, limits, Taylor/Laurent series
AlgebraPolynomial factoring and expansion, equation and system solving, simplification
Linear algebraSymbolic matrices, determinants, eigenvalues, tensor algebra
NumericsArbitrary-precision (bignum) arithmetic, numerical evaluation on demand
TransformsLaplace transforms, ordinary differential equation solving
ProgrammingALGOL-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

1968
Work on Macsyma begins at MIT's Project MAC, initiated by Carl Engelman, William A. Martin, and Joel Moses with U.S. government funding
1982
Development of the original MIT Macsyma concludes; a 1982 version becomes the basis of DOE Macsyma, distributed by the U.S. Department of Energy. William F. Schelter begins maintaining this branch
1998
On October 6, Schelter is formally granted permission by the DOE to distribute the DOE-Macsyma source code under terms of his choosing, including the GNU General Public License
1999
Schelter releases his GPL-licensed version of the system under the new name Maxima, making a Macsyma-lineage CAS freely available for the first time
2000
The Maxima project is established on SourceForge to support collaborative open-source maintenance and development
2001
William Schelter dies in July; an independent group of volunteer users and developers takes over stewardship of the project
2005
SageMath is founded and adopts Maxima as a symbolic-computation backend, broadening Maxima's reach within the open-source math ecosystem
2025
Maxima 5.49.0 is released on December 18, continuing more than two decades of active community-driven development

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.

Language Influence

Influenced By

Macsyma Lisp

Influenced

Sage

Running Today

Run examples using the official Docker image:

docker pull
Last updated: