Saturday, August 20, 2011

wxMaxima - Community Ubuntu Documentation - Installing the latest version by compiling and PPA

In order to install the latest wxMaxima (a Mathematica type software) by compiling the source code yourself follow these instructions (this is not necessary as you can use the PPA that I provide further below). The Ubuntu SC only installs 0.8.5 while the latest version as of this date is 11.8.0

wxMaxima - Community Ubuntu Documentation

Download the latest version here:

Uninstall the old version if you have one.

sudo apt-get remove maxima-doc wxmaxima


You will need the virtual package "build-essential" for making the package and the package "checkinstall" for building a debian package. So if you don't have it or are unsure,
sudo apt-get install build-essential checkinstall

Now its time to extract, configure, make and install your package:

tar xfvz /"locationof"/wxMaxima-"latest-version".tar.gz
sudo apt-get build-dep wxmaxima
cd /"locationof"/wxMaxima-"latest-version"/
./configure --enable-dnd --enable-printing --enable-unicode-glyphs --prefix=/usr --exec-prefix=/usr
sudo checkinstall

sudo apt-get build-dep wxmaxima
I extracted the .tar.gz file because the /"locationof"/wxMaxima-"latest-version"/ directory didn't exist until you do this. You may be able to do this (extract) earlier. Then follow the rest of the directions:

ay "yes" to create a document package and paste the description of Maxima off of the website pasted bellow:

wxMaxima is a cross platform GUI for the computer algebra system maxima based on wxWidgets.

When this is done type "0" then "ENTER" and enter your email address so that people know who you are if they use your package you@somewhere as an example

hit "ENTER" and hope for the best. Checkinstall attempts to build you a deb package which it automatically installs by default and is also included in the directory you made WxMaxima, i.e. the deb is in /"locationof"/WxMaxima-"latest-version"/. Thus if everything goes smoothly you now have the latest version of wxmaxima installed.

I have found the PPA for wxMaxima here -> Maxima and wxMaxima by István Blahota - as ppa:blahota/wxmaxima.

Thus to install via PPA:

sudo add-apt-repository ppa:blahota/wxmaxima

sudo apt-get update

Then install from USC (Ubuntu Software Center) or if an older version is already installed simply type into the terminal command line:

sudo apt-get upgrade

Links to Maxima and wxMaxima:

Maxima, a Computer Algebra System -

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 variable precision floating point numbers. Maxima can plot functions and data in two and three dimensions.

The Maxima source code can be compiled on many systems, including Windows, Linux, and MacOS X. The source code for all systems and precompiled binaries for Windows and Linux are available at the SourceForge file manager.

Maxima is a descendant of Macsyma, the legendary computer algebra system developed in the late 1960s at the Massachusetts Institute of Technology. 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 revolutionary in its day, and many later systems, such as Maple and Mathematica, were inspired by it.

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). 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 expert knowledge to keep the original DOE Macsyma code alive and well. Since his passing a group of users and developers has formed to bring Maxima to a wider audience.

We are constantly updating Maxima, to fix bugs and improve the code and the documentation. We welcome suggestions and contributions from the community of Maxima users. Most discussion is conducted on the Maxima mailing list.

Some screen shots from the Maxima site:

Xmaxima 5.18 running on Linux (with Tk 8.5) with the Embedded plot windows option:

Xmaxima running on Windows:

Maxima running in GNU Emacs:

Maxima 5.18 running in command line mode in Linux:

Maxima running in GNU TeXmacs:

Maxima running in GNU Emacs with Imaxima mode:

Maxima Documentation -

wxMaxima -


wxMaxima is a document based interface for the computer algebra system Maxima. wxMaxima uses wxWidgets and runs natively on Windows, X11 and Mac OS X. wxMaxima provides menus and dialogs for many common maxima commands, autocompletion, inline plots and simple animations. wxMaxima is distributed under the GPL license.

Some screen shots from wxMaxima:

wxMaxima on Linux:

wxMaxima on Mac OS X:

Some interesting links from the Maxima website:

Related Projects

Stand-alone user interfaces for Maxima

Imaxima and imath

Developers: Jesper Harder, Yasuaki Honda.

“Imaxima.el provides support for interacting with the computer algebra system Maxima in an Emacs buffer. Imaxima processes the output from Maxima with TeX and inserts the resulting image in the buffer.”


Developer: Abdulhaq Lynch.

“Kayali is a Qt based Computer Algebra System (CAS) that can also be used as an advanced replacement for KDE KCalc. It is essentially a front end GUI for Maxima (and is easily extended to other CAS back-ends) and Gnuplot.”


There is a way to send commands to Maxima from the LyX document processor. It's somewhat different from the TeXmacs functionality, but does seem to be functional at least on a basic level.

See an example document:


Developer: Markus Nentwig.

“Symaxx is a graphical front end for the Maxima computer algebra system (GPL).”


Developer: Joris van der Hoeven.

“GNU TeXmacs is a free wysiwyw (what you see is what you want) editing platform with special features for scientists. The software aims to provide a unified and user friendly framework for editing structured documents with different types of content (text, graphics, mathematics, interactive content, etc.).”


Developers: Andrej Vodopivec et al

“wxMaxima is a cross platform GUI for the computer algebra system maxima based on wxWidgets. It provides menu and dialog based interface for maxima and a nice display of math output.”


Web interfaces running Maxima

Online integrator, differentiator, graph plotter, etc.

Interactive Demos of Mathematical Computations

(Institute for Computational Mathematics at Kent State U)

Mathematical Assistant

Developers: Robert Marik, Miroslava Tihlarikova.

“This site contains interface to access computer algebra system Maxima and automatically solve selected typical problems from mathematical courses, including intermediate steps in the solution.”

Mathassistant project page at Sourceforge.


Developer: Piotr Lewalski

“Maxima-Online is a web based front end to the oryginal Maxima command line program. It's task is to deliver an interface which is simple and easy to use.”


Developer: Bowo Prasetyo

“A PHP program to access Maxima on the server interactively from a website.”

See also: Maxima show-case.

See also: MaximaPHP project page at SourceForge.

WebMathematics Interactive

Developer: Zoltan Kovacs, U Szeged, Hungary.

WMI On-line demo
Documentation (including 3 short movies in English and 3 in Hungarian)
Old version
Details of development (obsolete)


Systems using Maxima as a component in a larger scheme


Developer: Rene Grothmann.

“Euler is a MatLab like numerical system with a GUI frontend in notebook style ala Maple, plot features, and a numerical programming language. Euler can be used as a GUI frontend to Maxima. It can also exchange data and expressions with Maxima, helping Maxima with numerical calculations, and Euler with symbolic evaluation.”


Developer: Markus Hohenwarter et al.

“GeoGebra is free and multi-platform dynamic mathematics software for all levels of education that joins geometry, algebra, tables, graphing, statistics and calculus in one easy-to-use package. GeoGebraCAS extends the Computer Algebra System (CAS) features of GeoGebra to allow students to work with fractions, equations, and formulas that include variables.”

The LearningOnline Network with CAPA

Developer: Gerd Kortemeyer.

“Sharing and using online learning and assessment materials across institutions and disciplines.”

Computer Algebra System (notes about integration of Maxima with LON-CAPA).


Developer: James Hart.

MathDrag'n project page at SourceForge.

“MathDrag'n is an interface designed to help you, the user, maintain almost complete control over the algebra while stopping you from making mistakes. In contrast to most computer algebra systems, MathDrag'n's philosophy is that the user interface is first, and that ease of use is what you want.”

Mediawiki Algebra extension

Developer: Markus Arndt.

defines a maxima session. Any line terminating with a semicolon is passed to maxima for evaluation. For all other lines the wiki syntax applies.”


“Sage is a comprehensive open-source mathematics software suite that has the mission statement ‘Creating a viable free open source alternative to Magma, Maple, Mathematica, and Matlab.’”

SAGE web interface.


Developer: Chris Sangwin, U Birmingham, UK.

STACK SourceForge project page.



Third Party Code

There are some packages we cannot include in the official Maxima distribution due to legal restrictions or because they are not in a stable state yet.

If you know any old Macsyma code still available on the Internet or new Maxima packages that should be included in this list, please tell us about it so we can add a link or even add it to the official distribution, if its license is compatible with Maxima's.

A collection of user-contributed code
Misc code by Willy Hereman et. al.
A series of interesting Macsyma packages. Commercial use is not permitted without consent of the authors.
The package pw.mac extends Maxima by enabling it to work with piecewise continuous functions.
Qinf (quantum information and entanglement package)
A quantum information package that allows the manipulation of instances of objects — operators, vectors, tensors, etc. — that appear in the theory of quantum information and quantum entanglement.
Symbolic matrix analysis of structures. SymSAP aims to become a powerful didactic tool to help students learn structural analysis.
rfMaxima allows for symbolic derivation, as well as numerical evaluation (incl. Bode and Smith chart plotting), of 2-port network (ABCD, G, InverseABCD, H, S, Y, and Z), noise and stability parameters. Derivations are based on the solution of the set of Kirchoff current and voltage law equations representing the 2-port. Expressions can be exported to HTML or TeX. Figures can be exported to EPS or PNG.

Other Open Source Computer Algebra Systems


“Axiom is a general purpose Computer Algebra system. It is useful for doing mathematics by computer and for research and development of mathematical algorithms. It defines a strongly typed, mathematically correct type hierarchy. It has a programming language and a built-in compiler.”

There is also an interesting Rosetta Stone which offers translations of many basic operations for several computer algebra systems, including Maxima.


“GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory.”


“Jasymca is a symbolic calculator written for mobile phones and PDAs. It solves and manipulates equations, handles basic calculus problems, and provides a few more typical functions of computer algebra systems. The syntax is loosely related to GNU-Maxima.”


“REDUCE is an interactive system for general algebraic computations of interest to mathematicians, scientists and engineers.”


“SINGULAR is a Computer Algebra System for polynomial computations with special emphasis on the needs of commutative algebra, algebraic geometry, and singularity theory.”


“YACAS is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. It uses its own programming language designed for symbolic as well as arbitrary-precision numerical computations.”


Other Open Source Mathematical Software

Oberwolfach References on Mathematical Software:
Free mathematical and computational software directory:


“ARIBAS is an interactive interpreter for big integer arithmetic and multi-precision floating point arithmetic with a Pascal/Modula like syntax. It has several builtin functions for algorithmic number theory like gcd, Jacobi symbol, Rabin probabilistic prime test, factorization algorithms (Pollard rho, elliptic curve, continued fraction, quadratic sieve), etc.”


“The fundamental package needed for scientific computing with Python is called NumPy. This package contains a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, and useful linear algebra, Fourier transform, and random number capabilities.”


“GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.”


“PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions.”


“R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS.”


Information about Computer Algebra Systems

List of computer algebra systems (Wikipedia)

Lots of links there.


A very good starting point to learn about symbolic computation and computer algebra systems.


No comments:

Post a Comment