Mathematics Software for Linux

Mathematics Packages










Scilab is a scientific software package for numerical computations providing a powerful open computing environment for engineering and scientific applications. It is developed since 1990 by researchers from INRIA and ENPC. Distributed freely via the Internet since 1994, Scilab is currently being used in educational and industrial environnments around the world.





Algae is an interpreted language for numerical analysis. Algae was developed because we needed a fast and versatile tool, capable of handling large problems. Algae has been applied to interesting dynamics problems in aerospace and related fields for more than a decade.






EULER is a program for quickly and interactively computing with real and complex numbers and matrices, or with intervals, in the style of MatLab, Octave,... It can draw and animate your functions in two and three dimensions.






Symbolic calculations, carried out by computer algebra systems, have become an integral part in the daily work of scientists. The advance in algorithms and computer technology has led to remarkable progress in several areas of natural sciences. gTybalt was developed as a tool for certain kind of calculations. The characteristics of these calculations are: First of all, these tend to be "long" calculations, e.g. the system needs to process large amounts of data and efficiency in performance is a priority. Secondly, the algorithms for the solution of the problem are usually developed and implemented by the scientists themselves. This requires support from the computer algebra system for a programming language which allows to implement complex algorithms for abstract mathematical entities. In other words, it requires support of object oriented programming techniques from the system. On the other hand, these calculations usually do not require that the computer algebra system provides sophisticated tools for all branches of mathematics. Thirdly, despite the fact that these calculations process large amounts of data, the time needed for the implementation of the algorithms usually outweights the actual running time of the program. Therefore convenient development tools are also important.


Symaxx/2 is a graphical frontend for Maxima.




HartMath is an experimental computer algebra system written in Java.


The name GiNaC is an iterated and recursive abbreviation for GiNaC is Not a CAS, where CAS stands for Computer Algebra System. It has been developed to become a replacement engine for xloops which is up to now powered by the Maple CAS. Its design is revolutionary in a sense that contrary to other CAS it does not try to provide extensive algebraic capabilities and a simple programming language but instead accepts a given language (C++) and extends it by a set of algebraic capabilities.


Aim of this project is to provide a package that completely evaluates massive one- and two-loop Feynman diagrams to make calculations in high energy physics easier.


PARI-GP is a software package for computer-aided number theory. It consists of a C library, libpari (with optional assembler cores for some popular architectures), and of the programmable interactive gp calculator. While you can write your own libpari-based programs, many people just start up a gp session, or have gp execute their scripts.



Macaulay 2

Macaulay 2 is a software system devoted to supporting research in algebraic geometry and commutative algebra, whose development has been funded by the National Science Foundation.


NumExp is a family of open-source applications for numeric computation. When it was created, the idea was to make a powerfull tool like Mathematica. Now, we know this is almost impossible without more open-source hackers. Meanwhile, we are trying to make, at least, an useful tool!


GtkGraph is a simple graphing calculator written for X Windows using the Gtk+ widget set. It is intended as a replacement for a standalone graphing calculator, which typically costs over $80 USD, and has a tiny monochrome display driven by a CPU running at around 6 MHz with no FPU. GtkGraph can plot functions and solve arithmetic expressions using double precision arithmetic.


surf is a tool to visualize some real algebraic geometry: plane algebraic curves, algebraic surfaces and hyperplane sections of surfaces. surf is script driven and has (optionally) a nifty GUI using the Gtk widget set.

The E Equational Theorem Prover

E is a a purely equational theorem prover for clausal logic. That means it is a program that you can stuff a mathematical specification (in clausal logic with equality) and a hypothesis into, and which will then run forever, using up all of your machines resources. Very occasionally it will find a proof for the hypothesis and tell you so ;-).


TISEAN is free a software project for the analysis of time series with methods based on the theory of nonlinear deterministic dynamical systems, or chaos theory, if you prefer.

Plotting Software


gnuplot is a command-driven interactive function plotting program. It can be used to plot functions and data points in both two- and three-dimensional plots in many different formats, and will accommodate many of the needs of today's scientists for graphic data representation. gnuplot is copyrighted, but freely distributable; you don't have to pay for it.




Gri is a language for scientific graphics programming. The word "language" is important: Gri is command-driven, not point/click. Some users consider Gri similar to LaTeX, since both provide extensive power as a reward for tolerating a learning curve. Gri can make x-y graphs, contour graphs, and image graphs, in PostScript and (someday) SVG formats. Control is provided over all aspects of drawing, e.g. line widths, colors, and fonts. A TeX-like syntax provides common mathematical symbols.












Ptplot 5.2 is a 2D data plotter and histogram tool implemented in Java. Ptplot can be used as a standalone applet or application, or it can be embedded in your own applet or application.




ImLib3D is an open source C++ library for 3D (volumetric) image processing. It contains most basic image processing algorithms, and some more sophisticated ones. It comes with an optional viewer that features multiplanar views, animations, vector field views and 3D (OpenGL) multiplanar. All image processing operators can be interactively called from the viewer as well as from the UNIX command-line. ImLib3D's goal is to provide a standard and easy to use platform for volumetric image processing research. Focus has been put on simplicity for the developer. ImLib3D has been carefully designed, using modern, standards conforming C++. It intensively uses the Standard C++ Library, including strings, containers, and iterators.


GLgraph visualize mathematical functions. It can handle 3 unknowns (x,z,t) and can produce a 4D function with 3 space and 1 time dimension.




Graph Drawing Programs from AT&T Research and Lucent Bell Labs

Numerical Libraries

GNU Scientific Library




The "Simple Algebraic Math Library" is a C library for computer algebra, together with some application programs: a desktop calculator, a spreadsheet (sort of) and a program to factorize integers.

Numerical Python










Python Number Crunching

This page lists a number of packages related to numerics, number crunching, signal processing, financial modeling, linear programming, statistics, data structures, date-time processing, random number generation, and crypto.



LINPACK was designed for supercomputers in use in the 1970s and early 1980s. LINPACK has been largely superceded by LAPACK, which has been designed to run efficiently on shared-memory, vector supercomputers.




CLN is a library for computations with all kinds of numbers. It has a rich set of number classes... [see web page]



Programming Languages






Open Dynamics Engine





FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine and sine transforms, the DCT and DST). We believe that FFTW, which is free software, should become the FFT library of choice for most applications.



GNU MP is a library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. It has a rich set of functions, and the functions have a regular interface.


Non-Uniform Rational B-Splines (NURBS) curves and surface are parametric functions which can represent any type of curves or surfaces. This C++ library hides the basic mathematics of NURBS. This allows the user to focus on the more challenging parts of their projects. The library also offers a lot of features to help generate NURBS from data points.




Sites of Interest

The Linux Lab Project

The Linux lab project is intended to help people with development of data collection and process control software for LINUX. It should be in understood as software and knowledge pool for interested people and application developers dealing with this stuff in educational or industrial environment.

Programming Systems on GNU/Linux

This page deals with links to tutorials, documents, and Linux implementations for installing Linux on a PC, getting started with Linux, and then going a step further -- to optimise your PC for processing power, using multiple processors (Symmetric Muliti Processing - SMP); making a cheap, upgradeable, Supercomputing Linux cluster and finally links to software to do parallel programming on Linux.

Scientific Applications on Linux




FSF Free Software Directory - Mathematics

[Collection of GPL'd and other Free Software]