Math Software for Programers

By Xah Lee. Date: . Last updated:

This page lists some math software, tools, libraries, for programers. I've used half of them. For those i haven't used, i know that they have high quality.

General Computer Algebra System

Mathematica. Mathematica is a general system for technical computing. The most famous and popular among all. Home page:

Sage. Sage is a new open source software that started in early 2000s. It incorporates many open source math software into a coherent interface, using Python as the language. It has a ambitious goal of creating a tool competitive to commercial ones like Mathematica or Maple. Sage is probably the most promising among free software. Home page:

GNU Octave. GNU Octave is a MatLab-like, open source software. Primarily intended for numerical computations. Home page:

Maxima is a computer algebra system written in Common Lisp, originated from DOE Macsyma. Maxima (software).

Surface Plotters

3D-XplorMath-J. Math visualization software. Written in Java. Come with source code.

GlSurf, by C Raffalli. A Implicit Surface plotter using OpenGL.

3D Visualization

jReality. A 3D Viewer engine in Java. By Charles Gunn, Tim Hoffmann, Markus Schmies, Steffen Weissmann et al. (2006-07,)

GeomView is developed by the Geometry Center. Freeware. Available for Unix platforms.

3D Visualization in Java

JavaView is a 3D visualization tool. You give it a 3D data file, and it displays the 3D object on screen, and allows you to rotate or zoom. The data file can be Mathematica Graphics Format or the Obj format. See JavaView Tutorial. JavaView home page.

LiveGraphics3D, is a Java applet by Martin Kraus. Free. You give it a 3D data file, and it displays the 3D object on screen, and allows you to rotate or zoom. The data file should be a Mathematica Graphics Format. For a tutorial, see LiveGraphics3D tutorial. LiveGraphics3D home page.

For Math Illustration

gnuplot. Gnuplot is a command-line plotting software. You write a text file descripting your data or plot command, and it generate a image file showing the plot. Home page:

POV-Ray. POV-Ray is a 3d-modeling and rendering software. You write a scene description file, then it generate a image file as output. Great for 3D math illustration. See also: POV-Ray tutorial, Illustrating Geometry with POV-Ray.

Java Tools

MathEclipse is a computer algebra system written in Java, modeled after Mathematica. Forked project:

jtem is a large math library contaning many advanced special functions and numerical methods. Author is Markus Schmies et al. (2006-07,)


Computational Geometry Algorithms Library. CGAL is a library for C++. Home page:

2Geom. 2D geometry lib.